From 6d4c2aa6ba6c930438b5914801b37c139379389e Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Mon, 31 Jan 2022 12:36:52 +0100 Subject: [PATCH 01/11] fix ancestor and update toml --- google-cloud/Cargo.toml | 9 +- google-cloud/src/datastore/api/google.api.rs | 30 ++-- .../src/datastore/api/google.datastore.v1.rs | 107 +++++++------ .../src/datastore/api/google.r#type.rs | 2 +- google-cloud/src/datastore/client.rs | 3 + google-cloud/src/datastore/query.rs | 8 +- google-cloud/src/pubsub/api/google.api.rs | 30 ++-- .../src/pubsub/api/google.pubsub.v1.rs | 134 +++++++++------- google-cloud/src/vision/api/google.api.rs | 36 ++--- .../src/vision/api/google.cloud.vision.v1.rs | 146 +++++++++++------- .../src/vision/api/google.longrunning.rs | 63 +++++--- google-cloud/src/vision/api/google.r#type.rs | 4 +- google-cloud/src/vision/api/google.rpc.rs | 8 +- 13 files changed, 337 insertions(+), 243 deletions(-) diff --git a/google-cloud/Cargo.toml b/google-cloud/Cargo.toml index 4c20e637..a16cbf74 100644 --- a/google-cloud/Cargo.toml +++ b/google-cloud/Cargo.toml @@ -17,15 +17,15 @@ maintenance = { status = "actively-developed" } # Derive macros google-cloud-derive = { version = "0.2.1", path = "../google-cloud-derive", optional = true } -tonic = { version = "0.4.1", features = ["tls", "prost"] } +tonic = { version = "0.6.2", features = ["tls", "prost"] } tokio = { version = "1.4.0", features = ["macros", "fs"] } reqwest = { version = "0.11.2", optional = true, default_features = false, features = ["blocking", "json", "rustls-tls"] } hyper = "0.14.4" hyper-rustls = "0.22.1" futures = "0.3.13" -prost = "0.7.0" -prost-types = "0.7.0" +prost = "0.9.0" +prost-types = "0.9.0" http = "0.2.3" chrono = "0.4.19" @@ -33,6 +33,7 @@ chrono = "0.4.19" serde = { version = "1.0.125", features = ["derive"] } json = { package = "serde_json", version = "1.0.64" } jwt = { package = "jsonwebtoken", version = "7.2.0" } +serde_yaml = "0.8" thiserror = "1.0.24" @@ -40,7 +41,7 @@ bytes = { version = "1.0.1", optional = true } percent-encoding = { version = "2.1.0", optional = true } [build-dependencies] -tonic-build = "0.4.1" +tonic-build = "0.6.2" [features] default = [] diff --git a/google-cloud/src/datastore/api/google.api.rs b/google-cloud/src/datastore/api/google.api.rs index 2ddb3751..3d27311f 100644 --- a/google-cloud/src/datastore/api/google.api.rs +++ b/google-cloud/src/datastore/api/google.api.rs @@ -1,5 +1,5 @@ /// Defines the HTTP configuration for an API service. It contains a list of -/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +/// \[HttpRule][google.api.HttpRule\], each specifying the mapping of an RPC method /// to one or more HTTP REST API methods. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Http { @@ -22,10 +22,10 @@ pub struct Http { /// gRPC Transcoding is a feature for mapping between a gRPC method and one or /// more HTTP REST endpoints. It allows developers to build a single API service /// that supports both gRPC APIs and REST APIs. Many systems, including [Google -/// APIs](https://github.com/googleapis/googleapis), -/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC -/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), -/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +/// APIs](), +/// [Cloud Endpoints](), [gRPC +/// Gateway](), +/// and \[Envoy\]() proxy support this feature /// and use it for large scale production services. /// /// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies @@ -186,15 +186,15 @@ pub struct Http { /// 1. Leaf request fields (recursive expansion nested messages in the request /// message) are classified into three categories: /// - Fields referred by the path template. They are passed via the URL path. -/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP +/// - Fields referred by the \[HttpRule.body][google.api.HttpRule.body\]. They are passed via the HTTP /// request body. /// - All other fields are passed via the URL query parameters, and the /// parameter name is the field path in the request message. A repeated /// field can be represented as multiple query parameters under the same /// name. -/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields +/// 2. If \[HttpRule.body][google.api.HttpRule.body\] is "*", there is no URL query parameter, all fields /// are passed via URL path and HTTP request body. -/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all +/// 3. If \[HttpRule.body][google.api.HttpRule.body\] is omitted, there is no HTTP request body, all /// fields are passed via URL path and URL query parameters. /// /// ### Path template syntax @@ -221,19 +221,19 @@ pub struct Http { /// /// If a variable contains exactly one path segment, such as `"{var}"` or /// `"{var=*}"`, when such a variable is expanded into a URL path on the client -/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The /// server side does the reverse decoding. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{var}`. /// /// If a variable contains multiple path segments, such as `"{var=foo/*}"` /// or `"{var=**}"`, when such a variable is expanded into a URL path on the -/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded. /// The server side does the reverse decoding, except "%2F" and "%2f" are left /// unchanged. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{+var}`. /// /// ## Using gRPC API Service Configuration @@ -263,10 +263,10 @@ pub struct Http { /// /// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the /// proto to JSON conversion must follow the [proto3 -/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +/// specification](). /// /// While the single segment variable follows the semantics of -/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +/// [RFC 6570]() Section 3.2.2 Simple String /// Expansion, the multi segment variable **does not** follow RFC 6570 Section /// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion /// does not expand special characters like `?` and `#`, which would lead @@ -290,7 +290,7 @@ pub struct Http { pub struct HttpRule { /// Selects a method to which this rule applies. /// - /// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + /// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details. #[prost(string, tag = "1")] pub selector: ::prost::alloc::string::String, /// The name of the request field whose value is mapped to the HTTP request diff --git a/google-cloud/src/datastore/api/google.datastore.v1.rs b/google-cloud/src/datastore/api/google.datastore.v1.rs index fb5c9408..00df2b13 100644 --- a/google-cloud/src/datastore/api/google.datastore.v1.rs +++ b/google-cloud/src/datastore/api/google.datastore.v1.rs @@ -8,7 +8,7 @@ /// /// - May be `""`. /// - Must be valid UTF-8 bytes. -/// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` +/// - Must have values that match regex `\[A-Za-z\d\.\-_\]{1,100}` /// If the value of any dimension matches regex `__.*__`, the partition is /// reserved/read-only. /// A reserved/read-only partition ID is forbidden in certain documented @@ -209,9 +209,9 @@ pub struct EntityResult { /// increases with changes to the entity. /// /// This field is set for - /// [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + /// \[`FULL`][google.datastore.v1.EntityResult.ResultType.FULL\] entity results. /// - /// For [missing][google.datastore.v1.LookupResponse.missing] entities in + /// For \[missing][google.datastore.v1.LookupResponse.missing\] entities in /// `LookupResponse`, this is the version of the snapshot that was used to look /// up the entity, and it is always set except for eventually consistent reads. #[prost(int64, tag = "4")] @@ -265,13 +265,13 @@ pub struct Query { /// A starting point for the query results. Query cursors are /// returned in query result batches and /// [can only be used to continue the same - /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + /// query](). #[prost(bytes = "vec", tag = "7")] pub start_cursor: ::prost::alloc::vec::Vec, /// An ending point for the query results. Query cursors are /// returned in query result batches and /// [can only be used to limit the same - /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + /// query](). #[prost(bytes = "vec", tag = "8")] pub end_cursor: ::prost::alloc::vec::Vec, /// The number of results to skip. Applies before limit, but after all other @@ -410,11 +410,11 @@ pub mod property_filter { } } /// A [GQL -/// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). +/// query](). #[derive(Clone, PartialEq, ::prost::Message)] pub struct GqlQuery { /// A string of the format described - /// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + /// \[here\](). #[prost(string, tag = "1")] pub query_string: ::prost::alloc::string::String, /// When false, the query string must not contain any literals and instead must @@ -426,7 +426,7 @@ pub struct GqlQuery { /// For each non-reserved named binding site in the query string, there must be /// a named parameter with that name, but not necessarily the inverse. /// - /// Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex + /// Key must match regex `\[A-Za-z_$][A-Za-z_$0-9\]*`, must not match regex /// `__.*__`, and must not be `""`. #[prost(map = "string, message", tag = "5")] pub named_bindings: @@ -513,7 +513,7 @@ pub mod query_result_batch { NoMoreResults = 3, } } -/// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +/// The request for \[Datastore.Lookup][google.datastore.v1.Datastore.Lookup\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct LookupRequest { /// The ID of the project against which to make the request. @@ -526,7 +526,7 @@ pub struct LookupRequest { #[prost(message, repeated, tag = "3")] pub keys: ::prost::alloc::vec::Vec, } -/// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +/// The response for \[Datastore.Lookup][google.datastore.v1.Datastore.Lookup\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct LookupResponse { /// Entities found as `ResultType.FULL` entities. The order of results in this @@ -545,7 +545,7 @@ pub struct LookupResponse { #[prost(message, repeated, tag = "3")] pub deferred: ::prost::alloc::vec::Vec, } -/// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +/// The request for \[Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunQueryRequest { /// The ID of the project against which to make the request. @@ -578,7 +578,7 @@ pub mod run_query_request { } } /// The response for -/// [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +/// \[Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunQueryResponse { /// A batch of query results (always present). @@ -589,7 +589,7 @@ pub struct RunQueryResponse { pub query: ::core::option::Option, } /// The request for -/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +/// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct BeginTransactionRequest { /// The ID of the project against which to make the request. @@ -600,30 +600,30 @@ pub struct BeginTransactionRequest { pub transaction_options: ::core::option::Option, } /// The response for -/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +/// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct BeginTransactionResponse { /// The transaction identifier (always present). #[prost(bytes = "vec", tag = "1")] pub transaction: ::prost::alloc::vec::Vec, } -/// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. +/// The request for \[Datastore.Rollback][google.datastore.v1.Datastore.Rollback\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct RollbackRequest { /// The ID of the project against which to make the request. #[prost(string, tag = "8")] pub project_id: ::prost::alloc::string::String, /// The transaction identifier, returned by a call to - /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + /// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\]. #[prost(bytes = "vec", tag = "1")] pub transaction: ::prost::alloc::vec::Vec, } /// The response for -/// [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. (an empty +/// \[Datastore.Rollback][google.datastore.v1.Datastore.Rollback\]. (an empty /// message). #[derive(Clone, PartialEq, ::prost::Message)] pub struct RollbackResponse {} -/// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +/// The request for \[Datastore.Commit][google.datastore.v1.Datastore.Commit\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CommitRequest { /// The ID of the project against which to make the request. @@ -661,7 +661,7 @@ pub mod commit_request { Unspecified = 0, /// Transactional: The mutations are either all applied, or none are applied. /// Learn about transactions - /// [here](https://cloud.google.com/datastore/docs/concepts/transactions). + /// \[here\](). Transactional = 1, /// Non-transactional: The mutations may not apply as all or none. NonTransactional = 2, @@ -671,12 +671,12 @@ pub mod commit_request { pub enum TransactionSelector { /// The identifier of the transaction associated with the commit. A /// transaction identifier is returned by a call to - /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + /// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\]. #[prost(bytes, tag = "1")] Transaction(::prost::alloc::vec::Vec), } } -/// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +/// The response for \[Datastore.Commit][google.datastore.v1.Datastore.Commit\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CommitResponse { /// The result of performing the mutations. @@ -689,7 +689,7 @@ pub struct CommitResponse { pub index_updates: i32, } /// The request for -/// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +/// \[Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AllocateIdsRequest { /// The ID of the project against which to make the request. @@ -701,7 +701,7 @@ pub struct AllocateIdsRequest { pub keys: ::prost::alloc::vec::Vec, } /// The response for -/// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +/// \[Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AllocateIdsResponse { /// The keys specified in the request (in the same order), each with @@ -710,7 +710,7 @@ pub struct AllocateIdsResponse { pub keys: ::prost::alloc::vec::Vec, } /// The request for -/// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +/// \[Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReserveIdsRequest { /// The ID of the project against which to make the request. @@ -725,7 +725,7 @@ pub struct ReserveIdsRequest { pub keys: ::prost::alloc::vec::Vec, } /// The response for -/// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +/// \[Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReserveIdsResponse {} /// A mutation to apply to an entity. @@ -839,7 +839,7 @@ pub mod read_options { ReadConsistency(i32), /// The identifier of the transaction in which to read. A /// transaction identifier is returned by a call to - /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + /// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\]. #[prost(bytes, tag = "2")] Transaction(::prost::alloc::vec::Vec), } @@ -847,9 +847,9 @@ pub mod read_options { /// Options for beginning a new transaction. /// /// Transactions can be created explicitly with calls to -/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction] +/// \[Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction\] /// or implicitly by setting -/// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] +/// \[ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction\] /// in read requests. #[derive(Clone, PartialEq, ::prost::Message)] pub struct TransactionOptions { @@ -884,7 +884,7 @@ pub mod transaction_options { } #[doc = r" Generated client implementations."] pub mod datastore_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " Each RPC normalizes the partition IDs of the keys in its input entities,"] #[doc = " and always returns entities with keys with normalized partition IDs."] @@ -893,6 +893,7 @@ pub mod datastore_client { #[doc = " input keys sets the project ID (if not already set) to the project ID from"] #[doc = " the request."] #[doc = ""] + #[derive(Debug, Clone)] pub struct DatastoreClient { inner: tonic::client::Grpc, } @@ -910,17 +911,43 @@ pub mod datastore_client { impl DatastoreClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> DatastoreClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + DatastoreClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Looks up entities by key."] pub async fn lookup( @@ -1039,16 +1066,4 @@ pub mod datastore_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for DatastoreClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for DatastoreClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "DatastoreClient {{ ... }}") - } - } } diff --git a/google-cloud/src/datastore/api/google.r#type.rs b/google-cloud/src/datastore/api/google.r#type.rs index d2b390d2..ed373be2 100644 --- a/google-cloud/src/datastore/api/google.r#type.rs +++ b/google-cloud/src/datastore/api/google.r#type.rs @@ -1,7 +1,7 @@ /// An object representing a latitude/longitude pair. This is expressed as a pair /// of doubles representing degrees latitude and degrees longitude. Unless /// specified otherwise, this must conform to the -/// WGS84 +/// WGS84> /// standard. Values must be within normalized ranges. #[derive(Clone, PartialEq, ::prost::Message)] pub struct LatLng { diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index b036732e..d6b27353 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -409,6 +409,9 @@ fn convert_filter(project_name: &str, filters: Vec) -> Option { (name, Operator::LessThanOrEqual, value) } + Filter::HasAncestor(value) => { + ("__key__".to_string(), Operator::HasAncestor, value) + } }; api::Filter { diff --git a/google-cloud/src/datastore/query.rs b/google-cloud/src/datastore/query.rs index 27118171..299b1aea 100644 --- a/google-cloud/src/datastore/query.rs +++ b/google-cloud/src/datastore/query.rs @@ -22,6 +22,8 @@ pub enum Filter { GreaterThanOrEqual(String, Value), /// Lesser-than-or-equal filter (<=). LesserThanEqual(String, Value), + /// Append ancestor to the Query + HasAncestor(Value), } /// Represents a Datastore query. @@ -32,7 +34,6 @@ pub struct Query { pub(crate) keys_only: bool, pub(crate) offset: i32, pub(crate) limit: Option, - pub(crate) ancestor: Option, pub(crate) namespace: Option, pub(crate) projections: Vec, pub(crate) distinct_on: Vec, @@ -54,7 +55,6 @@ impl Query { keys_only: false, offset: 0, limit: None, - ancestor: None, namespace: None, projections: Vec::new(), distinct_on: Vec::new(), @@ -119,8 +119,8 @@ impl Query { /// let key = Key::new("dev").id(10); /// let query = Query::new("users").ancestor(key); /// ``` - pub fn ancestor(mut self, key: Key) -> Query { - self.ancestor = Some(key); + pub fn ancestor(mut self, key: Value) -> Query { + self.filters.push(Filter::HasAncestor(key)); self } diff --git a/google-cloud/src/pubsub/api/google.api.rs b/google-cloud/src/pubsub/api/google.api.rs index 2ddb3751..3d27311f 100644 --- a/google-cloud/src/pubsub/api/google.api.rs +++ b/google-cloud/src/pubsub/api/google.api.rs @@ -1,5 +1,5 @@ /// Defines the HTTP configuration for an API service. It contains a list of -/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +/// \[HttpRule][google.api.HttpRule\], each specifying the mapping of an RPC method /// to one or more HTTP REST API methods. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Http { @@ -22,10 +22,10 @@ pub struct Http { /// gRPC Transcoding is a feature for mapping between a gRPC method and one or /// more HTTP REST endpoints. It allows developers to build a single API service /// that supports both gRPC APIs and REST APIs. Many systems, including [Google -/// APIs](https://github.com/googleapis/googleapis), -/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC -/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), -/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +/// APIs](), +/// [Cloud Endpoints](), [gRPC +/// Gateway](), +/// and \[Envoy\]() proxy support this feature /// and use it for large scale production services. /// /// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies @@ -186,15 +186,15 @@ pub struct Http { /// 1. Leaf request fields (recursive expansion nested messages in the request /// message) are classified into three categories: /// - Fields referred by the path template. They are passed via the URL path. -/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP +/// - Fields referred by the \[HttpRule.body][google.api.HttpRule.body\]. They are passed via the HTTP /// request body. /// - All other fields are passed via the URL query parameters, and the /// parameter name is the field path in the request message. A repeated /// field can be represented as multiple query parameters under the same /// name. -/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields +/// 2. If \[HttpRule.body][google.api.HttpRule.body\] is "*", there is no URL query parameter, all fields /// are passed via URL path and HTTP request body. -/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all +/// 3. If \[HttpRule.body][google.api.HttpRule.body\] is omitted, there is no HTTP request body, all /// fields are passed via URL path and URL query parameters. /// /// ### Path template syntax @@ -221,19 +221,19 @@ pub struct Http { /// /// If a variable contains exactly one path segment, such as `"{var}"` or /// `"{var=*}"`, when such a variable is expanded into a URL path on the client -/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The /// server side does the reverse decoding. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{var}`. /// /// If a variable contains multiple path segments, such as `"{var=foo/*}"` /// or `"{var=**}"`, when such a variable is expanded into a URL path on the -/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded. /// The server side does the reverse decoding, except "%2F" and "%2f" are left /// unchanged. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{+var}`. /// /// ## Using gRPC API Service Configuration @@ -263,10 +263,10 @@ pub struct Http { /// /// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the /// proto to JSON conversion must follow the [proto3 -/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +/// specification](). /// /// While the single segment variable follows the semantics of -/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +/// [RFC 6570]() Section 3.2.2 Simple String /// Expansion, the multi segment variable **does not** follow RFC 6570 Section /// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion /// does not expand special characters like `?` and `#`, which would lead @@ -290,7 +290,7 @@ pub struct Http { pub struct HttpRule { /// Selects a method to which this rule applies. /// - /// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + /// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details. #[prost(string, tag = "1")] pub selector: ::prost::alloc::string::String, /// The name of the request field whose value is mapped to the HTTP request diff --git a/google-cloud/src/pubsub/api/google.pubsub.v1.rs b/google-cloud/src/pubsub/api/google.pubsub.v1.rs index c9d1ffb3..cab77550 100644 --- a/google-cloud/src/pubsub/api/google.pubsub.v1.rs +++ b/google-cloud/src/pubsub/api/google.pubsub.v1.rs @@ -13,13 +13,13 @@ pub struct MessageStoragePolicy { pub struct Topic { /// The name of the topic. It must have the format /// `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, - /// and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), + /// and contain only letters (`\[A-Za-z\]`), numbers (`\[0-9\]`), dashes (`-`), /// underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent /// signs (`%`). It must be between 3 and 255 characters in length, and it /// must not start with `"goog"`. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, - /// See Creating and + /// See > Creating and /// managing labels. #[prost(map = "string, string", tag = "2")] pub labels: @@ -40,9 +40,9 @@ pub struct Topic { /// message must contain either a non-empty data field or at least one attribute. /// Note that client libraries represent this object differently /// depending on the language. See the corresponding -/// client +/// client> /// library documentation for more information. See -/// Quotas and limits +/// Quotas> and limits /// for more information about message limits. #[derive(Clone, PartialEq, ::prost::Message)] pub struct PubsubMessage { @@ -213,8 +213,8 @@ pub struct DeleteTopicRequest { pub struct Subscription { /// The name of the subscription. It must have the format /// `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must - /// start with a letter, and contain only letters (`[A-Za-z]`), numbers - /// (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), + /// start with a letter, and contain only letters (`\[A-Za-z\]`), numbers + /// (`\[0-9\]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), /// plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters /// in length, and it must not start with `"goog"`. #[prost(string, tag = "1")] @@ -257,7 +257,7 @@ pub struct Subscription { /// acknowledged, until they fall out of the `message_retention_duration` /// window. This must be true if you would like to /// + /// href="> /// Seek to a timestamp. #[prost(bool, tag = "7")] pub retain_acked_messages: bool, @@ -269,7 +269,7 @@ pub struct Subscription { /// minutes. #[prost(message, optional, tag = "8")] pub message_retention_duration: ::core::option::Option<::prost_types::Duration>, - /// See Creating and + /// See > Creating and /// managing labels. #[prost(map = "string, string", tag = "9")] pub labels: @@ -356,7 +356,7 @@ pub struct ExpirationPolicy { #[derive(Clone, PartialEq, ::prost::Message)] pub struct PushConfig { /// A URL locating the endpoint to which messages should be pushed. - /// For example, a Webhook endpoint might use "https://example.com/push". + /// For example, a Webhook endpoint might use " #[prost(string, tag = "1")] pub push_endpoint: ::prost::alloc::string::String, /// Endpoint configuration attributes that can be used to control different @@ -395,11 +395,11 @@ pub struct PushConfig { pub mod push_config { /// Contains information needed for generating an /// [OpenID Connect - /// token](https://developers.google.com/identity/protocols/OpenIDConnect). + /// token](). #[derive(Clone, PartialEq, ::prost::Message)] pub struct OidcToken { /// [Service account - /// email](https://cloud.google.com/iam/docs/service-accounts) + /// email]() /// to be used for generating the OIDC token. The caller (for /// CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must /// have the iam.serviceAccounts.actAs permission for the service account. @@ -409,7 +409,7 @@ pub mod push_config { /// identifies the recipients that the JWT is intended for. The audience /// value is a single case-sensitive string. Having multiple values (array) /// for the audience field is not supported. More info about the OIDC JWT - /// token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 + /// token audience here: /// Note: if not specified, the Push endpoint URL will be used. #[prost(string, tag = "2")] pub audience: ::prost::alloc::string::String, @@ -648,7 +648,7 @@ pub struct CreateSnapshotRequest { /// If the name is not provided in the request, the server will assign a random /// name for this snapshot on the same project as the subscription. /// Note that for REST API requests, you must specify a name. See the - /// + /// > /// resource name rules. /// Format is `projects/{project}/snapshots/{snap}`. #[prost(string, tag = "1")] @@ -664,7 +664,7 @@ pub struct CreateSnapshotRequest { /// Format is `projects/{project}/subscriptions/{sub}`. #[prost(string, tag = "2")] pub subscription: ::prost::alloc::string::String, - /// See Creating and + /// See > Creating and /// managing labels. #[prost(map = "string, string", tag = "3")] pub labels: @@ -682,7 +682,7 @@ pub struct UpdateSnapshotRequest { pub update_mask: ::core::option::Option<::prost_types::FieldMask>, } /// A snapshot resource. Snapshots are used in -/// Seek +/// Seek> /// operations, which allow /// you to manage message acknowledgments in bulk. That is, you can set the /// acknowledgment state of messages in an existing subscription to the state @@ -707,7 +707,7 @@ pub struct Snapshot { /// snapshot that would expire in less than 1 hour after creation. #[prost(message, optional, tag = "3")] pub expire_time: ::core::option::Option<::prost_types::Timestamp>, - /// See Creating and + /// See > Creating and /// managing labels. #[prost(map = "string, string", tag = "4")] pub labels: @@ -794,10 +794,11 @@ pub mod seek_request { pub struct SeekResponse {} #[doc = r" Generated client implementations."] pub mod publisher_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " The service that an application uses to manipulate topics, and to send"] #[doc = " messages to a topic."] + #[derive(Debug, Clone)] pub struct PublisherClient { inner: tonic::client::Grpc, } @@ -815,17 +816,43 @@ pub mod publisher_client { impl PublisherClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> PublisherClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + PublisherClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Creates the given topic with the given name. See the"] #[doc = " "] @@ -969,26 +996,15 @@ pub mod publisher_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for PublisherClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for PublisherClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "PublisherClient {{ ... }}") - } - } } #[doc = r" Generated client implementations."] pub mod subscriber_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " The service that an application uses to manipulate subscriptions and to"] #[doc = " consume messages from a subscription via the `Pull` method or by"] #[doc = " establishing a bi-directional stream using the `StreamingPull` method."] + #[derive(Debug, Clone)] pub struct SubscriberClient { inner: tonic::client::Grpc, } @@ -1006,17 +1022,43 @@ pub mod subscriber_client { impl SubscriberClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> SubscriberClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + SubscriberClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Creates a subscription to a given topic. See the"] #[doc = " "] @@ -1372,16 +1414,4 @@ pub mod subscriber_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for SubscriberClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for SubscriberClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "SubscriberClient {{ ... }}") - } - } } diff --git a/google-cloud/src/vision/api/google.api.rs b/google-cloud/src/vision/api/google.api.rs index b6f30764..92a03225 100644 --- a/google-cloud/src/vision/api/google.api.rs +++ b/google-cloud/src/vision/api/google.api.rs @@ -1,5 +1,5 @@ /// Defines the HTTP configuration for an API service. It contains a list of -/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +/// \[HttpRule][google.api.HttpRule\], each specifying the mapping of an RPC method /// to one or more HTTP REST API methods. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Http { @@ -22,10 +22,10 @@ pub struct Http { /// gRPC Transcoding is a feature for mapping between a gRPC method and one or /// more HTTP REST endpoints. It allows developers to build a single API service /// that supports both gRPC APIs and REST APIs. Many systems, including [Google -/// APIs](https://github.com/googleapis/googleapis), -/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC -/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), -/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +/// APIs](), +/// [Cloud Endpoints](), [gRPC +/// Gateway](), +/// and \[Envoy\]() proxy support this feature /// and use it for large scale production services. /// /// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies @@ -186,15 +186,15 @@ pub struct Http { /// 1. Leaf request fields (recursive expansion nested messages in the request /// message) are classified into three categories: /// - Fields referred by the path template. They are passed via the URL path. -/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP +/// - Fields referred by the \[HttpRule.body][google.api.HttpRule.body\]. They are passed via the HTTP /// request body. /// - All other fields are passed via the URL query parameters, and the /// parameter name is the field path in the request message. A repeated /// field can be represented as multiple query parameters under the same /// name. -/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields +/// 2. If \[HttpRule.body][google.api.HttpRule.body\] is "*", there is no URL query parameter, all fields /// are passed via URL path and HTTP request body. -/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all +/// 3. If \[HttpRule.body][google.api.HttpRule.body\] is omitted, there is no HTTP request body, all /// fields are passed via URL path and URL query parameters. /// /// ### Path template syntax @@ -221,19 +221,19 @@ pub struct Http { /// /// If a variable contains exactly one path segment, such as `"{var}"` or /// `"{var=*}"`, when such a variable is expanded into a URL path on the client -/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The /// server side does the reverse decoding. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{var}`. /// /// If a variable contains multiple path segments, such as `"{var=foo/*}"` /// or `"{var=**}"`, when such a variable is expanded into a URL path on the -/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded. /// The server side does the reverse decoding, except "%2F" and "%2f" are left /// unchanged. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{+var}`. /// /// ## Using gRPC API Service Configuration @@ -263,10 +263,10 @@ pub struct Http { /// /// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the /// proto to JSON conversion must follow the [proto3 -/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +/// specification](). /// /// While the single segment variable follows the semantics of -/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +/// [RFC 6570]() Section 3.2.2 Simple String /// Expansion, the multi segment variable **does not** follow RFC 6570 Section /// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion /// does not expand special characters like `?` and `#`, which would lead @@ -290,7 +290,7 @@ pub struct Http { pub struct HttpRule { /// Selects a method to which this rule applies. /// - /// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + /// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details. #[prost(string, tag = "1")] pub selector: ::prost::alloc::string::String, /// The name of the request field whose value is mapped to the HTTP request @@ -511,7 +511,7 @@ pub struct ResourceDescriptor { /// Example: `storage.googleapis.com/Bucket` /// /// The value of the resource_type_kind must follow the regular expression - /// /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and + /// /\[A-Za-z][a-zA-Z0-9\]+/. It should start with an upper case character and /// should use PascalCase (UpperCamelCase). The maximum number of /// characters allowed for the `resource_type_kind` is 100. #[prost(string, tag = "1")] @@ -561,11 +561,11 @@ pub struct ResourceDescriptor { /// The plural name used in the resource name, such as 'projects' for /// the name of 'projects/{project}'. It is the same concept of the `plural` /// field in k8s CRD spec - /// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + /// #[prost(string, tag = "5")] pub plural: ::prost::alloc::string::String, /// The same concept of the `singular` field in k8s CRD spec - /// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + /// /// Such as "project" for the `resourcemanager.googleapis.com/Project` type. #[prost(string, tag = "6")] pub singular: ::prost::alloc::string::String, diff --git a/google-cloud/src/vision/api/google.cloud.vision.v1.rs b/google-cloud/src/vision/api/google.cloud.vision.v1.rs index 0488dab1..fe924318 100644 --- a/google-cloud/src/vision/api/google.cloud.vision.v1.rs +++ b/google-cloud/src/vision/api/google.cloud.vision.v1.rs @@ -226,7 +226,7 @@ pub struct UpdateProductRequest { /// product.name is immutable. #[prost(message, optional, tag = "1")] pub product: ::core::option::Option, - /// The [FieldMask][google.protobuf.FieldMask] that specifies which fields + /// The \[FieldMask][google.protobuf.FieldMask\] that specifies which fields /// to update. /// If update_mask isn't specified, all mutable fields are to be updated. /// Valid mask paths include `product_labels`, `display_name`, and @@ -304,7 +304,7 @@ pub struct UpdateProductSetRequest { /// Required. The ProductSet resource which replaces the one on the server. #[prost(message, optional, tag = "1")] pub product_set: ::core::option::Option, - /// The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + /// The \[FieldMask][google.protobuf.FieldMask\] that specifies which fields to /// update. /// If update_mask isn't specified, all mutable fields are to be updated. /// Valid mask path is `display_name`. @@ -481,16 +481,16 @@ pub struct ImportProductSetsGcsSource { /// `product-id` values does not exist, then the system will create a new /// `ProductSet` or `Product` for the image. In this case, the /// `product-display-name` column refers to - /// [display_name][google.cloud.vision.v1.Product.display_name], the + /// \[display_name][google.cloud.vision.v1.Product.display_name\], the /// `product-category` column refers to - /// [product_category][google.cloud.vision.v1.Product.product_category], and the - /// `labels` column refers to [product_labels][google.cloud.vision.v1.Product.product_labels]. + /// \[product_category][google.cloud.vision.v1.Product.product_category\], and the + /// `labels` column refers to \[product_labels][google.cloud.vision.v1.Product.product_labels\]. /// /// The `image-id` column is optional but must be unique if provided. If it is /// empty, the system will automatically assign a unique id to the image. /// /// The `product-display-name` column is optional. If it is empty, the system - /// sets the [display_name][google.cloud.vision.v1.Product.display_name] field for the product to a + /// sets the \[display_name][google.cloud.vision.v1.Product.display_name\] field for the product to a /// space (" "). You can update the `display_name` later by using the API. /// /// If a `Product` with the specified `product-id` already exists, then the @@ -555,8 +555,8 @@ pub struct ImportProductSetsRequest { /// Response message for the `ImportProductSets` method. /// /// This message is returned by the -/// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned -/// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +/// \[google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation\] method in the returned +/// \[google.longrunning.Operation.response][google.longrunning.Operation.response\] field. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportProductSetsResponse { /// The list of reference_images that are imported successfully. @@ -566,7 +566,7 @@ pub struct ImportProductSetsResponse { /// and errors. /// /// The number of statuses here matches the number of lines in the csv file, - /// and statuses[i] stores the success or failure status of processing the i-th + /// and statuses\[i\] stores the success or failure status of processing the i-th /// line of the csv, starting from line 0. #[prost(message, repeated, tag = "2")] pub statuses: ::prost::alloc::vec::Vec, @@ -584,7 +584,7 @@ pub struct BatchOperationMetadata { #[prost(message, optional, tag = "2")] pub submit_time: ::core::option::Option<::prost_types::Timestamp>, /// The time when the batch request is finished and - /// [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + /// \[google.longrunning.Operation.done][google.longrunning.Operation.done\] is set to true. #[prost(message, optional, tag = "3")] pub end_time: ::core::option::Option<::prost_types::Timestamp>, } @@ -650,7 +650,7 @@ pub mod purge_products_request { } #[doc = r" Generated client implementations."] pub mod product_search_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " Manages Products and ProductSets of reference images for use in product"] #[doc = " search. It uses the following resource model:"] @@ -666,6 +666,7 @@ pub mod product_search_client { #[doc = ""] #[doc = " - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named"] #[doc = " `projects/*/locations/*/products/*/referenceImages/*`"] + #[derive(Debug, Clone)] pub struct ProductSearchClient { inner: tonic::client::Grpc, } @@ -683,17 +684,43 @@ pub mod product_search_client { impl ProductSearchClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> ProductSearchClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + ProductSearchClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Creates and returns a new ProductSet resource."] #[doc = ""] @@ -1163,18 +1190,6 @@ pub mod product_search_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for ProductSearchClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for ProductSearchClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "ProductSearchClient {{ ... }}") - } - } } /// Parameters for a product search request. #[derive(Clone, PartialEq, ::prost::Message)] @@ -1183,7 +1198,7 @@ pub struct ProductSearchParams { /// Optional. If it is not specified, system discretion will be applied. #[prost(message, optional, tag = "9")] pub bounding_poly: ::core::option::Option, - /// The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to be searched for similar images. + /// The resource name of a \[ProductSet][google.cloud.vision.v1.ProductSet\] to be searched for similar images. /// /// Format is: /// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. @@ -1252,7 +1267,7 @@ pub mod product_search_results { pub mid: ::prost::alloc::string::String, /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more /// information, see - /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + /// #[prost(string, tag = "2")] pub language_code: ::prost::alloc::string::String, /// Object name, expressed in its `language_code` language. @@ -1282,7 +1297,7 @@ pub mod product_search_results { /// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol /// Each structural component, starting from Page, may further have their own /// properties. Properties describe detected languages, breaks etc.. Please refer -/// to the [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message definition below for more +/// to the \[TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty\] message definition below for more /// detail. #[derive(Clone, PartialEq, ::prost::Message)] pub struct TextAnnotation { @@ -1300,7 +1315,7 @@ pub mod text_annotation { pub struct DetectedLanguage { /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more /// information, see - /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + /// #[prost(string, tag = "1")] pub language_code: ::prost::alloc::string::String, /// Confidence of detected language. Range [0, 1]. @@ -1604,7 +1619,7 @@ pub mod web_detection { pub label: ::prost::alloc::string::String, /// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". /// For more information, see - /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + /// #[prost(string, tag = "2")] pub language_code: ::prost::alloc::string::String, } @@ -1674,7 +1689,7 @@ pub struct ImageSource { /// The Google Cloud Storage URI of the form /// `gs://bucket_name/object_name`. Object versioning is not supported. See /// [Google Cloud Storage Request - /// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + /// URIs]() for more info. #[prost(string, tag = "1")] pub gcs_image_uri: ::prost::alloc::string::String, /// The URI of the source image. Can be either: @@ -1682,7 +1697,7 @@ pub struct ImageSource { /// 1. A Google Cloud Storage URI of the form /// `gs://bucket_name/object_name`. Object versioning is not supported. See /// [Google Cloud Storage Request - /// URIs](https://cloud.google.com/storage/docs/reference-uris) for more + /// URIs]() for more /// info. /// /// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from @@ -1736,16 +1751,16 @@ pub struct FaceAnnotation { pub landmarks: ::prost::alloc::vec::Vec, /// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation /// of the face relative to the image vertical about the axis perpendicular to - /// the face. Range [-180,180]. + /// the face. Range \[-180,180\]. #[prost(float, tag = "4")] pub roll_angle: f32, /// Yaw angle, which indicates the leftward/rightward angle that the face is /// pointing relative to the vertical plane perpendicular to the image. Range - /// [-180,180]. + /// \[-180,180\]. #[prost(float, tag = "5")] pub pan_angle: f32, /// Pitch angle, which indicates the upwards/downwards angle that the face is - /// pointing relative to the image's horizontal plane. Range [-180,180]. + /// pointing relative to the image's horizontal plane. Range \[-180,180\]. #[prost(float, tag = "6")] pub tilt_angle: f32, /// Detection confidence. Range [0, 1]. @@ -1897,7 +1912,7 @@ pub struct Property { pub struct EntityAnnotation { /// Opaque entity ID. Some IDs may be available in /// [Google Knowledge Graph Search - /// API](https://developers.google.com/knowledge-graph/). + /// API](). #[prost(string, tag = "1")] pub mid: ::prost::alloc::string::String, /// The language code for the locale in which the entity textual @@ -1949,7 +1964,7 @@ pub struct LocalizedObjectAnnotation { pub mid: ::prost::alloc::string::String, /// The BCP-47 language code, such as "en-US" or "sr-Latn". For more /// information, see - /// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + /// #[prost(string, tag = "2")] pub language_code: ::prost::alloc::string::String, /// Object name, expressed in its `language_code` language. @@ -2515,11 +2530,12 @@ pub enum Likelihood { } #[doc = r" Generated client implementations."] pub mod image_annotator_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " Service that performs Google Cloud Vision API detection tasks over client"] #[doc = " images, such as face, landmark, logo, label, and text detection. The"] #[doc = " ImageAnnotator service returns detected entities from the images."] + #[derive(Debug, Clone)] pub struct ImageAnnotatorClient { inner: tonic::client::Grpc, } @@ -2537,17 +2553,43 @@ pub mod image_annotator_client { impl ImageAnnotatorClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> ImageAnnotatorClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + ImageAnnotatorClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Run image detection and annotation for a batch of images."] pub async fn batch_annotate_images( @@ -2643,16 +2685,4 @@ pub mod image_annotator_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for ImageAnnotatorClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for ImageAnnotatorClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "ImageAnnotatorClient {{ ... }}") - } - } } diff --git a/google-cloud/src/vision/api/google.longrunning.rs b/google-cloud/src/vision/api/google.longrunning.rs index 1341aeb3..700a9ec5 100644 --- a/google-cloud/src/vision/api/google.longrunning.rs +++ b/google-cloud/src/vision/api/google.longrunning.rs @@ -46,14 +46,14 @@ pub mod operation { Response(::prost_types::Any), } } -/// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation]. +/// The request message for \[Operations.GetOperation][google.longrunning.Operations.GetOperation\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetOperationRequest { /// The name of the operation resource. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } -/// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +/// The request message for \[Operations.ListOperations][google.longrunning.Operations.ListOperations\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListOperationsRequest { /// The name of the operation's parent resource. @@ -69,7 +69,7 @@ pub struct ListOperationsRequest { #[prost(string, tag = "3")] pub page_token: ::prost::alloc::string::String, } -/// The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +/// The response message for \[Operations.ListOperations][google.longrunning.Operations.ListOperations\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListOperationsResponse { /// A list of operations that matches the specified filter in the request. @@ -79,21 +79,21 @@ pub struct ListOperationsResponse { #[prost(string, tag = "2")] pub next_page_token: ::prost::alloc::string::String, } -/// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation]. +/// The request message for \[Operations.CancelOperation][google.longrunning.Operations.CancelOperation\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CancelOperationRequest { /// The name of the operation resource to be cancelled. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } -/// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation]. +/// The request message for \[Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteOperationRequest { /// The name of the operation resource to be deleted. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } -/// The request message for [Operations.WaitOperation][google.longrunning.Operations.WaitOperation]. +/// The request message for \[Operations.WaitOperation][google.longrunning.Operations.WaitOperation\]. #[derive(Clone, PartialEq, ::prost::Message)] pub struct WaitOperationRequest { /// The name of the operation resource to wait on. @@ -140,7 +140,7 @@ pub struct OperationInfo { } #[doc = r" Generated client implementations."] pub mod operations_client { - #![allow(unused_variables, dead_code, missing_docs)] + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " Manages long-running operations with an API service."] #[doc = ""] @@ -151,6 +151,7 @@ pub mod operations_client { #[doc = " Google Cloud Pub/Sub API) to receive the response. Any API service that"] #[doc = " returns long-running operations should implement the `Operations` interface"] #[doc = " so developers can have a consistent client experience."] + #[derive(Debug, Clone)] pub struct OperationsClient { inner: tonic::client::Grpc, } @@ -168,17 +169,43 @@ pub mod operations_client { impl OperationsClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + HttpBody + Send + 'static, + T::ResponseBody: Body + Send + 'static, T::Error: Into, - ::Error: Into + Send, + ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: impl Into) -> Self { - let inner = tonic::client::Grpc::with_interceptor(inner, interceptor); - Self { inner } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> OperationsClient> + where + F: tonic::service::Interceptor, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + OperationsClient::new(InterceptedService::new(inner, interceptor)) + } + #[doc = r" Compress requests with `gzip`."] + #[doc = r""] + #[doc = r" This requires the server to support it otherwise it might respond with an"] + #[doc = r" error."] + pub fn send_gzip(mut self) -> Self { + self.inner = self.inner.send_gzip(); + self + } + #[doc = r" Enable decompressing responses with `gzip`."] + pub fn accept_gzip(mut self) -> Self { + self.inner = self.inner.accept_gzip(); + self } #[doc = " Lists operations that match the specified filter in the request. If the"] #[doc = " server doesn't support this method, it returns `UNIMPLEMENTED`."] @@ -296,16 +323,4 @@ pub mod operations_client { self.inner.unary(request.into_request(), path, codec).await } } - impl Clone for OperationsClient { - fn clone(&self) -> Self { - Self { - inner: self.inner.clone(), - } - } - } - impl std::fmt::Debug for OperationsClient { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "OperationsClient {{ ... }}") - } - } } diff --git a/google-cloud/src/vision/api/google.r#type.rs b/google-cloud/src/vision/api/google.r#type.rs index e59ce1ba..6cebcdd6 100644 --- a/google-cloud/src/vision/api/google.r#type.rs +++ b/google-cloud/src/vision/api/google.r#type.rs @@ -108,7 +108,7 @@ /// var rgbNumber = new Number((red << 16) | (green << 8) | blue); /// var hexString = rgbNumber.toString(16); /// var missingZeros = 6 - hexString.length; -/// var resultBuilder = ['#']; +/// var resultBuilder = \['#'\]; /// for (var i = 0; i < missingZeros; i++) { /// resultBuilder.push('0'); /// } @@ -145,7 +145,7 @@ pub struct Color { /// An object representing a latitude/longitude pair. This is expressed as a pair /// of doubles representing degrees latitude and degrees longitude. Unless /// specified otherwise, this must conform to the -/// WGS84 +/// WGS84> /// standard. Values must be within normalized ranges. #[derive(Clone, PartialEq, ::prost::Message)] pub struct LatLng { diff --git a/google-cloud/src/vision/api/google.rpc.rs b/google-cloud/src/vision/api/google.rpc.rs index ab36516d..752c6577 100644 --- a/google-cloud/src/vision/api/google.rpc.rs +++ b/google-cloud/src/vision/api/google.rpc.rs @@ -1,6 +1,6 @@ /// The `Status` type defines a logical error model that is suitable for /// different programming environments, including REST APIs and RPC APIs. It is -/// used by [gRPC](https://github.com/grpc). The error model is designed to be: +/// used by \[gRPC\](). The error model is designed to be: /// /// - Simple to use and understand for most users /// - Flexible enough to meet unexpected needs @@ -9,7 +9,7 @@ /// /// The `Status` message contains three pieces of data: error code, error /// message, and error details. The error code should be an enum value of -/// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes +/// \[google.rpc.Code][google.rpc.Code\], but it may accept additional error codes /// if needed. The error message should be a developer-facing English message /// that helps developers *understand* and *resolve* the error. If a localized /// user-facing error message is needed, put the localized message in the error @@ -54,12 +54,12 @@ #[derive(Clone, PartialEq, ::prost::Message)] pub struct Status { /// The status code, which should be an enum value of - /// [google.rpc.Code][google.rpc.Code]. + /// \[google.rpc.Code][google.rpc.Code\]. #[prost(int32, tag = "1")] pub code: i32, /// A developer-facing error message, which should be in English. Any /// user-facing error message should be localized and sent in the - /// [google.rpc.Status.details][google.rpc.Status.details] field, or localized + /// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized /// by the client. #[prost(string, tag = "2")] pub message: ::prost::alloc::string::String, From 188d0e1c3d12c892ac374818fcf046cd5a576d64 Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Mon, 31 Jan 2022 12:56:06 +0100 Subject: [PATCH 02/11] use field with null in Datastore --- google-cloud/src/datastore/client.rs | 1 + google-cloud/src/datastore/value.rs | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index d6b27353..8241f146 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -354,6 +354,7 @@ fn convert_entity(project_name: &str, entity: Entity) -> api::Entity { fn convert_value(project_name: &str, value: Value) -> api::Value { let value_type = match value { + Value::NULL(_) => api::value::ValueType::NullValue(0), Value::BooleanValue(val) => ValueType::BooleanValue(val), Value::IntegerValue(val) => ValueType::IntegerValue(val), Value::DoubleValue(val) => ValueType::DoubleValue(val), diff --git a/google-cloud/src/datastore/value.rs b/google-cloud/src/datastore/value.rs index 9941cc3e..37f78637 100644 --- a/google-cloud/src/datastore/value.rs +++ b/google-cloud/src/datastore/value.rs @@ -17,6 +17,8 @@ pub use google_cloud_derive::{FromValue, IntoValue}; /// A value, as stored in Datastore. #[derive(Debug, Clone, PartialEq)] pub enum Value { + /// NULL + NULL(Option), /// A boolean value (true or false). BooleanValue(bool), /// An integer value. @@ -43,6 +45,7 @@ impl Value { /// Gets the static name of the type of the value. pub fn type_name(&self) -> &'static str { match self { + Value::NULL(_) => "null", Value::BooleanValue(_) => "bool", Value::IntegerValue(_) => "integer", Value::DoubleValue(_) => "double", @@ -141,6 +144,12 @@ impl IntoValue for NaiveDateTime { } } +impl IntoValue for Option { + fn into_value(self) -> Value { + Value::NULL(None) + } +} + #[cfg(feature = "bytes")] impl IntoValue for Bytes { fn into_value(self) -> Value { @@ -256,6 +265,18 @@ impl FromValue for NaiveDateTime { } } +impl FromValue for Option { + fn from_value(value: Value) -> Result, ConvertError> { + match value { + Value::NULL(_) => Ok(None), + _ => Err(ConvertError::UnexpectedPropertyType { + expected: String::from("null"), + got: String::from(value.type_name()), + }), + } + } +} + #[cfg(feature = "bytes")] impl FromValue for Bytes { fn from_value(value: Value) -> Result { @@ -317,7 +338,7 @@ where impl From for Value { fn from(value: ValueType) -> Value { match value { - ValueType::NullValue(_) => unreachable!(), + ValueType::NullValue(_) => Value::NULL(None), ValueType::BooleanValue(val) => Value::BooleanValue(val), ValueType::IntegerValue(val) => Value::IntegerValue(val), ValueType::DoubleValue(val) => Value::DoubleValue(val), From 6eb5aa54b72053ced061570007120d2274d2a300 Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Mon, 31 Jan 2022 13:46:46 +0100 Subject: [PATCH 03/11] feature exclude index inDatastore --- google-cloud/src/datastore/client.rs | 27 +++++---- google-cloud/src/datastore/index_excluded.rs | 63 ++++++++++++++++++++ google-cloud/src/datastore/mod.rs | 2 + google-cloud/src/error.rs | 3 + 4 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 google-cloud/src/datastore/index_excluded.rs diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index 8241f146..9f488f82 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -16,12 +16,15 @@ use crate::datastore::{ Entity, Error, Filter, FromValue, IntoEntity, Key, KeyID, Order, Query, Value, }; +use super::IndexExcluded; + /// The Datastore client, tied to a specific project. #[derive(Clone)] pub struct Client { pub(crate) project_name: String, pub(crate) service: DatastoreClient, pub(crate) token_manager: Arc>, + pub(crate) index_excluded: IndexExcluded, } impl Client { @@ -75,6 +78,7 @@ impl Client { creds, Client::SCOPES.as_ref(), ))), + index_excluded: IndexExcluded::new()?, }) } @@ -156,7 +160,7 @@ impl Client { .into_iter() .map(|entity| { let is_incomplete = entity.key.is_incomplete(); - let entity = convert_entity(self.project_name.as_str(), entity); + let entity = convert_entity(self.project_name.as_str(), entity, self.index_excluded.to_owned()); api::Mutation { operation: if is_incomplete { Some(api::mutation::Operation::Insert(entity)) @@ -336,23 +340,26 @@ fn convert_key(project_name: &str, key: &Key) -> api::Key { } } -fn convert_entity(project_name: &str, entity: Entity) -> api::Entity { +fn convert_entity(project_name: &str, entity: Entity, index_excluded: IndexExcluded) -> api::Entity { let key = convert_key(project_name, &entity.key); - let properties = match entity.properties { + let properties = match entity.clone().properties { Value::EntityValue(properties) => properties, _ => panic!("unexpected non-entity datastore value"), }; let properties = properties .into_iter() - .map(|(k, v)| (k, convert_value(project_name, v))) - .collect(); + .map(|(k, v)| { + let index_excluded = IndexExcluded::ckeck_value(index_excluded.to_owned(), entity.key.get_kind().to_owned(), k.to_owned()); + (k, convert_value(project_name, v, index_excluded)) + } + ).collect(); api::Entity { key: Some(key), properties, } } -fn convert_value(project_name: &str, value: Value) -> api::Value { +fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api::Value { let value_type = match value { Value::NULL(_) => api::value::ValueType::NullValue(0), Value::BooleanValue(val) => ValueType::BooleanValue(val), @@ -374,20 +381,20 @@ fn convert_value(project_name: &str, value: Value) -> api::Value { key: None, properties: properties .into_iter() - .map(|(k, v)| (k, convert_value(project_name, v))) + .map(|(k, v)| (k, convert_value(project_name, v, index_excluded))) .collect(), } }), Value::ArrayValue(values) => ValueType::ArrayValue(api::ArrayValue { values: values .into_iter() - .map(|value| convert_value(project_name, value)) + .map(|value| convert_value(project_name, value, index_excluded)) .collect(), }), }; api::Value { meaning: 0, - exclude_from_indexes: false, + exclude_from_indexes: index_excluded, value_type: Some(value_type), } } @@ -419,7 +426,7 @@ fn convert_filter(project_name: &str, filters: Vec) -> Option, +} + +/// +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct PropertyExcluded { + /// + pub property: HashMap, +} + +impl IndexExcluded { + /// Open and deserialize the file with the configuration for the exclusion of indexes in Datastore + pub(crate) fn new() -> Result { + let path = match env::var("INDEX_EXCLUDED") { + Ok(env) => env, + Err(_) => return Ok(IndexExcluded { kind: HashMap::new()}), + }; + + let file = match File::open(path) { + Ok(file) => file, + Err(_) => return Ok(IndexExcluded { kind: HashMap::new()}), + }; + let deserialized_yaml = serde_yaml::from_reader(file)?; + + Ok(deserialized_yaml) + } + + /// + pub(crate) fn ckeck_value(self, kind: String, property: String) -> bool { + let property_excluded = match self.kind.get(&kind) { + Some(p) => p.to_owned(), + None => return false, + }; + + match property_excluded.property.get(&property) { + Some(_) => true, + None => false, + } + } +} \ No newline at end of file diff --git a/google-cloud/src/datastore/mod.rs b/google-cloud/src/datastore/mod.rs index 673b0ce9..e6ad7381 100644 --- a/google-cloud/src/datastore/mod.rs +++ b/google-cloud/src/datastore/mod.rs @@ -1,5 +1,6 @@ mod client; mod entity; +mod index_excluded; mod key; mod query; mod value; @@ -18,6 +19,7 @@ mod api { pub use self::client::*; pub use self::entity::*; +pub use self::index_excluded::*; pub use self::key::*; pub use self::query::*; pub use self::value::*; diff --git a/google-cloud/src/error.rs b/google-cloud/src/error.rs index 24ec3e87..adb46fc1 100644 --- a/google-cloud/src/error.rs +++ b/google-cloud/src/error.rs @@ -31,6 +31,9 @@ pub enum Error { /// authentication-related error. #[error("authentication error: {0}")] Auth(#[from] AuthError), + /// A YAML (de)serialization error. + #[error("YAML error: {0}")] + YAML(#[from] serde_yaml::Error), } /// The error type for value conversions. From 3387c54bc3e1e2d7994693cb8bf720f2681f3a67 Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Mon, 31 Jan 2022 14:21:26 +0100 Subject: [PATCH 04/11] featura transaction --- google-cloud/src/datastore/client.rs | 132 +++++++++++++++----- google-cloud/src/datastore/key.rs | 39 ++++++ google-cloud/src/datastore/mod.rs | 2 + google-cloud/src/datastore/transaction.rs | 144 ++++++++++++++++++++++ 4 files changed, 286 insertions(+), 31 deletions(-) create mode 100644 google-cloud/src/datastore/transaction.rs diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index 9f488f82..15345440 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -11,12 +11,12 @@ use tonic::{IntoRequest, Request}; use crate::authorize::{ApplicationCredentials, TokenManager, TLS_CERTS}; use crate::datastore::api; use crate::datastore::api::datastore_client::DatastoreClient; -use crate::datastore::api::value::ValueType; use crate::datastore::{ Entity, Error, Filter, FromValue, IntoEntity, Key, KeyID, Order, Query, Value, }; -use super::IndexExcluded; +use super::{Transaction, IndexExcluded}; +use super::api::transaction_options::{ReadWrite, ReadOnly}; /// The Datastore client, tied to a specific project. #[derive(Clone)] @@ -27,6 +27,17 @@ pub struct Client { pub(crate) index_excluded: IndexExcluded, } +/// Opciones para el modo de crear la trx +#[derive(Debug, Clone, PartialEq)] +pub enum TrxOption { + /// modo solo lectura + ReadOnly, + /// modo de escritura y lectura + ReadWrite, + /// modo por defecto + Default, +} + impl Client { pub(crate) const DOMAIN_NAME: &'static str = "datastore.googleapis.com"; pub(crate) const ENDPOINT: &'static str = "https://datastore.googleapis.com"; @@ -82,6 +93,35 @@ impl Client { }) } + /// Create a new transaction + /// - option_mode: Option for the transaction + /// - trx_id: Clave de la transacción anterior y que por algún motivo fallo y se ejecuto el rollback + pub async fn new_transaction(&mut self, option_mode: TrxOption, trx_id: Option>) -> Result { + let trx_option = match option_mode { + TrxOption::ReadOnly => Some(api::TransactionOptions { + mode: Some(api::transaction_options::Mode::ReadOnly(ReadOnly{})) + }), + TrxOption::ReadWrite => match trx_id { + Some(trx) => Some(api::TransactionOptions { + mode: Some(api::transaction_options::Mode::ReadWrite(ReadWrite {previous_transaction: trx})) + }), + None => None, + }, + TrxOption::Default => None, + }; + + let request = api::BeginTransactionRequest { + project_id: self.project_name.clone(), + transaction_options: trx_option, + }; + + let request = self.construct_request(request).await?; + let response = self.service.begin_transaction(request).await?; + let response = response.into_inner(); + + Ok(Transaction::new(self.to_owned(), response.transaction)) + } + /// Gets an entity from a key. pub async fn get(&mut self, key: K) -> Result, Error> where @@ -93,7 +133,17 @@ impl Client { } /// Gets multiple entities from multiple keys. - pub async fn get_all(&mut self, keys: I) -> Result, Error> + pub async fn get_all(&mut self, keys: I) -> Result, Error> + where + I: IntoIterator, + K: Borrow, + T: FromValue, + { + Ok(self.get_all_tx(keys, None).await?) + } + + /// Gets multiple entities from multiple keys associated with a transaction + pub(crate) async fn get_all_tx(&mut self, keys: I, tx_id: Option>) -> Result, Error> where I: IntoIterator, K: Borrow, @@ -107,15 +157,25 @@ impl Client { let mut found = HashMap::new(); while !keys.is_empty() { - let request = api::LookupRequest { - keys, - project_id: self.project_name.clone(), - read_options: None, + let request = match tx_id.to_owned() { + Some(tx) => api::LookupRequest { + keys, + project_id: self.project_name.clone(), + read_options: Some(api::ReadOptions { + consistency_type: Some(api::read_options::ConsistencyType::Transaction(tx)), + }), + }, + None => api::LookupRequest { + keys, + project_id: self.project_name.clone(), + read_options: None, + } }; + let request = self.construct_request(request).await?; let response = self.service.lookup(request).await?; + let response = response.into_inner(); - found.extend( response .found @@ -124,7 +184,6 @@ impl Client { .map(Entity::from) .map(|entity| (entity.key, entity.properties)), ); - // let missing = response.missing; keys = response.deferred; } @@ -156,10 +215,11 @@ impl Client { .into_iter() .map(IntoEntity::into_entity) .collect::>()?; + let mutations = entities .into_iter() .map(|entity| { - let is_incomplete = entity.key.is_incomplete(); + let is_incomplete = entity.key.is_new || entity.key.is_incomplete(); let entity = convert_entity(self.project_name.as_str(), entity, self.index_excluded.to_owned()); api::Mutation { operation: if is_incomplete { @@ -224,6 +284,11 @@ impl Client { /// Runs a (potentially) complex query againt Datastore and returns the results. pub async fn query(&mut self, query: Query) -> Result, Error> { + Ok(self.query_tx(query, None).await?) + } + + /// Runs a (potentially) complex query againt Datastore and returns the results and associated with a transaction + pub(crate) async fn query_tx(&mut self, query: Query, tx_id: Option>) -> Result, Error> { let mut output = Vec::new(); let mut cur_query = query.clone(); @@ -278,13 +343,18 @@ impl Client { read_options: Some({ use api::read_options::{ConsistencyType, ReadConsistency}; api::ReadOptions { - consistency_type: Some(ConsistencyType::ReadConsistency( - if cur_query.eventual { - ReadConsistency::Eventual as i32 - } else { - ReadConsistency::Strong as i32 - }, - )), + consistency_type: Some( + match tx_id.to_owned() { + Some(tx) => ConsistencyType::Transaction(tx), + None => ConsistencyType::ReadConsistency( + if cur_query.eventual { + ReadConsistency::Eventual as i32 + } else { + ReadConsistency::Strong as i32 + }, + ), + } + ), } }), project_id: self.project_name.clone(), @@ -312,7 +382,7 @@ impl Client { } } -fn convert_key(project_name: &str, key: &Key) -> api::Key { +pub(crate) fn convert_key(project_name: &str, key: &Key) -> api::Key { api::Key { partition_id: Some(api::PartitionId { project_id: String::from(project_name), @@ -340,7 +410,7 @@ fn convert_key(project_name: &str, key: &Key) -> api::Key { } } -fn convert_entity(project_name: &str, entity: Entity, index_excluded: IndexExcluded) -> api::Entity { +pub(crate) fn convert_entity(project_name: &str, entity: Entity, index_excluded: IndexExcluded) -> api::Entity { let key = convert_key(project_name, &entity.key); let properties = match entity.clone().properties { Value::EntityValue(properties) => properties, @@ -359,24 +429,24 @@ fn convert_entity(project_name: &str, entity: Entity, index_excluded: IndexExclu } } -fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api::Value { +pub(crate) fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api::Value { let value_type = match value { Value::NULL(_) => api::value::ValueType::NullValue(0), - Value::BooleanValue(val) => ValueType::BooleanValue(val), - Value::IntegerValue(val) => ValueType::IntegerValue(val), - Value::DoubleValue(val) => ValueType::DoubleValue(val), - Value::TimestampValue(val) => ValueType::TimestampValue(prost_types::Timestamp { + Value::BooleanValue(val) => api::value::ValueType::BooleanValue(val), + Value::IntegerValue(val) => api::value::ValueType::IntegerValue(val), + Value::DoubleValue(val) => api::value::ValueType::DoubleValue(val), + Value::TimestampValue(val) => api::value::ValueType::TimestampValue(prost_types::Timestamp { seconds: val.timestamp(), nanos: val.timestamp_subsec_nanos() as i32, }), - Value::KeyValue(key) => ValueType::KeyValue(convert_key(project_name, &key)), - Value::StringValue(val) => ValueType::StringValue(val), - Value::BlobValue(val) => ValueType::BlobValue(val), - Value::GeoPointValue(latitude, longitude) => ValueType::GeoPointValue(api::LatLng { + Value::KeyValue(key) => api::value::ValueType::KeyValue(convert_key(project_name, &key)), + Value::StringValue(val) => api::value::ValueType::StringValue(val), + Value::BlobValue(val) => api::value::ValueType::BlobValue(val), + Value::GeoPointValue(latitude, longitude) => api::value::ValueType::GeoPointValue(api::LatLng { latitude, longitude, }), - Value::EntityValue(properties) => ValueType::EntityValue({ + Value::EntityValue(properties) => api::value::ValueType::EntityValue({ api::Entity { key: None, properties: properties @@ -385,7 +455,7 @@ fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api: .collect(), } }), - Value::ArrayValue(values) => ValueType::ArrayValue(api::ArrayValue { + Value::ArrayValue(values) => api::value::ValueType::ArrayValue(api::ArrayValue { values: values .into_iter() .map(|value| convert_value(project_name, value, index_excluded)) @@ -399,7 +469,7 @@ fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api: } } -fn convert_filter(project_name: &str, filters: Vec) -> Option { +pub(crate) fn convert_filter(project_name: &str, filters: Vec) -> Option { use api::filter::FilterType; if !filters.is_empty() { diff --git a/google-cloud/src/datastore/key.rs b/google-cloud/src/datastore/key.rs index cfed4b27..44d1460f 100644 --- a/google-cloud/src/datastore/key.rs +++ b/google-cloud/src/datastore/key.rs @@ -71,6 +71,8 @@ impl From for KeyID { pub struct Key { pub(crate) kind: String, pub(crate) id: KeyID, + pub(crate) is_new: bool, + pub(crate) delete: bool, pub(crate) parent: Option>, pub(crate) namespace: Option, } @@ -86,6 +88,8 @@ impl Key { Key { kind: kind.into(), id: KeyID::Incomplete, + is_new: false, + delete: false, parent: None, namespace: None, } @@ -114,6 +118,41 @@ impl Key { self } + /// Attach an new ID to the key. + /// + /// ``` + /// # use google_cloud::datastore::Key; + /// let int_key = Key::new("kind").new_id(10); + /// let string_key = Key::new("kind").new_id("entity-name"); + /// ``` + pub fn new_id(mut self, id: impl Into) -> Key { + self.id = id.into(); + self.is_new = true; + self + } + + /// Mark as new Entity and the client send like INSERT. + /// + /// ``` + /// # use google_cloud::datastore::Key; + /// let key = key.mark_new_entity(); + /// ``` + pub fn mark_new_entity(mut self) -> Key { + self.is_new = true; + self + } + + /// Mark as delete Entity and the client send like DELETE. + /// + /// ``` + /// # use google_cloud::datastore::Key; + /// let key = key.mark_new_entity(); + /// ``` + pub fn delete(mut self) -> Key { + self.delete = true; + self + } + /// Get the key's ID. /// /// ``` diff --git a/google-cloud/src/datastore/mod.rs b/google-cloud/src/datastore/mod.rs index e6ad7381..8e2dee5d 100644 --- a/google-cloud/src/datastore/mod.rs +++ b/google-cloud/src/datastore/mod.rs @@ -4,6 +4,7 @@ mod index_excluded; mod key; mod query; mod value; +mod transaction; mod api { pub mod r#type { include!("api/google.r#type.rs"); @@ -23,6 +24,7 @@ pub use self::index_excluded::*; pub use self::key::*; pub use self::query::*; pub use self::value::*; +pub use self::transaction::*; /// The error type for the Datastore module. pub type Error = crate::error::Error; diff --git a/google-cloud/src/datastore/transaction.rs b/google-cloud/src/datastore/transaction.rs new file mode 100644 index 00000000..d3c43ea3 --- /dev/null +++ b/google-cloud/src/datastore/transaction.rs @@ -0,0 +1,144 @@ +use std::borrow::Borrow; +use super::{Client, api::{CommitRequest, self, Mutation, RollbackRequest}, FromValue, Key, convert_key, convert_entity, Query}; +use crate::datastore::{ + Entity, Error, IntoEntity}; + +/// Structure where the data necessary to manage the transaction is stored +/// - client: The Datastore client +/// - tx_key: key returned by google cloud datastore to identify the Transaction +/// - commit_request: Where we accumulate the mutations +#[derive(Clone)] +pub struct Transaction { + pub(crate) client: Client, + pub(crate) tx_key: Vec, + pub(crate) commit_request: CommitRequest, +} + +impl Transaction { + /// Create a new transaction + pub fn new(client: Client, tx_key: Vec) -> Transaction { + let project_name = client.clone().project_name; + + Transaction { + client, + tx_key: tx_key.to_vec(), + commit_request: api::CommitRequest { + mutations: Vec::new(), + mode: api::commit_request::Mode::Transactional as i32, + transaction_selector: Some(api::commit_request::TransactionSelector::Transaction(tx_key.to_vec())), + project_id: project_name, + }, + } + } + + /// Gets an entity from a key associated with a transaction + pub async fn get(&mut self, key: K) -> Result, Error> + where + K: Borrow, + T: FromValue, + { + let results = self.get_all(Some(key.borrow())).await?; + Ok(results.into_iter().next().map(T::from_value).transpose()?) + } + + /// Gets multiple entities from multiple keys associated with a transaction + pub async fn get_all(&mut self, keys: I) -> Result, Error> + where + I: IntoIterator, + K: Borrow, + T: FromValue, + { + Ok(self.client.get_all_tx(keys, Some(self.tx_key.to_vec())).await?) + } + + /// Create, Modify or delete entity and returns its key. + /// the Key can be marked as: + /// - newId + /// - delete + /// If id is not indicated, it will be incomplete and, by default, a new entity will be created. + /// + /// This method can be called more than once for the same transaction, because the different + /// types of mutations are accumulated to subsequently execute the commit, which will send all + /// the information and return the Datastore response. + /// + /// Different types of mutations can be mixed in the same transaction (creation, modification and deletion) + pub async fn put(&mut self, entity: impl IntoEntity) -> Result<(), Error> { + let entity = entity.into_entity()?; + self.put_all(Some(entity)).await?; + Ok(()) + } + + /// Same operation as the put method but with multiple entities. + pub async fn put_all(&mut self, entities: I) -> Result<(), Error> + where + I: IntoIterator, + T: IntoEntity, + { + let entities: Vec = entities + .into_iter() + .map(IntoEntity::into_entity) + .collect::>()?; + + let mutations = entities + .into_iter() + .map(|entity| { + let operation = match entity.key.delete { + true => { + let key = convert_key(self.client.project_name.as_str(), entity.key.borrow()); + Some(api::mutation::Operation::Delete(key)) + }, + false => { + let is_incomplete = entity.key.is_new || entity.key.is_incomplete(); + let entity = convert_entity(self.client.project_name.as_str(), entity, self.client.index_excluded.to_owned()); + match is_incomplete { + true => Some(api::mutation::Operation::Insert(entity)), + false => Some(api::mutation::Operation::Upsert(entity)), + } + }, + }; + api::Mutation { + operation, + conflict_detection_strategy: None, + } + }) + .collect::>(); + + self.commit_request.mutations.append(&mut mutations.to_vec()); + + Ok(()) + } + + /// Execute a (potentially) complex query against the Datastore + /// in a transaction and return the results. + pub async fn query(&mut self, query: Query) -> Result, Error> { + Ok(self.client.query_tx(query, Some(self.tx_key.to_vec())).await?) + } + + /// Execute the transaction with the accumulated information. + /// Note that delete mutations do not return anything. + pub async fn commit(&mut self) -> Result>, Error> { + let request = self.client.construct_request(self.commit_request.to_owned()).await?; + let response = self.client.service.commit(request).await?; + + let response = response.into_inner(); + let keys = response + .mutation_results + .into_iter() + .map(|result| result.key.map(Key::from)) + .collect(); + + Ok(keys) + } + + /// Execute transaction rollback + pub async fn rollback(&mut self) -> Result<(), Error> { + self.client.service.rollback( + RollbackRequest { + project_id: self.client.project_name.to_owned(), + transaction: self.tx_key.to_vec() + } + ).await?; + + Ok(()) + } +} From e37e45dda0a4446e32da5656a0aa425b1d15e27e Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Mon, 31 Jan 2022 14:25:21 +0100 Subject: [PATCH 05/11] feature allocate_ids --- google-cloud/src/datastore/client.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index 15345440..bb383da8 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -122,6 +122,31 @@ impl Client { Ok(Transaction::new(self.to_owned(), response.transaction)) } + /// Reserve the ID of an entity before creating it + /// We can use it for transactions with related entities + pub async fn allocate_tx(&mut self, keys: Vec) -> Result, Error> { + let ks = keys + .iter() + .map(|key| convert_key(self.project_name.as_str(), key.borrow())) + .collect(); + + let request = api::AllocateIdsRequest { + project_id: self.project_name.clone(), + keys: ks, + }; + + let request = self.construct_request(request).await?; + let response = self.service.allocate_ids(request).await?; + + let response = response.into_inner(); + let keys = response.keys + .into_iter() + .map(|f| api::Key::into(f)) + .collect::>(); + + Ok(keys) + } + /// Gets an entity from a key. pub async fn get(&mut self, key: K) -> Result, Error> where From 2453d53455fedc6b74010cad79c6d1ea7e4689fa Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Wed, 2 Feb 2022 11:52:39 +0100 Subject: [PATCH 06/11] clear dependence --- google-cloud/src/datastore/query.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud/src/datastore/query.rs b/google-cloud/src/datastore/query.rs index 299b1aea..519bb876 100644 --- a/google-cloud/src/datastore/query.rs +++ b/google-cloud/src/datastore/query.rs @@ -1,4 +1,4 @@ -use crate::datastore::{Key, Value}; +use crate::datastore::Value; /// Represents Datastore query result orderings. #[derive(Debug, Clone, PartialEq)] From 50c22e8e5c3092ec490e9024ffd24fa2f50b8873 Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Wed, 2 Feb 2022 11:54:31 +0100 Subject: [PATCH 07/11] trx get ID & KEY --- google-cloud/src/datastore/transaction.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/google-cloud/src/datastore/transaction.rs b/google-cloud/src/datastore/transaction.rs index d3c43ea3..aa676d30 100644 --- a/google-cloud/src/datastore/transaction.rs +++ b/google-cloud/src/datastore/transaction.rs @@ -15,6 +15,16 @@ pub struct Transaction { } impl Transaction { + /// Returns the client using the transaction + pub fn get_client(self) -> Client { + self.client + } + + /// Returns the transaction key + pub fn get_tx_key(self) -> Vec { + self.tx_key + } + /// Create a new transaction pub fn new(client: Client, tx_key: Vec) -> Transaction { let project_name = client.clone().project_name; From 9b0fada86af9729d36afb39cede3b02409ea1a3b Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Wed, 9 Feb 2022 18:18:59 +0100 Subject: [PATCH 08/11] fix authentication rollback --- google-cloud/src/datastore/transaction.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/google-cloud/src/datastore/transaction.rs b/google-cloud/src/datastore/transaction.rs index aa676d30..f0b48739 100644 --- a/google-cloud/src/datastore/transaction.rs +++ b/google-cloud/src/datastore/transaction.rs @@ -142,12 +142,11 @@ impl Transaction { /// Execute transaction rollback pub async fn rollback(&mut self) -> Result<(), Error> { - self.client.service.rollback( - RollbackRequest { - project_id: self.client.project_name.to_owned(), - transaction: self.tx_key.to_vec() - } - ).await?; + let request = self.client.construct_request(RollbackRequest { + project_id: self.client.project_name.to_owned(), + transaction: self.tx_key.to_vec() + }).await?; + self.client.service.rollback(request).await?; Ok(()) } From 8b238fb2be4e4556067878e3329153f381ed0e6c Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Thu, 10 Feb 2022 16:40:41 +0100 Subject: [PATCH 09/11] fix NULL to OPTION --- google-cloud/src/datastore/client.rs | 20 ++++++++++++------- google-cloud/src/datastore/value.rs | 30 ++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/google-cloud/src/datastore/client.rs b/google-cloud/src/datastore/client.rs index bb383da8..36937987 100644 --- a/google-cloud/src/datastore/client.rs +++ b/google-cloud/src/datastore/client.rs @@ -455,8 +455,19 @@ pub(crate) fn convert_entity(project_name: &str, entity: Entity, index_excluded: } pub(crate) fn convert_value(project_name: &str, value: Value, index_excluded: bool) -> api::Value { - let value_type = match value { - Value::NULL(_) => api::value::ValueType::NullValue(0), + api::Value { + meaning: 0, + exclude_from_indexes: index_excluded, + value_type: Some(convert_value_type(project_name, value, index_excluded)), + } +} + +fn convert_value_type(project_name: &str, value: Value, index_excluded: bool) -> api::value::ValueType { + match value { + Value::OptionValue(val) => match val { + Some(v) => convert_value_type(project_name, *v, index_excluded), + None => api::value::ValueType::NullValue(0), + }, Value::BooleanValue(val) => api::value::ValueType::BooleanValue(val), Value::IntegerValue(val) => api::value::ValueType::IntegerValue(val), Value::DoubleValue(val) => api::value::ValueType::DoubleValue(val), @@ -486,11 +497,6 @@ pub(crate) fn convert_value(project_name: &str, value: Value, index_excluded: bo .map(|value| convert_value(project_name, value, index_excluded)) .collect(), }), - }; - api::Value { - meaning: 0, - exclude_from_indexes: index_excluded, - value_type: Some(value_type), } } diff --git a/google-cloud/src/datastore/value.rs b/google-cloud/src/datastore/value.rs index 37f78637..2d3da5d1 100644 --- a/google-cloud/src/datastore/value.rs +++ b/google-cloud/src/datastore/value.rs @@ -18,7 +18,7 @@ pub use google_cloud_derive::{FromValue, IntoValue}; #[derive(Debug, Clone, PartialEq)] pub enum Value { /// NULL - NULL(Option), + OptionValue(Option>), /// A boolean value (true or false). BooleanValue(bool), /// An integer value. @@ -45,7 +45,7 @@ impl Value { /// Gets the static name of the type of the value. pub fn type_name(&self) -> &'static str { match self { - Value::NULL(_) => "null", + Value::OptionValue(_) => "option", Value::BooleanValue(_) => "bool", Value::IntegerValue(_) => "integer", Value::DoubleValue(_) => "double", @@ -144,9 +144,17 @@ impl IntoValue for NaiveDateTime { } } -impl IntoValue for Option { +impl IntoValue for Option +where + T: IntoValue, +{ fn into_value(self) -> Value { - Value::NULL(None) + Value::OptionValue( + match self { + Some(x) => Some(Box::new(x.into_value())), + None => None + } + ) } } @@ -265,12 +273,18 @@ impl FromValue for NaiveDateTime { } } -impl FromValue for Option { +impl FromValue for Option +where + T: FromValue, +{ fn from_value(value: Value) -> Result, ConvertError> { match value { - Value::NULL(_) => Ok(None), + Value::OptionValue(ov) => match ov { + Some(val) => Ok(Some(FromValue::from_value(*val)?)), + None => Ok(None), + }, _ => Err(ConvertError::UnexpectedPropertyType { - expected: String::from("null"), + expected: String::from("option"), got: String::from(value.type_name()), }), } @@ -338,7 +352,7 @@ where impl From for Value { fn from(value: ValueType) -> Value { match value { - ValueType::NullValue(_) => Value::NULL(None), + ValueType::NullValue(_) => Value::OptionValue(None), ValueType::BooleanValue(val) => Value::BooleanValue(val), ValueType::IntegerValue(val) => Value::IntegerValue(val), ValueType::DoubleValue(val) => Value::DoubleValue(val), From 2d95c5086b437e6193080ae3ba8559772baf35c1 Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Fri, 11 Feb 2022 15:13:36 +0100 Subject: [PATCH 10/11] Fix Option Fromvalue --- google-cloud/src/datastore/value.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/google-cloud/src/datastore/value.rs b/google-cloud/src/datastore/value.rs index 2d3da5d1..a881fcb1 100644 --- a/google-cloud/src/datastore/value.rs +++ b/google-cloud/src/datastore/value.rs @@ -273,20 +273,14 @@ impl FromValue for NaiveDateTime { } } -impl FromValue for Option +impl FromValue for Option where T: FromValue, { fn from_value(value: Value) -> Result, ConvertError> { - match value { - Value::OptionValue(ov) => match ov { - Some(val) => Ok(Some(FromValue::from_value(*val)?)), - None => Ok(None), - }, - _ => Err(ConvertError::UnexpectedPropertyType { - expected: String::from("option"), - got: String::from(value.type_name()), - }), + match value.clone() { + Value::OptionValue(_) => Ok(None), + _ => Ok(Some(FromValue::from_value(value)?)), } } } From e1db528023033b67ae211ed9693c9a541827307a Mon Sep 17 00:00:00 2001 From: Pablo Torrijos Garrido Date: Sun, 30 Oct 2022 13:13:41 +0100 Subject: [PATCH 11/11] protoc version update --- google-cloud/Cargo.toml | 14 +- google-cloud/build.rs | 14 +- .../protos/google/actions/sdk/v2/BUILD.bazel | 105 + .../actions/sdk/v2/account_linking.proto | 126 + .../sdk/v2/account_linking_secret.proto | 35 + .../protos/google/actions/sdk/v2/action.proto | 103 + .../sdk/v2/actions_grpc_service_config.json | 16 + .../google/actions/sdk/v2/actions_sdk.proto | 436 + .../actions/sdk/v2/actions_testing.proto | 256 + .../google/actions/sdk/v2/actions_v2.yaml | 11 + .../google/actions/sdk/v2/config_file.proto | 112 + .../actions/sdk/v2/conversation/BUILD.bazel | 30 + .../actions/sdk/v2/conversation/intent.proto | 52 + .../sdk/v2/conversation/prompt/BUILD.bazel | 30 + .../conversation/prompt/content/BUILD.bazel | 37 + .../conversation/prompt/content/canvas.proto | 50 + .../v2/conversation/prompt/content/card.proto | 51 + .../prompt/content/collection.proto | 46 + .../conversation/prompt/content/content.proto | 57 + .../conversation/prompt/content/image.proto | 64 + .../v2/conversation/prompt/content/link.proto | 51 + .../v2/conversation/prompt/content/list.proto | 41 + .../conversation/prompt/content/media.proto | 97 + .../conversation/prompt/content/table.proto | 92 + .../sdk/v2/conversation/prompt/prompt.proto | 81 + .../sdk/v2/conversation/prompt/simple.proto | 38 + .../v2/conversation/prompt/suggestion.proto | 31 + .../actions/sdk/v2/conversation/scene.proto | 92 + .../google/actions/sdk/v2/data_file.proto | 59 + .../google/actions/sdk/v2/event_logs.proto | 246 + .../protos/google/actions/sdk/v2/files.proto | 40 + .../sdk/v2/interactionmodel/BUILD.bazel | 38 + .../interactionmodel/conditional_event.proto | 55 + .../sdk/v2/interactionmodel/entity_set.proto | 41 + .../v2/interactionmodel/event_handler.proto | 41 + .../global_intent_event.proto | 45 + .../sdk/v2/interactionmodel/intent.proto | 85 + .../v2/interactionmodel/intent_event.proto | 40 + .../v2/interactionmodel/prompt/BUILD.bazel | 32 + .../prompt/content/BUILD.bazel | 39 + .../prompt/content/static_canvas_prompt.proto | 54 + .../prompt/content/static_card_prompt.proto | 48 + .../static_collection_browse_prompt.proto | 56 + .../content/static_collection_prompt.proto | 59 + .../content/static_content_prompt.proto | 57 + .../prompt/content/static_image_prompt.proto | 63 + .../prompt/content/static_link_prompt.proto | 52 + .../prompt/content/static_list_prompt.proto | 55 + .../prompt/content/static_media_prompt.proto | 112 + .../prompt/content/static_table_prompt.proto | 93 + .../prompt/static_prompt.proto | 96 + .../prompt/static_simple_prompt.proto | 48 + .../interactionmodel/prompt/suggestion.proto | 33 + .../prompt/surface_capabilities.proto | 54 + .../sdk/v2/interactionmodel/scene.proto | 60 + .../sdk/v2/interactionmodel/slot.proto | 133 + .../sdk/v2/interactionmodel/type/BUILD.bazel | 33 + .../type/class_reference.proto | 36 + .../type/entity_display.proto | 35 + .../type/free_text_type.proto | 33 + .../type/regular_expression_type.proto | 44 + .../interactionmodel/type/synonym_type.proto | 66 + .../sdk/v2/interactionmodel/type/type.proto | 50 + .../actions/sdk/v2/localized_settings.proto | 92 + .../google/actions/sdk/v2/manifest.proto | 30 + .../actions/sdk/v2/release_channel.proto | 44 + .../google/actions/sdk/v2/settings.proto | 186 + .../google/actions/sdk/v2/surface.proto | 64 + .../actions/sdk/v2/theme_customization.proto | 83 + .../actions/sdk/v2/validation_results.proto | 46 + .../google/actions/sdk/v2/version.proto | 91 + .../google/actions/sdk/v2/webhook.proto | 82 + .../protos/google/actions/type/BUILD.bazel | 167 + .../google/actions/type/date_range.proto | 81 + .../google/actions/type/datetime_range.proto | 66 + .../protos/google/actions/type/type_aog.yaml | 21 + .../protos/google/ads/admob/BUILD.bazel | 1 + .../ads/admob/admob_grpc_service_config.json | 15 + .../protos/google/ads/admob/admob_v1.yaml | 23 + .../protos/google/ads/admob/v1/BUILD.bazel | 363 + .../google/ads/admob/v1/admob_api.proto | 224 + .../google/ads/admob/v1/admob_gapic.yaml | 150 + .../google/ads/admob/v1/admob_resources.proto | 610 + .../protos/google/ads/googleads/README.md | 32 +- .../protos/google/ads/googleads/base.yaml | 276 - .../ads/googleads/v1/common/ad_asset.proto | 64 - .../googleads/v1/common/ad_type_infos.proto | 573 - .../ads/googleads/v1/common/asset_types.proto | 82 - .../ads/googleads/v1/common/bidding.proto | 224 - .../googleads/v1/common/click_location.proto | 50 - .../ads/googleads/v1/common/criteria.proto | 606 - .../criterion_category_availability.proto | 88 - .../v1/common/custom_parameter.proto | 42 - .../ads/googleads/v1/common/dates.proto | 41 - .../explorer_auto_optimizer_setting.proto | 40 - .../ads/googleads/v1/common/extensions.proto | 353 - .../ads/googleads/v1/common/feed_common.proto | 41 - .../googleads/v1/common/final_app_url.proto | 49 - .../googleads/v1/common/frequency_cap.proto | 66 - .../v1/common/keyword_plan_common.proto | 43 - .../v1/common/matching_function.proto | 131 - .../ads/googleads/v1/common/metrics.proto | 542 - .../ads/googleads/v1/common/policy.proto | 220 - .../v1/common/real_time_bidding_setting.proto | 39 - .../ads/googleads/v1/common/segments.proto | 319 - .../ads/googleads/v1/common/simulation.proto | 160 - .../ads/googleads/v1/common/tag_snippet.proto | 53 - .../v1/common/targeting_setting.proto | 58 - .../ads/googleads/v1/common/text_label.proto | 42 - .../googleads/v1/common/url_collection.proto | 47 - .../ads/googleads/v1/common/user_lists.proto | 306 - .../ads/googleads/v1/common/value.proto | 52 - .../googleads/v1/enums/access_reason.proto | 56 - .../account_budget_proposal_status.proto | 62 - .../enums/account_budget_proposal_type.proto | 55 - .../v1/enums/account_budget_status.proto | 52 - .../ad_customizer_placeholder_field.proto | 55 - .../v1/enums/ad_group_ad_rotation_mode.proto | 52 - .../v1/enums/ad_group_ad_status.proto | 54 - .../ad_group_criterion_approval_status.proto | 55 - .../v1/enums/ad_group_criterion_status.proto | 54 - .../googleads/v1/enums/ad_group_status.proto | 54 - .../googleads/v1/enums/ad_group_type.proto | 83 - .../googleads/v1/enums/ad_network_type.proto | 61 - .../ad_serving_optimization_status.proto | 63 - .../ads/googleads/v1/enums/ad_strength.proto | 61 - .../ads/googleads/v1/enums/ad_type.proto | 103 - .../enums/advertising_channel_sub_type.proto | 86 - .../v1/enums/advertising_channel_type.proto | 63 - ...iate_location_feed_relationship_type.proto | 47 - ...affiliate_location_placeholder_field.proto | 76 - .../googleads/v1/enums/age_range_type.proto | 64 - .../v1/enums/app_campaign_app_store.proto | 49 - ..._campaign_bidding_strategy_goal_type.proto | 63 - .../v1/enums/app_payment_model_type.proto | 46 - .../v1/enums/app_placeholder_field.proto | 74 - .../ads/googleads/v1/enums/app_store.proto | 49 - .../enums/app_url_operating_system_type.proto | 49 - .../ads/googleads/v1/enums/asset_type.proto | 55 - .../v1/enums/attribution_model.proto | 71 - .../v1/enums/bid_modifier_source.proto | 50 - .../googleads/v1/enums/bidding_source.proto | 54 - .../v1/enums/bidding_strategy_status.proto | 51 - .../v1/enums/bidding_strategy_type.proto | 107 - .../v1/enums/billing_setup_status.proto | 57 - .../v1/enums/brand_safety_suitability.proto | 72 - .../v1/enums/budget_delivery_method.proto | 52 - .../googleads/v1/enums/budget_period.proto | 52 - .../googleads/v1/enums/budget_status.proto | 49 - .../ads/googleads/v1/enums/budget_type.proto | 65 - .../call_conversion_reporting_state.proto | 55 - .../v1/enums/call_placeholder_field.proto | 65 - .../v1/enums/callout_placeholder_field.proto | 46 - .../v1/enums/campaign_criterion_status.proto | 56 - .../v1/enums/campaign_draft_status.proto | 66 - .../v1/enums/campaign_experiment_status.proto | 78 - ...mpaign_experiment_traffic_split_type.proto | 54 - .../v1/enums/campaign_experiment_type.proto | 58 - .../v1/enums/campaign_serving_status.proto | 60 - .../v1/enums/campaign_shared_set_status.proto | 49 - .../googleads/v1/enums/campaign_status.proto | 52 - .../v1/enums/change_status_operation.proto | 53 - .../enums/change_status_resource_type.proto | 75 - .../ads/googleads/v1/enums/click_type.proto | 202 - .../v1/enums/content_label_type.proto | 88 - .../v1/enums/conversion_action_category.proto | 60 - .../conversion_action_counting_type.proto | 51 - .../v1/enums/conversion_action_status.proto | 53 - .../v1/enums/conversion_action_type.proto | 72 - .../v1/enums/conversion_adjustment_type.proto | 51 - .../conversion_attribution_event_type.proto | 47 - .../v1/enums/conversion_lag_bucket.proto | 116 - .../conversion_or_adjustment_lag_bucket.proto | 205 - ...n_category_channel_availability_mode.proto | 57 - ...on_category_locale_availability_mode.proto | 60 - .../criterion_system_serving_status.proto | 49 - .../googleads/v1/enums/criterion_type.proto | 133 - .../enums/custom_interest_member_type.proto | 49 - .../v1/enums/custom_interest_status.proto | 50 - .../v1/enums/custom_interest_type.proto | 49 - .../v1/enums/custom_placeholder_field.proto | 128 - .../customer_match_upload_key_type.proto | 52 - ...onversion_eligibility_failure_reason.proto | 67 - .../v1/enums/data_driven_model_status.proto | 61 - .../ads/googleads/v1/enums/day_of_week.proto | 64 - .../ads/googleads/v1/enums/device.proto | 58 - .../v1/enums/display_ad_format_setting.proto | 53 - .../enums/display_upload_product_type.proto | 96 - .../enums/dsa_page_feed_criterion_field.proto | 50 - .../enums/education_placeholder_field.proto | 110 - .../v1/enums/extension_setting_device.proto | 51 - .../googleads/v1/enums/extension_type.proto | 80 - .../v1/enums/external_conversion_source.proto | 129 - .../v1/enums/feed_attribute_type.proto | 82 - .../feed_item_quality_approval_status.proto | 51 - ...feed_item_quality_disapproval_reason.proto | 98 - .../googleads/v1/enums/feed_item_status.proto | 49 - .../v1/enums/feed_item_target_device.proto | 47 - .../v1/enums/feed_item_target_type.proto | 52 - .../enums/feed_item_validation_status.proto | 52 - .../googleads/v1/enums/feed_link_status.proto | 49 - .../enums/feed_mapping_criterion_type.proto | 49 - .../v1/enums/feed_mapping_status.proto | 49 - .../ads/googleads/v1/enums/feed_origin.proto | 52 - .../ads/googleads/v1/enums/feed_status.proto | 49 - .../v1/enums/flight_placeholder_field.proto | 117 - .../v1/enums/frequency_cap_event_type.proto | 49 - .../v1/enums/frequency_cap_level.proto | 53 - .../v1/enums/frequency_cap_time_unit.proto | 52 - .../ads/googleads/v1/enums/gender_type.proto | 52 - .../v1/enums/geo_target_constant_status.proto | 51 - .../v1/enums/geo_targeting_restriction.proto | 48 - .../v1/enums/geo_targeting_type.proto | 49 - .../v1/enums/google_ads_field_category.proto | 60 - .../v1/enums/google_ads_field_data_type.proto | 101 - .../v1/enums/hotel_date_selection_type.proto | 49 - .../v1/enums/hotel_placeholder_field.proto | 123 - .../googleads/v1/enums/hotel_rate_type.proto | 63 - .../v1/enums/income_range_type.proto | 64 - .../v1/enums/interaction_event_type.proto | 61 - .../googleads/v1/enums/interaction_type.proto | 46 - .../v1/enums/job_placeholder_field.proto | 114 - .../v1/enums/keyword_match_type.proto | 52 - .../keyword_plan_competition_level.proto | 56 - .../keyword_plan_forecast_interval.proto | 55 - .../v1/enums/keyword_plan_network.proto | 49 - .../ads/googleads/v1/enums/label_status.proto | 47 - .../legacy_app_install_ad_app_store.proto | 58 - .../listing_custom_attribute_index.proto | 58 - .../v1/enums/listing_group_type.proto | 51 - .../v1/enums/local_placeholder_field.proto | 118 - ..._extension_targeting_criterion_field.proto | 61 - .../enums/location_group_radius_units.proto | 49 - .../v1/enums/location_placeholder_field.proto | 67 - .../v1/enums/manager_link_status.proto | 58 - .../matching_function_context_type.proto | 49 - .../v1/enums/matching_function_operator.proto | 64 - .../ads/googleads/v1/enums/media_type.proto | 63 - .../enums/merchant_center_link_status.proto | 52 - .../v1/enums/message_placeholder_field.proto | 60 - .../ads/googleads/v1/enums/mime_type.proto | 81 - .../googleads/v1/enums/minute_of_hour.proto | 55 - .../v1/enums/mobile_device_type.proto | 49 - .../googleads/v1/enums/month_of_year.proto | 79 - .../v1/enums/mutate_job_status.proto | 52 - .../v1/enums/negative_geo_target_type.proto | 51 - ...erating_system_version_operator_type.proto | 49 - .../page_one_promoted_strategy_goal.proto | 50 - .../v1/enums/parental_status_type.proto | 52 - .../ads/googleads/v1/enums/payment_mode.proto | 58 - .../googleads/v1/enums/placeholder_type.proto | 120 - .../googleads/v1/enums/placement_type.proto | 58 - .../v1/enums/policy_approval_status.proto | 60 - .../v1/enums/policy_review_status.proto | 55 - .../v1/enums/policy_topic_entry_type.proto | 65 - ...idence_destination_mismatch_url_type.proto | 61 - ...dence_destination_not_working_device.proto | 56 - .../v1/enums/positive_geo_target_type.proto | 55 - .../v1/enums/preferred_content_type.proto | 46 - .../price_extension_price_qualifier.proto | 52 - .../v1/enums/price_extension_price_unit.proto | 61 - .../v1/enums/price_extension_type.proto | 70 - .../v1/enums/price_placeholder_field.proto | 239 - .../product_bidding_category_level.proto | 56 - .../product_bidding_category_status.proto | 49 - .../googleads/v1/enums/product_channel.proto | 49 - .../enums/product_channel_exclusivity.proto | 51 - .../v1/enums/product_condition.proto | 52 - .../v1/enums/product_type_level.proto | 58 - ...romotion_extension_discount_modifier.proto | 47 - .../enums/promotion_extension_occasion.proto | 156 - .../enums/promotion_placeholder_field.proto | 94 - .../v1/enums/proximity_radius_units.proto | 49 - .../v1/enums/quality_score_bucket.proto | 52 - .../enums/real_estate_placeholder_field.proto | 114 - .../v1/enums/recommendation_type.proto | 91 - .../search_engine_results_page_type.proto | 53 - .../v1/enums/search_term_match_type.proto | 58 - .../enums/search_term_targeting_status.proto | 57 - .../v1/enums/served_asset_field_type.proto | 60 - .../v1/enums/shared_set_status.proto | 49 - .../googleads/v1/enums/shared_set_type.proto | 49 - .../simulation_modification_method.proto | 53 - .../googleads/v1/enums/simulation_type.proto | 55 - .../v1/enums/sitelink_placeholder_field.proto | 68 - .../google/ads/googleads/v1/enums/slot.proto | 64 - .../v1/enums/spending_limit_type.proto | 47 - ...structured_snippet_placeholder_field.proto | 55 - .../enums/system_managed_entity_source.proto | 46 - ...arget_cpa_opt_in_recommendation_goal.proto | 56 - .../target_impression_share_location.proto | 54 - .../v1/enums/targeting_dimension.proto | 73 - .../ads/googleads/v1/enums/time_type.proto | 50 - .../v1/enums/tracking_code_page_format.proto | 49 - .../v1/enums/tracking_code_type.proto | 54 - .../v1/enums/travel_placeholder_field.proto | 127 - .../enums/user_interest_taxonomy_type.proto | 58 - .../v1/enums/user_list_access_status.proto | 49 - .../v1/enums/user_list_closing_reason.proto | 47 - .../user_list_combined_rule_operator.proto | 47 - .../user_list_crm_data_source_type.proto | 50 - .../user_list_date_rule_item_operator.proto | 53 - .../user_list_logical_rule_operator.proto | 50 - .../enums/user_list_membership_status.proto | 51 - .../user_list_number_rule_item_operator.proto | 59 - .../user_list_prepopulation_status.proto | 50 - .../v1/enums/user_list_rule_type.proto | 47 - .../v1/enums/user_list_size_range.proto | 91 - .../user_list_string_rule_item_operator.proto | 65 - .../googleads/v1/enums/user_list_type.proto | 62 - .../vanity_pharma_display_url_mode.proto | 49 - .../v1/enums/vanity_pharma_text.proto | 86 - .../v1/enums/webpage_condition_operand.proto | 58 - .../v1/enums/webpage_condition_operator.proto | 50 - .../account_budget_proposal_error.proto | 113 - .../v1/errors/ad_customizer_error.proto | 58 - .../ads/googleads/v1/errors/ad_error.proto | 453 - .../v1/errors/ad_group_ad_error.proto | 69 - .../errors/ad_group_bid_modifier_error.proto | 50 - .../v1/errors/ad_group_criterion_error.proto | 164 - .../googleads/v1/errors/ad_group_error.proto | 82 - .../v1/errors/ad_group_feed_error.proto | 66 - .../v1/errors/ad_parameter_error.proto | 49 - .../v1/errors/ad_sharing_error.proto | 53 - .../ads/googleads/v1/errors/adx_error.proto | 46 - .../ads/googleads/v1/errors/asset_error.proto | 60 - .../v1/errors/authentication_error.proto | 102 - .../v1/errors/authorization_error.proto | 81 - .../googleads/v1/errors/bidding_error.proto | 118 - .../v1/errors/bidding_strategy_error.proto | 60 - .../v1/errors/billing_setup_error.proto | 100 - .../v1/errors/campaign_budget_error.proto | 93 - .../v1/errors/campaign_criterion_error.proto | 80 - .../v1/errors/campaign_draft_error.proto | 80 - .../googleads/v1/errors/campaign_error.proto | 174 - .../v1/errors/campaign_experiment_error.proto | 82 - .../v1/errors/campaign_feed_error.proto | 62 - .../v1/errors/campaign_shared_set_error.proto | 46 - .../v1/errors/change_status_error.proto | 46 - .../v1/errors/collection_size_error.proto | 49 - .../googleads/v1/errors/context_error.proto | 49 - .../v1/errors/conversion_action_error.proto | 74 - .../conversion_adjustment_upload_error.proto | 79 - .../v1/errors/conversion_upload_error.proto | 131 - .../v1/errors/country_code_error.proto | 46 - .../googleads/v1/errors/criterion_error.proto | 368 - .../v1/errors/custom_interest_error.proto | 65 - .../errors/customer_client_link_error.proto | 64 - .../googleads/v1/errors/customer_error.proto | 50 - .../v1/errors/customer_feed_error.proto | 65 - .../errors/customer_manager_link_error.proto | 70 - .../googleads/v1/errors/database_error.proto | 47 - .../ads/googleads/v1/errors/date_error.proto | 73 - .../v1/errors/date_range_error.proto | 58 - .../googleads/v1/errors/distinct_error.proto | 49 - .../ads/googleads/v1/errors/enum_error.proto | 46 - .../ads/googleads/v1/errors/errors.proto | 556 - .../v1/errors/extension_feed_item_error.proto | 187 - .../v1/errors/extension_setting_error.proto | 256 - .../feed_attribute_reference_error.proto | 52 - .../ads/googleads/v1/errors/feed_error.proto | 104 - .../googleads/v1/errors/feed_item_error.proto | 70 - .../v1/errors/feed_item_target_error.proto | 63 - .../errors/feed_item_validation_error.proto | 346 - .../v1/errors/feed_mapping_error.proto | 96 - .../ads/googleads/v1/errors/field_error.proto | 64 - .../v1/errors/field_mask_error.proto | 57 - .../googleads/v1/errors/function_error.proto | 92 - .../v1/errors/function_parsing_error.proto | 76 - ...geo_target_constant_suggestion_error.proto | 55 - .../googleads/v1/errors/header_error.proto | 46 - .../ads/googleads/v1/errors/id_error.proto | 46 - .../ads/googleads/v1/errors/image_error.proto | 155 - .../googleads/v1/errors/internal_error.proto | 54 - .../errors/keyword_plan_ad_group_error.proto | 52 - .../errors/keyword_plan_campaign_error.proto | 61 - .../v1/errors/keyword_plan_error.proto | 90 - .../v1/errors/keyword_plan_idea_error.proto | 49 - .../errors/keyword_plan_keyword_error.proto | 64 - .../keyword_plan_negative_keyword_error.proto | 45 - .../ads/googleads/v1/errors/label_error.proto | 72 - .../v1/errors/language_code_error.proto | 49 - .../v1/errors/list_operation_error.proto | 49 - .../v1/errors/manager_link_error.proto | 88 - .../v1/errors/media_bundle_error.proto | 109 - .../v1/errors/media_file_error.proto | 112 - .../v1/errors/media_upload_error.proto | 55 - .../v1/errors/multiplier_error.proto | 80 - .../googleads/v1/errors/mutate_error.proto | 62 - .../v1/errors/mutate_job_error.proto | 59 - .../errors/new_resource_creation_error.proto | 53 - .../googleads/v1/errors/not_empty_error.proto | 46 - .../v1/errors/not_whitelisted_error.proto | 48 - .../ads/googleads/v1/errors/null_error.proto | 46 - .../operation_access_denied_error.proto | 73 - .../googleads/v1/errors/operator_error.proto | 46 - .../v1/errors/partial_failure_error.proto | 47 - .../v1/errors/policy_finding_error.proto | 50 - .../policy_validation_parameter_error.proto | 54 - .../v1/errors/policy_violation_error.proto | 46 - .../ads/googleads/v1/errors/query_error.proto | 213 - .../ads/googleads/v1/errors/quota_error.proto | 52 - .../ads/googleads/v1/errors/range_error.proto | 49 - .../v1/errors/recommendation_error.proto | 89 - .../v1/errors/region_code_error.proto | 46 - .../googleads/v1/errors/request_error.proto | 100 - .../errors/resource_access_denied_error.proto | 46 - .../resource_count_limit_exceeded_error.proto | 87 - .../googleads/v1/errors/setting_error.proto | 106 - .../v1/errors/shared_criterion_error.proto | 46 - .../v1/errors/shared_set_error.proto | 55 - .../v1/errors/size_limit_error.proto | 49 - .../v1/errors/string_format_error.proto | 49 - .../v1/errors/string_length_error.proto | 49 - .../googleads/v1/errors/url_field_error.proto | 214 - .../googleads/v1/errors/user_list_error.proto | 128 - .../youtube_video_registration_error.proto | 49 - .../v1/resources/account_budget.proto | 241 - .../resources/account_budget_proposal.proto | 148 - .../ads/googleads/v1/resources/ad.proto | 166 - .../ads/googleads/v1/resources/ad_group.proto | 154 - .../googleads/v1/resources/ad_group_ad.proto | 78 - .../v1/resources/ad_group_ad_label.proto | 46 - .../v1/resources/ad_group_audience_view.proto | 43 - .../v1/resources/ad_group_bid_modifier.proto | 91 - .../v1/resources/ad_group_criterion.proto | 253 - .../resources/ad_group_criterion_label.proto | 47 - .../ad_group_criterion_simulation.proto | 75 - .../ad_group_extension_setting.proto | 65 - .../v1/resources/ad_group_feed.proto | 64 - .../v1/resources/ad_group_label.proto | 46 - .../v1/resources/ad_group_simulation.proto | 87 - .../googleads/v1/resources/ad_parameter.proto | 68 - .../v1/resources/ad_schedule_view.proto | 41 - .../v1/resources/age_range_view.proto | 40 - .../ads/googleads/v1/resources/asset.proto | 68 - .../v1/resources/bidding_strategy.proto | 112 - .../v1/resources/billing_setup.proto | 125 - .../ads/googleads/v1/resources/campaign.proto | 360 - .../v1/resources/campaign_audience_view.proto | 45 - .../v1/resources/campaign_bid_modifier.proto | 59 - .../v1/resources/campaign_budget.proto | 151 - .../v1/resources/campaign_criterion.proto | 153 - .../campaign_criterion_simulation.proto | 76 - .../v1/resources/campaign_draft.proto | 78 - .../v1/resources/campaign_experiment.proto | 101 - .../campaign_extension_setting.proto | 65 - .../v1/resources/campaign_feed.proto | 64 - .../v1/resources/campaign_label.proto | 46 - .../v1/resources/campaign_shared_set.proto | 58 - .../v1/resources/carrier_constant.proto | 51 - .../v1/resources/change_status.proto | 86 - .../googleads/v1/resources/click_view.proto | 58 - .../v1/resources/conversion_action.proto | 139 - .../v1/resources/custom_interest.proto | 82 - .../ads/googleads/v1/resources/customer.proto | 128 - .../v1/resources/customer_client.proto | 56 - .../v1/resources/customer_client_link.proto | 57 - .../customer_extension_setting.proto | 57 - .../v1/resources/customer_feed.proto | 61 - .../v1/resources/customer_label.proto | 52 - .../v1/resources/customer_manager_link.proto | 52 - .../customer_negative_criterion.proto | 73 - .../v1/resources/detail_placement_view.proto | 63 - .../v1/resources/display_keyword_view.proto | 40 - .../v1/resources/domain_category.proto | 76 - .../dynamic_search_ads_search_term_view.proto | 62 - .../expanded_landing_page_view.proto | 46 - .../v1/resources/extension_feed_item.proto | 127 - .../ads/googleads/v1/resources/feed.proto | 182 - .../googleads/v1/resources/feed_item.proto | 206 - .../v1/resources/feed_item_target.proto | 76 - .../googleads/v1/resources/feed_mapping.proto | 195 - .../v1/resources/feed_placeholder_view.proto | 45 - .../googleads/v1/resources/gender_view.proto | 40 - .../v1/resources/geo_target_constant.proto | 62 - .../v1/resources/geographic_view.proto | 55 - .../v1/resources/google_ads_field.proto | 109 - .../v1/resources/group_placement_view.proto | 58 - .../v1/resources/hotel_group_view.proto | 40 - .../v1/resources/hotel_performance_view.proto | 40 - .../googleads/v1/resources/keyword_plan.proto | 72 - .../v1/resources/keyword_plan_ad_group.proto | 59 - .../v1/resources/keyword_plan_campaign.proto | 84 - .../v1/resources/keyword_plan_keyword.proto | 60 - .../keyword_plan_negative_keyword.proto | 57 - .../googleads/v1/resources/keyword_view.proto | 40 - .../ads/googleads/v1/resources/label.proto | 56 - .../v1/resources/landing_page_view.proto | 46 - .../v1/resources/language_constant.proto | 54 - .../v1/resources/location_view.proto | 41 - .../v1/resources/managed_placement_view.proto | 41 - .../googleads/v1/resources/media_file.proto | 114 - .../v1/resources/merchant_center_link.proto | 55 - .../mobile_app_category_constant.proto | 47 - .../v1/resources/mobile_device_constant.proto | 57 - .../googleads/v1/resources/mutate_job.proto | 84 - .../operating_system_version_constant.proto | 64 - .../paid_organic_search_term_view.proto | 46 - .../v1/resources/parental_status_view.proto | 40 - .../v1/resources/payments_account.proto | 60 - .../product_bidding_category_constant.proto | 70 - .../v1/resources/product_group_view.proto | 40 - .../v1/resources/recommendation.proto | 292 - .../v1/resources/remarketing_action.proto | 56 - .../v1/resources/search_term_view.proto | 55 - .../v1/resources/shared_criterion.proto | 78 - .../googleads/v1/resources/shared_set.proto | 67 - .../resources/shopping_performance_view.proto | 44 - .../v1/resources/topic_constant.proto | 59 - .../googleads/v1/resources/topic_view.proto | 40 - .../v1/resources/user_interest.proto | 63 - .../googleads/v1/resources/user_list.proto | 165 - .../ads/googleads/v1/resources/video.proto | 53 - .../account_budget_proposal_service.proto | 128 - .../v1/services/account_budget_service.proto | 52 - .../services/ad_group_ad_label_service.proto | 117 - .../v1/services/ad_group_ad_service.proto | 126 - .../ad_group_audience_view_service.proto | 49 - .../ad_group_bid_modifier_service.proto | 125 - .../ad_group_criterion_label_service.proto | 117 - .../services/ad_group_criterion_service.proto | 135 - ...d_group_criterion_simulation_service.proto | 50 - .../ad_group_extension_setting_service.proto | 127 - .../v1/services/ad_group_feed_service.proto | 123 - .../v1/services/ad_group_label_service.proto | 116 - .../v1/services/ad_group_service.proto | 120 - .../ad_group_simulation_service.proto | 50 - .../v1/services/ad_parameter_service.proto | 124 - .../services/ad_schedule_view_service.proto | 50 - .../v1/services/age_range_view_service.proto | 50 - .../googleads/v1/services/asset_service.proto | 93 - .../services/bidding_strategy_service.proto | 124 - .../v1/services/billing_setup_service.proto | 106 - .../campaign_audience_view_service.proto | 50 - .../campaign_bid_modifier_service.proto | 124 - .../v1/services/campaign_budget_service.proto | 123 - .../services/campaign_criterion_service.proto | 122 - ...ampaign_criterion_simulation_service.proto | 50 - .../v1/services/campaign_draft_service.proto | 181 - .../campaign_experiment_service.proto | 265 - .../campaign_extension_setting_service.proto | 127 - .../v1/services/campaign_feed_service.proto | 123 - .../v1/services/campaign_label_service.proto | 116 - .../v1/services/campaign_service.proto | 122 - .../campaign_shared_set_service.proto | 116 - .../services/carrier_constant_service.proto | 50 - .../v1/services/change_status_service.proto | 50 - .../v1/services/click_view_service.proto | 50 - .../services/conversion_action_service.proto | 125 - ...conversion_adjustment_upload_service.proto | 166 - .../services/conversion_upload_service.proto | 224 - .../v1/services/custom_interest_service.proto | 104 - .../customer_client_link_service.proto | 96 - .../v1/services/customer_client_service.proto | 50 - .../customer_extension_setting_service.proto | 126 - .../v1/services/customer_feed_service.proto | 123 - .../v1/services/customer_label_service.proto | 116 - .../customer_manager_link_service.proto | 96 - .../customer_negative_criterion_service.proto | 114 - .../v1/services/customer_service.proto | 142 - .../detail_placement_view_service.proto | 50 - .../display_keyword_view_service.proto | 50 - .../v1/services/domain_category_service.proto | 50 - ..._search_ads_search_term_view_service.proto | 52 - .../expanded_landing_page_view_service.proto | 51 - .../extension_feed_item_service.proto | 112 - .../v1/services/feed_item_service.proto | 123 - .../services/feed_item_target_service.proto | 98 - .../v1/services/feed_mapping_service.proto | 115 - .../feed_placeholder_view_service.proto | 50 - .../googleads/v1/services/feed_service.proto | 121 - .../v1/services/gender_view_service.proto | 50 - .../geo_target_constant_service.proto | 124 - .../v1/services/geographic_view_service.proto | 50 - .../services/google_ads_field_service.proto | 91 - .../v1/services/google_ads_service.proto | 880 - .../group_placement_view_service.proto | 50 - .../services/hotel_group_view_service.proto | 50 - .../hotel_performance_view_service.proto | 50 - .../keyword_plan_ad_group_service.proto | 125 - .../keyword_plan_campaign_service.proto | 125 - .../services/keyword_plan_idea_service.proto | 117 - .../keyword_plan_keyword_service.proto | 125 - ...eyword_plan_negative_keyword_service.proto | 129 - .../v1/services/keyword_plan_service.proto | 248 - .../v1/services/keyword_view_service.proto | 50 - .../googleads/v1/services/label_service.proto | 118 - .../services/landing_page_view_service.proto | 51 - .../services/language_constant_service.proto | 50 - .../v1/services/location_view_service.proto | 50 - .../managed_placement_view_service.proto | 50 - .../v1/services/media_file_service.proto | 108 - .../merchant_center_link_service.proto | 126 - ...mobile_app_category_constant_service.proto | 48 - .../mobile_device_constant_service.proto | 50 - .../v1/services/mutate_job_service.proto | 193 - ...ting_system_version_constant_service.proto | 52 - ...aid_organic_search_term_view_service.proto | 50 - .../parental_status_view_service.proto | 50 - .../services/payments_account_service.proto | 60 - ...ct_bidding_category_constant_service.proto | 52 - .../services/product_group_view_service.proto | 50 - .../v1/services/recommendation_service.proto | 254 - .../services/remarketing_action_service.proto | 117 - .../services/search_term_view_service.proto | 50 - .../services/shared_criterion_service.proto | 115 - .../v1/services/shared_set_service.proto | 122 - .../shopping_performance_view_service.proto | 50 - .../v1/services/topic_constant_service.proto | 50 - .../v1/services/topic_view_service.proto | 50 - .../v1/services/user_interest_service.proto | 50 - .../v1/services/user_list_service.proto | 122 - .../googleads/v1/services/video_service.proto | 50 - .../google/ads/googleads/v10/BUILD.bazel | 266 + .../ads/googleads/v10/common/BUILD.bazel | 94 + .../ads/googleads/v10/common/ad_asset.proto | 74 + .../googleads/v10/common/ad_type_infos.proto | 796 + .../googleads/v10/common/asset_policy.proto | 45 + .../googleads/v10/common/asset_types.proto | 979 + .../googleads/v10/common/asset_usage.proto | 39 + .../ads/googleads/v10/common/audiences.proto | 173 + .../ads/googleads/v10/common/bidding.proto | 199 + .../googleads/v10/common/click_location.proto | 46 + .../ads/googleads/v10/common/criteria.proto | 696 + .../criterion_category_availability.proto | 81 + .../v10/common/custom_parameter.proto | 38 + .../v10/common/customizer_value.proto | 44 + .../ads/googleads/v10/common/dates.proto | 58 + .../explorer_auto_optimizer_setting.proto | 36 + .../ads/googleads/v10/common/extensions.proto | 367 + .../googleads/v10/common/feed_common.proto | 37 + .../feed_item_set_filter_type_infos.proto | 57 + .../googleads/v10/common/final_app_url.proto | 45 + .../googleads/v10/common/frequency_cap.proto | 60 + .../v10/common/keyword_plan_common.proto | 148 + .../v10/common/matching_function.proto | 125 + .../googleads/v10/common/metric_goal.proto | 42 + .../ads/googleads/v10/common/metrics.proto | 632 + .../v10/common/offline_user_data.proto | 295 + .../ads/googleads/v10/common/policy.proto | 219 + .../googleads/v10/common/policy_summary.proto | 45 + .../common/real_time_bidding_setting.proto | 35 + .../ads/googleads/v10/common/segments.proto | 392 + .../ads/googleads/v10/common/simulation.proto | 356 + .../googleads/v10/common/tag_snippet.proto | 49 + .../v10/common/targeting_setting.proto | 84 + .../ads/googleads/v10/common/text_label.proto | 38 + .../googleads/v10/common/url_collection.proto | 43 + .../ads/googleads/v10/common/user_lists.proto | 290 + .../ads/googleads/v10/common/value.proto | 49 + .../ads/googleads/v10/enums/BUILD.bazel | 89 + .../v10/enums/access_invitation_status.proto | 53 + .../googleads/v10/enums/access_reason.proto | 55 + .../ads/googleads/v10/enums/access_role.proto | 53 + .../account_budget_proposal_status.proto | 61 + .../enums/account_budget_proposal_type.proto | 54 + .../v10/enums/account_budget_status.proto | 51 + .../v10/enums/account_link_status.proto | 61 + .../ad_customizer_placeholder_field.proto | 54 + .../v10/enums/ad_destination_type.proto | 75 + .../v10/enums/ad_group_ad_rotation_mode.proto | 51 + .../v10/enums/ad_group_ad_status.proto | 53 + .../ad_group_criterion_approval_status.proto | 54 + .../v10/enums/ad_group_criterion_status.proto | 53 + .../googleads/v10/enums/ad_group_status.proto | 53 + .../googleads/v10/enums/ad_group_type.proto | 94 + .../googleads/v10/enums/ad_network_type.proto | 60 + .../ad_serving_optimization_status.proto | 62 + .../ads/googleads/v10/enums/ad_strength.proto | 60 + .../ads/googleads/v10/enums/ad_type.proto | 135 + .../enums/advertising_channel_sub_type.proto | 100 + .../v10/enums/advertising_channel_type.proto | 77 + ...iate_location_feed_relationship_type.proto | 46 + ...affiliate_location_placeholder_field.proto | 75 + .../googleads/v10/enums/age_range_type.proto | 63 + .../v10/enums/app_campaign_app_store.proto | 48 + ..._campaign_bidding_strategy_goal_type.proto | 68 + .../v10/enums/app_payment_model_type.proto | 45 + .../v10/enums/app_placeholder_field.proto | 73 + .../ads/googleads/v10/enums/app_store.proto | 48 + .../enums/app_url_operating_system_type.proto | 48 + .../v10/enums/asset_field_type.proto | 115 + .../v10/enums/asset_group_status.proto | 51 + .../v10/enums/asset_link_status.proto | 51 + .../v10/enums/asset_performance_label.proto | 60 + .../v10/enums/asset_set_asset_status.proto | 49 + .../v10/enums/asset_set_link_status.proto | 50 + .../v10/enums/asset_set_status.proto | 49 + .../googleads/v10/enums/asset_set_type.proto | 72 + .../ads/googleads/v10/enums/asset_type.proto | 117 + .../v10/enums/async_action_status.proto | 57 + .../v10/enums/attribution_model.proto | 70 + .../googleads/v10/enums/audience_status.proto | 49 + .../v10/enums/batch_job_status.proto | 51 + .../v10/enums/bid_modifier_source.proto | 49 + .../googleads/v10/enums/bidding_source.proto | 53 + .../v10/enums/bidding_strategy_status.proto | 50 + .../v10/enums/bidding_strategy_type.proto | 117 + .../v10/enums/billing_setup_status.proto | 56 + .../v10/enums/brand_safety_suitability.proto | 71 + .../budget_campaign_association_status.proto | 49 + .../v10/enums/budget_delivery_method.proto | 51 + .../googleads/v10/enums/budget_period.proto | 51 + .../googleads/v10/enums/budget_status.proto | 48 + .../ads/googleads/v10/enums/budget_type.proto | 71 + .../call_conversion_reporting_state.proto | 54 + .../v10/enums/call_placeholder_field.proto | 64 + .../v10/enums/call_to_action_type.proto | 69 + .../call_tracking_display_location.proto | 48 + .../ads/googleads/v10/enums/call_type.proto | 49 + .../v10/enums/callout_placeholder_field.proto | 45 + .../v10/enums/campaign_criterion_status.proto | 53 + .../v10/enums/campaign_draft_status.proto | 63 + .../enums/campaign_experiment_status.proto | 75 + ...mpaign_experiment_traffic_split_type.proto | 51 + .../v10/enums/campaign_experiment_type.proto | 57 + .../v10/enums/campaign_group_status.proto | 48 + .../v10/enums/campaign_serving_status.proto | 59 + .../enums/campaign_shared_set_status.proto | 48 + .../googleads/v10/enums/campaign_status.proto | 51 + .../v10/enums/change_client_type.proto | 85 + .../enums/change_event_resource_type.proto | 101 + .../v10/enums/change_status_operation.proto | 52 + .../enums/change_status_resource_type.proto | 92 + .../ads/googleads/v10/enums/click_type.proto | 204 + .../v10/enums/combined_audience_status.proto | 49 + .../v10/enums/content_label_type.proto | 87 + .../enums/conversion_action_category.proto | 114 + .../conversion_action_counting_type.proto | 50 + .../v10/enums/conversion_action_status.proto | 52 + .../v10/enums/conversion_action_type.proto | 172 + .../enums/conversion_adjustment_type.proto | 54 + .../conversion_attribution_event_type.proto | 46 + .../conversion_custom_variable_status.proto | 56 + .../enums/conversion_environment_enum.proto | 47 + .../v10/enums/conversion_lag_bucket.proto | 115 + .../conversion_or_adjustment_lag_bucket.proto | 204 + .../v10/enums/conversion_origin.proto | 65 + .../conversion_tracking_status_enum.proto | 56 + ...version_value_rule_primary_dimension.proto | 64 + .../conversion_value_rule_set_status.proto | 53 + .../enums/conversion_value_rule_status.proto | 51 + ...n_category_channel_availability_mode.proto | 56 + ...on_category_locale_availability_mode.proto | 59 + .../criterion_system_serving_status.proto | 48 + .../googleads/v10/enums/criterion_type.proto | 144 + .../enums/custom_audience_member_type.proto | 54 + .../v10/enums/custom_audience_status.proto | 49 + .../v10/enums/custom_audience_type.proto | 56 + .../enums/custom_conversion_goal_status.proto | 48 + .../enums/custom_interest_member_type.proto | 48 + .../v10/enums/custom_interest_status.proto | 49 + .../v10/enums/custom_interest_type.proto | 48 + .../v10/enums/custom_placeholder_field.proto | 127 + .../customer_match_upload_key_type.proto | 51 + ...onversion_eligibility_failure_reason.proto | 66 + .../googleads/v10/enums/customer_status.proto | 56 + .../enums/customizer_attribute_status.proto | 48 + .../v10/enums/customizer_attribute_type.proto | 54 + .../v10/enums/customizer_value_status.proto | 48 + .../v10/enums/data_driven_model_status.proto | 60 + .../ads/googleads/v10/enums/day_of_week.proto | 63 + .../ads/googleads/v10/enums/device.proto | 57 + .../v10/enums/display_ad_format_setting.proto | 52 + .../enums/display_upload_product_type.proto | 95 + .../googleads/v10/enums/distance_bucket.proto | 125 + .../enums/dsa_page_feed_criterion_field.proto | 49 + .../enums/education_placeholder_field.proto | 109 + .../v10/enums/experiment_metric.proto | 81 + .../enums/experiment_metric_direction.proto | 59 + .../v10/enums/experiment_status.proto | 65 + .../googleads/v10/enums/experiment_type.proto | 75 + .../v10/enums/extension_setting_device.proto | 50 + .../googleads/v10/enums/extension_type.proto | 82 + .../enums/external_conversion_source.proto | 153 + .../v10/enums/feed_attribute_type.proto | 81 + .../feed_item_quality_approval_status.proto | 50 + ...feed_item_quality_disapproval_reason.proto | 97 + .../v10/enums/feed_item_set_status.proto | 48 + .../feed_item_set_string_filter_type.proto | 43 + .../v10/enums/feed_item_status.proto | 48 + .../v10/enums/feed_item_target_device.proto | 46 + .../v10/enums/feed_item_target_status.proto | 48 + .../v10/enums/feed_item_target_type.proto | 51 + .../enums/feed_item_validation_status.proto | 51 + .../v10/enums/feed_link_status.proto | 48 + .../enums/feed_mapping_criterion_type.proto | 48 + .../v10/enums/feed_mapping_status.proto | 48 + .../ads/googleads/v10/enums/feed_origin.proto | 51 + .../ads/googleads/v10/enums/feed_status.proto | 48 + .../v10/enums/flight_placeholder_field.proto | 116 + .../v10/enums/frequency_cap_event_type.proto | 48 + .../v10/enums/frequency_cap_level.proto | 52 + .../v10/enums/frequency_cap_time_unit.proto | 51 + .../ads/googleads/v10/enums/gender_type.proto | 51 + .../enums/geo_target_constant_status.proto | 50 + .../v10/enums/geo_targeting_restriction.proto | 47 + .../v10/enums/geo_targeting_type.proto | 48 + .../v10/enums/goal_config_level.proto | 50 + .../v10/enums/google_ads_field_category.proto | 59 + .../enums/google_ads_field_data_type.proto | 100 + .../v10/enums/google_voice_call_status.proto | 48 + .../v10/enums/hotel_date_selection_type.proto | 48 + .../v10/enums/hotel_placeholder_field.proto | 122 + .../v10/enums/hotel_price_bucket.proto | 57 + .../googleads/v10/enums/hotel_rate_type.proto | 60 + .../enums/hotel_reconciliation_status.proto | 60 + .../v10/enums/image_placeholder_field.proto | 45 + .../v10/enums/income_range_type.proto | 63 + .../v10/enums/interaction_event_type.proto | 60 + .../v10/enums/interaction_type.proto | 45 + .../googleads/v10/enums/invoice_type.proto | 48 + .../v10/enums/job_placeholder_field.proto | 113 + .../v10/enums/keyword_match_type.proto | 51 + .../keyword_plan_aggregate_metric_type.proto | 45 + .../keyword_plan_competition_level.proto | 55 + .../keyword_plan_concept_group_type.proto | 56 + .../keyword_plan_forecast_interval.proto | 54 + .../keyword_plan_keyword_annotation.proto | 45 + .../v10/enums/keyword_plan_network.proto | 48 + .../googleads/v10/enums/label_status.proto | 46 + .../enums/lead_form_call_to_action_type.proto | 82 + .../v10/enums/lead_form_desired_intent.proto | 46 + .../lead_form_field_user_input_type.proto | 292 + ...form_post_submit_call_to_action_type.proto | 53 + .../legacy_app_install_ad_app_store.proto | 57 + .../v10/enums/linked_account_type.proto | 53 + ..._group_filter_bidding_category_level.proto | 58 + ..._group_filter_custom_attribute_index.proto | 58 + ...listing_group_filter_product_channel.proto | 48 + ...sting_group_filter_product_condition.proto | 51 + ...ting_group_filter_product_type_level.proto | 57 + .../listing_group_filter_type_enum.proto | 51 + .../enums/listing_group_filter_vertical.proto | 46 + .../v10/enums/listing_group_type.proto | 50 + .../v10/enums/local_placeholder_field.proto | 117 + ..._extension_targeting_criterion_field.proto | 60 + .../enums/location_group_radius_units.proto | 51 + .../enums/location_placeholder_field.proto | 66 + .../v10/enums/location_source_type.proto | 48 + .../v10/enums/manager_link_status.proto | 57 + .../matching_function_context_type.proto | 51 + .../enums/matching_function_operator.proto | 63 + .../ads/googleads/v10/enums/media_type.proto | 62 + .../enums/merchant_center_link_status.proto | 51 + .../v10/enums/message_placeholder_field.proto | 59 + .../ads/googleads/v10/enums/mime_type.proto | 80 + .../googleads/v10/enums/minute_of_hour.proto | 54 + .../v10/enums/mobile_app_vendor.proto | 46 + .../v10/enums/mobile_device_type.proto | 48 + .../googleads/v10/enums/month_of_year.proto | 78 + .../v10/enums/negative_geo_target_type.proto | 50 + ...offline_user_data_job_failure_reason.proto | 49 + ...fline_user_data_job_match_rate_range.proto | 69 + .../enums/offline_user_data_job_status.proto | 54 + .../enums/offline_user_data_job_type.proto | 54 + ...erating_system_version_operator_type.proto | 48 + .../v10/enums/optimization_goal_type.proto | 56 + .../v10/enums/parental_status_type.proto | 51 + .../googleads/v10/enums/payment_mode.proto | 62 + .../v10/enums/placeholder_type.proto | 122 + .../googleads/v10/enums/placement_type.proto | 57 + .../v10/enums/policy_approval_status.proto | 59 + .../v10/enums/policy_review_status.proto | 58 + .../v10/enums/policy_topic_entry_type.proto | 64 + ...idence_destination_mismatch_url_type.proto | 60 + ...dence_destination_not_working_device.proto | 55 + ...stination_not_working_dns_error_type.proto | 54 + .../v10/enums/positive_geo_target_type.proto | 56 + .../v10/enums/preferred_content_type.proto | 45 + .../price_extension_price_qualifier.proto | 51 + .../enums/price_extension_price_unit.proto | 60 + .../v10/enums/price_extension_type.proto | 69 + .../v10/enums/price_placeholder_field.proto | 238 + .../product_bidding_category_level.proto | 55 + .../product_bidding_category_status.proto | 48 + .../googleads/v10/enums/product_channel.proto | 48 + .../enums/product_channel_exclusivity.proto | 50 + .../v10/enums/product_condition.proto | 51 + .../product_custom_attribute_index.proto | 57 + .../v10/enums/product_type_level.proto | 57 + ...romotion_extension_discount_modifier.proto | 46 + .../enums/promotion_extension_occasion.proto | 155 + .../enums/promotion_placeholder_field.proto | 93 + .../v10/enums/proximity_radius_units.proto | 48 + .../v10/enums/quality_score_bucket.proto | 51 + .../v10/enums/reach_plan_ad_length.proto | 51 + .../v10/enums/reach_plan_age_range.proto | 120 + .../v10/enums/reach_plan_network.proto | 52 + .../enums/real_estate_placeholder_field.proto | 113 + .../v10/enums/recommendation_type.proto | 117 + .../v10/enums/resource_change_operation.proto | 53 + .../v10/enums/resource_limit_type.proto | 461 + .../v10/enums/response_content_type.proto | 46 + .../search_engine_results_page_type.proto | 52 + .../v10/enums/search_term_match_type.proto | 57 + .../enums/search_term_targeting_status.proto | 56 + .../v10/enums/seasonality_event_scope.proto | 57 + .../v10/enums/seasonality_event_status.proto | 51 + .../v10/enums/served_asset_field_type.proto | 59 + .../v10/enums/shared_set_status.proto | 48 + .../googleads/v10/enums/shared_set_type.proto | 48 + .../simulation_modification_method.proto | 57 + .../googleads/v10/enums/simulation_type.proto | 66 + .../enums/sitelink_placeholder_field.proto | 67 + .../enums/sk_ad_network_ad_event_type.proto | 52 + .../sk_ad_network_attribution_credit.proto | 53 + .../v10/enums/sk_ad_network_user_type.proto | 52 + .../google/ads/googleads/v10/enums/slot.proto | 63 + .../v10/enums/spending_limit_type.proto | 46 + ...structured_snippet_placeholder_field.proto | 53 + .../v10/enums/summary_row_setting.proto | 52 + .../enums/system_managed_entity_source.proto | 45 + ...arget_cpa_opt_in_recommendation_goal.proto | 55 + .../target_impression_share_location.proto | 53 + .../v10/enums/targeting_dimension.proto | 72 + .../ads/googleads/v10/enums/time_type.proto | 49 + .../v10/enums/tracking_code_page_format.proto | 48 + .../v10/enums/tracking_code_type.proto | 57 + .../v10/enums/travel_placeholder_field.proto | 126 + .../v10/enums/user_identifier_source.proto | 52 + .../enums/user_interest_taxonomy_type.proto | 57 + .../v10/enums/user_list_access_status.proto | 48 + .../v10/enums/user_list_closing_reason.proto | 46 + .../user_list_combined_rule_operator.proto | 46 + .../user_list_crm_data_source_type.proto | 49 + .../user_list_date_rule_item_operator.proto | 52 + .../user_list_logical_rule_operator.proto | 49 + .../enums/user_list_membership_status.proto | 50 + .../user_list_number_rule_item_operator.proto | 58 + .../user_list_prepopulation_status.proto | 49 + .../v10/enums/user_list_rule_type.proto | 46 + .../v10/enums/user_list_size_range.proto | 90 + .../user_list_string_rule_item_operator.proto | 64 + .../googleads/v10/enums/user_list_type.proto | 61 + .../v10/enums/value_rule_device_type.proto | 52 + .../value_rule_geo_location_match_type.proto | 49 + .../v10/enums/value_rule_operation.proto | 52 + .../value_rule_set_attachment_type.proto | 48 + .../v10/enums/value_rule_set_dimension.proto | 55 + .../vanity_pharma_display_url_mode.proto | 48 + .../v10/enums/vanity_pharma_text.proto | 85 + .../googleads/v10/enums/video_thumbnail.proto | 57 + .../v10/enums/webpage_condition_operand.proto | 57 + .../enums/webpage_condition_operator.proto | 49 + .../ads/googleads/v10/errors/BUILD.bazel | 94 + .../v10/errors/access_invitation_error.proto | 67 + .../account_budget_proposal_error.proto | 120 + .../v10/errors/account_link_error.proto | 45 + .../v10/errors/ad_customizer_error.proto | 57 + .../ads/googleads/v10/errors/ad_error.proto | 528 + .../v10/errors/ad_group_ad_error.proto | 78 + .../errors/ad_group_bid_modifier_error.proto | 49 + .../ad_group_criterion_customizer_error.proto | 45 + .../v10/errors/ad_group_criterion_error.proto | 135 + .../errors/ad_group_customizer_error.proto | 42 + .../googleads/v10/errors/ad_group_error.proto | 89 + .../v10/errors/ad_group_feed_error.proto | 65 + .../v10/errors/ad_parameter_error.proto | 48 + .../v10/errors/ad_sharing_error.proto | 52 + .../ads/googleads/v10/errors/adx_error.proto | 45 + .../googleads/v10/errors/asset_error.proto | 148 + .../v10/errors/asset_group_asset_error.proto | 51 + .../v10/errors/asset_group_error.proto | 72 + ...set_group_listing_group_filter_error.proto | 83 + .../v10/errors/asset_link_error.proto | 106 + .../v10/errors/asset_set_asset_error.proto | 54 + .../v10/errors/asset_set_error.proto | 45 + .../v10/errors/asset_set_link_error.proto | 59 + .../googleads/v10/errors/audience_error.proto | 68 + .../v10/errors/authentication_error.proto | 101 + .../v10/errors/authorization_error.proto | 93 + .../v10/errors/batch_job_error.proto | 61 + .../googleads/v10/errors/bidding_error.proto | 131 + .../v10/errors/bidding_strategy_error.proto | 59 + .../v10/errors/billing_setup_error.proto | 107 + .../v10/errors/campaign_budget_error.proto | 98 + .../campaign_conversion_goal_error.proto | 45 + .../v10/errors/campaign_criterion_error.proto | 97 + .../errors/campaign_customizer_error.proto | 42 + .../v10/errors/campaign_draft_error.proto | 77 + .../googleads/v10/errors/campaign_error.proto | 199 + .../errors/campaign_experiment_error.proto | 79 + .../v10/errors/campaign_feed_error.proto | 65 + .../errors/campaign_shared_set_error.proto | 45 + .../v10/errors/change_event_error.proto | 61 + .../v10/errors/change_status_error.proto | 61 + .../v10/errors/collection_size_error.proto | 48 + .../googleads/v10/errors/context_error.proto | 48 + .../v10/errors/conversion_action_error.proto | 80 + .../conversion_adjustment_upload_error.proto | 130 + .../conversion_custom_variable_error.proto | 52 + ...onversion_goal_campaign_config_error.proto | 53 + .../v10/errors/conversion_upload_error.proto | 209 + .../errors/conversion_value_rule_error.proto | 90 + .../conversion_value_rule_set_error.proto | 100 + .../v10/errors/country_code_error.proto | 45 + .../v10/errors/criterion_error.proto | 469 + .../v10/errors/currency_code_error.proto | 45 + .../v10/errors/custom_audience_error.proto | 66 + .../errors/custom_conversion_goal_error.proto | 59 + .../v10/errors/custom_interest_error.proto | 64 + .../errors/customer_client_link_error.proto | 66 + .../errors/customer_customizer_error.proto | 42 + .../googleads/v10/errors/customer_error.proto | 48 + .../v10/errors/customer_feed_error.proto | 64 + .../errors/customer_manager_link_error.proto | 73 + .../errors/customer_user_access_error.proto | 58 + .../errors/customizer_attribute_error.proto | 46 + .../googleads/v10/errors/database_error.proto | 54 + .../ads/googleads/v10/errors/date_error.proto | 72 + .../v10/errors/date_range_error.proto | 57 + .../googleads/v10/errors/distinct_error.proto | 48 + .../ads/googleads/v10/errors/enum_error.proto | 45 + .../ads/googleads/v10/errors/errors.proto | 735 + .../v10/errors/experiment_arm_error.proto | 86 + .../v10/errors/experiment_error.proto | 120 + .../errors/extension_feed_item_error.proto | 193 + .../v10/errors/extension_setting_error.proto | 259 + .../feed_attribute_reference_error.proto | 51 + .../ads/googleads/v10/errors/feed_error.proto | 112 + .../v10/errors/feed_item_error.proto | 69 + .../v10/errors/feed_item_set_error.proto | 69 + .../v10/errors/feed_item_set_link_error.proto | 49 + .../v10/errors/feed_item_target_error.proto | 68 + .../errors/feed_item_validation_error.proto | 375 + .../v10/errors/feed_mapping_error.proto | 98 + .../googleads/v10/errors/field_error.proto | 63 + .../v10/errors/field_mask_error.proto | 56 + .../googleads/v10/errors/function_error.proto | 91 + .../v10/errors/function_parsing_error.proto | 75 + ...geo_target_constant_suggestion_error.proto | 54 + .../googleads/v10/errors/header_error.proto | 48 + .../ads/googleads/v10/errors/id_error.proto | 45 + .../googleads/v10/errors/image_error.proto | 162 + .../googleads/v10/errors/internal_error.proto | 56 + .../googleads/v10/errors/invoice_error.proto | 58 + .../errors/keyword_plan_ad_group_error.proto | 51 + .../keyword_plan_ad_group_keyword_error.proto | 70 + .../errors/keyword_plan_campaign_error.proto | 63 + .../keyword_plan_campaign_keyword_error.proto | 47 + .../v10/errors/keyword_plan_error.proto | 89 + .../v10/errors/keyword_plan_idea_error.proto | 48 + .../googleads/v10/errors/label_error.proto | 71 + .../v10/errors/language_code_error.proto | 48 + .../v10/errors/list_operation_error.proto | 48 + .../v10/errors/manager_link_error.proto | 101 + .../v10/errors/media_bundle_error.proto | 108 + .../v10/errors/media_file_error.proto | 111 + .../v10/errors/media_upload_error.proto | 150 + .../v10/errors/merchant_center_error.proto | 48 + .../v10/errors/multiplier_error.proto | 79 + .../googleads/v10/errors/mutate_error.proto | 70 + .../errors/new_resource_creation_error.proto | 52 + .../v10/errors/not_allowlisted_error.proto | 45 + .../v10/errors/not_empty_error.proto | 45 + .../ads/googleads/v10/errors/null_error.proto | 45 + .../errors/offline_user_data_job_error.proto | 159 + .../operation_access_denied_error.proto | 72 + .../googleads/v10/errors/operator_error.proto | 45 + .../v10/errors/partial_failure_error.proto | 46 + .../v10/errors/payments_account_error.proto | 45 + .../v10/errors/policy_finding_error.proto | 49 + .../policy_validation_parameter_error.proto | 52 + .../v10/errors/policy_violation_error.proto | 45 + .../googleads/v10/errors/query_error.proto | 225 + .../googleads/v10/errors/quota_error.proto | 51 + .../googleads/v10/errors/range_error.proto | 48 + .../v10/errors/reach_plan_error.proto | 46 + .../v10/errors/recommendation_error.proto | 88 + .../v10/errors/region_code_error.proto | 45 + .../googleads/v10/errors/request_error.proto | 117 + .../errors/resource_access_denied_error.proto | 45 + .../resource_count_limit_exceeded_error.proto | 91 + .../googleads/v10/errors/setting_error.proto | 83 + .../v10/errors/shared_criterion_error.proto | 45 + .../v10/errors/shared_set_error.proto | 54 + .../v10/errors/size_limit_error.proto | 48 + .../v10/errors/string_format_error.proto | 48 + .../v10/errors/string_length_error.proto | 52 + ...third_party_app_analytics_link_error.proto | 55 + .../v10/errors/time_zone_error.proto | 45 + .../v10/errors/url_field_error.proto | 215 + .../v10/errors/user_data_error.proto | 52 + .../v10/errors/user_list_error.proto | 127 + .../youtube_video_registration_error.proto | 51 + .../ads/googleads/v10/googleads_gapic.yaml | 26 + .../v10/googleads_grpc_service_config.json | 324 + .../ads/googleads/v10/googleads_v10.yaml | 810 + .../ads/googleads/v10/resources/BUILD.bazel | 97 + .../accessible_bidding_strategy.proto | 171 + .../v10/resources/account_budget.proto | 251 + .../resources/account_budget_proposal.proto | 159 + .../v10/resources/account_link.proto | 133 + .../ads/googleads/v10/resources/ad.proto | 196 + .../googleads/v10/resources/ad_group.proto | 201 + .../googleads/v10/resources/ad_group_ad.proto | 102 + .../ad_group_ad_asset_combination_view.proto | 64 + .../resources/ad_group_ad_asset_view.proto | 104 + .../v10/resources/ad_group_ad_label.proto | 65 + .../v10/resources/ad_group_asset.proto | 79 + .../resources/ad_group_audience_view.proto | 53 + .../v10/resources/ad_group_bid_modifier.proto | 111 + .../v10/resources/ad_group_criterion.proto | 293 + .../ad_group_criterion_customizer.proto | 76 + .../resources/ad_group_criterion_label.proto | 65 + .../ad_group_criterion_simulation.proto | 89 + .../v10/resources/ad_group_customizer.proto | 75 + .../ad_group_extension_setting.proto | 78 + .../v10/resources/ad_group_feed.proto | 82 + .../v10/resources/ad_group_label.proto | 65 + .../v10/resources/ad_group_simulation.proto | 93 + .../v10/resources/ad_parameter.proto | 81 + .../v10/resources/ad_schedule_view.proto | 51 + .../v10/resources/age_range_view.proto | 50 + .../ads/googleads/v10/resources/asset.proto | 179 + .../v10/resources/asset_field_type_view.proto | 56 + .../googleads/v10/resources/asset_group.proto | 87 + .../v10/resources/asset_group_asset.proto | 82 + .../asset_group_listing_group_filter.proto | 172 + .../asset_group_product_group_view.proto | 66 + .../v10/resources/asset_group_signal.proto | 63 + .../googleads/v10/resources/asset_set.proto | 79 + .../v10/resources/asset_set_asset.proto | 69 + .../googleads/v10/resources/audience.proto | 76 + .../googleads/v10/resources/batch_job.proto | 97 + .../resources/bidding_data_exclusion.proto | 107 + .../bidding_seasonality_adjustment.proto | 113 + .../v10/resources/bidding_strategy.proto | 138 + .../bidding_strategy_simulation.proto | 81 + .../v10/resources/billing_setup.proto | 137 + .../googleads/v10/resources/call_view.proto | 79 + .../googleads/v10/resources/campaign.proto | 468 + .../v10/resources/campaign_asset.proto | 75 + .../v10/resources/campaign_asset_set.proto | 71 + .../resources/campaign_audience_view.proto | 54 + .../v10/resources/campaign_bid_modifier.proto | 75 + .../v10/resources/campaign_budget.proto | 155 + .../resources/campaign_conversion_goal.proto | 68 + .../v10/resources/campaign_criterion.proto | 180 + .../campaign_criterion_simulation.proto | 82 + .../v10/resources/campaign_customizer.proto | 75 + .../v10/resources/campaign_draft.proto | 97 + .../v10/resources/campaign_experiment.proto | 120 + .../campaign_extension_setting.proto | 78 + .../v10/resources/campaign_feed.proto | 82 + .../v10/resources/campaign_group.proto | 68 + .../v10/resources/campaign_label.proto | 65 + .../v10/resources/campaign_shared_set.proto | 76 + .../v10/resources/campaign_simulation.proto | 101 + .../v10/resources/carrier_constant.proto | 60 + .../v10/resources/change_event.proto | 208 + .../v10/resources/change_status.proto | 192 + .../googleads/v10/resources/click_view.proto | 107 + .../v10/resources/combined_audience.proto | 66 + .../v10/resources/conversion_action.proto | 191 + .../conversion_custom_variable.proto | 85 + .../conversion_goal_campaign_config.proto | 65 + .../v10/resources/conversion_value_rule.proto | 134 + .../resources/conversion_value_rule_set.proto | 99 + .../v10/resources/currency_constant.proto | 63 + .../v10/resources/custom_audience.proto | 106 + .../resources/custom_conversion_goal.proto | 63 + .../v10/resources/custom_interest.proto | 88 + .../googleads/v10/resources/customer.proto | 187 + .../v10/resources/customer_asset.proto | 70 + .../v10/resources/customer_client.proto | 104 + .../v10/resources/customer_client_link.proto | 69 + .../resources/customer_conversion_goal.proto | 63 + .../v10/resources/customer_customizer.proto | 67 + .../customer_extension_setting.proto | 66 + .../v10/resources/customer_feed.proto | 74 + .../v10/resources/customer_label.proto | 71 + .../v10/resources/customer_manager_link.proto | 64 + .../customer_negative_criterion.proto | 81 + .../v10/resources/customer_user_access.proto | 71 + .../customer_user_access_invitation.proto | 72 + .../v10/resources/customizer_attribute.proto | 71 + .../v10/resources/detail_placement_view.proto | 70 + .../v10/resources/detailed_demographic.proto | 73 + .../v10/resources/display_keyword_view.proto | 50 + .../v10/resources/distance_view.proto | 61 + .../v10/resources/domain_category.proto | 89 + .../dynamic_search_ads_search_term_view.proto | 85 + .../expanded_landing_page_view.proto | 54 + .../googleads/v10/resources/experiment.proto | 106 + .../v10/resources/experiment_arm.proto | 84 + .../v10/resources/extension_feed_item.proto | 150 + .../ads/googleads/v10/resources/feed.proto | 189 + .../googleads/v10/resources/feed_item.proto | 213 + .../v10/resources/feed_item_set.proto | 83 + .../v10/resources/feed_item_set_link.proto | 65 + .../v10/resources/feed_item_target.proto | 107 + .../v10/resources/feed_mapping.proto | 188 + .../v10/resources/feed_placeholder_view.proto | 54 + .../googleads/v10/resources/gender_view.proto | 50 + .../v10/resources/geo_target_constant.proto | 81 + .../v10/resources/geographic_view.proto | 62 + .../v10/resources/google_ads_field.proto | 107 + .../v10/resources/group_placement_view.proto | 65 + .../v10/resources/hotel_group_view.proto | 50 + .../resources/hotel_performance_view.proto | 50 + .../v10/resources/hotel_reconciliation.proto | 116 + .../v10/resources/income_range_view.proto | 50 + .../ads/googleads/v10/resources/invoice.proto | 202 + .../v10/resources/keyword_plan.proto | 81 + .../v10/resources/keyword_plan_ad_group.proto | 70 + .../keyword_plan_ad_group_keyword.proto | 76 + .../v10/resources/keyword_plan_campaign.proto | 97 + .../keyword_plan_campaign_keyword.proto | 70 + .../resources/keyword_theme_constant.proto | 63 + .../v10/resources/keyword_view.proto | 50 + .../ads/googleads/v10/resources/label.proto | 65 + .../v10/resources/landing_page_view.proto | 54 + .../v10/resources/language_constant.proto | 63 + .../resources/lead_form_submission_data.proto | 105 + .../googleads/v10/resources/life_event.proto | 72 + .../v10/resources/location_view.proto | 51 + .../resources/managed_placement_view.proto | 50 + .../googleads/v10/resources/media_file.proto | 136 + .../v10/resources/merchant_center_link.proto | 63 + .../mobile_app_category_constant.proto | 56 + .../resources/mobile_device_constant.proto | 66 + .../v10/resources/offline_user_data_job.proto | 94 + .../operating_system_version_constant.proto | 69 + .../paid_organic_search_term_view.proto | 55 + .../v10/resources/parental_status_view.proto | 50 + .../v10/resources/payments_account.proto | 77 + .../product_bidding_category_constant.proto | 82 + .../v10/resources/product_group_view.proto | 50 + .../v10/resources/recommendation.proto | 386 + .../v10/resources/remarketing_action.proto | 65 + .../v10/resources/search_term_view.proto | 67 + .../v10/resources/shared_criterion.proto | 91 + .../googleads/v10/resources/shared_set.proto | 76 + .../resources/shopping_performance_view.proto | 54 + .../smart_campaign_search_term_view.proto | 61 + .../resources/smart_campaign_setting.proto | 90 + .../third_party_app_analytics_link.proto | 54 + .../v10/resources/topic_constant.proto | 70 + .../googleads/v10/resources/topic_view.proto | 50 + .../v10/resources/user_interest.proto | 75 + .../googleads/v10/resources/user_list.proto | 173 + .../v10/resources/user_location_view.proto | 61 + .../ads/googleads/v10/resources/video.proto | 62 + .../v10/resources/webpage_view.proto | 50 + .../ads/googleads/v10/services/BUILD.bazel | 138 + .../account_budget_proposal_service.proto | 132 + .../v10/services/account_link_service.proto | 164 + .../services/ad_group_ad_label_service.proto | 120 + .../v10/services/ad_group_ad_service.proto | 172 + .../v10/services/ad_group_asset_service.proto | 139 + .../ad_group_bid_modifier_service.proto | 151 + ...d_group_criterion_customizer_service.proto | 121 + .../ad_group_criterion_label_service.proto | 119 + .../services/ad_group_criterion_service.proto | 171 + .../ad_group_customizer_service.proto | 118 + .../ad_group_extension_setting_service.proto | 159 + .../v10/services/ad_group_feed_service.proto | 149 + .../v10/services/ad_group_label_service.proto | 121 + .../v10/services/ad_group_service.proto | 155 + .../v10/services/ad_parameter_service.proto | 139 + .../googleads/v10/services/ad_service.proto | 186 + .../services/asset_group_asset_service.proto | 115 + ...t_group_listing_group_filter_service.proto | 120 + .../v10/services/asset_group_service.proto | 108 + .../services/asset_group_signal_service.proto | 117 + .../v10/services/asset_service.proto | 150 + .../services/asset_set_asset_service.proto | 117 + .../v10/services/asset_set_service.proto | 123 + .../v10/services/audience_service.proto | 118 + .../v10/services/batch_job_service.proto | 269 + .../bidding_data_exclusion_service.proto | 125 + ...dding_seasonality_adjustment_service.proto | 125 + .../services/bidding_strategy_service.proto | 154 + .../v10/services/billing_setup_service.proto | 112 + .../v10/services/campaign_asset_service.proto | 140 + .../services/campaign_asset_set_service.proto | 117 + .../campaign_bid_modifier_service.proto | 151 + .../services/campaign_budget_service.proto | 144 + .../campaign_conversion_goal_service.proto | 92 + .../services/campaign_criterion_service.proto | 155 + .../campaign_customizer_service.proto | 118 + .../v10/services/campaign_draft_service.proto | 236 + .../campaign_experiment_service.proto | 374 + .../campaign_extension_setting_service.proto | 158 + .../v10/services/campaign_feed_service.proto | 150 + .../v10/services/campaign_group_service.proto | 129 + .../v10/services/campaign_label_service.proto | 121 + .../v10/services/campaign_service.proto | 160 + .../campaign_shared_set_service.proto | 141 + .../services/conversion_action_service.proto | 144 + ...conversion_adjustment_upload_service.proto | 200 + .../conversion_custom_variable_service.proto | 132 + ...version_goal_campaign_config_service.proto | 103 + .../services/conversion_upload_service.proto | 347 + .../conversion_value_rule_service.proto | 128 + .../conversion_value_rule_set_service.proto | 128 + .../services/custom_audience_service.proto | 117 + .../custom_conversion_goal_service.proto | 114 + .../services/custom_interest_service.proto | 107 + .../v10/services/customer_asset_service.proto | 137 + .../customer_client_link_service.proto | 104 + .../customer_conversion_goal_service.proto | 92 + .../customer_customizer_service.proto | 118 + .../customer_extension_setting_service.proto | 156 + .../v10/services/customer_feed_service.proto | 149 + .../v10/services/customer_label_service.proto | 119 + .../customer_manager_link_service.proto | 157 + .../customer_negative_criterion_service.proto | 128 + .../v10/services/customer_service.proto | 191 + ...tomer_user_access_invitation_service.proto | 101 + .../customer_user_access_service.proto | 105 + .../customizer_attribute_service.proto | 122 + .../v10/services/experiment_arm_service.proto | 134 + .../v10/services/experiment_service.proto | 390 + .../extension_feed_item_service.proto | 152 + .../v10/services/feed_item_service.proto | 151 + .../services/feed_item_set_link_service.proto | 115 + .../v10/services/feed_item_set_service.proto | 123 + .../services/feed_item_target_service.proto | 138 + .../v10/services/feed_mapping_service.proto | 138 + .../googleads/v10/services/feed_service.proto | 150 + .../geo_target_constant_service.proto | 117 + .../services/google_ads_field_service.proto | 115 + .../v10/services/google_ads_service.proto | 1482 + .../v10/services/invoice_service.proto | 83 + ...eyword_plan_ad_group_keyword_service.proto | 139 + .../keyword_plan_ad_group_service.proto | 134 + ...eyword_plan_campaign_keyword_service.proto | 136 + .../keyword_plan_campaign_service.proto | 135 + .../services/keyword_plan_idea_service.proto | 246 + .../v10/services/keyword_plan_service.proto | 421 + .../keyword_theme_constant_service.proto | 77 + .../v10/services/label_service.proto | 145 + .../v10/services/media_file_service.proto | 131 + .../merchant_center_link_service.proto | 164 + .../offline_user_data_job_service.proto | 212 + .../services/payments_account_service.proto | 71 + .../v10/services/reach_plan_service.proto | 568 + .../v10/services/recommendation_service.proto | 304 + .../services/remarketing_action_service.proto | 116 + .../services/shared_criterion_service.proto | 139 + .../v10/services/shared_set_service.proto | 149 + .../smart_campaign_setting_service.proto | 111 + .../smart_campaign_suggest_service.proto | 224 + ...ird_party_app_analytics_link_service.proto | 69 + .../v10/services/user_data_service.proto | 97 + .../v10/services/user_list_service.proto | 136 + .../google/ads/googleads/v11/BUILD.bazel | 266 + .../ads/googleads/v11/common/BUILD.bazel | 94 + .../ads/googleads/v11/common/ad_asset.proto | 74 + .../googleads/v11/common/ad_type_infos.proto | 797 + .../googleads/v11/common/asset_policy.proto | 45 + .../googleads/v11/common/asset_types.proto | 983 + .../googleads/v11/common/asset_usage.proto | 39 + .../ads/googleads/v11/common/audiences.proto | 173 + .../ads/googleads/v11/common/bidding.proto | 208 + .../googleads/v11/common/click_location.proto | 46 + .../ads/googleads/v11/common/criteria.proto | 698 + .../criterion_category_availability.proto | 81 + .../v11/common/custom_parameter.proto | 38 + .../v11/common/customizer_value.proto | 44 + .../ads/googleads/v11/common/dates.proto | 58 + .../explorer_auto_optimizer_setting.proto | 36 + .../ads/googleads/v11/common/extensions.proto | 367 + .../googleads/v11/common/feed_common.proto | 37 + .../feed_item_set_filter_type_infos.proto | 57 + .../googleads/v11/common/final_app_url.proto | 45 + .../googleads/v11/common/frequency_cap.proto | 60 + .../v11/common/keyword_plan_common.proto | 148 + .../v11/common/matching_function.proto | 125 + .../googleads/v11/common/metric_goal.proto | 42 + .../ads/googleads/v11/common/metrics.proto | 674 + .../v11/common/offline_user_data.proto | 333 + .../ads/googleads/v11/common/policy.proto | 219 + .../googleads/v11/common/policy_summary.proto | 45 + .../common/real_time_bidding_setting.proto | 35 + .../ads/googleads/v11/common/segments.proto | 400 + .../ads/googleads/v11/common/simulation.proto | 356 + .../googleads/v11/common/tag_snippet.proto | 49 + .../v11/common/targeting_setting.proto | 84 + .../ads/googleads/v11/common/text_label.proto | 38 + .../googleads/v11/common/url_collection.proto | 43 + .../ads/googleads/v11/common/user_lists.proto | 292 + .../ads/googleads/v11/common/value.proto | 49 + .../ads/googleads/v11/enums/BUILD.bazel | 89 + .../v11/enums/access_invitation_status.proto | 53 + .../googleads/v11/enums/access_reason.proto | 55 + .../ads/googleads/v11/enums/access_role.proto | 53 + .../account_budget_proposal_status.proto | 61 + .../enums/account_budget_proposal_type.proto | 54 + .../v11/enums/account_budget_status.proto | 51 + .../v11/enums/account_link_status.proto | 61 + .../ad_customizer_placeholder_field.proto | 54 + .../v11/enums/ad_destination_type.proto | 75 + .../v11/enums/ad_group_ad_rotation_mode.proto | 51 + .../v11/enums/ad_group_ad_status.proto | 53 + .../ad_group_criterion_approval_status.proto | 54 + .../v11/enums/ad_group_criterion_status.proto | 53 + .../googleads/v11/enums/ad_group_status.proto | 53 + .../googleads/v11/enums/ad_group_type.proto | 94 + .../googleads/v11/enums/ad_network_type.proto | 60 + .../ad_serving_optimization_status.proto | 62 + .../ads/googleads/v11/enums/ad_strength.proto | 60 + .../ads/googleads/v11/enums/ad_type.proto | 135 + .../enums/advertising_channel_sub_type.proto | 100 + .../v11/enums/advertising_channel_type.proto | 77 + ...iate_location_feed_relationship_type.proto | 46 + ...affiliate_location_placeholder_field.proto | 75 + .../googleads/v11/enums/age_range_type.proto | 64 + .../v11/enums/app_campaign_app_store.proto | 48 + ..._campaign_bidding_strategy_goal_type.proto | 68 + .../v11/enums/app_payment_model_type.proto | 45 + .../v11/enums/app_placeholder_field.proto | 73 + .../ads/googleads/v11/enums/app_store.proto | 48 + .../enums/app_url_operating_system_type.proto | 48 + .../v11/enums/asset_field_type.proto | 115 + .../v11/enums/asset_group_status.proto | 51 + .../v11/enums/asset_link_status.proto | 51 + .../v11/enums/asset_performance_label.proto | 60 + .../v11/enums/asset_set_asset_status.proto | 49 + .../v11/enums/asset_set_link_status.proto | 50 + .../v11/enums/asset_set_status.proto | 49 + .../googleads/v11/enums/asset_set_type.proto | 72 + .../googleads/v11/enums/asset_source.proto | 49 + .../ads/googleads/v11/enums/asset_type.proto | 117 + .../v11/enums/async_action_status.proto | 57 + .../v11/enums/attribution_model.proto | 70 + .../enums/audience_insights_dimension.proto | 78 + .../googleads/v11/enums/audience_status.proto | 49 + .../v11/enums/batch_job_status.proto | 51 + .../v11/enums/bid_modifier_source.proto | 49 + .../googleads/v11/enums/bidding_source.proto | 53 + .../v11/enums/bidding_strategy_status.proto | 50 + .../bidding_strategy_system_status.proto | 139 + .../v11/enums/bidding_strategy_type.proto | 121 + .../v11/enums/billing_setup_status.proto | 56 + .../v11/enums/brand_safety_suitability.proto | 71 + .../budget_campaign_association_status.proto | 49 + .../v11/enums/budget_delivery_method.proto | 51 + .../googleads/v11/enums/budget_period.proto | 51 + .../googleads/v11/enums/budget_status.proto | 48 + .../ads/googleads/v11/enums/budget_type.proto | 71 + .../call_conversion_reporting_state.proto | 54 + .../v11/enums/call_placeholder_field.proto | 64 + .../v11/enums/call_to_action_type.proto | 69 + .../call_tracking_display_location.proto | 48 + .../ads/googleads/v11/enums/call_type.proto | 49 + .../v11/enums/callout_placeholder_field.proto | 45 + .../v11/enums/campaign_criterion_status.proto | 53 + .../v11/enums/campaign_draft_status.proto | 63 + .../enums/campaign_experiment_status.proto | 75 + ...mpaign_experiment_traffic_split_type.proto | 51 + .../v11/enums/campaign_experiment_type.proto | 57 + .../v11/enums/campaign_group_status.proto | 48 + .../v11/enums/campaign_serving_status.proto | 59 + .../enums/campaign_shared_set_status.proto | 48 + .../googleads/v11/enums/campaign_status.proto | 51 + .../v11/enums/change_client_type.proto | 85 + .../enums/change_event_resource_type.proto | 101 + .../v11/enums/change_status_operation.proto | 52 + .../enums/change_status_resource_type.proto | 92 + .../ads/googleads/v11/enums/click_type.proto | 204 + .../v11/enums/combined_audience_status.proto | 49 + .../v11/enums/content_label_type.proto | 87 + .../enums/conversion_action_category.proto | 114 + .../conversion_action_counting_type.proto | 50 + .../v11/enums/conversion_action_status.proto | 52 + .../v11/enums/conversion_action_type.proto | 173 + .../enums/conversion_adjustment_type.proto | 54 + .../conversion_attribution_event_type.proto | 46 + .../conversion_custom_variable_status.proto | 56 + .../enums/conversion_environment_enum.proto | 47 + .../v11/enums/conversion_lag_bucket.proto | 115 + .../conversion_or_adjustment_lag_bucket.proto | 204 + .../v11/enums/conversion_origin.proto | 65 + .../conversion_tracking_status_enum.proto | 56 + ...version_value_rule_primary_dimension.proto | 64 + .../conversion_value_rule_set_status.proto | 53 + .../enums/conversion_value_rule_status.proto | 51 + ...n_category_channel_availability_mode.proto | 56 + ...on_category_locale_availability_mode.proto | 59 + .../criterion_system_serving_status.proto | 48 + .../googleads/v11/enums/criterion_type.proto | 144 + .../enums/custom_audience_member_type.proto | 54 + .../v11/enums/custom_audience_status.proto | 49 + .../v11/enums/custom_audience_type.proto | 56 + .../enums/custom_conversion_goal_status.proto | 48 + .../enums/custom_interest_member_type.proto | 48 + .../v11/enums/custom_interest_status.proto | 49 + .../v11/enums/custom_interest_type.proto | 48 + .../v11/enums/custom_placeholder_field.proto | 127 + .../customer_match_upload_key_type.proto | 51 + ...onversion_eligibility_failure_reason.proto | 66 + .../googleads/v11/enums/customer_status.proto | 56 + .../enums/customizer_attribute_status.proto | 48 + .../v11/enums/customizer_attribute_type.proto | 54 + .../v11/enums/customizer_value_status.proto | 48 + .../v11/enums/data_driven_model_status.proto | 60 + .../ads/googleads/v11/enums/day_of_week.proto | 63 + .../ads/googleads/v11/enums/device.proto | 57 + .../v11/enums/display_ad_format_setting.proto | 52 + .../enums/display_upload_product_type.proto | 95 + .../googleads/v11/enums/distance_bucket.proto | 125 + .../enums/dsa_page_feed_criterion_field.proto | 49 + .../enums/education_placeholder_field.proto | 109 + .../v11/enums/experiment_metric.proto | 81 + .../enums/experiment_metric_direction.proto | 59 + .../v11/enums/experiment_status.proto | 65 + .../googleads/v11/enums/experiment_type.proto | 72 + .../v11/enums/extension_setting_device.proto | 50 + .../googleads/v11/enums/extension_type.proto | 82 + .../enums/external_conversion_source.proto | 153 + .../v11/enums/feed_attribute_type.proto | 81 + .../feed_item_quality_approval_status.proto | 50 + ...feed_item_quality_disapproval_reason.proto | 97 + .../v11/enums/feed_item_set_status.proto | 48 + .../feed_item_set_string_filter_type.proto | 43 + .../v11/enums/feed_item_status.proto | 48 + .../v11/enums/feed_item_target_device.proto | 46 + .../v11/enums/feed_item_target_status.proto | 48 + .../v11/enums/feed_item_target_type.proto | 51 + .../enums/feed_item_validation_status.proto | 51 + .../v11/enums/feed_link_status.proto | 48 + .../enums/feed_mapping_criterion_type.proto | 48 + .../v11/enums/feed_mapping_status.proto | 48 + .../ads/googleads/v11/enums/feed_origin.proto | 51 + .../ads/googleads/v11/enums/feed_status.proto | 48 + .../v11/enums/flight_placeholder_field.proto | 116 + .../v11/enums/frequency_cap_event_type.proto | 48 + .../v11/enums/frequency_cap_level.proto | 52 + .../v11/enums/frequency_cap_time_unit.proto | 51 + .../ads/googleads/v11/enums/gender_type.proto | 51 + .../enums/geo_target_constant_status.proto | 50 + .../v11/enums/geo_targeting_restriction.proto | 47 + .../v11/enums/geo_targeting_type.proto | 48 + .../v11/enums/goal_config_level.proto | 50 + .../v11/enums/google_ads_field_category.proto | 59 + .../enums/google_ads_field_data_type.proto | 100 + .../v11/enums/google_voice_call_status.proto | 48 + .../v11/enums/hotel_date_selection_type.proto | 48 + .../v11/enums/hotel_placeholder_field.proto | 122 + .../v11/enums/hotel_price_bucket.proto | 57 + .../googleads/v11/enums/hotel_rate_type.proto | 60 + .../enums/hotel_reconciliation_status.proto | 60 + .../v11/enums/image_placeholder_field.proto | 45 + .../v11/enums/income_range_type.proto | 63 + .../v11/enums/interaction_event_type.proto | 60 + .../v11/enums/interaction_type.proto | 45 + .../googleads/v11/enums/invoice_type.proto | 48 + .../v11/enums/job_placeholder_field.proto | 113 + .../v11/enums/keyword_match_type.proto | 51 + .../keyword_plan_aggregate_metric_type.proto | 45 + .../keyword_plan_competition_level.proto | 55 + .../keyword_plan_concept_group_type.proto | 56 + .../keyword_plan_forecast_interval.proto | 54 + .../keyword_plan_keyword_annotation.proto | 45 + .../v11/enums/keyword_plan_network.proto | 48 + .../googleads/v11/enums/label_status.proto | 46 + .../enums/lead_form_call_to_action_type.proto | 82 + .../v11/enums/lead_form_desired_intent.proto | 46 + .../lead_form_field_user_input_type.proto | 487 + ...form_post_submit_call_to_action_type.proto | 53 + .../legacy_app_install_ad_app_store.proto | 57 + .../v11/enums/linked_account_type.proto | 53 + ..._group_filter_bidding_category_level.proto | 58 + ..._group_filter_custom_attribute_index.proto | 58 + ...listing_group_filter_product_channel.proto | 48 + ...sting_group_filter_product_condition.proto | 51 + ...ting_group_filter_product_type_level.proto | 57 + .../listing_group_filter_type_enum.proto | 51 + .../enums/listing_group_filter_vertical.proto | 46 + .../v11/enums/listing_group_type.proto | 50 + .../v11/enums/local_placeholder_field.proto | 117 + ..._extension_targeting_criterion_field.proto | 60 + .../enums/location_group_radius_units.proto | 51 + .../enums/location_placeholder_field.proto | 66 + .../v11/enums/location_source_type.proto | 48 + .../v11/enums/manager_link_status.proto | 57 + .../matching_function_context_type.proto | 51 + .../enums/matching_function_operator.proto | 63 + .../ads/googleads/v11/enums/media_type.proto | 62 + .../enums/merchant_center_link_status.proto | 51 + .../v11/enums/message_placeholder_field.proto | 59 + .../ads/googleads/v11/enums/mime_type.proto | 80 + .../googleads/v11/enums/minute_of_hour.proto | 54 + .../v11/enums/mobile_app_vendor.proto | 46 + .../v11/enums/mobile_device_type.proto | 48 + .../googleads/v11/enums/month_of_year.proto | 78 + .../v11/enums/negative_geo_target_type.proto | 50 + ...offline_user_data_job_failure_reason.proto | 49 + ...fline_user_data_job_match_rate_range.proto | 69 + .../enums/offline_user_data_job_status.proto | 54 + .../enums/offline_user_data_job_type.proto | 54 + ...erating_system_version_operator_type.proto | 48 + .../v11/enums/optimization_goal_type.proto | 56 + .../v11/enums/parental_status_type.proto | 51 + .../googleads/v11/enums/payment_mode.proto | 62 + .../performance_max_upgrade_status.proto | 55 + .../v11/enums/placeholder_type.proto | 122 + .../googleads/v11/enums/placement_type.proto | 57 + .../v11/enums/policy_approval_status.proto | 59 + .../v11/enums/policy_review_status.proto | 58 + .../v11/enums/policy_topic_entry_type.proto | 64 + ...idence_destination_mismatch_url_type.proto | 60 + ...dence_destination_not_working_device.proto | 55 + ...stination_not_working_dns_error_type.proto | 54 + .../v11/enums/positive_geo_target_type.proto | 56 + .../v11/enums/preferred_content_type.proto | 45 + .../price_extension_price_qualifier.proto | 51 + .../enums/price_extension_price_unit.proto | 60 + .../v11/enums/price_extension_type.proto | 69 + .../v11/enums/price_placeholder_field.proto | 246 + .../product_bidding_category_level.proto | 55 + .../product_bidding_category_status.proto | 48 + .../googleads/v11/enums/product_channel.proto | 48 + .../enums/product_channel_exclusivity.proto | 50 + .../v11/enums/product_condition.proto | 51 + .../product_custom_attribute_index.proto | 57 + .../v11/enums/product_type_level.proto | 57 + ...romotion_extension_discount_modifier.proto | 46 + .../enums/promotion_extension_occasion.proto | 155 + .../enums/promotion_placeholder_field.proto | 93 + .../v11/enums/proximity_radius_units.proto | 48 + .../v11/enums/quality_score_bucket.proto | 51 + .../v11/enums/reach_plan_ad_length.proto | 51 + .../v11/enums/reach_plan_age_range.proto | 120 + .../v11/enums/reach_plan_network.proto | 52 + .../enums/real_estate_placeholder_field.proto | 113 + .../v11/enums/recommendation_type.proto | 131 + .../v11/enums/resource_change_operation.proto | 53 + .../v11/enums/resource_limit_type.proto | 461 + .../v11/enums/response_content_type.proto | 46 + .../search_engine_results_page_type.proto | 52 + .../v11/enums/search_term_match_type.proto | 57 + .../enums/search_term_targeting_status.proto | 56 + .../v11/enums/seasonality_event_scope.proto | 57 + .../v11/enums/seasonality_event_status.proto | 51 + .../v11/enums/served_asset_field_type.proto | 59 + .../v11/enums/shared_set_status.proto | 48 + .../googleads/v11/enums/shared_set_type.proto | 48 + .../simulation_modification_method.proto | 57 + .../googleads/v11/enums/simulation_type.proto | 66 + .../enums/sitelink_placeholder_field.proto | 67 + .../enums/sk_ad_network_ad_event_type.proto | 52 + .../sk_ad_network_attribution_credit.proto | 53 + .../v11/enums/sk_ad_network_user_type.proto | 52 + .../google/ads/googleads/v11/enums/slot.proto | 63 + .../v11/enums/spending_limit_type.proto | 46 + ...structured_snippet_placeholder_field.proto | 53 + .../v11/enums/summary_row_setting.proto | 52 + .../enums/system_managed_entity_source.proto | 45 + ...arget_cpa_opt_in_recommendation_goal.proto | 55 + .../target_impression_share_location.proto | 53 + .../v11/enums/targeting_dimension.proto | 72 + .../ads/googleads/v11/enums/time_type.proto | 49 + .../v11/enums/tracking_code_page_format.proto | 48 + .../v11/enums/tracking_code_type.proto | 57 + .../v11/enums/travel_placeholder_field.proto | 126 + .../v11/enums/user_identifier_source.proto | 52 + .../enums/user_interest_taxonomy_type.proto | 57 + .../v11/enums/user_list_access_status.proto | 48 + .../v11/enums/user_list_closing_reason.proto | 46 + .../user_list_combined_rule_operator.proto | 46 + .../user_list_crm_data_source_type.proto | 49 + .../user_list_date_rule_item_operator.proto | 52 + .../user_list_flexible_rule_operator.proto | 46 + .../user_list_logical_rule_operator.proto | 49 + .../enums/user_list_membership_status.proto | 50 + .../user_list_number_rule_item_operator.proto | 58 + .../user_list_prepopulation_status.proto | 49 + .../v11/enums/user_list_rule_type.proto | 46 + .../v11/enums/user_list_size_range.proto | 90 + .../user_list_string_rule_item_operator.proto | 64 + .../googleads/v11/enums/user_list_type.proto | 61 + .../v11/enums/value_rule_device_type.proto | 52 + .../value_rule_geo_location_match_type.proto | 49 + .../v11/enums/value_rule_operation.proto | 52 + .../value_rule_set_attachment_type.proto | 48 + .../v11/enums/value_rule_set_dimension.proto | 55 + .../vanity_pharma_display_url_mode.proto | 48 + .../v11/enums/vanity_pharma_text.proto | 85 + .../googleads/v11/enums/video_thumbnail.proto | 57 + .../v11/enums/webpage_condition_operand.proto | 57 + .../enums/webpage_condition_operator.proto | 49 + .../ads/googleads/v11/errors/BUILD.bazel | 94 + .../v11/errors/access_invitation_error.proto | 67 + .../account_budget_proposal_error.proto | 120 + .../v11/errors/account_link_error.proto | 45 + .../v11/errors/ad_customizer_error.proto | 57 + .../ads/googleads/v11/errors/ad_error.proto | 528 + .../v11/errors/ad_group_ad_error.proto | 78 + .../errors/ad_group_bid_modifier_error.proto | 49 + .../ad_group_criterion_customizer_error.proto | 45 + .../v11/errors/ad_group_criterion_error.proto | 135 + .../errors/ad_group_customizer_error.proto | 42 + .../googleads/v11/errors/ad_group_error.proto | 89 + .../v11/errors/ad_group_feed_error.proto | 65 + .../v11/errors/ad_parameter_error.proto | 48 + .../v11/errors/ad_sharing_error.proto | 52 + .../ads/googleads/v11/errors/adx_error.proto | 45 + .../googleads/v11/errors/asset_error.proto | 154 + .../v11/errors/asset_group_asset_error.proto | 51 + .../v11/errors/asset_group_error.proto | 72 + ...set_group_listing_group_filter_error.proto | 83 + .../v11/errors/asset_link_error.proto | 119 + .../v11/errors/asset_set_asset_error.proto | 54 + .../v11/errors/asset_set_error.proto | 45 + .../v11/errors/asset_set_link_error.proto | 59 + .../googleads/v11/errors/audience_error.proto | 68 + .../v11/errors/audience_insights_error.proto | 46 + .../v11/errors/authentication_error.proto | 101 + .../v11/errors/authorization_error.proto | 93 + .../v11/errors/batch_job_error.proto | 61 + .../googleads/v11/errors/bidding_error.proto | 131 + .../v11/errors/bidding_strategy_error.proto | 59 + .../v11/errors/billing_setup_error.proto | 107 + .../v11/errors/campaign_budget_error.proto | 98 + .../campaign_conversion_goal_error.proto | 45 + .../v11/errors/campaign_criterion_error.proto | 97 + .../errors/campaign_customizer_error.proto | 42 + .../v11/errors/campaign_draft_error.proto | 77 + .../googleads/v11/errors/campaign_error.proto | 211 + .../errors/campaign_experiment_error.proto | 79 + .../v11/errors/campaign_feed_error.proto | 65 + .../errors/campaign_shared_set_error.proto | 45 + .../v11/errors/change_event_error.proto | 61 + .../v11/errors/change_status_error.proto | 61 + .../v11/errors/collection_size_error.proto | 48 + .../googleads/v11/errors/context_error.proto | 48 + .../v11/errors/conversion_action_error.proto | 80 + .../conversion_adjustment_upload_error.proto | 134 + .../conversion_custom_variable_error.proto | 52 + ...onversion_goal_campaign_config_error.proto | 53 + .../v11/errors/conversion_upload_error.proto | 209 + .../errors/conversion_value_rule_error.proto | 90 + .../conversion_value_rule_set_error.proto | 100 + .../v11/errors/country_code_error.proto | 45 + .../v11/errors/criterion_error.proto | 470 + .../v11/errors/currency_code_error.proto | 45 + .../v11/errors/custom_audience_error.proto | 66 + .../errors/custom_conversion_goal_error.proto | 59 + .../v11/errors/custom_interest_error.proto | 64 + .../errors/customer_client_link_error.proto | 66 + .../errors/customer_customizer_error.proto | 42 + .../googleads/v11/errors/customer_error.proto | 48 + .../v11/errors/customer_feed_error.proto | 64 + .../errors/customer_manager_link_error.proto | 73 + .../errors/customer_user_access_error.proto | 58 + .../errors/customizer_attribute_error.proto | 46 + .../googleads/v11/errors/database_error.proto | 54 + .../ads/googleads/v11/errors/date_error.proto | 72 + .../v11/errors/date_range_error.proto | 57 + .../googleads/v11/errors/distinct_error.proto | 48 + .../ads/googleads/v11/errors/enum_error.proto | 45 + .../ads/googleads/v11/errors/errors.proto | 739 + .../v11/errors/experiment_arm_error.proto | 86 + .../v11/errors/experiment_error.proto | 120 + .../errors/extension_feed_item_error.proto | 193 + .../v11/errors/extension_setting_error.proto | 259 + .../feed_attribute_reference_error.proto | 51 + .../ads/googleads/v11/errors/feed_error.proto | 112 + .../v11/errors/feed_item_error.proto | 69 + .../v11/errors/feed_item_set_error.proto | 69 + .../v11/errors/feed_item_set_link_error.proto | 49 + .../v11/errors/feed_item_target_error.proto | 68 + .../errors/feed_item_validation_error.proto | 375 + .../v11/errors/feed_mapping_error.proto | 98 + .../googleads/v11/errors/field_error.proto | 66 + .../v11/errors/field_mask_error.proto | 56 + .../googleads/v11/errors/function_error.proto | 91 + .../v11/errors/function_parsing_error.proto | 75 + ...geo_target_constant_suggestion_error.proto | 54 + .../googleads/v11/errors/header_error.proto | 48 + .../ads/googleads/v11/errors/id_error.proto | 45 + .../googleads/v11/errors/image_error.proto | 162 + .../googleads/v11/errors/internal_error.proto | 56 + .../googleads/v11/errors/invoice_error.proto | 58 + .../errors/keyword_plan_ad_group_error.proto | 51 + .../keyword_plan_ad_group_keyword_error.proto | 70 + .../errors/keyword_plan_campaign_error.proto | 63 + .../keyword_plan_campaign_keyword_error.proto | 47 + .../v11/errors/keyword_plan_error.proto | 89 + .../v11/errors/keyword_plan_idea_error.proto | 48 + .../googleads/v11/errors/label_error.proto | 71 + .../v11/errors/language_code_error.proto | 48 + .../v11/errors/list_operation_error.proto | 48 + .../v11/errors/manager_link_error.proto | 101 + .../v11/errors/media_bundle_error.proto | 108 + .../v11/errors/media_file_error.proto | 111 + .../v11/errors/media_upload_error.proto | 150 + .../v11/errors/merchant_center_error.proto | 48 + .../v11/errors/multiplier_error.proto | 80 + .../googleads/v11/errors/mutate_error.proto | 70 + .../errors/new_resource_creation_error.proto | 52 + .../v11/errors/not_allowlisted_error.proto | 45 + .../v11/errors/not_empty_error.proto | 45 + .../ads/googleads/v11/errors/null_error.proto | 45 + .../errors/offline_user_data_job_error.proto | 173 + .../operation_access_denied_error.proto | 72 + .../googleads/v11/errors/operator_error.proto | 45 + .../v11/errors/partial_failure_error.proto | 46 + .../v11/errors/payments_account_error.proto | 45 + .../v11/errors/policy_finding_error.proto | 49 + .../policy_validation_parameter_error.proto | 52 + .../v11/errors/policy_violation_error.proto | 45 + .../googleads/v11/errors/query_error.proto | 225 + .../googleads/v11/errors/quota_error.proto | 51 + .../googleads/v11/errors/range_error.proto | 48 + .../v11/errors/reach_plan_error.proto | 46 + .../v11/errors/recommendation_error.proto | 88 + .../v11/errors/region_code_error.proto | 45 + .../googleads/v11/errors/request_error.proto | 117 + .../errors/resource_access_denied_error.proto | 45 + .../resource_count_limit_exceeded_error.proto | 91 + .../googleads/v11/errors/setting_error.proto | 88 + .../v11/errors/shared_criterion_error.proto | 45 + .../v11/errors/shared_set_error.proto | 54 + .../v11/errors/size_limit_error.proto | 50 + .../v11/errors/string_format_error.proto | 48 + .../v11/errors/string_length_error.proto | 52 + ...third_party_app_analytics_link_error.proto | 55 + .../v11/errors/time_zone_error.proto | 45 + .../v11/errors/url_field_error.proto | 216 + .../v11/errors/user_data_error.proto | 52 + .../v11/errors/user_list_error.proto | 127 + .../youtube_video_registration_error.proto | 51 + .../ads/googleads/v11/googleads_gapic.yaml | 26 + .../v11/googleads_grpc_service_config.json | 327 + .../ads/googleads/v11/googleads_v11.yaml | 811 + .../ads/googleads/v11/resources/BUILD.bazel | 97 + .../accessible_bidding_strategy.proto | 171 + .../v11/resources/account_budget.proto | 253 + .../resources/account_budget_proposal.proto | 161 + .../v11/resources/account_link.proto | 133 + .../ads/googleads/v11/resources/ad.proto | 196 + .../googleads/v11/resources/ad_group.proto | 201 + .../googleads/v11/resources/ad_group_ad.proto | 102 + .../ad_group_ad_asset_combination_view.proto | 64 + .../resources/ad_group_ad_asset_view.proto | 104 + .../v11/resources/ad_group_ad_label.proto | 65 + .../v11/resources/ad_group_asset.proto | 83 + .../resources/ad_group_audience_view.proto | 53 + .../v11/resources/ad_group_bid_modifier.proto | 111 + .../v11/resources/ad_group_criterion.proto | 293 + .../ad_group_criterion_customizer.proto | 76 + .../resources/ad_group_criterion_label.proto | 65 + .../ad_group_criterion_simulation.proto | 89 + .../v11/resources/ad_group_customizer.proto | 75 + .../ad_group_extension_setting.proto | 78 + .../v11/resources/ad_group_feed.proto | 82 + .../v11/resources/ad_group_label.proto | 65 + .../v11/resources/ad_group_simulation.proto | 93 + .../v11/resources/ad_parameter.proto | 81 + .../v11/resources/ad_schedule_view.proto | 51 + .../v11/resources/age_range_view.proto | 50 + .../ads/googleads/v11/resources/asset.proto | 183 + .../v11/resources/asset_field_type_view.proto | 56 + .../googleads/v11/resources/asset_group.proto | 91 + .../v11/resources/asset_group_asset.proto | 82 + .../asset_group_listing_group_filter.proto | 172 + .../asset_group_product_group_view.proto | 66 + .../v11/resources/asset_group_signal.proto | 63 + .../googleads/v11/resources/asset_set.proto | 79 + .../v11/resources/asset_set_asset.proto | 69 + .../googleads/v11/resources/audience.proto | 76 + .../googleads/v11/resources/batch_job.proto | 97 + .../resources/bidding_data_exclusion.proto | 107 + .../bidding_seasonality_adjustment.proto | 113 + .../v11/resources/bidding_strategy.proto | 138 + .../bidding_strategy_simulation.proto | 81 + .../v11/resources/billing_setup.proto | 139 + .../googleads/v11/resources/call_view.proto | 79 + .../googleads/v11/resources/campaign.proto | 535 + .../v11/resources/campaign_asset.proto | 79 + .../v11/resources/campaign_asset_set.proto | 71 + .../resources/campaign_audience_view.proto | 54 + .../v11/resources/campaign_bid_modifier.proto | 75 + .../v11/resources/campaign_budget.proto | 155 + .../resources/campaign_conversion_goal.proto | 68 + .../v11/resources/campaign_criterion.proto | 180 + .../campaign_criterion_simulation.proto | 82 + .../v11/resources/campaign_customizer.proto | 75 + .../v11/resources/campaign_draft.proto | 97 + .../v11/resources/campaign_experiment.proto | 120 + .../campaign_extension_setting.proto | 78 + .../v11/resources/campaign_feed.proto | 82 + .../v11/resources/campaign_group.proto | 68 + .../v11/resources/campaign_label.proto | 65 + .../v11/resources/campaign_shared_set.proto | 76 + .../v11/resources/campaign_simulation.proto | 101 + .../v11/resources/carrier_constant.proto | 60 + .../v11/resources/change_event.proto | 208 + .../v11/resources/change_status.proto | 192 + .../googleads/v11/resources/click_view.proto | 107 + .../v11/resources/combined_audience.proto | 66 + .../v11/resources/conversion_action.proto | 197 + .../conversion_custom_variable.proto | 85 + .../conversion_goal_campaign_config.proto | 65 + .../v11/resources/conversion_value_rule.proto | 134 + .../resources/conversion_value_rule_set.proto | 99 + .../v11/resources/currency_constant.proto | 64 + .../v11/resources/custom_audience.proto | 106 + .../resources/custom_conversion_goal.proto | 63 + .../v11/resources/custom_interest.proto | 88 + .../googleads/v11/resources/customer.proto | 188 + .../v11/resources/customer_asset.proto | 74 + .../v11/resources/customer_client.proto | 104 + .../v11/resources/customer_client_link.proto | 69 + .../resources/customer_conversion_goal.proto | 63 + .../v11/resources/customer_customizer.proto | 67 + .../customer_extension_setting.proto | 66 + .../v11/resources/customer_feed.proto | 74 + .../v11/resources/customer_label.proto | 71 + .../v11/resources/customer_manager_link.proto | 64 + .../customer_negative_criterion.proto | 81 + .../v11/resources/customer_user_access.proto | 71 + .../customer_user_access_invitation.proto | 72 + .../v11/resources/customizer_attribute.proto | 71 + .../v11/resources/detail_placement_view.proto | 71 + .../v11/resources/detailed_demographic.proto | 73 + .../v11/resources/display_keyword_view.proto | 50 + .../v11/resources/distance_view.proto | 61 + .../v11/resources/domain_category.proto | 90 + .../dynamic_search_ads_search_term_view.proto | 85 + .../expanded_landing_page_view.proto | 54 + .../googleads/v11/resources/experiment.proto | 106 + .../v11/resources/experiment_arm.proto | 84 + .../v11/resources/extension_feed_item.proto | 150 + .../ads/googleads/v11/resources/feed.proto | 189 + .../googleads/v11/resources/feed_item.proto | 214 + .../v11/resources/feed_item_set.proto | 83 + .../v11/resources/feed_item_set_link.proto | 65 + .../v11/resources/feed_item_target.proto | 107 + .../v11/resources/feed_mapping.proto | 188 + .../v11/resources/feed_placeholder_view.proto | 54 + .../googleads/v11/resources/gender_view.proto | 50 + .../v11/resources/geo_target_constant.proto | 81 + .../v11/resources/geographic_view.proto | 62 + .../v11/resources/google_ads_field.proto | 107 + .../v11/resources/group_placement_view.proto | 66 + .../v11/resources/hotel_group_view.proto | 50 + .../resources/hotel_performance_view.proto | 50 + .../v11/resources/hotel_reconciliation.proto | 116 + .../v11/resources/income_range_view.proto | 50 + .../ads/googleads/v11/resources/invoice.proto | 202 + .../v11/resources/keyword_plan.proto | 82 + .../v11/resources/keyword_plan_ad_group.proto | 70 + .../keyword_plan_ad_group_keyword.proto | 75 + .../v11/resources/keyword_plan_campaign.proto | 97 + .../keyword_plan_campaign_keyword.proto | 70 + .../resources/keyword_theme_constant.proto | 63 + .../v11/resources/keyword_view.proto | 50 + .../ads/googleads/v11/resources/label.proto | 65 + .../v11/resources/landing_page_view.proto | 54 + .../v11/resources/language_constant.proto | 63 + .../resources/lead_form_submission_data.proto | 105 + .../googleads/v11/resources/life_event.proto | 72 + .../v11/resources/location_view.proto | 51 + .../resources/managed_placement_view.proto | 50 + .../googleads/v11/resources/media_file.proto | 136 + .../v11/resources/merchant_center_link.proto | 63 + .../mobile_app_category_constant.proto | 56 + .../resources/mobile_device_constant.proto | 66 + .../v11/resources/offline_user_data_job.proto | 94 + .../operating_system_version_constant.proto | 69 + .../paid_organic_search_term_view.proto | 55 + .../v11/resources/parental_status_view.proto | 50 + .../v11/resources/payments_account.proto | 77 + .../product_bidding_category_constant.proto | 82 + .../v11/resources/product_group_view.proto | 50 + .../v11/resources/recommendation.proto | 434 + .../v11/resources/remarketing_action.proto | 65 + .../v11/resources/search_term_view.proto | 67 + .../v11/resources/shared_criterion.proto | 91 + .../googleads/v11/resources/shared_set.proto | 76 + .../resources/shopping_performance_view.proto | 54 + .../smart_campaign_search_term_view.proto | 61 + .../resources/smart_campaign_setting.proto | 110 + .../third_party_app_analytics_link.proto | 54 + .../v11/resources/topic_constant.proto | 70 + .../googleads/v11/resources/topic_view.proto | 50 + .../v11/resources/user_interest.proto | 75 + .../googleads/v11/resources/user_list.proto | 173 + .../v11/resources/user_location_view.proto | 61 + .../ads/googleads/v11/resources/video.proto | 62 + .../v11/resources/webpage_view.proto | 50 + .../ads/googleads/v11/services/BUILD.bazel | 138 + .../account_budget_proposal_service.proto | 132 + .../v11/services/account_link_service.proto | 164 + .../services/ad_group_ad_label_service.proto | 120 + .../v11/services/ad_group_ad_service.proto | 172 + .../v11/services/ad_group_asset_service.proto | 139 + .../ad_group_bid_modifier_service.proto | 151 + ...d_group_criterion_customizer_service.proto | 121 + .../ad_group_criterion_label_service.proto | 119 + .../services/ad_group_criterion_service.proto | 171 + .../ad_group_customizer_service.proto | 118 + .../ad_group_extension_setting_service.proto | 159 + .../v11/services/ad_group_feed_service.proto | 149 + .../v11/services/ad_group_label_service.proto | 121 + .../v11/services/ad_group_service.proto | 155 + .../v11/services/ad_parameter_service.proto | 139 + .../googleads/v11/services/ad_service.proto | 186 + .../services/asset_group_asset_service.proto | 115 + ...t_group_listing_group_filter_service.proto | 120 + .../v11/services/asset_group_service.proto | 108 + .../services/asset_group_signal_service.proto | 117 + .../v11/services/asset_service.proto | 150 + .../services/asset_set_asset_service.proto | 117 + .../v11/services/asset_set_service.proto | 123 + .../services/audience_insights_service.proto | 438 + .../v11/services/audience_service.proto | 118 + .../v11/services/batch_job_service.proto | 269 + .../bidding_data_exclusion_service.proto | 125 + ...dding_seasonality_adjustment_service.proto | 125 + .../services/bidding_strategy_service.proto | 154 + .../v11/services/billing_setup_service.proto | 112 + .../v11/services/campaign_asset_service.proto | 140 + .../services/campaign_asset_set_service.proto | 117 + .../campaign_bid_modifier_service.proto | 151 + .../services/campaign_budget_service.proto | 144 + .../campaign_conversion_goal_service.proto | 92 + .../services/campaign_criterion_service.proto | 155 + .../campaign_customizer_service.proto | 118 + .../v11/services/campaign_draft_service.proto | 236 + .../campaign_experiment_service.proto | 374 + .../campaign_extension_setting_service.proto | 158 + .../v11/services/campaign_feed_service.proto | 150 + .../v11/services/campaign_group_service.proto | 129 + .../v11/services/campaign_label_service.proto | 121 + .../v11/services/campaign_service.proto | 160 + .../campaign_shared_set_service.proto | 141 + .../services/conversion_action_service.proto | 144 + ...conversion_adjustment_upload_service.proto | 199 + .../conversion_custom_variable_service.proto | 132 + ...version_goal_campaign_config_service.proto | 103 + .../services/conversion_upload_service.proto | 347 + .../conversion_value_rule_service.proto | 128 + .../conversion_value_rule_set_service.proto | 128 + .../services/custom_audience_service.proto | 117 + .../custom_conversion_goal_service.proto | 114 + .../services/custom_interest_service.proto | 107 + .../v11/services/customer_asset_service.proto | 137 + .../customer_client_link_service.proto | 104 + .../customer_conversion_goal_service.proto | 92 + .../customer_customizer_service.proto | 118 + .../customer_extension_setting_service.proto | 156 + .../v11/services/customer_feed_service.proto | 149 + .../v11/services/customer_label_service.proto | 119 + .../customer_manager_link_service.proto | 157 + .../customer_negative_criterion_service.proto | 128 + .../v11/services/customer_service.proto | 192 + ...tomer_user_access_invitation_service.proto | 101 + .../customer_user_access_service.proto | 105 + .../customizer_attribute_service.proto | 122 + .../v11/services/experiment_arm_service.proto | 134 + .../v11/services/experiment_service.proto | 390 + .../extension_feed_item_service.proto | 152 + .../v11/services/feed_item_service.proto | 151 + .../services/feed_item_set_link_service.proto | 115 + .../v11/services/feed_item_set_service.proto | 123 + .../services/feed_item_target_service.proto | 138 + .../v11/services/feed_mapping_service.proto | 138 + .../googleads/v11/services/feed_service.proto | 150 + .../geo_target_constant_service.proto | 117 + .../services/google_ads_field_service.proto | 115 + .../v11/services/google_ads_service.proto | 1488 + .../v11/services/invoice_service.proto | 83 + ...eyword_plan_ad_group_keyword_service.proto | 139 + .../keyword_plan_ad_group_service.proto | 134 + ...eyword_plan_campaign_keyword_service.proto | 136 + .../keyword_plan_campaign_service.proto | 135 + .../services/keyword_plan_idea_service.proto | 352 + .../v11/services/keyword_plan_service.proto | 421 + .../keyword_theme_constant_service.proto | 77 + .../v11/services/label_service.proto | 145 + .../v11/services/media_file_service.proto | 131 + .../merchant_center_link_service.proto | 164 + .../offline_user_data_job_service.proto | 212 + .../services/payments_account_service.proto | 71 + .../v11/services/reach_plan_service.proto | 665 + .../v11/services/recommendation_service.proto | 316 + .../services/remarketing_action_service.proto | 116 + .../services/shared_criterion_service.proto | 139 + .../v11/services/shared_set_service.proto | 149 + .../smart_campaign_setting_service.proto | 111 + .../smart_campaign_suggest_service.proto | 226 + ...ird_party_app_analytics_link_service.proto | 69 + .../v11/services/user_data_service.proto | 104 + .../v11/services/user_list_service.proto | 136 + .../google/ads/googleads/v12/BUILD.bazel | 266 + .../ads/googleads/v12/common/BUILD.bazel | 94 + .../ads/googleads/v12/common/ad_asset.proto | 74 + .../googleads/v12/common/ad_type_infos.proto | 710 + .../googleads/v12/common/asset_policy.proto | 45 + .../v12/common/asset_set_types.proto | 180 + .../googleads/v12/common/asset_types.proto | 1023 + .../googleads/v12/common/asset_usage.proto | 39 + .../ads/googleads/v12/common/audiences.proto | 173 + .../ads/googleads/v12/common/bidding.proto | 208 + .../googleads/v12/common/click_location.proto | 46 + .../ads/googleads/v12/common/criteria.proto | 714 + .../criterion_category_availability.proto | 81 + .../v12/common/custom_parameter.proto | 38 + .../v12/common/customizer_value.proto | 44 + .../ads/googleads/v12/common/dates.proto | 58 + .../explorer_auto_optimizer_setting.proto | 36 + .../ads/googleads/v12/common/extensions.proto | 367 + .../googleads/v12/common/feed_common.proto | 37 + .../feed_item_set_filter_type_infos.proto | 57 + .../googleads/v12/common/final_app_url.proto | 45 + .../googleads/v12/common/frequency_cap.proto | 60 + .../v12/common/keyword_plan_common.proto | 148 + .../v12/common/matching_function.proto | 125 + .../googleads/v12/common/metric_goal.proto | 42 + .../ads/googleads/v12/common/metrics.proto | 754 + .../v12/common/offline_user_data.proto | 333 + .../ads/googleads/v12/common/policy.proto | 219 + .../googleads/v12/common/policy_summary.proto | 45 + .../common/real_time_bidding_setting.proto | 35 + .../ads/googleads/v12/common/segments.proto | 400 + .../ads/googleads/v12/common/simulation.proto | 356 + .../googleads/v12/common/tag_snippet.proto | 49 + .../v12/common/targeting_setting.proto | 84 + .../ads/googleads/v12/common/text_label.proto | 38 + .../googleads/v12/common/url_collection.proto | 43 + .../ads/googleads/v12/common/user_lists.proto | 292 + .../ads/googleads/v12/common/value.proto | 49 + .../ads/googleads/v12/enums/BUILD.bazel | 89 + .../v12/enums/access_invitation_status.proto | 53 + .../googleads/v12/enums/access_reason.proto | 55 + .../ads/googleads/v12/enums/access_role.proto | 53 + .../account_budget_proposal_status.proto | 61 + .../enums/account_budget_proposal_type.proto | 54 + .../v12/enums/account_budget_status.proto | 51 + .../v12/enums/account_link_status.proto | 61 + .../ad_customizer_placeholder_field.proto | 54 + .../v12/enums/ad_destination_type.proto | 75 + .../v12/enums/ad_group_ad_rotation_mode.proto | 51 + .../v12/enums/ad_group_ad_status.proto | 53 + .../ad_group_criterion_approval_status.proto | 54 + .../v12/enums/ad_group_criterion_status.proto | 53 + .../googleads/v12/enums/ad_group_status.proto | 53 + .../googleads/v12/enums/ad_group_type.proto | 94 + .../googleads/v12/enums/ad_network_type.proto | 60 + .../ad_serving_optimization_status.proto | 62 + .../ads/googleads/v12/enums/ad_strength.proto | 60 + .../ads/googleads/v12/enums/ad_type.proto | 132 + .../enums/advertising_channel_sub_type.proto | 101 + .../v12/enums/advertising_channel_type.proto | 77 + ...iate_location_feed_relationship_type.proto | 46 + ...affiliate_location_placeholder_field.proto | 75 + .../googleads/v12/enums/age_range_type.proto | 64 + .../v12/enums/app_campaign_app_store.proto | 48 + ..._campaign_bidding_strategy_goal_type.proto | 68 + .../v12/enums/app_payment_model_type.proto | 45 + .../v12/enums/app_placeholder_field.proto | 73 + .../ads/googleads/v12/enums/app_store.proto | 48 + .../enums/app_url_operating_system_type.proto | 48 + .../v12/enums/asset_field_type.proto | 118 + .../v12/enums/asset_group_status.proto | 51 + .../v12/enums/asset_link_status.proto | 51 + .../v12/enums/asset_performance_label.proto | 60 + .../v12/enums/asset_set_asset_status.proto | 49 + .../v12/enums/asset_set_link_status.proto | 50 + .../v12/enums/asset_set_status.proto | 49 + .../googleads/v12/enums/asset_set_type.proto | 86 + .../googleads/v12/enums/asset_source.proto | 49 + .../ads/googleads/v12/enums/asset_type.proto | 120 + .../v12/enums/async_action_status.proto | 57 + .../v12/enums/attribution_model.proto | 70 + .../enums/audience_insights_dimension.proto | 78 + .../googleads/v12/enums/audience_status.proto | 49 + .../v12/enums/batch_job_status.proto | 51 + .../v12/enums/bid_modifier_source.proto | 49 + .../googleads/v12/enums/bidding_source.proto | 53 + .../v12/enums/bidding_strategy_status.proto | 50 + .../bidding_strategy_system_status.proto | 139 + .../v12/enums/bidding_strategy_type.proto | 121 + .../v12/enums/billing_setup_status.proto | 56 + .../v12/enums/brand_safety_suitability.proto | 71 + .../budget_campaign_association_status.proto | 49 + .../v12/enums/budget_delivery_method.proto | 51 + .../googleads/v12/enums/budget_period.proto | 51 + .../googleads/v12/enums/budget_status.proto | 48 + .../ads/googleads/v12/enums/budget_type.proto | 71 + .../call_conversion_reporting_state.proto | 54 + .../v12/enums/call_placeholder_field.proto | 64 + .../v12/enums/call_to_action_type.proto | 69 + .../call_tracking_display_location.proto | 48 + .../ads/googleads/v12/enums/call_type.proto | 49 + .../v12/enums/callout_placeholder_field.proto | 45 + .../v12/enums/campaign_criterion_status.proto | 53 + .../v12/enums/campaign_draft_status.proto | 63 + .../v12/enums/campaign_experiment_type.proto | 57 + .../v12/enums/campaign_group_status.proto | 48 + .../v12/enums/campaign_primary_status.proto | 75 + .../campaign_primary_status_reason.proto | 147 + .../v12/enums/campaign_serving_status.proto | 59 + .../enums/campaign_shared_set_status.proto | 48 + .../googleads/v12/enums/campaign_status.proto | 51 + .../v12/enums/chain_relationship_type.proto | 48 + .../v12/enums/change_client_type.proto | 85 + .../enums/change_event_resource_type.proto | 101 + .../v12/enums/change_status_operation.proto | 52 + .../enums/change_status_resource_type.proto | 92 + .../ads/googleads/v12/enums/click_type.proto | 204 + .../v12/enums/combined_audience_status.proto | 49 + .../v12/enums/content_label_type.proto | 87 + .../enums/conversion_action_category.proto | 114 + .../conversion_action_counting_type.proto | 50 + .../v12/enums/conversion_action_status.proto | 52 + .../v12/enums/conversion_action_type.proto | 173 + .../enums/conversion_adjustment_type.proto | 54 + .../conversion_attribution_event_type.proto | 46 + .../conversion_custom_variable_status.proto | 56 + .../enums/conversion_environment_enum.proto | 47 + .../v12/enums/conversion_lag_bucket.proto | 115 + .../conversion_or_adjustment_lag_bucket.proto | 204 + .../v12/enums/conversion_origin.proto | 65 + .../conversion_tracking_status_enum.proto | 56 + ...version_value_rule_primary_dimension.proto | 64 + .../conversion_value_rule_set_status.proto | 53 + .../enums/conversion_value_rule_status.proto | 51 + ...n_category_channel_availability_mode.proto | 56 + ...on_category_locale_availability_mode.proto | 59 + .../criterion_system_serving_status.proto | 48 + .../googleads/v12/enums/criterion_type.proto | 144 + .../enums/custom_audience_member_type.proto | 54 + .../v12/enums/custom_audience_status.proto | 49 + .../v12/enums/custom_audience_type.proto | 56 + .../enums/custom_conversion_goal_status.proto | 48 + .../enums/custom_interest_member_type.proto | 48 + .../v12/enums/custom_interest_status.proto | 49 + .../v12/enums/custom_interest_type.proto | 48 + .../v12/enums/custom_placeholder_field.proto | 127 + .../customer_match_upload_key_type.proto | 51 + ...onversion_eligibility_failure_reason.proto | 66 + .../googleads/v12/enums/customer_status.proto | 56 + .../enums/customizer_attribute_status.proto | 48 + .../v12/enums/customizer_attribute_type.proto | 54 + .../v12/enums/customizer_value_status.proto | 48 + .../v12/enums/data_driven_model_status.proto | 60 + .../ads/googleads/v12/enums/day_of_week.proto | 63 + .../ads/googleads/v12/enums/device.proto | 57 + .../v12/enums/display_ad_format_setting.proto | 52 + .../enums/display_upload_product_type.proto | 95 + .../googleads/v12/enums/distance_bucket.proto | 125 + .../enums/dsa_page_feed_criterion_field.proto | 49 + .../enums/education_placeholder_field.proto | 109 + .../v12/enums/experiment_metric.proto | 81 + .../enums/experiment_metric_direction.proto | 59 + .../v12/enums/experiment_status.proto | 65 + .../googleads/v12/enums/experiment_type.proto | 72 + .../v12/enums/extension_setting_device.proto | 50 + .../googleads/v12/enums/extension_type.proto | 82 + .../enums/external_conversion_source.proto | 153 + .../v12/enums/feed_attribute_type.proto | 81 + .../feed_item_quality_approval_status.proto | 50 + ...feed_item_quality_disapproval_reason.proto | 97 + .../v12/enums/feed_item_set_status.proto | 48 + .../feed_item_set_string_filter_type.proto | 43 + .../v12/enums/feed_item_status.proto | 48 + .../v12/enums/feed_item_target_device.proto | 46 + .../v12/enums/feed_item_target_status.proto | 48 + .../v12/enums/feed_item_target_type.proto | 51 + .../enums/feed_item_validation_status.proto | 51 + .../v12/enums/feed_link_status.proto | 48 + .../enums/feed_mapping_criterion_type.proto | 48 + .../v12/enums/feed_mapping_status.proto | 48 + .../ads/googleads/v12/enums/feed_origin.proto | 51 + .../ads/googleads/v12/enums/feed_status.proto | 48 + .../v12/enums/flight_placeholder_field.proto | 116 + .../v12/enums/frequency_cap_event_type.proto | 48 + .../v12/enums/frequency_cap_level.proto | 52 + .../v12/enums/frequency_cap_time_unit.proto | 51 + .../ads/googleads/v12/enums/gender_type.proto | 51 + .../enums/geo_target_constant_status.proto | 50 + .../v12/enums/geo_targeting_restriction.proto | 47 + .../v12/enums/geo_targeting_type.proto | 48 + .../v12/enums/goal_config_level.proto | 50 + .../v12/enums/google_ads_field_category.proto | 59 + .../enums/google_ads_field_data_type.proto | 100 + .../v12/enums/google_voice_call_status.proto | 48 + .../v12/enums/hotel_date_selection_type.proto | 48 + .../v12/enums/hotel_placeholder_field.proto | 122 + .../v12/enums/hotel_price_bucket.proto | 57 + .../googleads/v12/enums/hotel_rate_type.proto | 60 + .../enums/hotel_reconciliation_status.proto | 60 + .../v12/enums/image_placeholder_field.proto | 45 + .../v12/enums/income_range_type.proto | 63 + .../v12/enums/interaction_event_type.proto | 60 + .../v12/enums/interaction_type.proto | 45 + .../googleads/v12/enums/invoice_type.proto | 48 + .../v12/enums/job_placeholder_field.proto | 113 + .../v12/enums/keyword_match_type.proto | 51 + .../keyword_plan_aggregate_metric_type.proto | 45 + .../keyword_plan_competition_level.proto | 55 + .../keyword_plan_concept_group_type.proto | 56 + .../keyword_plan_forecast_interval.proto | 54 + .../keyword_plan_keyword_annotation.proto | 45 + .../v12/enums/keyword_plan_network.proto | 48 + .../googleads/v12/enums/label_status.proto | 46 + .../enums/lead_form_call_to_action_type.proto | 82 + .../v12/enums/lead_form_desired_intent.proto | 46 + .../lead_form_field_user_input_type.proto | 487 + ...form_post_submit_call_to_action_type.proto | 53 + .../legacy_app_install_ad_app_store.proto | 57 + .../v12/enums/linked_account_type.proto | 58 + ..._group_filter_bidding_category_level.proto | 58 + ..._group_filter_custom_attribute_index.proto | 58 + ...listing_group_filter_product_channel.proto | 48 + ...sting_group_filter_product_condition.proto | 51 + ...ting_group_filter_product_type_level.proto | 57 + .../listing_group_filter_type_enum.proto | 51 + .../enums/listing_group_filter_vertical.proto | 46 + .../v12/enums/listing_group_type.proto | 50 + .../v12/enums/local_placeholder_field.proto | 117 + ..._extension_targeting_criterion_field.proto | 60 + .../enums/location_group_radius_units.proto | 51 + .../v12/enums/location_ownership_type.proto | 48 + .../enums/location_placeholder_field.proto | 66 + .../v12/enums/location_source_type.proto | 48 + .../enums/location_string_filter_type.proto | 45 + .../v12/enums/manager_link_status.proto | 57 + .../matching_function_context_type.proto | 51 + .../enums/matching_function_operator.proto | 63 + .../ads/googleads/v12/enums/media_type.proto | 62 + .../enums/merchant_center_link_status.proto | 51 + .../v12/enums/message_placeholder_field.proto | 59 + .../ads/googleads/v12/enums/mime_type.proto | 80 + .../googleads/v12/enums/minute_of_hour.proto | 54 + .../v12/enums/mobile_app_vendor.proto | 46 + .../v12/enums/mobile_device_type.proto | 48 + .../googleads/v12/enums/month_of_year.proto | 78 + .../v12/enums/negative_geo_target_type.proto | 50 + ...offline_user_data_job_failure_reason.proto | 61 + ...fline_user_data_job_match_rate_range.proto | 69 + .../enums/offline_user_data_job_status.proto | 54 + .../enums/offline_user_data_job_type.proto | 54 + ...erating_system_version_operator_type.proto | 48 + .../v12/enums/optimization_goal_type.proto | 56 + .../v12/enums/parental_status_type.proto | 51 + .../googleads/v12/enums/payment_mode.proto | 62 + .../performance_max_upgrade_status.proto | 55 + .../v12/enums/placeholder_type.proto | 122 + .../googleads/v12/enums/placement_type.proto | 57 + .../v12/enums/policy_approval_status.proto | 59 + .../v12/enums/policy_review_status.proto | 58 + .../v12/enums/policy_topic_entry_type.proto | 64 + ...idence_destination_mismatch_url_type.proto | 60 + ...dence_destination_not_working_device.proto | 55 + ...stination_not_working_dns_error_type.proto | 54 + .../v12/enums/positive_geo_target_type.proto | 56 + .../v12/enums/preferred_content_type.proto | 45 + .../price_extension_price_qualifier.proto | 51 + .../enums/price_extension_price_unit.proto | 60 + .../v12/enums/price_extension_type.proto | 69 + .../v12/enums/price_placeholder_field.proto | 246 + .../product_bidding_category_level.proto | 55 + .../product_bidding_category_status.proto | 48 + .../googleads/v12/enums/product_channel.proto | 48 + .../enums/product_channel_exclusivity.proto | 50 + .../v12/enums/product_condition.proto | 51 + .../product_custom_attribute_index.proto | 57 + .../v12/enums/product_type_level.proto | 57 + ...romotion_extension_discount_modifier.proto | 46 + .../enums/promotion_extension_occasion.proto | 155 + .../enums/promotion_placeholder_field.proto | 93 + .../v12/enums/proximity_radius_units.proto | 48 + .../v12/enums/quality_score_bucket.proto | 51 + .../v12/enums/reach_plan_age_range.proto | 120 + .../v12/enums/reach_plan_network.proto | 52 + .../enums/real_estate_placeholder_field.proto | 113 + .../v12/enums/recommendation_type.proto | 142 + .../v12/enums/resource_change_operation.proto | 53 + .../v12/enums/resource_limit_type.proto | 467 + .../v12/enums/response_content_type.proto | 46 + .../search_engine_results_page_type.proto | 52 + .../v12/enums/search_term_match_type.proto | 57 + .../enums/search_term_targeting_status.proto | 56 + .../v12/enums/seasonality_event_scope.proto | 57 + .../v12/enums/seasonality_event_status.proto | 51 + .../v12/enums/served_asset_field_type.proto | 59 + .../v12/enums/shared_set_status.proto | 48 + .../googleads/v12/enums/shared_set_type.proto | 48 + .../simulation_modification_method.proto | 57 + .../googleads/v12/enums/simulation_type.proto | 66 + .../enums/sitelink_placeholder_field.proto | 67 + .../enums/sk_ad_network_ad_event_type.proto | 52 + .../sk_ad_network_attribution_credit.proto | 53 + .../v12/enums/sk_ad_network_user_type.proto | 52 + .../google/ads/googleads/v12/enums/slot.proto | 63 + .../v12/enums/spending_limit_type.proto | 46 + ...structured_snippet_placeholder_field.proto | 53 + .../v12/enums/summary_row_setting.proto | 52 + .../enums/system_managed_entity_source.proto | 45 + ...arget_cpa_opt_in_recommendation_goal.proto | 55 + .../target_impression_share_location.proto | 53 + .../v12/enums/targeting_dimension.proto | 72 + .../ads/googleads/v12/enums/time_type.proto | 49 + .../v12/enums/tracking_code_page_format.proto | 48 + .../v12/enums/tracking_code_type.proto | 57 + .../v12/enums/travel_placeholder_field.proto | 126 + .../v12/enums/user_identifier_source.proto | 52 + .../enums/user_interest_taxonomy_type.proto | 57 + .../v12/enums/user_list_access_status.proto | 48 + .../v12/enums/user_list_closing_reason.proto | 46 + .../user_list_combined_rule_operator.proto | 46 + .../user_list_crm_data_source_type.proto | 49 + .../user_list_date_rule_item_operator.proto | 52 + .../user_list_flexible_rule_operator.proto | 46 + .../user_list_logical_rule_operator.proto | 49 + .../enums/user_list_membership_status.proto | 50 + .../user_list_number_rule_item_operator.proto | 58 + .../user_list_prepopulation_status.proto | 49 + .../v12/enums/user_list_rule_type.proto | 46 + .../v12/enums/user_list_size_range.proto | 90 + .../user_list_string_rule_item_operator.proto | 64 + .../googleads/v12/enums/user_list_type.proto | 61 + .../v12/enums/value_rule_device_type.proto | 52 + .../value_rule_geo_location_match_type.proto | 49 + .../v12/enums/value_rule_operation.proto | 52 + .../value_rule_set_attachment_type.proto | 48 + .../v12/enums/value_rule_set_dimension.proto | 55 + .../vanity_pharma_display_url_mode.proto | 48 + .../v12/enums/vanity_pharma_text.proto | 85 + .../googleads/v12/enums/video_thumbnail.proto | 57 + .../v12/enums/webpage_condition_operand.proto | 57 + .../enums/webpage_condition_operator.proto | 49 + .../ads/googleads/v12/errors/BUILD.bazel | 94 + .../v12/errors/access_invitation_error.proto | 67 + .../account_budget_proposal_error.proto | 124 + .../v12/errors/account_link_error.proto | 48 + .../v12/errors/ad_customizer_error.proto | 57 + .../ads/googleads/v12/errors/ad_error.proto | 528 + .../v12/errors/ad_group_ad_error.proto | 78 + .../errors/ad_group_bid_modifier_error.proto | 49 + .../ad_group_criterion_customizer_error.proto | 45 + .../v12/errors/ad_group_criterion_error.proto | 135 + .../errors/ad_group_customizer_error.proto | 42 + .../googleads/v12/errors/ad_group_error.proto | 89 + .../v12/errors/ad_group_feed_error.proto | 65 + .../v12/errors/ad_parameter_error.proto | 48 + .../v12/errors/ad_sharing_error.proto | 52 + .../ads/googleads/v12/errors/adx_error.proto | 45 + .../googleads/v12/errors/asset_error.proto | 154 + .../v12/errors/asset_group_asset_error.proto | 51 + .../v12/errors/asset_group_error.proto | 72 + ...set_group_listing_group_filter_error.proto | 83 + .../v12/errors/asset_link_error.proto | 119 + .../v12/errors/asset_set_asset_error.proto | 59 + .../v12/errors/asset_set_error.proto | 70 + .../v12/errors/asset_set_link_error.proto | 59 + .../googleads/v12/errors/audience_error.proto | 68 + .../v12/errors/audience_insights_error.proto | 46 + .../v12/errors/authentication_error.proto | 101 + .../v12/errors/authorization_error.proto | 93 + .../v12/errors/batch_job_error.proto | 61 + .../googleads/v12/errors/bidding_error.proto | 131 + .../v12/errors/bidding_strategy_error.proto | 59 + .../v12/errors/billing_setup_error.proto | 110 + .../v12/errors/campaign_budget_error.proto | 98 + .../campaign_conversion_goal_error.proto | 45 + .../v12/errors/campaign_criterion_error.proto | 116 + .../errors/campaign_customizer_error.proto | 42 + .../v12/errors/campaign_draft_error.proto | 77 + .../googleads/v12/errors/campaign_error.proto | 211 + .../errors/campaign_experiment_error.proto | 79 + .../v12/errors/campaign_feed_error.proto | 68 + .../errors/campaign_shared_set_error.proto | 45 + .../v12/errors/change_event_error.proto | 61 + .../v12/errors/change_status_error.proto | 61 + .../v12/errors/collection_size_error.proto | 48 + .../googleads/v12/errors/context_error.proto | 48 + .../v12/errors/conversion_action_error.proto | 80 + .../conversion_adjustment_upload_error.proto | 134 + .../conversion_custom_variable_error.proto | 52 + ...onversion_goal_campaign_config_error.proto | 53 + .../v12/errors/conversion_upload_error.proto | 209 + .../errors/conversion_value_rule_error.proto | 90 + .../conversion_value_rule_set_error.proto | 100 + .../v12/errors/country_code_error.proto | 45 + .../v12/errors/criterion_error.proto | 488 + .../v12/errors/currency_code_error.proto | 45 + .../v12/errors/custom_audience_error.proto | 66 + .../errors/custom_conversion_goal_error.proto | 59 + .../v12/errors/custom_interest_error.proto | 64 + .../errors/customer_client_link_error.proto | 66 + .../errors/customer_customizer_error.proto | 42 + .../googleads/v12/errors/customer_error.proto | 48 + .../v12/errors/customer_feed_error.proto | 64 + .../errors/customer_manager_link_error.proto | 73 + .../errors/customer_user_access_error.proto | 58 + .../errors/customizer_attribute_error.proto | 46 + .../googleads/v12/errors/database_error.proto | 54 + .../ads/googleads/v12/errors/date_error.proto | 72 + .../v12/errors/date_range_error.proto | 57 + .../googleads/v12/errors/distinct_error.proto | 48 + .../ads/googleads/v12/errors/enum_error.proto | 45 + .../ads/googleads/v12/errors/errors.proto | 743 + .../v12/errors/experiment_arm_error.proto | 86 + .../v12/errors/experiment_error.proto | 120 + .../errors/extension_feed_item_error.proto | 193 + .../v12/errors/extension_setting_error.proto | 259 + .../feed_attribute_reference_error.proto | 51 + .../ads/googleads/v12/errors/feed_error.proto | 112 + .../v12/errors/feed_item_error.proto | 72 + .../v12/errors/feed_item_set_error.proto | 69 + .../v12/errors/feed_item_set_link_error.proto | 49 + .../v12/errors/feed_item_target_error.proto | 68 + .../errors/feed_item_validation_error.proto | 375 + .../v12/errors/feed_mapping_error.proto | 101 + .../googleads/v12/errors/field_error.proto | 66 + .../v12/errors/field_mask_error.proto | 56 + .../googleads/v12/errors/function_error.proto | 91 + .../v12/errors/function_parsing_error.proto | 75 + ...geo_target_constant_suggestion_error.proto | 54 + .../googleads/v12/errors/header_error.proto | 48 + .../ads/googleads/v12/errors/id_error.proto | 45 + .../googleads/v12/errors/image_error.proto | 162 + .../googleads/v12/errors/internal_error.proto | 56 + .../googleads/v12/errors/invoice_error.proto | 58 + .../errors/keyword_plan_ad_group_error.proto | 51 + .../keyword_plan_ad_group_keyword_error.proto | 70 + .../errors/keyword_plan_campaign_error.proto | 63 + .../keyword_plan_campaign_keyword_error.proto | 47 + .../v12/errors/keyword_plan_error.proto | 89 + .../v12/errors/keyword_plan_idea_error.proto | 48 + .../googleads/v12/errors/label_error.proto | 71 + .../v12/errors/language_code_error.proto | 48 + .../v12/errors/list_operation_error.proto | 48 + .../v12/errors/manager_link_error.proto | 101 + .../v12/errors/media_bundle_error.proto | 108 + .../v12/errors/media_file_error.proto | 111 + .../v12/errors/media_upload_error.proto | 150 + .../v12/errors/merchant_center_error.proto | 48 + .../v12/errors/multiplier_error.proto | 80 + .../googleads/v12/errors/mutate_error.proto | 70 + .../errors/new_resource_creation_error.proto | 52 + .../v12/errors/not_allowlisted_error.proto | 45 + .../v12/errors/not_empty_error.proto | 45 + .../ads/googleads/v12/errors/null_error.proto | 45 + .../errors/offline_user_data_job_error.proto | 173 + .../operation_access_denied_error.proto | 72 + .../googleads/v12/errors/operator_error.proto | 45 + .../v12/errors/partial_failure_error.proto | 46 + .../v12/errors/payments_account_error.proto | 45 + .../v12/errors/policy_finding_error.proto | 49 + .../policy_validation_parameter_error.proto | 52 + .../v12/errors/policy_violation_error.proto | 45 + .../googleads/v12/errors/query_error.proto | 225 + .../googleads/v12/errors/quota_error.proto | 51 + .../googleads/v12/errors/range_error.proto | 48 + .../v12/errors/reach_plan_error.proto | 46 + .../v12/errors/recommendation_error.proto | 88 + .../v12/errors/region_code_error.proto | 45 + .../googleads/v12/errors/request_error.proto | 117 + .../errors/resource_access_denied_error.proto | 45 + .../resource_count_limit_exceeded_error.proto | 91 + .../googleads/v12/errors/setting_error.proto | 88 + .../v12/errors/shared_criterion_error.proto | 45 + .../v12/errors/shared_set_error.proto | 54 + .../v12/errors/size_limit_error.proto | 50 + .../v12/errors/smart_campaign_error.proto | 64 + .../v12/errors/string_format_error.proto | 48 + .../v12/errors/string_length_error.proto | 52 + ...third_party_app_analytics_link_error.proto | 55 + .../v12/errors/time_zone_error.proto | 45 + .../v12/errors/url_field_error.proto | 216 + .../v12/errors/user_data_error.proto | 52 + .../v12/errors/user_list_error.proto | 127 + .../youtube_video_registration_error.proto | 51 + .../ads/googleads/v12/googleads_gapic.yaml | 26 + .../v12/googleads_grpc_service_config.json | 330 + .../ads/googleads/v12/googleads_v12.yaml | 817 + .../ads/googleads/v12/resources/BUILD.bazel | 97 + .../accessible_bidding_strategy.proto | 171 + .../v12/resources/account_budget.proto | 253 + .../resources/account_budget_proposal.proto | 161 + .../v12/resources/account_link.proto | 150 + .../ads/googleads/v12/resources/ad.proto | 193 + .../googleads/v12/resources/ad_group.proto | 214 + .../googleads/v12/resources/ad_group_ad.proto | 102 + .../ad_group_ad_asset_combination_view.proto | 64 + .../resources/ad_group_ad_asset_view.proto | 109 + .../v12/resources/ad_group_ad_label.proto | 65 + .../v12/resources/ad_group_asset.proto | 83 + .../v12/resources/ad_group_asset_set.proto | 71 + .../resources/ad_group_audience_view.proto | 53 + .../v12/resources/ad_group_bid_modifier.proto | 111 + .../v12/resources/ad_group_criterion.proto | 293 + .../ad_group_criterion_customizer.proto | 76 + .../resources/ad_group_criterion_label.proto | 65 + .../ad_group_criterion_simulation.proto | 89 + .../v12/resources/ad_group_customizer.proto | 75 + .../ad_group_extension_setting.proto | 78 + .../v12/resources/ad_group_feed.proto | 82 + .../v12/resources/ad_group_label.proto | 65 + .../v12/resources/ad_group_simulation.proto | 93 + .../v12/resources/ad_parameter.proto | 81 + .../v12/resources/ad_schedule_view.proto | 51 + .../v12/resources/age_range_view.proto | 50 + .../ads/googleads/v12/resources/asset.proto | 186 + .../v12/resources/asset_field_type_view.proto | 56 + .../googleads/v12/resources/asset_group.proto | 91 + .../v12/resources/asset_group_asset.proto | 82 + .../asset_group_listing_group_filter.proto | 172 + .../asset_group_product_group_view.proto | 66 + .../v12/resources/asset_group_signal.proto | 63 + .../googleads/v12/resources/asset_set.proto | 102 + .../v12/resources/asset_set_asset.proto | 69 + .../v12/resources/asset_set_type_view.proto | 57 + .../googleads/v12/resources/audience.proto | 76 + .../googleads/v12/resources/batch_job.proto | 97 + .../resources/bidding_data_exclusion.proto | 107 + .../bidding_seasonality_adjustment.proto | 113 + .../v12/resources/bidding_strategy.proto | 145 + .../bidding_strategy_simulation.proto | 81 + .../v12/resources/billing_setup.proto | 139 + .../googleads/v12/resources/call_view.proto | 79 + .../googleads/v12/resources/campaign.proto | 566 + .../v12/resources/campaign_asset.proto | 79 + .../v12/resources/campaign_asset_set.proto | 71 + .../resources/campaign_audience_view.proto | 54 + .../v12/resources/campaign_bid_modifier.proto | 75 + .../v12/resources/campaign_budget.proto | 162 + .../resources/campaign_conversion_goal.proto | 68 + .../v12/resources/campaign_criterion.proto | 180 + .../campaign_criterion_simulation.proto | 82 + .../v12/resources/campaign_customizer.proto | 75 + .../v12/resources/campaign_draft.proto | 97 + .../campaign_extension_setting.proto | 78 + .../v12/resources/campaign_feed.proto | 82 + .../v12/resources/campaign_group.proto | 68 + .../v12/resources/campaign_label.proto | 65 + .../v12/resources/campaign_shared_set.proto | 76 + .../v12/resources/campaign_simulation.proto | 101 + .../v12/resources/carrier_constant.proto | 60 + .../v12/resources/change_event.proto | 208 + .../v12/resources/change_status.proto | 192 + .../googleads/v12/resources/click_view.proto | 107 + .../v12/resources/combined_audience.proto | 66 + .../v12/resources/conversion_action.proto | 197 + .../conversion_custom_variable.proto | 85 + .../conversion_goal_campaign_config.proto | 65 + .../v12/resources/conversion_value_rule.proto | 134 + .../resources/conversion_value_rule_set.proto | 99 + .../v12/resources/currency_constant.proto | 64 + .../v12/resources/custom_audience.proto | 106 + .../resources/custom_conversion_goal.proto | 63 + .../v12/resources/custom_interest.proto | 88 + .../googleads/v12/resources/customer.proto | 188 + .../v12/resources/customer_asset.proto | 74 + .../v12/resources/customer_asset_set.proto | 71 + .../v12/resources/customer_client.proto | 104 + .../v12/resources/customer_client_link.proto | 69 + .../resources/customer_conversion_goal.proto | 63 + .../v12/resources/customer_customizer.proto | 67 + .../customer_extension_setting.proto | 66 + .../v12/resources/customer_feed.proto | 74 + .../v12/resources/customer_label.proto | 71 + .../v12/resources/customer_manager_link.proto | 64 + .../customer_negative_criterion.proto | 81 + .../v12/resources/customer_user_access.proto | 71 + .../customer_user_access_invitation.proto | 72 + .../v12/resources/customizer_attribute.proto | 71 + .../v12/resources/detail_placement_view.proto | 71 + .../v12/resources/detailed_demographic.proto | 73 + .../v12/resources/display_keyword_view.proto | 50 + .../v12/resources/distance_view.proto | 61 + .../v12/resources/domain_category.proto | 90 + .../dynamic_search_ads_search_term_view.proto | 85 + .../expanded_landing_page_view.proto | 54 + .../googleads/v12/resources/experiment.proto | 106 + .../v12/resources/experiment_arm.proto | 84 + .../v12/resources/extension_feed_item.proto | 150 + .../ads/googleads/v12/resources/feed.proto | 189 + .../googleads/v12/resources/feed_item.proto | 214 + .../v12/resources/feed_item_set.proto | 83 + .../v12/resources/feed_item_set_link.proto | 65 + .../v12/resources/feed_item_target.proto | 107 + .../v12/resources/feed_mapping.proto | 188 + .../v12/resources/feed_placeholder_view.proto | 54 + .../googleads/v12/resources/gender_view.proto | 50 + .../v12/resources/geo_target_constant.proto | 81 + .../v12/resources/geographic_view.proto | 62 + .../v12/resources/google_ads_field.proto | 107 + .../v12/resources/group_placement_view.proto | 66 + .../v12/resources/hotel_group_view.proto | 50 + .../resources/hotel_performance_view.proto | 50 + .../v12/resources/hotel_reconciliation.proto | 116 + .../v12/resources/income_range_view.proto | 50 + .../ads/googleads/v12/resources/invoice.proto | 282 + .../v12/resources/keyword_plan.proto | 82 + .../v12/resources/keyword_plan_ad_group.proto | 70 + .../keyword_plan_ad_group_keyword.proto | 75 + .../v12/resources/keyword_plan_campaign.proto | 97 + .../keyword_plan_campaign_keyword.proto | 70 + .../resources/keyword_theme_constant.proto | 63 + .../v12/resources/keyword_view.proto | 50 + .../ads/googleads/v12/resources/label.proto | 65 + .../v12/resources/landing_page_view.proto | 54 + .../v12/resources/language_constant.proto | 63 + .../resources/lead_form_submission_data.proto | 118 + .../googleads/v12/resources/life_event.proto | 72 + .../v12/resources/location_view.proto | 51 + .../resources/managed_placement_view.proto | 50 + .../googleads/v12/resources/media_file.proto | 136 + .../v12/resources/merchant_center_link.proto | 63 + .../mobile_app_category_constant.proto | 56 + .../resources/mobile_device_constant.proto | 66 + .../v12/resources/offline_user_data_job.proto | 94 + .../operating_system_version_constant.proto | 69 + .../paid_organic_search_term_view.proto | 55 + .../v12/resources/parental_status_view.proto | 50 + .../v12/resources/payments_account.proto | 77 + .../v12/resources/per_store_view.proto | 55 + .../product_bidding_category_constant.proto | 82 + .../v12/resources/product_group_view.proto | 50 + .../v12/resources/recommendation.proto | 476 + .../v12/resources/remarketing_action.proto | 65 + .../v12/resources/search_term_view.proto | 67 + .../v12/resources/shared_criterion.proto | 91 + .../googleads/v12/resources/shared_set.proto | 76 + .../resources/shopping_performance_view.proto | 54 + .../smart_campaign_search_term_view.proto | 61 + .../resources/smart_campaign_setting.proto | 110 + .../third_party_app_analytics_link.proto | 54 + .../v12/resources/topic_constant.proto | 70 + .../googleads/v12/resources/topic_view.proto | 50 + .../v12/resources/user_interest.proto | 75 + .../googleads/v12/resources/user_list.proto | 173 + .../v12/resources/user_location_view.proto | 61 + .../ads/googleads/v12/resources/video.proto | 62 + .../v12/resources/webpage_view.proto | 50 + .../ads/googleads/v12/services/BUILD.bazel | 138 + .../account_budget_proposal_service.proto | 132 + .../v12/services/account_link_service.proto | 164 + .../services/ad_group_ad_label_service.proto | 120 + .../v12/services/ad_group_ad_service.proto | 172 + .../v12/services/ad_group_asset_service.proto | 139 + .../services/ad_group_asset_set_service.proto | 117 + .../ad_group_bid_modifier_service.proto | 151 + ...d_group_criterion_customizer_service.proto | 121 + .../ad_group_criterion_label_service.proto | 119 + .../services/ad_group_criterion_service.proto | 171 + .../ad_group_customizer_service.proto | 118 + .../ad_group_extension_setting_service.proto | 159 + .../v12/services/ad_group_feed_service.proto | 149 + .../v12/services/ad_group_label_service.proto | 121 + .../v12/services/ad_group_service.proto | 155 + .../v12/services/ad_parameter_service.proto | 139 + .../googleads/v12/services/ad_service.proto | 186 + .../services/asset_group_asset_service.proto | 115 + ...t_group_listing_group_filter_service.proto | 120 + .../v12/services/asset_group_service.proto | 108 + .../services/asset_group_signal_service.proto | 117 + .../v12/services/asset_service.proto | 150 + .../services/asset_set_asset_service.proto | 117 + .../v12/services/asset_set_service.proto | 123 + .../services/audience_insights_service.proto | 484 + .../v12/services/audience_service.proto | 118 + .../v12/services/batch_job_service.proto | 269 + .../bidding_data_exclusion_service.proto | 125 + ...dding_seasonality_adjustment_service.proto | 125 + .../services/bidding_strategy_service.proto | 154 + .../v12/services/billing_setup_service.proto | 112 + .../v12/services/campaign_asset_service.proto | 140 + .../services/campaign_asset_set_service.proto | 117 + .../campaign_bid_modifier_service.proto | 151 + .../services/campaign_budget_service.proto | 144 + .../campaign_conversion_goal_service.proto | 92 + .../services/campaign_criterion_service.proto | 155 + .../campaign_customizer_service.proto | 118 + .../v12/services/campaign_draft_service.proto | 236 + .../campaign_extension_setting_service.proto | 158 + .../v12/services/campaign_feed_service.proto | 150 + .../v12/services/campaign_group_service.proto | 129 + .../v12/services/campaign_label_service.proto | 121 + .../v12/services/campaign_service.proto | 160 + .../campaign_shared_set_service.proto | 141 + .../services/conversion_action_service.proto | 144 + ...conversion_adjustment_upload_service.proto | 199 + .../conversion_custom_variable_service.proto | 132 + ...version_goal_campaign_config_service.proto | 103 + .../services/conversion_upload_service.proto | 367 + .../conversion_value_rule_service.proto | 128 + .../conversion_value_rule_set_service.proto | 128 + .../services/custom_audience_service.proto | 117 + .../custom_conversion_goal_service.proto | 114 + .../services/custom_interest_service.proto | 107 + .../v12/services/customer_asset_service.proto | 137 + .../services/customer_asset_set_service.proto | 117 + .../customer_client_link_service.proto | 104 + .../customer_conversion_goal_service.proto | 92 + .../customer_customizer_service.proto | 118 + .../customer_extension_setting_service.proto | 156 + .../v12/services/customer_feed_service.proto | 149 + .../v12/services/customer_label_service.proto | 119 + .../customer_manager_link_service.proto | 157 + .../customer_negative_criterion_service.proto | 128 + .../v12/services/customer_service.proto | 192 + ...tomer_user_access_invitation_service.proto | 101 + .../customer_user_access_service.proto | 105 + .../customizer_attribute_service.proto | 122 + .../v12/services/experiment_arm_service.proto | 134 + .../v12/services/experiment_service.proto | 390 + .../extension_feed_item_service.proto | 152 + .../v12/services/feed_item_service.proto | 151 + .../services/feed_item_set_link_service.proto | 115 + .../v12/services/feed_item_set_service.proto | 123 + .../services/feed_item_target_service.proto | 138 + .../v12/services/feed_mapping_service.proto | 138 + .../googleads/v12/services/feed_service.proto | 150 + .../geo_target_constant_service.proto | 117 + .../services/google_ads_field_service.proto | 115 + .../v12/services/google_ads_service.proto | 1493 + .../v12/services/invoice_service.proto | 83 + ...eyword_plan_ad_group_keyword_service.proto | 139 + .../keyword_plan_ad_group_service.proto | 134 + ...eyword_plan_campaign_keyword_service.proto | 136 + .../keyword_plan_campaign_service.proto | 135 + .../services/keyword_plan_idea_service.proto | 353 + .../v12/services/keyword_plan_service.proto | 421 + .../keyword_theme_constant_service.proto | 77 + .../v12/services/label_service.proto | 145 + .../v12/services/media_file_service.proto | 131 + .../merchant_center_link_service.proto | 164 + .../offline_user_data_job_service.proto | 212 + .../services/payments_account_service.proto | 71 + .../v12/services/reach_plan_service.proto | 594 + .../v12/services/recommendation_service.proto | 346 + .../services/remarketing_action_service.proto | 116 + .../services/shared_criterion_service.proto | 139 + .../v12/services/shared_set_service.proto | 149 + .../smart_campaign_setting_service.proto | 111 + .../smart_campaign_suggest_service.proto | 240 + ...ird_party_app_analytics_link_service.proto | 69 + .../v12/services/user_data_service.proto | 104 + .../v12/services/user_list_service.proto | 136 + .../ads/googleads/v2/common/ad_asset.proto | 63 - .../googleads/v2/common/ad_type_infos.proto | 583 - .../ads/googleads/v2/common/asset_types.proto | 82 - .../ads/googleads/v2/common/bidding.proto | 234 - .../googleads/v2/common/click_location.proto | 50 - .../ads/googleads/v2/common/criteria.proto | 594 - .../criterion_category_availability.proto | 84 - .../v2/common/custom_parameter.proto | 42 - .../ads/googleads/v2/common/dates.proto | 41 - .../explorer_auto_optimizer_setting.proto | 40 - .../ads/googleads/v2/common/extensions.proto | 358 - .../ads/googleads/v2/common/feed_common.proto | 41 - .../googleads/v2/common/final_app_url.proto | 48 - .../googleads/v2/common/frequency_cap.proto | 63 - .../v2/common/keyword_plan_common.proto | 42 - .../v2/common/matching_function.proto | 128 - .../ads/googleads/v2/common/metrics.proto | 534 - .../ads/googleads/v2/common/policy.proto | 224 - .../v2/common/real_time_bidding_setting.proto | 39 - .../ads/googleads/v2/common/segments.proto | 314 - .../ads/googleads/v2/common/simulation.proto | 173 - .../ads/googleads/v2/common/tag_snippet.proto | 52 - .../v2/common/targeting_setting.proto | 57 - .../ads/googleads/v2/common/text_label.proto | 42 - .../googleads/v2/common/url_collection.proto | 47 - .../ads/googleads/v2/common/user_lists.proto | 293 - .../ads/googleads/v2/common/value.proto | 52 - .../googleads/v2/enums/access_reason.proto | 58 - .../ads/googleads/v2/enums/access_role.proto | 52 - .../account_budget_proposal_status.proto | 64 - .../enums/account_budget_proposal_type.proto | 57 - .../v2/enums/account_budget_status.proto | 54 - .../ad_customizer_placeholder_field.proto | 57 - .../v2/enums/ad_group_ad_rotation_mode.proto | 54 - .../v2/enums/ad_group_ad_status.proto | 56 - .../ad_group_criterion_approval_status.proto | 57 - .../v2/enums/ad_group_criterion_status.proto | 56 - .../googleads/v2/enums/ad_group_status.proto | 56 - .../googleads/v2/enums/ad_group_type.proto | 85 - .../googleads/v2/enums/ad_network_type.proto | 63 - .../ad_serving_optimization_status.proto | 65 - .../ads/googleads/v2/enums/ad_strength.proto | 63 - .../ads/googleads/v2/enums/ad_type.proto | 105 - .../enums/advertising_channel_sub_type.proto | 88 - .../v2/enums/advertising_channel_type.proto | 65 - ...iate_location_feed_relationship_type.proto | 49 - ...affiliate_location_placeholder_field.proto | 78 - .../googleads/v2/enums/age_range_type.proto | 66 - .../v2/enums/app_campaign_app_store.proto | 51 - ..._campaign_bidding_strategy_goal_type.proto | 65 - .../v2/enums/app_payment_model_type.proto | 48 - .../v2/enums/app_placeholder_field.proto | 76 - .../ads/googleads/v2/enums/app_store.proto | 51 - .../enums/app_url_operating_system_type.proto | 51 - .../googleads/v2/enums/asset_field_type.proto | 63 - .../v2/enums/asset_performance_label.proto | 63 - .../ads/googleads/v2/enums/asset_type.proto | 57 - .../v2/enums/attribution_model.proto | 73 - .../v2/enums/bid_modifier_source.proto | 52 - .../googleads/v2/enums/bidding_source.proto | 56 - .../v2/enums/bidding_strategy_status.proto | 53 - .../v2/enums/bidding_strategy_type.proto | 111 - .../v2/enums/billing_setup_status.proto | 59 - .../v2/enums/brand_safety_suitability.proto | 74 - .../v2/enums/budget_delivery_method.proto | 54 - .../googleads/v2/enums/budget_period.proto | 54 - .../googleads/v2/enums/budget_status.proto | 51 - .../ads/googleads/v2/enums/budget_type.proto | 67 - .../call_conversion_reporting_state.proto | 57 - .../v2/enums/call_placeholder_field.proto | 67 - .../v2/enums/callout_placeholder_field.proto | 48 - .../v2/enums/campaign_criterion_status.proto | 56 - .../v2/enums/campaign_draft_status.proto | 66 - .../v2/enums/campaign_experiment_status.proto | 78 - ...mpaign_experiment_traffic_split_type.proto | 54 - .../v2/enums/campaign_experiment_type.proto | 60 - .../v2/enums/campaign_serving_status.proto | 62 - .../v2/enums/campaign_shared_set_status.proto | 51 - .../googleads/v2/enums/campaign_status.proto | 54 - .../v2/enums/change_status_operation.proto | 55 - .../enums/change_status_resource_type.proto | 77 - .../ads/googleads/v2/enums/click_type.proto | 204 - .../v2/enums/content_label_type.proto | 93 - .../v2/enums/conversion_action_category.proto | 62 - .../conversion_action_counting_type.proto | 53 - .../v2/enums/conversion_action_status.proto | 55 - .../v2/enums/conversion_action_type.proto | 74 - .../v2/enums/conversion_adjustment_type.proto | 53 - .../conversion_attribution_event_type.proto | 49 - .../v2/enums/conversion_lag_bucket.proto | 118 - .../conversion_or_adjustment_lag_bucket.proto | 207 - ...n_category_channel_availability_mode.proto | 59 - ...on_category_locale_availability_mode.proto | 62 - .../criterion_system_serving_status.proto | 51 - .../googleads/v2/enums/criterion_type.proto | 135 - .../enums/custom_interest_member_type.proto | 51 - .../v2/enums/custom_interest_status.proto | 52 - .../v2/enums/custom_interest_type.proto | 51 - .../v2/enums/custom_placeholder_field.proto | 130 - .../customer_match_upload_key_type.proto | 54 - ...onversion_eligibility_failure_reason.proto | 69 - .../v2/enums/data_driven_model_status.proto | 63 - .../ads/googleads/v2/enums/day_of_week.proto | 66 - .../ads/googleads/v2/enums/device.proto | 60 - .../v2/enums/display_ad_format_setting.proto | 55 - .../enums/display_upload_product_type.proto | 98 - .../googleads/v2/enums/distance_bucket.proto | 128 - .../enums/dsa_page_feed_criterion_field.proto | 52 - .../enums/education_placeholder_field.proto | 112 - .../v2/enums/extension_setting_device.proto | 53 - .../googleads/v2/enums/extension_type.proto | 82 - .../v2/enums/external_conversion_source.proto | 131 - .../v2/enums/feed_attribute_type.proto | 84 - .../feed_item_quality_approval_status.proto | 53 - ...feed_item_quality_disapproval_reason.proto | 100 - .../googleads/v2/enums/feed_item_status.proto | 51 - .../v2/enums/feed_item_target_device.proto | 49 - .../v2/enums/feed_item_target_type.proto | 54 - .../enums/feed_item_validation_status.proto | 54 - .../googleads/v2/enums/feed_link_status.proto | 51 - .../enums/feed_mapping_criterion_type.proto | 51 - .../v2/enums/feed_mapping_status.proto | 51 - .../ads/googleads/v2/enums/feed_origin.proto | 54 - .../ads/googleads/v2/enums/feed_status.proto | 51 - .../v2/enums/flight_placeholder_field.proto | 119 - .../v2/enums/frequency_cap_event_type.proto | 51 - .../v2/enums/frequency_cap_level.proto | 55 - .../v2/enums/frequency_cap_time_unit.proto | 54 - .../ads/googleads/v2/enums/gender_type.proto | 54 - .../v2/enums/geo_target_constant_status.proto | 53 - .../v2/enums/geo_targeting_restriction.proto | 50 - .../v2/enums/geo_targeting_type.proto | 51 - .../v2/enums/google_ads_field_category.proto | 62 - .../v2/enums/google_ads_field_data_type.proto | 103 - .../v2/enums/hotel_date_selection_type.proto | 51 - .../v2/enums/hotel_placeholder_field.proto | 125 - .../v2/enums/hotel_price_bucket.proto | 53 - .../googleads/v2/enums/hotel_rate_type.proto | 63 - .../v2/enums/income_range_type.proto | 66 - .../v2/enums/interaction_event_type.proto | 63 - .../googleads/v2/enums/interaction_type.proto | 48 - .../ads/googleads/v2/enums/invoice_type.proto | 51 - .../v2/enums/job_placeholder_field.proto | 116 - .../v2/enums/keyword_match_type.proto | 54 - .../keyword_plan_competition_level.proto | 58 - .../keyword_plan_forecast_interval.proto | 57 - .../v2/enums/keyword_plan_network.proto | 51 - .../ads/googleads/v2/enums/label_status.proto | 49 - .../legacy_app_install_ad_app_store.proto | 60 - .../listing_custom_attribute_index.proto | 60 - .../v2/enums/listing_group_type.proto | 53 - .../v2/enums/local_placeholder_field.proto | 120 - ..._extension_targeting_criterion_field.proto | 63 - .../enums/location_group_radius_units.proto | 51 - .../v2/enums/location_placeholder_field.proto | 69 - .../v2/enums/manager_link_status.proto | 60 - .../matching_function_context_type.proto | 51 - .../v2/enums/matching_function_operator.proto | 66 - .../ads/googleads/v2/enums/media_type.proto | 65 - .../enums/merchant_center_link_status.proto | 54 - .../v2/enums/message_placeholder_field.proto | 62 - .../ads/googleads/v2/enums/mime_type.proto | 83 - .../googleads/v2/enums/minute_of_hour.proto | 57 - .../v2/enums/mobile_device_type.proto | 51 - .../googleads/v2/enums/month_of_year.proto | 81 - .../v2/enums/mutate_job_status.proto | 54 - .../v2/enums/negative_geo_target_type.proto | 53 - ...erating_system_version_operator_type.proto | 51 - .../page_one_promoted_strategy_goal.proto | 52 - .../v2/enums/parental_status_type.proto | 54 - .../ads/googleads/v2/enums/payment_mode.proto | 60 - .../googleads/v2/enums/placeholder_type.proto | 122 - .../googleads/v2/enums/placement_type.proto | 60 - .../v2/enums/policy_approval_status.proto | 62 - .../v2/enums/policy_review_status.proto | 61 - .../v2/enums/policy_topic_entry_type.proto | 67 - ...idence_destination_mismatch_url_type.proto | 63 - ...dence_destination_not_working_device.proto | 58 - ...stination_not_working_dns_error_type.proto | 57 - .../v2/enums/positive_geo_target_type.proto | 57 - .../v2/enums/preferred_content_type.proto | 48 - .../price_extension_price_qualifier.proto | 54 - .../v2/enums/price_extension_price_unit.proto | 63 - .../v2/enums/price_extension_type.proto | 72 - .../v2/enums/price_placeholder_field.proto | 241 - .../product_bidding_category_level.proto | 58 - .../product_bidding_category_status.proto | 51 - .../googleads/v2/enums/product_channel.proto | 51 - .../enums/product_channel_exclusivity.proto | 53 - .../v2/enums/product_condition.proto | 54 - .../v2/enums/product_type_level.proto | 60 - ...romotion_extension_discount_modifier.proto | 49 - .../enums/promotion_extension_occasion.proto | 158 - .../enums/promotion_placeholder_field.proto | 96 - .../v2/enums/proximity_radius_units.proto | 51 - .../v2/enums/quality_score_bucket.proto | 54 - .../v2/enums/reach_plan_ad_length.proto | 54 - .../v2/enums/reach_plan_age_range.proto | 123 - .../enums/real_estate_placeholder_field.proto | 116 - .../v2/enums/recommendation_type.proto | 93 - .../search_engine_results_page_type.proto | 55 - .../v2/enums/search_term_match_type.proto | 60 - .../enums/search_term_targeting_status.proto | 59 - .../v2/enums/served_asset_field_type.proto | 62 - .../v2/enums/shared_set_status.proto | 51 - .../googleads/v2/enums/shared_set_type.proto | 51 - .../simulation_modification_method.proto | 55 - .../googleads/v2/enums/simulation_type.proto | 57 - .../v2/enums/sitelink_placeholder_field.proto | 70 - .../google/ads/googleads/v2/enums/slot.proto | 66 - .../v2/enums/spending_limit_type.proto | 49 - ...structured_snippet_placeholder_field.proto | 56 - .../enums/system_managed_entity_source.proto | 48 - ...arget_cpa_opt_in_recommendation_goal.proto | 58 - .../target_impression_share_location.proto | 56 - .../v2/enums/targeting_dimension.proto | 75 - .../ads/googleads/v2/enums/time_type.proto | 52 - .../v2/enums/tracking_code_page_format.proto | 51 - .../v2/enums/tracking_code_type.proto | 60 - .../v2/enums/travel_placeholder_field.proto | 129 - .../enums/user_interest_taxonomy_type.proto | 60 - .../v2/enums/user_list_access_status.proto | 51 - .../v2/enums/user_list_closing_reason.proto | 49 - .../user_list_combined_rule_operator.proto | 49 - .../user_list_crm_data_source_type.proto | 52 - .../user_list_date_rule_item_operator.proto | 55 - .../user_list_logical_rule_operator.proto | 52 - .../enums/user_list_membership_status.proto | 53 - .../user_list_number_rule_item_operator.proto | 61 - .../user_list_prepopulation_status.proto | 52 - .../v2/enums/user_list_rule_type.proto | 49 - .../v2/enums/user_list_size_range.proto | 93 - .../user_list_string_rule_item_operator.proto | 67 - .../googleads/v2/enums/user_list_type.proto | 64 - .../vanity_pharma_display_url_mode.proto | 51 - .../v2/enums/vanity_pharma_text.proto | 88 - .../v2/enums/webpage_condition_operand.proto | 60 - .../v2/enums/webpage_condition_operator.proto | 52 - .../v2/errors/access_invitation_error.proto | 51 - .../account_budget_proposal_error.proto | 115 - .../v2/errors/ad_customizer_error.proto | 60 - .../ads/googleads/v2/errors/ad_error.proto | 455 - .../v2/errors/ad_group_ad_error.proto | 71 - .../errors/ad_group_bid_modifier_error.proto | 52 - .../v2/errors/ad_group_criterion_error.proto | 166 - .../googleads/v2/errors/ad_group_error.proto | 84 - .../v2/errors/ad_group_feed_error.proto | 68 - .../v2/errors/ad_parameter_error.proto | 51 - .../v2/errors/ad_sharing_error.proto | 55 - .../ads/googleads/v2/errors/adx_error.proto | 48 - .../ads/googleads/v2/errors/asset_error.proto | 62 - .../v2/errors/authentication_error.proto | 104 - .../v2/errors/authorization_error.proto | 86 - .../googleads/v2/errors/bidding_error.proto | 119 - .../v2/errors/bidding_strategy_error.proto | 62 - .../v2/errors/billing_setup_error.proto | 102 - .../v2/errors/campaign_budget_error.proto | 95 - .../v2/errors/campaign_criterion_error.proto | 82 - .../v2/errors/campaign_draft_error.proto | 80 - .../googleads/v2/errors/campaign_error.proto | 180 - .../v2/errors/campaign_experiment_error.proto | 82 - .../v2/errors/campaign_feed_error.proto | 64 - .../v2/errors/campaign_shared_set_error.proto | 48 - .../v2/errors/change_status_error.proto | 48 - .../v2/errors/collection_size_error.proto | 51 - .../googleads/v2/errors/context_error.proto | 51 - .../v2/errors/conversion_action_error.proto | 76 - .../conversion_adjustment_upload_error.proto | 80 - .../v2/errors/conversion_upload_error.proto | 131 - .../v2/errors/country_code_error.proto | 48 - .../googleads/v2/errors/criterion_error.proto | 370 - .../v2/errors/currency_code_error.proto | 48 - .../v2/errors/custom_interest_error.proto | 67 - .../errors/customer_client_link_error.proto | 66 - .../googleads/v2/errors/customer_error.proto | 52 - .../v2/errors/customer_feed_error.proto | 67 - .../errors/customer_manager_link_error.proto | 72 - .../googleads/v2/errors/database_error.proto | 53 - .../ads/googleads/v2/errors/date_error.proto | 75 - .../v2/errors/date_range_error.proto | 60 - .../googleads/v2/errors/distinct_error.proto | 51 - .../ads/googleads/v2/errors/enum_error.proto | 48 - .../ads/googleads/v2/errors/errors.proto | 546 - .../v2/errors/extension_feed_item_error.proto | 189 - .../v2/errors/extension_setting_error.proto | 258 - .../feed_attribute_reference_error.proto | 54 - .../ads/googleads/v2/errors/feed_error.proto | 106 - .../googleads/v2/errors/feed_item_error.proto | 72 - .../v2/errors/feed_item_target_error.proto | 71 - .../errors/feed_item_validation_error.proto | 354 - .../v2/errors/feed_mapping_error.proto | 98 - .../ads/googleads/v2/errors/field_error.proto | 66 - .../v2/errors/field_mask_error.proto | 59 - .../googleads/v2/errors/function_error.proto | 94 - .../v2/errors/function_parsing_error.proto | 78 - ...geo_target_constant_suggestion_error.proto | 57 - .../googleads/v2/errors/header_error.proto | 48 - .../ads/googleads/v2/errors/id_error.proto | 48 - .../ads/googleads/v2/errors/image_error.proto | 157 - .../googleads/v2/errors/internal_error.proto | 56 - .../googleads/v2/errors/invoice_error.proto | 51 - .../errors/keyword_plan_ad_group_error.proto | 54 - .../errors/keyword_plan_campaign_error.proto | 63 - .../v2/errors/keyword_plan_error.proto | 92 - .../v2/errors/keyword_plan_idea_error.proto | 51 - .../errors/keyword_plan_keyword_error.proto | 66 - .../keyword_plan_negative_keyword_error.proto | 47 - .../ads/googleads/v2/errors/label_error.proto | 74 - .../v2/errors/language_code_error.proto | 51 - .../v2/errors/list_operation_error.proto | 51 - .../v2/errors/manager_link_error.proto | 88 - .../v2/errors/media_bundle_error.proto | 111 - .../v2/errors/media_file_error.proto | 114 - .../v2/errors/media_upload_error.proto | 57 - .../v2/errors/multiplier_error.proto | 82 - .../googleads/v2/errors/mutate_error.proto | 64 - .../v2/errors/mutate_job_error.proto | 61 - .../errors/new_resource_creation_error.proto | 55 - .../googleads/v2/errors/not_empty_error.proto | 48 - .../v2/errors/not_whitelisted_error.proto | 48 - .../ads/googleads/v2/errors/null_error.proto | 48 - .../operation_access_denied_error.proto | 75 - .../googleads/v2/errors/operator_error.proto | 48 - .../v2/errors/partial_failure_error.proto | 49 - .../v2/errors/policy_finding_error.proto | 52 - .../policy_validation_parameter_error.proto | 55 - .../v2/errors/policy_violation_error.proto | 48 - .../ads/googleads/v2/errors/query_error.proto | 219 - .../ads/googleads/v2/errors/quota_error.proto | 54 - .../ads/googleads/v2/errors/range_error.proto | 51 - .../v2/errors/reach_plan_error.proto | 46 - .../v2/errors/recommendation_error.proto | 91 - .../v2/errors/region_code_error.proto | 48 - .../googleads/v2/errors/request_error.proto | 113 - .../errors/resource_access_denied_error.proto | 48 - .../resource_count_limit_exceeded_error.proto | 94 - .../googleads/v2/errors/setting_error.proto | 106 - .../v2/errors/shared_criterion_error.proto | 48 - .../v2/errors/shared_set_error.proto | 57 - .../v2/errors/size_limit_error.proto | 51 - .../v2/errors/string_format_error.proto | 51 - .../v2/errors/string_length_error.proto | 51 - .../googleads/v2/errors/url_field_error.proto | 216 - .../googleads/v2/errors/user_list_error.proto | 130 - .../youtube_video_registration_error.proto | 51 - .../v2/resources/account_budget.proto | 232 - .../resources/account_budget_proposal.proto | 140 - .../ads/googleads/v2/resources/ad.proto | 166 - .../ads/googleads/v2/resources/ad_group.proto | 151 - .../googleads/v2/resources/ad_group_ad.proto | 75 - .../v2/resources/ad_group_ad_asset_view.proto | 74 - .../v2/resources/ad_group_ad_label.proto | 46 - .../v2/resources/ad_group_audience_view.proto | 43 - .../v2/resources/ad_group_bid_modifier.proto | 87 - .../v2/resources/ad_group_criterion.proto | 240 - .../resources/ad_group_criterion_label.proto | 46 - .../ad_group_criterion_simulation.proto | 74 - .../ad_group_extension_setting.proto | 62 - .../v2/resources/ad_group_feed.proto | 63 - .../v2/resources/ad_group_label.proto | 46 - .../v2/resources/ad_group_simulation.proto | 82 - .../googleads/v2/resources/ad_parameter.proto | 67 - .../v2/resources/ad_schedule_view.proto | 41 - .../v2/resources/age_range_view.proto | 40 - .../ads/googleads/v2/resources/asset.proto | 68 - .../v2/resources/bidding_strategy.proto | 117 - .../v2/resources/billing_setup.proto | 123 - .../ads/googleads/v2/resources/campaign.proto | 360 - .../v2/resources/campaign_audience_view.proto | 44 - .../v2/resources/campaign_bid_modifier.proto | 59 - .../v2/resources/campaign_budget.proto | 146 - .../v2/resources/campaign_criterion.proto | 152 - .../campaign_criterion_simulation.proto | 74 - .../v2/resources/campaign_draft.proto | 78 - .../v2/resources/campaign_experiment.proto | 101 - .../campaign_extension_setting.proto | 62 - .../v2/resources/campaign_feed.proto | 63 - .../v2/resources/campaign_label.proto | 46 - .../v2/resources/campaign_shared_set.proto | 57 - .../v2/resources/carrier_constant.proto | 51 - .../v2/resources/change_status.proto | 84 - .../googleads/v2/resources/click_view.proto | 61 - .../v2/resources/conversion_action.proto | 133 - .../v2/resources/custom_interest.proto | 79 - .../ads/googleads/v2/resources/customer.proto | 125 - .../v2/resources/customer_client.proto | 74 - .../v2/resources/customer_client_link.proto | 55 - .../customer_extension_setting.proto | 55 - .../v2/resources/customer_feed.proto | 60 - .../v2/resources/customer_label.proto | 52 - .../v2/resources/customer_manager_link.proto | 50 - .../customer_negative_criterion.proto | 72 - .../v2/resources/detail_placement_view.proto | 61 - .../v2/resources/display_keyword_view.proto | 40 - .../v2/resources/distance_view.proto | 52 - .../v2/resources/domain_category.proto | 75 - .../dynamic_search_ads_search_term_view.proto | 61 - .../expanded_landing_page_view.proto | 45 - .../v2/resources/extension_feed_item.proto | 132 - .../ads/googleads/v2/resources/feed.proto | 180 - .../googleads/v2/resources/feed_item.proto | 199 - .../v2/resources/feed_item_target.proto | 73 - .../googleads/v2/resources/feed_mapping.proto | 170 - .../v2/resources/feed_placeholder_view.proto | 44 - .../googleads/v2/resources/gender_view.proto | 40 - .../v2/resources/geo_target_constant.proto | 61 - .../v2/resources/geographic_view.proto | 53 - .../v2/resources/google_ads_field.proto | 107 - .../v2/resources/group_placement_view.proto | 56 - .../v2/resources/hotel_group_view.proto | 40 - .../v2/resources/hotel_performance_view.proto | 40 - .../ads/googleads/v2/resources/invoice.proto | 173 - .../googleads/v2/resources/keyword_plan.proto | 72 - .../v2/resources/keyword_plan_ad_group.proto | 59 - .../v2/resources/keyword_plan_campaign.proto | 83 - .../v2/resources/keyword_plan_keyword.proto | 59 - .../keyword_plan_negative_keyword.proto | 55 - .../googleads/v2/resources/keyword_view.proto | 40 - .../ads/googleads/v2/resources/label.proto | 56 - .../v2/resources/landing_page_view.proto | 45 - .../v2/resources/language_constant.proto | 54 - .../v2/resources/location_view.proto | 41 - .../v2/resources/managed_placement_view.proto | 40 - .../googleads/v2/resources/media_file.proto | 114 - .../v2/resources/merchant_center_link.proto | 54 - .../mobile_app_category_constant.proto | 47 - .../v2/resources/mobile_device_constant.proto | 57 - .../googleads/v2/resources/mutate_job.proto | 84 - .../operating_system_version_constant.proto | 60 - .../paid_organic_search_term_view.proto | 46 - .../v2/resources/parental_status_view.proto | 40 - .../v2/resources/payments_account.proto | 60 - .../product_bidding_category_constant.proto | 68 - .../v2/resources/product_group_view.proto | 40 - .../v2/resources/recommendation.proto | 293 - .../v2/resources/remarketing_action.proto | 56 - .../v2/resources/search_term_view.proto | 53 - .../v2/resources/shared_criterion.proto | 77 - .../googleads/v2/resources/shared_set.proto | 67 - .../resources/shopping_performance_view.proto | 44 - .../v2/resources/topic_constant.proto | 56 - .../googleads/v2/resources/topic_view.proto | 40 - .../v2/resources/user_interest.proto | 61 - .../googleads/v2/resources/user_list.proto | 157 - .../v2/resources/user_location_view.proto | 52 - .../ads/googleads/v2/resources/video.proto | 53 - .../account_budget_proposal_service.proto | 129 - .../v2/services/account_budget_service.proto | 54 - .../ad_group_ad_asset_view_service.proto | 51 - .../services/ad_group_ad_label_service.proto | 115 - .../v2/services/ad_group_ad_service.proto | 123 - .../ad_group_audience_view_service.proto | 51 - .../ad_group_bid_modifier_service.proto | 122 - .../ad_group_criterion_label_service.proto | 116 - .../services/ad_group_criterion_service.proto | 132 - ...d_group_criterion_simulation_service.proto | 52 - .../ad_group_extension_setting_service.proto | 126 - .../v2/services/ad_group_feed_service.proto | 121 - .../v2/services/ad_group_label_service.proto | 114 - .../v2/services/ad_group_service.proto | 119 - .../ad_group_simulation_service.proto | 51 - .../v2/services/ad_parameter_service.proto | 121 - .../services/ad_schedule_view_service.proto | 51 - .../googleads/v2/services/ad_service.proto | 96 - .../v2/services/age_range_view_service.proto | 51 - .../googleads/v2/services/asset_service.proto | 93 - .../services/bidding_strategy_service.proto | 122 - .../v2/services/billing_setup_service.proto | 107 - .../campaign_audience_view_service.proto | 51 - .../campaign_bid_modifier_service.proto | 122 - .../v2/services/campaign_budget_service.proto | 121 - .../services/campaign_criterion_service.proto | 120 - ...ampaign_criterion_simulation_service.proto | 52 - .../v2/services/campaign_draft_service.proto | 186 - .../campaign_experiment_service.proto | 274 - .../campaign_extension_setting_service.proto | 126 - .../v2/services/campaign_feed_service.proto | 121 - .../v2/services/campaign_label_service.proto | 114 - .../v2/services/campaign_service.proto | 120 - .../campaign_shared_set_service.proto | 113 - .../services/carrier_constant_service.proto | 51 - .../v2/services/change_status_service.proto | 51 - .../v2/services/click_view_service.proto | 51 - .../services/conversion_action_service.proto | 122 - ...conversion_adjustment_upload_service.proto | 166 - .../services/conversion_upload_service.proto | 221 - .../v2/services/custom_interest_service.proto | 102 - .../customer_client_link_service.proto | 94 - .../v2/services/customer_client_service.proto | 51 - .../customer_extension_setting_service.proto | 126 - .../v2/services/customer_feed_service.proto | 121 - .../v2/services/customer_label_service.proto | 114 - .../customer_manager_link_service.proto | 95 - .../customer_negative_criterion_service.proto | 114 - .../v2/services/customer_service.proto | 148 - .../detail_placement_view_service.proto | 51 - .../display_keyword_view_service.proto | 51 - .../v2/services/distance_view_service.proto | 51 - .../v2/services/domain_category_service.proto | 52 - ..._search_ads_search_term_view_service.proto | 52 - .../expanded_landing_page_view_service.proto | 52 - .../extension_feed_item_service.proto | 123 - .../v2/services/feed_item_service.proto | 121 - .../services/feed_item_target_service.proto | 96 - .../v2/services/feed_mapping_service.proto | 113 - .../feed_placeholder_view_service.proto | 51 - .../googleads/v2/services/feed_service.proto | 121 - .../v2/services/gender_view_service.proto | 51 - .../geo_target_constant_service.proto | 122 - .../v2/services/geographic_view_service.proto | 51 - .../services/google_ads_field_service.proto | 89 - .../v2/services/google_ads_service.proto | 867 - .../group_placement_view_service.proto | 51 - .../services/hotel_group_view_service.proto | 51 - .../hotel_performance_view_service.proto | 51 - .../v2/services/invoice_service.proto | 71 - .../keyword_plan_ad_group_service.proto | 123 - .../keyword_plan_campaign_service.proto | 124 - .../services/keyword_plan_idea_service.proto | 117 - .../keyword_plan_keyword_service.proto | 123 - ...eyword_plan_negative_keyword_service.proto | 127 - .../v2/services/keyword_plan_service.proto | 239 - .../v2/services/keyword_view_service.proto | 51 - .../googleads/v2/services/label_service.proto | 117 - .../services/landing_page_view_service.proto | 51 - .../services/language_constant_service.proto | 51 - .../v2/services/location_view_service.proto | 51 - .../managed_placement_view_service.proto | 51 - .../v2/services/media_file_service.proto | 106 - .../merchant_center_link_service.proto | 121 - ...mobile_app_category_constant_service.proto | 50 - .../mobile_device_constant_service.proto | 51 - .../v2/services/mutate_job_service.proto | 190 - ...ting_system_version_constant_service.proto | 52 - ...aid_organic_search_term_view_service.proto | 52 - .../parental_status_view_service.proto | 51 - .../services/payments_account_service.proto | 60 - ...ct_bidding_category_constant_service.proto | 52 - .../services/product_group_view_service.proto | 51 - .../v2/services/reach_plan_service.proto | 354 - .../v2/services/recommendation_service.proto | 246 - .../services/remarketing_action_service.proto | 115 - .../services/search_term_view_service.proto | 51 - .../services/shared_criterion_service.proto | 113 - .../v2/services/shared_set_service.proto | 120 - .../shopping_performance_view_service.proto | 52 - .../v2/services/topic_constant_service.proto | 51 - .../v2/services/topic_view_service.proto | 51 - .../v2/services/user_interest_service.proto | 51 - .../v2/services/user_list_service.proto | 120 - .../services/user_location_view_service.proto | 51 - .../googleads/v2/services/video_service.proto | 51 - .../google/ads/googleads/v9/BUILD.bazel | 266 + .../ads/googleads/v9/common/BUILD.bazel | 94 + .../ads/googleads/v9/common/ad_asset.proto | 69 + .../googleads/v9/common/ad_type_infos.proto | 724 + .../googleads/v9/common/asset_policy.proto | 46 + .../ads/googleads/v9/common/asset_types.proto | 502 + .../ads/googleads/v9/common/bidding.proto | 199 + .../googleads/v9/common/click_location.proto | 48 + .../ads/googleads/v9/common/criteria.proto | 651 + .../criterion_category_availability.proto | 82 + .../v9/common/custom_parameter.proto | 40 + .../v9/common/customizer_value.proto | 45 + .../ads/googleads/v9/common/dates.proto | 59 + .../explorer_auto_optimizer_setting.proto | 38 + .../ads/googleads/v9/common/extensions.proto | 368 + .../ads/googleads/v9/common/feed_common.proto | 39 + .../feed_item_set_filter_type_infos.proto | 58 + .../googleads/v9/common/final_app_url.proto | 46 + .../googleads/v9/common/frequency_cap.proto | 61 + .../v9/common/keyword_plan_common.proto | 139 + .../v9/common/matching_function.proto | 126 + .../ads/googleads/v9/common/metrics.proto | 619 + .../v9/common/offline_user_data.proto | 296 + .../ads/googleads/v9/common/policy.proto | 220 + .../googleads/v9/common/policy_summary.proto | 46 + .../v9/common/real_time_bidding_setting.proto | 37 + .../ads/googleads/v9/common/segments.proto | 369 + .../ads/googleads/v9/common/simulation.proto | 358 + .../ads/googleads/v9/common/tag_snippet.proto | 50 + .../v9/common/targeting_setting.proto | 85 + .../ads/googleads/v9/common/text_label.proto | 40 + .../googleads/v9/common/url_collection.proto | 45 + .../ads/googleads/v9/common/user_lists.proto | 291 + .../ads/googleads/v9/common/value.proto | 51 + .../google/ads/googleads/v9/enums/BUILD.bazel | 89 + .../v9/enums/access_invitation_status.proto | 55 + .../googleads/v9/enums/access_reason.proto | 57 + .../ads/googleads/v9/enums/access_role.proto | 55 + .../account_budget_proposal_status.proto | 63 + .../enums/account_budget_proposal_type.proto | 56 + .../v9/enums/account_budget_status.proto | 53 + .../v9/enums/account_link_status.proto | 63 + .../ad_customizer_placeholder_field.proto | 56 + .../v9/enums/ad_destination_type.proto | 77 + .../v9/enums/ad_group_ad_rotation_mode.proto | 53 + .../v9/enums/ad_group_ad_status.proto | 55 + .../ad_group_criterion_approval_status.proto | 56 + .../v9/enums/ad_group_criterion_status.proto | 55 + .../googleads/v9/enums/ad_group_status.proto | 55 + .../googleads/v9/enums/ad_group_type.proto | 96 + .../googleads/v9/enums/ad_network_type.proto | 62 + .../ad_serving_optimization_status.proto | 64 + .../ads/googleads/v9/enums/ad_strength.proto | 62 + .../ads/googleads/v9/enums/ad_type.proto | 131 + .../enums/advertising_channel_sub_type.proto | 102 + .../v9/enums/advertising_channel_type.proto | 73 + ...iate_location_feed_relationship_type.proto | 48 + ...affiliate_location_placeholder_field.proto | 77 + .../googleads/v9/enums/age_range_type.proto | 65 + .../v9/enums/app_campaign_app_store.proto | 50 + ..._campaign_bidding_strategy_goal_type.proto | 70 + .../v9/enums/app_payment_model_type.proto | 47 + .../v9/enums/app_placeholder_field.proto | 75 + .../ads/googleads/v9/enums/app_store.proto | 50 + .../enums/app_url_operating_system_type.proto | 50 + .../googleads/v9/enums/asset_field_type.proto | 117 + .../v9/enums/asset_group_status.proto | 53 + .../v9/enums/asset_link_status.proto | 53 + .../v9/enums/asset_performance_label.proto | 62 + .../v9/enums/asset_set_asset_status.proto | 51 + .../v9/enums/asset_set_link_status.proto | 52 + .../googleads/v9/enums/asset_set_status.proto | 51 + .../googleads/v9/enums/asset_set_type.proto | 53 + .../ads/googleads/v9/enums/asset_type.proto | 95 + .../v9/enums/attribution_model.proto | 72 + .../googleads/v9/enums/batch_job_status.proto | 53 + .../v9/enums/bid_modifier_source.proto | 51 + .../googleads/v9/enums/bidding_source.proto | 55 + .../v9/enums/bidding_strategy_status.proto | 52 + .../v9/enums/bidding_strategy_type.proto | 119 + .../v9/enums/billing_setup_status.proto | 58 + .../v9/enums/brand_safety_suitability.proto | 73 + .../budget_campaign_association_status.proto | 51 + .../v9/enums/budget_delivery_method.proto | 53 + .../googleads/v9/enums/budget_period.proto | 53 + .../googleads/v9/enums/budget_status.proto | 50 + .../ads/googleads/v9/enums/budget_type.proto | 66 + .../call_conversion_reporting_state.proto | 56 + .../v9/enums/call_placeholder_field.proto | 66 + .../v9/enums/call_to_action_type.proto | 71 + .../call_tracking_display_location.proto | 50 + .../ads/googleads/v9/enums/call_type.proto | 51 + .../v9/enums/callout_placeholder_field.proto | 47 + .../v9/enums/campaign_criterion_status.proto | 55 + .../v9/enums/campaign_draft_status.proto | 65 + .../v9/enums/campaign_experiment_status.proto | 77 + ...mpaign_experiment_traffic_split_type.proto | 53 + .../v9/enums/campaign_experiment_type.proto | 59 + .../v9/enums/campaign_serving_status.proto | 61 + .../v9/enums/campaign_shared_set_status.proto | 50 + .../googleads/v9/enums/campaign_status.proto | 53 + .../v9/enums/change_client_type.proto | 87 + .../v9/enums/change_event_resource_type.proto | 94 + .../v9/enums/change_status_operation.proto | 54 + .../enums/change_status_resource_type.proto | 94 + .../ads/googleads/v9/enums/click_type.proto | 203 + .../v9/enums/combined_audience_status.proto | 51 + .../v9/enums/content_label_type.proto | 89 + .../v9/enums/conversion_action_category.proto | 106 + .../conversion_action_counting_type.proto | 52 + .../v9/enums/conversion_action_status.proto | 54 + .../v9/enums/conversion_action_type.proto | 174 + .../v9/enums/conversion_adjustment_type.proto | 56 + .../conversion_attribution_event_type.proto | 48 + .../conversion_custom_variable_status.proto | 58 + .../v9/enums/conversion_lag_bucket.proto | 117 + .../conversion_or_adjustment_lag_bucket.proto | 206 + .../v9/enums/conversion_origin.proto | 67 + ...version_value_rule_primary_dimension.proto | 66 + .../conversion_value_rule_set_status.proto | 55 + .../enums/conversion_value_rule_status.proto | 53 + ...n_category_channel_availability_mode.proto | 58 + ...on_category_locale_availability_mode.proto | 61 + .../criterion_system_serving_status.proto | 50 + .../googleads/v9/enums/criterion_type.proto | 143 + .../enums/custom_audience_member_type.proto | 56 + .../v9/enums/custom_audience_status.proto | 51 + .../v9/enums/custom_audience_type.proto | 58 + .../enums/custom_conversion_goal_status.proto | 50 + .../enums/custom_interest_member_type.proto | 50 + .../v9/enums/custom_interest_status.proto | 51 + .../v9/enums/custom_interest_type.proto | 50 + .../v9/enums/custom_placeholder_field.proto | 129 + .../customer_match_upload_key_type.proto | 53 + ...onversion_eligibility_failure_reason.proto | 68 + .../enums/customizer_attribute_status.proto | 50 + .../v9/enums/customizer_attribute_type.proto | 56 + .../v9/enums/customizer_value_status.proto | 50 + .../v9/enums/data_driven_model_status.proto | 62 + .../ads/googleads/v9/enums/day_of_week.proto | 65 + .../ads/googleads/v9/enums/device.proto | 59 + .../v9/enums/display_ad_format_setting.proto | 54 + .../enums/display_upload_product_type.proto | 97 + .../googleads/v9/enums/distance_bucket.proto | 127 + .../enums/dsa_page_feed_criterion_field.proto | 51 + .../enums/education_placeholder_field.proto | 111 + .../v9/enums/extension_setting_device.proto | 52 + .../googleads/v9/enums/extension_type.proto | 84 + .../v9/enums/external_conversion_source.proto | 152 + .../v9/enums/feed_attribute_type.proto | 83 + .../feed_item_quality_approval_status.proto | 52 + ...feed_item_quality_disapproval_reason.proto | 99 + .../v9/enums/feed_item_set_status.proto | 50 + .../feed_item_set_string_filter_type.proto | 45 + .../googleads/v9/enums/feed_item_status.proto | 50 + .../v9/enums/feed_item_target_device.proto | 48 + .../v9/enums/feed_item_target_status.proto | 50 + .../v9/enums/feed_item_target_type.proto | 53 + .../enums/feed_item_validation_status.proto | 53 + .../googleads/v9/enums/feed_link_status.proto | 50 + .../enums/feed_mapping_criterion_type.proto | 50 + .../v9/enums/feed_mapping_status.proto | 50 + .../ads/googleads/v9/enums/feed_origin.proto | 53 + .../ads/googleads/v9/enums/feed_status.proto | 50 + .../v9/enums/flight_placeholder_field.proto | 118 + .../v9/enums/frequency_cap_event_type.proto | 50 + .../v9/enums/frequency_cap_level.proto | 54 + .../v9/enums/frequency_cap_time_unit.proto | 53 + .../ads/googleads/v9/enums/gender_type.proto | 53 + .../v9/enums/geo_target_constant_status.proto | 52 + .../v9/enums/geo_targeting_restriction.proto | 49 + .../v9/enums/geo_targeting_type.proto | 50 + .../v9/enums/goal_config_level.proto | 52 + .../v9/enums/google_ads_field_category.proto | 61 + .../v9/enums/google_ads_field_data_type.proto | 102 + .../v9/enums/google_voice_call_status.proto | 50 + .../v9/enums/hotel_date_selection_type.proto | 50 + .../v9/enums/hotel_placeholder_field.proto | 124 + .../v9/enums/hotel_price_bucket.proto | 59 + .../googleads/v9/enums/hotel_rate_type.proto | 62 + .../enums/hotel_reconciliation_status.proto | 62 + .../v9/enums/image_placeholder_field.proto | 47 + .../v9/enums/income_range_type.proto | 65 + .../v9/enums/interaction_event_type.proto | 62 + .../googleads/v9/enums/interaction_type.proto | 47 + .../ads/googleads/v9/enums/invoice_type.proto | 50 + .../v9/enums/job_placeholder_field.proto | 115 + .../v9/enums/keyword_match_type.proto | 53 + .../keyword_plan_aggregate_metric_type.proto | 47 + .../keyword_plan_competition_level.proto | 57 + .../keyword_plan_concept_group_type.proto | 58 + .../keyword_plan_forecast_interval.proto | 56 + .../keyword_plan_keyword_annotation.proto | 47 + .../v9/enums/keyword_plan_network.proto | 50 + .../ads/googleads/v9/enums/label_status.proto | 48 + .../enums/lead_form_call_to_action_type.proto | 84 + .../v9/enums/lead_form_desired_intent.proto | 48 + .../lead_form_field_user_input_type.proto | 273 + ...form_post_submit_call_to_action_type.proto | 55 + .../legacy_app_install_ad_app_store.proto | 59 + .../v9/enums/linked_account_type.proto | 52 + ..._group_filter_bidding_category_level.proto | 60 + ..._group_filter_custom_attribute_index.proto | 60 + ...listing_group_filter_product_channel.proto | 50 + ...sting_group_filter_product_condition.proto | 53 + ...ting_group_filter_product_type_level.proto | 59 + .../listing_group_filter_type_enum.proto | 53 + .../enums/listing_group_filter_vertical.proto | 48 + .../v9/enums/listing_group_type.proto | 52 + .../v9/enums/local_placeholder_field.proto | 119 + ..._extension_targeting_criterion_field.proto | 62 + .../enums/location_group_radius_units.proto | 53 + .../v9/enums/location_placeholder_field.proto | 68 + .../v9/enums/location_source_type.proto | 50 + .../v9/enums/manager_link_status.proto | 59 + .../matching_function_context_type.proto | 53 + .../v9/enums/matching_function_operator.proto | 65 + .../ads/googleads/v9/enums/media_type.proto | 64 + .../enums/merchant_center_link_status.proto | 53 + .../v9/enums/message_placeholder_field.proto | 61 + .../ads/googleads/v9/enums/mime_type.proto | 82 + .../googleads/v9/enums/minute_of_hour.proto | 56 + .../v9/enums/mobile_app_vendor.proto | 48 + .../v9/enums/mobile_device_type.proto | 50 + .../googleads/v9/enums/month_of_year.proto | 80 + .../v9/enums/negative_geo_target_type.proto | 52 + ...offline_user_data_job_failure_reason.proto | 51 + ...fline_user_data_job_match_rate_range.proto | 71 + .../enums/offline_user_data_job_status.proto | 56 + .../v9/enums/offline_user_data_job_type.proto | 56 + ...erating_system_version_operator_type.proto | 50 + .../v9/enums/optimization_goal_type.proto | 58 + .../v9/enums/parental_status_type.proto | 53 + .../ads/googleads/v9/enums/payment_mode.proto | 64 + .../googleads/v9/enums/placeholder_type.proto | 124 + .../googleads/v9/enums/placement_type.proto | 59 + .../v9/enums/policy_approval_status.proto | 61 + .../v9/enums/policy_review_status.proto | 60 + .../v9/enums/policy_topic_entry_type.proto | 66 + ...idence_destination_mismatch_url_type.proto | 62 + ...dence_destination_not_working_device.proto | 57 + ...stination_not_working_dns_error_type.proto | 56 + .../v9/enums/positive_geo_target_type.proto | 58 + .../v9/enums/preferred_content_type.proto | 47 + .../price_extension_price_qualifier.proto | 53 + .../v9/enums/price_extension_price_unit.proto | 62 + .../v9/enums/price_extension_type.proto | 71 + .../v9/enums/price_placeholder_field.proto | 240 + .../product_bidding_category_level.proto | 57 + .../product_bidding_category_status.proto | 50 + .../googleads/v9/enums/product_channel.proto | 50 + .../enums/product_channel_exclusivity.proto | 52 + .../v9/enums/product_condition.proto | 53 + .../product_custom_attribute_index.proto | 59 + .../v9/enums/product_type_level.proto | 59 + ...romotion_extension_discount_modifier.proto | 48 + .../enums/promotion_extension_occasion.proto | 157 + .../enums/promotion_placeholder_field.proto | 95 + .../v9/enums/proximity_radius_units.proto | 50 + .../v9/enums/quality_score_bucket.proto | 53 + .../v9/enums/reach_plan_ad_length.proto | 53 + .../v9/enums/reach_plan_age_range.proto | 122 + .../v9/enums/reach_plan_network.proto | 54 + .../enums/real_estate_placeholder_field.proto | 115 + .../v9/enums/recommendation_type.proto | 112 + .../v9/enums/resource_change_operation.proto | 55 + .../v9/enums/resource_limit_type.proto | 405 + .../v9/enums/response_content_type.proto | 48 + .../search_engine_results_page_type.proto | 54 + .../v9/enums/search_term_match_type.proto | 59 + .../enums/search_term_targeting_status.proto | 58 + .../v9/enums/seasonality_event_scope.proto | 59 + .../v9/enums/seasonality_event_status.proto | 53 + .../v9/enums/served_asset_field_type.proto | 61 + .../v9/enums/shared_set_status.proto | 50 + .../googleads/v9/enums/shared_set_type.proto | 50 + .../simulation_modification_method.proto | 59 + .../googleads/v9/enums/simulation_type.proto | 68 + .../v9/enums/sitelink_placeholder_field.proto | 69 + .../google/ads/googleads/v9/enums/slot.proto | 65 + .../v9/enums/spending_limit_type.proto | 48 + ...structured_snippet_placeholder_field.proto | 55 + .../v9/enums/summary_row_setting.proto | 54 + .../enums/system_managed_entity_source.proto | 47 + ...arget_cpa_opt_in_recommendation_goal.proto | 57 + .../target_impression_share_location.proto | 55 + .../v9/enums/targeting_dimension.proto | 74 + .../ads/googleads/v9/enums/time_type.proto | 51 + .../v9/enums/tracking_code_page_format.proto | 50 + .../v9/enums/tracking_code_type.proto | 59 + .../v9/enums/travel_placeholder_field.proto | 128 + .../v9/enums/user_identifier_source.proto | 54 + .../enums/user_interest_taxonomy_type.proto | 59 + .../v9/enums/user_list_access_status.proto | 50 + .../v9/enums/user_list_closing_reason.proto | 48 + .../user_list_combined_rule_operator.proto | 48 + .../user_list_crm_data_source_type.proto | 51 + .../user_list_date_rule_item_operator.proto | 54 + .../user_list_logical_rule_operator.proto | 51 + .../enums/user_list_membership_status.proto | 52 + .../user_list_number_rule_item_operator.proto | 60 + .../user_list_prepopulation_status.proto | 51 + .../v9/enums/user_list_rule_type.proto | 48 + .../v9/enums/user_list_size_range.proto | 92 + .../user_list_string_rule_item_operator.proto | 66 + .../googleads/v9/enums/user_list_type.proto | 63 + .../v9/enums/value_rule_device_type.proto | 54 + .../value_rule_geo_location_match_type.proto | 51 + .../v9/enums/value_rule_operation.proto | 54 + .../value_rule_set_attachment_type.proto | 50 + .../v9/enums/value_rule_set_dimension.proto | 54 + .../vanity_pharma_display_url_mode.proto | 50 + .../v9/enums/vanity_pharma_text.proto | 87 + .../googleads/v9/enums/video_thumbnail.proto | 59 + .../v9/enums/webpage_condition_operand.proto | 59 + .../v9/enums/webpage_condition_operator.proto | 51 + .../ads/googleads/v9/errors/BUILD.bazel | 94 + .../v9/errors/access_invitation_error.proto | 69 + .../account_budget_proposal_error.proto | 122 + .../v9/errors/account_link_error.proto | 47 + .../v9/errors/ad_customizer_error.proto | 59 + .../ads/googleads/v9/errors/ad_error.proto | 524 + .../v9/errors/ad_group_ad_error.proto | 80 + .../errors/ad_group_bid_modifier_error.proto | 51 + .../ad_group_criterion_customizer_error.proto | 47 + .../v9/errors/ad_group_criterion_error.proto | 137 + .../v9/errors/ad_group_customizer_error.proto | 44 + .../googleads/v9/errors/ad_group_error.proto | 91 + .../v9/errors/ad_group_feed_error.proto | 67 + .../v9/errors/ad_parameter_error.proto | 50 + .../v9/errors/ad_sharing_error.proto | 54 + .../ads/googleads/v9/errors/adx_error.proto | 47 + .../ads/googleads/v9/errors/asset_error.proto | 134 + .../v9/errors/asset_group_asset_error.proto | 53 + .../v9/errors/asset_group_error.proto | 74 + ...set_group_listing_group_filter_error.proto | 85 + .../v9/errors/asset_link_error.proto | 108 + .../v9/errors/asset_set_asset_error.proto | 56 + .../googleads/v9/errors/asset_set_error.proto | 47 + .../v9/errors/asset_set_link_error.proto | 61 + .../v9/errors/authentication_error.proto | 103 + .../v9/errors/authorization_error.proto | 92 + .../googleads/v9/errors/batch_job_error.proto | 63 + .../googleads/v9/errors/bidding_error.proto | 122 + .../v9/errors/bidding_strategy_error.proto | 61 + .../v9/errors/billing_setup_error.proto | 109 + .../v9/errors/campaign_budget_error.proto | 100 + .../v9/errors/campaign_criterion_error.proto | 99 + .../v9/errors/campaign_customizer_error.proto | 44 + .../v9/errors/campaign_draft_error.proto | 79 + .../googleads/v9/errors/campaign_error.proto | 201 + .../v9/errors/campaign_experiment_error.proto | 81 + .../v9/errors/campaign_feed_error.proto | 67 + .../v9/errors/campaign_shared_set_error.proto | 47 + .../v9/errors/change_event_error.proto | 63 + .../v9/errors/change_status_error.proto | 63 + .../v9/errors/collection_size_error.proto | 50 + .../googleads/v9/errors/context_error.proto | 50 + .../v9/errors/conversion_action_error.proto | 82 + .../conversion_adjustment_upload_error.proto | 122 + .../conversion_custom_variable_error.proto | 50 + .../v9/errors/conversion_upload_error.proto | 202 + .../errors/conversion_value_rule_error.proto | 92 + .../conversion_value_rule_set_error.proto | 84 + .../v9/errors/country_code_error.proto | 47 + .../googleads/v9/errors/criterion_error.proto | 456 + .../v9/errors/currency_code_error.proto | 47 + .../v9/errors/custom_audience_error.proto | 68 + .../errors/custom_conversion_goal_error.proto | 55 + .../v9/errors/custom_interest_error.proto | 66 + .../errors/customer_client_link_error.proto | 68 + .../v9/errors/customer_customizer_error.proto | 44 + .../googleads/v9/errors/customer_error.proto | 50 + .../v9/errors/customer_feed_error.proto | 66 + .../errors/customer_manager_link_error.proto | 75 + .../errors/customer_user_access_error.proto | 60 + .../errors/customizer_attribute_error.proto | 48 + .../googleads/v9/errors/database_error.proto | 56 + .../ads/googleads/v9/errors/date_error.proto | 74 + .../v9/errors/date_range_error.proto | 59 + .../googleads/v9/errors/distinct_error.proto | 50 + .../ads/googleads/v9/errors/enum_error.proto | 47 + .../ads/googleads/v9/errors/errors.proto | 716 + .../v9/errors/extension_feed_item_error.proto | 195 + .../v9/errors/extension_setting_error.proto | 261 + .../feed_attribute_reference_error.proto | 53 + .../ads/googleads/v9/errors/feed_error.proto | 114 + .../googleads/v9/errors/feed_item_error.proto | 71 + .../v9/errors/feed_item_set_error.proto | 71 + .../v9/errors/feed_item_set_link_error.proto | 51 + .../v9/errors/feed_item_target_error.proto | 70 + .../errors/feed_item_validation_error.proto | 377 + .../v9/errors/feed_mapping_error.proto | 100 + .../ads/googleads/v9/errors/field_error.proto | 65 + .../v9/errors/field_mask_error.proto | 58 + .../googleads/v9/errors/function_error.proto | 93 + .../v9/errors/function_parsing_error.proto | 77 + ...geo_target_constant_suggestion_error.proto | 56 + .../googleads/v9/errors/header_error.proto | 50 + .../ads/googleads/v9/errors/id_error.proto | 47 + .../ads/googleads/v9/errors/image_error.proto | 164 + .../googleads/v9/errors/internal_error.proto | 58 + .../googleads/v9/errors/invoice_error.proto | 60 + .../errors/keyword_plan_ad_group_error.proto | 53 + .../keyword_plan_ad_group_keyword_error.proto | 72 + .../errors/keyword_plan_campaign_error.proto | 65 + .../keyword_plan_campaign_keyword_error.proto | 49 + .../v9/errors/keyword_plan_error.proto | 91 + .../v9/errors/keyword_plan_idea_error.proto | 50 + .../ads/googleads/v9/errors/label_error.proto | 73 + .../v9/errors/language_code_error.proto | 50 + .../v9/errors/list_operation_error.proto | 50 + .../v9/errors/manager_link_error.proto | 103 + .../v9/errors/media_bundle_error.proto | 110 + .../v9/errors/media_file_error.proto | 113 + .../v9/errors/media_upload_error.proto | 152 + .../v9/errors/merchant_center_error.proto | 50 + .../v9/errors/multiplier_error.proto | 81 + .../googleads/v9/errors/mutate_error.proto | 72 + .../errors/new_resource_creation_error.proto | 54 + .../v9/errors/not_allowlisted_error.proto | 47 + .../googleads/v9/errors/not_empty_error.proto | 47 + .../ads/googleads/v9/errors/null_error.proto | 47 + .../errors/offline_user_data_job_error.proto | 160 + .../operation_access_denied_error.proto | 74 + .../googleads/v9/errors/operator_error.proto | 47 + .../v9/errors/partial_failure_error.proto | 48 + .../v9/errors/payments_account_error.proto | 47 + .../v9/errors/policy_finding_error.proto | 51 + .../policy_validation_parameter_error.proto | 54 + .../v9/errors/policy_violation_error.proto | 47 + .../ads/googleads/v9/errors/query_error.proto | 227 + .../ads/googleads/v9/errors/quota_error.proto | 53 + .../ads/googleads/v9/errors/range_error.proto | 50 + .../v9/errors/reach_plan_error.proto | 48 + .../v9/errors/recommendation_error.proto | 90 + .../v9/errors/region_code_error.proto | 47 + .../googleads/v9/errors/request_error.proto | 119 + .../errors/resource_access_denied_error.proto | 47 + .../resource_count_limit_exceeded_error.proto | 93 + .../googleads/v9/errors/setting_error.proto | 85 + .../v9/errors/shared_criterion_error.proto | 47 + .../v9/errors/shared_set_error.proto | 56 + .../v9/errors/size_limit_error.proto | 50 + .../v9/errors/string_format_error.proto | 50 + .../v9/errors/string_length_error.proto | 54 + ...third_party_app_analytics_link_error.proto | 57 + .../googleads/v9/errors/time_zone_error.proto | 47 + .../googleads/v9/errors/url_field_error.proto | 217 + .../googleads/v9/errors/user_data_error.proto | 53 + .../googleads/v9/errors/user_list_error.proto | 129 + .../youtube_video_registration_error.proto | 53 + .../ads/googleads/v9/googleads_gapic.yaml | 26 + .../v9/googleads_grpc_service_config.json | 474 + .../google/ads/googleads/v9/googleads_v9.yaml | 1514 + .../ads/googleads/v9/resources/BUILD.bazel | 97 + .../accessible_bidding_strategy.proto | 172 + .../v9/resources/account_budget.proto | 252 + .../resources/account_budget_proposal.proto | 160 + .../googleads/v9/resources/account_link.proto | 125 + .../ads/googleads/v9/resources/ad.proto | 191 + .../ads/googleads/v9/resources/ad_group.proto | 187 + .../googleads/v9/resources/ad_group_ad.proto | 103 + .../v9/resources/ad_group_ad_asset_view.proto | 105 + .../v9/resources/ad_group_ad_label.proto | 66 + .../v9/resources/ad_group_asset.proto | 80 + .../v9/resources/ad_group_audience_view.proto | 54 + .../v9/resources/ad_group_bid_modifier.proto | 112 + .../v9/resources/ad_group_criterion.proto | 291 + .../ad_group_criterion_customizer.proto | 77 + .../resources/ad_group_criterion_label.proto | 66 + .../ad_group_criterion_simulation.proto | 90 + .../v9/resources/ad_group_customizer.proto | 76 + .../ad_group_extension_setting.proto | 79 + .../v9/resources/ad_group_feed.proto | 83 + .../v9/resources/ad_group_label.proto | 66 + .../v9/resources/ad_group_simulation.proto | 94 + .../googleads/v9/resources/ad_parameter.proto | 82 + .../v9/resources/ad_schedule_view.proto | 52 + .../v9/resources/age_range_view.proto | 51 + .../ads/googleads/v9/resources/asset.proto | 156 + .../v9/resources/asset_field_type_view.proto | 57 + .../googleads/v9/resources/asset_group.proto | 88 + .../v9/resources/asset_group_asset.proto | 83 + .../asset_group_listing_group_filter.proto | 173 + .../asset_group_product_group_view.proto | 51 + .../googleads/v9/resources/asset_set.proto | 77 + .../v9/resources/asset_set_asset.proto | 70 + .../googleads/v9/resources/batch_job.proto | 98 + .../v9/resources/bidding_data_exclusion.proto | 108 + .../bidding_seasonality_adjustment.proto | 114 + .../v9/resources/bidding_strategy.proto | 139 + .../bidding_strategy_simulation.proto | 82 + .../v9/resources/billing_setup.proto | 138 + .../googleads/v9/resources/call_view.proto | 80 + .../ads/googleads/v9/resources/campaign.proto | 449 + .../v9/resources/campaign_asset.proto | 76 + .../v9/resources/campaign_asset_set.proto | 72 + .../v9/resources/campaign_audience_view.proto | 55 + .../v9/resources/campaign_bid_modifier.proto | 76 + .../v9/resources/campaign_budget.proto | 156 + .../resources/campaign_conversion_goal.proto | 69 + .../v9/resources/campaign_criterion.proto | 181 + .../campaign_criterion_simulation.proto | 83 + .../v9/resources/campaign_customizer.proto | 76 + .../v9/resources/campaign_draft.proto | 98 + .../v9/resources/campaign_experiment.proto | 121 + .../campaign_extension_setting.proto | 79 + .../v9/resources/campaign_feed.proto | 83 + .../v9/resources/campaign_label.proto | 66 + .../v9/resources/campaign_shared_set.proto | 77 + .../v9/resources/campaign_simulation.proto | 102 + .../v9/resources/carrier_constant.proto | 61 + .../googleads/v9/resources/change_event.proto | 203 + .../v9/resources/change_status.proto | 199 + .../googleads/v9/resources/click_view.proto | 108 + .../v9/resources/combined_audience.proto | 67 + .../v9/resources/conversion_action.proto | 189 + .../conversion_custom_variable.proto | 86 + .../conversion_goal_campaign_config.proto | 66 + .../v9/resources/conversion_value_rule.proto | 135 + .../resources/conversion_value_rule_set.proto | 96 + .../v9/resources/currency_constant.proto | 64 + .../v9/resources/custom_audience.proto | 107 + .../v9/resources/custom_conversion_goal.proto | 64 + .../v9/resources/custom_interest.proto | 89 + .../ads/googleads/v9/resources/customer.proto | 161 + .../v9/resources/customer_asset.proto | 71 + .../v9/resources/customer_client.proto | 101 + .../v9/resources/customer_client_link.proto | 70 + .../resources/customer_conversion_goal.proto | 64 + .../v9/resources/customer_customizer.proto | 68 + .../customer_extension_setting.proto | 67 + .../v9/resources/customer_feed.proto | 75 + .../v9/resources/customer_label.proto | 72 + .../v9/resources/customer_manager_link.proto | 65 + .../customer_negative_criterion.proto | 82 + .../v9/resources/customer_user_access.proto | 72 + .../customer_user_access_invitation.proto | 73 + .../v9/resources/customizer_attribute.proto | 72 + .../v9/resources/detail_placement_view.proto | 71 + .../v9/resources/detailed_demographic.proto | 74 + .../v9/resources/display_keyword_view.proto | 51 + .../v9/resources/distance_view.proto | 62 + .../v9/resources/domain_category.proto | 90 + .../dynamic_search_ads_search_term_view.proto | 86 + .../expanded_landing_page_view.proto | 55 + .../v9/resources/extension_feed_item.proto | 151 + .../ads/googleads/v9/resources/feed.proto | 190 + .../googleads/v9/resources/feed_item.proto | 214 + .../v9/resources/feed_item_set.proto | 84 + .../v9/resources/feed_item_set_link.proto | 66 + .../v9/resources/feed_item_target.proto | 108 + .../googleads/v9/resources/feed_mapping.proto | 189 + .../v9/resources/feed_placeholder_view.proto | 55 + .../googleads/v9/resources/gender_view.proto | 51 + .../v9/resources/geo_target_constant.proto | 82 + .../v9/resources/geographic_view.proto | 63 + .../v9/resources/google_ads_field.proto | 108 + .../v9/resources/group_placement_view.proto | 66 + .../v9/resources/hotel_group_view.proto | 51 + .../v9/resources/hotel_performance_view.proto | 51 + .../v9/resources/hotel_reconciliation.proto | 109 + .../v9/resources/income_range_view.proto | 51 + .../ads/googleads/v9/resources/invoice.proto | 203 + .../googleads/v9/resources/keyword_plan.proto | 82 + .../v9/resources/keyword_plan_ad_group.proto | 71 + .../keyword_plan_ad_group_keyword.proto | 77 + .../v9/resources/keyword_plan_campaign.proto | 98 + .../keyword_plan_campaign_keyword.proto | 71 + .../v9/resources/keyword_theme_constant.proto | 64 + .../googleads/v9/resources/keyword_view.proto | 51 + .../ads/googleads/v9/resources/label.proto | 66 + .../v9/resources/landing_page_view.proto | 55 + .../v9/resources/language_constant.proto | 64 + .../googleads/v9/resources/life_event.proto | 73 + .../v9/resources/location_view.proto | 52 + .../v9/resources/managed_placement_view.proto | 51 + .../googleads/v9/resources/media_file.proto | 137 + .../v9/resources/merchant_center_link.proto | 64 + .../mobile_app_category_constant.proto | 57 + .../v9/resources/mobile_device_constant.proto | 67 + .../v9/resources/offline_user_data_job.proto | 95 + .../operating_system_version_constant.proto | 70 + .../paid_organic_search_term_view.proto | 56 + .../v9/resources/parental_status_view.proto | 51 + .../v9/resources/payments_account.proto | 78 + .../product_bidding_category_constant.proto | 83 + .../v9/resources/product_group_view.proto | 51 + .../v9/resources/recommendation.proto | 350 + .../v9/resources/remarketing_action.proto | 66 + .../v9/resources/search_term_view.proto | 68 + .../v9/resources/shared_criterion.proto | 92 + .../googleads/v9/resources/shared_set.proto | 77 + .../resources/shopping_performance_view.proto | 55 + .../smart_campaign_search_term_view.proto | 62 + .../v9/resources/smart_campaign_setting.proto | 91 + .../third_party_app_analytics_link.proto | 55 + .../v9/resources/topic_constant.proto | 71 + .../googleads/v9/resources/topic_view.proto | 51 + .../v9/resources/user_interest.proto | 76 + .../googleads/v9/resources/user_list.proto | 174 + .../v9/resources/user_location_view.proto | 62 + .../ads/googleads/v9/resources/video.proto | 63 + .../googleads/v9/resources/webpage_view.proto | 51 + .../ads/googleads/v9/services/BUILD.bazel | 138 + .../accessible_bidding_strategy_service.proto | 58 + .../account_budget_proposal_service.proto | 161 + .../v9/services/account_budget_service.proto | 70 + .../v9/services/account_link_service.proto | 185 + .../ad_group_ad_asset_view_service.proto | 67 + .../services/ad_group_ad_label_service.proto | 144 + .../v9/services/ad_group_ad_service.proto | 195 + .../v9/services/ad_group_asset_service.proto | 162 + .../ad_group_audience_view_service.proto | 67 + .../ad_group_bid_modifier_service.proto | 174 + ...d_group_criterion_customizer_service.proto | 116 + .../ad_group_criterion_label_service.proto | 143 + .../services/ad_group_criterion_service.proto | 194 + ...d_group_criterion_simulation_service.proto | 68 + .../ad_group_customizer_service.proto | 113 + .../ad_group_extension_setting_service.proto | 183 + .../v9/services/ad_group_feed_service.proto | 172 + .../v9/services/ad_group_label_service.proto | 144 + .../v9/services/ad_group_service.proto | 178 + .../ad_group_simulation_service.proto | 67 + .../v9/services/ad_parameter_service.proto | 162 + .../services/ad_schedule_view_service.proto | 67 + .../googleads/v9/services/ad_service.proto | 184 + .../v9/services/age_range_view_service.proto | 67 + .../asset_field_type_view_service.proto | 59 + .../services/asset_group_asset_service.proto | 130 + ...t_group_listing_group_filter_service.proto | 115 + .../v9/services/asset_group_service.proto | 123 + .../googleads/v9/services/asset_service.proto | 175 + .../v9/services/asset_set_asset_service.proto | 112 + .../v9/services/asset_set_service.proto | 118 + .../v9/services/batch_job_service.proto | 286 + .../bidding_data_exclusion_service.proto | 141 + ...dding_seasonality_adjustment_service.proto | 141 + .../services/bidding_strategy_service.proto | 177 + .../bidding_strategy_simulation_service.proto | 60 + .../v9/services/billing_setup_service.proto | 136 + .../v9/services/campaign_asset_service.proto | 163 + .../services/campaign_asset_set_service.proto | 112 + .../campaign_audience_view_service.proto | 67 + .../campaign_bid_modifier_service.proto | 174 + .../v9/services/campaign_budget_service.proto | 167 + .../campaign_conversion_goal_service.proto | 89 + .../services/campaign_criterion_service.proto | 178 + ...ampaign_criterion_simulation_service.proto | 68 + .../campaign_customizer_service.proto | 113 + .../v9/services/campaign_draft_service.proto | 254 + .../campaign_experiment_service.proto | 382 + .../campaign_extension_setting_service.proto | 182 + .../v9/services/campaign_feed_service.proto | 173 + .../v9/services/campaign_label_service.proto | 144 + .../v9/services/campaign_service.proto | 183 + .../campaign_shared_set_service.proto | 164 + .../campaign_simulation_service.proto | 60 + .../services/carrier_constant_service.proto | 67 + .../v9/services/change_status_service.proto | 67 + .../v9/services/click_view_service.proto | 67 + .../services/combined_audience_service.proto | 69 + .../services/conversion_action_service.proto | 167 + ...conversion_adjustment_upload_service.proto | 200 + .../conversion_custom_variable_service.proto | 158 + ...version_goal_campaign_config_service.proto | 100 + .../services/conversion_upload_service.proto | 343 + .../conversion_value_rule_service.proto | 144 + .../conversion_value_rule_set_service.proto | 144 + .../services/currency_constant_service.proto | 65 + .../v9/services/custom_audience_service.proto | 140 + .../custom_conversion_goal_service.proto | 109 + .../v9/services/custom_interest_service.proto | 132 + .../v9/services/customer_asset_service.proto | 160 + .../customer_client_link_service.proto | 129 + .../v9/services/customer_client_service.proto | 67 + .../customer_conversion_goal_service.proto | 89 + .../customer_customizer_service.proto | 113 + .../customer_extension_setting_service.proto | 180 + .../v9/services/customer_feed_service.proto | 172 + .../v9/services/customer_label_service.proto | 142 + .../customer_manager_link_service.proto | 180 + .../customer_negative_criterion_service.proto | 152 + .../v9/services/customer_service.proto | 214 + ...tomer_user_access_invitation_service.proto | 125 + .../customer_user_access_service.proto | 129 + .../customizer_attribute_service.proto | 117 + .../detail_placement_view_service.proto | 67 + .../detailed_demographic_service.proto | 59 + .../display_keyword_view_service.proto | 67 + .../v9/services/distance_view_service.proto | 67 + .../v9/services/domain_category_service.proto | 68 + ..._search_ads_search_term_view_service.proto | 68 + .../expanded_landing_page_view_service.proto | 68 + .../extension_feed_item_service.proto | 175 + .../v9/services/feed_item_service.proto | 174 + .../services/feed_item_set_link_service.proto | 138 + .../v9/services/feed_item_set_service.proto | 146 + .../services/feed_item_target_service.proto | 161 + .../v9/services/feed_mapping_service.proto | 161 + .../feed_placeholder_view_service.proto | 67 + .../googleads/v9/services/feed_service.proto | 173 + .../v9/services/gender_view_service.proto | 67 + .../geo_target_constant_service.proto | 146 + .../v9/services/geographic_view_service.proto | 67 + .../services/google_ads_field_service.proto | 115 + .../v9/services/google_ads_service.proto | 1425 + .../group_placement_view_service.proto | 67 + .../services/hotel_group_view_service.proto | 67 + .../hotel_performance_view_service.proto | 67 + .../services/income_range_view_service.proto | 67 + .../v9/services/invoice_service.proto | 83 + ...eyword_plan_ad_group_keyword_service.proto | 165 + .../keyword_plan_ad_group_service.proto | 159 + ...eyword_plan_campaign_keyword_service.proto | 162 + .../keyword_plan_campaign_service.proto | 160 + .../services/keyword_plan_idea_service.proto | 181 + .../v9/services/keyword_plan_service.proto | 446 + .../keyword_theme_constant_service.proto | 98 + .../v9/services/keyword_view_service.proto | 67 + .../googleads/v9/services/label_service.proto | 168 + .../services/landing_page_view_service.proto | 67 + .../services/language_constant_service.proto | 67 + .../v9/services/life_event_service.proto | 59 + .../v9/services/location_view_service.proto | 67 + .../managed_placement_view_service.proto | 67 + .../v9/services/media_file_service.proto | 156 + .../merchant_center_link_service.proto | 160 + ...mobile_app_category_constant_service.proto | 66 + .../mobile_device_constant_service.proto | 67 + .../offline_user_data_job_service.proto | 237 + ...ting_system_version_constant_service.proto | 68 + ...aid_organic_search_term_view_service.proto | 68 + .../parental_status_view_service.proto | 67 + .../services/payments_account_service.proto | 71 + ...ct_bidding_category_constant_service.proto | 68 + .../services/product_group_view_service.proto | 67 + .../v9/services/reach_plan_service.proto | 568 + .../v9/services/recommendation_service.proto | 309 + .../services/remarketing_action_service.proto | 141 + .../services/search_term_view_service.proto | 67 + .../services/shared_criterion_service.proto | 162 + .../v9/services/shared_set_service.proto | 172 + .../shopping_performance_view_service.proto | 68 + ...rt_campaign_search_term_view_service.proto | 68 + .../smart_campaign_setting_service.proto | 128 + .../smart_campaign_suggest_service.proto | 224 + ...ird_party_app_analytics_link_service.proto | 94 + .../v9/services/topic_constant_service.proto | 67 + .../v9/services/topic_view_service.proto | 67 + .../v9/services/user_data_service.proto | 97 + .../v9/services/user_interest_service.proto | 67 + .../v9/services/user_list_service.proto | 159 + .../services/user_location_view_service.proto | 67 + .../googleads/v9/services/video_service.proto | 67 + .../v9/services/webpage_view_service.proto | 59 + .../protos/google/analytics/admin/BUILD.bazel | 39 + .../analytics/admin/v1alpha/BUILD.bazel | 387 + .../admin/v1alpha/access_report.proto | 328 + .../v1alpha/admin_grpc_service_config.json | 15 + .../admin/v1alpha/analytics_admin.proto | 2333 + .../admin/v1alpha/analyticsadmin.yaml | 198 + .../admin/v1alpha/analyticsadmin_gapic.yaml | 2 + .../admin/v1alpha/analyticsadmin_v1alpha.yaml | 203 + .../analytics/admin/v1alpha/audience.proto | 419 + .../analytics/admin/v1alpha/resources.proto | 1300 + .../google/analytics/admin/v1beta/BUILD.bazel | 376 + .../v1beta/admin_grpc_service_config.json | 158 + .../admin/v1beta/analytics_admin.proto | 1333 + .../admin/v1beta/analyticsadmin.yaml | 109 + .../analytics/admin/v1beta/resources.proto | 905 + .../protos/google/analytics/data/BUILD.bazel | 41 + .../google/analytics/data/v1alpha/BUILD.bazel | 370 + .../data/v1alpha/analytics_data_api.proto | 169 + .../analytics_data_grpc_service_config.json | 24 + .../data/v1alpha/analyticsdata_v1alpha.yaml | 23 + .../google/analytics/data/v1alpha/data.proto | 1233 + .../google/analytics/data/v1beta/BUILD.bazel | 388 + .../data/v1beta/analytics_data_api.proto | 628 + .../analytics_data_grpc_service_config.json | 48 + .../data/v1beta/analyticsdata_v1beta.yaml | 23 + .../google/analytics/data/v1beta/data.proto | 981 + google-cloud/protos/google/api/BUILD.bazel | 114 +- .../protos/google/api/annotations.proto | 2 +- .../protos/google/api/apikeys/BUILD.bazel | 40 + .../protos/google/api/apikeys/v2/BUILD.bazel | 390 + .../google/api/apikeys/v2/apikeys.proto | 287 + .../v2/apikeys_grpc_service_config.json | 8 + .../google/api/apikeys/v2/apikeys_v2.yaml | 55 + .../google/api/apikeys/v2/resources.proto | 172 + google-cloud/protos/google/api/auth.proto | 70 +- google-cloud/protos/google/api/backend.proto | 65 +- google-cloud/protos/google/api/billing.proto | 30 +- google-cloud/protos/google/api/client.proto | 3 +- .../protos/google/api/config_change.proto | 3 +- google-cloud/protos/google/api/consumer.proto | 2 +- google-cloud/protos/google/api/context.proto | 5 +- google-cloud/protos/google/api/control.proto | 3 +- .../protos/google/api/distribution.proto | 5 +- .../protos/google/api/documentation.proto | 9 +- google-cloud/protos/google/api/endpoint.proto | 16 +- .../protos/google/api/error_reason.proto | 397 + .../protos/google/api/expr/artman_cel.yaml | 37 - .../api/expr/conformance/v1alpha1/BUILD.bazel | 178 + .../v1alpha1/conformance_service.proto | 46 +- .../google/api/expr/v1alpha1/BUILD.bazel | 268 +- .../protos/google/api/expr/v1alpha1/cel.yaml | 69 - .../google/api/expr/v1alpha1/cel_gapic.yaml | 248 - .../api/expr/v1alpha1/cel_service.proto | 44 - .../google/api/expr/v1alpha1/checked.proto | 40 +- .../google/api/expr/v1alpha1/eval.proto | 3 +- .../google/api/expr/v1alpha1/explain.proto | 3 +- .../google/api/expr/v1alpha1/syntax.proto | 21 +- .../google/api/expr/v1alpha1/value.proto | 3 +- .../google/api/expr/v1beta1/BUILD.bazel | 2 + .../protos/google/api/field_behavior.proto | 15 +- google-cloud/protos/google/api/http.proto | 3 +- google-cloud/protos/google/api/httpbody.proto | 13 +- google-cloud/protos/google/api/label.proto | 3 +- .../protos/google/api/launch_stage.proto | 11 +- google-cloud/protos/google/api/log.proto | 3 +- google-cloud/protos/google/api/logging.proto | 3 +- google-cloud/protos/google/api/metric.proto | 123 +- .../google/api/monitored_resource.proto | 5 +- .../protos/google/api/monitoring.proto | 46 +- google-cloud/protos/google/api/quota.proto | 8 +- google-cloud/protos/google/api/resource.proto | 140 +- google-cloud/protos/google/api/routing.proto | 461 + google-cloud/protos/google/api/service.proto | 30 +- .../protos/google/api/serviceconfig.yaml | 4 +- .../google/api/servicecontrol/BUILD.bazel | 40 + .../google/api/servicecontrol/v1/BUILD.bazel | 396 + .../api/servicecontrol/v1/check_error.proto | 59 +- .../api/servicecontrol/v1/distribution.proto | 18 +- .../api/servicecontrol/v1/http_request.proto | 93 + .../api/servicecontrol/v1/log_entry.proto | 64 +- .../api/servicecontrol/v1/metric_value.proto | 19 +- .../api/servicecontrol/v1/operation.proto | 34 +- .../servicecontrol/v1/quota_controller.proto | 63 +- .../v1/service_controller.proto | 83 +- .../api/servicecontrol/v1/servicecontrol.yaml | 178 + .../servicecontrol_grpc_service_config.json | 29 + .../google/api/servicecontrol/v2/BUILD.bazel | 382 + .../v2/service_controller.proto | 190 + .../api/servicecontrol/v2/servicecontrol.yaml | 171 + .../servicecontrol_grpc_service_config.json | 20 + .../google/api/servicemanagement/BUILD.bazel | 40 + .../artman_servicemanagement_v1.yaml | 34 - .../servicemanagement_v1.yaml | 233 - .../api/servicemanagement/v1/BUILD.bazel | 392 + .../api/servicemanagement/v1/resources.proto | 24 +- .../v1/servicemanagement_gapic.yaml | 297 +- ...servicemanagement_grpc_service_config.json | 12 + .../v1/servicemanagement_v1.yaml | 267 + .../servicemanagement/v1/servicemanager.proto | 256 +- .../google/api/serviceusage/BUILD.bazel | 40 + .../google/api/serviceusage/v1/BUILD.bazel | 394 + .../api/serviceusage/v1/resources.proto | 121 + .../api/serviceusage/v1/serviceusage.proto | 301 + .../v1/serviceusage_grpc_service_config.json | 8 + .../api/serviceusage/v1/serviceusage_v1.yaml | 75 + .../api/serviceusage/v1beta1/BUILD.bazel | 371 + .../api/serviceusage/v1beta1/resources.proto | 394 + .../serviceusage/v1beta1/serviceusage.proto | 786 + .../serviceusage_grpc_service_config.json | 8 + .../v1beta1/serviceusage_v1beta1.yaml | 68 + .../protos/google/api/source_info.proto | 3 +- .../protos/google/api/system_parameter.proto | 3 +- google-cloud/protos/google/api/usage.proto | 9 +- .../protos/google/api/visibility.proto | 111 + .../protos/google/appengine/BUILD.bazel | 40 + .../google/appengine/artman_appengine.yaml | 17 - .../google/appengine/legacy/BUILD.bazel | 177 + .../google/appengine/legacy/audit_data.proto | 2 +- .../google/appengine/logging/v1/BUILD.bazel | 177 + .../appengine/logging/v1/request_log.proto | 9 +- .../protos/google/appengine/v1/BUILD.bazel | 414 + .../protos/google/appengine/v1/app_yaml.proto | 75 +- .../google/appengine/v1/appengine.proto | 896 +- .../v1/appengine_grpc_service_config.json | 17 + .../google/appengine/v1/appengine_v1.yaml | 236 + .../google/appengine/v1/application.proto | 123 +- .../google/appengine/v1/audit_data.proto | 10 +- .../google/appengine/v1/certificate.proto | 172 + .../protos/google/appengine/v1/deploy.proto | 46 +- .../google/appengine/v1/deployed_files.proto | 25 + .../protos/google/appengine/v1/domain.proto | 40 + .../google/appengine/v1/domain_mapping.proto | 123 + .../protos/google/appengine/v1/firewall.proto | 68 + .../protos/google/appengine/v1/instance.proto | 143 +- .../protos/google/appengine/v1/location.proto | 19 +- .../appengine/v1/network_settings.proto | 47 + .../google/appengine/v1/operation.proto | 31 +- .../protos/google/appengine/v1/service.proto | 28 +- .../protos/google/appengine/v1/version.proto | 267 +- .../google/appengine/v1beta/BUILD.bazel | 192 + .../google/appengine/v1beta/app_yaml.proto | 348 + .../google/appengine/v1beta/appengine.proto | 1006 + .../google/appengine/v1beta/application.proto | 193 + .../google/appengine/v1beta/audit_data.proto | 54 + .../google/appengine/v1beta/certificate.proto | 172 + .../google/appengine/v1beta/deploy.proto | 118 + .../google/appengine/v1beta/domain.proto | 41 + .../appengine/v1beta/domain_mapping.proto | 118 + .../google/appengine/v1beta/firewall.proto | 69 + .../google/appengine/v1beta/instance.proto | 143 + .../google/appengine/v1beta/location.proto | 44 + .../appengine/v1beta/network_settings.proto | 48 + .../google/appengine/v1beta/operation.proto | 79 + .../google/appengine/v1beta/service.proto | 93 + .../google/appengine/v1beta/version.proto | 607 + .../apps/alertcenter/v1beta1/BUILD.bazel | 353 + .../alertcenter/v1beta1/alertcenter.proto | 515 + .../apps/alertcenter/v1beta1/alertcenter.yaml | 17 + .../alertcenter_grpc_service_config.json | 8 + .../google/apps/drive/activity/v2/BUILD.bazel | 367 + .../apps/drive/activity/v2/action.proto | 606 + .../google/apps/drive/activity/v2/actor.proto | 118 + .../apps/drive/activity/v2/common.proto | 54 + .../activity/v2/drive_activity_service.proto | 48 + .../v2/driveactivity_grpc_service_config.json | 20 + .../drive/activity/v2/driveactivity_v2.yaml | 18 + .../v2/query_drive_activity_request.proto | 108 + .../v2/query_drive_activity_response.proto | 74 + .../apps/drive/activity/v2/target.proto | 265 + .../protos/google/apps/market/v2/BUILD.bazel | 350 + .../google/apps/market/v2/appsmarket_v2.yaml | 38 + .../google/apps/market/v2/resources.proto | 175 + .../v2/service_grpc_service_config.json | 27 + .../google/apps/market/v2/services.proto | 96 + .../google/apps/script/type/BUILD.bazel | 148 + .../apps/script/type/addon_widget_set.proto | 58 + .../apps/script/type/calendar/BUILD.bazel | 138 + .../calendar/calendar_addon_manifest.proto | 107 + .../google/apps/script/type/docs/BUILD.bazel | 138 + .../type/docs/docs_addon_manifest.proto | 47 + .../google/apps/script/type/drive/BUILD.bazel | 135 + .../type/drive/drive_addon_manifest.proto | 48 + .../apps/script/type/extension_point.proto | 77 + .../google/apps/script/type/gmail/BUILD.bazel | 137 + .../type/gmail/gmail_addon_manifest.proto | 127 + .../apps/script/type/script_manifest.proto | 105 + .../apps/script/type/sheets/BUILD.bazel | 138 + .../type/sheets/sheets_addon_manifest.proto | 47 + .../apps/script/type/slides/BUILD.bazel | 138 + .../type/slides/slides_addon_manifest.proto | 47 + .../protos/google/area120/tables/BUILD.bazel | 40 + .../area120/tables/v1alpha1/BUILD.bazel | 356 + .../v1alpha1/area120tables_v1alpha1.yaml | 61 + .../tables/v1alpha1/language_gapic.yaml | 6 + .../area120/tables/v1alpha1/tables.proto | 504 + .../v1alpha1/tables_grpc_service_config.json | 31 + google-cloud/protos/google/artman_core.yaml | 23 - .../google/artman_logging_external_types.yaml | 22 - .../protos/google/bigtable/BUILD.bazel | 2 +- .../protos/google/bigtable/admin/BUILD.bazel | 2 +- .../bigtable/admin/artman_bigtableadmin.yaml | 39 - .../google/bigtable/admin/bigtableadmin.yaml | 170 - .../admin/cluster/bigtableclusteradmin.yaml | 39 - .../cluster/v1/bigtable_cluster_data.proto | 93 - .../cluster/v1/bigtable_cluster_service.proto | 150 - .../bigtable_cluster_service_messages.proto | 138 - .../admin/table/bigtabletableadmin.yaml | 27 - .../admin/table/v1/bigtable_table_data.proto | 123 - .../table/v1/bigtable_table_service.proto | 104 - .../v1/bigtable_table_service_messages.proto | 115 - .../google/bigtable/admin/v2/BUILD.bazel | 335 +- .../admin/v2/bigtable_instance_admin.proto | 460 +- .../admin/v2/bigtable_table_admin.proto | 690 +- .../admin/v2/bigtableadmin_gapic.yaml | 838 +- .../v2/bigtableadmin_grpc_service_config.json | 233 + .../bigtable/admin/v2/bigtableadmin_v2.yaml | 178 + .../google/bigtable/admin/v2/common.proto | 20 +- .../google/bigtable/admin/v2/instance.proto | 213 +- .../google/bigtable/admin/v2/table.proto | 257 +- .../google/bigtable/artman_bigtable.yaml | 34 - .../protos/google/bigtable/bigtable.yaml | 32 - .../google/bigtable/v1/bigtable_data.proto | 513 - .../google/bigtable/v1/bigtable_service.proto | 92 - .../v1/bigtable_service_messages.proto | 217 - .../protos/google/bigtable/v1/readme.md | 11 + .../protos/google/bigtable/v2/BUILD.bazel | 278 +- .../protos/google/bigtable/v2/bigtable.proto | 280 +- .../google/bigtable/v2/bigtable_gapic.yaml | 193 +- .../v2/bigtable_grpc_service_config.json | 63 + .../google/bigtable/v2/bigtable_v2.yaml | 43 + .../protos/google/bigtable/v2/data.proto | 9 +- .../google/bigtable/v2/request_stats.proto | 113 + .../google/bigtable/v2/response_params.proto | 38 + .../protos/google/chat/logging/v1/BUILD.bazel | 177 + .../chat/logging/v1/chat_app_log_entry.proto | 40 + .../protos/google/chromeos/moblab/BUILD.bazel | 1 + .../chromeos/moblab/v1beta1/BUILD.bazel | 358 + .../moblab/v1beta1/build_service.proto | 299 + .../moblab/v1beta1/chromeosmoblab_gapic.yaml | 2 + .../v1beta1/chromeosmoblab_v1beta1.yaml | 26 + .../v1beta1/moblab_grpc_service_config.json | 35 + .../chromeos/moblab/v1beta1/resources.proto | 160 + .../chromeos/uidetection/v1/BUILD.bazel | 367 + .../v1/chromeosuidetection_v1.yaml | 18 + .../uidetection/v1/ui_detection.proto | 132 + .../v1/ui_detection_grpc_service_config.json | 13 + google-cloud/protos/google/cloud/BUILD.bazel | 106 +- .../google/cloud/accessapproval/BUILD.bazel | 40 + .../cloud/accessapproval/v1/BUILD.bazel | 376 + .../accessapproval/v1/accessapproval.proto | 697 + .../v1/accessapproval_gapic.yaml | 7 + .../accessapproval_grpc_service_config.json | 31 + .../accessapproval/v1/accessapproval_v1.yaml | 22 + .../google/cloud/aiplatform/BUILD.bazel | 41 + .../cloud/aiplatform/logging/BUILD.bazel | 177 + .../cloud/aiplatform/logging/prediction.proto | 45 + .../google/cloud/aiplatform/v1/BUILD.bazel | 549 + .../aiplatform/v1/accelerator_type.proto | 55 + .../cloud/aiplatform/v1/aiplatform_gapic.yaml | 18 + .../v1/aiplatform_grpc_service_config.json | 377 + .../cloud/aiplatform/v1/aiplatform_v1.yaml | 641 + .../cloud/aiplatform/v1/annotation.proto | 90 + .../cloud/aiplatform/v1/annotation_spec.proto | 55 + .../google/cloud/aiplatform/v1/artifact.proto | 109 + .../aiplatform/v1/batch_prediction_job.proto | 292 + .../aiplatform/v1/completion_stats.proto | 48 + .../google/cloud/aiplatform/v1/context.proto | 94 + .../cloud/aiplatform/v1/custom_job.proto | 279 + .../cloud/aiplatform/v1/data_item.proto | 70 + .../aiplatform/v1/data_labeling_job.proto | 207 + .../google/cloud/aiplatform/v1/dataset.proto | 144 + .../cloud/aiplatform/v1/dataset_service.proto | 461 + .../aiplatform/v1/deployed_index_ref.proto | 42 + .../aiplatform/v1/deployed_model_ref.proto | 42 + .../cloud/aiplatform/v1/encryption_spec.proto | 38 + .../google/cloud/aiplatform/v1/endpoint.proto | 258 + .../aiplatform/v1/endpoint_service.proto | 325 + .../cloud/aiplatform/v1/entity_type.proto | 86 + .../google/cloud/aiplatform/v1/env_var.proto | 42 + .../google/cloud/aiplatform/v1/event.proto | 80 + .../cloud/aiplatform/v1/execution.proto | 115 + .../cloud/aiplatform/v1/explanation.proto | 461 + .../aiplatform/v1/explanation_metadata.proto | 398 + .../google/cloud/aiplatform/v1/feature.proto | 154 + .../v1/feature_monitoring_stats.proto | 86 + .../aiplatform/v1/feature_selector.proto | 44 + .../cloud/aiplatform/v1/featurestore.proto | 129 + .../v1/featurestore_monitoring.proto | 149 + .../v1/featurestore_online_service.proto | 224 + .../aiplatform/v1/featurestore_service.proto | 1234 + .../v1/hyperparameter_tuning_job.proto | 110 + .../google/cloud/aiplatform/v1/index.proto | 172 + .../cloud/aiplatform/v1/index_endpoint.proto | 245 + .../v1/index_endpoint_service.proto | 335 + .../cloud/aiplatform/v1/index_service.proto | 335 + .../google/cloud/aiplatform/v1/io.proto | 108 + .../cloud/aiplatform/v1/job_service.proto | 1033 + .../cloud/aiplatform/v1/job_state.proto | 66 + .../aiplatform/v1/lineage_subgraph.proto | 42 + .../aiplatform/v1/machine_resources.proto | 204 + .../v1/manual_batch_tuning_parameters.proto | 39 + .../cloud/aiplatform/v1/metadata_schema.proto | 79 + .../aiplatform/v1/metadata_service.proto | 1317 + .../cloud/aiplatform/v1/metadata_store.proto | 65 + .../aiplatform/v1/migratable_resource.proto | 150 + .../aiplatform/v1/migration_service.proto | 314 + .../google/cloud/aiplatform/v1/model.proto | 617 + .../v1/model_deployment_monitoring_job.proto | 310 + .../aiplatform/v1/model_evaluation.proto | 116 + .../v1/model_evaluation_slice.proto | 71 + .../aiplatform/v1/model_monitoring.proto | 212 + .../cloud/aiplatform/v1/model_service.proto | 662 + .../cloud/aiplatform/v1/operation.proto | 52 + .../v1/pipeline_failure_policy.proto | 44 + .../cloud/aiplatform/v1/pipeline_job.proto | 365 + .../aiplatform/v1/pipeline_service.proto | 411 + .../cloud/aiplatform/v1/pipeline_state.proto | 58 + .../aiplatform/v1/prediction_service.proto | 231 + .../cloud/aiplatform/v1/saved_query.proto | 85 + .../aiplatform/v1/schema/aiplatform_v1.yaml | 401 + .../v1/schema/predict/instance/BUILD.bazel | 216 + .../instance/image_classification.proto | 43 + .../instance/image_object_detection.proto | 43 + .../predict/instance/image_segmentation.proto | 38 + .../instance/text_classification.proto | 37 + .../predict/instance/text_extraction.proto | 44 + .../predict/instance/text_sentiment.proto | 37 + .../instance/video_action_recognition.proto | 50 + .../instance/video_classification.proto | 50 + .../instance/video_object_tracking.proto | 50 + .../v1/schema/predict/params/BUILD.bazel | 201 + .../predict/params/image_classification.proto | 38 + .../params/image_object_detection.proto | 38 + .../predict/params/image_segmentation.proto | 35 + .../params/video_action_recognition.proto | 38 + .../predict/params/video_classification.proto | 63 + .../params/video_object_tracking.proto | 42 + .../v1/schema/predict/prediction/BUILD.bazel | 212 + .../predict/prediction/classification.proto | 40 + .../prediction/image_object_detection.proto | 50 + .../prediction/image_segmentation.proto | 44 + .../prediction/tabular_classification.proto | 38 + .../prediction/tabular_regression.proto | 38 + .../predict/prediction/text_extraction.proto | 51 + .../predict/prediction/text_sentiment.proto | 36 + .../prediction/video_action_recognition.proto | 53 + .../prediction/video_classification.proto | 66 + .../prediction/video_object_tracking.proto | 81 + .../schema/trainingjob/definition/BUILD.bazel | 209 + .../automl_image_classification.proto | 127 + .../automl_image_object_detection.proto | 119 + .../automl_image_segmentation.proto | 105 + .../definition/automl_tables.proto | 283 + .../automl_text_classification.proto | 36 + .../definition/automl_text_extraction.proto | 36 + .../definition/automl_text_sentiment.proto | 43 + .../automl_video_action_recognition.proto | 61 + .../automl_video_classification.proto | 55 + .../automl_video_object_tracking.proto | 66 + .../export_evaluated_data_items_config.proto | 42 + .../cloud/aiplatform/v1/specialist_pool.proto | 62 + .../v1/specialist_pool_service.proto | 210 + .../google/cloud/aiplatform/v1/study.proto | 559 + .../cloud/aiplatform/v1/tensorboard.proto | 86 + .../aiplatform/v1/tensorboard_data.proto | 101 + .../v1/tensorboard_experiment.proto | 78 + .../cloud/aiplatform/v1/tensorboard_run.proto | 81 + .../aiplatform/v1/tensorboard_service.proto | 1006 + .../v1/tensorboard_time_series.proto | 106 + .../aiplatform/v1/training_pipeline.proto | 413 + .../google/cloud/aiplatform/v1/types.proto | 49 + .../v1/unmanaged_container_model.proto | 43 + .../aiplatform/v1/user_action_reference.proto | 47 + .../google/cloud/aiplatform/v1/value.proto | 39 + .../cloud/aiplatform/v1/vizier_service.proto | 505 + .../cloud/aiplatform/v1beta1/BUILD.bazel | 495 + .../aiplatform/v1beta1/accelerator_type.proto | 55 + .../aiplatform_grpc_service_config.json | 654 + .../v1beta1/aiplatform_v1beta1.yaml | 604 + .../cloud/aiplatform/v1beta1/annotation.proto | 90 + .../aiplatform/v1beta1/annotation_spec.proto | 55 + .../cloud/aiplatform/v1beta1/artifact.proto | 109 + .../v1beta1/batch_prediction_job.proto | 314 + .../aiplatform/v1beta1/completion_stats.proto | 48 + .../cloud/aiplatform/v1beta1/context.proto | 94 + .../cloud/aiplatform/v1beta1/custom_job.proto | 279 + .../cloud/aiplatform/v1beta1/data_item.proto | 70 + .../v1beta1/data_labeling_job.proto | 207 + .../cloud/aiplatform/v1beta1/dataset.proto | 144 + .../aiplatform/v1beta1/dataset_service.proto | 461 + .../v1beta1/deployed_index_ref.proto | 42 + .../v1beta1/deployed_model_ref.proto | 42 + .../v1beta1/deployment_resource_pool.proto | 50 + .../deployment_resource_pool_service.proto | 219 + .../aiplatform/v1beta1/encryption_spec.proto | 38 + .../cloud/aiplatform/v1beta1/endpoint.proto | 262 + .../aiplatform/v1beta1/endpoint_service.proto | 315 + .../aiplatform/v1beta1/entity_type.proto | 86 + .../cloud/aiplatform/v1beta1/env_var.proto | 42 + .../cloud/aiplatform/v1beta1/event.proto | 80 + .../cloud/aiplatform/v1beta1/execution.proto | 115 + .../aiplatform/v1beta1/explanation.proto | 520 + .../v1beta1/explanation_metadata.proto | 398 + .../cloud/aiplatform/v1beta1/feature.proto | 178 + .../v1beta1/feature_monitoring_stats.proto | 86 + .../aiplatform/v1beta1/feature_selector.proto | 44 + .../aiplatform/v1beta1/featurestore.proto | 129 + .../v1beta1/featurestore_monitoring.proto | 155 + .../v1beta1/featurestore_online_service.proto | 273 + .../v1beta1/featurestore_service.proto | 1332 + .../v1beta1/hyperparameter_tuning_job.proto | 110 + .../cloud/aiplatform/v1beta1/index.proto | 172 + .../aiplatform/v1beta1/index_endpoint.proto | 245 + .../v1beta1/index_endpoint_service.proto | 335 + .../aiplatform/v1beta1/index_service.proto | 335 + .../google/cloud/aiplatform/v1beta1/io.proto | 108 + .../aiplatform/v1beta1/job_service.proto | 1033 + .../cloud/aiplatform/v1beta1/job_state.proto | 66 + .../aiplatform/v1beta1/lineage_subgraph.proto | 42 + .../v1beta1/machine_resources.proto | 204 + .../manual_batch_tuning_parameters.proto | 39 + .../aiplatform/v1beta1/metadata_schema.proto | 79 + .../aiplatform/v1beta1/metadata_service.proto | 1317 + .../aiplatform/v1beta1/metadata_store.proto | 65 + .../v1beta1/migratable_resource.proto | 150 + .../v1beta1/migration_service.proto | 314 + .../cloud/aiplatform/v1beta1/model.proto | 617 + .../model_deployment_monitoring_job.proto | 310 + .../aiplatform/v1beta1/model_evaluation.proto | 94 + .../v1beta1/model_evaluation_slice.proto | 71 + .../aiplatform/v1beta1/model_monitoring.proto | 236 + .../aiplatform/v1beta1/model_service.proto | 693 + .../cloud/aiplatform/v1beta1/operation.proto | 52 + .../v1beta1/pipeline_failure_policy.proto | 44 + .../aiplatform/v1beta1/pipeline_job.proto | 365 + .../aiplatform/v1beta1/pipeline_service.proto | 411 + .../aiplatform/v1beta1/pipeline_state.proto | 58 + .../v1beta1/prediction_service.proto | 231 + .../aiplatform/v1beta1/saved_query.proto | 85 + .../aiplatform/v1beta1/schema/BUILD.bazel | 176 + .../v1beta1/schema/aiplatform_v1beta1.yaml | 424 + .../v1beta1/schema/annotation_payload.proto | 230 + .../schema/annotation_spec_color.proto | 42 + .../v1beta1/schema/data_item_payload.proto | 67 + .../v1beta1/schema/dataset_metadata.proto | 126 + .../aiplatform/v1beta1/schema/geometry.proto | 37 + .../aiplatform/v1beta1/schema/io_format.proto | 68 + .../schema/predict/instance/BUILD.bazel | 188 + .../instance/image_classification.proto | 43 + .../instance/image_object_detection.proto | 43 + .../predict/instance/image_segmentation.proto | 38 + .../instance/text_classification.proto | 37 + .../predict/instance/text_extraction.proto | 44 + .../predict/instance/text_sentiment.proto | 37 + .../instance/video_action_recognition.proto | 50 + .../instance/video_classification.proto | 50 + .../instance/video_object_tracking.proto | 50 + .../v1beta1/schema/predict/params/BUILD.bazel | 185 + .../predict/params/image_classification.proto | 38 + .../params/image_object_detection.proto | 38 + .../predict/params/image_segmentation.proto | 35 + .../params/video_action_recognition.proto | 38 + .../predict/params/video_classification.proto | 63 + .../params/video_object_tracking.proto | 42 + .../schema/predict/prediction/BUILD.bazel | 199 + .../predict/prediction/classification.proto | 40 + .../prediction/image_object_detection.proto | 50 + .../prediction/image_segmentation.proto | 44 + .../prediction/tabular_classification.proto | 38 + .../prediction/tabular_regression.proto | 38 + .../predict/prediction/text_extraction.proto | 51 + .../predict/prediction/text_sentiment.proto | 36 + .../prediction/time_series_forecasting.proto | 32 + .../prediction/video_action_recognition.proto | 53 + .../prediction/video_classification.proto | 66 + .../prediction/video_object_tracking.proto | 81 + .../schema/trainingjob/definition/BUILD.bazel | 195 + .../automl_image_classification.proto | 127 + .../automl_image_object_detection.proto | 119 + .../automl_image_segmentation.proto | 105 + .../definition/automl_tables.proto | 283 + .../automl_text_classification.proto | 36 + .../definition/automl_text_extraction.proto | 36 + .../definition/automl_text_sentiment.proto | 43 + .../automl_time_series_forecasting.proto | 286 + .../automl_video_action_recognition.proto | 61 + .../automl_video_classification.proto | 55 + .../automl_video_object_tracking.proto | 66 + .../export_evaluated_data_items_config.proto | 42 + .../aiplatform/v1beta1/specialist_pool.proto | 62 + .../v1beta1/specialist_pool_service.proto | 210 + .../cloud/aiplatform/v1beta1/study.proto | 619 + .../aiplatform/v1beta1/tensorboard.proto | 86 + .../aiplatform/v1beta1/tensorboard_data.proto | 101 + .../v1beta1/tensorboard_experiment.proto | 78 + .../aiplatform/v1beta1/tensorboard_run.proto | 81 + .../v1beta1/tensorboard_service.proto | 1004 + .../v1beta1/tensorboard_time_series.proto | 106 + .../v1beta1/training_pipeline.proto | 413 + .../cloud/aiplatform/v1beta1/types.proto | 49 + .../v1beta1/unmanaged_container_model.proto | 43 + .../v1beta1/user_action_reference.proto | 47 + .../cloud/aiplatform/v1beta1/value.proto | 39 + .../aiplatform/v1beta1/vizier_service.proto | 505 + .../google/cloud/apigateway/BUILD.bazel | 40 + .../google/cloud/apigateway/v1/BUILD.bazel | 381 + .../cloud/apigateway/v1/apigateway.proto | 632 + .../cloud/apigateway/v1/apigateway_gapic.yaml | 6 + .../v1/apigateway_grpc_service_config.json | 54 + .../apigateway/v1/apigateway_service.proto | 197 + .../cloud/apigateway/v1/apigateway_v1.yaml | 116 + .../google/cloud/apigeeconnect/BUILD.bazel | 40 + .../google/cloud/apigeeconnect/v1/BUILD.bazel | 379 + .../apigeeconnect/v1/apigeeconnect_v1.yaml | 19 + .../cloud/apigeeconnect/v1/connection.proto | 104 + .../v1/connection_grpc_service_config.json | 14 + .../cloud/apigeeconnect/v1/tether.proto | 215 + .../google/cloud/apigeeregistry/BUILD.bazel | 39 + .../cloud/apigeeregistry/v1/BUILD.bazel | 406 + .../apigeeregistry_grpc_service_config.json | 168 + .../apigeeregistry/v1/apigeeregistry_v1.yaml | 159 + .../v1/provisioning_service.proto | 205 + .../apigeeregistry/v1/registry_models.proto | 364 + .../apigeeregistry/v1/registry_service.proto | 1133 + .../protos/google/cloud/asset/BUILD.bazel | 42 +- .../cloud/asset/artman_cloudasset_v1.yaml | 36 - .../asset/artman_cloudasset_v1beta1.yaml | 35 - .../asset/artman_cloudasset_v1p2beta1.yaml | 35 - .../google/cloud/asset/asset_v1beta1.yaml | 56 - .../google/cloud/asset/asset_v1p2beta1.yaml | 38 - .../protos/google/cloud/asset/v1/BUILD.bazel | 406 + .../google/cloud/asset/v1/asset_service.proto | 1856 +- .../protos/google/cloud/asset/v1/assets.proto | 883 +- .../cloud/asset/v1/cloudasset_gapic.yaml | 142 - .../v1/cloudasset_grpc_service_config.json | 137 + .../google/cloud/asset/v1/cloudasset_v1.yaml | 22 +- .../google/cloud/asset/v1beta1/BUILD.bazel | 151 - .../cloud/asset/v1beta1/asset_service.proto | 182 - .../google/cloud/asset/v1beta1/assets.proto | 117 - .../cloud/asset/v1beta1/cloudasset_gapic.yaml | 146 - .../google/cloud/asset/v1p1beta1/BUILD.bazel | 342 + .../cloud/asset/v1p1beta1/asset_service.proto | 149 + .../google/cloud/asset/v1p1beta1/assets.proto | 113 + .../asset/v1p1beta1/cloudasset_gapic.yaml | 2 + .../cloudasset_grpc_service_config.json | 27 + .../asset/v1p1beta1/cloudasset_v1p1beta1.yaml | 44 + .../google/cloud/asset/v1p2beta1/BUILD.bazel | 355 + .../cloud/asset/v1p2beta1/asset_service.proto | 233 +- .../google/cloud/asset/v1p2beta1/assets.proto | 17 +- .../asset/v1p2beta1/cloudasset_gapic.yaml | 184 +- .../cloudasset_grpc_service_config.json | 43 + .../asset/v1p2beta1/cloudasset_v1p2beta1.yaml | 38 + .../google/cloud/asset/v1p5beta1/BUILD.bazel | 353 + .../cloud/asset/v1p5beta1/asset_service.proto | 112 + .../google/cloud/asset/v1p5beta1/assets.proto | 124 + .../asset/v1p5beta1/cloudasset_gapic.yaml | 2 + .../cloudasset_grpc_service_config.json | 22 + .../asset/v1p5beta1/cloudasset_v1p5beta1.yaml | 32 + .../google/cloud/asset/v1p7beta1/BUILD.bazel | 366 + .../cloud/asset/v1p7beta1/asset_service.proto | 313 + .../google/cloud/asset/v1p7beta1/assets.proto | 233 + .../asset/v1p7beta1/cloudasset_gapic.yaml | 2 + .../cloudasset_grpc_service_config.json | 22 + .../asset/v1p7beta1/cloudasset_v1p7beta1.yaml | 41 + .../google/cloud/assuredworkloads/BUILD.bazel | 40 + .../logging/v1/BUILD.bazel | 173 + .../regulatory_intercept_ack_log_entry.proto | 32 + .../cloud/assuredworkloads/v1/BUILD.bazel | 397 + .../v1/assuredworkloads.proto | 818 + .../assuredworkloads_grpc_service_config.json | 12 + .../v1/assuredworkloads_v1.yaml | 43 + .../assuredworkloads/v1beta1/BUILD.bazel | 389 + .../v1beta1/assuredworkloads.proto | 564 + .../assuredworkloads_grpc_service_config.json | 54 + .../v1beta1/assuredworkloads_service.proto | 100 + .../v1beta1/assuredworkloads_v1beta1.yaml | 43 + .../protos/google/cloud/audit/BUILD.bazel | 237 + .../protos/google/cloud/audit/audit_log.proto | 247 +- .../cloud/audit/bigquery_audit_metadata.proto | 1327 + .../protos/google/cloud/audit/cloudaudit.yaml | 8 + .../protos/google/cloud/automl/BUILD.bazel | 45 +- .../google/cloud/automl/artman_automl_v1.yaml | 34 - .../cloud/automl/artman_automl_v1beta1.yaml | 34 - .../protos/google/cloud/automl/automl_v1.yaml | 117 - .../google/cloud/automl/automl_v1beta1.yaml | 129 - .../protos/google/cloud/automl/v1/BUILD.bazel | 401 + .../cloud/automl/v1/annotation_payload.proto | 9 +- .../cloud/automl/v1/annotation_spec.proto | 17 +- .../google/cloud/automl/v1/automl_gapic.yaml | 612 - .../automl/v1/automl_grpc_service_config.json | 109 + .../google/cloud/automl/v1/automl_v1.yaml | 153 + .../cloud/automl/v1/classification.proto | 27 +- .../google/cloud/automl/v1/data_items.proto | 19 +- .../google/cloud/automl/v1/dataset.proto | 11 +- .../google/cloud/automl/v1/detection.proto | 11 +- .../google/cloud/automl/v1/geometry.proto | 7 +- .../protos/google/cloud/automl/v1/image.proto | 107 +- .../protos/google/cloud/automl/v1/io.proto | 687 +- .../protos/google/cloud/automl/v1/model.proto | 8 +- .../cloud/automl/v1/model_evaluation.proto | 37 +- .../google/cloud/automl/v1/operations.proto | 13 +- .../cloud/automl/v1/prediction_service.proto | 309 +- .../google/cloud/automl/v1/service.proto | 377 +- .../protos/google/cloud/automl/v1/text.proto | 29 +- .../cloud/automl/v1/text_extraction.proto | 6 +- .../google/cloud/automl/v1/text_segment.proto | 7 +- .../cloud/automl/v1/text_sentiment.proto | 12 +- .../google/cloud/automl/v1/translation.proto | 12 +- .../google/cloud/automl/v1beta1/BUILD.bazel | 261 +- .../automl/v1beta1/annotation_payload.proto | 5 +- .../automl/v1beta1/annotation_spec.proto | 14 +- .../cloud/automl/v1beta1/automl_gapic.yaml | 730 - .../v1beta1/automl_grpc_service_config.json | 133 + .../cloud/automl/v1beta1/automl_v1beta1.yaml | 129 + .../cloud/automl/v1beta1/classification.proto | 13 +- .../cloud/automl/v1beta1/column_spec.proto | 10 +- .../cloud/automl/v1beta1/data_items.proto | 41 +- .../cloud/automl/v1beta1/data_stats.proto | 4 +- .../cloud/automl/v1beta1/data_types.proto | 4 +- .../google/cloud/automl/v1beta1/dataset.proto | 10 +- .../cloud/automl/v1beta1/detection.proto | 4 +- .../cloud/automl/v1beta1/geometry.proto | 4 +- .../google/cloud/automl/v1beta1/image.proto | 64 +- .../google/cloud/automl/v1beta1/io.proto | 30 +- .../google/cloud/automl/v1beta1/model.proto | 10 +- .../automl/v1beta1/model_evaluation.proto | 10 +- .../cloud/automl/v1beta1/operations.proto | 28 +- .../automl/v1beta1/prediction_service.proto | 79 +- .../google/cloud/automl/v1beta1/ranges.proto | 4 +- .../cloud/automl/v1beta1/regression.proto | 4 +- .../google/cloud/automl/v1beta1/service.proto | 293 +- .../cloud/automl/v1beta1/table_spec.proto | 10 +- .../google/cloud/automl/v1beta1/tables.proto | 21 +- .../cloud/automl/v1beta1/temporal.proto | 4 +- .../google/cloud/automl/v1beta1/text.proto | 33 +- .../automl/v1beta1/text_extraction.proto | 4 +- .../cloud/automl/v1beta1/text_segment.proto | 4 +- .../cloud/automl/v1beta1/text_sentiment.proto | 4 +- .../cloud/automl/v1beta1/translation.proto | 9 +- .../google/cloud/automl/v1beta1/video.proto | 4 +- .../cloud/baremetalsolution/BUILD.bazel | 39 + .../cloud/baremetalsolution/v2/BUILD.bazel | 394 + .../v2/baremetalsolution.proto | 290 + ...baremetalsolution_grpc_service_config.json | 12 + .../v2/baremetalsolution_v2.yaml | 62 + .../cloud/baremetalsolution/v2/instance.proto | 288 + .../cloud/baremetalsolution/v2/lun.proto | 149 + .../cloud/baremetalsolution/v2/network.proto | 284 + .../baremetalsolution/v2/nfs_share.proto | 164 + .../cloud/baremetalsolution/v2/volume.proto | 231 + .../protos/google/cloud/batch/BUILD.bazel | 38 + .../protos/google/cloud/batch/v1/BUILD.bazel | 397 + .../protos/google/cloud/batch/v1/batch.proto | 272 + .../google/cloud/batch/v1/batch_v1.yaml | 119 + .../v1/batch_v1_grpc_service_config.json | 25 + .../protos/google/cloud/batch/v1/job.proto | 466 + .../protos/google/cloud/batch/v1/task.proto | 297 + .../protos/google/cloud/batch/v1/volume.proto | 72 + .../google/cloud/batch/v1alpha/BUILD.bazel | 397 + .../google/cloud/batch/v1alpha/batch.proto | 272 + .../cloud/batch/v1alpha/batch_v1alpha.yaml | 119 + .../batch_v1alpha_grpc_service_config.json | 25 + .../google/cloud/batch/v1alpha/job.proto | 564 + .../google/cloud/batch/v1alpha/task.proto | 322 + .../google/cloud/batch/v1alpha/volume.proto | 90 + .../beyondcorp/appconnections/BUILD.bazel | 39 + .../beyondcorp/appconnections/v1/BUILD.bazel | 343 + .../v1/app_connections_service.proto | 512 + ...rp-appconnections_grpc_service_config.json | 25 + .../appconnections/v1/beyondcorp_v1.yaml | 132 + .../beyondcorp/appconnectors/BUILD.bazel | 39 + .../beyondcorp/appconnectors/v1/BUILD.bazel | 347 + .../v1/app_connector_instance_config.proto | 72 + .../v1/app_connectors_service.proto | 435 + ...orp-appconnectors_grpc_service_config.json | 26 + .../appconnectors/v1/beyondcorp_v1.yaml | 132 + .../appconnectors/v1/resource_info.proto | 76 + .../cloud/beyondcorp/appgateways/BUILD.bazel | 39 + .../beyondcorp/appgateways/v1/BUILD.bazel | 342 + .../appgateways/v1/app_gateways_service.proto | 356 + ...dcorp-appgateways_grpc_service_config.json | 23 + .../appgateways/v1/beyondcorp_v1.yaml | 132 + .../clientconnectorservices/BUILD.bazel | 39 + .../clientconnectorservices/v1/BUILD.bazel | 342 + ...connectorservices_grpc_service_config.json | 25 + .../v1/beyondcorp_v1.yaml | 132 + .../client_connector_services_service.proto | 421 + .../beyondcorp/clientgateways/BUILD.bazel | 39 + .../beyondcorp/clientgateways/v1/BUILD.bazel | 342 + ...rp-clientgateways_grpc_service_config.json | 23 + .../clientgateways/v1/beyondcorp_v1.yaml | 132 + .../v1/client_gateways_service.proto | 296 + .../cloud/bigquery/analyticshub/BUILD.bazel | 39 + .../bigquery/analyticshub/v1/BUILD.bazel | 389 + .../analyticshub/v1/analyticshub.proto | 651 + .../analyticshub/v1/analyticshub_v1.yaml | 23 + .../analyticshub_v1_grpc_service_config.json | 22 + .../cloud/bigquery/artman_bigquery_v2.yaml | 35 - .../google/cloud/bigquery/bigquery_v2.yaml | 37 - .../cloud/bigquery/connection/BUILD.bazel | 40 + .../cloud/bigquery/connection/v1/BUILD.bazel | 378 + ...igqueryconnection_grpc_service_config.json | 56 + .../connection/v1/bigqueryconnection_v1.yaml | 18 + .../bigquery/connection/v1/connection.proto | 393 + .../connection/v1/connection_gapic.yaml | 5 + .../bigquery/connection/v1beta1/BUILD.bazel | 345 + .../artman_bigqueryconnection_v1beta1.yaml | 34 - .../v1beta1/bigqueryconnection_gapic.yaml | 235 - ...igqueryconnection_grpc_service_config.json | 60 + .../connection/v1beta1/connection.proto | 124 +- .../cloud/bigquery/dataexchange/BUILD.bazel | 39 + .../bigquery/dataexchange/v1beta1/BUILD.bazel | 397 + .../v1beta1/analyticshub_v1beta1.yaml | 51 + ...lyticshub_v1beta1_grpc_service_config.json | 22 + .../dataexchange/v1beta1/dataexchange.proto | 651 + .../cloud/bigquery/datapolicies/BUILD.bazel | 39 + .../bigquery/datapolicies/v1beta1/BUILD.bazel | 387 + .../v1beta1/bigquerydatapolicy_v1beta1.yaml | 23 + ...apolicies_v1beta1_grpc_service_config.json | 46 + .../datapolicies/v1beta1/datapolicy.proto | 287 + .../cloud/bigquery/datatransfer/BUILD.bazel | 42 +- .../artman_bigquerydatatransfer.yaml | 35 - .../bigquery/datatransfer/v1/BUILD.bazel | 329 +- .../v1/bigquerydatatransfer_gapic.yaml | 424 - ...querydatatransfer_grpc_service_config.json | 5 +- .../v1/bigquerydatatransfer_v1.yaml | 14 + .../bigquery/datatransfer/v1/datasource.proto | 542 - .../datatransfer/v1/datatransfer.proto | 160 +- .../bigquery/datatransfer/v1/transfer.proto | 84 +- .../cloud/bigquery/logging/v1/BUILD.bazel | 180 + .../bigquery/logging/v1/audit_data.proto | 114 +- .../cloud/bigquery/migration/BUILD.bazel | 39 + .../cloud/bigquery/migration/v2/BUILD.bazel | 392 + ...bigquerymigration_grpc_service_config.json | 39 + .../migration/v2/bigquerymigration_v2.yaml | 24 + .../migration/v2/migration_entities.proto | 233 + .../v2/migration_error_details.proto | 62 + .../migration/v2/migration_metrics.proto | 111 + .../migration/v2/migration_service.proto | 245 + .../migration/v2/translation_config.proto | 257 + .../bigquery/migration/v2alpha/BUILD.bazel | 368 + .../migration/v2alpha/assessment_task.proto | 49 + ...bigquerymigration_grpc_service_config.json | 63 + .../v2alpha/bigquerymigration_v2alpha.yaml | 31 + .../bigquery/migration/v2alpha/gapic.yaml | 16 + .../v2alpha/migration_entities.proto | 244 + .../v2alpha/migration_error_details.proto | 62 + .../migration/v2alpha/migration_metrics.proto | 111 + .../migration/v2alpha/migration_service.proto | 247 + .../v2alpha/translation_service.proto | 135 + .../migration/v2alpha/translation_task.proto | 207 + .../cloud/bigquery/reservation/BUILD.bazel | 40 + .../cloud/bigquery/reservation/v1/BUILD.bazel | 384 + ...gqueryreservation_grpc_service_config.json | 100 + .../v1/bigqueryreservation_v1.yaml | 27 + .../bigquery/reservation/v1/reservation.proto | 1055 + .../bigquery/reservation/v1beta1/BUILD.bazel | 343 + .../v1beta1/bigqueryreservation_gapic.yaml | 16 + ...gqueryreservation_grpc_service_config.json | 100 + .../v1beta1/bigqueryreservation_v1beta1.yaml | 30 + .../reservation/v1beta1/reservation.proto | 915 + .../google/cloud/bigquery/storage/BUILD.bazel | 41 +- .../artman_bigquerystorage_v1beta1.yaml | 35 - .../cloud/bigquery/storage/v1/BUILD.bazel | 371 + .../bigquery/storage/v1/annotations.proto | 28 + .../cloud/bigquery/storage/v1/arrow.proto | 64 + .../cloud/bigquery/storage/v1/avro.proto | 56 + .../storage/v1/bigquerystorage_gapic.yaml | 8 + .../bigquerystorage_grpc_service_config.json | 122 + .../storage/v1/bigquerystorage_v1.yaml | 35 + .../cloud/bigquery/storage/v1/protobuf.proto | 48 + .../cloud/bigquery/storage/v1/storage.proto | 673 + .../cloud/bigquery/storage/v1/stream.proto | 286 + .../cloud/bigquery/storage/v1/table.proto | 166 + .../bigquery/storage/v1beta1/BUILD.bazel | 293 +- .../bigquery/storage/v1beta1/arrow.proto | 3 +- .../cloud/bigquery/storage/v1beta1/avro.proto | 3 +- .../v1beta1/bigquerystorage_gapic.yaml | 196 +- .../v1beta1/bigquerystorage_v1beta1.yaml | 7 + .../storage/v1beta1/read_options.proto | 6 +- .../bigquery/storage/v1beta1/storage.proto | 22 +- .../storage/v1beta1/table_reference.proto | 4 +- .../bigquery/storage/v1beta2/BUILD.bazel | 359 + .../bigquery/storage/v1beta2/arrow.proto | 57 + .../cloud/bigquery/storage/v1beta2/avro.proto | 35 + .../v1beta2/bigquerystorage_gapic.yaml | 8 + .../bigquerystorage_grpc_service_config.json | 124 + .../v1beta2/bigquerystorage_v1beta2.yaml | 34 + .../bigquery/storage/v1beta2/protobuf.proto | 40 + .../bigquery/storage/v1beta2/storage.proto | 565 + .../bigquery/storage/v1beta2/stream.proto | 191 + .../bigquery/storage/v1beta2/table.proto | 111 + .../google/cloud/bigquery/v2/BUILD.bazel | 358 + .../bigquery/v2/bigquery_gapic.legacy.yaml | 175 - .../cloud/bigquery/v2/bigquery_gapic.yaml | 18 - .../google/cloud/bigquery/v2/bigquery_v2.yaml | 69 +- .../cloud/bigquery/v2/encryption_config.proto | 4 +- .../google/cloud/bigquery/v2/model.proto | 666 +- .../cloud/bigquery/v2/model_reference.proto | 4 +- .../cloud/bigquery/v2/standard_sql.proto | 19 +- .../cloud/bigquery/v2/table_reference.proto | 50 + .../protos/google/cloud/billing/BUILD.bazel | 41 + .../google/cloud/billing/budgets/BUILD.bazel | 40 + .../artman_billingbudgets_v1beta1.yaml | 34 - .../cloud/billing/budgets/billingbudgets.yaml | 14 - .../cloud/billing/budgets/v1/BUILD.bazel | 334 + .../budgets/v1/billingbudget_gapic.yaml | 2 + .../billing/budgets/v1/billingbudgets.yaml | 21 + .../billingbudgets_grpc_service_config.json | 44 + .../billing/budgets/v1/budget_model.proto | 300 + .../billing/budgets/v1/budget_service.proto | 183 + .../cloud/billing/budgets/v1beta1/BUILD.bazel | 359 + .../budgets/v1beta1/billingbudgets.yaml | 21 + .../budgets/v1beta1/billingbudgets_gapic.yaml | 70 - .../billingbudgets_grpc_service_config.json | 44 + .../budgets/v1beta1/budget_model.proto | 230 +- .../budgets/v1beta1/budget_service.proto | 30 +- .../google/cloud/billing/v1/BUILD.bazel | 376 + .../cloud/billing/v1/cloud_billing.proto | 204 +- .../v1/cloud_billing_grpc_service_config.json | 77 + .../cloud/billing/v1/cloud_catalog.proto | 331 + .../google/cloud/billing/v1/cloudbilling.yaml | 28 + .../cloud/binaryauthorization/BUILD.bazel | 41 + .../artman_binaryauthorization_v1beta1.yaml | 35 - .../cloud/binaryauthorization/v1/BUILD.bazel | 392 + ...naryauthorization_grpc_service_config.json | 51 + .../v1/binaryauthorization_v1.yaml | 76 + .../binaryauthorization/v1/resources.proto | 333 + .../binaryauthorization/v1/service.proto | 312 + .../binaryauthorization/v1beta1/BUILD.bazel | 361 + .../binaryauthorization_gapic.legacy.yaml | 197 - .../v1beta1/binaryauthorization_gapic.yaml | 18 - .../v1beta1/binaryauthorization_v1beta1.yaml | 33 +- .../continuous_validation_logging.proto | 100 + .../v1beta1/resources.proto | 61 +- .../binaryauthorization/v1beta1/service.proto | 35 +- .../cloud/certificatemanager/BUILD.bazel | 39 + .../certificatemanager/logging/v1/BUILD.bazel | 175 + .../certificatemanager/logging/v1/logs.proto | 57 + .../cloud/certificatemanager/v1/BUILD.bazel | 404 + .../v1/certificate_issuance_config.proto | 200 + .../v1/certificate_manager.proto | 1178 + ...ertificatemanager_grpc_service_config.json | 58 + .../v1/certificatemanager_v1.yaml | 68 + .../protos/google/cloud/channel/BUILD.bazel | 40 + .../google/cloud/channel/v1/BUILD.bazel | 406 + .../channel/v1/channel_partner_links.proto | 95 + .../v1/cloudchannel_grpc_service_config.json | 29 + .../cloud/channel/v1/cloudchannel_v1.yaml | 50 + .../google/cloud/channel/v1/common.proto | 152 + .../google/cloud/channel/v1/customers.proto | 110 + .../cloud/channel/v1/entitlements.proto | 250 + .../google/cloud/channel/v1/offers.proto | 326 + .../google/cloud/channel/v1/operations.proto | 67 + .../google/cloud/channel/v1/products.proto | 94 + .../cloud/channel/v1/reports_service.proto | 425 + .../google/cloud/channel/v1/repricing.proto | 149 + .../google/cloud/channel/v1/service.proto | 2452 + .../cloud/channel/v1/subscriber_event.proto | 119 + .../protos/google/cloud/clouddms/BUILD.bazel | 41 + .../cloud/clouddms/logging/v1/BUILD.bazel | 183 + .../logging/v1/clouddms_platform_logs.proto | 503 + .../google/cloud/clouddms/v1/BUILD.bazel | 384 + .../google/cloud/clouddms/v1/clouddms.proto | 625 + .../clouddms/v1/clouddms_resources.proto | 715 + .../cloud/clouddms/v1/datamigration_v1.yaml | 118 + .../v1/library_grpc_service_config.json | 35 + .../cloud/cloudsetup/logging/v1/BUILD.bazel | 180 + .../logging/v1/complete_deployment.proto | 88 + .../consumer/procurement/v1alpha1/BUILD.bazel | 378 + ...dcommerceconsumerprocurement_v1alpha1.yaml | 30 + ...nsumerprocurement_grpc_service_config.json | 33 + .../consumer/procurement/v1alpha1/order.proto | 254 + .../v1alpha1/procurement_service.proto | 154 + .../protos/google/cloud/common/BUILD.bazel | 185 + .../protos/google/cloud/common/common.yaml | 7 + .../cloud/common/operation_metadata.proto | 53 + .../google/cloud/common_resources.proto | 56 +- .../protos/google/cloud/compute/BUILD.bazel | 41 + .../google/cloud/compute/v1/BUILD.bazel | 411 + .../google/cloud/compute/v1/compute.proto | 37003 +++++++++ .../google/cloud/compute/v1/compute.v1.json | 67656 ++++++++++++++++ .../cloud/compute/v1/compute_gapic.yaml | 2260 + .../v1/compute_grpc_service_config.json | 2019 + .../google/cloud/compute/v1/compute_v1.yaml | 108 + .../google/cloud/compute/v1small/BUILD.bazel | 182 + .../google/cloud/compute/v1small/README.md | 8 + .../compute/v1small/compute.v1small.json | 1062 + .../cloud/compute/v1small/compute_small.proto | 740 + .../compute/v1small/compute_small_gapic.yaml | 40 + .../compute_small_grpc_service_config.json | 33 + .../compute/v1small/compute_small_v1.yaml | 30 + .../google/cloud/connectors/v1/BUILD.bazel | 399 + .../cloud/connectors/v1/authconfig.proto | 140 + .../google/cloud/connectors/v1/common.proto | 258 + .../cloud/connectors/v1/connection.proto | 596 + .../cloud/connectors/v1/connector.proto | 114 + .../connectors/v1/connector_version.proto | 213 + .../v1/connectors_grpc_service_config.json | 87 + .../connectors/v1/connectors_service.proto | 173 + .../cloud/connectors/v1/connectors_v1.yaml | 115 + .../connectors/v1/destination_config.proto | 43 + .../google/cloud/connectors/v1/provider.proto | 113 + .../google/cloud/connectors/v1/runtime.proto | 108 + .../cloud/contactcenterinsights/BUILD.bazel | 39 + .../contactcenterinsights/v1/BUILD.bazel | 389 + .../v1/contact_center_insights.proto | 1094 + ...actcenterinsights_grpc_service_config.json | 16 + .../v1/contactcenterinsights_v1.yaml | 39 + .../contactcenterinsights/v1/resources.proto | 1116 + .../cloud/contentwarehouse/v1/BUILD.bazel | 419 + .../v1/async_document_service_request.proto | 35 + .../cloud/contentwarehouse/v1/common.proto | 140 + .../contentwarehouse_grpc_service_config.json | 53 + .../v1/contentwarehouse_v1.yaml | 43 + .../cloud/contentwarehouse/v1/document.proto | 310 + .../v1/document_link_service.proto | 227 + .../contentwarehouse/v1/document_schema.proto | 166 + .../v1/document_schema_service.proto | 174 + .../v1/document_service.proto | 249 + .../v1/document_service_request.proto | 279 + .../cloud/contentwarehouse/v1/filters.proto | 206 + .../cloud/contentwarehouse/v1/histogram.proto | 102 + .../contentwarehouse/v1/rule_engine.proto | 276 + .../contentwarehouse/v1/ruleset_service.proto | 77 + .../v1/ruleset_service_request.proto | 118 + .../contentwarehouse/v1/synonymset.proto | 58 + .../v1/synonymset_service.proto | 83 + .../v1/synonymset_service_request.proto | 122 + .../google/cloud/datacatalog/BUILD.bazel | 40 + .../artman_datacatalog_v1beta1.yaml | 35 - .../datacatalog/datacatalog_v1beta1.yaml | 51 - .../google/cloud/datacatalog/v1/BUILD.bazel | 401 + .../cloud/datacatalog/v1/bigquery.proto | 81 + .../google/cloud/datacatalog/v1/common.proto | 54 + .../cloud/datacatalog/v1/data_source.proto | 87 + .../cloud/datacatalog/v1/datacatalog.proto | 1708 + .../v1/datacatalog_grpc_service_config.json | 81 + .../cloud/datacatalog/v1/datacatalog_v1.yaml | 61 + .../cloud/datacatalog/v1/dataplex_spec.proto | 90 + .../datacatalog/v1/gcs_fileset_spec.proto | 78 + .../datacatalog/v1/physical_schema.proto | 83 + .../datacatalog/v1/policytagmanager.proto | 481 + .../v1/policytagmanagerserialization.proto | 222 + .../google/cloud/datacatalog/v1/schema.proto | 67 + .../google/cloud/datacatalog/v1/search.proto | 119 + .../cloud/datacatalog/v1/table_spec.proto | 114 + .../google/cloud/datacatalog/v1/tags.proto | 279 + .../cloud/datacatalog/v1/timestamps.proto | 48 + .../google/cloud/datacatalog/v1/usage.proto | 65 + .../cloud/datacatalog/v1beta1/BUILD.bazel | 360 + .../cloud/datacatalog/v1beta1/common.proto | 38 + .../datacatalog/v1beta1/datacatalog.proto | 502 +- .../v1beta1/datacatalog_gapic.yaml | 419 +- .../datacatalog_grpc_service_config.json | 66 + .../v1beta1/datacatalog_v1beta1.yaml | 65 + .../v1beta1/gcs_fileset_spec.proto | 42 +- .../v1beta1/policytagmanager.proto | 417 + .../policytagmanagerserialization.proto | 157 + .../cloud/datacatalog/v1beta1/schema.proto | 21 +- .../cloud/datacatalog/v1beta1/search.proto | 11 +- .../datacatalog/v1beta1/table_spec.proto | 24 +- .../cloud/datacatalog/v1beta1/tags.proto | 57 +- .../datacatalog/v1beta1/timestamps.proto | 11 +- .../protos/google/cloud/dataform/BUILD.bazel | 39 + .../cloud/dataform/v1alpha2/BUILD.bazel | 383 + .../cloud/dataform/v1alpha2/dataform.proto | 1628 + .../dataform_grpc_service_config.json | 26 + .../dataform/v1alpha2/dataform_v1alpha2.yaml | 95 + .../google/cloud/dataform/v1beta1/BUILD.bazel | 377 + .../cloud/dataform/v1beta1/dataform.proto | 1629 + .../v1beta1/dataform_grpc_service_config.json | 26 + .../dataform/v1beta1/dataform_v1beta1.yaml | 77 + .../google/cloud/datafusion/BUILD.bazel | 39 + .../google/cloud/datafusion/v1/BUILD.bazel | 383 + .../cloud/datafusion/v1/datafusion.proto | 584 + .../v1/datafusion_grpc_service_config.json | 12 + .../cloud/datafusion/v1/datafusion_v1.yaml | 111 + .../cloud/datafusion/v1beta1/BUILD.bazel | 372 + .../datafusion_grpc_service_config.json | 12 + .../v1beta1/datafusion_v1beta1.yaml | 119 + .../cloud/datafusion/v1beta1/v1beta1.proto | 791 + .../google/cloud/datalabeling/BUILD.bazel | 40 + .../artman_datalabeling_v1beta1.yaml | 34 - .../cloud/datalabeling/v1beta1/BUILD.bazel | 362 + .../datalabeling/v1beta1/annotation.proto | 17 +- .../v1beta1/annotation_spec_set.proto | 37 +- .../v1beta1/data_labeling_service.proto | 636 +- .../datalabeling/v1beta1/data_payloads.proto | 5 +- .../v1beta1/datalabeling_gapic.yaml | 669 - .../datalabeling_grpc_service_config.json | 155 + .../{ => v1beta1}/datalabeling_v1beta1.yaml | 16 +- .../cloud/datalabeling/v1beta1/dataset.proto | 65 +- .../datalabeling/v1beta1/evaluation.proto | 118 +- .../datalabeling/v1beta1/evaluation_job.proto | 221 +- .../v1beta1/human_annotation_config.proto | 69 +- .../datalabeling/v1beta1/instruction.proto | 22 +- .../datalabeling/v1beta1/operations.proto | 21 +- .../protos/google/cloud/dataplex/BUILD.bazel | 39 + .../google/cloud/dataplex/v1/BUILD.bazel | 419 + .../google/cloud/dataplex/v1/analyze.proto | 264 + .../google/cloud/dataplex/v1/content.proto | 268 + .../v1/dataplex_grpc_service_config.json | 287 + .../google/cloud/dataplex/v1/dataplex_v1.yaml | 145 + .../google/cloud/dataplex/v1/logs.proto | 300 + .../google/cloud/dataplex/v1/metadata.proto | 793 + .../google/cloud/dataplex/v1/resources.proto | 790 + .../google/cloud/dataplex/v1/service.proto | 1109 + .../google/cloud/dataplex/v1/tasks.proto | 393 + .../protos/google/cloud/dataproc/BUILD.bazel | 41 + .../cloud/dataproc/artman_dataproc_v1.yaml | 34 - .../dataproc/artman_dataproc_v1beta2.yaml | 34 - .../google/cloud/dataproc/dataproc.yaml | 183 - .../google/cloud/dataproc/logging/BUILD.bazel | 176 + .../dataproc/logging/autoscaler_log.proto | 167 + .../google/cloud/dataproc/v1/BUILD.bazel | 275 +- .../dataproc/v1/autoscaling_policies.proto | 46 +- .../google/cloud/dataproc/v1/batches.proto | 372 + .../google/cloud/dataproc/v1/clusters.proto | 696 +- .../google/cloud/dataproc/v1/dataproc.yaml | 40 - .../cloud/dataproc/v1/dataproc_gapic.yaml | 588 +- .../v1/dataproc_grpc_service_config.json | 207 + .../google/cloud/dataproc/v1/dataproc_v1.yaml | 15 +- .../google/cloud/dataproc/v1/jobs.proto | 243 +- .../google/cloud/dataproc/v1/operations.proto | 40 +- .../google/cloud/dataproc/v1/shared.proto | 308 +- .../dataproc/v1/workflow_templates.proto | 85 +- .../google/cloud/dataproc/v1beta2/BUILD.bazel | 145 - .../v1beta2/autoscaling_policies.proto | 351 - .../cloud/dataproc/v1beta2/clusters.proto | 936 - .../cloud/dataproc/v1beta2/dataproc.yaml | 52 - .../dataproc/v1beta2/dataproc_gapic.yaml | 793 - .../dataproc/v1beta2/dataproc_v1beta2.yaml | 68 - .../google/cloud/dataproc/v1beta2/jobs.proto | 829 - .../cloud/dataproc/v1beta2/operations.proto | 83 - .../cloud/dataproc/v1beta2/shared.proto | 55 - .../dataproc/v1beta2/workflow_templates.proto | 790 - .../protos/google/cloud/dataqna/BUILD.bazel | 41 + .../google/cloud/dataqna/v1alpha/BUILD.bazel | 364 + .../dataqna/v1alpha/annotated_string.proto | 103 + .../v1alpha/auto_suggestion_service.proto | 215 + .../v1alpha/dataqna_grpc_service_config.json | 29 + .../dataqna/v1alpha/dataqna_v1alpha.yaml | 24 + .../cloud/dataqna/v1alpha/question.proto | 401 + .../dataqna/v1alpha/question_service.proto | 162 + .../cloud/dataqna/v1alpha/user_feedback.proto | 59 + .../google/cloud/datastream/BUILD.bazel | 39 + .../google/cloud/datastream/v1/BUILD.bazel | 397 + .../cloud/datastream/v1/datastream.proto | 1042 + .../v1/datastream_grpc_service_config.json | 29 + .../datastream/v1/datastream_resources.proto | 1023 + .../cloud/datastream/v1/datastream_v1.yaml | 73 + .../cloud/datastream/v1alpha1/BUILD.bazel | 365 + .../datastream/v1alpha1/datastream.proto | 895 + .../datastream_grpc_service_config.json | 28 + .../v1alpha1/datastream_resources.proto | 683 + .../v1alpha1/datastream_v1alpha1.yaml | 69 + .../protos/google/cloud/deploy/BUILD.bazel | 39 + .../protos/google/cloud/deploy/v1/BUILD.bazel | 413 + .../google/cloud/deploy/v1/cloud_deploy.proto | 1986 + .../v1/clouddeploy_grpc_service_config.json | 108 + .../cloud/deploy/v1/clouddeploy_v1.yaml | 118 + ...eliverypipeline_notification_payload.proto | 38 + .../v1/jobrun_notification_payload.proto | 50 + .../google/cloud/deploy/v1/log_enums.proto | 34 + .../v1/release_notification_payload.proto | 38 + .../deploy/v1/release_render_payload.proto | 33 + .../v1/rollout_notification_payload.proto | 47 + .../v1/target_notification_payload.proto | 38 + .../google/cloud/dialogflow/BUILD.bazel | 40 + .../google/cloud/dialogflow/cx/BUILD.bazel | 41 + .../google/cloud/dialogflow/cx/v3/BUILD.bazel | 463 + .../dialogflow/cx/v3/advanced_settings.proto | 57 + .../google/cloud/dialogflow/cx/v3/agent.proto | 491 + .../cloud/dialogflow/cx/v3/audio_config.proto | 313 + .../cloud/dialogflow/cx/v3/changelog.proto | 153 + .../cloud/dialogflow/cx/v3/deployment.proto | 169 + .../cx/v3/dialogflow_grpc_service_config.json | 100 + .../cloud/dialogflow/cx/v3/dialogflow_v3.yaml | 251 + .../cloud/dialogflow/cx/v3/entity_type.proto | 371 + .../cloud/dialogflow/cx/v3/environment.proto | 494 + .../cloud/dialogflow/cx/v3/experiment.proto | 503 + .../google/cloud/dialogflow/cx/v3/flow.proto | 627 + .../cloud/dialogflow/cx/v3/fulfillment.proto | 122 + .../cloud/dialogflow/cx/v3/intent.proto | 376 + .../google/cloud/dialogflow/cx/v3/page.proto | 561 + .../dialogflow/cx/v3/response_message.proto | 220 + .../dialogflow/cx/v3/security_settings.proto | 359 + .../cloud/dialogflow/cx/v3/session.proto | 878 + .../cx/v3/session_entity_type.proto | 262 + .../cloud/dialogflow/cx/v3/test_case.proto | 959 + .../cx/v3/transition_route_group.proto | 267 + .../dialogflow/cx/v3/validation_message.proto | 113 + .../cloud/dialogflow/cx/v3/version.proto | 334 + .../cloud/dialogflow/cx/v3/webhook.proto | 549 + .../cloud/dialogflow/cx/v3beta1/BUILD.bazel | 462 + .../cx/v3beta1/advanced_settings.proto | 56 + .../cloud/dialogflow/cx/v3beta1/agent.proto | 491 + .../dialogflow/cx/v3beta1/audio_config.proto | 312 + .../dialogflow/cx/v3beta1/changelog.proto | 153 + .../dialogflow/cx/v3beta1/deployment.proto | 169 + .../dialogflow_grpc_service_config.json | 100 + .../cx/v3beta1/dialogflow_v3beta1.yaml | 251 + .../dialogflow/cx/v3beta1/entity_type.proto | 367 + .../dialogflow/cx/v3beta1/environment.proto | 494 + .../dialogflow/cx/v3beta1/experiment.proto | 503 + .../cloud/dialogflow/cx/v3beta1/flow.proto | 627 + .../dialogflow/cx/v3beta1/fulfillment.proto | 122 + .../cloud/dialogflow/cx/v3beta1/intent.proto | 376 + .../cloud/dialogflow/cx/v3beta1/page.proto | 549 + .../cx/v3beta1/response_message.proto | 220 + .../cx/v3beta1/security_settings.proto | 362 + .../cloud/dialogflow/cx/v3beta1/session.proto | 878 + .../cx/v3beta1/session_entity_type.proto | 262 + .../dialogflow/cx/v3beta1/test_case.proto | 959 + .../cx/v3beta1/transition_route_group.proto | 266 + .../cx/v3beta1/validation_message.proto | 113 + .../cloud/dialogflow/cx/v3beta1/version.proto | 334 + .../cloud/dialogflow/cx/v3beta1/webhook.proto | 549 + .../google/cloud/dialogflow/v2/BUILD.bazel | 236 +- .../google/cloud/dialogflow/v2/agent.proto | 226 +- .../cloud/dialogflow/v2/answer_record.proto | 294 + .../dialogflow/v2/artman_dialogflow_v2.yaml | 34 - .../cloud/dialogflow/v2/audio_config.proto | 331 +- .../google/cloud/dialogflow/v2/context.proto | 193 +- .../cloud/dialogflow/v2/conversation.proto | 357 + .../dialogflow/v2/conversation_dataset.proto | 320 + .../dialogflow/v2/conversation_event.proto | 85 + .../dialogflow/v2/conversation_model.proto | 653 + .../dialogflow/v2/conversation_profile.proto | 753 + .../cloud/dialogflow/v2/dialogflow_gapic.yaml | 1259 - .../v2/dialogflow_grpc_service_config.json | 111 + .../cloud/dialogflow/v2/dialogflow_v2.yaml | 213 +- .../google/cloud/dialogflow/v2/document.proto | 636 + .../cloud/dialogflow/v2/entity_type.proto | 325 +- .../cloud/dialogflow/v2/environment.proto | 390 + .../cloud/dialogflow/v2/fulfillment.proto | 177 + .../google/cloud/dialogflow/v2/gcs.proto | 45 + .../v2/human_agent_assistant_event.proto | 43 + .../google/cloud/dialogflow/v2/intent.proto | 623 +- .../cloud/dialogflow/v2/knowledge_base.proto | 262 + .../cloud/dialogflow/v2/participant.proto | 1000 + .../google/cloud/dialogflow/v2/session.proto | 386 +- .../dialogflow/v2/session_entity_type.proto | 150 +- .../dialogflow/v2/validation_result.proto | 74 + .../google/cloud/dialogflow/v2/version.proto | 267 + .../google/cloud/dialogflow/v2/webhook.proto | 88 +- .../cloud/dialogflow/v2beta1/BUILD.bazel | 335 +- .../cloud/dialogflow/v2beta1/agent.proto | 277 +- .../dialogflow/v2beta1/answer_record.proto | 325 + .../v2beta1/artman_dialogflow_v2beta1.yaml | 30 - .../artman_dialogflow_v2beta1_java.yaml | 15 - .../dialogflow/v2beta1/audio_config.proto | 168 +- .../cloud/dialogflow/v2beta1/context.proto | 235 +- .../dialogflow/v2beta1/conversation.proto | 494 + .../v2beta1/conversation_event.proto | 85 + .../v2beta1/conversation_profile.proto | 735 + .../dialogflow/v2beta1/dialogflow_gapic.yaml | 1655 - .../dialogflow_grpc_service_config.json | 218 + .../v2beta1/dialogflow_v2beta1.yaml | 148 +- .../cloud/dialogflow/v2beta1/document.proto | 419 +- .../dialogflow/v2beta1/entity_type.proto | 489 +- .../dialogflow/v2beta1/environment.proto | 372 + .../dialogflow/v2beta1/fulfillment.proto | 180 + .../google/cloud/dialogflow/v2beta1/gcs.proto | 24 +- .../v2beta1/human_agent_assistant_event.proto | 50 + .../cloud/dialogflow/v2beta1/intent.proto | 629 +- .../dialogflow/v2beta1/knowledge_base.proto | 135 +- .../dialogflow/v2beta1/participant.proto | 1424 + .../cloud/dialogflow/v2beta1/session.proto | 390 +- .../v2beta1/session_entity_type.proto | 197 +- .../v2beta1/validation_result.proto | 9 +- .../cloud/dialogflow/v2beta1/version.proto | 261 + .../cloud/dialogflow/v2beta1/webhook.proto | 106 +- .../cloud/discoveryengine/v1beta/BUILD.bazel | 406 + .../cloud/discoveryengine/v1beta/common.proto | 93 + .../discoveryengine_grpc_service_config.json | 52 + .../v1beta/discoveryengine_v1beta.yaml | 74 + .../discoveryengine/v1beta/document.proto | 77 + .../v1beta/document_service.proto | 261 + .../v1beta/import_config.proto | 265 + .../v1beta/recommendation_service.proto | 201 + .../discoveryengine/v1beta/user_event.proto | 453 + .../v1beta/user_event_service.proto | 122 + .../google/cloud/documentai/BUILD.bazel | 40 + .../documentai/artman_documentai_v1beta1.yaml | 34 - .../google/cloud/documentai/v1/BUILD.bazel | 414 + .../google/cloud/documentai/v1/barcode.proto | 67 + .../google/cloud/documentai/v1/document.proto | 782 + .../cloud/documentai/v1/document_io.proto | 84 + .../v1/document_processor_service.proto | 799 + .../cloud/documentai/v1/document_schema.proto | 140 + .../cloud/documentai/v1/documentai_v1.yaml | 82 + .../v1/documentai_v1_grpc_service_config.json | 30 + .../google/cloud/documentai/v1/geometry.proto | 55 + .../documentai/v1/operation_metadata.proto | 66 + .../cloud/documentai/v1/processor.proto | 185 + .../cloud/documentai/v1/processor_type.proto | 63 + .../cloud/documentai/v1beta1/BUILD.bazel | 352 + .../cloud/documentai/v1beta1/document.proto | 9 +- .../v1beta1/document_understanding.proto | 3 + .../documentai/v1beta1/documentai_gapic.yaml | 101 +- .../documentai_grpc_service_config.json | 22 + .../cloud/documentai/v1beta1/geometry.proto | 4 +- .../cloud/documentai/v1beta2/BUILD.bazel | 351 + .../cloud/documentai/v1beta2/document.proto | 518 + .../v1beta2/document_understanding.proto | 346 + .../documentai/v1beta2/documentai_gapic.yaml | 16 + .../v1beta2/documentai_v1beta2.yaml | 33 + ...ocumentai_v1beta2_grpc_service_config.json | 26 + .../cloud/documentai/v1beta2/geometry.proto | 56 + .../cloud/documentai/v1beta3/BUILD.bazel | 414 + .../cloud/documentai/v1beta3/barcode.proto | 67 + .../cloud/documentai/v1beta3/document.proto | 782 + .../documentai/v1beta3/document_io.proto | 84 + .../v1beta3/document_processor_service.proto | 878 + .../documentai/v1beta3/document_schema.proto | 140 + .../v1beta3/documentai_v1beta3.yaml | 81 + ...ocumentai_v1beta3_grpc_service_config.json | 30 + .../cloud/documentai/v1beta3/geometry.proto | 55 + .../v1beta3/operation_metadata.proto | 66 + .../cloud/documentai/v1beta3/processor.proto | 185 + .../documentai/v1beta3/processor_type.proto | 63 + .../protos/google/cloud/domains/BUILD.bazel | 40 + .../google/cloud/domains/v1/BUILD.bazel | 387 + .../google/cloud/domains/v1/domains.proto | 1147 + .../v1/domains_grpc_service_config.json | 36 + .../google/cloud/domains/v1/domains_v1.yaml | 101 + .../google/cloud/domains/v1alpha2/BUILD.bazel | 371 + .../cloud/domains/v1alpha2/domains.proto | 1147 + .../v1alpha2/domains_grpc_service_config.json | 36 + .../domains/v1alpha2/domains_v1alpha2.yaml | 101 + .../google/cloud/domains/v1beta1/BUILD.bazel | 371 + .../cloud/domains/v1beta1/domains.proto | 1147 + .../v1beta1/domains_grpc_service_config.json | 36 + .../domains/v1beta1/domains_v1beta1.yaml | 101 + .../google/cloud/edgecontainer/v1/BUILD.bazel | 381 + .../v1/edgecontainer_grpc_service_config.json | 37 + .../edgecontainer/v1/edgecontainer_v1.yaml | 67 + .../cloud/edgecontainer/v1/resources.proto | 441 + .../cloud/edgecontainer/v1/service.proto | 593 + .../enterpriseknowledgegraph/v1/BUILD.bazel | 276 + ...iseknowledgegraph_grpc_service_config.json | 24 + .../v1/enterpriseknowledgegraph_v1.yaml | 18 + .../v1/job_state.proto | 58 + .../v1/operation_metadata.proto | 63 + .../enterpriseknowledgegraph/v1/service.proto | 358 + .../cloud/essentialcontacts/BUILD.bazel | 40 + .../cloud/essentialcontacts/v1/BUILD.bazel | 335 + .../cloud/essentialcontacts/v1/enums.proto | 80 + .../v1/essentialcontacts_v1.yaml | 14 + ...entialcontacts_v1_grpc_service_config.json | 28 + .../cloud/essentialcontacts/v1/service.proto | 343 + .../protos/google/cloud/eventarc/BUILD.bazel | 40 + .../cloud/eventarc/publishing/BUILD.bazel | 40 + .../cloud/eventarc/publishing/v1/BUILD.bazel | 379 + ...ventarcpublishing_grpc_service_config.json | 8 + .../publishing/v1/eventarcpublishing_v1.yaml | 18 + .../eventarc/publishing/v1/publisher.proto | 104 + .../google/cloud/eventarc/v1/BUILD.bazel | 389 + .../google/cloud/eventarc/v1/channel.proto | 103 + .../eventarc/v1/channel_connection.proto | 73 + .../google/cloud/eventarc/v1/discovery.proto | 86 + .../google/cloud/eventarc/v1/eventarc.proto | 584 + .../v1/eventarc_grpc_service_config.json | 36 + .../google/cloud/eventarc/v1/eventarc_v1.yaml | 114 + .../google/cloud/eventarc/v1/trigger.proto | 225 + .../google/cloud/extended_operations.proto | 150 + .../protos/google/cloud/filestore/BUILD.bazel | 39 + .../google/cloud/filestore/v1/BUILD.bazel | 391 + .../v1/cloud_filestore_service.proto | 718 + .../v1/file_grpc_service_config.json | 43 + .../google/cloud/filestore/v1/file_v1.yaml | 64 + .../cloud/filestore/v1beta1/BUILD.bazel | 368 + .../v1beta1/cloud_filestore_service.proto | 766 + .../cloud/filestore/v1beta1/file_gapic.yaml | 72 + .../v1beta1/file_grpc_service_config.json | 48 + .../cloud/filestore/v1beta1/file_v1beta1.yaml | 64 + .../protos/google/cloud/functions/BUILD.bazel | 40 + .../cloud/functions/artman_functions.yaml | 35 - .../google/cloud/functions/v1/BUILD.bazel | 397 + .../cloud/functions/v1/cloudfunctions_v1.yaml | 84 + .../google/cloud/functions/v1/functions.proto | 855 + .../v1/functions_grpc_service_config.json | 47 + .../cloud/functions/v1/operations.proto | 73 + .../v1beta2/cloudfunctions_v1beta2.yaml | 73 - .../cloud/functions/v1beta2/functions.proto | 548 - .../v1beta2/functions_gapic.legacy.yaml | 148 - .../functions/v1beta2/functions_gapic.yaml | 18 - .../functions_grpc_service_config.json | 47 - .../cloud/functions/v1beta2/operations.proto | 62 - .../google/cloud/functions/v2/BUILD.bazel | 397 + .../cloud/functions/v2/cloudfunctions_v2.yaml | 91 + .../google/cloud/functions/v2/functions.proto | 1037 + .../v2/functions_grpc_service_config.json | 44 + .../cloud/functions/v2alpha/BUILD.bazel | 389 + .../v2alpha/cloudfunctions_v2alpha.yaml | 91 + .../cloud/functions/v2alpha/functions.proto | 1033 + .../functions_grpc_service_config.json | 44 + .../google/cloud/functions/v2beta/BUILD.bazel | 389 + .../v2beta/cloudfunctions_v2beta.yaml | 91 + .../cloud/functions/v2beta/functions.proto | 1033 + .../v2beta/functions_grpc_service_config.json | 44 + .../protos/google/cloud/gaming/BUILD.bazel | 40 + .../protos/google/cloud/gaming/v1/BUILD.bazel | 396 + .../google/cloud/gaming/v1/common.proto | 238 + .../gaming/v1/game_server_clusters.proto | 371 + .../v1/game_server_clusters_service.proto | 111 + .../cloud/gaming/v1/game_server_configs.proto | 172 + .../v1/game_server_configs_service.proto | 77 + .../gaming/v1/game_server_deployments.proto | 286 + .../v1/game_server_deployments_service.proto | 132 + .../cloud/gaming/v1/gameservices_v1.yaml | 129 + .../gaming/v1/gaming_grpc_service_config.json | 59 + .../google/cloud/gaming/v1/realms.proto | 181 + .../cloud/gaming/v1/realms_service.proto | 95 + .../google/cloud/gaming/v1beta/BUILD.bazel | 361 + .../google/cloud/gaming/v1beta/common.proto | 242 + .../gaming/v1beta/game_server_clusters.proto | 287 + .../v1beta/game_server_clusters_service.proto | 123 + .../gaming/v1beta/game_server_configs.proto | 184 + .../v1beta/game_server_configs_service.proto | 84 + .../v1beta/game_server_deployments.proto | 319 + .../game_server_deployments_service.proto | 146 + .../gaming/v1beta/gameservices_v1beta.yaml | 99 + .../cloud/gaming/v1beta/gaming_gapic.yaml | 2 + .../v1beta/gaming_grpc_service_config.json | 59 + .../google/cloud/gaming/v1beta/realms.proto | 194 + .../cloud/gaming/v1beta/realms_service.proto | 99 + .../protos/google/cloud/gkebackup/BUILD.bazel | 39 + .../cloud/gkebackup/logging/v1/BUILD.bazel | 184 + .../gkebackup/logging/v1/logged_backup.proto | 74 + .../logging/v1/logged_backup_plan.proto | 109 + .../gkebackup/logging/v1/logged_common.proto | 54 + .../gkebackup/logging/v1/logged_restore.proto | 70 + .../logging/v1/logged_restore_plan.proto | 234 + .../cloud/gkebackup/logging/v1/logging.proto | 143 + .../google/cloud/gkebackup/v1/BUILD.bazel | 339 + .../google/cloud/gkebackup/v1/backup.proto | 219 + .../cloud/gkebackup/v1/backup_plan.proto | 195 + .../google/cloud/gkebackup/v1/common.proto | 58 + .../google/cloud/gkebackup/v1/gkebackup.proto | 940 + .../v1/gkebackup_grpc_service_config.json | 54 + .../cloud/gkebackup/v1/gkebackup_v1.yaml | 132 + .../google/cloud/gkebackup/v1/restore.proto | 326 + .../cloud/gkebackup/v1/restore_plan.proto | 101 + .../google/cloud/gkebackup/v1/volume.proto | 222 + .../cloud/gkeconnect/gateway/BUILD.bazel | 40 + .../cloud/gkeconnect/gateway/v1/BUILD.bazel | 191 + .../gateway/v1/connectgateway_v1.yaml | 12 + .../v1/connectgw_grpc_service_config.json | 15 + .../cloud/gkeconnect/gateway/v1/gateway.proto | 36 + .../gkeconnect/gateway/v1alpha1/BUILD.bazel | 175 + .../v1alpha1/connectgateway_v1alpha1.yaml | 12 + .../connectgw_grpc_service_config.json | 15 + .../gkeconnect/gateway/v1alpha1/gateway.proto | 36 + .../gkeconnect/gateway/v1beta1/BUILD.bazel | 355 + .../v1beta1/connectgateway_v1beta1.yaml | 24 + .../connectgw_grpc_service_config.json | 15 + .../gkeconnect/gateway/v1beta1/gateway.proto | 75 + .../protos/google/cloud/gkehub/BUILD.bazel | 40 + .../protos/google/cloud/gkehub/v1/BUILD.bazel | 407 + .../gkehub/v1/configmanagement/BUILD.bazel | 162 + .../configmanagement/configmanagement.proto | 382 + .../google/cloud/gkehub/v1/feature.proto | 198 + .../google/cloud/gkehub/v1/gkehub_v1.yaml | 111 + .../google/cloud/gkehub/v1/membership.proto | 292 + .../gkehub/v1/multiclusteringress/BUILD.bazel | 161 + .../multiclusteringress.proto | 33 + .../google/cloud/gkehub/v1/service.proto | 626 + .../gkehub/v1/v1_grpc_service_config.json | 13 + .../google/cloud/gkehub/v1alpha/BUILD.bazel | 392 + .../v1alpha/cloudauditlogging/BUILD.bazel | 145 + .../cloudauditlogging/cloudauditlogging.proto | 36 + .../v1alpha/configmanagement/BUILD.bazel | 146 + .../configmanagement/configmanagement.proto | 415 + .../google/cloud/gkehub/v1alpha/feature.proto | 215 + .../cloud/gkehub/v1alpha/gkehub_v1alpha.yaml | 111 + .../cloud/gkehub/v1alpha/metering/BUILD.bazel | 146 + .../gkehub/v1alpha/metering/metering.proto | 38 + .../v1alpha/multiclusteringress/BUILD.bazel | 145 + .../multiclusteringress.proto | 49 + .../google/cloud/gkehub/v1alpha/service.proto | 280 + .../gkehub/v1alpha/servicemesh/BUILD.bazel | 148 + .../v1alpha/servicemesh/servicemesh.proto | 114 + .../v1alpha/v1alpha_grpc_service_config.json | 13 + .../google/cloud/gkehub/v1alpha2/BUILD.bazel | 375 + .../gkehub/v1alpha2/gkehub_v1alpha2.yaml | 105 + .../cloud/gkehub/v1alpha2/membership.proto | 713 + .../membership_grpc_service_config.json | 13 + .../google/cloud/gkehub/v1beta/BUILD.bazel | 390 + .../v1beta/configmanagement/BUILD.bazel | 146 + .../configmanagement/configmanagement.proto | 409 + .../google/cloud/gkehub/v1beta/feature.proto | 202 + .../cloud/gkehub/v1beta/gkehub_v1beta.yaml | 111 + .../cloud/gkehub/v1beta/metering/BUILD.bazel | 146 + .../gkehub/v1beta/metering/metering.proto | 38 + .../v1beta/multiclusteringress/BUILD.bazel | 145 + .../multiclusteringress.proto | 49 + .../google/cloud/gkehub/v1beta/service.proto | 280 + .../v1beta/v1beta_grpc_service_config.json | 13 + .../google/cloud/gkehub/v1beta1/BUILD.bazel | 402 + .../cloud/gkehub/v1beta1/gkehub_v1beta1.yaml | 108 + .../cloud/gkehub/v1beta1/membership.proto | 881 + .../membership_grpc_service_config.json | 13 + .../gkehub/v1beta1/memberships_gapic.yaml | 2 + .../google/cloud/gkemulticloud/BUILD.bazel | 39 + .../google/cloud/gkemulticloud/v1/BUILD.bazel | 393 + .../gkemulticloud/v1/aws_resources.proto | 556 + .../cloud/gkemulticloud/v1/aws_service.proto | 548 + .../gkemulticloud/v1/azure_resources.proto | 632 + .../gkemulticloud/v1/azure_service.proto | 701 + .../gkemulticloud/v1/common_resources.proto | 145 + .../v1/gkemulticloud_grpc_service_config.json | 131 + .../gkemulticloud/v1/gkemulticloud_v1.yaml | 59 + .../cloud/gsuiteaddons/logging/v1/BUILD.bazel | 176 + .../v1/g_suite_add_ons_log_entry.proto | 45 + .../google/cloud/gsuiteaddons/v1/BUILD.bazel | 361 + .../cloud/gsuiteaddons/v1/gsuiteaddons.proto | 389 + .../gsuiteaddons/v1/gsuiteaddons_gapic.yaml | 2 + .../v1/gsuiteaddons_grpc_service_config.json | 28 + .../gsuiteaddons/v1/gsuiteaddons_v1.yaml | 14 + .../cloud/healthcare/logging/BUILD.bazel | 182 + .../cloud/healthcare/logging/annotation.proto | 62 + .../cloud/healthcare/logging/consent.proto | 43 + .../cloud/healthcare/logging/deid.proto | 31 + .../cloud/healthcare/logging/dicom.proto | 65 + .../cloud/healthcare/logging/fhir.proto | 101 + .../cloud/healthcare/logging/hl7v2.proto | 45 + .../protos/google/cloud/iap/BUILD.bazel | 40 + .../protos/google/cloud/iap/v1/BUILD.bazel | 391 + .../cloud/iap/v1/iap_grpc_service_config.json | 15 + .../protos/google/cloud/iap/v1/iap_v1.yaml | 22 + .../protos/google/cloud/iap/v1/service.proto | 630 + .../google/cloud/iap/v1beta1/BUILD.bazel | 363 + .../iap/v1beta1/iap_grpc_service_config.json | 12 + .../google/cloud/iap/v1beta1/iap_v1beta1.yaml | 17 + .../google/cloud/iap/v1beta1/service.proto | 71 + .../cloud/identitytoolkit/logging/BUILD.bazel | 179 + .../identitytoolkit/logging/request_log.proto | 91 + .../cloud/identitytoolkit/v2/BUILD.bazel | 383 + .../v2/account_management_service.proto | 142 + .../v2/authentication_service.proto | 113 + .../identitytoolkit_grpc_service_config.json | 15 + .../v2/identitytoolkit_v2.yaml | 37 + .../cloud/identitytoolkit/v2/mfa_info.proto | 92 + .../protos/google/cloud/ids/BUILD.bazel | 40 + .../google/cloud/ids/logging/v1/BUILD.bazel | 177 + .../google/cloud/ids/logging/v1/logging.proto | 158 + .../protos/google/cloud/ids/v1/BUILD.bazel | 383 + .../protos/google/cloud/ids/v1/ids.proto | 296 + .../protos/google/cloud/ids/v1/ids_gapic.yaml | 17 + .../cloud/ids/v1/ids_grpc_service_config.json | 31 + .../protos/google/cloud/ids/v1/ids_v1.yaml | 107 + .../cloud/integrations/v1alpha/BUILD.bazel | 168 + .../v1alpha/event_parameter.proto | 37 + .../v1alpha/json_validation.proto | 43 + .../integrations/v1alpha/log_entries.proto | 277 + .../cloud/integrations/v1alpha/product.proto | 37 + .../integrations/v1alpha/task_config.proto | 217 + .../integrations/v1alpha/value_type.proto | 78 + .../protos/google/cloud/iot/BUILD.bazel | 41 +- .../google/cloud/iot/artman_cloudiot.yaml | 37 - .../protos/google/cloud/iot/v1/BUILD.bazel | 266 +- .../cloud/iot/v1/cloudiot_gapic.legacy.yaml | 513 - .../google/cloud/iot/v1/cloudiot_gapic.yaml | 26 - .../google/cloud/iot/v1/device_manager.proto | 22 +- .../google/cloud/iot/v1/resources.proto | 5 +- .../google/cloud/irm/artman_irm_v1alpha2.yaml | 34 - .../protos/google/cloud/irm/irm_v1alpha2.yaml | 23 - .../google/cloud/irm/v1alpha2/incidents.proto | 491 - .../irm/v1alpha2/incidents_service.proto | 914 - .../google/cloud/irm/v1alpha2/irm_gapic.yaml | 723 - .../protos/google/cloud/kms/BUILD.bazel | 42 +- .../google/cloud/kms/artman_cloudkms.yaml | 39 - .../protos/google/cloud/kms/cloudkms.yaml | 72 - .../protos/google/cloud/kms/v1/BUILD.bazel | 302 +- .../google/cloud/kms/v1/cloudkms_gapic.yaml | 683 - .../kms/v1/cloudkms_grpc_service_config.json | 168 + .../google/cloud/kms/v1/cloudkms_v1.yaml | 108 + .../google/cloud/kms/v1/ekm_service.proto | 293 + .../google/cloud/kms/v1/resources.proto | 689 +- .../protos/google/cloud/kms/v1/service.proto | 1506 +- .../containersecurity_logging/BUILD.bazel | 175 + .../containersecurity_logging/logging.proto | 146 + .../protos/google/cloud/language/BUILD.bazel | 40 + .../cloud/language/artman_language_v1.yaml | 35 - .../language/artman_language_v1beta2.yaml | 35 - .../google/cloud/language/language.yaml | 33 - .../google/cloud/language/language_v1.yaml | 21 - .../cloud/language/language_v1beta2.yaml | 19 - .../google/cloud/language/v1/BUILD.bazel | 214 +- .../language/v1/language_gapic.legacy.yaml | 185 - .../cloud/language/v1/language_gapic.yaml | 65 - .../cloud/language/v1/language_service.proto | 199 +- .../google/cloud/language/v1/language_v1.yaml | 21 + .../google/cloud/language/v1beta1/BUILD.bazel | 161 + .../language/v1beta1/language_gapic.yaml | 78 - .../language/v1beta1/language_service.proto | 2 +- .../google/cloud/language/v1beta2/BUILD.bazel | 297 +- .../language/v1beta2/language_gapic.yaml | 109 - .../v1beta2/language_grpc_service_config.json | 42 + .../language/v1beta2/language_service.proto | 144 +- .../google/cloud/lifesciences/BUILD.bazel | 41 + .../cloud/lifesciences/v2beta/BUILD.bazel | 367 + .../lifesciences_grpc_service_config.json | 8 + .../v2beta/lifesciences_v2beta.yaml | 119 + .../cloud/lifesciences/v2beta/workflows.proto | 748 + .../protos/google/cloud/location/BUILD.bazel | 249 + .../protos/google/cloud/location/cloud.yaml | 24 + .../google/cloud/location/locations.proto | 25 +- .../cloud/managedidentities/BUILD.bazel | 40 + .../cloud/managedidentities/v1/BUILD.bazel | 376 + .../v1/managed_identities_service.proto | 422 + ...managedidentities_grpc_service_config.json | 49 + .../v1/managedidentities_v1.yaml | 120 + .../cloud/managedidentities/v1/resource.proto | 212 + .../managedidentities/v1beta1/BUILD.bazel | 372 + .../v1beta1/managed_identities_service.proto | 389 + .../v1beta1/managedidentities_gapic.yaml | 6 + ...managedidentities_grpc_service_config.json | 12 + .../v1beta1/managedidentities_v1beta1.yaml | 120 + .../managedidentities/v1beta1/resource.proto | 216 + .../google/cloud/mediatranslation/BUILD.bazel | 40 + .../mediatranslation/v1alpha1/BUILD.bazel | 166 + .../v1alpha1/media_translation.proto | 275 + .../mediatranslation_grpc_service_config.json | 19 + .../v1alpha1/mediatranslation_v1alpha1.yaml | 19 + .../mediatranslation/v1beta1/BUILD.bazel | 358 + .../v1beta1/media_translation.proto | 204 + .../v1beta1/mediatranslation_gapic.yaml | 5 + .../mediatranslation_grpc_service_config.json | 19 + .../v1beta1/mediatranslation_v1beta1.yaml | 19 + .../protos/google/cloud/memcache/BUILD.bazel | 40 + .../google/cloud/memcache/v1/BUILD.bazel | 374 + .../cloud/memcache/v1/cloud_memcache.proto | 495 + .../v1/memcache_grpc_service_config.json | 37 + .../google/cloud/memcache/v1/memcache_v1.yaml | 66 + .../google/cloud/memcache/v1beta2/BUILD.bazel | 359 + .../memcache/v1beta2/cloud_memcache.proto | 550 + .../v1beta2/memcache_grpc_service_config.json | 41 + .../memcache/v1beta2/memcache_v1beta2.yaml | 101 + .../protos/google/cloud/metastore/BUILD.bazel | 40 + .../cloud/metastore/logging/v1/BUILD.bazel | 171 + .../metastore/logging/v1/log_streams.proto | 36 + .../google/cloud/metastore/v1/BUILD.bazel | 383 + .../google/cloud/metastore/v1/metastore.proto | 1224 + .../cloud/metastore/v1/metastore_gapic.yaml | 59 + .../v1/metastore_grpc_service_config.json | 54 + .../cloud/metastore/v1/metastore_v1.yaml | 107 + .../cloud/metastore/v1alpha/BUILD.bazel | 377 + .../cloud/metastore/v1alpha/metastore.proto | 1383 + .../metastore/v1alpha/metastore_gapic.yaml | 59 + .../metastore_grpc_service_config.json | 54 + .../metastore/v1alpha/metastore_v1alpha.yaml | 120 + .../google/cloud/metastore/v1beta/BUILD.bazel | 369 + .../cloud/metastore/v1beta/metastore.proto | 1285 + .../metastore/v1beta/metastore_gapic.yaml | 59 + .../v1beta/metastore_grpc_service_config.json | 55 + .../metastore/v1beta/metastore_v1beta.yaml | 102 + .../google/cloud/ml/v1/job_service.proto | 613 - .../google/cloud/ml/v1/model_service.proto | 392 - .../cloud/ml/v1/operation_metadata.proto | 70 - .../cloud/ml/v1/prediction_service.proto | 241 - .../google/cloud/ml/v1/project_service.proto | 59 - .../networkanalyzer/logging/v1/BUILD.bazel | 176 + .../logging/v1/analyzer_log.proto | 208 + .../cloud/networkconnectivity/BUILD.bazel | 40 + .../cloud/networkconnectivity/v1/BUILD.bazel | 379 + .../cloud/networkconnectivity/v1/common.proto | 55 + .../cloud/networkconnectivity/v1/hub.proto | 652 + .../v1/networkconnectivity_v1.yaml | 117 + ...rkconnectivity_v1_grpc_service_config.json | 26 + .../networkconnectivity/v1alpha1/BUILD.bazel | 361 + .../networkconnectivity/v1alpha1/common.proto | 55 + .../networkconnectivity/v1alpha1/hub.proto | 551 + ...tworkconnectivity_grpc_service_config.json | 24 + .../networkconnectivity_v1alpha1.yaml | 119 + .../cloud/networkmanagement/BUILD.bazel | 39 + .../cloud/networkmanagement/v1/BUILD.bazel | 387 + .../v1/connectivity_test.proto | 224 + ...networkmanagement_grpc_service_config.json | 12 + .../v1/networkmanagement_v1.yaml | 108 + .../networkmanagement/v1/reachability.proto | 274 + .../cloud/networkmanagement/v1/trace.proto | 900 + .../networkmanagement/v1beta1/BUILD.bazel | 366 + .../v1beta1/connectivity_test.proto | 340 + ...networkmanagement_grpc_service_config.json | 12 + .../v1beta1/networkmanagement_v1beta1.yaml | 108 + .../v1beta1/reachability.proto | 269 + .../networkmanagement/v1beta1/trace.proto | 979 + .../google/cloud/networksecurity/BUILD.bazel | 39 + .../cloud/networksecurity/v1/BUILD.bazel | 369 + .../v1/authorization_policy.proto | 249 + .../v1/client_tls_policy.proto | 160 + .../cloud/networksecurity/v1/common.proto | 55 + .../networksecurity/v1/network_security.proto | 201 + .../v1/networksecurity_v1.yaml | 117 + ...etworksecurity_v1_grpc_service_config.json | 12 + .../v1/server_tls_policy.proto | 181 + .../google/cloud/networksecurity/v1/tls.proto | 78 + .../cloud/networksecurity/v1beta1/BUILD.bazel | 404 + .../v1beta1/authorization_policy.proto | 259 + .../v1beta1/client_tls_policy.proto | 169 + .../networksecurity/v1beta1/common.proto | 58 + .../v1beta1/network_security.proto | 201 + .../v1beta1/networksecurity_v1beta1.yaml | 117 + ...ksecurity_v1beta1_grpc_service_config.json | 12 + .../v1beta1/server_tls_policy.proto | 187 + .../cloud/networksecurity/v1beta1/tls.proto | 78 + .../cloud/networkservices/v1/BUILD.bazel | 402 + .../cloud/networkservices/v1/common.proto | 136 + .../networkservices/v1/endpoint_policy.proto | 219 + .../cloud/networkservices/v1/gateway.proto | 188 + .../cloud/networkservices/v1/grpc_route.proto | 413 + .../cloud/networkservices/v1/http_route.proto | 616 + .../cloud/networkservices/v1/mesh.proto | 153 + .../networkservices/v1/network_services.proto | 460 + .../networkservices_grpc_service_config.json | 12 + .../v1/networkservices_v1.yaml | 137 + .../networkservices/v1/service_binding.proto | 131 + .../cloud/networkservices/v1/tcp_route.proto | 251 + .../cloud/networkservices/v1/tls_route.proto | 230 + .../cloud/networkservices/v1beta1/BUILD.bazel | 376 + .../networkservices/v1beta1/common.proto | 136 + .../v1beta1/endpoint_policy.proto | 220 + .../v1beta1/network_services.proto | 88 + .../v1beta1/networkservices_v1beta1.yaml | 101 + ...kservices_v1beta1_grpc_service_config.json | 12 + .../protos/google/cloud/notebooks/BUILD.bazel | 40 + .../cloud/notebooks/logging/v1/BUILD.bazel | 177 + .../notebooks/logging/v1/runtime_log.proto | 44 + .../google/cloud/notebooks/v1/BUILD.bazel | 395 + .../cloud/notebooks/v1/environment.proto | 96 + .../google/cloud/notebooks/v1/event.proto | 61 + .../google/cloud/notebooks/v1/execution.proto | 349 + .../google/cloud/notebooks/v1/instance.proto | 540 + .../cloud/notebooks/v1/instance_config.proto | 35 + .../cloud/notebooks/v1/managed_service.proto | 337 + .../v1/notebooks_grpc_service_config.json | 81 + .../cloud/notebooks/v1/notebooks_v1.yaml | 119 + .../google/cloud/notebooks/v1/runtime.proto | 588 + .../google/cloud/notebooks/v1/schedule.proto | 107 + .../google/cloud/notebooks/v1/service.proto | 988 + .../cloud/notebooks/v1beta1/BUILD.bazel | 359 + .../cloud/notebooks/v1beta1/environment.proto | 96 + .../cloud/notebooks/v1beta1/instance.proto | 280 + .../notebooks_grpc_service_config.json | 37 + .../notebooks/v1beta1/notebooks_v1beta1.yaml | 84 + .../cloud/notebooks/v1beta1/service.proto | 530 + .../google/cloud/optimization/BUILD.bazel | 39 + .../google/cloud/optimization/v1/BUILD.bazel | 385 + .../cloud/optimization/v1/async_model.proto | 110 + .../v1/cloudoptimization_gapic.yaml | 11 + ...cloudoptimization_grpc_service_config.json | 28 + .../optimization/v1/cloudoptimization_v1.yaml | 39 + .../cloud/optimization/v1/fleet_routing.proto | 2615 + .../orchestration/airflow/service/BUILD.bazel | 39 + .../airflow/service/v1/BUILD.bazel | 387 + .../v1/composer_grpc_service_config.json | 15 + .../airflow/service/v1/composer_v1.yaml | 48 + .../airflow/service/v1/environments.proto | 730 + .../airflow/service/v1/image_versions.proto | 88 + .../airflow/service/v1/operations.proto | 87 + .../airflow/service/v1beta1/BUILD.bazel | 368 + .../v1beta1/composer_grpc_service_config.json | 15 + .../service/v1beta1/composer_v1beta1.yaml | 48 + .../service/v1beta1/environments.proto | 972 + .../service/v1beta1/image_versions.proto | 88 + .../airflow/service/v1beta1/operations.proto | 83 + .../protos/google/cloud/orgpolicy/BUILD.bazel | 40 + .../cloud/orgpolicy/orgpolicy_gapic.yaml | 18 + .../google/cloud/orgpolicy/v1/BUILD.bazel | 222 + .../google/cloud/orgpolicy/v1/orgpolicy.proto | 313 + .../google/cloud/orgpolicy/v2/BUILD.bazel | 374 + .../cloud/orgpolicy/v2/constraint.proto | 127 + .../google/cloud/orgpolicy/v2/orgpolicy.proto | 479 + .../v2/orgpolicy_grpc_service_config.json | 21 + .../cloud/orgpolicy/v2/orgpolicy_v2.yaml | 19 + .../protos/google/cloud/osconfig/BUILD.bazel | 40 + .../osconfig/agentendpoint/v1/BUILD.bazel | 375 + .../agentendpoint/v1/agentendpoint.proto | 234 + .../v1/agentendpoint_grpc_service_config.json | 34 + .../agentendpoint/v1/config_common.proto | 117 + .../osconfig/agentendpoint/v1/inventory.proto | 231 + .../osconfig/agentendpoint/v1/os_policy.proto | 445 + .../agentendpoint/v1/osconfig_gapic.yaml | 2 + .../agentendpoint/v1/osconfig_v1.yaml | 38 + .../agentendpoint/v1/patch_jobs.proto | 294 + .../osconfig/agentendpoint/v1/tasks.proto | 286 + .../osconfig/agentendpoint/v1beta/BUILD.bazel | 369 + .../agentendpoint/v1beta/agentendpoint.proto | 206 + .../agentendpoint_grpc_service_config.json | 34 + .../agentendpoint/v1beta/guest_policies.proto | 562 + .../agentendpoint/v1beta/osconfig_gapic.yaml | 2 + .../agentendpoint/v1beta/osconfig_v1beta.yaml | 30 + .../agentendpoint/v1beta/patch_jobs.proto | 296 + .../osconfig/agentendpoint/v1beta/tasks.proto | 180 + .../google/cloud/osconfig/v1/BUILD.bazel | 412 + .../google/cloud/osconfig/v1/inventory.proto | 384 + .../google/cloud/osconfig/v1/os_policy.proto | 548 + .../v1/os_policy_assignment_reports.proto | 296 + .../osconfig/v1/os_policy_assignments.proto | 386 + .../cloud/osconfig/v1/osconfig_common.proto | 38 + .../v1/osconfig_grpc_service_config.json | 16 + .../cloud/osconfig/v1/osconfig_service.proto | 158 + .../google/cloud/osconfig/v1/osconfig_v1.yaml | 50 + .../osconfig/v1/osconfig_zonal_service.proto | 202 + .../cloud/osconfig/v1/patch_deployments.proto | 339 + .../google/cloud/osconfig/v1/patch_jobs.proto | 742 + .../cloud/osconfig/v1/vulnerability.proto | 365 + .../google/cloud/osconfig/v1alpha/BUILD.bazel | 395 + .../osconfig/v1alpha/config_common.proto | 133 + .../instance_os_policies_compliance.proto | 182 + .../cloud/osconfig/v1alpha/inventory.proto | 383 + .../cloud/osconfig/v1alpha/os_policy.proto | 565 + .../os_policy_assignment_reports.proto | 296 + .../v1alpha/os_policy_assignments.proto | 383 + .../osconfig/v1alpha/osconfig_common.proto | 40 + .../v1alpha/osconfig_grpc_service_config.json | 13 + .../osconfig/v1alpha/osconfig_v1alpha.yaml | 43 + .../v1alpha/osconfig_zonal_service.proto | 215 + .../osconfig/v1alpha/vulnerability.proto | 365 + .../google/cloud/osconfig/v1beta/BUILD.bazel | 383 + .../osconfig/v1beta/guest_policies.proto | 772 + .../osconfig/v1beta/osconfig_common.proto | 36 + .../cloud/osconfig/v1beta/osconfig_gapic.yaml | 31 + .../v1beta/osconfig_grpc_service_config.json | 13 + .../osconfig/v1beta/osconfig_service.proto | 186 + .../osconfig/v1beta/osconfig_v1beta.yaml | 32 + .../osconfig/v1beta/patch_deployments.proto | 295 + .../cloud/osconfig/v1beta/patch_jobs.proto | 702 + .../protos/google/cloud/oslogin/BUILD.bazel | 40 + .../cloud/oslogin/artman_oslogin_v1.yaml | 36 - .../cloud/oslogin/artman_oslogin_v1beta.yaml | 35 - .../google/cloud/oslogin/common/BUILD.bazel | 149 +- .../google/cloud/oslogin/common/common.proto | 13 +- .../google/cloud/oslogin/oslogin_v1beta.yaml | 40 - .../google/cloud/oslogin/v1/BUILD.bazel | 287 +- .../google/cloud/oslogin/v1/oslogin.proto | 1 + .../oslogin/v1/oslogin_gapic.legacy.yaml | 221 - .../cloud/oslogin/v1/oslogin_gapic.yaml | 13 - .../google/cloud/oslogin/v1/oslogin_v1.yaml | 4 +- .../google/cloud/oslogin/v1beta/BUILD.bazel | 258 +- .../google/cloud/oslogin/v1beta/oslogin.proto | 1 + .../cloud/oslogin/v1beta/oslogin_gapic.yaml | 218 +- .../v1beta/oslogin_grpc_service_config.json | 12 +- .../cloud/oslogin/v1beta/oslogin_v1beta.yaml | 4 +- .../issuerswitch/v1/BUILD.bazel | 392 + .../issuerswitch/v1/common_fields.proto | 344 + .../v1/issuerswitch_grpc_service_config.json | 24 + .../issuerswitch/v1/issuerswitch_v1.yaml | 48 + .../issuerswitch/v1/resolutions.proto | 895 + .../issuerswitch/v1/rules.proto | 339 + .../issuerswitch/v1/transactions.proto | 1133 + .../cloud/phishingprotection/BUILD.bazel | 42 + .../artman_phishingprotection_v1beta1.yaml | 35 - .../phishingprotection/v1beta1/BUILD.bazel | 345 + .../v1beta1/phishingprotection.proto | 1 + .../phishingprotection_gapic.legacy.yaml | 26 - .../v1beta1/phishingprotection_gapic.yaml | 131 +- .../cloud/policytroubleshooter/BUILD.bazel | 40 + .../cloud/policytroubleshooter/v1/BUILD.bazel | 380 + .../policytroubleshooter/v1/checker.proto | 74 + .../v1/checker_grpc_service_config.json | 19 + .../v1/explanations.proto | 245 + .../v1/policytroubleshooter_v1.yaml | 19 + .../google/cloud/privatecatalog/BUILD.bazel | 40 + .../cloud/privatecatalog/v1beta1/BUILD.bazel | 373 + ...oudprivatecatalog_grpc_service_config.json | 8 + .../v1beta1/cloudprivatecatalog_v1beta1.yaml | 24 + .../v1beta1/private_catalog.proto | 556 + .../google/cloud/pubsublite/v1/BUILD.bazel | 340 + .../google/cloud/pubsublite/v1/admin.proto | 640 + .../google/cloud/pubsublite/v1/common.proto | 322 + .../google/cloud/pubsublite/v1/cursor.proto | 178 + .../google/cloud/pubsublite/v1/gapic.yaml | 16 + .../cloud/pubsublite/v1/publisher.proto | 101 + .../v1/pubsublite_grpc_service_config.json | 44 + .../cloud/pubsublite/v1/pubsublite_v1.yaml | 60 + .../cloud/pubsublite/v1/subscriber.proto | 218 + .../cloud/pubsublite/v1/topic_stats.proto | 158 + .../cloud/recaptchaenterprise/BUILD.bazel | 41 + .../artman_recaptchaenterprise_v1beta1.yaml | 35 - .../cloud/recaptchaenterprise/v1/BUILD.bazel | 372 + .../v1/recaptchaenterprise.proto | 998 + .../v1/recaptchaenterprise_gapic.yaml | 6 + ...captchaenterprise_grpc_service_config.json | 37 + .../v1/recaptchaenterprise_v1.yaml | 14 + .../recaptchaenterprise/v1beta1/BUILD.bazel | 361 + .../v1beta1/recaptchaenterprise.proto | 167 +- .../recaptchaenterprise_gapic.legacy.yaml | 155 - .../v1beta1/recaptchaenterprise_gapic.yaml | 18 - ...captchaenterprise_grpc_service_config.json | 17 + .../cloud/recommendationengine/BUILD.bazel | 40 + .../recommendationengine/v1beta1/BUILD.bazel | 333 + .../v1beta1/catalog.proto | 197 + .../v1beta1/catalog_service.proto | 199 + .../recommendationengine/v1beta1/common.proto | 62 + .../recommendationengine/v1beta1/import.proto | 197 + .../prediction_apikey_registry_service.proto | 138 + .../v1beta1/prediction_service.proto | 198 + .../v1beta1/recommendationengine_gapic.yaml | 28 + ...ommendationengine_grpc_service_config.json | 78 + .../recommendationengine_resources.proto | 49 + .../v1beta1/recommendationengine_v1beta1.yaml | 69 + .../v1beta1/user_event.proto | 335 + .../v1beta1/user_event_service.proto | 273 + .../google/cloud/recommender/BUILD.bazel | 41 + .../artman_recommender_v1beta1.yaml | 34 - .../cloud/recommender/logging/v1/BUILD.bazel | 182 + .../recommender/logging/v1/action_log.proto | 64 + .../recommender/logging/v1/recommender.yaml | 8 + .../recommender/logging/v1beta1/BUILD.bazel | 164 + .../logging/v1beta1/action_log.proto | 58 + .../logging/v1beta1/recommender.yaml | 8 + .../google/cloud/recommender/v1/BUILD.bazel | 388 + .../google/cloud/recommender/v1/insight.proto | 162 + .../recommender/v1/insight_type_config.proto | 85 + .../cloud/recommender/v1/recommendation.proto | 343 + .../recommender/v1/recommender_config.proto | 85 + .../v1/recommender_grpc_service_config.json | 56 + .../recommender/v1/recommender_service.proto | 604 + .../cloud/recommender/v1/recommender_v1.yaml | 19 + .../cloud/recommender/v1beta1/BUILD.bazel | 380 + .../cloud/recommender/v1beta1/insight.proto | 161 + .../v1beta1/insight_type_config.proto | 85 + .../recommender/v1beta1/recommendation.proto | 171 +- .../v1beta1/recommender_config.proto | 85 + .../v1beta1/recommender_gapic.yaml | 162 +- .../recommender_grpc_service_config.json | 56 + .../v1beta1/recommender_service.proto | 495 +- .../{ => v1beta1}/recommender_v1beta1.yaml | 2 +- .../v1beta1/samples/list_recommendations.yaml | 18 + .../protos/google/cloud/redis/BUILD.bazel | 42 +- .../google/cloud/redis/artman_redis_v1.yaml | 34 - .../cloud/redis/artman_redis_v1beta1.yaml | 34 - .../protos/google/cloud/redis/redis_v1.yaml | 47 - .../google/cloud/redis/redis_v1beta1.yaml | 43 - .../protos/google/cloud/redis/v1/BUILD.bazel | 286 +- .../google/cloud/redis/v1/cloud_redis.proto | 387 +- .../cloud/redis/v1/redis_gapic.legacy.yaml | 298 - .../google/cloud/redis/v1/redis_gapic.yaml | 49 - .../redis/v1/redis_grpc_service_config.json | 53 + .../google/cloud/redis/v1/redis_v1.yaml | 35 + .../google/cloud/redis/v1beta1/BUILD.bazel | 288 +- .../cloud/redis/v1beta1/cloud_redis.proto | 442 +- .../redis/v1beta1/redis_gapic.legacy.yaml | 293 - .../cloud/redis/v1beta1/redis_gapic.yaml | 48 - .../v1beta1/redis_grpc_service_config.json | 53 + .../cloud/redis/v1beta1/redis_v1beta1.yaml | 35 + .../artman_cloudresourcemanager.yaml | 37 - .../cloud/resourcemanager/v2/BUILD.bazel | 195 + .../v2/cloudresourcemanager_gapic.yaml | 301 - .../cloud/resourcemanager/v3/BUILD.bazel | 405 + .../v3/cloudresourcemanager_v3.yaml | 177 + ...esourcemanager_v3_grpc_service_config.json | 187 + .../cloud/resourcemanager/v3/folders.proto | 536 + .../resourcemanager/v3/organizations.proto | 236 + .../cloud/resourcemanager/v3/projects.proto | 640 + .../resourcemanager/v3/tag_bindings.proto | 177 + .../cloud/resourcemanager/v3/tag_keys.proto | 300 + .../cloud/resourcemanager/v3/tag_values.proto | 296 + .../google/cloud/resourcesettings/BUILD.bazel | 40 + .../resourcesettings_gapic.yaml | 18 + .../cloud/resourcesettings/v1/BUILD.bazel | 372 + .../v1/resource_settings.proto | 308 + .../resourcesettings_grpc_service_config.json | 17 + .../v1/resourcesettings_v1.yaml | 20 + .../protos/google/cloud/retail/BUILD.bazel | 40 + .../cloud/retail/logging/error_log.proto | 128 + .../protos/google/cloud/retail/v2/BUILD.bazel | 425 + .../google/cloud/retail/v2/catalog.proto | 350 + .../cloud/retail/v2/catalog_service.proto | 476 + .../google/cloud/retail/v2/common.proto | 766 + .../cloud/retail/v2/completion_service.proto | 210 + .../google/cloud/retail/v2/control.proto | 93 + .../cloud/retail/v2/control_service.proto | 185 + .../cloud/retail/v2/import_config.proto | 386 + .../cloud/retail/v2/prediction_service.proto | 223 + .../google/cloud/retail/v2/product.proto | 565 + .../cloud/retail/v2/product_service.proto | 910 + .../google/cloud/retail/v2/promotion.proto | 40 + .../google/cloud/retail/v2/purge_config.proto | 82 + .../retail/v2/retail_grpc_service_config.json | 70 + .../google/cloud/retail/v2/retail_v2.yaml | 134 + .../cloud/retail/v2/search_service.proto | 917 + .../cloud/retail/v2/serving_config.proto | 248 + .../retail/v2/serving_config_service.proto | 240 + .../google/cloud/retail/v2/user_event.proto | 343 + .../cloud/retail/v2/user_event_service.proto | 189 + .../google/cloud/retail/v2alpha/BUILD.bazel | 430 + .../google/cloud/retail/v2alpha/catalog.proto | 419 + .../retail/v2alpha/catalog_service.proto | 478 + .../google/cloud/retail/v2alpha/common.proto | 791 + .../retail/v2alpha/completion_service.proto | 210 + .../google/cloud/retail/v2alpha/control.proto | 92 + .../retail/v2alpha/control_service.proto | 184 + .../cloud/retail/v2alpha/export_config.proto | 95 + .../cloud/retail/v2alpha/import_config.proto | 413 + .../google/cloud/retail/v2alpha/model.proto | 432 + .../cloud/retail/v2alpha/model_service.proto | 241 + .../retail/v2alpha/prediction_service.proto | 223 + .../google/cloud/retail/v2alpha/product.proto | 567 + .../retail/v2alpha/product_service.proto | 932 + .../cloud/retail/v2alpha/promotion.proto | 40 + .../cloud/retail/v2alpha/purge_config.proto | 174 + .../cloud/retail/v2alpha/retail_gapic.yaml | 16 + .../v2alpha/retail_grpc_service_config.json | 83 + .../cloud/retail/v2alpha/retail_v2alpha.yaml | 151 + .../cloud/retail/v2alpha/search_service.proto | 937 + .../cloud/retail/v2alpha/serving_config.proto | 248 + .../v2alpha/serving_config_service.proto | 241 + .../cloud/retail/v2alpha/user_event.proto | 347 + .../retail/v2alpha/user_event_service.proto | 189 + .../google/cloud/retail/v2beta/BUILD.bazel | 430 + .../google/cloud/retail/v2beta/catalog.proto | 436 + .../cloud/retail/v2beta/catalog_service.proto | 522 + .../google/cloud/retail/v2beta/common.proto | 792 + .../retail/v2beta/completion_service.proto | 210 + .../google/cloud/retail/v2beta/control.proto | 100 + .../cloud/retail/v2beta/control_service.proto | 185 + .../cloud/retail/v2beta/export_config.proto | 97 + .../cloud/retail/v2beta/import_config.proto | 386 + .../google/cloud/retail/v2beta/model.proto | 238 + .../cloud/retail/v2beta/model_service.proto | 244 + .../retail/v2beta/prediction_service.proto | 224 + .../google/cloud/retail/v2beta/product.proto | 577 + .../cloud/retail/v2beta/product_service.proto | 924 + .../cloud/retail/v2beta/promotion.proto | 40 + .../cloud/retail/v2beta/purge_config.proto | 83 + .../cloud/retail/v2beta/retail_gapic.yaml | 2 + .../v2beta/retail_grpc_service_config.json | 77 + .../cloud/retail/v2beta/retail_v2beta.yaml | 143 + .../cloud/retail/v2beta/search_service.proto | 929 + .../cloud/retail/v2beta/serving_config.proto | 280 + .../v2beta/serving_config_service.proto | 240 + .../cloud/retail/v2beta/user_event.proto | 345 + .../retail/v2beta/user_event_service.proto | 190 + .../protos/google/cloud/run/BUILD.bazel | 39 + .../protos/google/cloud/run/v2/BUILD.bazel | 417 + .../google/cloud/run/v2/condition.proto | 202 + .../protos/google/cloud/run/v2/k8s.min.proto | 356 + .../protos/google/cloud/run/v2/revision.proto | 278 + .../cloud/run/v2/revision_template.proto | 79 + .../cloud/run/v2/run_grpc_service_config.json | 29 + .../protos/google/cloud/run/v2/run_v2.yaml | 39 + .../protos/google/cloud/run/v2/service.proto | 437 + .../google/cloud/run/v2/traffic_target.proto | 77 + .../google/cloud/run/v2/vendor_settings.proto | 102 + .../management/logs/v1/BUILD.bazel | 176 + .../v1/notification_service_payload.proto | 66 + .../logs/v1/saas_instance_payload.proto | 41 + .../protos/google/cloud/scheduler/BUILD.bazel | 42 +- .../scheduler/artman_cloudscheduler_v1.yaml | 35 - .../artman_cloudscheduler_v1beta1.yaml | 35 - .../google/cloud/scheduler/v1/BUILD.bazel | 369 + .../v1/cloudscheduler_gapic.legacy.yaml | 261 - .../scheduler/v1/cloudscheduler_gapic.yaml | 22 - .../google/cloud/scheduler/v1/job.proto | 1 - .../google/cloud/scheduler/v1/target.proto | 1 - .../cloud/scheduler/v1beta1/BUILD.bazel | 255 +- .../v1beta1/cloudscheduler_gapic.legacy.yaml | 257 - .../v1beta1/cloudscheduler_gapic.yaml | 19 - .../google/cloud/scheduler/v1beta1/job.proto | 1 - .../cloud/scheduler/v1beta1/target.proto | 1 - .../google/cloud/secretmanager/BUILD.bazel | 40 + .../secretmanager/logging/v1/BUILD.bazel | 173 + .../logging/v1/secret_event.proto | 71 + .../google/cloud/secretmanager/v1/BUILD.bazel | 389 + .../cloud/secretmanager/v1/resources.proto | 345 + .../v1/secretmanager_grpc_service_config.json | 84 + .../secretmanager/v1/secretmanager_v1.yaml | 50 + .../cloud/secretmanager/v1/service.proto | 455 + .../google/cloud/secrets/v1beta1/BUILD.bazel | 358 + .../cloud/secrets/v1beta1/resources.proto | 155 + .../secretmanager_grpc_service_config.json | 83 + .../v1beta1/secretmanager_v1beta1.yaml | 25 + .../cloud/secrets/v1beta1/service.proto | 417 + .../cloud/security/privateca/BUILD.bazel | 41 + .../cloud/security/privateca/v1/BUILD.bazel | 401 + .../v1/privateca_grpc_service_config.json | 22 + .../security/privateca/v1/privateca_v1.yaml | 123 + .../security/privateca/v1/resources.proto | 1123 + .../cloud/security/privateca/v1/service.proto | 1277 + .../security/privateca/v1beta1/BUILD.bazel | 367 + .../privateca_grpc_service_config.json | 22 + .../privateca/v1beta1/privateca_v1beta1.yaml | 73 + .../privateca/v1beta1/resources.proto | 902 + .../security/privateca/v1beta1/service.proto | 870 + .../cloud/security/publicca/BUILD.bazel | 40 + .../security/publicca/v1beta1/BUILD.bazel | 390 + .../publicca/v1beta1/publicca_v1beta1.yaml | 25 + .../publicca_v1beta1_grpc_service_config.json | 21 + .../security/publicca/v1beta1/resources.proto | 52 + .../security/publicca/v1beta1/service.proto | 68 + .../google/cloud/securitycenter/BUILD.bazel | 42 +- .../artman_securitycenter_v1.yaml | 36 - .../artman_securitycenter_v1beta1.yaml | 34 - .../securitycenter/securitycenter_v1.yaml | 80 - .../securitycenter_v1beta1.yaml | 74 - .../settings/v1beta1/BUILD.bazel | 346 + .../settings/v1beta1/billing_settings.proto | 78 + .../settings/v1beta1/component_settings.proto | 170 + .../settings/v1beta1/detector.proto | 56 + .../v1beta1/securitycenter_settings.yaml | 29 + .../securitycenter_settings_gapic.yaml | 16 + ...tycenter_settings_grpc_service_config.json | 70 + .../securitycenter_settings_service.proto | 650 + .../settings/v1beta1/settings.proto | 120 + .../settings/v1beta1/sink_settings.proto | 37 + .../cloud/securitycenter/v1/BUILD.bazel | 371 + .../cloud/securitycenter/v1/access.proto | 100 + .../cloud/securitycenter/v1/asset.proto | 84 +- .../securitycenter/v1/bigquery_export.proto | 99 + .../cloud/securitycenter/v1/compliance.proto | 39 + .../cloud/securitycenter/v1/connection.proto | 66 + .../securitycenter/v1/contact_details.proto | 37 + .../cloud/securitycenter/v1/container.proto | 45 + .../cloud/securitycenter/v1/database.proto | 52 + .../securitycenter/v1/exfiltration.proto | 52 + .../securitycenter/v1/external_system.proto | 59 + .../google/cloud/securitycenter/v1/file.proto | 52 + .../cloud/securitycenter/v1/finding.proto | 275 +- .../cloud/securitycenter/v1/folder.proto | 36 + .../cloud/securitycenter/v1/iam_binding.proto | 52 + .../cloud/securitycenter/v1/indicator.proto | 82 + .../cloud/securitycenter/v1/kubernetes.proto | 181 + .../cloud/securitycenter/v1/label.proto | 35 + .../securitycenter/v1/mitre_attack.proto | 208 + .../cloud/securitycenter/v1/mute_config.proto | 89 + .../v1/notification_config.proto | 97 + .../v1/notification_message.proto | 44 + .../v1/organization_settings.proto | 22 +- .../cloud/securitycenter/v1/process.proto | 74 + .../cloud/securitycenter/v1/resource.proto | 58 + .../v1/run_asset_discovery_response.proto | 5 +- .../securitycenter/v1/security_marks.proto | 44 +- .../v1/securitycenter_gapic.yaml | 478 - .../securitycenter_grpc_service_config.json | 136 + .../v1/securitycenter_service.proto | 1198 +- .../securitycenter/v1/securitycenter_v1.yaml | 51 + .../cloud/securitycenter/v1/source.proto | 41 +- .../securitycenter/v1/vulnerability.proto | 216 + .../cloud/securitycenter/v1beta1/BUILD.bazel | 241 +- .../cloud/securitycenter/v1beta1/asset.proto | 50 +- .../securitycenter/v1beta1/finding.proto | 54 +- .../v1beta1/organization_settings.proto | 16 +- .../run_asset_discovery_response.proto | 48 + .../v1beta1/security_marks.proto | 29 +- .../v1beta1/securitycenter_gapic.yaml | 460 +- .../securitycenter_grpc_service_config.json | 115 + .../v1beta1/securitycenter_service.proto | 212 +- .../v1beta1/securitycenter_v1beta1.yaml | 45 + .../cloud/securitycenter/v1beta1/source.proto | 22 +- .../securitycenter/v1p1beta1/BUILD.bazel | 380 + .../securitycenter/v1p1beta1/asset.proto | 134 + .../securitycenter/v1p1beta1/finding.proto | 145 + .../securitycenter/v1p1beta1/folder.proto | 37 + .../v1p1beta1/notification_config.proto | 107 + .../v1p1beta1/notification_message.proto | 43 + .../v1p1beta1/organization_settings.proto | 85 + .../securitycenter/v1p1beta1/resource.proto | 52 + .../run_asset_discovery_response.proto | 51 + .../v1p1beta1/security_marks.proto | 69 + .../securitycenter_grpc_service_config.json | 135 + .../v1p1beta1/securitycenter_service.proto | 1351 + .../v1p1beta1/securitycenter_v1p1beta1.yaml | 47 + .../securitycenter/v1p1beta1/source.proto | 68 + .../sensitiveaction/logging/v1/BUILD.bazel | 127 + .../logging/v1/sensitive_action_payload.proto | 66 + .../google/cloud/servicedirectory/BUILD.bazel | 40 + .../cloud/servicedirectory/v1/BUILD.bazel | 347 + .../cloud/servicedirectory/v1/endpoint.proto | 74 + .../servicedirectory/v1/lookup_service.proto | 93 + .../cloud/servicedirectory/v1/namespace.proto | 48 + .../v1/registration_service.proto | 595 + .../cloud/servicedirectory/v1/service.proto | 73 + .../servicedirectory_grpc_service_config.json | 26 + .../v1/servicedirectory_v1.yaml | 24 + .../servicedirectory/v1beta1/BUILD.bazel | 376 + .../servicedirectory/v1beta1/endpoint.proto | 108 + .../v1beta1/lookup_service.proto | 105 + .../servicedirectory/v1beta1/namespace.proto | 55 + .../v1beta1/registration_service.proto | 607 + .../servicedirectory/v1beta1/service.proto | 85 + .../servicedirectory_grpc_service_config.json | 26 + .../v1beta1/servicedirectory_v1beta1.yaml | 45 + .../protos/google/cloud/shell/BUILD.bazel | 40 + .../protos/google/cloud/shell/v1/BUILD.bazel | 379 + .../google/cloud/shell/v1/cloudshell.proto | 387 + .../v1/cloudshell_grpc_service_config.json | 27 + .../google/cloud/shell/v1/cloudshell_v1.yaml | 53 + .../protos/google/cloud/speech/BUILD.bazel | 42 +- .../google/cloud/speech/artman_speech_v1.yaml | 36 - .../cloud/speech/artman_speech_v1p1beta1.yaml | 36 - .../protos/google/cloud/speech/v1/BUILD.bazel | 288 +- .../google/cloud/speech/v1/cloud_speech.proto | 182 +- .../speech/v1/cloud_speech_adaptation.proto | 370 + .../google/cloud/speech/v1/resource.proto | 138 + .../speech_transcribe_enhanced_model.yaml | 1 - .../cloud/speech/v1/speech_gapic.legacy.yaml | 92 - .../google/cloud/speech/v1/speech_gapic.yaml | 42 - .../google/cloud/speech/v1/speech_v1.yaml | 11 +- .../google/cloud/speech/v1p1beta1/BUILD.bazel | 270 +- .../cloud/speech/v1p1beta1/cloud_speech.proto | 153 +- .../v1p1beta1/cloud_speech_adaptation.proto | 370 + .../cloud/speech/v1p1beta1/resource.proto | 162 + .../speech/v1p1beta1/speech_gapic.legacy.yaml | 90 - .../cloud/speech/v1p1beta1/speech_gapic.yaml | 40 - .../speech/v1p1beta1/speech_v1p1beta1.yaml | 14 + .../protos/google/cloud/speech/v2/BUILD.bazel | 390 + .../google/cloud/speech/v2/cloud_speech.proto | 1965 + .../speech/v2/speech_grpc_service_config.json | 18 + .../google/cloud/speech/v2/speech_v2.yaml | 56 + .../protos/google/cloud/sql/v1/BUILD.bazel | 390 + .../cloud/sql/v1/cloud_sql_backup_runs.proto | 257 + .../cloud/sql/v1/cloud_sql_connect.proto | 125 + .../cloud/sql/v1/cloud_sql_databases.proto | 152 + .../google/cloud/sql/v1/cloud_sql_flags.proto | 126 + .../sql/v1/cloud_sql_instance_names.proto | 32 + .../cloud/sql/v1/cloud_sql_instances.proto | 1219 + .../cloud/sql/v1/cloud_sql_operations.proto | 89 + .../cloud/sql/v1/cloud_sql_resources.proto | 1197 + .../cloud/sql/v1/cloud_sql_ssl_certs.proto | 143 + .../google/cloud/sql/v1/cloud_sql_tiers.proto | 78 + .../google/cloud/sql/v1/cloud_sql_users.proto | 195 + .../sql/v1/sqladmin_grpc_service_config.json | 15 + .../google/cloud/sql/v1/sqladmin_v1.yaml | 114 + .../google/cloud/sql/v1beta4/BUILD.bazel | 376 + .../google/cloud/sql/v1beta4/cloud_sql.proto | 874 + .../cloud/sql/v1beta4/cloud_sql_connect.proto | 131 + .../sql/v1beta4/cloud_sql_resources.proto | 2177 + .../cloud/sql/v1beta4/cloud_sql_tiers.proto | 76 + .../cloud/sql/v1beta4/cloud_sql_users.proto | 224 + .../v1beta4/sqladmin_grpc_service_config.json | 15 + .../cloud/sql/v1beta4/sqladmin_v1beta4.yaml | 113 + .../cloud/storageinsights/v1/BUILD.bazel | 389 + .../storageinsights/v1/storageinsights.proto | 469 + .../storageinsights_grpc_service_config.json | 26 + .../v1/storageinsights_v1.yaml | 66 + .../cloud/stream/logging/v1/BUILD.bazel | 175 + .../cloud/stream/logging/v1/logging.proto | 184 + .../protos/google/cloud/talent/BUILD.bazel | 40 + .../cloud/talent/artman_talent_v4beta1.yaml | 36 - .../protos/google/cloud/talent/talent_v4.yaml | 86 + .../google/cloud/talent/talent_v4beta1.yaml | 5 + .../protos/google/cloud/talent/v4/BUILD.bazel | 410 + .../google/cloud/talent/v4/common.proto | 870 + .../google/cloud/talent/v4/company.proto | 114 + .../cloud/talent/v4/company_service.proto | 187 + .../cloud/talent/v4/completion_service.proto | 154 + .../protos/google/cloud/talent/v4/event.proto | 170 + .../cloud/talent/v4/event_service.proto | 70 + .../google/cloud/talent/v4/filters.proto | 363 + .../google/cloud/talent/v4/histogram.proto | 50 + .../protos/google/cloud/talent/v4/job.proto | 350 + .../google/cloud/talent/v4/job_service.proto | 940 + .../google/cloud/talent/v4/jobs_v4.yaml | 87 + .../talent/v4/talent_grpc_service_config.json | 172 + .../google/cloud/talent/v4/tenant.proto | 51 + .../cloud/talent/v4/tenant_service.proto | 176 + .../google/cloud/talent/v4beta1/BUILD.bazel | 423 + .../cloud/talent/v4beta1/application.proto | 177 - .../talent/v4beta1/application_service.proto | 165 - .../google/cloud/talent/v4beta1/batch.proto | 5 +- .../google/cloud/talent/v4beta1/common.proto | 581 +- .../google/cloud/talent/v4beta1/company.proto | 22 +- .../talent/v4beta1/company_service.proto | 67 +- .../talent/v4beta1/completion_service.proto | 62 +- .../google/cloud/talent/v4beta1/event.proto | 97 +- .../cloud/talent/v4beta1/event_service.proto | 16 +- .../google/cloud/talent/v4beta1/filters.proto | 654 +- .../cloud/talent/v4beta1/histogram.proto | 16 +- .../google/cloud/talent/v4beta1/job.proto | 169 +- .../cloud/talent/v4beta1/job_service.proto | 614 +- .../cloud/talent/v4beta1/jobs_v4beta1.yaml | 85 + .../google/cloud/talent/v4beta1/profile.proto | 843 - .../talent/v4beta1/profile_service.proto | 522 - .../cloud/talent/v4beta1/talent_gapic.yaml | 1890 - .../v4beta1/talent_grpc_service_config.json | 256 + .../google/cloud/talent/v4beta1/tenant.proto | 25 +- .../cloud/talent/v4beta1/tenant_service.proto | 50 +- .../protos/google/cloud/tasks/BUILD.bazel | 40 + .../cloud/tasks/artman_cloudtasks_v2.yaml | 37 - .../tasks/artman_cloudtasks_v2beta2.yaml | 34 - .../tasks/artman_cloudtasks_v2beta3.yaml | 36 - .../protos/google/cloud/tasks/v2/BUILD.bazel | 378 + .../cloud/tasks/v2/cloudtasks_gapic.yaml | 439 - .../v2/cloudtasks_grpc_service_config.json | 6 +- .../protos/google/cloud/tasks/v2/queue.proto | 17 +- .../protos/google/cloud/tasks/v2/target.proto | 147 +- .../protos/google/cloud/tasks/v2/task.proto | 8 +- .../google/cloud/tasks/v2beta2/BUILD.bazel | 246 +- .../cloud/tasks/v2beta2/cloudtasks.proto | 15 +- .../cloud/tasks/v2beta2/cloudtasks_gapic.yaml | 512 - .../cloudtasks_grpc_service_config.json | 103 + .../{ => v2beta2}/cloudtasks_v2beta2.yaml | 2 - .../cloud/tasks/v2beta2/old_target.proto | 25 + .../google/cloud/tasks/v2beta2/queue.proto | 94 +- .../google/cloud/tasks/v2beta2/target.proto | 23 +- .../google/cloud/tasks/v2beta2/task.proto | 4 +- .../google/cloud/tasks/v2beta3/BUILD.bazel | 246 +- .../cloud/tasks/v2beta3/cloudtasks.proto | 15 +- .../cloud/tasks/v2beta3/cloudtasks_gapic.yaml | 435 - .../cloudtasks_grpc_service_config.json | 87 + .../{ => v2beta3}/cloudtasks_v2beta3.yaml | 2 - .../google/cloud/tasks/v2beta3/queue.proto | 109 +- .../google/cloud/tasks/v2beta3/target.proto | 57 +- .../google/cloud/tasks/v2beta3/task.proto | 17 +- .../google/cloud/texttospeech/BUILD.bazel | 42 +- .../texttospeech/artman_texttospeech_v1.yaml | 35 - .../artman_texttospeech_v1beta1.yaml | 35 - .../protos/google/cloud/texttospeech/tts.yaml | 21 - .../google/cloud/texttospeech/tts_v1.yaml | 23 - .../cloud/texttospeech/tts_v1beta1.yaml | 23 - .../google/cloud/texttospeech/v1/BUILD.bazel | 193 +- .../cloud/texttospeech/v1/cloud_tts.proto | 83 +- .../v1/texttospeech_gapic.legacy.yaml | 135 - .../texttospeech/v1/texttospeech_gapic.yaml | 19 - .../v1/texttospeech_grpc_service_config.json | 13 +- .../cloud/texttospeech/v1beta1/BUILD.bazel | 275 +- .../texttospeech/v1beta1/cloud_tts.proto | 105 +- .../v1beta1/texttospeech_gapic.legacy.yaml | 135 - .../v1beta1/texttospeech_gapic.yaml | 19 - .../texttospeech_grpc_service_config.json | 13 +- .../cloud/timeseriesinsights/v1/BUILD.bazel | 388 + .../v1/timeseries_insights.proto | 908 + ...meseries_insights_grpc_service_config.json | 25 + .../v1/timeseriesinsights_v1.yaml | 49 + .../protos/google/cloud/tpu/BUILD.bazel | 40 + .../protos/google/cloud/tpu/v1/BUILD.bazel | 374 + .../google/cloud/tpu/v1/cloud_tpu.proto | 622 + .../cloud/tpu/v1/tpu_grpc_service_config.json | 9 + .../protos/google/cloud/tpu/v1/tpu_v1.yaml | 64 + .../google/cloud/tpu/v2alpha1/BUILD.bazel | 356 + .../google/cloud/tpu/v2alpha1/cloud_tpu.proto | 791 + .../protos/google/cloud/tpu/v2alpha1/tpu.yaml | 82 + .../tpu/v2alpha1/tpu_grpc_service_config.json | 9 + .../protos/google/cloud/translate/BUILD.bazel | 41 + .../cloud/translate/artman_translate_v3.yaml | 35 - .../translate/artman_translate_v3beta1.yaml | 35 - .../google/cloud/translate/v3/BUILD.bazel | 392 + .../translate/v3/translate_gapic.legacy.yaml | 244 - .../cloud/translate/v3/translate_gapic.yaml | 20 - .../v3/translate_grpc_service_config.json | 8 + .../cloud/translate/v3/translate_v3.yaml | 43 + .../translate/v3/translation_service.proto | 586 +- .../cloud/translate/v3beta1/BUILD.bazel | 367 + .../v3beta1/translate_gapic.legacy.yaml | 235 - .../translate/v3beta1/translate_gapic.yaml | 19 - .../translate_grpc_service_config.json | 8 + .../translate/v3beta1/translate_v3beta1.yaml | 37 + .../v3beta1/translation_service.proto | 663 +- .../google/cloud/video/livestream/BUILD.bazel | 39 + .../video/livestream/logging/v1/BUILD.bazel | 179 + .../video/livestream/logging/v1/logs.proto | 155 + .../cloud/video/livestream/v1/BUILD.bazel | 393 + .../v1/livestream_grpc_service_config.json | 35 + .../video/livestream/v1/livestream_v1.yaml | 65 + .../cloud/video/livestream/v1/outputs.proto | 397 + .../cloud/video/livestream/v1/resources.proto | 408 + .../cloud/video/livestream/v1/service.proto | 719 + .../google/cloud/video/stitcher/BUILD.bazel | 39 + .../cloud/video/stitcher/v1/BUILD.bazel | 383 + .../video/stitcher/v1/ad_tag_details.proto | 95 + .../cloud/video/stitcher/v1/cdn_keys.proto | 79 + .../cloud/video/stitcher/v1/companions.proto | 113 + .../cloud/video/stitcher/v1/events.proto | 131 + .../cloud/video/stitcher/v1/sessions.proto | 246 + .../cloud/video/stitcher/v1/slates.proto | 41 + .../video/stitcher/v1/stitch_details.proto | 60 + .../stitcher/v1/video_stitcher_service.proto | 570 + .../v1/videostitcher_grpc_service_config.json | 38 + .../video/stitcher/v1/videostitcher_v1.yaml | 19 + .../google/cloud/video/transcoder/BUILD.bazel | 40 + .../cloud/video/transcoder/v1/BUILD.bazel | 379 + .../cloud/video/transcoder/v1/resources.proto | 1095 + .../cloud/video/transcoder/v1/services.proto | 281 + .../v1/transcoder_grpc_service_config.json | 26 + .../video/transcoder/v1/transcoder_v1.yaml | 24 + .../cloud/videointelligence/BUILD.bazel | 40 + .../artman_videointelligence_v1.yaml | 36 - .../artman_videointelligence_v1beta2.yaml | 35 - .../artman_videointelligence_v1p1beta1.yaml | 35 - .../artman_videointelligence_v1p2beta1.yaml | 35 - .../artman_videointelligence_v1p3beta1.yaml | 35 - .../cloud/videointelligence/v1/BUILD.bazel | 323 +- .../v1/video_intelligence.proto | 267 +- .../v1/videointelligence_gapic.yaml | 2 - ...videointelligence_grpc_service_config.json | 22 + .../videointelligence/v1beta2/BUILD.bazel | 305 +- .../v1beta2/video_intelligence.proto | 40 +- .../videointelligence_gapic.legacy.yaml | 58 + .../v1beta2/videointelligence_gapic.yaml | 49 +- ...videointelligence_grpc_service_config.json | 22 + .../videointelligence/v1p1beta1/BUILD.bazel | 307 +- .../v1p1beta1/video_intelligence.proto | 84 +- .../v1p1beta1/videointelligence_gapic.yaml | 52 +- ...videointelligence_grpc_service_config.json | 22 + .../videointelligence/v1p2beta1/BUILD.bazel | 307 +- .../v1p2beta1/video_intelligence.proto | 58 +- .../v1p2beta1/videointelligence_gapic.yaml | 54 +- ...videointelligence_grpc_service_config.json | 22 + .../videointelligence/v1p3beta1/BUILD.bazel | 370 +- .../v1p3beta1/video_intelligence.proto | 691 +- .../v1p3beta1/videointelligence_gapic.yaml | 228 +- ...videointelligence_grpc_service_config.json | 40 + .../videointelligence_v1p3beta1.yaml | 35 + .../protos/google/cloud/vision/BUILD.bazel | 40 + .../google/cloud/vision/artman_vision_v1.yaml | 38 - .../cloud/vision/artman_vision_v1p1beta1.yaml | 36 - .../cloud/vision/artman_vision_v1p2beta1.yaml | 36 - .../cloud/vision/artman_vision_v1p3beta1.yaml | 41 - .../cloud/vision/artman_vision_v1p4beta1.yaml | 34 - .../protos/google/cloud/vision/v1/BUILD.bazel | 273 +- .../google/cloud/vision/v1/geometry.proto | 5 +- .../cloud/vision/v1/image_annotator.proto | 101 +- .../cloud/vision/v1/product_search.proto | 12 +- .../vision/v1/product_search_service.proto | 14 +- .../cloud/vision/v1/text_annotation.proto | 4 +- .../google/cloud/vision/v1/vision_gapic.yaml | 611 +- .../cloud/vision/v1/web_detection.proto | 5 +- .../google/cloud/vision/v1p1beta1/BUILD.bazel | 247 +- .../vision/v1p1beta1/image_annotator.proto | 36 +- .../vision/v1p1beta1/text_annotation.proto | 1 - .../cloud/vision/v1p1beta1/vision_gapic.yaml | 55 +- .../v1p1beta1/vision_grpc_service_config.json | 22 + .../vision/v1p1beta1/vision_v1p1beta1.yaml | 31 + .../vision/v1p1beta1/web_detection.proto | 1 - .../google/cloud/vision/v1p2beta1/BUILD.bazel | 243 +- .../vision/v1p2beta1/image_annotator.proto | 51 +- .../vision/v1p2beta1/text_annotation.proto | 1 - .../cloud/vision/v1p2beta1/vision_gapic.yaml | 63 +- .../v1p2beta1/vision_grpc_service_config.json | 26 + .../vision/v1p2beta1/vision_v1p2beta1.yaml | 31 + .../vision/v1p2beta1/web_detection.proto | 1 - .../google/cloud/vision/v1p3beta1/BUILD.bazel | 256 +- .../cloud/vision/v1p3beta1/geometry.proto | 11 +- .../vision/v1p3beta1/image_annotator.proto | 46 +- .../vision/v1p3beta1/product_search.proto | 142 +- .../v1p3beta1/product_search_service.proto | 283 +- .../vision/v1p3beta1/text_annotation.proto | 1 - .../cloud/vision/v1p3beta1/vision_gapic.yaml | 426 +- .../v1p3beta1/vision_grpc_service_config.json | 136 + .../vision/v1p3beta1/vision_v1p3beta1.yaml | 39 + .../vision/v1p3beta1/web_detection.proto | 1 - .../google/cloud/vision/v1p4beta1/BUILD.bazel | 257 +- .../google/cloud/vision/v1p4beta1/face.proto | 60 + .../cloud/vision/v1p4beta1/geometry.proto | 3 +- .../vision/v1p4beta1/image_annotator.proto | 143 +- .../vision/v1p4beta1/product_search.proto | 41 +- .../v1p4beta1/product_search_service.proto | 353 +- .../vision/v1p4beta1/text_annotation.proto | 7 +- .../cloud/vision/v1p4beta1/vision_gapic.yaml | 579 +- .../v1p4beta1/vision_grpc_service_config.json | 130 + .../vision/v1p4beta1/vision_v1p4beta1.yaml | 41 + .../vision/v1p4beta1/web_detection.proto | 25 +- .../google/cloud/vision/vision_v1p1beta1.yaml | 21 - .../google/cloud/vision/vision_v1p2beta1.yaml | 26 - .../google/cloud/vision/vision_v1p3beta1.yaml | 37 - .../google/cloud/vision/vision_v1p4beta1.yaml | 39 - .../cloud/visionai/v1alpha1/BUILD.bazel | 419 + .../cloud/visionai/v1alpha1/annotations.proto | 617 + .../cloud/visionai/v1alpha1/common.proto | 114 + .../google/cloud/visionai/v1alpha1/lva.proto | 115 + .../visionai/v1alpha1/lva_resources.proto | 65 + .../cloud/visionai/v1alpha1/lva_service.proto | 227 + .../cloud/visionai/v1alpha1/platform.proto | 2156 + .../v1alpha1/streaming_resources.proto | 173 + .../visionai/v1alpha1/streaming_service.proto | 485 + .../visionai/v1alpha1/streams_resources.proto | 189 + .../visionai/v1alpha1/streams_service.proto | 872 + .../visionai_grpc_service_config.json | 206 + .../visionai/v1alpha1/visionai_v1alpha1.yaml | 180 + .../cloud/visionai/v1alpha1/warehouse.proto | 1692 + .../google/cloud/vmmigration/BUILD.bazel | 40 + .../google/cloud/vmmigration/v1/BUILD.bazel | 391 + .../cloud/vmmigration/v1/vmmigration.proto | 2901 + .../cloud/vmmigration/v1/vmmigration_v1.yaml | 109 + .../vmmigration_v1_grpc_service_config.json | 34 + .../protos/google/cloud/vpcaccess/BUILD.bazel | 40 + .../google/cloud/vpcaccess/v1/BUILD.bazel | 390 + .../cloud/vpcaccess/v1/vpc_access.proto | 248 + .../v1/vpcaccess_grpc_service_config.json | 21 + .../cloud/vpcaccess/v1/vpcaccess_v1.yaml | 53 + .../protos/google/cloud/webrisk/BUILD.bazel | 41 + .../cloud/webrisk/artman_webrisk_v1beta1.yaml | 35 - .../google/cloud/webrisk/v1/BUILD.bazel | 387 + .../google/cloud/webrisk/v1/webrisk.proto | 362 + .../cloud/webrisk/v1/webrisk_gapic.yaml | 6 + .../v1/webrisk_grpc_service_config.json | 39 + .../google/cloud/webrisk/v1/webrisk_v1.yaml | 14 + .../google/cloud/webrisk/v1beta1/BUILD.bazel | 387 + .../cloud/webrisk/v1beta1/webrisk.proto | 1 + .../webrisk/v1beta1/webrisk_gapic.legacy.yaml | 142 - .../cloud/webrisk/v1beta1/webrisk_gapic.yaml | 13 - .../cloud/websecurityscanner/BUILD.bazel | 41 +- .../artman_websecurityscanner_v1alpha.yaml | 35 - .../artman_websecurityscanner_v1beta.yaml | 35 - .../cloud/websecurityscanner/v1/BUILD.bazel | 392 + .../websecurityscanner/v1/crawled_url.proto | 40 + .../cloud/websecurityscanner/v1/finding.proto | 122 + .../websecurityscanner/v1/finding_addon.proto | 166 + .../v1/finding_type_stats.proto | 35 + .../websecurityscanner/v1/scan_config.proto | 193 + .../v1/scan_config_error.proto | 189 + .../websecurityscanner/v1/scan_run.proto | 110 + .../v1/scan_run_error_trace.proto | 75 + .../websecurityscanner/v1/scan_run_log.proto | 55 + .../v1/scan_run_warning_trace.proto | 61 + .../v1/web_security_scanner.proto | 337 + ...ebsecurityscanner_grpc_service_config.json | 75 + .../v1/websecurityscanner_v1.yaml | 22 + .../websecurityscanner/v1alpha/BUILD.bazel | 247 +- .../v1alpha/websecurityscanner_gapic.yaml | 341 +- .../websecurityscanner/v1beta/BUILD.bazel | 355 + .../v1beta/crawled_url.proto | 2 + .../websecurityscanner/v1beta/finding.proto | 2 + .../v1beta/finding_addon.proto | 2 + .../v1beta/finding_type_stats.proto | 2 + .../v1beta/scan_config.proto | 2 + .../v1beta/scan_config_error.proto | 2 + .../websecurityscanner/v1beta/scan_run.proto | 2 + .../v1beta/scan_run_error_trace.proto | 2 + .../v1beta/scan_run_warning_trace.proto | 2 + .../v1beta/web_security_scanner.proto | 2 + .../websecurityscanner_gapic.legacy.yaml | 294 - .../v1beta/websecurityscanner_gapic.yaml | 18 - .../protos/google/cloud/workflows/BUILD.bazel | 40 + .../cloud/workflows/executions/BUILD.bazel | 40 + .../cloud/workflows/executions/v1/BUILD.bazel | 377 + .../workflows/executions/v1/executions.proto | 310 + .../executions/v1/executions_gapic.yaml | 2 + .../v1/executions_grpc_service_config.json | 23 + .../executions/v1/workflowexecutions_v1.yaml | 23 + .../workflows/executions/v1beta/BUILD.bazel | 347 + .../executions/v1beta/executions.proto | 252 + .../executions/v1beta/executions_gapic.yaml | 2 + .../executions_grpc_service_config.json | 23 + .../v1beta/workflowexecutions_v1beta.yaml | 23 + .../google/cloud/workflows/type/BUILD.bazel | 180 + .../cloud/workflows/type/engine_call.proto | 132 + .../workflows/type/executions_system.proto | 87 + .../google/cloud/workflows/v1/BUILD.bazel | 382 + .../google/cloud/workflows/v1/workflows.proto | 316 + .../cloud/workflows/v1/workflows_gapic.yaml | 2 + .../v1/workflows_grpc_service_config.json | 24 + .../cloud/workflows/v1/workflows_v1.yaml | 66 + .../google/cloud/workflows/v1beta/BUILD.bazel | 352 + .../cloud/workflows/v1beta/workflows.proto | 314 + .../workflows/v1beta/workflows_gapic.yaml | 2 + .../v1beta/workflows_grpc_service_config.json | 24 + .../workflows/v1beta/workflows_v1beta.yaml | 66 + .../protos/google/container/BUILD.bazel | 40 + .../google/container/artman_container_v1.yaml | 34 - .../container/artman_container_v1beta1.yaml | 34 - .../protos/google/container/container_v1.yaml | 82 - .../google/container/container_v1beta1.yaml | 86 - .../protos/google/container/v1/BUILD.bazel | 299 +- .../google/container/v1/cluster_service.proto | 2886 +- .../google/container/v1/container_gapic.yaml | 521 +- .../v1/container_grpc_service_config.json | 143 + .../google/container/v1/container_v1.yaml | 36 + .../google/container/v1alpha1/BUILD.bazel | 178 + .../google/container/v1beta1/BUILD.bazel | 384 + .../container/v1beta1/cluster_service.proto | 3650 +- .../container/v1beta1/container_gapic.yaml | 548 +- .../container_grpc_service_config.json | 152 + .../container/v1beta1/container_v1beta1.yaml | 33 + .../protos/google/dataflow/BUILD.bazel | 41 + .../google/dataflow/v1beta3/BUILD.bazel | 402 + .../v1beta3/dataflow_grpc_service_config.json | 24 + .../dataflow/v1beta3/dataflow_v1beta3.yaml | 75 + .../google/dataflow/v1beta3/environment.proto | 554 + .../protos/google/dataflow/v1beta3/jobs.proto | 926 + .../google/dataflow/v1beta3/messages.proto | 238 + .../google/dataflow/v1beta3/metrics.proto | 369 + .../google/dataflow/v1beta3/snapshots.proto | 188 + .../google/dataflow/v1beta3/streaming.proto | 231 + .../google/dataflow/v1beta3/templates.proto | 632 + .../protos/google/datastore/BUILD.bazel | 2 +- .../protos/google/datastore/admin/BUILD.bazel | 1 + .../admin/artman_datastore_admin.yaml | 34 - .../datastore/admin/datastore_admin.yaml | 40 - .../google/datastore/admin/v1/BUILD.bazel | 383 + .../datastore/admin/v1/datastore_admin.proto | 138 +- .../admin/v1/datastore_admin_gapic.yaml | 130 +- .../datastore_admin_grpc_service_config.json | 48 + .../datastore/admin/v1/datastore_v1.yaml | 53 + .../google/datastore/admin/v1/index.proto | 59 +- .../google/datastore/admin/v1/migration.proto | 124 + .../admin/v1beta1/datastore_admin.proto | 1 + .../google/datastore/artman_datastore.yaml | 35 - .../protos/google/datastore/datastore.yaml | 20 - .../protos/google/datastore/v1/BUILD.bazel | 299 +- .../datastore/v1/aggregation_result.proto | 61 + .../google/datastore/v1/datastore.proto | 243 +- .../google/datastore/v1/datastore_gapic.yaml | 123 +- .../v1/datastore_grpc_service_config.json | 52 + .../google/datastore/v1/datastore_v1.yaml | 44 + .../protos/google/datastore/v1/entity.proto | 30 +- .../protos/google/datastore/v1/query.proto | 184 +- .../google/datastore/v1beta3/datastore.proto | 1 + .../google/datastore/v1beta3/entity.proto | 5 +- .../google/datastore/v1beta3/query.proto | 1 + .../devtools/artifactregistry/BUILD.bazel | 40 + .../devtools/artifactregistry/v1/BUILD.bazel | 409 + .../artifactregistry/v1/apt_artifact.proto | 116 + .../artifactregistry/v1/artifact.proto | 116 + .../artifactregistry_grpc_service_config.json | 12 + .../v1/artifactregistry_v1.yaml | 117 + .../devtools/artifactregistry/v1/file.proto | 123 + .../artifactregistry/v1/package.proto | 87 + .../artifactregistry/v1/repository.proto | 201 + .../artifactregistry/v1/service.proto | 321 + .../artifactregistry/v1/settings.proto | 84 + .../devtools/artifactregistry/v1/tag.proto | 118 + .../artifactregistry/v1/version.proto | 127 + .../artifactregistry/v1/yum_artifact.proto | 108 + .../artifactregistry/v1beta2/BUILD.bazel | 386 + .../v1beta2/apt_artifact.proto | 115 + .../artifactregistry_grpc_service_config.json | 107 + .../v1beta2/artifactregistry_v1beta2.yaml | 133 + .../artifactregistry/v1beta2/file.proto | 120 + .../artifactregistry/v1beta2/package.proto | 79 + .../artifactregistry/v1beta2/repository.proto | 201 + .../artifactregistry/v1beta2/service.proto | 304 + .../artifactregistry/v1beta2/settings.proto | 84 + .../artifactregistry/v1beta2/tag.proto | 118 + .../artifactregistry/v1beta2/version.proto | 127 + .../v1beta2/yum_artifact.proto | 107 + .../google/devtools/artman_clouddebugger.yaml | 36 - .../protos/google/devtools/build/BUILD.bazel | 1 + .../build/artman_buildeventservice.yaml | 34 - .../devtools/build/buildeventservice.yaml | 17 - .../google/devtools/build/v1/BUILD.bazel | 364 + .../devtools/build/v1/build_events.proto | 16 +- .../devtools/build/v1/build_status.proto | 14 +- .../build/v1/buildeventservice_gapic.yaml | 122 +- ...buildeventservice_grpc_service_config.json | 17 + .../build/v1/buildeventservice_v1.yaml | 21 + .../build/v1/publish_build_event.proto | 45 +- .../google/devtools/cloudbuild/BUILD.bazel | 40 + .../google/devtools/cloudbuild/README.md | 2 +- .../cloudbuild/artman_cloudbuild.yaml | 34 - .../devtools/cloudbuild/cloudbuild.yaml | 58 - .../google/devtools/cloudbuild/v1/BUILD.bazel | 359 + .../devtools/cloudbuild/v1/cloudbuild.proto | 1313 +- .../cloudbuild/v1/cloudbuild_gapic.yaml | 237 +- .../v1/cloudbuild_grpc_service_config.json | 20 + .../devtools/cloudbuild/v1/cloudbuild_v1.yaml | 36 +- .../google/devtools/clouddebugger/BUILD.bazel | 2 +- .../devtools/clouddebugger/v2/BUILD.bazel | 342 +- .../v2/clouddebugger_gapic.legacy.yaml | 156 - .../clouddebugger/v2/clouddebugger_gapic.yaml | 25 - .../clouddebugger/v2/controller.proto | 2 +- .../devtools/clouddebugger/v2/data.proto | 2 +- .../devtools/clouddebugger/v2/debugger.proto | 1 + .../devtools/clouderrorreporting/BUILD.bazel | 2 +- .../artman_errorreporting.yaml | 34 - .../clouderrorreporting/errorreporting.yaml | 24 - .../clouderrorreporting/v1beta1/BUILD.bazel | 286 +- .../v1beta1/clouderrorreporting_v1beta1.yaml | 169 + .../clouderrorreporting/v1beta1/common.proto | 55 +- .../v1beta1/error_group_service.proto | 35 +- .../v1beta1/error_stats_service.proto | 219 +- .../v1beta1/errorreporting_gapic.yaml | 223 - .../errorreporting_grpc_service_config.json | 32 + .../v1beta1/report_errors_service.proto | 100 +- .../google/devtools/cloudprofiler/BUILD.bazel | 40 + .../devtools/cloudprofiler/cloudprofiler.yaml | 31 - .../devtools/cloudprofiler/v2/BUILD.bazel | 369 + .../v2/cloudprofiler_grpc_service_config.json | 37 + .../cloudprofiler/v2/cloudprofiler_v2.yaml | 31 + .../devtools/cloudprofiler/v2/profiler.proto | 16 +- .../google/devtools/cloudtrace/BUILD.bazel | 2 +- .../cloudtrace/artman_cloudtrace_v1.yaml | 34 - .../cloudtrace/artman_cloudtrace_v2.yaml | 34 - .../devtools/cloudtrace/cloudtrace_v1.yaml | 37 - .../devtools/cloudtrace/cloudtrace_v2.yaml | 28 - .../google/devtools/cloudtrace/v1/BUILD.bazel | 341 +- .../cloudtrace/v1/cloudtrace_gapic.yaml | 81 +- .../v1/cloudtrace_grpc_service_config.json | 30 + .../devtools/cloudtrace/v1/cloudtrace_v1.yaml | 38 + .../google/devtools/cloudtrace/v1/trace.proto | 69 +- .../google/devtools/cloudtrace/v2/BUILD.bazel | 325 +- .../cloudtrace/v2/cloudtrace_gapic.yaml | 138 +- .../v2/cloudtrace_grpc_service_config.json | 31 + .../devtools/cloudtrace/v2/cloudtrace_v2.yaml | 35 + .../google/devtools/cloudtrace/v2/trace.proto | 92 +- .../devtools/cloudtrace/v2/tracing.proto | 26 +- .../devtools/containeranalysis/BUILD.bazel | 42 +- .../artman_containeranalysis.yaml | 36 - .../artman_containeranalysis_v1.yaml | 56 - .../artman_containeranalysis_v1beta1.yaml | 56 - .../containeranalysis/containeranalysis.yaml | 25 - .../containeranalysis_v1beta1.yaml | 68 - .../devtools/containeranalysis/v1/BUILD.bazel | 407 + .../v1/containeranalysis.proto | 61 +- .../v1/containeranalysis_gapic.yaml | 177 +- ...containeranalysis_grpc_service_config.json | 21 + .../{ => v1}/containeranalysis_v1.yaml | 0 .../v1alpha1/bill_of_materials.proto | 102 - .../v1alpha1/containeranalysis.proto | 994 - .../v1alpha1/containeranalysis_gapic.yaml | 336 - .../v1alpha1/image_basis.proto | 147 - .../v1alpha1/package_vulnerability.proto | 181 - .../v1alpha1/provenance.proto | 223 - .../v1alpha1/source_context.proto | 140 - .../containeranalysis/v1beta1/BUILD.bazel | 73 +- .../v1beta1/attestation/BUILD.bazel | 11 +- .../v1beta1/attestation/attestation.proto | 78 +- .../v1beta1/build/BUILD.bazel | 2 + .../v1beta1/build/build.proto | 28 +- .../v1beta1/common/BUILD.bazel | 3 +- .../v1beta1/common/common.proto | 51 + .../v1beta1/containeranalysis.proto | 69 +- .../v1beta1/containeranalysis_gapic.yaml | 593 +- ...containeranalysis_grpc_service_config.json | 128 + .../v1beta1/containeranalysis_v1beta1.yaml | 33 + .../v1beta1/cvss/BUILD.bazel | 55 + .../containeranalysis/v1beta1/cvss/cvss.proto | 85 + .../v1beta1/deployment/BUILD.bazel | 3 +- .../v1beta1/deployment/deployment.proto | 6 +- .../v1beta1/discovery/BUILD.bazel | 3 +- .../v1beta1/discovery/discovery.proto | 5 +- .../v1beta1/grafeas/BUILD.bazel | 3 + .../v1beta1/grafeas/grafeas.proto | 12 +- .../v1beta1/image/BUILD.bazel | 2 + .../v1beta1/image/image.proto | 51 +- .../v1beta1/package/BUILD.bazel | 2 + .../v1beta1/package/package.proto | 34 +- .../v1beta1/provenance/BUILD.bazel | 2 + .../v1beta1/provenance/provenance.proto | 16 +- .../v1beta1/source/BUILD.bazel | 2 + .../v1beta1/vulnerability/BUILD.bazel | 5 + .../v1beta1/vulnerability/vulnerability.proto | 84 +- .../remoteworkers/v1test2/BUILD.bazel | 351 + .../v1test2/artman_remoteworkers.yaml | 34 - .../devtools/remoteworkers/v1test2/bots.proto | 13 +- .../remoteworkers/v1test2/command.proto | 4 +- .../remoteworkers/v1test2/remote_workers.yaml | 18 - .../remoteworkers/v1test2/remoteworkers.yaml | 18 - .../v1test2/remoteworkers_gapic.yaml | 267 +- .../remoteworkers_grpc_service_config.json | 21 + .../v1test2/remoteworkers_v1beta2.yaml | 17 + .../remoteworkers/v1test2/tasks.proto | 192 - .../remoteworkers/v1test2/worker.proto | 1 + .../devtools/resultstore/v2/BUILD.bazel | 209 + .../devtools/resultstore/v2/action.proto | 16 +- .../devtools/resultstore/v2/common.proto | 4 +- .../resultstore/v2/configuration.proto | 14 +- .../resultstore/v2/configured_target.proto | 10 +- .../devtools/resultstore/v2/coverage.proto | 8 +- .../resultstore/v2/coverage_summary.proto | 4 +- .../resultstore/v2/download_metadata.proto | 10 +- .../google/devtools/resultstore/v2/file.proto | 52 +- .../v2/file_processing_error.proto | 4 +- .../devtools/resultstore/v2/file_set.proto | 19 +- .../devtools/resultstore/v2/invocation.proto | 28 +- .../resultstore/v2/resultstore_download.proto | 410 +- .../v2/resultstore_file_download.proto | 4 +- .../resultstore/v2/resultstore_upload.proto | 202 +- .../devtools/resultstore/v2/target.proto | 10 +- .../devtools/resultstore/v2/test_suite.proto | 4 +- .../resultstore/v2/upload_metadata.proto | 11 +- .../google/devtools/source/v1/BUILD.bazel | 154 +- .../devtools/source/v1/source_context.proto | 2 - .../google/devtools/testing/v1/BUILD.bazel | 382 + .../testing/v1/application_details.proto | 97 + .../v1/test_environment_discovery.proto | 478 + .../devtools/testing/v1/test_execution.proto | 1268 + .../v1/testing_grpc_service_config.json | 18 + .../devtools/testing/v1/testing_v1.yaml | 39 + .../google/example/endpointsapis/BUILD.bazel | 1 + .../google/example/endpointsapis/README.md | 161 + .../example/endpointsapis/endpointsapis.yaml | 88 + .../example/endpointsapis/goapp/app.yaml | 1 + .../example/endpointsapis/goapp/main.go | 197 + .../google/example/endpointsapis/prod.yaml | 2 + .../google/example/endpointsapis/staging.yaml | 2 + .../example/endpointsapis/v1/workspace.proto | 119 + .../library/artman_library_example_v1.yaml | 35 - .../google/example/library/v1/BUILD.bazel | 289 +- .../google/example/library/v1/library.proto | 75 +- .../library/v1/library_example_gapic.yaml | 250 +- .../v1/library_grpc_service_config.json | 75 + .../protos/google/firestore/BUILD.bazel | 2 +- .../protos/google/firestore/admin/BUILD.bazel | 1 + .../firestore/admin/artman_firestore_v1.yaml | 34 - .../firestore/admin/firestore_admin_v1.yaml | 48 - .../google/firestore/admin/v1/BUILD.bazel | 408 + .../google/firestore/admin/v1/database.proto | 129 + .../google/firestore/admin/v1/field.proto | 53 +- .../firestore/admin/v1/firestore_admin.proto | 234 +- .../firestore_admin_grpc_service_config.json | 61 + .../firestore/admin/v1/firestore_gapic.yaml | 196 +- .../firestore/admin/v1/firestore_v1.yaml | 75 + .../google/firestore/admin/v1/index.proto | 47 +- .../google/firestore/admin/v1/location.proto | 7 +- .../google/firestore/admin/v1/operation.proto | 26 +- .../google/firestore/artman_firestore.yaml | 34 - .../google/firestore/artman_firestore_v1.yaml | 34 - .../google/firestore/bundle/BUILD.bazel | 120 + .../google/firestore/bundle/bundle.proto | 120 + .../protos/google/firestore/firestore_v1.yaml | 15 - .../google/firestore/firestore_v1beta1.yaml | 15 - .../protos/google/firestore/v1/BUILD.bazel | 407 + .../firestore/v1/aggregation_result.proto | 42 + .../protos/google/firestore/v1/common.proto | 7 +- .../protos/google/firestore/v1/document.proto | 5 +- .../google/firestore/v1/firestore.proto | 387 +- .../google/firestore/v1/firestore_gapic.yaml | 228 +- .../v1/firestore_grpc_service_config.json | 155 + .../google/firestore/v1/firestore_v1.yaml | 66 + .../protos/google/firestore/v1/query.proto | 293 +- .../protos/google/firestore/v1/write.proto | 18 +- .../google/firestore/v1beta1/BUILD.bazel | 250 +- .../google/firestore/v1beta1/common.proto | 5 +- .../google/firestore/v1beta1/document.proto | 5 +- .../google/firestore/v1beta1/firestore.proto | 272 +- .../firestore/v1beta1/firestore_gapic.yaml | 224 +- .../firestore_grpc_service_config.json | 111 + .../firestore/v1beta1/firestore_v1beta1.yaml | 52 + .../google/firestore/v1beta1/query.proto | 99 +- .../google/firestore/v1beta1/write.proto | 18 +- .../protos/google/geo/type/BUILD.bazel | 32 +- .../google/home/enterprise/sdm/v1/BUILD.bazel | 346 + .../home/enterprise/sdm/v1/device.proto | 66 + .../google/home/enterprise/sdm/v1/site.proto | 60 + ...device_management_grpc_service_config.json | 49 + .../v1/smart_device_management_service.proto | 213 + .../sdm/v1/smartdevicemanagement_gapic.yaml | 2 + .../sdm/v1/smartdevicemanagement_v1.yaml | 19 + .../protos/google/home/graph/BUILD.bazel | 1 + .../google/home/graph/artman_homegraph.yaml | 33 - .../protos/google/home/graph/base.yaml | 20 - .../protos/google/home/graph/v1/BUILD.bazel | 334 + .../protos/google/home/graph/v1/device.proto | 70 +- .../google/home/graph/v1/homegraph.proto | 327 +- .../google/home/graph/v1/homegraph_gapic.yaml | 169 +- .../v1/homegraph_grpc_service_config.json | 44 + .../google/home/graph/v1/homegraph_v1.yaml | 12 + google-cloud/protos/google/iam/BUILD.bazel | 40 +- .../protos/google/iam/admin/v1/BUILD.bazel | 360 +- .../google/iam/admin/v1/audit_data.proto | 42 + .../protos/google/iam/admin/v1/iam.proto | 1291 +- .../protos/google/iam/admin/v1/iam.yaml | 36 + .../protos/google/iam/admin/v1/iam_gapic.yaml | 246 +- .../iam/admin/v1/iam_grpc_service_config.json | 84 + .../protos/google/iam/artman_iam.yaml | 16 - .../protos/google/iam/artman_iam_admin.yaml | 15 - .../google/iam/artman_iam_meta_api.yaml | 34 - .../protos/google/iam/credentials/BUILD.bazel | 41 +- .../credentials/artman_iamcredentials_v1.yaml | 34 - .../iam/credentials/iamcredentials_v1.yaml | 17 - .../google/iam/credentials/v1/BUILD.bazel | 334 +- .../google/iam/credentials/v1/common.proto | 86 +- .../iam/credentials/v1/iamcredentials.proto | 18 +- .../credentials/v1/iamcredentials_gapic.yaml | 133 - .../iamcredentials_grpc_service_config.json | 35 + .../iam/credentials/v1/iamcredentials_v1.yaml | 17 + google-cloud/protos/google/iam/iam.yaml | 21 - .../protos/google/iam/iam_meta_api.yaml | 85 - google-cloud/protos/google/iam/v1/BUILD.bazel | 177 +- .../protos/google/iam/v1/iam_gapic.yaml | 28 - .../protos/google/iam/v1/iam_meta_api.yaml | 47 +- .../google/iam/v1/iam_meta_api_gapic.yaml | 132 - .../protos/google/iam/v1/iam_policy.proto | 26 +- .../protos/google/iam/v1/logging/BUILD.bazel | 53 +- .../google/iam/v1/logging/audit_data.proto | 1 - .../protos/google/iam/v1/options.proto | 23 +- .../protos/google/iam/v1/policy.proto | 243 +- .../protos/google/iam/v1beta/BUILD.bazel | 356 + .../protos/google/iam/v1beta/iam_gapic.yaml | 6 + .../iam/v1beta/iam_grpc_service_config.json | 67 + .../protos/google/iam/v1beta/iam_v1beta.yaml | 50 + .../iam/v1beta/workload_identity_pool.proto | 640 + google-cloud/protos/google/iam/v2/BUILD.bazel | 399 + google-cloud/protos/google/iam/v2/deny.proto | 109 + .../iam/v2/iam_grpc_service_config.json | 38 + google-cloud/protos/google/iam/v2/iam_v2.yaml | 33 + .../protos/google/iam/v2/policy.proto | 287 + .../protos/google/iam/v2beta/BUILD.bazel | 384 + .../protos/google/iam/v2beta/deny.proto | 109 + .../iam/v2beta/iam_grpc_service_config.json | 42 + .../protos/google/iam/v2beta/iam_v2beta.yaml | 33 + .../protos/google/iam/v2beta/policy.proto | 283 + .../identity/accesscontextmanager/BUILD.bazel | 39 + .../accesscontextmanager/type/BUILD.bazel | 199 + .../type/device_resources.proto | 83 + .../accesscontextmanager/v1/BUILD.bazel | 440 + .../v1/access_context_manager.proto | 942 + .../v1/access_level.proto | 192 + .../v1/access_policy.proto | 65 + ...esscontextmanager_grpc_service_config.json | 12 + .../v1/accesscontextmanager_v1.yaml | 42 + .../v1/gcp_user_access_binding.proto | 68 + .../v1/service_perimeter.proto | 464 + .../protos/google/logging/BUILD.bazel | 2 +- .../protos/google/logging/artman_logging.yaml | 35 - .../protos/google/logging/logging.yaml | 100 - .../protos/google/logging/type/BUILD.bazel | 194 +- .../google/logging/type/http_request.proto | 11 +- .../google/logging/type/log_severity.proto | 7 +- .../protos/google/logging/v2/BUILD.bazel | 309 +- .../protos/google/logging/v2/log_entry.proto | 172 +- .../protos/google/logging/v2/logging.proto | 274 +- .../protos/google/logging/v2/logging.yaml | 108 - .../google/logging/v2/logging_config.proto | 1567 +- .../google/logging/v2/logging_gapic.yaml | 550 +- .../v2/logging_grpc_service_config.json | 162 + .../google/logging/v2/logging_metrics.proto | 122 +- .../protos/google/logging/v2/logging_v2.yaml | 202 + .../protos/google/longrunning/BUILD.bazel | 135 +- .../longrunning/artman_longrunning.yaml | 31 - .../google/longrunning/longrunning.yaml | 62 +- .../google/longrunning/longrunning_gapic.yaml | 48 +- .../longrunning_grpc_service_config.json | 34 + .../google/longrunning/operations.proto | 18 +- google-cloud/protos/google/maps/BUILD.bazel | 11 + .../maps/addressvalidation/v1/BUILD.bazel | 378 + .../maps/addressvalidation/v1/address.proto | 145 + .../v1/address_validation_service.proto | 275 + ...addressvalidation_grpc_service_config.json | 15 + .../v1/addressvalidation_v1.yaml | 15 + .../maps/addressvalidation/v1/geocode.proto | 81 + .../maps/addressvalidation/v1/metadata.proto | 56 + .../maps/addressvalidation/v1/usps_data.proto | 218 + .../maps/fleetengine/delivery/v1/BUILD.bazel | 370 + .../maps/fleetengine/delivery/v1/common.proto | 178 + .../delivery/v1/delivery_api.proto | 548 + .../delivery/v1/delivery_vehicles.proto | 234 + .../fleetengine/delivery/v1/fleetengine.yaml | 39 + .../maps/fleetengine/delivery/v1/header.proto | 103 + .../maps/fleetengine/delivery/v1/tasks.proto | 210 + .../google/maps/fleetengine/v1/BUILD.bazel | 361 + .../maps/fleetengine/v1/fleetengine.proto | 293 + .../maps/fleetengine/v1/fleetengine.yaml | 22 + .../v1/fleetengine_grpc_service_config.json | 47 + .../google/maps/fleetengine/v1/header.proto | 103 + .../google/maps/fleetengine/v1/traffic.proto | 67 + .../google/maps/fleetengine/v1/trip_api.proto | 370 + .../google/maps/fleetengine/v1/trips.proto | 310 + .../maps/fleetengine/v1/vehicle_api.proto | 779 + .../google/maps/fleetengine/v1/vehicles.proto | 335 + .../mapsplatformdatasets/v1alpha/BUILD.bazel | 377 + .../v1alpha/data_source.proto | 64 + .../v1alpha/dataset.proto | 110 + .../v1alpha/maps_platform_datasets.proto | 167 + ...maps_platform_datasets_alpha_service.proto | 97 + ...splatformdatasets_grpc_service_config.json | 53 + .../v1alpha/mapsplatformdatasets_v1alpha.yaml | 22 + .../maps/playablelocations/v3/BUILD.bazel | 309 + .../v3/playablelocations.proto | 186 + .../v3/playablelocations_gapic.yaml | 2 + ...playablelocations_grpc_service_config.json | 14 + .../v3/playablelocations_v3.yaml | 12 + .../maps/playablelocations/v3/resources.proto | 106 + .../playablelocations/v3/sample/BUILD.bazel | 134 + .../v3/sample/resources.proto | 206 + .../protos/google/maps/postprocessing.bzl | 58 + .../protos/google/maps/postprocessing_java.sh | 49 + .../protos/google/maps/postprocessing_py.sh | 43 + .../google/maps/postprocessing_python.sh | 50 + .../maps/regionlookup/v1alpha/BUILD.bazel | 373 + .../v1alpha/region_identifier.proto | 161 + .../v1alpha/region_lookup_service.proto | 149 + .../regionlookup/v1alpha/region_match.proto | 41 + .../v1alpha/region_search_values.proto | 131 + .../regionlookup_grpc_service_config.json | 24 + .../v1alpha/regionlookup_v1alpha.yaml | 10 + .../protos/google/maps/roads/v1op/BUILD.bazel | 375 + .../protos/google/maps/roads/v1op/roads.proto | 118 + .../google/maps/roads/v1op/roads_gapic.yaml | 2 + .../roads/v1op/roads_grpc_service_config.json | 14 + .../google/maps/roads/v1op/roads_v1op.yaml | 12 + .../protos/google/maps/routes/v1/BUILD.bazel | 226 + .../v1/compute_custom_routes_request.proto | 141 + .../v1/compute_custom_routes_response.proto | 86 + .../v1/compute_route_matrix_request.proto | 81 + .../routes/v1/compute_routes_request.proto | 204 + .../routes/v1/compute_routes_response.proto | 45 + .../google/maps/routes/v1/custom_route.proto | 43 + .../google/maps/routes/v1/fallback_info.proto | 71 + .../google/maps/routes/v1/polyline.proto | 73 + .../protos/google/maps/routes/v1/route.proto | 386 + .../maps/routes/v1/route_matrix_element.proto | 86 + .../google/maps/routes/v1/route_service.proto | 166 + .../routes/v1/routes_grpc_service_config.json | 8 + .../maps/routes/v1/routespreferred.yaml | 19 + .../google/maps/routes/v1/toll_passes.proto | 303 + .../routes/v1/vehicle_emission_type.proto | 42 + .../google/maps/routes/v1/waypoint.proto | 83 + .../google/maps/routes/v1alpha/BUILD.bazel | 166 + .../maps/routes/v1alpha/route_service.proto | 165 + .../v1alpha/routespreferred_v1alpha.yaml | 7 + .../maps/routespreferred/v1/BUILD.bazel | 112 + .../v1/routespreferred_gapic.yaml | 7 + .../routespreferred_grpc_service_config.json | 14 + .../v1/routespreferred_v1.yaml | 7 + .../protos/google/maps/routing/v2/BUILD.bazel | 408 + .../maps/routing/v2/fallback_info.proto | 72 + .../v2/library_grpc_service_config.json | 16 + .../google/maps/routing/v2/location.proto | 43 + .../google/maps/routing/v2/maneuver.proto | 88 + .../routing/v2/navigation_instruction.proto | 40 + .../google/maps/routing/v2/polyline.proto | 74 + .../protos/google/maps/routing/v2/route.proto | 208 + .../maps/routing/v2/route_modifiers.proto | 64 + .../maps/routing/v2/route_travel_mode.proto | 46 + .../maps/routing/v2/routes_service.proto | 311 + .../google/maps/routing/v2/routes_v2.yaml | 10 + .../maps/routing/v2/routing_preference.proto | 55 + .../routing/v2/speed_reading_interval.proto | 57 + .../google/maps/routing/v2/toll_info.proto | 40 + .../google/maps/routing/v2/toll_passes.proto | 321 + .../protos/google/maps/routing/v2/units.proto | 40 + .../routing/v2/vehicle_emission_type.proto | 43 + .../google/maps/routing/v2/vehicle_info.proto | 37 + .../google/maps/routing/v2/waypoint.proto | 71 + .../protos/google/maps/unity/BUILD.bazel | 129 + .../protos/google/maps/unity/clientinfo.proto | 87 + .../protos/google/monitoring/BUILD.bazel | 42 +- .../google/monitoring/artman_monitoring.yaml | 36 - .../google/monitoring/dashboard/BUILD.bazel | 40 + .../monitoring/dashboard/v1/BUILD.bazel | 406 + .../monitoring/dashboard/v1/alertchart.proto | 41 + .../dashboard/v1/collapsible_group.proto | 32 + .../monitoring/dashboard/v1/common.proto | 452 + .../monitoring/dashboard/v1/dashboard.proto | 79 + .../dashboard/v1/dashboard_filter.proto | 68 + .../v1/dashboards_grpc_service_config.json | 21 + .../dashboard/v1/dashboards_service.proto | 185 + .../monitoring/dashboard/v1/drilldowns.proto | 25 + .../monitoring/dashboard/v1/layouts.proto | 112 + .../monitoring/dashboard/v1/logs_panel.proto | 38 + .../monitoring/dashboard/v1/metrics.proto | 195 + .../monitoring/dashboard/v1/monitoring.yaml | 31 + .../dashboard/v1/monitoring_gapic.yaml | 5 + .../monitoring/dashboard/v1/scorecard.proto | 113 + .../monitoring/dashboard/v1/service.proto | 25 + .../monitoring/dashboard/v1/table.proto | 59 + .../dashboard/v1/table_display_options.proto | 37 + .../google/monitoring/dashboard/v1/text.proto | 46 + .../monitoring/dashboard/v1/widget.proto | 70 + .../monitoring/dashboard/v1/xychart.proto | 166 + .../monitoring/metricsscope/BUILD.bazel | 40 + .../monitoring/metricsscope/v1/BUILD.bazel | 382 + .../metricsscope/v1/metrics_scope.proto | 77 + .../metricsscope/v1/metrics_scopes.proto | 183 + .../v1/metricsscopes_grpc_service_config.json | 23 + .../metricsscope/v1/monitoring.yaml | 52 + .../metricsscope/v1/monitoring_gapic.yaml | 17 + .../protos/google/monitoring/monitoring.yaml | 159 - .../protos/google/monitoring/v3/BUILD.bazel | 265 +- .../protos/google/monitoring/v3/alert.proto | 235 +- .../google/monitoring/v3/alert_service.proto | 98 +- .../monitoring/v3/artman_monitoring.yaml | 34 - .../protos/google/monitoring/v3/common.proto | 502 +- .../google/monitoring/v3/dropped_labels.proto | 25 +- .../protos/google/monitoring/v3/group.proto | 30 +- .../google/monitoring/v3/group_service.proto | 142 +- .../protos/google/monitoring/v3/metric.proto | 171 +- .../google/monitoring/v3/metric_service.proto | 361 +- .../google/monitoring/v3/monitoring.yaml | 67 +- .../monitoring/v3/monitoring_gapic.yaml | 1042 +- .../v3/monitoring_grpc_service_config.json | 326 + .../monitoring/v3/mutation_record.proto | 4 +- .../google/monitoring/v3/notification.proto | 45 +- .../monitoring/v3/notification_service.proto | 154 +- .../google/monitoring/v3/query_service.proto | 48 + .../protos/google/monitoring/v3/service.proto | 457 + .../monitoring/v3/service_service.proto | 352 + .../google/monitoring/v3/span_context.proto | 20 +- .../protos/google/monitoring/v3/uptime.proto | 174 +- .../google/monitoring/v3/uptime_service.proto | 94 +- .../trafficdirector/type/BUILD.bazel | 173 + .../type/traffic_director_log_entry.proto | 101 + .../partner/aistreams/v1alpha1/BUILD.bazel | 368 + .../aistreams/v1alpha1/aistreams.proto | 507 + .../aistreams/v1alpha1/aistreams_gapic.yaml | 2 + .../aistreams_grpc_service_config.json | 38 + .../v1alpha1/aistreams_v1alpha1.yaml | 87 + .../protos/google/privacy/dlp/BUILD.bazel | 42 +- .../google/privacy/dlp/artman_dlp_v2.yaml | 34 - .../protos/google/privacy/dlp/v2/BUILD.bazel | 276 +- .../protos/google/privacy/dlp/v2/dlp.proto | 2995 +- .../google/privacy/dlp/v2/dlp_gapic.yaml | 539 +- .../dlp/v2/dlp_grpc_service_config.json | 160 + .../google/privacy/dlp/{ => v2}/dlp_v2.yaml | 5 + .../google/privacy/dlp/v2/storage.proto | 307 +- .../protos/google/pubsub/artman_pubsub.yaml | 46 - google-cloud/protos/google/pubsub/pubsub.yaml | 67 - .../protos/google/pubsub/v1/BUILD.bazel | 166 +- .../protos/google/pubsub/v1/pubsub.proto | 795 +- .../protos/google/pubsub/v1/pubsub_gapic.yaml | 683 +- .../pubsub/v1/pubsub_grpc_service_config.json | 226 + .../protos/google/pubsub/v1/pubsub_v1.yaml | 99 + .../protos/google/pubsub/v1/schema.proto | 288 + google-cloud/protos/google/rpc/BUILD.bazel | 23 +- google-cloud/protos/google/rpc/code.proto | 7 +- .../protos/google/rpc/context/BUILD.bazel | 142 + .../rpc/context/attribute_context.proto | 343 + .../protos/google/rpc/error_details.proto | 65 +- .../protos/google/rpc/rpc_publish.yaml | 2 +- google-cloud/protos/google/rpc/status.proto | 63 +- .../logging/v1/BUILD.bazel | 155 + .../logging/v1/platformlog.proto | 32 + .../protos/google/spanner/BUILD.bazel | 2 +- .../google/spanner/admin/database/BUILD.bazel | 2 +- .../artman_spanner_admin_database.yaml | 36 - .../database/spanner_admin_database.yaml | 41 - .../spanner/admin/database/v1/BUILD.bazel | 347 +- .../spanner/admin/database/v1/backup.proto | 609 + .../spanner/admin/database/v1/common.proto | 112 + .../spanner/admin/database/v1/spanner.yaml | 68 + .../v1/spanner_admin_database_gapic.yaml | 213 +- ...er_admin_database_grpc_service_config.json | 118 + .../database/v1/spanner_database_admin.proto | 759 +- .../google/spanner/admin/instance/BUILD.bazel | 2 +- .../artman_spanner_admin_instance.yaml | 36 - .../spanner/admin/instance/v1/BUILD.bazel | 330 +- .../spanner/admin/instance/v1/common.proto | 42 + .../{ => v1}/spanner_admin_instance.yaml | 0 .../v1/spanner_admin_instance_gapic.yaml | 224 +- ...er_admin_instance_grpc_service_config.json | 82 + .../instance/v1/spanner_instance_admin.proto | 647 +- .../protos/google/spanner/artman_spanner.yaml | 42 - .../protos/google/spanner/spanner.yaml | 56 - .../protos/google/spanner/v1/BUILD.bazel | 278 +- .../google/spanner/v1/commit_response.proto | 50 + .../protos/google/spanner/v1/keys.proto | 8 +- .../protos/google/spanner/v1/mutation.proto | 64 +- .../protos/google/spanner/v1/query_plan.proto | 75 +- .../protos/google/spanner/v1/result_set.proto | 58 +- .../protos/google/spanner/v1/spanner.proto | 673 +- .../protos/google/spanner/v1/spanner.yaml | 59 + .../google/spanner/v1/spanner_gapic.yaml | 305 +- .../v1/spanner_grpc_service_config.json | 108 + .../google/spanner/v1/transaction.proto | 142 +- .../protos/google/spanner/v1/type.proto | 83 +- .../protos/google/storage/v1/BUILD.bazel | 187 + .../protos/google/storage/v1/storage.proto | 1605 + .../google/storage/v1/storage_resources.proto | 952 + .../protos/google/storage/v2/BUILD.bazel | 382 + .../protos/google/storage/v2/storage.proto | 2400 + .../v2/storage_grpc_service_config.json | 15 + .../protos/google/storage/v2/storage_v2.yaml | 35 + .../protos/google/storagetransfer/BUILD.bazel | 39 + .../storagetransfer/logging/BUILD.bazel | 179 + .../logging/transfer_activity_log.proto | 282 + .../google/storagetransfer/v1/BUILD.bazel | 395 + .../storagetransfer_grpc_service_config.json | 21 + .../v1/storagetransfer_v1.yaml | 79 + .../google/storagetransfer/v1/transfer.proto | 305 +- .../storagetransfer/v1/transfer_types.proto | 1084 +- .../google/streetview/publish/BUILD.bazel | 1 + .../publish/artman_streetview_publish.yaml | 27 - .../publish/streetview_publish_gapic.yaml | 140 - .../google/streetview/publish/v1/BUILD.bazel | 394 + .../streetview/publish/v1/resources.proto | 428 +- .../streetview/publish/v1/rpcmessages.proto | 212 +- .../publish/v1/streetview_publish.proto | 186 +- .../publish/{ => v1}/streetview_publish.yaml | 0 .../publish/v1/streetview_publish_gapic.yaml | 5 + ...treetview_publish_grpc_service_config.json | 63 + .../publish/v1/streetviewpublish.yaml | 29 + google-cloud/protos/google/type/BUILD.bazel | 321 +- .../protos/google/type/calendar_period.proto | 4 +- google-cloud/protos/google/type/color.proto | 31 +- google-cloud/protos/google/type/date.proto | 29 +- .../protos/google/type/datetime.proto | 104 + .../protos/google/type/dayofweek.proto | 22 +- google-cloud/protos/google/type/decimal.proto | 95 + google-cloud/protos/google/type/expr.proto | 51 +- .../protos/google/type/fraction.proto | 6 +- .../protos/google/type/interval.proto | 46 + google-cloud/protos/google/type/latlng.proto | 8 +- .../protos/google/type/localized_text.proto | 36 + google-cloud/protos/google/type/money.proto | 6 +- google-cloud/protos/google/type/month.proto | 65 + .../protos/google/type/phone_number.proto | 113 + .../protos/google/type/postal_address.proto | 7 +- .../protos/google/type/quaternion.proto | 37 +- .../protos/google/type/timeofday.proto | 7 +- google-cloud/protos/google/type/type.yaml | 45 +- google-cloud/src/authorize/mod.rs | 8 +- google-cloud/src/datastore/api/google.api.rs | 269 +- .../src/datastore/api/google.datastore.v1.rs | 1029 +- .../src/datastore/api/google.protobuf.rs | 1 - .../src/datastore/api/google.r#type.rs | 8 +- google-cloud/src/datastore/client.rs | 47 +- google-cloud/src/datastore/query.rs | 26 +- google-cloud/src/datastore/transaction.rs | 8 +- google-cloud/src/pubsub/api/google.api.rs | 241 + .../src/pubsub/api/google.pubsub.v1.rs | 912 +- google-cloud/src/vision/api/google.api.rs | 147 +- .../src/vision/api/google.cloud.vision.v1.rs | 65 +- .../src/vision/api/google.longrunning.rs | 8 +- google-cloud/src/vision/api/google.r#type.rs | 31 +- google-cloud/src/vision/api/google.rpc.rs | 60 +- 7257 files changed, 950866 insertions(+), 161663 deletions(-) create mode 100644 google-cloud/protos/google/actions/sdk/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/account_linking.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/account_linking_secret.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/action.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/actions_grpc_service_config.json create mode 100644 google-cloud/protos/google/actions/sdk/v2/actions_sdk.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/actions_testing.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/actions_v2.yaml create mode 100644 google-cloud/protos/google/actions/sdk/v2/config_file.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/intent.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/canvas.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/card.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/collection.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/content.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/image.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/link.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/list.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/media.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/table.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/simple.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/prompt/suggestion.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/conversation/scene.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/data_file.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/event_logs.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/files.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/conditional_event.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/entity_set.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/event_handler.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/global_intent_event.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent_event.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/scene.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/slot.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/class_reference.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/entity_display.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/free_text_type.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/synonym_type.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/type.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/localized_settings.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/manifest.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/release_channel.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/settings.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/surface.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/theme_customization.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/validation_results.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/version.proto create mode 100644 google-cloud/protos/google/actions/sdk/v2/webhook.proto create mode 100644 google-cloud/protos/google/actions/type/BUILD.bazel create mode 100644 google-cloud/protos/google/actions/type/date_range.proto create mode 100644 google-cloud/protos/google/actions/type/datetime_range.proto create mode 100644 google-cloud/protos/google/actions/type/type_aog.yaml create mode 100644 google-cloud/protos/google/ads/admob/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/admob/admob_grpc_service_config.json create mode 100644 google-cloud/protos/google/ads/admob/admob_v1.yaml create mode 100644 google-cloud/protos/google/ads/admob/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/admob/v1/admob_api.proto create mode 100644 google-cloud/protos/google/ads/admob/v1/admob_gapic.yaml create mode 100644 google-cloud/protos/google/ads/admob/v1/admob_resources.proto delete mode 100644 google-cloud/protos/google/ads/googleads/base.yaml delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/ad_asset.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/ad_type_infos.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/asset_types.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/bidding.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/click_location.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/criteria.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/criterion_category_availability.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/custom_parameter.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/dates.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/extensions.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/feed_common.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/final_app_url.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/frequency_cap.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/keyword_plan_common.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/matching_function.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/metrics.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/policy.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/real_time_bidding_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/segments.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/tag_snippet.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/targeting_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/text_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/url_collection.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/user_lists.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/common/value.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/access_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/account_budget_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_customizer_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_group_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_network_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_serving_optimization_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_strength.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/ad_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_sub_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/age_range_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_payment_model_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/app_url_operating_system_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/asset_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/attribution_model.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/bid_modifier_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/bidding_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/billing_setup_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/brand_safety_suitability.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/budget_delivery_method.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/budget_period.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/budget_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/budget_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/call_conversion_reporting_state.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/call_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/callout_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_criterion_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_draft_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_traffic_split_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_serving_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_shared_set_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/campaign_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/change_status_operation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/change_status_resource_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/click_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/content_label_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_counting_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_adjustment_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_attribution_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_lag_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/conversion_or_adjustment_lag_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_channel_availability_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_locale_availability_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/criterion_system_serving_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/criterion_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_member_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/custom_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/customer_match_upload_key_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/customer_pay_per_conversion_eligibility_failure_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/data_driven_model_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/day_of_week.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/display_ad_format_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/display_upload_product_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/education_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/extension_setting_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/extension_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/external_conversion_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_attribute_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_item_validation_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_origin.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/feed_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/flight_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_time_unit.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/gender_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/geo_target_constant_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_restriction.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_data_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/hotel_date_selection_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/hotel_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/hotel_rate_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/income_range_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/interaction_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/interaction_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/job_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/keyword_match_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_competition_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_forecast_interval.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_network.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/label_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/legacy_app_install_ad_app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/listing_custom_attribute_index.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/listing_group_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/local_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/location_group_radius_units.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/location_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/manager_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/matching_function_context_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/matching_function_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/media_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/merchant_center_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/message_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/mime_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/minute_of_hour.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/mobile_device_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/month_of_year.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/mutate_job_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/negative_geo_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/operating_system_version_operator_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/parental_status_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/payment_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/placeholder_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/placement_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/policy_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/policy_review_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_entry_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_not_working_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/positive_geo_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/preferred_content_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_qualifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_unit.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/price_extension_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/price_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_channel.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_channel_exclusivity.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_condition.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/product_type_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_discount_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_occasion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/promotion_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/proximity_radius_units.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/quality_score_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/real_estate_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/recommendation_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/search_engine_results_page_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/search_term_match_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/search_term_targeting_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/served_asset_field_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/shared_set_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/shared_set_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/simulation_modification_method.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/simulation_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/sitelink_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/slot.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/spending_limit_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/system_managed_entity_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/target_impression_share_location.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/targeting_dimension.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/time_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_page_format.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/travel_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_interest_taxonomy_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_access_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_closing_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_combined_rule_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_crm_data_source_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_date_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_logical_rule_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_membership_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_number_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_prepopulation_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_rule_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_size_range.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_string_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/user_list_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_text.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operand.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/account_budget_proposal_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_customizer_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_group_ad_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_group_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_group_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_group_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_parameter_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/ad_sharing_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/adx_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/asset_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/authentication_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/authorization_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/bidding_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/bidding_strategy_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/billing_setup_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_budget_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_draft_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_experiment_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/campaign_shared_set_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/change_status_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/collection_size_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/context_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/conversion_action_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/conversion_adjustment_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/conversion_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/country_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/custom_interest_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/customer_client_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/customer_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/customer_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/customer_manager_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/database_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/date_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/date_range_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/distinct_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/enum_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/errors.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/extension_feed_item_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/extension_setting_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_attribute_reference_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_item_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_item_target_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_item_validation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/feed_mapping_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/field_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/field_mask_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/function_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/function_parsing_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/header_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/id_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/image_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/internal_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_idea_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/label_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/language_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/list_operation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/manager_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/media_bundle_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/media_file_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/media_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/multiplier_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/mutate_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/mutate_job_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/new_resource_creation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/not_empty_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/not_whitelisted_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/null_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/operation_access_denied_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/operator_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/partial_failure_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/policy_finding_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/policy_validation_parameter_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/policy_violation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/query_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/quota_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/range_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/recommendation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/region_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/request_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/resource_access_denied_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/setting_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/shared_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/shared_set_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/size_limit_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/string_format_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/string_length_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/url_field_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/user_list_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/errors/youtube_video_registration_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/account_budget.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/account_budget_proposal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_audience_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_group_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_parameter.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/ad_schedule_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/age_range_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/asset.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/bidding_strategy.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/billing_setup.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_audience_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_bid_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_budget.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_draft.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_experiment.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/campaign_shared_set.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/carrier_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/change_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/click_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/conversion_action.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/custom_interest.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_client.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_client_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_manager_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/customer_negative_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/detail_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/display_keyword_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/domain_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/expanded_landing_page_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/extension_feed_item.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/feed_item.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/feed_item_target.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/feed_mapping.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/feed_placeholder_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/gender_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/geo_target_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/geographic_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/google_ads_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/group_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/hotel_group_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/hotel_performance_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_campaign.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_keyword.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/keyword_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/landing_page_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/language_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/location_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/managed_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/media_file.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/merchant_center_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/mobile_app_category_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/mobile_device_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/mutate_job.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/operating_system_version_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/paid_organic_search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/parental_status_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/payments_account.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/product_bidding_category_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/product_group_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/recommendation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/remarketing_action.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/shared_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/shared_set.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/shopping_performance_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/topic_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/topic_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/user_interest.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/user_list.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/resources/video.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/account_budget_proposal_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/account_budget_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_audience_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_bid_modifier_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_group_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_parameter_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/ad_schedule_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/age_range_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/asset_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/bidding_strategy_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/billing_setup_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_audience_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_bid_modifier_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_budget_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_draft_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_experiment_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/campaign_shared_set_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/carrier_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/change_status_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/click_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/conversion_action_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/conversion_adjustment_upload_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/conversion_upload_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/custom_interest_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_client_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_client_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_manager_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_negative_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/customer_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/detail_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/display_keyword_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/domain_category_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/dynamic_search_ads_search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/expanded_landing_page_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/extension_feed_item_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/feed_item_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/feed_item_target_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/feed_mapping_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/feed_placeholder_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/gender_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/geo_target_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/geographic_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/google_ads_field_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/google_ads_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/group_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/hotel_group_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/hotel_performance_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_ad_group_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_campaign_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_idea_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_keyword_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_negative_keyword_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/keyword_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/landing_page_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/language_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/location_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/managed_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/media_file_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/merchant_center_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/mobile_app_category_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/mobile_device_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/mutate_job_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/operating_system_version_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/paid_organic_search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/parental_status_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/payments_account_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/product_bidding_category_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/product_group_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/recommendation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/remarketing_action_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/shared_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/shared_set_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/shopping_performance_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/topic_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/topic_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/user_interest_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/user_list_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v1/services/video_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/ad_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/ad_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/asset_policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/asset_types.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/asset_usage.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/audiences.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/bidding.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/click_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/criteria.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/criterion_category_availability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/custom_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/customizer_value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/dates.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/explorer_auto_optimizer_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/extensions.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/feed_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/feed_item_set_filter_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/final_app_url.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/frequency_cap.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/keyword_plan_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/matching_function.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/metric_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/metrics.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/offline_user_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/policy_summary.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/real_time_bidding_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/segments.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/tag_snippet.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/targeting_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/text_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/url_collection.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/user_lists.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/common/value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/access_invitation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/access_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/access_role.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/account_budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/account_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_customizer_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_destination_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_rotation_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_network_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_serving_optimization_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_strength.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/ad_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_sub_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_feed_relationship_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/age_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_bidding_strategy_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_payment_model_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/app_url_operating_system_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_performance_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_set_asset_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_set_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/asset_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/async_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/attribution_model.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/batch_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/bid_modifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/bidding_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/billing_setup_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/brand_safety_suitability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/budget_campaign_association_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/budget_delivery_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/budget_period.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/budget_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/call_conversion_reporting_state.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/call_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/call_tracking_display_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/call_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/callout_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_draft_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_traffic_split_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/campaign_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/change_client_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/change_event_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/change_status_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/change_status_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/click_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/combined_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/content_label_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_counting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_adjustment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_attribution_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_custom_variable_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_environment_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_or_adjustment_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_tracking_status_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_primary_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_channel_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_locale_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/criterion_system_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_conversion_goal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/custom_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customer_match_upload_key_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customer_pay_per_conversion_eligibility_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customer_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/customizer_value_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/data_driven_model_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/day_of_week.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/display_ad_format_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/display_upload_product_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/distance_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/dsa_page_feed_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/education_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric_direction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/extension_setting_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/external_conversion_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_disapproval_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_string_filter_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_item_validation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/feed_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/flight_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_time_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/gender_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/geo_target_constant_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_restriction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/goal_config_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_data_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/google_voice_call_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/hotel_date_selection_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/hotel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/hotel_price_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/hotel_rate_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/hotel_reconciliation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/image_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/income_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/interaction_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/interaction_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/invoice_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/job_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_aggregate_metric_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_competition_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_concept_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_forecast_interval.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_keyword_annotation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/label_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/lead_form_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/lead_form_desired_intent.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/lead_form_field_user_input_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/lead_form_post_submit_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/legacy_app_install_ad_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/linked_account_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_type_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_vertical.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/listing_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/local_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/location_extension_targeting_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/location_group_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/location_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/manager_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/matching_function_context_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/matching_function_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/media_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/merchant_center_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/message_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/mime_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/minute_of_hour.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/mobile_app_vendor.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/mobile_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/month_of_year.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/negative_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_match_rate_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/operating_system_version_operator_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/optimization_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/parental_status_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/payment_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/placeholder_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/placement_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_review_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_entry_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_mismatch_url_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/positive_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/preferred_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_qualifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/price_extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/price_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_channel_exclusivity.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_occasion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/promotion_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/proximity_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/quality_score_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_ad_length.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_age_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/real_estate_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/recommendation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/resource_change_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/resource_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/response_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/search_engine_results_page_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/search_term_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/search_term_targeting_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_scope.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/served_asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/shared_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/simulation_modification_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/simulation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/sitelink_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_ad_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_attribution_credit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_user_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/slot.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/spending_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/structured_snippet_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/summary_row_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/system_managed_entity_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/target_cpa_opt_in_recommendation_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/target_impression_share_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/targeting_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/time_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_page_format.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/travel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_identifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_interest_taxonomy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_access_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_closing_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_combined_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_crm_data_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_date_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_logical_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_membership_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_number_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_prepopulation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_rule_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_size_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_string_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/user_list_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/value_rule_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/value_rule_geo_location_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/value_rule_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_attachment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_display_url_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_text.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/video_thumbnail.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operand.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/access_invitation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/account_budget_proposal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/account_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_bid_modifier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_group_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/ad_sharing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/adx_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_group_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_group_listing_group_filter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_set_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/asset_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/authentication_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/authorization_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/batch_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/bidding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/bidding_strategy_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/billing_setup_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_budget_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_draft_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/campaign_shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/change_event_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/change_status_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/collection_size_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/context_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_action_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_adjustment_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_custom_variable_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_goal_campaign_config_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/country_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/currency_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/custom_audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/custom_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/custom_interest_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_client_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customer_user_access_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/customizer_attribute_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/database_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/date_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/date_range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/distinct_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/enum_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/errors.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/experiment_arm_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/extension_feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/extension_setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_attribute_reference_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_item_target_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_item_validation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/feed_mapping_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/field_mask_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/function_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/function_parsing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/geo_target_constant_suggestion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/header_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/id_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/image_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/internal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/invoice_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_idea_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/label_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/language_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/list_operation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/media_bundle_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/media_file_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/media_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/merchant_center_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/multiplier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/mutate_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/new_resource_creation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/not_allowlisted_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/not_empty_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/null_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/offline_user_data_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/operation_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/operator_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/partial_failure_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/payments_account_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/policy_finding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/policy_validation_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/policy_violation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/query_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/quota_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/reach_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/recommendation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/region_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/request_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/resource_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/resource_count_limit_exceeded_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/shared_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/size_limit_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/string_format_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/string_length_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/third_party_app_analytics_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/time_zone_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/url_field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/user_data_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/user_list_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/errors/youtube_video_registration_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/googleads_gapic.yaml create mode 100755 google-cloud/protos/google/ads/googleads/v10/googleads_grpc_service_config.json create mode 100644 google-cloud/protos/google/ads/googleads/v10/googleads_v10.yaml create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/accessible_bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/account_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/account_budget_proposal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/account_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_combination_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_group_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/ad_schedule_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/age_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_field_type_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_group_product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_group_signal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/asset_set_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/batch_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/bidding_data_exclusion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/billing_setup.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/call_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_draft.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/campaign_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/carrier_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/change_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/change_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/click_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/combined_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/conversion_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/conversion_custom_variable.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/currency_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/custom_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/custom_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/custom_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_client.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_client_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_manager_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_negative_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access_invitation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/customizer_attribute.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/detail_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/detailed_demographic.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/display_keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/distance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/domain_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/dynamic_search_ads_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/expanded_landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/experiment_arm.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/extension_feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_item_target.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_mapping.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/feed_placeholder_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/gender_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/geo_target_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/geographic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/google_ads_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/group_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/hotel_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/hotel_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/hotel_reconciliation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/income_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/invoice.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_theme_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/language_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/lead_form_submission_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/life_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/managed_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/media_file.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/merchant_center_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/mobile_app_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/mobile_device_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/offline_user_data_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/operating_system_version_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/paid_organic_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/parental_status_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/payments_account.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/product_bidding_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/recommendation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/remarketing_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/shared_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/shopping_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/third_party_app_analytics_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/topic_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/topic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/user_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/user_list.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/user_location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/video.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/resources/webpage_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/account_budget_proposal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/account_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_parameter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_group_listing_group_filter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_group_signal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_set_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/batch_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/bidding_data_exclusion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/bidding_seasonality_adjustment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/bidding_strategy_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/billing_setup_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_budget_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_draft_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/campaign_shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_adjustment_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_custom_variable_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_goal_campaign_config_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/custom_audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/custom_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/custom_interest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_client_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_manager_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_negative_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_invitation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/customizer_attribute_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/experiment_arm_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/extension_feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_item_target_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_mapping_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/geo_target_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/google_ads_field_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/google_ads_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/invoice_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_idea_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/keyword_theme_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/media_file_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/merchant_center_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/offline_user_data_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/payments_account_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/reach_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/recommendation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/remarketing_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/shared_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_suggest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/third_party_app_analytics_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/user_data_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v10/services/user_list_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/ad_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/ad_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/asset_policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/asset_types.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/asset_usage.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/audiences.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/bidding.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/click_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/criteria.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/criterion_category_availability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/custom_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/customizer_value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/dates.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/explorer_auto_optimizer_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/extensions.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/feed_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/feed_item_set_filter_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/final_app_url.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/frequency_cap.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/keyword_plan_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/matching_function.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/metric_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/metrics.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/offline_user_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/policy_summary.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/real_time_bidding_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/segments.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/tag_snippet.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/targeting_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/text_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/url_collection.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/user_lists.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/common/value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/access_invitation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/access_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/access_role.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/account_budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/account_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_customizer_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_destination_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_rotation_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_network_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_serving_optimization_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_strength.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/ad_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_sub_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_feed_relationship_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/age_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_bidding_strategy_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_payment_model_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/app_url_operating_system_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_performance_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_set_asset_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_set_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/asset_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/async_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/attribution_model.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/audience_insights_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/batch_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/bid_modifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/bidding_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_system_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/billing_setup_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/brand_safety_suitability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/budget_campaign_association_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/budget_delivery_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/budget_period.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/budget_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/call_conversion_reporting_state.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/call_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/call_tracking_display_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/call_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/callout_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_draft_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_traffic_split_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/campaign_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/change_client_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/change_event_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/change_status_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/change_status_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/click_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/combined_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/content_label_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_counting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_adjustment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_attribution_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_custom_variable_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_environment_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_or_adjustment_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_tracking_status_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_primary_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_channel_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_locale_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/criterion_system_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_conversion_goal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/custom_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customer_match_upload_key_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customer_pay_per_conversion_eligibility_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customer_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/customizer_value_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/data_driven_model_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/day_of_week.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/display_ad_format_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/display_upload_product_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/distance_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/dsa_page_feed_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/education_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric_direction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/extension_setting_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/external_conversion_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_disapproval_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_string_filter_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_item_validation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/feed_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/flight_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_time_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/gender_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/geo_target_constant_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_restriction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/goal_config_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_data_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/google_voice_call_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/hotel_date_selection_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/hotel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/hotel_price_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/hotel_rate_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/hotel_reconciliation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/image_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/income_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/interaction_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/interaction_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/invoice_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/job_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_aggregate_metric_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_competition_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_concept_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_forecast_interval.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_keyword_annotation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/label_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/lead_form_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/lead_form_desired_intent.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/lead_form_field_user_input_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/lead_form_post_submit_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/legacy_app_install_ad_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/linked_account_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_type_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_vertical.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/listing_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/local_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/location_extension_targeting_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/location_group_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/location_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/manager_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/matching_function_context_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/matching_function_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/media_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/merchant_center_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/message_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/mime_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/minute_of_hour.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/mobile_app_vendor.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/mobile_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/month_of_year.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/negative_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_match_rate_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/operating_system_version_operator_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/optimization_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/parental_status_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/payment_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/performance_max_upgrade_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/placeholder_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/placement_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_review_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_entry_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_mismatch_url_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/positive_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/preferred_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_qualifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/price_extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/price_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_channel_exclusivity.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_occasion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/promotion_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/proximity_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/quality_score_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_ad_length.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_age_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/real_estate_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/recommendation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/resource_change_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/resource_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/response_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/search_engine_results_page_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/search_term_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/search_term_targeting_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_scope.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/served_asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/shared_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/simulation_modification_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/simulation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/sitelink_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_ad_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_attribution_credit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_user_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/slot.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/spending_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/structured_snippet_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/summary_row_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/system_managed_entity_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/target_impression_share_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/targeting_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/time_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_page_format.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/travel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_identifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_interest_taxonomy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_access_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_closing_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_date_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_membership_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_number_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_prepopulation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_rule_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_size_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/user_list_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/value_rule_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/value_rule_geo_location_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/value_rule_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_attachment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_display_url_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_text.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/video_thumbnail.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operand.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/access_invitation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/account_budget_proposal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/account_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_bid_modifier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_group_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/ad_sharing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/adx_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_group_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_group_listing_group_filter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_set_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/asset_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/audience_insights_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/authentication_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/authorization_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/batch_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/bidding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/bidding_strategy_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/billing_setup_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_budget_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_draft_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/campaign_shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/change_event_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/change_status_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/collection_size_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/context_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_action_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_adjustment_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_custom_variable_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_goal_campaign_config_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/country_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/currency_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/custom_audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/custom_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/custom_interest_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_client_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customer_user_access_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/customizer_attribute_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/database_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/date_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/date_range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/distinct_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/enum_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/errors.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/experiment_arm_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/extension_feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/extension_setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_attribute_reference_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_item_target_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_item_validation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/feed_mapping_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/field_mask_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/function_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/function_parsing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/geo_target_constant_suggestion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/header_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/id_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/image_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/internal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/invoice_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_idea_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/label_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/language_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/list_operation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/media_bundle_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/media_file_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/media_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/merchant_center_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/multiplier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/mutate_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/new_resource_creation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/not_allowlisted_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/not_empty_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/null_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/offline_user_data_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/operation_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/operator_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/partial_failure_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/payments_account_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/policy_finding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/policy_validation_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/policy_violation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/query_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/quota_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/reach_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/recommendation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/region_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/request_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/resource_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/resource_count_limit_exceeded_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/shared_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/size_limit_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/string_format_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/string_length_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/third_party_app_analytics_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/time_zone_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/url_field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/user_data_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/user_list_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/errors/youtube_video_registration_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/googleads_gapic.yaml create mode 100755 google-cloud/protos/google/ads/googleads/v11/googleads_grpc_service_config.json create mode 100644 google-cloud/protos/google/ads/googleads/v11/googleads_v11.yaml create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/accessible_bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/account_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/account_budget_proposal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/account_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_combination_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_group_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/ad_schedule_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/age_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_field_type_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_group_product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_group_signal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/asset_set_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/batch_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/bidding_data_exclusion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/billing_setup.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/call_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_draft.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/campaign_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/carrier_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/change_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/change_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/click_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/combined_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/conversion_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/conversion_custom_variable.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/currency_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/custom_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/custom_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/custom_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_client.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_client_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_manager_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_negative_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access_invitation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/customizer_attribute.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/detail_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/detailed_demographic.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/display_keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/distance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/domain_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/dynamic_search_ads_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/expanded_landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/experiment_arm.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/extension_feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_item_target.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_mapping.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/feed_placeholder_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/gender_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/geo_target_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/geographic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/google_ads_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/group_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/hotel_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/hotel_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/hotel_reconciliation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/income_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/invoice.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_theme_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/language_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/lead_form_submission_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/life_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/managed_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/media_file.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/merchant_center_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/mobile_app_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/mobile_device_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/offline_user_data_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/operating_system_version_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/paid_organic_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/parental_status_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/payments_account.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/product_bidding_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/recommendation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/remarketing_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/shared_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/shopping_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/third_party_app_analytics_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/topic_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/topic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/user_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/user_list.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/user_location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/video.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/resources/webpage_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/account_budget_proposal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/account_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_parameter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_group_listing_group_filter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_group_signal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_set_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/audience_insights_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/batch_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/bidding_data_exclusion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/bidding_seasonality_adjustment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/bidding_strategy_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/billing_setup_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_budget_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_draft_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/campaign_shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_adjustment_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_custom_variable_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_goal_campaign_config_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/custom_audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/custom_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/custom_interest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_client_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_manager_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_negative_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_invitation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/customizer_attribute_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/experiment_arm_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/extension_feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_item_target_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_mapping_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/geo_target_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/google_ads_field_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/google_ads_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/invoice_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_idea_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/keyword_theme_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/media_file_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/merchant_center_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/offline_user_data_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/payments_account_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/reach_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/recommendation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/remarketing_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/shared_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_suggest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/third_party_app_analytics_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/user_data_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v11/services/user_list_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/ad_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/ad_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/asset_policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/asset_set_types.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/asset_types.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/asset_usage.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/audiences.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/bidding.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/click_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/criteria.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/criterion_category_availability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/custom_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/customizer_value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/dates.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/explorer_auto_optimizer_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/extensions.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/feed_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/final_app_url.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/frequency_cap.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/keyword_plan_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/matching_function.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/metric_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/metrics.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/offline_user_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/policy_summary.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/real_time_bidding_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/segments.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/tag_snippet.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/targeting_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/text_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/url_collection.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/user_lists.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/common/value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/access_invitation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/access_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/access_role.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/account_budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/account_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_destination_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_network_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_strength.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/ad_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/age_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_payment_model_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/app_url_operating_system_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_performance_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_set_asset_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_set_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/asset_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/async_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/attribution_model.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/audience_insights_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/batch_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/bid_modifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/bidding_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_system_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/billing_setup_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/brand_safety_suitability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/budget_campaign_association_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/budget_delivery_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/budget_period.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/budget_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/call_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/call_tracking_display_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/call_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/callout_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_draft_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/campaign_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/chain_relationship_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/change_client_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/change_event_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/change_status_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/change_status_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/click_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/combined_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/content_label_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_counting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_adjustment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_environment_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_tracking_status_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/criterion_system_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/custom_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customer_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/customizer_value_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/data_driven_model_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/day_of_week.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/display_ad_format_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/display_upload_product_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/distance_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/education_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric_direction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/extension_setting_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/external_conversion_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_item_validation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/feed_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/flight_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/gender_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/geo_target_constant_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_restriction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/goal_config_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_data_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/google_voice_call_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/hotel_date_selection_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/hotel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/hotel_price_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/hotel_rate_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/image_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/income_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/interaction_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/interaction_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/invoice_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/job_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/label_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/lead_form_desired_intent.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/lead_form_field_user_input_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/linked_account_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/listing_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/local_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_group_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_ownership_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/location_string_filter_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/manager_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/matching_function_context_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/matching_function_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/media_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/merchant_center_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/message_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/mime_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/minute_of_hour.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/mobile_app_vendor.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/mobile_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/month_of_year.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/negative_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/optimization_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/parental_status_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/payment_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/performance_max_upgrade_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/placeholder_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/placement_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_review_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_entry_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/positive_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/preferred_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/price_extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/price_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_channel_exclusivity.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_occasion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/promotion_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/proximity_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/quality_score_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_age_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/recommendation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/resource_change_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/resource_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/response_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/search_engine_results_page_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/search_term_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/search_term_targeting_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_scope.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/served_asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/shared_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/simulation_modification_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/simulation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_ad_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_attribution_credit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_user_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/slot.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/spending_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/summary_row_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/system_managed_entity_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/target_impression_share_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/targeting_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/time_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_page_format.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/travel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_identifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_access_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_closing_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_membership_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_rule_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_size_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/user_list_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/value_rule_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/value_rule_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_text.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/video_thumbnail.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operand.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/access_invitation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/account_budget_proposal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/account_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_group_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/ad_sharing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/adx_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_group_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_set_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/asset_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/audience_insights_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/authentication_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/authorization_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/batch_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/bidding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/bidding_strategy_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/billing_setup_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_budget_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_draft_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/campaign_shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/change_event_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/change_status_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/collection_size_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/context_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_action_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_adjustment_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_custom_variable_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/country_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/currency_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/custom_audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/custom_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/custom_interest_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_client_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customer_user_access_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/customizer_attribute_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/database_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/date_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/date_range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/distinct_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/enum_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/errors.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/experiment_arm_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/extension_feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/extension_setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_attribute_reference_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_item_target_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_item_validation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/feed_mapping_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/field_mask_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/function_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/function_parsing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/header_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/id_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/image_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/internal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/invoice_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_idea_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/label_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/language_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/list_operation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/media_bundle_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/media_file_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/media_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/merchant_center_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/multiplier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/mutate_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/new_resource_creation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/not_allowlisted_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/not_empty_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/null_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/offline_user_data_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/operation_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/operator_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/partial_failure_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/payments_account_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/policy_finding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/policy_validation_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/policy_violation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/query_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/quota_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/reach_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/recommendation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/region_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/request_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/resource_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/shared_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/size_limit_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/smart_campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/string_format_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/string_length_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/time_zone_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/url_field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/user_data_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/user_list_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/errors/youtube_video_registration_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/googleads_gapic.yaml create mode 100755 google-cloud/protos/google/ads/googleads/v12/googleads_grpc_service_config.json create mode 100644 google-cloud/protos/google/ads/googleads/v12/googleads_v12.yaml create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/account_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/account_budget_proposal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/account_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_group_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/ad_schedule_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/age_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_field_type_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_group_product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_group_signal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_set_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/asset_set_type_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/batch_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/bidding_data_exclusion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/billing_setup.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/call_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_draft.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/campaign_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/carrier_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/change_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/change_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/click_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/combined_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/conversion_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/conversion_custom_variable.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/currency_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/custom_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/custom_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/custom_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_client.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_client_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_manager_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_negative_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access_invitation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/customizer_attribute.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/detail_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/detailed_demographic.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/display_keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/distance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/domain_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/expanded_landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/experiment_arm.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/extension_feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_item_target.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_mapping.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/feed_placeholder_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/gender_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/geo_target_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/geographic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/google_ads_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/group_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/hotel_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/hotel_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/hotel_reconciliation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/income_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/invoice.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_theme_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/language_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/lead_form_submission_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/life_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/managed_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/media_file.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/merchant_center_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/mobile_app_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/mobile_device_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/offline_user_data_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/operating_system_version_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/parental_status_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/payments_account.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/per_store_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/product_bidding_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/recommendation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/remarketing_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/shared_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/shopping_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/topic_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/topic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/user_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/user_list.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/user_location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/video.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/resources/webpage_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/account_budget_proposal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/account_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_parameter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_group_signal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_set_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/audience_insights_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/batch_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/bidding_strategy_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/billing_setup_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_budget_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_draft_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/campaign_shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_custom_variable_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/custom_audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/custom_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/custom_interest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_client_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_manager_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_negative_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/customizer_attribute_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/experiment_arm_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/extension_feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_item_target_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_mapping_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/geo_target_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/google_ads_field_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/google_ads_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/invoice_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_idea_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/keyword_theme_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/media_file_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/merchant_center_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/offline_user_data_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/payments_account_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/reach_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/recommendation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/remarketing_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/shared_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/user_data_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v12/services/user_list_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/ad_asset.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/ad_type_infos.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/asset_types.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/bidding.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/click_location.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/criteria.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/criterion_category_availability.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/custom_parameter.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/dates.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/explorer_auto_optimizer_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/extensions.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/feed_common.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/final_app_url.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/frequency_cap.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/keyword_plan_common.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/matching_function.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/metrics.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/policy.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/real_time_bidding_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/segments.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/tag_snippet.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/targeting_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/text_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/url_collection.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/user_lists.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/common/value.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/access_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/access_role.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/account_budget_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_customizer_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_rotation_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_group_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_network_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_serving_optimization_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_strength.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/ad_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_sub_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_feed_relationship_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/age_range_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_bidding_strategy_goal_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_payment_model_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/app_url_operating_system_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/asset_field_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/asset_performance_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/asset_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/attribution_model.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/bid_modifier_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/bidding_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/billing_setup_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/brand_safety_suitability.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/budget_delivery_method.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/budget_period.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/budget_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/budget_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/call_conversion_reporting_state.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/call_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/callout_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_criterion_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_draft_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_traffic_split_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_serving_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_shared_set_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/campaign_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/change_status_operation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/change_status_resource_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/click_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/content_label_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_counting_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_adjustment_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_attribution_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_lag_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/conversion_or_adjustment_lag_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_channel_availability_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_locale_availability_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/criterion_system_serving_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/criterion_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_member_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/custom_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/customer_match_upload_key_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/customer_pay_per_conversion_eligibility_failure_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/data_driven_model_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/day_of_week.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/display_ad_format_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/display_upload_product_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/distance_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/dsa_page_feed_criterion_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/education_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/extension_setting_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/extension_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/external_conversion_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_attribute_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_disapproval_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_item_validation_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_criterion_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_origin.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/feed_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/flight_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_time_unit.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/gender_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/geo_target_constant_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_restriction.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_data_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/hotel_date_selection_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/hotel_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/hotel_price_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/hotel_rate_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/income_range_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/interaction_event_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/interaction_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/invoice_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/job_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/keyword_match_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_competition_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_forecast_interval.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_network.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/label_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/legacy_app_install_ad_app_store.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/listing_custom_attribute_index.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/listing_group_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/local_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/location_extension_targeting_criterion_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/location_group_radius_units.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/location_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/manager_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/matching_function_context_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/matching_function_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/media_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/merchant_center_link_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/message_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/mime_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/minute_of_hour.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/mobile_device_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/month_of_year.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/mutate_job_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/negative_geo_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/operating_system_version_operator_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/page_one_promoted_strategy_goal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/parental_status_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/payment_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/placeholder_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/placement_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_approval_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_review_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_entry_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_mismatch_url_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_device.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/positive_geo_target_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/preferred_content_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_qualifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_unit.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/price_extension_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/price_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_channel.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_channel_exclusivity.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_condition.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/product_type_level.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_discount_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_occasion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/promotion_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/proximity_radius_units.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/quality_score_bucket.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_ad_length.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_age_range.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/real_estate_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/recommendation_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/search_engine_results_page_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/search_term_match_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/search_term_targeting_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/served_asset_field_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/shared_set_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/shared_set_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/simulation_modification_method.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/simulation_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/sitelink_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/slot.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/spending_limit_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/structured_snippet_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/system_managed_entity_source.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/target_cpa_opt_in_recommendation_goal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/target_impression_share_location.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/targeting_dimension.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/time_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_page_format.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/travel_placeholder_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_interest_taxonomy_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_access_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_closing_reason.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_combined_rule_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_crm_data_source_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_date_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_logical_rule_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_membership_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_number_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_prepopulation_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_rule_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_size_range.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_string_rule_item_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/user_list_type.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_display_url_mode.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_text.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operand.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operator.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/access_invitation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/account_budget_proposal_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_customizer_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_group_ad_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_group_bid_modifier_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_group_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_group_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_group_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_parameter_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/ad_sharing_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/adx_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/asset_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/authentication_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/authorization_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/bidding_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/bidding_strategy_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/billing_setup_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_budget_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_draft_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_experiment_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/campaign_shared_set_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/change_status_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/collection_size_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/context_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/conversion_action_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/conversion_adjustment_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/conversion_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/country_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/currency_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/custom_interest_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/customer_client_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/customer_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/customer_feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/customer_manager_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/database_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/date_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/date_range_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/distinct_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/enum_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/errors.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/extension_feed_item_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/extension_setting_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_attribute_reference_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_item_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_item_target_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_item_validation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/feed_mapping_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/field_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/field_mask_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/function_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/function_parsing_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/geo_target_constant_suggestion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/header_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/id_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/image_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/internal_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/invoice_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_ad_group_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_campaign_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_idea_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_keyword_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_negative_keyword_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/label_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/language_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/list_operation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/manager_link_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/media_bundle_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/media_file_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/media_upload_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/multiplier_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/mutate_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/mutate_job_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/new_resource_creation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/not_empty_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/not_whitelisted_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/null_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/operation_access_denied_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/operator_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/partial_failure_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/policy_finding_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/policy_validation_parameter_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/policy_violation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/query_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/quota_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/range_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/reach_plan_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/recommendation_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/region_code_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/request_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/resource_access_denied_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/resource_count_limit_exceeded_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/setting_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/shared_criterion_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/shared_set_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/size_limit_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/string_format_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/string_length_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/url_field_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/user_list_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/errors/youtube_video_registration_error.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/account_budget.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/account_budget_proposal.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_audience_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_group_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_parameter.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/ad_schedule_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/age_range_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/asset.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/bidding_strategy.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/billing_setup.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_audience_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_bid_modifier.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_budget.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion_simulation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_draft.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_experiment.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/campaign_shared_set.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/carrier_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/change_status.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/click_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/conversion_action.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/custom_interest.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_client.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_client_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_extension_setting.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_manager_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/customer_negative_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/detail_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/display_keyword_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/distance_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/domain_category.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/expanded_landing_page_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/extension_feed_item.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/feed.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/feed_item.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/feed_item_target.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/feed_mapping.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/feed_placeholder_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/gender_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/geo_target_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/geographic_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/google_ads_field.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/group_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/hotel_group_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/hotel_performance_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/invoice.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_ad_group.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_campaign.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_keyword.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/keyword_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/label.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/landing_page_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/language_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/location_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/managed_placement_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/media_file.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/merchant_center_link.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/mobile_app_category_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/mobile_device_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/mutate_job.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/operating_system_version_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/paid_organic_search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/parental_status_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/payments_account.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/product_bidding_category_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/product_group_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/recommendation.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/remarketing_action.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/search_term_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/shared_criterion.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/shared_set.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/shopping_performance_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/topic_constant.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/topic_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/user_interest.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/user_list.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/user_location_view.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/resources/video.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/account_budget_proposal_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/account_budget_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_asset_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_audience_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_bid_modifier_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_group_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_parameter_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_schedule_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/ad_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/age_range_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/asset_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/bidding_strategy_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/billing_setup_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_audience_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_budget_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_simulation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_draft_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_experiment_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/campaign_shared_set_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/carrier_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/change_status_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/click_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/conversion_action_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/conversion_upload_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/custom_interest_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_client_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_client_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_extension_setting_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_manager_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_negative_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/customer_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/detail_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/display_keyword_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/distance_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/domain_category_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/dynamic_search_ads_search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/expanded_landing_page_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/extension_feed_item_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/feed_item_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/feed_item_target_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/feed_mapping_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/feed_placeholder_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/feed_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/gender_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/geo_target_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/geographic_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/google_ads_field_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/google_ads_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/group_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/hotel_group_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/hotel_performance_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/invoice_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_campaign_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_idea_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_keyword_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_negative_keyword_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/keyword_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/label_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/landing_page_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/language_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/location_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/managed_placement_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/media_file_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/merchant_center_link_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/mobile_app_category_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/mobile_device_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/mutate_job_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/operating_system_version_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/paid_organic_search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/parental_status_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/payments_account_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/product_group_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/reach_plan_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/recommendation_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/remarketing_action_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/search_term_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/shared_criterion_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/shared_set_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/shopping_performance_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/topic_constant_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/topic_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/user_interest_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/user_list_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/user_location_view_service.proto delete mode 100644 google-cloud/protos/google/ads/googleads/v2/services/video_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/ad_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/ad_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/asset_policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/asset_types.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/bidding.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/click_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/criteria.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/criterion_category_availability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/custom_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/customizer_value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/dates.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/explorer_auto_optimizer_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/extensions.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/feed_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/feed_item_set_filter_type_infos.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/final_app_url.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/frequency_cap.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/keyword_plan_common.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/matching_function.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/metrics.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/offline_user_data.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/policy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/policy_summary.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/real_time_bidding_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/segments.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/tag_snippet.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/targeting_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/text_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/url_collection.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/user_lists.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/common/value.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/access_invitation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/access_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/access_role.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/account_budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/account_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_customizer_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_destination_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_rotation_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_network_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_serving_optimization_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_strength.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/ad_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_sub_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_feed_relationship_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/age_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_bidding_strategy_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_payment_model_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/app_url_operating_system_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_group_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_performance_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_set_asset_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_set_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/asset_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/attribution_model.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/batch_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/bid_modifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/bidding_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/billing_setup_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/brand_safety_suitability.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/budget_campaign_association_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/budget_delivery_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/budget_period.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/budget_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/budget_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/call_conversion_reporting_state.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/call_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/call_tracking_display_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/call_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/callout_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_criterion_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_draft_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_traffic_split_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/campaign_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/change_client_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/change_event_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/change_status_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/change_status_resource_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/click_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/combined_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/content_label_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_counting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_adjustment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_attribution_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_custom_variable_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_or_adjustment_lag_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_primary_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_channel_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_locale_availability_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/criterion_system_serving_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_conversion_goal_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_member_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/custom_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/customer_match_upload_key_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/customer_pay_per_conversion_eligibility_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/customizer_value_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/data_driven_model_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/day_of_week.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/display_ad_format_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/display_upload_product_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/distance_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/dsa_page_feed_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/education_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/extension_setting_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/external_conversion_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_attribute_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_disapproval_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_string_filter_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_item_validation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_criterion_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_origin.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/feed_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/flight_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_time_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/gender_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/geo_target_constant_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_restriction.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/goal_config_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_data_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/google_voice_call_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/hotel_date_selection_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/hotel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/hotel_price_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/hotel_rate_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/hotel_reconciliation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/image_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/income_range_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/interaction_event_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/interaction_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/invoice_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/job_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_aggregate_metric_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_competition_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_concept_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_forecast_interval.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_keyword_annotation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/label_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/lead_form_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/lead_form_desired_intent.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/lead_form_field_user_input_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/lead_form_post_submit_call_to_action_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/legacy_app_install_ad_app_store.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/linked_account_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_type_enum.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_vertical.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/listing_group_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/local_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/location_extension_targeting_criterion_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/location_group_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/location_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/location_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/manager_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/matching_function_context_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/matching_function_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/media_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/merchant_center_link_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/message_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/mime_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/minute_of_hour.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/mobile_app_vendor.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/mobile_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/month_of_year.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/negative_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_failure_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_match_rate_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/operating_system_version_operator_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/optimization_goal_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/parental_status_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/payment_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/placeholder_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/placement_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_approval_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_review_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_entry_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_mismatch_url_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_device.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/positive_geo_target_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/preferred_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_qualifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_unit.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/price_extension_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/price_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_channel.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_channel_exclusivity.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_condition.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_custom_attribute_index.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/product_type_level.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_occasion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/promotion_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/proximity_radius_units.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/quality_score_bucket.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_ad_length.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_age_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_network.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/real_estate_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/recommendation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/resource_change_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/resource_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/response_content_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/search_engine_results_page_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/search_term_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/search_term_targeting_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_scope.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/served_asset_field_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/shared_set_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/shared_set_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/simulation_modification_method.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/simulation_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/sitelink_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/slot.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/spending_limit_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/structured_snippet_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/summary_row_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/system_managed_entity_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/target_cpa_opt_in_recommendation_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/target_impression_share_location.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/targeting_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/time_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_page_format.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/travel_placeholder_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_identifier_source.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_interest_taxonomy_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_access_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_closing_reason.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_combined_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_crm_data_source_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_date_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_logical_rule_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_membership_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_number_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_prepopulation_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_rule_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_size_range.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_string_rule_item_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/user_list_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/value_rule_device_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/value_rule_geo_location_match_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/value_rule_operation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_attachment_type.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_dimension.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_display_url_mode.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_text.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/video_thumbnail.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operand.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operator.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/access_invitation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/account_budget_proposal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/account_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_ad_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_bid_modifier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_group_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/ad_sharing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/adx_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_group_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_group_listing_group_filter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_set_asset_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/asset_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/authentication_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/authorization_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/batch_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/bidding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/bidding_strategy_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/billing_setup_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_budget_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_draft_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_experiment_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/campaign_shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/change_event_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/change_status_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/collection_size_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/context_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_action_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_adjustment_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_custom_variable_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/country_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/currency_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/custom_audience_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/custom_conversion_goal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/custom_interest_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_client_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_customizer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customer_user_access_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/customizer_attribute_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/database_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/date_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/date_range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/distinct_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/enum_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/errors.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/extension_feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/extension_setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_attribute_reference_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_item_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_item_target_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_item_validation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/feed_mapping_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/field_mask_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/function_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/function_parsing_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/geo_target_constant_suggestion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/header_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/id_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/image_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/internal_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/invoice_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_keyword_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_idea_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/label_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/language_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/list_operation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/manager_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/media_bundle_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/media_file_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/media_upload_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/merchant_center_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/multiplier_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/mutate_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/new_resource_creation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/not_allowlisted_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/not_empty_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/null_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/offline_user_data_job_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/operation_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/operator_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/partial_failure_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/payments_account_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/policy_finding_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/policy_validation_parameter_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/policy_violation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/query_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/quota_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/range_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/reach_plan_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/recommendation_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/region_code_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/request_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/resource_access_denied_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/resource_count_limit_exceeded_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/setting_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/shared_criterion_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/shared_set_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/size_limit_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/string_format_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/string_length_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/third_party_app_analytics_link_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/time_zone_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/url_field_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/user_data_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/user_list_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/errors/youtube_video_registration_error.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/googleads_gapic.yaml create mode 100755 google-cloud/protos/google/ads/googleads/v9/googleads_grpc_service_config.json create mode 100644 google-cloud/protos/google/ads/googleads/v9/googleads_v9.yaml create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/accessible_bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/account_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/account_budget_proposal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/account_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_asset_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_group_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_parameter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/ad_schedule_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/age_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_field_type_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_group_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_group_product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/asset_set_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/batch_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/bidding_data_exclusion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/billing_setup.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/call_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_audience_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_bid_modifier.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_budget.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_draft.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_experiment.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/campaign_simulation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/carrier_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/change_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/change_status.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/click_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/combined_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/conversion_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/conversion_custom_variable.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/currency_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/custom_audience.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/custom_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/custom_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_asset.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_client.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_client_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_conversion_goal.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_customizer.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_extension_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_manager_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_negative_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access_invitation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/customizer_attribute.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/detail_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/detailed_demographic.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/display_keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/distance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/domain_category.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/expanded_landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/extension_feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_item.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_item_target.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_mapping.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/feed_placeholder_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/gender_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/geo_target_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/geographic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/google_ads_field.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/group_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/hotel_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/hotel_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/hotel_reconciliation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/income_range_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/invoice.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_theme_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/keyword_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/label.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/landing_page_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/language_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/life_event.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/managed_placement_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/media_file.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/merchant_center_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/mobile_app_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/mobile_device_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/offline_user_data_job.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/operating_system_version_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/paid_organic_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/parental_status_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/payments_account.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/product_bidding_category_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/product_group_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/recommendation.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/remarketing_action.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/shared_criterion.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/shared_set.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/shopping_performance_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_search_term_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_setting.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/third_party_app_analytics_link.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/topic_constant.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/topic_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/user_interest.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/user_list.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/user_location_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/video.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/resources/webpage_view.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/BUILD.bazel create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/accessible_bidding_strategy_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/account_budget_proposal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/account_budget_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/account_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_asset_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_audience_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_simulation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_group_simulation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_parameter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_schedule_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/ad_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/age_range_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_field_type_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_group_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_group_listing_group_filter_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_set_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/batch_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/bidding_data_exclusion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/bidding_seasonality_adjustment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_simulation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/billing_setup_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_audience_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_bid_modifier_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_budget_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_simulation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_draft_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_experiment_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/campaign_simulation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/carrier_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/change_status_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/click_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/combined_audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_adjustment_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_custom_variable_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_goal_campaign_config_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_upload_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/currency_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/custom_audience_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/custom_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/custom_interest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_asset_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_client_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_client_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_conversion_goal_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_customizer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_extension_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_manager_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_negative_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_invitation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/customizer_attribute_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/detail_placement_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/detailed_demographic_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/display_keyword_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/distance_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/domain_category_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/dynamic_search_ads_search_term_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/expanded_landing_page_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/extension_feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_item_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_item_target_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_mapping_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_placeholder_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/feed_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/gender_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/geo_target_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/geographic_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/google_ads_field_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/google_ads_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/group_placement_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/hotel_group_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/hotel_performance_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/income_range_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/invoice_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_keyword_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_idea_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_theme_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/keyword_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/label_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/landing_page_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/language_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/life_event_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/location_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/managed_placement_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/media_file_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/merchant_center_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/mobile_app_category_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/mobile_device_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/offline_user_data_job_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/operating_system_version_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/paid_organic_search_term_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/parental_status_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/payments_account_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/product_bidding_category_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/product_group_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/reach_plan_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/recommendation_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/remarketing_action_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/search_term_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/shared_criterion_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/shared_set_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/shopping_performance_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_search_term_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_setting_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_suggest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/third_party_app_analytics_link_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/topic_constant_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/topic_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/user_data_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/user_interest_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/user_list_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/user_location_view_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/video_service.proto create mode 100644 google-cloud/protos/google/ads/googleads/v9/services/webpage_view_service.proto create mode 100644 google-cloud/protos/google/analytics/admin/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/access_report.proto create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/admin_grpc_service_config.json create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/analytics_admin.proto create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin.yaml create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_gapic.yaml create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_v1alpha.yaml create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/audience.proto create mode 100644 google-cloud/protos/google/analytics/admin/v1alpha/resources.proto create mode 100644 google-cloud/protos/google/analytics/admin/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/admin/v1beta/admin_grpc_service_config.json create mode 100644 google-cloud/protos/google/analytics/admin/v1beta/analytics_admin.proto create mode 100644 google-cloud/protos/google/analytics/admin/v1beta/analyticsadmin.yaml create mode 100644 google-cloud/protos/google/analytics/admin/v1beta/resources.proto create mode 100644 google-cloud/protos/google/analytics/data/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/data/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/data/v1alpha/analytics_data_api.proto create mode 100644 google-cloud/protos/google/analytics/data/v1alpha/analytics_data_grpc_service_config.json create mode 100644 google-cloud/protos/google/analytics/data/v1alpha/analyticsdata_v1alpha.yaml create mode 100644 google-cloud/protos/google/analytics/data/v1alpha/data.proto create mode 100644 google-cloud/protos/google/analytics/data/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/analytics/data/v1beta/analytics_data_api.proto create mode 100644 google-cloud/protos/google/analytics/data/v1beta/analytics_data_grpc_service_config.json create mode 100644 google-cloud/protos/google/analytics/data/v1beta/analyticsdata_v1beta.yaml create mode 100644 google-cloud/protos/google/analytics/data/v1beta/data.proto create mode 100644 google-cloud/protos/google/api/apikeys/BUILD.bazel create mode 100644 google-cloud/protos/google/api/apikeys/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/api/apikeys/v2/apikeys.proto create mode 100644 google-cloud/protos/google/api/apikeys/v2/apikeys_grpc_service_config.json create mode 100644 google-cloud/protos/google/api/apikeys/v2/apikeys_v2.yaml create mode 100644 google-cloud/protos/google/api/apikeys/v2/resources.proto create mode 100644 google-cloud/protos/google/api/error_reason.proto delete mode 100644 google-cloud/protos/google/api/expr/artman_cel.yaml create mode 100644 google-cloud/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel rename google-cloud/protos/google/api/expr/{ => conformance}/v1alpha1/conformance_service.proto (83%) delete mode 100644 google-cloud/protos/google/api/expr/v1alpha1/cel.yaml delete mode 100644 google-cloud/protos/google/api/expr/v1alpha1/cel_gapic.yaml delete mode 100644 google-cloud/protos/google/api/expr/v1alpha1/cel_service.proto create mode 100644 google-cloud/protos/google/api/routing.proto create mode 100644 google-cloud/protos/google/api/servicecontrol/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/api/servicecontrol/v1/http_request.proto create mode 100644 google-cloud/protos/google/api/servicecontrol/v1/servicecontrol.yaml create mode 100644 google-cloud/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json create mode 100644 google-cloud/protos/google/api/servicecontrol/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/api/servicecontrol/v2/service_controller.proto create mode 100644 google-cloud/protos/google/api/servicecontrol/v2/servicecontrol.yaml create mode 100644 google-cloud/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json delete mode 100644 google-cloud/protos/google/api/servicemanagement/artman_servicemanagement_v1.yaml delete mode 100644 google-cloud/protos/google/api/servicemanagement/servicemanagement_v1.yaml create mode 100644 google-cloud/protos/google/api/servicemanagement/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json create mode 100644 google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml create mode 100644 google-cloud/protos/google/api/serviceusage/BUILD.bazel create mode 100644 google-cloud/protos/google/api/serviceusage/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/api/serviceusage/v1/resources.proto create mode 100644 google-cloud/protos/google/api/serviceusage/v1/serviceusage.proto create mode 100644 google-cloud/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json create mode 100644 google-cloud/protos/google/api/serviceusage/v1/serviceusage_v1.yaml create mode 100644 google-cloud/protos/google/api/serviceusage/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/api/serviceusage/v1beta1/resources.proto create mode 100644 google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage.proto create mode 100644 google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json create mode 100644 google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml create mode 100644 google-cloud/protos/google/api/visibility.proto create mode 100644 google-cloud/protos/google/appengine/BUILD.bazel delete mode 100644 google-cloud/protos/google/appengine/artman_appengine.yaml create mode 100644 google-cloud/protos/google/appengine/legacy/BUILD.bazel create mode 100644 google-cloud/protos/google/appengine/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/appengine/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/appengine/v1/appengine_grpc_service_config.json create mode 100644 google-cloud/protos/google/appengine/v1/appengine_v1.yaml create mode 100644 google-cloud/protos/google/appengine/v1/certificate.proto create mode 100644 google-cloud/protos/google/appengine/v1/deployed_files.proto create mode 100644 google-cloud/protos/google/appengine/v1/domain.proto create mode 100644 google-cloud/protos/google/appengine/v1/domain_mapping.proto create mode 100644 google-cloud/protos/google/appengine/v1/firewall.proto create mode 100644 google-cloud/protos/google/appengine/v1/network_settings.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/appengine/v1beta/app_yaml.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/appengine.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/application.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/audit_data.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/certificate.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/deploy.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/domain.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/domain_mapping.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/firewall.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/instance.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/location.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/network_settings.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/operation.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/service.proto create mode 100644 google-cloud/protos/google/appengine/v1beta/version.proto create mode 100644 google-cloud/protos/google/apps/alertcenter/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.proto create mode 100644 google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.yaml create mode 100644 google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter_grpc_service_config.json create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/action.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/actor.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/common.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/drive_activity_service.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/driveactivity_grpc_service_config.json create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/driveactivity_v2.yaml create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_request.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_response.proto create mode 100644 google-cloud/protos/google/apps/drive/activity/v2/target.proto create mode 100644 google-cloud/protos/google/apps/market/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/market/v2/appsmarket_v2.yaml create mode 100644 google-cloud/protos/google/apps/market/v2/resources.proto create mode 100644 google-cloud/protos/google/apps/market/v2/service_grpc_service_config.json create mode 100644 google-cloud/protos/google/apps/market/v2/services.proto create mode 100644 google-cloud/protos/google/apps/script/type/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/addon_widget_set.proto create mode 100644 google-cloud/protos/google/apps/script/type/calendar/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/calendar/calendar_addon_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/docs/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/docs/docs_addon_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/drive/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/drive/drive_addon_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/extension_point.proto create mode 100644 google-cloud/protos/google/apps/script/type/gmail/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/gmail/gmail_addon_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/script_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/sheets/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/sheets/sheets_addon_manifest.proto create mode 100644 google-cloud/protos/google/apps/script/type/slides/BUILD.bazel create mode 100644 google-cloud/protos/google/apps/script/type/slides/slides_addon_manifest.proto create mode 100644 google-cloud/protos/google/area120/tables/BUILD.bazel create mode 100644 google-cloud/protos/google/area120/tables/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/area120/tables/v1alpha1/area120tables_v1alpha1.yaml create mode 100644 google-cloud/protos/google/area120/tables/v1alpha1/language_gapic.yaml create mode 100644 google-cloud/protos/google/area120/tables/v1alpha1/tables.proto create mode 100644 google-cloud/protos/google/area120/tables/v1alpha1/tables_grpc_service_config.json delete mode 100644 google-cloud/protos/google/artman_core.yaml delete mode 100644 google-cloud/protos/google/artman_logging_external_types.yaml delete mode 100644 google-cloud/protos/google/bigtable/admin/artman_bigtableadmin.yaml delete mode 100644 google-cloud/protos/google/bigtable/admin/bigtableadmin.yaml delete mode 100644 google-cloud/protos/google/bigtable/admin/cluster/bigtableclusteradmin.yaml delete mode 100644 google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto delete mode 100644 google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service.proto delete mode 100644 google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto delete mode 100644 google-cloud/protos/google/bigtable/admin/table/bigtabletableadmin.yaml delete mode 100644 google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_data.proto delete mode 100644 google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service.proto delete mode 100644 google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service_messages.proto create mode 100755 google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_grpc_service_config.json create mode 100644 google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_v2.yaml delete mode 100644 google-cloud/protos/google/bigtable/artman_bigtable.yaml delete mode 100644 google-cloud/protos/google/bigtable/bigtable.yaml delete mode 100644 google-cloud/protos/google/bigtable/v1/bigtable_data.proto delete mode 100644 google-cloud/protos/google/bigtable/v1/bigtable_service.proto delete mode 100644 google-cloud/protos/google/bigtable/v1/bigtable_service_messages.proto create mode 100644 google-cloud/protos/google/bigtable/v1/readme.md create mode 100755 google-cloud/protos/google/bigtable/v2/bigtable_grpc_service_config.json create mode 100644 google-cloud/protos/google/bigtable/v2/bigtable_v2.yaml create mode 100644 google-cloud/protos/google/bigtable/v2/request_stats.proto create mode 100644 google-cloud/protos/google/bigtable/v2/response_params.proto create mode 100644 google-cloud/protos/google/chat/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/chat/logging/v1/chat_app_log_entry.proto create mode 100644 google-cloud/protos/google/chromeos/moblab/BUILD.bazel create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/build_service.proto create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_gapic.yaml create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_v1beta1.yaml create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/moblab_grpc_service_config.json create mode 100644 google-cloud/protos/google/chromeos/moblab/v1beta1/resources.proto create mode 100644 google-cloud/protos/google/chromeos/uidetection/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/chromeos/uidetection/v1/chromeosuidetection_v1.yaml create mode 100644 google-cloud/protos/google/chromeos/uidetection/v1/ui_detection.proto create mode 100644 google-cloud/protos/google/chromeos/uidetection/v1/ui_detection_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/accessapproval/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/accessapproval/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/accessapproval/v1/accessapproval.proto create mode 100644 google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_v1.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/logging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/logging/prediction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/accelerator_type.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_v1.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/annotation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/annotation_spec.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/artifact.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/batch_prediction_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/completion_stats.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/context.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/custom_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/data_item.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/data_labeling_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/dataset.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/dataset_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/deployed_index_ref.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/deployed_model_ref.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/encryption_spec.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/endpoint.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/endpoint_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/entity_type.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/env_var.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/event.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/execution.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/explanation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/explanation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/feature.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/feature_monitoring_stats.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/feature_selector.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/featurestore.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/featurestore_monitoring.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/featurestore_online_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/featurestore_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/index.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/index_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/io.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/job_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/job_state.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/lineage_subgraph.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/machine_resources.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/manual_batch_tuning_parameters.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/metadata_schema.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/metadata_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/metadata_store.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/migratable_resource.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/migration_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation_slice.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model_monitoring.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/model_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/operation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/pipeline_failure_policy.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/pipeline_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/pipeline_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/pipeline_state.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/saved_query.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/aiplatform_v1.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_regression.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_tables.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/export_evaluated_data_items_config.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/study.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_data.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_experiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_run.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_time_series.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/training_pipeline.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/types.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/unmanaged_container_model.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/user_action_reference.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/value.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1/vizier_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/accelerator_type.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/aiplatform_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/aiplatform_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/annotation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/annotation_spec.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/artifact.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/completion_stats.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/context.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/custom_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/data_item.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/data_labeling_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/dataset.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/dataset_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/deployed_index_ref.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/deployed_model_ref.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/deployment_resource_pool.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/deployment_resource_pool_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/encryption_spec.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/endpoint.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/endpoint_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/entity_type.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/env_var.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/event.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/execution.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/explanation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/explanation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/feature.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/feature_monitoring_stats.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/feature_selector.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/featurestore.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/featurestore_online_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/featurestore_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/index.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/index_endpoint.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/index_endpoint_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/index_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/io.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/job_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/job_state.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/lineage_subgraph.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/machine_resources.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/metadata_schema.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/metadata_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/metadata_store.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/migratable_resource.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/migration_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model_evaluation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model_evaluation_slice.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model_monitoring.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/model_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/operation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/pipeline_job.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/pipeline_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/pipeline_state.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/saved_query.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/aiplatform_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/annotation_payload.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/annotation_spec_color.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/data_item_payload.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/dataset_metadata.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/geometry.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/io_format.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/text_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/instance/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/params/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/tabular_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/tabular_regression.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/time_series_forecasting.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/predict/prediction/video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_image_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_image_object_detection.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_image_segmentation.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_tables.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_text_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_text_extraction.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_text_sentiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_time_series_forecasting.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_video_action_recognition.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_video_classification.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/automl_video_object_tracking.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/export_evaluated_data_items_config.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/study.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_data.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_run.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_service.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/training_pipeline.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/types.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/unmanaged_container_model.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/user_action_reference.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/value.proto create mode 100644 google-cloud/protos/google/cloud/aiplatform/v1beta1/vizier_service.proto create mode 100644 google-cloud/protos/google/cloud/apigateway/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/apigateway.proto create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/apigateway_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/apigateway_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/apigateway_service.proto create mode 100644 google-cloud/protos/google/cloud/apigateway/v1/apigateway_v1.yaml create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/v1/apigeeconnect_v1.yaml create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/v1/connection.proto create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/v1/connection_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/apigeeconnect/v1/tether.proto create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/apigeeregistry_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/apigeeregistry_v1.yaml create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/provisioning_service.proto create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/registry_models.proto create mode 100644 google-cloud/protos/google/cloud/apigeeregistry/v1/registry_service.proto delete mode 100644 google-cloud/protos/google/cloud/asset/artman_cloudasset_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/asset/artman_cloudasset_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/asset/artman_cloudasset_v1p2beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/asset/asset_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/asset/asset_v1p2beta1.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/asset/v1/cloudasset_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/asset/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/asset/v1beta1/asset_service.proto delete mode 100644 google-cloud/protos/google/cloud/asset/v1beta1/assets.proto delete mode 100644 google-cloud/protos/google/cloud/asset/v1beta1/cloudasset_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/asset/v1p1beta1/asset_service.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p1beta1/assets.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p1beta1/cloudasset_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/asset/v1p1beta1/cloudasset_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/asset/v1p1beta1/cloudasset_v1p1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p2beta1/BUILD.bazel create mode 100755 google-cloud/protos/google/cloud/asset/v1p2beta1/cloudasset_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/asset/v1p2beta1/cloudasset_v1p2beta1.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/asset_service.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/assets.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/cloudasset_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/cloudasset_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/asset/v1p5beta1/cloudasset_v1p5beta1.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/asset_service.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/assets.proto create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/cloudasset_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/cloudasset_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/asset/v1p7beta1/cloudasset_v1p7beta1.yaml create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/regulatoryintercept/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/regulatoryintercept/logging/v1/regulatory_intercept_ack_log_entry.proto create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1/assuredworkloads.proto create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1/assuredworkloads_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1/assuredworkloads_v1.yaml create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1beta1/assuredworkloads.proto create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1beta1/assuredworkloads_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1beta1/assuredworkloads_service.proto create mode 100644 google-cloud/protos/google/cloud/assuredworkloads/v1beta1/assuredworkloads_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/audit/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/audit/bigquery_audit_metadata.proto create mode 100644 google-cloud/protos/google/cloud/audit/cloudaudit.yaml delete mode 100644 google-cloud/protos/google/cloud/automl/artman_automl_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/automl/artman_automl_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/automl/automl_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/automl/automl_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/automl/v1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/automl/v1/automl_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/automl/v1/automl_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/automl/v1/automl_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/automl/v1beta1/automl_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/automl/v1beta1/automl_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/automl/v1beta1/automl_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/baremetalsolution.proto create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/baremetalsolution_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/baremetalsolution_v2.yaml create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/instance.proto create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/lun.proto create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/network.proto create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/nfs_share.proto create mode 100644 google-cloud/protos/google/cloud/baremetalsolution/v2/volume.proto create mode 100644 google-cloud/protos/google/cloud/batch/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/batch/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/batch/v1/batch.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1/batch_v1.yaml create mode 100644 google-cloud/protos/google/cloud/batch/v1/batch_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/batch/v1/job.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1/task.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1/volume.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/batch.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/batch_v1alpha.yaml create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/batch_v1alpha_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/job.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/task.proto create mode 100644 google-cloud/protos/google/cloud/batch/v1alpha/volume.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnections/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnections/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnections/v1/app_connections_service.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnections/v1/beyondcorp-appconnections_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnections/v1/beyondcorp_v1.yaml create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/app_connector_instance_config.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/app_connectors_service.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/beyondcorp-appconnectors_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/beyondcorp_v1.yaml create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appconnectors/v1/resource_info.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appgateways/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appgateways/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appgateways/v1/app_gateways_service.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appgateways/v1/beyondcorp-appgateways_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/beyondcorp/appgateways/v1/beyondcorp_v1.yaml create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientconnectorservices/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientconnectorservices/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientconnectorservices/v1/beyondcorp-clientconnectorservices_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientconnectorservices/v1/beyondcorp_v1.yaml create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientconnectorservices/v1/client_connector_services_service.proto create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientgateways/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientgateways/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientgateways/v1/beyondcorp-clientgateways_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientgateways/v1/beyondcorp_v1.yaml create mode 100644 google-cloud/protos/google/cloud/beyondcorp/clientgateways/v1/client_gateways_service.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/analyticshub/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/analyticshub/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/analyticshub/v1/analyticshub.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/analyticshub/v1/analyticshub_v1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/analyticshub/v1/analyticshub_v1_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/bigquery/artman_bigquery_v2.yaml delete mode 100644 google-cloud/protos/google/cloud/bigquery/bigquery_v2.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/cloud/bigquery/connection/v1/bigqueryconnection_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1/bigqueryconnection_v1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1/connection.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1/connection_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1beta1/artman_bigqueryconnection_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/bigquery/connection/v1beta1/bigqueryconnection_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/bigquery/connection/v1beta1/bigqueryconnection_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/dataexchange/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/dataexchange/v1beta1/analyticshub_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/dataexchange/v1beta1/analyticshub_v1beta1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/dataexchange/v1beta1/dataexchange.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/datapolicies/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/datapolicies/v1beta1/bigquerydatapolicy_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicies_v1beta1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto delete mode 100644 google-cloud/protos/google/cloud/bigquery/datatransfer/artman_bigquerydatatransfer.yaml delete mode 100644 google-cloud/protos/google/cloud/bigquery/datatransfer/v1/bigquerydatatransfer_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/bigquery/datatransfer/v1/datasource.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/bigquerymigration_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/bigquerymigration_v2.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/migration_entities.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/migration_error_details.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/migration_metrics.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/migration_service.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2/translation_config.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/assessment_task.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/bigquerymigration_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/bigquerymigration_v2alpha.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/gapic.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/migration_entities.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/migration_error_details.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/migration_metrics.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/migration_service.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/translation_service.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/migration/v2alpha/translation_task.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/cloud/bigquery/reservation/v1/bigqueryreservation_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1/bigqueryreservation_v1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1/reservation.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1beta1/bigqueryreservation_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/bigquery/reservation/v1beta1/bigqueryreservation_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1beta1/bigqueryreservation_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/reservation/v1beta1/reservation.proto delete mode 100644 google-cloud/protos/google/cloud/bigquery/storage/artman_bigquerystorage_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/annotations.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/arrow.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/avro.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/bigquerystorage_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/bigquerystorage_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/bigquerystorage_v1.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/protobuf.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/storage.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/stream.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1/table.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/arrow.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/avro.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/bigquerystorage_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/bigquerystorage_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/bigquerystorage_v1beta2.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/protobuf.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/storage.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/stream.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/storage/v1beta2/table.proto create mode 100644 google-cloud/protos/google/cloud/bigquery/v2/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/bigquery/v2/bigquery_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/bigquery/v2/bigquery_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/bigquery/v2/table_reference.proto create mode 100644 google-cloud/protos/google/cloud/billing/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/billing/budgets/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/billing/budgets/artman_billingbudgets_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/billing/budgets/billingbudgets.yaml create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/billingbudget_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/billingbudgets.yaml create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/billingbudgets_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/budget_model.proto create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1/budget_service.proto create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1beta1/billingbudgets.yaml delete mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1beta1/billingbudgets_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/billing/budgets/v1beta1/billingbudgets_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/billing/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/billing/v1/cloud_billing_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/billing/v1/cloud_catalog.proto create mode 100644 google-cloud/protos/google/cloud/billing/v1/cloudbilling.yaml create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/binaryauthorization/artman_binaryauthorization_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1/binaryauthorization_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1/binaryauthorization_v1.yaml create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1beta1/binaryauthorization_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1beta1/binaryauthorization_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/binaryauthorization/v1beta1/continuous_validation_logging.proto create mode 100644 google-cloud/protos/google/cloud/certificatemanager/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/certificatemanager/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/certificatemanager/logging/v1/logs.proto create mode 100644 google-cloud/protos/google/cloud/certificatemanager/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/certificatemanager/v1/certificate_issuance_config.proto create mode 100644 google-cloud/protos/google/cloud/certificatemanager/v1/certificate_manager.proto create mode 100644 google-cloud/protos/google/cloud/certificatemanager/v1/certificatemanager_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/certificatemanager/v1/certificatemanager_v1.yaml create mode 100644 google-cloud/protos/google/cloud/channel/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/channel/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/channel/v1/channel_partner_links.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/cloudchannel_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/channel/v1/cloudchannel_v1.yaml create mode 100644 google-cloud/protos/google/cloud/channel/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/customers.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/entitlements.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/offers.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/operations.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/products.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/reports_service.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/repricing.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/channel/v1/subscriber_event.proto create mode 100644 google-cloud/protos/google/cloud/clouddms/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/clouddms/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/clouddms/logging/v1/clouddms_platform_logs.proto create mode 100644 google-cloud/protos/google/cloud/clouddms/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/clouddms/v1/clouddms.proto create mode 100644 google-cloud/protos/google/cloud/clouddms/v1/clouddms_resources.proto create mode 100644 google-cloud/protos/google/cloud/clouddms/v1/datamigration_v1.yaml create mode 100644 google-cloud/protos/google/cloud/clouddms/v1/library_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/cloudsetup/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/cloudsetup/logging/v1/complete_deployment.proto create mode 100644 google-cloud/protos/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/commerce/consumer/procurement/v1alpha1/cloudcommerceconsumerprocurement_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/commerce/consumer/procurement/v1alpha1/commerceconsumerprocurement_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/commerce/consumer/procurement/v1alpha1/order.proto create mode 100644 google-cloud/protos/google/cloud/commerce/consumer/procurement/v1alpha1/procurement_service.proto create mode 100644 google-cloud/protos/google/cloud/common/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/common/common.yaml create mode 100644 google-cloud/protos/google/cloud/common/operation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/compute/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/compute/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/compute/v1/compute.proto create mode 100644 google-cloud/protos/google/cloud/compute/v1/compute.v1.json create mode 100755 google-cloud/protos/google/cloud/compute/v1/compute_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/compute/v1/compute_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/compute/v1/compute_v1.yaml create mode 100644 google-cloud/protos/google/cloud/compute/v1small/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/compute/v1small/README.md create mode 100644 google-cloud/protos/google/cloud/compute/v1small/compute.v1small.json create mode 100644 google-cloud/protos/google/cloud/compute/v1small/compute_small.proto create mode 100755 google-cloud/protos/google/cloud/compute/v1small/compute_small_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/compute/v1small/compute_small_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/compute/v1small/compute_small_v1.yaml create mode 100644 google-cloud/protos/google/cloud/connectors/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/connectors/v1/authconfig.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connection.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connector.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connector_version.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connectors_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connectors_service.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/connectors_v1.yaml create mode 100644 google-cloud/protos/google/cloud/connectors/v1/destination_config.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/provider.proto create mode 100644 google-cloud/protos/google/cloud/connectors/v1/runtime.proto create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/v1/contact_center_insights.proto create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/v1/contactcenterinsights_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/v1/contactcenterinsights_v1.yaml create mode 100644 google-cloud/protos/google/cloud/contactcenterinsights/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/async_document_service_request.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/contentwarehouse_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/contentwarehouse_v1.yaml create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document_link_service.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document_schema.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document_schema_service.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document_service.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/document_service_request.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/filters.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/histogram.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/rule_engine.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/ruleset_service.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/ruleset_service_request.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/synonymset.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/synonymset_service.proto create mode 100644 google-cloud/protos/google/cloud/contentwarehouse/v1/synonymset_service_request.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/datacatalog/artman_datacatalog_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/datacatalog/datacatalog_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/bigquery.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/data_source.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/datacatalog.proto create mode 100755 google-cloud/protos/google/cloud/datacatalog/v1/datacatalog_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/datacatalog_v1.yaml create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/dataplex_spec.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/gcs_fileset_spec.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/physical_schema.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/policytagmanager.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/policytagmanagerserialization.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/schema.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/search.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/table_spec.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/tags.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/timestamps.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1/usage.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1beta1/common.proto create mode 100755 google-cloud/protos/google/cloud/datacatalog/v1beta1/datacatalog_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1beta1/datacatalog_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1beta1/policytagmanager.proto create mode 100644 google-cloud/protos/google/cloud/datacatalog/v1beta1/policytagmanagerserialization.proto create mode 100644 google-cloud/protos/google/cloud/dataform/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataform/v1alpha2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataform/v1alpha2/dataform.proto create mode 100644 google-cloud/protos/google/cloud/dataform/v1alpha2/dataform_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dataform/v1alpha2/dataform_v1alpha2.yaml create mode 100644 google-cloud/protos/google/cloud/dataform/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataform/v1beta1/dataform.proto create mode 100644 google-cloud/protos/google/cloud/dataform/v1beta1/dataform_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dataform/v1beta1/dataform_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/datafusion/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datafusion/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datafusion/v1/datafusion.proto create mode 100644 google-cloud/protos/google/cloud/datafusion/v1/datafusion_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datafusion/v1/datafusion_v1.yaml create mode 100644 google-cloud/protos/google/cloud/datafusion/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datafusion/v1beta1/datafusion_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datafusion/v1beta1/datafusion_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/datafusion/v1beta1/v1beta1.proto create mode 100644 google-cloud/protos/google/cloud/datalabeling/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/datalabeling/artman_datalabeling_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/datalabeling/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/datalabeling/v1beta1/datalabeling_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/datalabeling/v1beta1/datalabeling_grpc_service_config.json rename google-cloud/protos/google/cloud/datalabeling/{ => v1beta1}/datalabeling_v1beta1.yaml (84%) create mode 100644 google-cloud/protos/google/cloud/dataplex/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/analyze.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/content.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/dataplex_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/dataplex_v1.yaml create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/logs.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/metadata.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/dataplex/v1/tasks.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/artman_dataproc_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/dataproc/artman_dataproc_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/dataproc/dataproc.yaml create mode 100644 google-cloud/protos/google/cloud/dataproc/logging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataproc/logging/autoscaler_log.proto create mode 100644 google-cloud/protos/google/cloud/dataproc/v1/batches.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1/dataproc.yaml create mode 100755 google-cloud/protos/google/cloud/dataproc/v1/dataproc_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/autoscaling_policies.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/clusters.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc.yaml delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/jobs.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/operations.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/shared.proto delete mode 100644 google-cloud/protos/google/cloud/dataproc/v1beta2/workflow_templates.proto create mode 100644 google-cloud/protos/google/cloud/dataqna/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/annotated_string.proto create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/auto_suggestion_service.proto create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_v1alpha.yaml create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/question.proto create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/question_service.proto create mode 100644 google-cloud/protos/google/cloud/dataqna/v1alpha/user_feedback.proto create mode 100644 google-cloud/protos/google/cloud/datastream/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datastream/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datastream/v1/datastream.proto create mode 100644 google-cloud/protos/google/cloud/datastream/v1/datastream_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datastream/v1/datastream_resources.proto create mode 100644 google-cloud/protos/google/cloud/datastream/v1/datastream_v1.yaml create mode 100644 google-cloud/protos/google/cloud/datastream/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/datastream/v1alpha1/datastream.proto create mode 100644 google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_resources.proto create mode 100644 google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/deploy/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/deploy/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/deploy/v1/cloud_deploy.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/clouddeploy_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/deploy/v1/clouddeploy_v1.yaml create mode 100644 google-cloud/protos/google/cloud/deploy/v1/deliverypipeline_notification_payload.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/jobrun_notification_payload.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/log_enums.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/release_notification_payload.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/release_render_payload.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/rollout_notification_payload.proto create mode 100644 google-cloud/protos/google/cloud/deploy/v1/target_notification_payload.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/agent.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/audio_config.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/changelog.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/deployment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_v3.yaml create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/entity_type.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/environment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/experiment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/flow.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/intent.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/page.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/response_message.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/security_settings.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/session.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/session_entity_type.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/test_case.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/validation_message.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/version.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3/webhook.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/advanced_settings.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/agent.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/changelog.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/deployment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/dialogflow_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/dialogflow_v3beta1.yaml create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/entity_type.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/environment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/experiment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/intent.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/page.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/response_message.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/security_settings.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/session.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/session_entity_type.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/validation_message.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/version.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/answer_record.proto delete mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/artman_dialogflow_v2.yaml create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/conversation.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/conversation_dataset.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/conversation_event.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/conversation_model.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/conversation_profile.proto delete mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/dialogflow_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/dialogflow/v2/dialogflow_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/document.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/environment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/fulfillment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/gcs.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/human_agent_assistant_event.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/knowledge_base.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/participant.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/validation_result.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2/version.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/answer_record.proto delete mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/artman_dialogflow_v2beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/artman_dialogflow_v2beta1_java.yaml create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/conversation.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/conversation_event.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/conversation_profile.proto delete mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/dialogflow_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/dialogflow/v2beta1/dialogflow_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/environment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/fulfillment.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/human_agent_assistant_event.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/participant.proto create mode 100644 google-cloud/protos/google/cloud/dialogflow/v2beta1/version.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/common.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/discoveryengine_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/discoveryengine_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/document.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/document_service.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/import_config.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/recommendation_service.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/user_event.proto create mode 100644 google-cloud/protos/google/cloud/discoveryengine/v1beta/user_event_service.proto delete mode 100644 google-cloud/protos/google/cloud/documentai/artman_documentai_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/documentai/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/documentai/v1/barcode.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/document.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/document_io.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/document_processor_service.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/document_schema.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/documentai_v1.yaml create mode 100644 google-cloud/protos/google/cloud/documentai/v1/documentai_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/documentai/v1/geometry.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/operation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/processor.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1/processor_type.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta1/BUILD.bazel create mode 100755 google-cloud/protos/google/cloud/documentai/v1beta1/documentai_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/document.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/document_understanding.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/documentai_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/documentai_v1beta2.yaml create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/documentai_v1beta2_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta2/geometry.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/barcode.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/document.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/document_io.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/document_processor_service.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/document_schema.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/documentai_v1beta3.yaml create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/documentai_v1beta3_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/geometry.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/operation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/processor.proto create mode 100644 google-cloud/protos/google/cloud/documentai/v1beta3/processor_type.proto create mode 100644 google-cloud/protos/google/cloud/domains/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/domains/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/domains/v1/domains.proto create mode 100644 google-cloud/protos/google/cloud/domains/v1/domains_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/domains/v1/domains_v1.yaml create mode 100644 google-cloud/protos/google/cloud/domains/v1alpha2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/domains/v1alpha2/domains.proto create mode 100644 google-cloud/protos/google/cloud/domains/v1alpha2/domains_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/domains/v1alpha2/domains_v1alpha2.yaml create mode 100644 google-cloud/protos/google/cloud/domains/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/domains/v1beta1/domains.proto create mode 100644 google-cloud/protos/google/cloud/domains/v1beta1/domains_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/domains/v1beta1/domains_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/edgecontainer/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/edgecontainer/v1/edgecontainer_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/edgecontainer/v1/edgecontainer_v1.yaml create mode 100644 google-cloud/protos/google/cloud/edgecontainer/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/edgecontainer/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/enterpriseknowledgegraph_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/enterpriseknowledgegraph_v1.yaml create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/job_state.proto create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/operation_metadata.proto create mode 100644 google-cloud/protos/google/cloud/enterpriseknowledgegraph/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/v1/enums.proto create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/v1/essentialcontacts_v1.yaml create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/v1/essentialcontacts_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/essentialcontacts/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/eventarc/publishing/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/eventarc/publishing/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/eventarc/publishing/v1/eventarcpublishing_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/eventarc/publishing/v1/eventarcpublishing_v1.yaml create mode 100644 google-cloud/protos/google/cloud/eventarc/publishing/v1/publisher.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/channel.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/channel_connection.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/discovery.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/eventarc.proto create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/eventarc_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/eventarc_v1.yaml create mode 100644 google-cloud/protos/google/cloud/eventarc/v1/trigger.proto create mode 100644 google-cloud/protos/google/cloud/extended_operations.proto create mode 100644 google-cloud/protos/google/cloud/filestore/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/filestore/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/filestore/v1/cloud_filestore_service.proto create mode 100644 google-cloud/protos/google/cloud/filestore/v1/file_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/filestore/v1/file_v1.yaml create mode 100644 google-cloud/protos/google/cloud/filestore/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/filestore/v1beta1/cloud_filestore_service.proto create mode 100644 google-cloud/protos/google/cloud/filestore/v1beta1/file_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/filestore/v1beta1/file_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/filestore/v1beta1/file_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/functions/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/functions/artman_functions.yaml create mode 100644 google-cloud/protos/google/cloud/functions/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/functions/v1/cloudfunctions_v1.yaml create mode 100644 google-cloud/protos/google/cloud/functions/v1/functions.proto create mode 100644 google-cloud/protos/google/cloud/functions/v1/functions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/functions/v1/operations.proto delete mode 100644 google-cloud/protos/google/cloud/functions/v1beta2/cloudfunctions_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/functions/v1beta2/functions.proto delete mode 100644 google-cloud/protos/google/cloud/functions/v1beta2/functions_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/functions/v1beta2/functions_gapic.yaml delete mode 100755 google-cloud/protos/google/cloud/functions/v1beta2/functions_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/functions/v1beta2/operations.proto create mode 100644 google-cloud/protos/google/cloud/functions/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/functions/v2/cloudfunctions_v2.yaml create mode 100644 google-cloud/protos/google/cloud/functions/v2/functions.proto create mode 100644 google-cloud/protos/google/cloud/functions/v2/functions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/functions/v2alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/functions/v2alpha/cloudfunctions_v2alpha.yaml create mode 100644 google-cloud/protos/google/cloud/functions/v2alpha/functions.proto create mode 100644 google-cloud/protos/google/cloud/functions/v2alpha/functions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/functions/v2beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/functions/v2beta/cloudfunctions_v2beta.yaml create mode 100644 google-cloud/protos/google/cloud/functions/v2beta/functions.proto create mode 100644 google-cloud/protos/google/cloud/functions/v2beta/functions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gaming/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gaming/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gaming/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_clusters.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_clusters_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_configs.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_configs_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_deployments.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/game_server_deployments_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/gameservices_v1.yaml create mode 100644 google-cloud/protos/google/cloud/gaming/v1/gaming_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gaming/v1/realms.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1/realms_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/common.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_clusters.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_clusters_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_configs.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_configs_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_deployments.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/game_server_deployments_service.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/gameservices_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/gaming_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/gaming_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/realms.proto create mode 100644 google-cloud/protos/google/cloud/gaming/v1beta/realms_service.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logged_backup.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logged_backup_plan.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logged_common.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logged_restore.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logged_restore_plan.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/logging/v1/logging.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/backup.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/backup_plan.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/gkebackup.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/gkebackup_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/gkebackup_v1.yaml create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/restore.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/restore_plan.proto create mode 100644 google-cloud/protos/google/cloud/gkebackup/v1/volume.proto create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1/connectgateway_v1.yaml create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1/connectgw_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1/gateway.proto create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1alpha1/connectgateway_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1alpha1/connectgw_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1alpha1/gateway.proto create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1beta1/connectgateway_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1beta1/connectgw_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkeconnect/gateway/v1beta1/gateway.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/configmanagement/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/configmanagement/configmanagement.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/feature.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/gkehub_v1.yaml create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/membership.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/multiclusteringress/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/multiclusteringress/multiclusteringress.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1/v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/cloudauditlogging/cloudauditlogging.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/configmanagement/configmanagement.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/feature.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/gkehub_v1alpha.yaml create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/metering/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/metering/metering.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/multiclusteringress/multiclusteringress.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/service.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/servicemesh/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/servicemesh/servicemesh.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha/v1alpha_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha2/gkehub_v1alpha2.yaml create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha2/membership.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1alpha2/membership_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/configmanagement/configmanagement.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/feature.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/gkehub_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/metering/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/metering/metering.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/multiclusteringress/multiclusteringress.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/service.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta/v1beta_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta1/gkehub_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta1/membership.proto create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta1/membership_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkehub/v1beta1/memberships_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/aws_resources.proto create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/aws_service.proto create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/azure_resources.proto create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/azure_service.proto create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/common_resources.proto create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/gkemulticloud_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gkemulticloud/v1/gkemulticloud_v1.yaml create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/logging/v1/g_suite_add_ons_log_entry.proto create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/v1/gsuiteaddons.proto create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/v1/gsuiteaddons_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/v1/gsuiteaddons_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/gsuiteaddons/v1/gsuiteaddons_v1.yaml create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/annotation.proto create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/consent.proto create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/deid.proto create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/dicom.proto create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/fhir.proto create mode 100644 google-cloud/protos/google/cloud/healthcare/logging/hl7v2.proto create mode 100644 google-cloud/protos/google/cloud/iap/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/iap/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/iap/v1/iap_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/iap/v1/iap_v1.yaml create mode 100644 google-cloud/protos/google/cloud/iap/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/iap/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/iap/v1beta1/iap_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/iap/v1beta1/iap_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/iap/v1beta1/service.proto create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/logging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/logging/request_log.proto create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/account_management_service.proto create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/authentication_service.proto create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/identitytoolkit_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/identitytoolkit_v2.yaml create mode 100644 google-cloud/protos/google/cloud/identitytoolkit/v2/mfa_info.proto create mode 100644 google-cloud/protos/google/cloud/ids/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/ids/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/ids/logging/v1/logging.proto create mode 100644 google-cloud/protos/google/cloud/ids/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/ids/v1/ids.proto create mode 100644 google-cloud/protos/google/cloud/ids/v1/ids_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/ids/v1/ids_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/ids/v1/ids_v1.yaml create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/event_parameter.proto create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/json_validation.proto create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/log_entries.proto create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/product.proto create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/task_config.proto create mode 100644 google-cloud/protos/google/cloud/integrations/v1alpha/value_type.proto delete mode 100644 google-cloud/protos/google/cloud/iot/artman_cloudiot.yaml delete mode 100644 google-cloud/protos/google/cloud/iot/v1/cloudiot_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/iot/v1/cloudiot_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/irm/artman_irm_v1alpha2.yaml delete mode 100644 google-cloud/protos/google/cloud/irm/irm_v1alpha2.yaml delete mode 100644 google-cloud/protos/google/cloud/irm/v1alpha2/incidents.proto delete mode 100644 google-cloud/protos/google/cloud/irm/v1alpha2/incidents_service.proto delete mode 100644 google-cloud/protos/google/cloud/irm/v1alpha2/irm_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/kms/artman_cloudkms.yaml delete mode 100644 google-cloud/protos/google/cloud/kms/cloudkms.yaml delete mode 100644 google-cloud/protos/google/cloud/kms/v1/cloudkms_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/kms/v1/cloudkms_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/kms/v1/cloudkms_v1.yaml create mode 100644 google-cloud/protos/google/cloud/kms/v1/ekm_service.proto create mode 100644 google-cloud/protos/google/cloud/kubernetes/security/containersecurity_logging/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/kubernetes/security/containersecurity_logging/logging.proto delete mode 100644 google-cloud/protos/google/cloud/language/artman_language_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/language/artman_language_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/language/language.yaml delete mode 100644 google-cloud/protos/google/cloud/language/language_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/language/language_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/language/v1/language_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/language/v1/language_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/language/v1/language_v1.yaml create mode 100644 google-cloud/protos/google/cloud/language/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/language/v1beta1/language_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/language/v1beta2/language_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/language/v1beta2/language_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/lifesciences/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/lifesciences/v2beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/lifesciences/v2beta/lifesciences_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/lifesciences/v2beta/lifesciences_v2beta.yaml create mode 100644 google-cloud/protos/google/cloud/lifesciences/v2beta/workflows.proto create mode 100644 google-cloud/protos/google/cloud/location/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/location/cloud.yaml create mode 100644 google-cloud/protos/google/cloud/managedidentities/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1/managed_identities_service.proto create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1/managedidentities_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1/managedidentities_v1.yaml create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1/resource.proto create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/managed_identities_service.proto create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/managedidentities_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/managedidentities_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/managedidentities_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/managedidentities/v1beta1/resource.proto create mode 100644 google-cloud/protos/google/cloud/mediatranslation/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1alpha1/media_translation.proto create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1alpha1/mediatranslation_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1alpha1/mediatranslation_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1beta1/media_translation.proto create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1beta1/mediatranslation_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1beta1/mediatranslation_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/mediatranslation/v1beta1/mediatranslation_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/memcache/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/memcache/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/memcache/v1/cloud_memcache.proto create mode 100644 google-cloud/protos/google/cloud/memcache/v1/memcache_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/memcache/v1/memcache_v1.yaml create mode 100644 google-cloud/protos/google/cloud/memcache/v1beta2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/memcache/v1beta2/cloud_memcache.proto create mode 100644 google-cloud/protos/google/cloud/memcache/v1beta2/memcache_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/memcache/v1beta2/memcache_v1beta2.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/metastore/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/metastore/logging/v1/log_streams.proto create mode 100644 google-cloud/protos/google/cloud/metastore/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/metastore/v1/metastore.proto create mode 100644 google-cloud/protos/google/cloud/metastore/v1/metastore_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/v1/metastore_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/metastore/v1/metastore_v1.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/metastore/v1alpha/metastore.proto create mode 100644 google-cloud/protos/google/cloud/metastore/v1alpha/metastore_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/v1alpha/metastore_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/metastore/v1alpha/metastore_v1alpha.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/metastore/v1beta/metastore.proto create mode 100644 google-cloud/protos/google/cloud/metastore/v1beta/metastore_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/metastore/v1beta/metastore_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/metastore/v1beta/metastore_v1beta.yaml delete mode 100644 google-cloud/protos/google/cloud/ml/v1/job_service.proto delete mode 100644 google-cloud/protos/google/cloud/ml/v1/model_service.proto delete mode 100644 google-cloud/protos/google/cloud/ml/v1/operation_metadata.proto delete mode 100644 google-cloud/protos/google/cloud/ml/v1/prediction_service.proto delete mode 100644 google-cloud/protos/google/cloud/ml/v1/project_service.proto create mode 100644 google-cloud/protos/google/cloud/networkanalyzer/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkanalyzer/logging/v1/analyzer_log.proto create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1/hub.proto create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1/networkconnectivity_v1.yaml create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1/networkconnectivity_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1alpha1/common.proto create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1alpha1/hub.proto create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/networkmanagement/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/connectivity_test.proto create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/networkmanagement_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/networkmanagement_v1.yaml create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/reachability.proto create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1/trace.proto create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/connectivity_test.proto create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/networkmanagement_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/networkmanagement_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/reachability.proto create mode 100644 google-cloud/protos/google/cloud/networkmanagement/v1beta1/trace.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/authorization_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/client_tls_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/network_security.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/networksecurity_v1.yaml create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/networksecurity_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/server_tls_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1/tls.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/authorization_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/client_tls_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/common.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/network_security.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/networksecurity_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/networksecurity_v1beta1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/server_tls_policy.proto create mode 100644 google-cloud/protos/google/cloud/networksecurity/v1beta1/tls.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/endpoint_policy.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/gateway.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/grpc_route.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/http_route.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/mesh.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/network_services.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/networkservices_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/networkservices_v1.yaml create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/service_binding.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/tcp_route.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1/tls_route.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/common.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/endpoint_policy.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/network_services.proto create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/networkservices_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/networkservices/v1beta1/networkservices_v1beta1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/notebooks/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/notebooks/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/notebooks/logging/v1/runtime_log.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/environment.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/event.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/execution.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/instance.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/instance_config.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/managed_service.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/notebooks_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/notebooks_v1.yaml create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/runtime.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/schedule.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/environment.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/instance.proto create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/notebooks_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/notebooks_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/notebooks/v1beta1/service.proto create mode 100644 google-cloud/protos/google/cloud/optimization/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/optimization/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/optimization/v1/async_model.proto create mode 100644 google-cloud/protos/google/cloud/optimization/v1/cloudoptimization_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/optimization/v1/cloudoptimization_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/optimization/v1/cloudoptimization_v1.yaml create mode 100644 google-cloud/protos/google/cloud/optimization/v1/fleet_routing.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/composer_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/composer_v1.yaml create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/environments.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/image_versions.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1/operations.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/composer_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/composer_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/environments.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/image_versions.proto create mode 100644 google-cloud/protos/google/cloud/orchestration/airflow/service/v1beta1/operations.proto create mode 100644 google-cloud/protos/google/cloud/orgpolicy/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orgpolicy/orgpolicy_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v1/orgpolicy.proto create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v2/constraint.proto create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v2/orgpolicy.proto create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v2/orgpolicy_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/orgpolicy/v2/orgpolicy_v2.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/agentendpoint.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/agentendpoint_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/config_common.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/inventory.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/os_policy.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/osconfig_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/osconfig_v1.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/patch_jobs.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1/tasks.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/guest_policies.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/osconfig_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/osconfig_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/patch_jobs.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/agentendpoint/v1beta/tasks.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/inventory.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/os_policy.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/os_policy_assignment_reports.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/os_policy_assignments.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/osconfig_common.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/osconfig_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/osconfig_service.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/osconfig_v1.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/osconfig_zonal_service.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/patch_deployments.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/patch_jobs.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1/vulnerability.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/config_common.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/instance_os_policies_compliance.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/inventory.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/os_policy.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/os_policy_assignment_reports.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/os_policy_assignments.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/osconfig_common.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/osconfig_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/osconfig_v1alpha.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/osconfig_zonal_service.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1alpha/vulnerability.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/guest_policies.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/osconfig_common.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/osconfig_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/osconfig_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/osconfig_service.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/osconfig_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/patch_deployments.proto create mode 100644 google-cloud/protos/google/cloud/osconfig/v1beta/patch_jobs.proto delete mode 100644 google-cloud/protos/google/cloud/oslogin/artman_oslogin_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/oslogin/artman_oslogin_v1beta.yaml delete mode 100644 google-cloud/protos/google/cloud/oslogin/oslogin_v1beta.yaml delete mode 100644 google-cloud/protos/google/cloud/oslogin/v1/oslogin_gapic.legacy.yaml create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/issuerswitch_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/issuerswitch_v1.yaml create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/resolutions.proto create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/rules.proto create mode 100644 google-cloud/protos/google/cloud/paymentgateway/issuerswitch/v1/transactions.proto create mode 100644 google-cloud/protos/google/cloud/phishingprotection/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/phishingprotection/artman_phishingprotection_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/phishingprotection/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/phishingprotection/v1beta1/phishingprotection_gapic.legacy.yaml create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/v1/checker.proto create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/v1/checker_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/v1/explanations.proto create mode 100644 google-cloud/protos/google/cloud/policytroubleshooter/v1/policytroubleshooter_v1.yaml create mode 100644 google-cloud/protos/google/cloud/privatecatalog/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/privatecatalog/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/privatecatalog/v1beta1/cloudprivatecatalog_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/privatecatalog/v1beta1/cloudprivatecatalog_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/privatecatalog/v1beta1/private_catalog.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/admin.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/common.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/cursor.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/gapic.yaml create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/publisher.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/pubsublite_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/pubsublite_v1.yaml create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/subscriber.proto create mode 100644 google-cloud/protos/google/cloud/pubsublite/v1/topic_stats.proto create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/artman_recaptchaenterprise_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1/recaptchaenterprise_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/recaptchaenterprise/v1/recaptchaenterprise_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1/recaptchaenterprise_v1.yaml create mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/recaptchaenterprise/v1beta1/recaptchaenterprise_gapic.legacy.yaml create mode 100755 google-cloud/protos/google/cloud/recaptchaenterprise/v1beta1/recaptchaenterprise_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/recommendationengine/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/catalog.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/catalog_service.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/common.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/import.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/recommendationengine_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/recommendationengine_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/recommendationengine_resources.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/recommendationengine_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/user_event.proto create mode 100644 google-cloud/protos/google/cloud/recommendationengine/v1beta1/user_event_service.proto create mode 100644 google-cloud/protos/google/cloud/recommender/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/recommender/artman_recommender_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1/action_log.proto create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1/recommender.yaml create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1beta1/action_log.proto create mode 100644 google-cloud/protos/google/cloud/recommender/logging/v1beta1/recommender.yaml create mode 100644 google-cloud/protos/google/cloud/recommender/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommender/v1/insight.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1/insight_type_config.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1/recommendation.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1/recommender_config.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1/recommender_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/recommender/v1/recommender_service.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1/recommender_v1.yaml create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/insight.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/insight_type_config.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/recommender_config.proto create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/recommender_grpc_service_config.json rename google-cloud/protos/google/cloud/recommender/{ => v1beta1}/recommender_v1beta1.yaml (95%) create mode 100644 google-cloud/protos/google/cloud/recommender/v1beta1/samples/list_recommendations.yaml delete mode 100644 google-cloud/protos/google/cloud/redis/artman_redis_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/redis/artman_redis_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/redis/redis_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/redis/redis_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/redis/v1/redis_gapic.legacy.yaml create mode 100755 google-cloud/protos/google/cloud/redis/v1/redis_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/redis/v1beta1/redis_gapic.legacy.yaml create mode 100755 google-cloud/protos/google/cloud/redis/v1beta1/redis_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/resourcemanager/artman_cloudresourcemanager.yaml create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v2/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/resourcemanager/v2/cloudresourcemanager_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/cloudresourcemanager_v3.yaml create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/cloudresourcemanager_v3_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/folders.proto create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/organizations.proto create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/projects.proto create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/tag_bindings.proto create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/tag_keys.proto create mode 100644 google-cloud/protos/google/cloud/resourcemanager/v3/tag_values.proto create mode 100644 google-cloud/protos/google/cloud/resourcesettings/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/resourcesettings/resourcesettings_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/resourcesettings/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/resourcesettings/v1/resource_settings.proto create mode 100644 google-cloud/protos/google/cloud/resourcesettings/v1/resourcesettings_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/resourcesettings/v1/resourcesettings_v1.yaml create mode 100644 google-cloud/protos/google/cloud/retail/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/retail/logging/error_log.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/retail/v2/catalog.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/catalog_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/common.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/completion_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/control.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/control_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/import_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/product.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/product_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/promotion.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/purge_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/retail_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/retail/v2/retail_v2.yaml create mode 100644 google-cloud/protos/google/cloud/retail/v2/search_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/serving_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/serving_config_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/user_event.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2/user_event_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/catalog.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/catalog_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/common.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/completion_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/control.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/control_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/export_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/import_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/model.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/model_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/product.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/product_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/promotion.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/purge_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/retail_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/retail_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/retail_v2alpha.yaml create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/search_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/serving_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/serving_config_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/user_event.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2alpha/user_event_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/catalog.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/catalog_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/common.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/completion_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/control.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/control_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/export_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/import_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/model.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/model_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/prediction_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/product.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/product_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/promotion.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/purge_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/retail_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/retail_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/retail_v2beta.yaml create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/search_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/serving_config.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/serving_config_service.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/user_event.proto create mode 100644 google-cloud/protos/google/cloud/retail/v2beta/user_event_service.proto create mode 100644 google-cloud/protos/google/cloud/run/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/run/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/run/v2/condition.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/k8s.min.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/revision.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/revision_template.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/run_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/run/v2/run_v2.yaml create mode 100644 google-cloud/protos/google/cloud/run/v2/service.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/traffic_target.proto create mode 100644 google-cloud/protos/google/cloud/run/v2/vendor_settings.proto create mode 100644 google-cloud/protos/google/cloud/saasaccelerator/management/logs/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/saasaccelerator/management/logs/v1/notification_service_payload.proto create mode 100644 google-cloud/protos/google/cloud/saasaccelerator/management/logs/v1/saas_instance_payload.proto delete mode 100644 google-cloud/protos/google/cloud/scheduler/artman_cloudscheduler_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/scheduler/artman_cloudscheduler_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/scheduler/v1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/scheduler/v1/cloudscheduler_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/scheduler/v1/cloudscheduler_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/scheduler/v1beta1/cloudscheduler_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/scheduler/v1beta1/cloudscheduler_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/secretmanager/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/secretmanager/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/secretmanager/logging/v1/secret_event.proto create mode 100644 google-cloud/protos/google/cloud/secretmanager/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/secretmanager/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/secretmanager/v1/secretmanager_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/secretmanager/v1/secretmanager_v1.yaml create mode 100644 google-cloud/protos/google/cloud/secretmanager/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/secrets/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/secrets/v1beta1/resources.proto create mode 100644 google-cloud/protos/google/cloud/secrets/v1beta1/secretmanager_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/secrets/v1beta1/secretmanager_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/secrets/v1beta1/service.proto create mode 100644 google-cloud/protos/google/cloud/security/privateca/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1/privateca_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1/privateca_v1.yaml create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1beta1/privateca_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1beta1/privateca_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1beta1/resources.proto create mode 100644 google-cloud/protos/google/cloud/security/privateca/v1beta1/service.proto create mode 100644 google-cloud/protos/google/cloud/security/publicca/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/security/publicca/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/security/publicca/v1beta1/publicca_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/security/publicca/v1beta1/publicca_v1beta1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/security/publicca/v1beta1/resources.proto create mode 100644 google-cloud/protos/google/cloud/security/publicca/v1beta1/service.proto delete mode 100644 google-cloud/protos/google/cloud/securitycenter/artman_securitycenter_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/securitycenter/artman_securitycenter_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/securitycenter/securitycenter_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/securitycenter/securitycenter_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/billing_settings.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/component_settings.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/detector.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/securitycenter_settings.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/securitycenter_settings_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/securitycenter_settings_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/securitycenter_settings_service.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/settings.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/settings/v1beta1/sink_settings.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/access.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/bigquery_export.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/compliance.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/connection.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/contact_details.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/container.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/database.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/exfiltration.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/external_system.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/file.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/folder.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/iam_binding.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/indicator.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/kubernetes.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/label.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/mitre_attack.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/mute_config.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/notification_config.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/notification_message.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/process.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/resource.proto delete mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/securitycenter_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/securitycenter/v1/securitycenter_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/securitycenter_v1.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1/vulnerability.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1beta1/run_asset_discovery_response.proto create mode 100755 google-cloud/protos/google/cloud/securitycenter/v1beta1/securitycenter_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1beta1/securitycenter_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/asset.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/finding.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/folder.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/notification_config.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/notification_message.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/organization_settings.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/resource.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/security_marks.proto create mode 100755 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/securitycenter_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/securitycenter_service.proto create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/securitycenter_v1p1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/securitycenter/v1p1beta1/source.proto create mode 100644 google-cloud/protos/google/cloud/sensitiveaction/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/sensitiveaction/logging/v1/sensitive_action_payload.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/endpoint.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/lookup_service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/namespace.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/registration_service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/servicedirectory_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1/servicedirectory_v1.yaml create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/endpoint.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/lookup_service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/namespace.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/registration_service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/service.proto create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/servicedirectory_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/servicedirectory/v1beta1/servicedirectory_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/shell/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/shell/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/shell/v1/cloudshell.proto create mode 100644 google-cloud/protos/google/cloud/shell/v1/cloudshell_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/shell/v1/cloudshell_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/speech/artman_speech_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/speech/artman_speech_v1p1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/speech/v1/cloud_speech_adaptation.proto create mode 100644 google-cloud/protos/google/cloud/speech/v1/resource.proto delete mode 100644 google-cloud/protos/google/cloud/speech/v1/speech_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/speech/v1/speech_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/speech/v1p1beta1/cloud_speech_adaptation.proto create mode 100644 google-cloud/protos/google/cloud/speech/v1p1beta1/resource.proto delete mode 100644 google-cloud/protos/google/cloud/speech/v1p1beta1/speech_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/speech/v1p1beta1/speech_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/speech/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/speech/v2/cloud_speech.proto create mode 100644 google-cloud/protos/google/cloud/speech/v2/speech_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/speech/v2/speech_v2.yaml create mode 100644 google-cloud/protos/google/cloud/sql/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_backup_runs.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_connect.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_databases.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_flags.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_instance_names.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_instances.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_operations.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_resources.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_ssl_certs.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_tiers.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/cloud_sql_users.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1/sqladmin_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/sql/v1/sqladmin_v1.yaml create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/cloud_sql.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/cloud_sql_connect.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/cloud_sql_resources.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/cloud_sql_tiers.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/cloud_sql_users.proto create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/sqladmin_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/sql/v1beta4/sqladmin_v1beta4.yaml create mode 100644 google-cloud/protos/google/cloud/storageinsights/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/storageinsights/v1/storageinsights.proto create mode 100644 google-cloud/protos/google/cloud/storageinsights/v1/storageinsights_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/storageinsights/v1/storageinsights_v1.yaml create mode 100644 google-cloud/protos/google/cloud/stream/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/stream/logging/v1/logging.proto delete mode 100644 google-cloud/protos/google/cloud/talent/artman_talent_v4beta1.yaml create mode 100644 google-cloud/protos/google/cloud/talent/talent_v4.yaml create mode 100644 google-cloud/protos/google/cloud/talent/v4/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/talent/v4/common.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/company.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/company_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/completion_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/event.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/event_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/filters.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/histogram.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/job.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/job_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/jobs_v4.yaml create mode 100755 google-cloud/protos/google/cloud/talent/v4/talent_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/talent/v4/tenant.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4/tenant_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/application.proto delete mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/application_service.proto create mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/jobs_v4beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/profile.proto delete mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/profile_service.proto delete mode 100644 google-cloud/protos/google/cloud/talent/v4beta1/talent_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/talent/v4beta1/talent_grpc_service_config.json delete mode 100644 google-cloud/protos/google/cloud/tasks/artman_cloudtasks_v2.yaml delete mode 100644 google-cloud/protos/google/cloud/tasks/artman_cloudtasks_v2beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/tasks/artman_cloudtasks_v2beta3.yaml create mode 100644 google-cloud/protos/google/cloud/tasks/v2/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/tasks/v2/cloudtasks_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/tasks/v2beta2/cloudtasks_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/tasks/v2beta2/cloudtasks_grpc_service_config.json rename google-cloud/protos/google/cloud/tasks/{ => v2beta2}/cloudtasks_v2beta2.yaml (89%) create mode 100644 google-cloud/protos/google/cloud/tasks/v2beta2/old_target.proto delete mode 100644 google-cloud/protos/google/cloud/tasks/v2beta3/cloudtasks_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/tasks/v2beta3/cloudtasks_grpc_service_config.json rename google-cloud/protos/google/cloud/tasks/{ => v2beta3}/cloudtasks_v2beta3.yaml (89%) delete mode 100644 google-cloud/protos/google/cloud/texttospeech/artman_texttospeech_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/artman_texttospeech_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/tts.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/tts_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/tts_v1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/v1/texttospeech_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/v1/texttospeech_gapic.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/v1beta1/texttospeech_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/texttospeech/v1beta1/texttospeech_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/timeseriesinsights/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/timeseriesinsights/v1/timeseries_insights.proto create mode 100644 google-cloud/protos/google/cloud/timeseriesinsights/v1/timeseries_insights_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/timeseriesinsights/v1/timeseriesinsights_v1.yaml create mode 100644 google-cloud/protos/google/cloud/tpu/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/tpu/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/tpu/v1/cloud_tpu.proto create mode 100644 google-cloud/protos/google/cloud/tpu/v1/tpu_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/tpu/v1/tpu_v1.yaml create mode 100644 google-cloud/protos/google/cloud/tpu/v2alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto create mode 100644 google-cloud/protos/google/cloud/tpu/v2alpha1/tpu.yaml create mode 100644 google-cloud/protos/google/cloud/tpu/v2alpha1/tpu_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/translate/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/translate/artman_translate_v3.yaml delete mode 100644 google-cloud/protos/google/cloud/translate/artman_translate_v3beta1.yaml create mode 100644 google-cloud/protos/google/cloud/translate/v3/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/translate/v3/translate_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/translate/v3/translate_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/translate/v3beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/translate/v3beta1/translate_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/translate/v3beta1/translate_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/video/livestream/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/livestream/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/livestream/logging/v1/logs.proto create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/livestream_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/livestream_v1.yaml create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/outputs.proto create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/video/livestream/v1/service.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/ad_tag_details.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/cdn_keys.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/companions.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/events.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/sessions.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/slates.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/stitch_details.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/video_stitcher_service.proto create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/videostitcher_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/video/stitcher/v1/videostitcher_v1.yaml create mode 100644 google-cloud/protos/google/cloud/video/transcoder/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/transcoder/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/video/transcoder/v1/resources.proto create mode 100644 google-cloud/protos/google/cloud/video/transcoder/v1/services.proto create mode 100644 google-cloud/protos/google/cloud/video/transcoder/v1/transcoder_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/video/transcoder/v1/transcoder_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/videointelligence/artman_videointelligence_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/videointelligence/artman_videointelligence_v1beta2.yaml delete mode 100644 google-cloud/protos/google/cloud/videointelligence/artman_videointelligence_v1p1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/videointelligence/artman_videointelligence_v1p2beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/videointelligence/artman_videointelligence_v1p3beta1.yaml create mode 100755 google-cloud/protos/google/cloud/videointelligence/v1beta1/videointelligence_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/videointelligence/v1beta2/videointelligence_gapic.legacy.yaml create mode 100755 google-cloud/protos/google/cloud/videointelligence/v1beta2/videointelligence_grpc_service_config.json create mode 100755 google-cloud/protos/google/cloud/videointelligence/v1p1beta1/videointelligence_grpc_service_config.json create mode 100755 google-cloud/protos/google/cloud/videointelligence/v1p2beta1/videointelligence_grpc_service_config.json create mode 100755 google-cloud/protos/google/cloud/videointelligence/v1p3beta1/videointelligence_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/videointelligence/v1p3beta1/videointelligence_v1p3beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/artman_vision_v1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/artman_vision_v1p1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/artman_vision_v1p2beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/artman_vision_v1p3beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/artman_vision_v1p4beta1.yaml create mode 100755 google-cloud/protos/google/cloud/vision/v1p1beta1/vision_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vision/v1p1beta1/vision_v1p1beta1.yaml create mode 100755 google-cloud/protos/google/cloud/vision/v1p2beta1/vision_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vision/v1p2beta1/vision_v1p2beta1.yaml create mode 100755 google-cloud/protos/google/cloud/vision/v1p3beta1/vision_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vision/v1p3beta1/vision_v1p3beta1.yaml create mode 100644 google-cloud/protos/google/cloud/vision/v1p4beta1/face.proto create mode 100755 google-cloud/protos/google/cloud/vision/v1p4beta1/vision_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vision/v1p4beta1/vision_v1p4beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/vision_v1p1beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/vision_v1p2beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/vision_v1p3beta1.yaml delete mode 100644 google-cloud/protos/google/cloud/vision/vision_v1p4beta1.yaml create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/annotations.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/common.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/lva.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/lva_resources.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/lva_service.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/platform.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/streaming_resources.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/streaming_service.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/streams_resources.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/streams_service.proto create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/visionai_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/visionai_v1alpha1.yaml create mode 100644 google-cloud/protos/google/cloud/visionai/v1alpha1/warehouse.proto create mode 100644 google-cloud/protos/google/cloud/vmmigration/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/vmmigration/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/vmmigration/v1/vmmigration.proto create mode 100644 google-cloud/protos/google/cloud/vmmigration/v1/vmmigration_v1.yaml create mode 100644 google-cloud/protos/google/cloud/vmmigration/v1/vmmigration_v1_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vpcaccess/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/vpcaccess/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/vpcaccess/v1/vpc_access.proto create mode 100644 google-cloud/protos/google/cloud/vpcaccess/v1/vpcaccess_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/vpcaccess/v1/vpcaccess_v1.yaml create mode 100644 google-cloud/protos/google/cloud/webrisk/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/webrisk/artman_webrisk_v1beta1.yaml create mode 100644 google-cloud/protos/google/cloud/webrisk/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/webrisk/v1/webrisk.proto create mode 100644 google-cloud/protos/google/cloud/webrisk/v1/webrisk_gapic.yaml create mode 100755 google-cloud/protos/google/cloud/webrisk/v1/webrisk_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/webrisk/v1/webrisk_v1.yaml create mode 100644 google-cloud/protos/google/cloud/webrisk/v1beta1/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/webrisk/v1beta1/webrisk_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/websecurityscanner/artman_websecurityscanner_v1alpha.yaml delete mode 100644 google-cloud/protos/google/cloud/websecurityscanner/artman_websecurityscanner_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/crawled_url.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/finding.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/finding_addon.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/finding_type_stats.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_config.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_config_error.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_run.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_run_error_trace.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_run_log.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/scan_run_warning_trace.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/web_security_scanner.proto create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/websecurityscanner_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1/websecurityscanner_v1.yaml create mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1beta/BUILD.bazel delete mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1beta/websecurityscanner_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/cloud/websecurityscanner/v1beta/websecurityscanner_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/executions/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1/executions.proto create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1/executions_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1/executions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1/workflowexecutions_v1.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1beta/executions.proto create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1beta/executions_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1beta/executions_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/workflows/executions/v1beta/workflowexecutions_v1beta.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/type/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/type/engine_call.proto create mode 100644 google-cloud/protos/google/cloud/workflows/type/executions_system.proto create mode 100644 google-cloud/protos/google/cloud/workflows/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/v1/workflows.proto create mode 100644 google-cloud/protos/google/cloud/workflows/v1/workflows_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/v1/workflows_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/workflows/v1/workflows_v1.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/cloud/workflows/v1beta/workflows.proto create mode 100644 google-cloud/protos/google/cloud/workflows/v1beta/workflows_gapic.yaml create mode 100644 google-cloud/protos/google/cloud/workflows/v1beta/workflows_grpc_service_config.json create mode 100644 google-cloud/protos/google/cloud/workflows/v1beta/workflows_v1beta.yaml delete mode 100644 google-cloud/protos/google/container/artman_container_v1.yaml delete mode 100644 google-cloud/protos/google/container/artman_container_v1beta1.yaml delete mode 100644 google-cloud/protos/google/container/container_v1.yaml delete mode 100644 google-cloud/protos/google/container/container_v1beta1.yaml create mode 100755 google-cloud/protos/google/container/v1/container_grpc_service_config.json create mode 100644 google-cloud/protos/google/container/v1/container_v1.yaml create mode 100644 google-cloud/protos/google/container/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/container/v1beta1/BUILD.bazel create mode 100755 google-cloud/protos/google/container/v1beta1/container_grpc_service_config.json create mode 100644 google-cloud/protos/google/container/v1beta1/container_v1beta1.yaml create mode 100644 google-cloud/protos/google/dataflow/BUILD.bazel create mode 100644 google-cloud/protos/google/dataflow/v1beta3/BUILD.bazel create mode 100644 google-cloud/protos/google/dataflow/v1beta3/dataflow_grpc_service_config.json create mode 100644 google-cloud/protos/google/dataflow/v1beta3/dataflow_v1beta3.yaml create mode 100644 google-cloud/protos/google/dataflow/v1beta3/environment.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/jobs.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/messages.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/metrics.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/snapshots.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/streaming.proto create mode 100644 google-cloud/protos/google/dataflow/v1beta3/templates.proto create mode 100644 google-cloud/protos/google/datastore/admin/BUILD.bazel delete mode 100644 google-cloud/protos/google/datastore/admin/artman_datastore_admin.yaml delete mode 100644 google-cloud/protos/google/datastore/admin/datastore_admin.yaml create mode 100644 google-cloud/protos/google/datastore/admin/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/datastore/admin/v1/datastore_admin_grpc_service_config.json create mode 100644 google-cloud/protos/google/datastore/admin/v1/datastore_v1.yaml create mode 100644 google-cloud/protos/google/datastore/admin/v1/migration.proto delete mode 100644 google-cloud/protos/google/datastore/artman_datastore.yaml delete mode 100644 google-cloud/protos/google/datastore/datastore.yaml create mode 100644 google-cloud/protos/google/datastore/v1/aggregation_result.proto create mode 100755 google-cloud/protos/google/datastore/v1/datastore_grpc_service_config.json create mode 100644 google-cloud/protos/google/datastore/v1/datastore_v1.yaml create mode 100644 google-cloud/protos/google/devtools/artifactregistry/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/apt_artifact.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/artifact.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/artifactregistry_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/artifactregistry_v1.yaml create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/file.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/package.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/repository.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/service.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/settings.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/tag.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/version.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1/yum_artifact.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/apt_artifact.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/artifactregistry_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/artifactregistry_v1beta2.yaml create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/file.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/package.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/repository.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/service.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/settings.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/tag.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/version.proto create mode 100644 google-cloud/protos/google/devtools/artifactregistry/v1beta2/yum_artifact.proto delete mode 100644 google-cloud/protos/google/devtools/artman_clouddebugger.yaml create mode 100644 google-cloud/protos/google/devtools/build/BUILD.bazel delete mode 100644 google-cloud/protos/google/devtools/build/artman_buildeventservice.yaml delete mode 100644 google-cloud/protos/google/devtools/build/buildeventservice.yaml create mode 100644 google-cloud/protos/google/devtools/build/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/devtools/build/v1/buildeventservice_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/build/v1/buildeventservice_v1.yaml create mode 100644 google-cloud/protos/google/devtools/cloudbuild/BUILD.bazel delete mode 100644 google-cloud/protos/google/devtools/cloudbuild/artman_cloudbuild.yaml delete mode 100644 google-cloud/protos/google/devtools/cloudbuild/cloudbuild.yaml create mode 100644 google-cloud/protos/google/devtools/cloudbuild/v1/BUILD.bazel delete mode 100644 google-cloud/protos/google/devtools/clouddebugger/v2/clouddebugger_gapic.legacy.yaml delete mode 100644 google-cloud/protos/google/devtools/clouderrorreporting/artman_errorreporting.yaml delete mode 100644 google-cloud/protos/google/devtools/clouderrorreporting/errorreporting.yaml create mode 100644 google-cloud/protos/google/devtools/clouderrorreporting/v1beta1/clouderrorreporting_v1beta1.yaml delete mode 100644 google-cloud/protos/google/devtools/clouderrorreporting/v1beta1/errorreporting_gapic.yaml create mode 100755 google-cloud/protos/google/devtools/clouderrorreporting/v1beta1/errorreporting_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/cloudprofiler/BUILD.bazel delete mode 100644 google-cloud/protos/google/devtools/cloudprofiler/cloudprofiler.yaml create mode 100644 google-cloud/protos/google/devtools/cloudprofiler/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/cloudprofiler/v2/cloudprofiler_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/cloudprofiler/v2/cloudprofiler_v2.yaml delete mode 100644 google-cloud/protos/google/devtools/cloudtrace/artman_cloudtrace_v1.yaml delete mode 100644 google-cloud/protos/google/devtools/cloudtrace/artman_cloudtrace_v2.yaml delete mode 100644 google-cloud/protos/google/devtools/cloudtrace/cloudtrace_v1.yaml delete mode 100644 google-cloud/protos/google/devtools/cloudtrace/cloudtrace_v2.yaml create mode 100755 google-cloud/protos/google/devtools/cloudtrace/v1/cloudtrace_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/cloudtrace/v1/cloudtrace_v1.yaml create mode 100755 google-cloud/protos/google/devtools/cloudtrace/v2/cloudtrace_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/cloudtrace/v2/cloudtrace_v2.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/artman_containeranalysis.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/artman_containeranalysis_v1.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/artman_containeranalysis_v1beta1.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/containeranalysis.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/containeranalysis_v1beta1.yaml create mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/devtools/containeranalysis/v1/containeranalysis_grpc_service_config.json rename google-cloud/protos/google/devtools/containeranalysis/{ => v1}/containeranalysis_v1.yaml (100%) delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/bill_of_materials.proto delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/containeranalysis.proto delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/containeranalysis_gapic.yaml delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/image_basis.proto delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/package_vulnerability.proto delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/provenance.proto delete mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1alpha1/source_context.proto create mode 100755 google-cloud/protos/google/devtools/containeranalysis/v1beta1/containeranalysis_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1beta1/containeranalysis_v1beta1.yaml create mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1beta1/cvss/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/containeranalysis/v1beta1/cvss/cvss.proto create mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/BUILD.bazel delete mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/artman_remoteworkers.yaml delete mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/remote_workers.yaml delete mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/remoteworkers.yaml create mode 100755 google-cloud/protos/google/devtools/remoteworkers/v1test2/remoteworkers_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/remoteworkers_v1beta2.yaml delete mode 100644 google-cloud/protos/google/devtools/remoteworkers/v1test2/tasks.proto create mode 100644 google-cloud/protos/google/devtools/resultstore/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/testing/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/devtools/testing/v1/application_details.proto create mode 100644 google-cloud/protos/google/devtools/testing/v1/test_environment_discovery.proto create mode 100644 google-cloud/protos/google/devtools/testing/v1/test_execution.proto create mode 100644 google-cloud/protos/google/devtools/testing/v1/testing_grpc_service_config.json create mode 100644 google-cloud/protos/google/devtools/testing/v1/testing_v1.yaml create mode 100644 google-cloud/protos/google/example/endpointsapis/BUILD.bazel create mode 100644 google-cloud/protos/google/example/endpointsapis/README.md create mode 100644 google-cloud/protos/google/example/endpointsapis/endpointsapis.yaml create mode 100644 google-cloud/protos/google/example/endpointsapis/goapp/app.yaml create mode 100644 google-cloud/protos/google/example/endpointsapis/goapp/main.go create mode 100644 google-cloud/protos/google/example/endpointsapis/prod.yaml create mode 100644 google-cloud/protos/google/example/endpointsapis/staging.yaml create mode 100644 google-cloud/protos/google/example/endpointsapis/v1/workspace.proto delete mode 100644 google-cloud/protos/google/example/library/artman_library_example_v1.yaml create mode 100644 google-cloud/protos/google/example/library/v1/library_grpc_service_config.json create mode 100644 google-cloud/protos/google/firestore/admin/BUILD.bazel delete mode 100644 google-cloud/protos/google/firestore/admin/artman_firestore_v1.yaml delete mode 100644 google-cloud/protos/google/firestore/admin/firestore_admin_v1.yaml create mode 100644 google-cloud/protos/google/firestore/admin/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/firestore/admin/v1/database.proto create mode 100755 google-cloud/protos/google/firestore/admin/v1/firestore_admin_grpc_service_config.json create mode 100644 google-cloud/protos/google/firestore/admin/v1/firestore_v1.yaml delete mode 100644 google-cloud/protos/google/firestore/artman_firestore.yaml delete mode 100644 google-cloud/protos/google/firestore/artman_firestore_v1.yaml create mode 100644 google-cloud/protos/google/firestore/bundle/BUILD.bazel create mode 100644 google-cloud/protos/google/firestore/bundle/bundle.proto delete mode 100644 google-cloud/protos/google/firestore/firestore_v1.yaml delete mode 100644 google-cloud/protos/google/firestore/firestore_v1beta1.yaml create mode 100644 google-cloud/protos/google/firestore/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/firestore/v1/aggregation_result.proto create mode 100755 google-cloud/protos/google/firestore/v1/firestore_grpc_service_config.json create mode 100644 google-cloud/protos/google/firestore/v1/firestore_v1.yaml create mode 100755 google-cloud/protos/google/firestore/v1beta1/firestore_grpc_service_config.json create mode 100644 google-cloud/protos/google/firestore/v1beta1/firestore_v1beta1.yaml create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/device.proto create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/site.proto create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/smart_device_management_grpc_service_config.json create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/smart_device_management_service.proto create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/smartdevicemanagement_gapic.yaml create mode 100644 google-cloud/protos/google/home/enterprise/sdm/v1/smartdevicemanagement_v1.yaml create mode 100644 google-cloud/protos/google/home/graph/BUILD.bazel delete mode 100644 google-cloud/protos/google/home/graph/artman_homegraph.yaml delete mode 100644 google-cloud/protos/google/home/graph/base.yaml create mode 100644 google-cloud/protos/google/home/graph/v1/BUILD.bazel create mode 100755 google-cloud/protos/google/home/graph/v1/homegraph_grpc_service_config.json create mode 100644 google-cloud/protos/google/home/graph/v1/homegraph_v1.yaml create mode 100644 google-cloud/protos/google/iam/admin/v1/audit_data.proto create mode 100644 google-cloud/protos/google/iam/admin/v1/iam.yaml create mode 100755 google-cloud/protos/google/iam/admin/v1/iam_grpc_service_config.json delete mode 100644 google-cloud/protos/google/iam/artman_iam.yaml delete mode 100644 google-cloud/protos/google/iam/artman_iam_admin.yaml delete mode 100644 google-cloud/protos/google/iam/artman_iam_meta_api.yaml delete mode 100644 google-cloud/protos/google/iam/credentials/artman_iamcredentials_v1.yaml delete mode 100644 google-cloud/protos/google/iam/credentials/iamcredentials_v1.yaml delete mode 100644 google-cloud/protos/google/iam/credentials/v1/iamcredentials_gapic.yaml create mode 100755 google-cloud/protos/google/iam/credentials/v1/iamcredentials_grpc_service_config.json create mode 100644 google-cloud/protos/google/iam/credentials/v1/iamcredentials_v1.yaml delete mode 100644 google-cloud/protos/google/iam/iam.yaml delete mode 100644 google-cloud/protos/google/iam/iam_meta_api.yaml delete mode 100644 google-cloud/protos/google/iam/v1/iam_gapic.yaml delete mode 100644 google-cloud/protos/google/iam/v1/iam_meta_api_gapic.yaml create mode 100644 google-cloud/protos/google/iam/v1beta/BUILD.bazel create mode 100644 google-cloud/protos/google/iam/v1beta/iam_gapic.yaml create mode 100644 google-cloud/protos/google/iam/v1beta/iam_grpc_service_config.json create mode 100644 google-cloud/protos/google/iam/v1beta/iam_v1beta.yaml create mode 100644 google-cloud/protos/google/iam/v1beta/workload_identity_pool.proto create mode 100644 google-cloud/protos/google/iam/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/iam/v2/deny.proto create mode 100644 google-cloud/protos/google/iam/v2/iam_grpc_service_config.json create mode 100644 google-cloud/protos/google/iam/v2/iam_v2.yaml create mode 100644 google-cloud/protos/google/iam/v2/policy.proto create mode 100644 google-cloud/protos/google/iam/v2beta/BUILD.bazel create mode 100644 google-cloud/protos/google/iam/v2beta/deny.proto create mode 100644 google-cloud/protos/google/iam/v2beta/iam_grpc_service_config.json create mode 100644 google-cloud/protos/google/iam/v2beta/iam_v2beta.yaml create mode 100644 google-cloud/protos/google/iam/v2beta/policy.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/BUILD.bazel create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/type/BUILD.bazel create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/type/device_resources.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/access_context_manager.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/access_level.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/access_policy.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/accesscontextmanager_grpc_service_config.json create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/accesscontextmanager_v1.yaml create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/gcp_user_access_binding.proto create mode 100644 google-cloud/protos/google/identity/accesscontextmanager/v1/service_perimeter.proto delete mode 100644 google-cloud/protos/google/logging/artman_logging.yaml delete mode 100644 google-cloud/protos/google/logging/logging.yaml delete mode 100644 google-cloud/protos/google/logging/v2/logging.yaml create mode 100755 google-cloud/protos/google/logging/v2/logging_grpc_service_config.json create mode 100644 google-cloud/protos/google/logging/v2/logging_v2.yaml delete mode 100644 google-cloud/protos/google/longrunning/artman_longrunning.yaml create mode 100644 google-cloud/protos/google/longrunning/longrunning_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/address.proto create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/address_validation_service.proto create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/addressvalidation_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/addressvalidation_v1.yaml create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/geocode.proto create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/metadata.proto create mode 100644 google-cloud/protos/google/maps/addressvalidation/v1/usps_data.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/common.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/delivery_api.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/delivery_vehicles.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/fleetengine.yaml create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/header.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/delivery/v1/tasks.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/fleetengine.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/fleetengine.yaml create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/fleetengine_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/header.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/traffic.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/trip_api.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/trips.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/vehicle_api.proto create mode 100644 google-cloud/protos/google/maps/fleetengine/v1/vehicles.proto create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/data_source.proto create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/dataset.proto create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/maps_platform_datasets.proto create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/maps_platform_datasets_alpha_service.proto create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/mapsplatformdatasets_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/mapsplatformdatasets/v1alpha/mapsplatformdatasets_v1alpha.yaml create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/playablelocations.proto create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/playablelocations_gapic.yaml create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/playablelocations_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/playablelocations_v3.yaml create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/resources.proto create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/sample/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/playablelocations/v3/sample/resources.proto create mode 100644 google-cloud/protos/google/maps/postprocessing.bzl create mode 100755 google-cloud/protos/google/maps/postprocessing_java.sh create mode 100755 google-cloud/protos/google/maps/postprocessing_py.sh create mode 100755 google-cloud/protos/google/maps/postprocessing_python.sh create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/region_identifier.proto create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/region_lookup_service.proto create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/region_match.proto create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/region_search_values.proto create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/regionlookup_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/regionlookup/v1alpha/regionlookup_v1alpha.yaml create mode 100644 google-cloud/protos/google/maps/roads/v1op/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/roads/v1op/roads.proto create mode 100644 google-cloud/protos/google/maps/roads/v1op/roads_gapic.yaml create mode 100644 google-cloud/protos/google/maps/roads/v1op/roads_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/roads/v1op/roads_v1op.yaml create mode 100644 google-cloud/protos/google/maps/routes/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/routes/v1/compute_custom_routes_request.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/compute_custom_routes_response.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/compute_route_matrix_request.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/compute_routes_request.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/compute_routes_response.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/custom_route.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/fallback_info.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/polyline.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/route.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/route_matrix_element.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/route_service.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/routes_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/routes/v1/routespreferred.yaml create mode 100644 google-cloud/protos/google/maps/routes/v1/toll_passes.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/vehicle_emission_type.proto create mode 100644 google-cloud/protos/google/maps/routes/v1/waypoint.proto create mode 100644 google-cloud/protos/google/maps/routes/v1alpha/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/routes/v1alpha/route_service.proto create mode 100644 google-cloud/protos/google/maps/routes/v1alpha/routespreferred_v1alpha.yaml create mode 100644 google-cloud/protos/google/maps/routespreferred/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/routespreferred/v1/routespreferred_gapic.yaml create mode 100644 google-cloud/protos/google/maps/routespreferred/v1/routespreferred_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/routespreferred/v1/routespreferred_v1.yaml create mode 100644 google-cloud/protos/google/maps/routing/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/routing/v2/fallback_info.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/library_grpc_service_config.json create mode 100644 google-cloud/protos/google/maps/routing/v2/location.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/maneuver.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/navigation_instruction.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/polyline.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/route.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/route_modifiers.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/route_travel_mode.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/routes_service.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/routes_v2.yaml create mode 100644 google-cloud/protos/google/maps/routing/v2/routing_preference.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/speed_reading_interval.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/toll_info.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/toll_passes.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/units.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/vehicle_emission_type.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/vehicle_info.proto create mode 100644 google-cloud/protos/google/maps/routing/v2/waypoint.proto create mode 100644 google-cloud/protos/google/maps/unity/BUILD.bazel create mode 100644 google-cloud/protos/google/maps/unity/clientinfo.proto delete mode 100644 google-cloud/protos/google/monitoring/artman_monitoring.yaml create mode 100644 google-cloud/protos/google/monitoring/dashboard/BUILD.bazel create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/alertchart.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/collapsible_group.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/common.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/dashboard.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/dashboard_filter.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/dashboards_grpc_service_config.json create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/dashboards_service.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/drilldowns.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/layouts.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/logs_panel.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/metrics.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/monitoring.yaml create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/monitoring_gapic.yaml create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/scorecard.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/service.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/table.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/table_display_options.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/text.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/widget.proto create mode 100644 google-cloud/protos/google/monitoring/dashboard/v1/xychart.proto create mode 100644 google-cloud/protos/google/monitoring/metricsscope/BUILD.bazel create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/metrics_scope.proto create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/metrics_scopes.proto create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/metricsscopes_grpc_service_config.json create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/monitoring.yaml create mode 100644 google-cloud/protos/google/monitoring/metricsscope/v1/monitoring_gapic.yaml delete mode 100644 google-cloud/protos/google/monitoring/monitoring.yaml delete mode 100644 google-cloud/protos/google/monitoring/v3/artman_monitoring.yaml create mode 100755 google-cloud/protos/google/monitoring/v3/monitoring_grpc_service_config.json create mode 100644 google-cloud/protos/google/monitoring/v3/query_service.proto create mode 100644 google-cloud/protos/google/monitoring/v3/service.proto create mode 100644 google-cloud/protos/google/monitoring/v3/service_service.proto create mode 100644 google-cloud/protos/google/networking/trafficdirector/type/BUILD.bazel create mode 100644 google-cloud/protos/google/networking/trafficdirector/type/traffic_director_log_entry.proto create mode 100644 google-cloud/protos/google/partner/aistreams/v1alpha1/BUILD.bazel create mode 100644 google-cloud/protos/google/partner/aistreams/v1alpha1/aistreams.proto create mode 100644 google-cloud/protos/google/partner/aistreams/v1alpha1/aistreams_gapic.yaml create mode 100644 google-cloud/protos/google/partner/aistreams/v1alpha1/aistreams_grpc_service_config.json create mode 100644 google-cloud/protos/google/partner/aistreams/v1alpha1/aistreams_v1alpha1.yaml delete mode 100644 google-cloud/protos/google/privacy/dlp/artman_dlp_v2.yaml create mode 100755 google-cloud/protos/google/privacy/dlp/v2/dlp_grpc_service_config.json rename google-cloud/protos/google/privacy/dlp/{ => v2}/dlp_v2.yaml (80%) delete mode 100644 google-cloud/protos/google/pubsub/artman_pubsub.yaml delete mode 100644 google-cloud/protos/google/pubsub/pubsub.yaml create mode 100755 google-cloud/protos/google/pubsub/v1/pubsub_grpc_service_config.json create mode 100644 google-cloud/protos/google/pubsub/v1/pubsub_v1.yaml create mode 100644 google-cloud/protos/google/pubsub/v1/schema.proto create mode 100644 google-cloud/protos/google/rpc/context/BUILD.bazel create mode 100644 google-cloud/protos/google/rpc/context/attribute_context.proto create mode 100644 google-cloud/protos/google/search/partnerdataingestion/logging/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/search/partnerdataingestion/logging/v1/platformlog.proto delete mode 100644 google-cloud/protos/google/spanner/admin/database/artman_spanner_admin_database.yaml delete mode 100644 google-cloud/protos/google/spanner/admin/database/spanner_admin_database.yaml create mode 100644 google-cloud/protos/google/spanner/admin/database/v1/backup.proto create mode 100644 google-cloud/protos/google/spanner/admin/database/v1/common.proto create mode 100644 google-cloud/protos/google/spanner/admin/database/v1/spanner.yaml create mode 100755 google-cloud/protos/google/spanner/admin/database/v1/spanner_admin_database_grpc_service_config.json delete mode 100644 google-cloud/protos/google/spanner/admin/instance/artman_spanner_admin_instance.yaml create mode 100644 google-cloud/protos/google/spanner/admin/instance/v1/common.proto rename google-cloud/protos/google/spanner/admin/instance/{ => v1}/spanner_admin_instance.yaml (100%) create mode 100755 google-cloud/protos/google/spanner/admin/instance/v1/spanner_admin_instance_grpc_service_config.json delete mode 100644 google-cloud/protos/google/spanner/artman_spanner.yaml delete mode 100644 google-cloud/protos/google/spanner/spanner.yaml create mode 100644 google-cloud/protos/google/spanner/v1/commit_response.proto create mode 100644 google-cloud/protos/google/spanner/v1/spanner.yaml create mode 100755 google-cloud/protos/google/spanner/v1/spanner_grpc_service_config.json create mode 100644 google-cloud/protos/google/storage/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/storage/v1/storage.proto create mode 100644 google-cloud/protos/google/storage/v1/storage_resources.proto create mode 100644 google-cloud/protos/google/storage/v2/BUILD.bazel create mode 100644 google-cloud/protos/google/storage/v2/storage.proto create mode 100644 google-cloud/protos/google/storage/v2/storage_grpc_service_config.json create mode 100644 google-cloud/protos/google/storage/v2/storage_v2.yaml create mode 100644 google-cloud/protos/google/storagetransfer/BUILD.bazel create mode 100644 google-cloud/protos/google/storagetransfer/logging/BUILD.bazel create mode 100644 google-cloud/protos/google/storagetransfer/logging/transfer_activity_log.proto create mode 100644 google-cloud/protos/google/storagetransfer/v1/BUILD.bazel create mode 100644 google-cloud/protos/google/storagetransfer/v1/storagetransfer_grpc_service_config.json create mode 100644 google-cloud/protos/google/storagetransfer/v1/storagetransfer_v1.yaml create mode 100644 google-cloud/protos/google/streetview/publish/BUILD.bazel delete mode 100644 google-cloud/protos/google/streetview/publish/artman_streetview_publish.yaml delete mode 100644 google-cloud/protos/google/streetview/publish/streetview_publish_gapic.yaml create mode 100644 google-cloud/protos/google/streetview/publish/v1/BUILD.bazel rename google-cloud/protos/google/streetview/publish/{ => v1}/streetview_publish.yaml (100%) create mode 100644 google-cloud/protos/google/streetview/publish/v1/streetview_publish_gapic.yaml create mode 100644 google-cloud/protos/google/streetview/publish/v1/streetview_publish_grpc_service_config.json create mode 100644 google-cloud/protos/google/streetview/publish/v1/streetviewpublish.yaml create mode 100644 google-cloud/protos/google/type/datetime.proto create mode 100644 google-cloud/protos/google/type/decimal.proto create mode 100644 google-cloud/protos/google/type/interval.proto create mode 100644 google-cloud/protos/google/type/localized_text.proto create mode 100644 google-cloud/protos/google/type/month.proto create mode 100644 google-cloud/protos/google/type/phone_number.proto diff --git a/google-cloud/Cargo.toml b/google-cloud/Cargo.toml index a16cbf74..896d65a4 100644 --- a/google-cloud/Cargo.toml +++ b/google-cloud/Cargo.toml @@ -17,23 +17,23 @@ maintenance = { status = "actively-developed" } # Derive macros google-cloud-derive = { version = "0.2.1", path = "../google-cloud-derive", optional = true } -tonic = { version = "0.6.2", features = ["tls", "prost"] } +tonic = { version = "0.8.2", features = ["tls", "prost"] } tokio = { version = "1.4.0", features = ["macros", "fs"] } reqwest = { version = "0.11.2", optional = true, default_features = false, features = ["blocking", "json", "rustls-tls"] } hyper = "0.14.4" -hyper-rustls = "0.22.1" +hyper-rustls = "0.23.0" futures = "0.3.13" -prost = "0.9.0" -prost-types = "0.9.0" +prost = "0.11.0" +prost-types = "0.11.1" http = "0.2.3" chrono = "0.4.19" serde = { version = "1.0.125", features = ["derive"] } json = { package = "serde_json", version = "1.0.64" } -jwt = { package = "jsonwebtoken", version = "7.2.0" } -serde_yaml = "0.8" +jwt = { package = "jsonwebtoken", version = "8.1.1" } +serde_yaml = "0.9.14" thiserror = "1.0.24" @@ -41,7 +41,7 @@ bytes = { version = "1.0.1", optional = true } percent-encoding = { version = "2.1.0", optional = true } [build-dependencies] -tonic-build = "0.6.2" +tonic-build = "0.8.2" [features] default = [] diff --git a/google-cloud/build.rs b/google-cloud/build.rs index 7c7af44a..3ce9d3b9 100644 --- a/google-cloud/build.rs +++ b/google-cloud/build.rs @@ -2,24 +2,24 @@ use std::fs; fn main() -> Result<(), Box> { let protos = [ - (["protos/google/pubsub/v1/pubsub.proto"], "src/pubsub/api"), + // (["protos/google/pubsub/v1/pubsub.proto"], "src/pubsub/api"), ( ["protos/google/datastore/v1/datastore.proto"], "src/datastore/api", ), - ( - ["protos/google/cloud/vision/v1/image_annotator.proto"], - "src/vision/api", - ), + // ( + // ["protos/google/cloud/vision/v1/image_annotator.proto"], + // "src/vision/api", + // ), ]; for (proto_files, out_dir) in protos.iter() { fs::create_dir_all(&out_dir)?; tonic_build::configure() - .build_client(true) + // .build_client(true) .build_server(false) - .format(true) + // .format(true) .out_dir(&out_dir) .compile(proto_files, &["protos"])?; diff --git a/google-cloud/protos/google/actions/sdk/v2/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/BUILD.bazel new file mode 100644 index 00000000..c569d269 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/BUILD.bazel @@ -0,0 +1,105 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "sdk_proto", + srcs = [ + "account_linking.proto", + "account_linking_secret.proto", + "action.proto", + "actions_sdk.proto", + "actions_testing.proto", + "config_file.proto", + "data_file.proto", + "event_logs.proto", + "files.proto", + "localized_settings.proto", + "manifest.proto", + "release_channel.proto", + "settings.proto", + "surface.proto", + "theme_customization.proto", + "validation_results.proto", + "version.proto", + "webhook.proto", + ], + deps = [ + "//google/actions/sdk/v2/conversation:conversation_proto", + "//google/actions/sdk/v2/conversation/prompt:prompt_proto", + "//google/actions/sdk/v2/conversation/prompt/content:content_proto", + "//google/actions/sdk/v2/interactionmodel:interactionmodel_proto", + "//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", + "//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", + "//google/actions/sdk/v2/interactionmodel/type:type_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/rpc:status_proto", + "//google/type:latlng_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "sdk_proto_with_info", + deps = [ + ":sdk_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "sdk_nodejs_gapic", + package_name = "@assistant/actions", + src = ":sdk_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "actions_grpc_service_config.json", + package = "google.actions.sdk.v2", + service_yaml = "actions_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "actions-v2-nodejs", + deps = [ + ":sdk_nodejs_gapic", + ":sdk_proto", + "//google/actions/sdk/v2/conversation:conversation_proto", + "//google/actions/sdk/v2/conversation/prompt:prompt_proto", + "//google/actions/sdk/v2/conversation/prompt/content:content_proto", + "//google/actions/sdk/v2/interactionmodel:interactionmodel_proto", + "//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", + "//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", + "//google/actions/sdk/v2/interactionmodel/type:type_proto", + ], +) diff --git a/google-cloud/protos/google/actions/sdk/v2/account_linking.proto b/google-cloud/protos/google/actions/sdk/v2/account_linking.proto new file mode 100644 index 00000000..b33299ff --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/account_linking.proto @@ -0,0 +1,126 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkingProto"; +option java_package = "com.google.actions.sdk.v2"; + +// AccountLinking allows Google to guide the user to sign-in to the App's web +// services. +// +// For Google Sign In and OAuth + Google Sign In linking types, Google generates +// a client ID identifying your App to Google ("Client ID issued by Google to +// your Actions" on Console UI). This field is read-only and can be checked by +// navigating to the Console UI's Account Linking page. +// See: https://developers.google.com/assistant/identity/google-sign-in +// +// Note: For all account linking setting types (except for Google Sign In), you +// must provide a username and password for a test account in +// Settings.testing_instructions for the review team to review the app (they +// will not be visible to users). +message AccountLinking { + // The type of Account Linking to perform. + enum LinkingType { + // Unspecified. + LINKING_TYPE_UNSPECIFIED = 0; + + // Google Sign In linking type. + // If using this linking type, no OAuth-related fields need to be set below. + GOOGLE_SIGN_IN = 1; + + // OAuth and Google Sign In linking type. + OAUTH_AND_GOOGLE_SIGN_IN = 2; + + // OAuth linking type. + OAUTH = 3; + } + + // The OAuth2 grant type Google uses to guide the user to sign in to your + // App's web service. + enum AuthGrantType { + // Unspecified. + AUTH_GRANT_TYPE_UNSPECIFIED = 0; + + // Authorization code grant. Requires you to provide both + // authentication URL and access token URL. + AUTH_CODE = 1; + + // Implicit code grant. Only requires you to provide authentication + // URL. + IMPLICIT = 2; + } + + // Required. If `true`, users are allowed to sign up for new accounts via voice. + // If `false`, account creation is only allowed on your website. Select this + // option if you want to display your terms of service or obtain user consents + // during sign-up. + // linking_type cannot be GOOGLE_SIGN_IN when this is `false`. + // linking_type cannot be OAUTH when this is `true`. + bool enable_account_creation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The linking type to use. + // See https://developers.google.com/assistant/identity for further details on + // the linking types. + LinkingType linking_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Indicates the type of authentication for OAUTH linking_type. + AuthGrantType auth_grant_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Client ID issued by your App to Google. + // This is the OAuth2 Client ID identifying Google to your service. + // Only set when using OAuth. + string app_client_id = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Endpoint for your sign-in web page that supports OAuth2 code or + // implicit flows. + // URL must use HTTPS. + // Only set when using OAuth. + string authorization_url = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. OAuth2 endpoint for token exchange. + // URL must use HTTPS. + // This is not set when only using OAuth with IMPLICIT grant as the + // linking type. + // Only set when using OAuth. + string token_url = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of permissions the user must consent to in order to use + // your service. + // Only set when using OAuth. + // Make sure to provide a Terms of Service in the directory information in + // LocalizedSettings.terms_of_service_url section if specifying this field. + repeated string scopes = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. This is the web page on your service which describes the + // permissions the user is granting to Google. + // Only set if using OAuth and Google Sign In. + // Make sure to provide a Terms of Service in the directory information in + // LocalizedSettings.terms_of_service_url section if specifying this field. + string learn_more_url = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If true, allow Google to transmit client ID and secret via HTTP + // basic auth header. Otherwise, Google uses the client ID and secret inside + // the post body. + // Only set when using OAuth. + // Make sure to provide a Terms of Service in the directory information in + // LocalizedSettings.terms_of_service_url section if specifying this field. + bool use_basic_auth_header = 9 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/account_linking_secret.proto b/google-cloud/protos/google/actions/sdk/v2/account_linking_secret.proto new file mode 100644 index 00000000..d0162412 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/account_linking_secret.proto @@ -0,0 +1,35 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkingSecretProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Information about the encrypted OAuth client secret used in account linking +// flows (for AUTH_CODE grant type). +message AccountLinkingSecret { + // Encrypted account linking client secret ciphertext. + bytes encrypted_client_secret = 1; + + // The version of the crypto key used to encrypt the account linking client + // secret. + // Note that this field is ignored in push, preview, and version creation + // flows. + string encryption_key_version = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/action.proto b/google-cloud/protos/google/actions/sdk/v2/action.proto new file mode 100644 index 00000000..99ebb115 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/action.proto @@ -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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ActionProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Represents the list of Actions defined in a project. +message Actions { + // Defines the engagement mechanisms associated with this action. This + // allows end users to subscribe to push notification and daily update. + message Engagement { + // Defines push notification settings that this engagement supports. + message PushNotification { + + } + + // Defines daily update settings that this engagement supports. + message DailyUpdate { + + } + + // Indicates whether sharing links is enabled for this action and the + // corresponding settings. Action links are used to deep link a user into a + // specific action. + // ActionLink is deprecated. Use AssistantLink instead. + message ActionLink { + option deprecated = true; + + // User friendly display title for the link. + string title = 1; + } + + // Indicates whether sharing links is enabled for this action and the + // corresponding settings. Assistant links are used to deep link a user into + // a specific action. + message AssistantLink { + // User friendly display title for the link. + string title = 1; + } + + // The title of the engagement that will be sent to end users asking for + // their permission to receive updates. The prompt sent to end users for + // daily updates will look like "What time would you like me to send your + // daily {title}" and for push notifications will look like + // "Is it ok if I send push notifications for {title}". + // **This field is localizable.** + string title = 1; + + // Push notification settings that this engagement supports. + PushNotification push_notification = 2; + + // Recurring update settings that this engagement supports. + oneof recurring_update { + // Daily update settings that this engagement supports. + DailyUpdate daily_update = 3; + } + + // Link config for an action which determines whether sharing links is + // enabled for the action and if so, contains the user friendly display name + // for the link. + // ActionLink is deprecated. Use AssistantLink instead. + ActionLink action_link = 4 [deprecated = true]; + + // Link config for an action which determines whether sharing links is + // enabled for the action and if so, contains the user friendly display name + // for the link. + AssistantLink assistant_link = 6; + } + + // Details regarding a custom action. + message CustomAction { + // Engagement mechanisms associated with the action to help end users + // subscribe to push notifications and daily updates. + // Note that the intent name specified in daily updates/push notifications + // slot config needs to match the intent corresponding to this action for + // end users to subscribe to these updates. + Engagement engagement = 2; + } + + // Map from intents to custom Actions to configure invocation for the project. + // The invocation intents could either be system or custom intents defined + // in the "custom/intents/" package. All intents defined here (system + // intents & custom intents) must have a corresponding intent file in the + // "custom/global/" package. + map custom = 3; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/actions_grpc_service_config.json b/google-cloud/protos/google/actions/sdk/v2/actions_grpc_service_config.json new file mode 100644 index 00000000..e78d2dbe --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/actions_grpc_service_config.json @@ -0,0 +1,16 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.actions.sdk.v2.ActionsSdk" }], + "timeout": "60s" + }, + { + "name": [ + { "service": "google.actions.sdk.v2.ActionsSdk", "method": "WritePreview" } + ], + "timeout": "180s" + }, + { + "name": [{ "service": "google.actions.sdk.v2.ActionsTesting" }], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/actions/sdk/v2/actions_sdk.proto b/google-cloud/protos/google/actions/sdk/v2/actions_sdk.proto new file mode 100644 index 00000000..a145b221 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/actions_sdk.proto @@ -0,0 +1,436 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/account_linking_secret.proto"; +import "google/actions/sdk/v2/files.proto"; +import "google/actions/sdk/v2/release_channel.proto"; +import "google/actions/sdk/v2/validation_results.proto"; +import "google/actions/sdk/v2/version.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/wrappers.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ActionsSdkProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Actions SDK API which allows developers to build projects using the SDK. +service ActionsSdk { + option (google.api.default_host) = "actions.googleapis.com"; + + // Updates the project draft based on the model. + rpc WriteDraft(stream WriteDraftRequest) returns (Draft) { + option (google.api.http) = { + post: "/v2/{parent=projects/*}/draft:write" + body: "*" + }; + } + + // Updates the user's project preview based on the model. + rpc WritePreview(stream WritePreviewRequest) returns (Preview) { + option (google.api.http) = { + post: "/v2/{parent=projects/*}/preview:write" + body: "*" + }; + } + + // Creates a project version based on the model and triggers deployment to the + // specified release channel, if specified. + rpc CreateVersion(stream CreateVersionRequest) returns (Version) { + option (google.api.http) = { + post: "/v2/{parent=projects/*}/versions:create" + body: "*" + }; + } + + // Reads the entire content of the project draft. + rpc ReadDraft(ReadDraftRequest) returns (stream ReadDraftResponse) { + option (google.api.http) = { + post: "/v2/{name=projects/*/draft}:read" + body: "*" + }; + } + + // Reads the entire content of a project version. + rpc ReadVersion(ReadVersionRequest) returns (stream ReadVersionResponse) { + option (google.api.http) = { + post: "/v2/{name=projects/*/versions/*}:read" + body: "*" + }; + } + + // Encrypts the OAuth client secret used in account linking flows. + // This can be used to encrypt the client secret for the first time (e.g. + // before the first push or after changing the client secret) or to re-encrypt + // a client secret using the latest primary key version (considering key + // rotation). + rpc EncryptSecret(EncryptSecretRequest) returns (EncryptSecretResponse) { + option (google.api.http) = { + post: "/v2:encryptSecret" + body: "*" + }; + } + + // Decrypts the OAuth client secret used in account linking flows. + // This can be used to view the client secret (e.g. after pulling a project). + rpc DecryptSecret(DecryptSecretRequest) returns (DecryptSecretResponse) { + option (google.api.http) = { + post: "/v2:decryptSecret" + body: "*" + }; + } + + // Lists all the sample projects supported by the gactions CLI. + rpc ListSampleProjects(ListSampleProjectsRequest) returns (ListSampleProjectsResponse) { + option (google.api.http) = { + get: "/v2/sampleProjects" + }; + } + + // Lists all release channels and corresponding versions, if any. + rpc ListReleaseChannels(ListReleaseChannelsRequest) returns (ListReleaseChannelsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*}/releaseChannels" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists all versions and their current states. + rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*}/versions" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Streaming RPC request for WriteDraft. +message WriteDraftRequest { + // Required. The parent resource name in the format `projects/{project}`. The + // `{project}` is the cloud project ID associated with the project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "actions.googleapis.com/Draft" + } + ]; + + // Required. List of files sent to the server at a time. This is a list of config files + // or data files. + // 1. The first request must be a ConfigFiles. + // 2. The first request must have a ConfigFile with 'settings'. + // 3. The first request must have a ConfigFile with 'manifest'. + // 4. The webhook ConfigFile corresponding to inline cloud function must be + // streamed before the DataFile corresponding to its source code. + Files files = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Definition of draft resource. +message Draft { + option (google.api.resource) = { + type: "actions.googleapis.com/Draft" + pattern: "projects/{project}/draft" + }; + + // The unique identifier of the draft in the following format. + // `projects/{project}/draft` + string name = 1; + + // Validation results associated with the project draft content. Note that + // WriteDraft updates the draft despite the warnings as warnings are not draft + // blocking. + ValidationResults validation_results = 2; +} + +// Streaming RPC request for WritePreview. +message WritePreviewRequest { + // Indicates the preview content will be coming from the Draft. + message ContentFromDraft { + + } + + // Indicates the preview content will be coming from an exiting version. + message ContentFromSubmittedVersion { + // Required. Submitted version of the project to be used to create a preview. + // Format: `projects/{project}/versions/{version}` + string version = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "actions.googleapis.com/Version" + } + ]; + } + + // Settings for updating the preview. + message PreviewSettings { + // Indicates whether or not to run certain operations, such as transactions, + // in sandbox mode. By default, preview requests run these operations in + // sandbox mode. In other words, the default value for `sandbox` is `true`. + google.protobuf.BoolValue sandbox = 1; + } + + // Required. The parent resource name in the format `projects/{project}`. The + // `{project}` is the cloud project ID associated with the project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "actions.googleapis.com/Preview" + } + ]; + + // Data source used to created the preview. + oneof source { + // List of files sent to the server at a time. This is a list of config + // files or data files. + // 1. The first request must be a ConfigFiles. + // 2. The first request must have a ConfigFile with 'settings'. + // 3. The first request must have a ConfigFile with 'manifest'. + // 4. The webhook ConfigFile corresponding to inline cloud function must be + // streamed before the DataFile corresponding to its source code. + Files files = 5; + + // Content sourced from the project draft. + ContentFromDraft draft = 6; + + // Content sourced from the an exiting version. + ContentFromSubmittedVersion submitted_version = 7; + } + + // Required. The settings for updating the user's preview. + PreviewSettings preview_settings = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Definition of preview resource. +message Preview { + option (google.api.resource) = { + type: "actions.googleapis.com/Preview" + pattern: "projects/{project}/previews/{preview}" + }; + + // The unique identifier of the preview. + // Format: `projects/{project}/preview` + string name = 1; + + // Validation results associated with the user project preview content. + ValidationResults validation_results = 2; + + // The simulator URL to test the user preview. + string simulator_url = 3; +} + +// Streaming RPC request for CreateVersion. +message CreateVersionRequest { + // Required. The parent resource name in the format `projects/{project}`. The + // `{project}` is the cloud project ID associated with the project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "actions.googleapis.com/Version" + } + ]; + + // Required. List of files sent to the server at a time. This is a list of config files + // or data files. + // 1. The first request must be a ConfigFiles. + // 2. The first request must have a ConfigFile with 'settings'. + // 3. The first request must have a ConfigFile with 'manifest'. + // 4. The webhook ConfigFile corresponding to inline cloud function must be + // streamed before the DataFile corresponding to its source code. + Files files = 5 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The release channel to deploy the version, if specified. The supported + // built in release channels are actions.channels.Production, + // actions.channels.ClosedBeta, actions.channels.Alpha. + // . + string release_channel = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// RPC request for ReadDraft. +message ReadDraftRequest { + // Required. The name of the resource in the format `projects/{project}/draft`. The + // `{project}` is the cloud project ID associated with the project. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The version of the crypto key used to encrypt the account linking OAuth + // client secret. If not specified, the primary key version is used for + // encryption. Only relevant for projects with account linking with client + // secret. + string client_secret_encryption_key_version = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Streaming RPC response for ReadDraft. +message ReadDraftResponse { + // List of files sent from the server at a time. + Files files = 3; +} + +// RPC request for ReadVersion. +message ReadVersionRequest { + // Required. The name of the version resource in the format + // `projects/{project}/versions/{version}`. `{project}` is the + // cloud project ID associated with the project, `{version}` is the + // identifier of the version being read. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The version of the crypto key used to encrypt the account linking OAuth + // client secret. If not specified, the primary key version is used for + // encryption. Only relevant for projects with account linking with client + // secret. + string client_secret_encryption_key_version = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Streaming RPC response for ReadVersion. +message ReadVersionResponse { + // List of files sent from the server at a time. + Files files = 1; +} + +// RPC request for EncryptSecret. +message EncryptSecretRequest { + // Required. The account linking client secret plaintext. + string client_secret = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// RPC response for EncryptSecret. +message EncryptSecretResponse { + // Contains the encrypted account linking client secret and the key version + // used to encrypt the secret. + AccountLinkingSecret account_linking_secret = 1; +} + +// RPC request for DecryptSecret. +message DecryptSecretRequest { + // Required. The account linking client secret ciphertext. + bytes encrypted_client_secret = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// RPC response for DecryptSecret. +message DecryptSecretResponse { + // The account linking client secret plaintext. + string client_secret = 1; +} + +// RPC request for ListSampleProjects. +message ListSampleProjectsRequest { + // Optional. The maximum number of sample projects to return. The service may return + // fewer than this value. + // If unspecified, at most 1000 sample projects will be returned. Values above + // 1000 will be coerced to 1000. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous 'ListSampleProjects' call. + // Provide this to retrieve the subsequent page. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// RPC response for ListSampleProjects. +message ListSampleProjectsResponse { + // The list of sample projects supported. + repeated SampleProject sample_projects = 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; +} + +// Definition of sample project resource. +message SampleProject { + option (google.api.resource) = { + type: "actions.googleapis.com/SampleProject" + pattern: "sampleProjects/{sample_project}" + }; + + // The name of the sample project. + // Format: `sampleProjects/{sample_project}` + string name = 1; + + // The URL to the zip file where the sample is hosted. + string hosted_url = 2; + + // The description of the sample project. + string description = 3; +} + +// RPC request for listing release channels +message ListReleaseChannelsRequest { + // Required. The name of the resource in the format `projects/{project}`. The + // `{project}` is the cloud project ID associated with the project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "actions.googleapis.com/ReleaseChannel" + } + ]; + + // The maximum number of release channels to return. The service may return + // fewer than this value. If unspecified, at most 50 release channels will be + // returned. + int32 page_size = 2; + + // A page token, received from a previous `ListReleaseChannels` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListReleaseChannels` + // must match the call that provided the page token. + string page_token = 3; +} + +// RPC response for listing release channels +message ListReleaseChannelsResponse { + // List of the release channels for the given project id. + repeated ReleaseChannel release_channels = 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; +} + +// RPC request for listing versions +message ListVersionsRequest { + // Required. The name of the resource in the format `projects/{project}`. The + // `{project}` is the cloud project ID associated with the project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "actions.googleapis.com/Version" + } + ]; + + // The maximum number of versions to return. The service may return + // fewer than this value. If unspecified, at most 50 versions will be + // returned. + int32 page_size = 2; + + // A page token, received from a previous `ListVersions` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListVersions` + // must match the call that provided the page token. + string page_token = 3; +} + +// RPC response for listing versions +message ListVersionsResponse { + // List of the versions for the given project id. + repeated Version versions = 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/google-cloud/protos/google/actions/sdk/v2/actions_testing.proto b/google-cloud/protos/google/actions/sdk/v2/actions_testing.proto new file mode 100644 index 00000000..9de13ea0 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/actions_testing.proto @@ -0,0 +1,256 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/conversation/intent.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; +import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; +import "google/actions/sdk/v2/event_logs.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/empty.proto"; +import "google/type/latlng.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ActionsTestingProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Actions Testing API which allows developers to run automated tests. +service ActionsTesting { + option (google.api.default_host) = "actions.googleapis.com"; + + // Plays one round of the conversation. + rpc SendInteraction(SendInteractionRequest) returns (SendInteractionResponse) { + option (google.api.http) = { + post: "/v2/{project=projects/*}:sendInteraction" + body: "*" + }; + } + + // Finds the intents that match a given query. + rpc MatchIntents(MatchIntentsRequest) returns (MatchIntentsResponse) { + option (google.api.http) = { + post: "/v2/{project=projects/*}:matchIntents" + body: "*" + }; + option (google.api.method_signature) = "project,query,locale"; + } + + // Sets the Web & App Activity control on a service account. + // + // It is necessary to have this setting enabled in order to use call Actions. + // The setting is originally disabled for service accounts, and it is + // preserved until set to a different value. This means it only needs to be + // enabled once per account (and not necessarily once per test), unless it is + // later disabled. + // + // Returns an error if the caller is not a service account. User accounts can + // change this setting via the Activity Controls page. See + // https://support.google.com/websearch/answer/54068. + rpc SetWebAndAppActivityControl(SetWebAndAppActivityControlRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v2:setWebAndAppActivityControl" + body: "*" + }; + option (google.api.method_signature) = "enabled"; + } +} + +// Request for playing a round of the conversation. +message SendInteractionRequest { + // Required. The project being tested, indicated by the Project ID. + // Format: projects/{project} + string project = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Input provided by the user. + UserInput input = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Properties of the device used for interacting with the Action. + DeviceProperties device_properties = 3 [(google.api.field_behavior) = REQUIRED]; + + // Opaque token that must be passed as received from SendInteractionResponse + // on the previous interaction. This can be left unset in order to start a new + // conversation, either as the first interaction of a testing session or to + // abandon a previous conversation and start a new one. + string conversation_token = 4; +} + +// User input provided on a conversation round. +message UserInput { + // Indicates the input source, typed query or voice query. + enum InputType { + // Unspecified input source. + INPUT_TYPE_UNSPECIFIED = 0; + + // Query from a GUI interaction. + TOUCH = 1; + + // Voice query. + VOICE = 2; + + // Typed query. + KEYBOARD = 3; + + // The action was triggered by a URL link. + URL = 4; + } + + // Content of the input sent by the user. + string query = 1; + + // Type of the input. + InputType type = 2; +} + +// Properties of device relevant to a conversation round. +message DeviceProperties { + // Possible surfaces used to interact with the Action. + // Additional values may be included in the future. + enum Surface { + // Default value. This value is unused. + SURFACE_UNSPECIFIED = 0; + + // Speaker (e.g. Google Home). + SPEAKER = 1; + + // Phone. + PHONE = 2; + + // Allo Chat. + ALLO = 3; + + // Smart Display Device. + SMART_DISPLAY = 4; + + // KaiOS. + KAI_OS = 5; + } + + // Surface used for interacting with the Action. + Surface surface = 1; + + // Device location such as latitude, longitude, and formatted address. + Location location = 2; + + // Locale as set on the device. + // The format should follow BCP 47: https://tools.ietf.org/html/bcp47 + // Examples: en, en-US, es-419 (more examples at + // https://tools.ietf.org/html/bcp47#appendix-A). + string locale = 3; + + // Time zone as set on the device. + // The format should follow the IANA Time Zone Database, e.g. + // "America/New_York": https://www.iana.org/time-zones + string time_zone = 4; +} + +// Container that represents a location. +message Location { + // Geo coordinates. + // Requires the [DEVICE_PRECISE_LOCATION] + // [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission. + google.type.LatLng coordinates = 1; + + // Display address, e.g., "1600 Amphitheatre Pkwy, Mountain View, CA 94043". + // Requires the [DEVICE_PRECISE_LOCATION] + // [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission. + string formatted_address = 2; + + // Zip code. + // Requires the [DEVICE_PRECISE_LOCATION] + // [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or + // [DEVICE_COARSE_LOCATION] + // [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission. + string zip_code = 3; + + // City. + // Requires the [DEVICE_PRECISE_LOCATION] + // [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or + // [DEVICE_COARSE_LOCATION] + // [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission. + string city = 4; +} + +// Response to a round of the conversation. +message SendInteractionResponse { + // Output provided to the user. + Output output = 1; + + // Diagnostics information that explains how the request was handled. + Diagnostics diagnostics = 2; + + // Opaque token to be set on SendInteractionRequest on the next RPC call in + // order to continue the same conversation. + string conversation_token = 3; +} + +// User-visible output to the conversation round. +message Output { + // Spoken response sent to user as a plain string. + string text = 1; + + // Speech content produced by the Action. This may include markup elements + // such as SSML. + repeated string speech = 2; + + // Interactive Canvas content. + google.actions.sdk.v2.conversation.Canvas canvas = 3; + + // State of the prompt at the end of the conversation round. + // More information about the prompt: + // https://developers.google.com/assistant/conversational/prompts + google.actions.sdk.v2.conversation.Prompt actions_builder_prompt = 4; +} + +// Diagnostics information related to the conversation round. +message Diagnostics { + // List of events with details about processing of the conversation round + // throughout the stages of the Actions Builder interaction model. + // Populated for Actions Builder & Actions SDK apps only. + repeated ExecutionEvent actions_builder_events = 1; +} + +// Request for finding matching intents. +message MatchIntentsRequest { + // Required. The project being tested, indicated by the Project ID. + // Format: projects/{project} + string project = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. User query as plain text. + string query = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Locale to use to evaluate the query, such as "en". + // The format should follow BCP 47: https://tools.ietf.org/html/bcp47 + // See the list of supported languages in + // https://developers.google.com/assistant/console/languages-locales + string locale = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response for finding matching intents. +message MatchIntentsResponse { + // Intents matched, ordered from most to least relevant. Only the first + // 50 matches are returned. + repeated google.actions.sdk.v2.conversation.Intent matched_intents = 1; +} + +// Request for setting Web & App Activity preferences. +message SetWebAndAppActivityControlRequest { + // Whether the setting should be set to an enabled or disabled state. + bool enabled = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/actions_v2.yaml b/google-cloud/protos/google/actions/sdk/v2/actions_v2.yaml new file mode 100644 index 00000000..094f8b42 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/actions_v2.yaml @@ -0,0 +1,11 @@ +type: google.api.Service +config_version: 3 +name: actions.googleapis.com +title: Actions API + +apis: +- name: google.actions.sdk.v2.ActionsSdk +- name: google.actions.sdk.v2.ActionsTesting + +documentation: + summary: A RESTful service for the Actions API. diff --git a/google-cloud/protos/google/actions/sdk/v2/config_file.proto b/google-cloud/protos/google/actions/sdk/v2/config_file.proto new file mode 100644 index 00000000..5fd2dae5 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/config_file.proto @@ -0,0 +1,112 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/account_linking_secret.proto"; +import "google/actions/sdk/v2/action.proto"; +import "google/actions/sdk/v2/interactionmodel/entity_set.proto"; +import "google/actions/sdk/v2/interactionmodel/global_intent_event.proto"; +import "google/actions/sdk/v2/interactionmodel/intent.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/scene.proto"; +import "google/actions/sdk/v2/interactionmodel/type/type.proto"; +import "google/actions/sdk/v2/manifest.proto"; +import "google/actions/sdk/v2/settings.proto"; +import "google/actions/sdk/v2/webhook.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ConfigFileProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Wrapper for repeated config files. Repeated fields cannot exist in a oneof. +message ConfigFiles { + // Multiple config files. + repeated ConfigFile config_files = 1; +} + +// Represents a single file which contains structured data. Developers can +// define most of their project using structured config including Actions, +// Settings, Fulfillment. +message ConfigFile { + // Relative path of the config file from the project root in the SDK file + // structure. Each file types below have an allowed file path. + // Eg: settings/settings.yaml + string file_path = 1; + + // Each type of config file should have a corresponding field in the oneof. + oneof file { + // Single manifest file. + // Allowed file path: `manifest.yaml` + Manifest manifest = 2; + + // Single actions file with all the actions defined. + // Allowed file paths: `actions/{language}?/actions.yaml` + Actions actions = 3; + + // Single settings config which includes non-localizable settings and + // settings for the project's default locale (if specified). + // For a locale override file, only localized_settings field will be + // populated. + // Allowed file paths: `settings/{language}?/settings.yaml` + // Note that the non-localized settings file `settings/settings.yaml` must + // be present in the write flow requests. + Settings settings = 4; + + // Single webhook definition. + // Allowed file path: `webhooks/{WebhookName}.yaml` + Webhook webhook = 6; + + // Single intent definition. + // Allowed file paths: `custom/intents/{language}?/{IntentName}.yaml` + google.actions.sdk.v2.interactionmodel.Intent intent = 7; + + // Single type definition. + // Allowed file paths: `custom/types/{language}?/{TypeName}.yaml` + google.actions.sdk.v2.interactionmodel.type.Type type = 8; + + // Single entity set definition. + // Allowed file paths: `custom/entitySets/{language}?/{EntitySetName}.yaml` + google.actions.sdk.v2.interactionmodel.EntitySet entity_set = 15; + + // Single global intent event definition. + // Allowed file paths: `custom/global/{GlobalIntentEventName}.yaml` + // The file name (GlobalIntentEventName) should be the name of the intent + // that this global intent event corresponds to. + google.actions.sdk.v2.interactionmodel.GlobalIntentEvent global_intent_event = 9; + + // Single scene definition. + // Allowed file paths: `custom/scenes/{SceneName}.yaml` + google.actions.sdk.v2.interactionmodel.Scene scene = 10; + + // Single static prompt definition. + // Allowed file paths: `custom/prompts/{language}?/{StaticPromptName}.yaml` + google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 11; + + // Metadata corresponding to the client secret used in account linking. + // Allowed file path: `settings/accountLinkingSecret.yaml` + AccountLinkingSecret account_linking_secret = 13; + + // Single resource bundle, which is a map from a string to a string or list + // of strings. Resource bundles could be used for localizing strings in + // static prompts. + // Allowed file paths: `resources/strings/{language}?/{multiple + // directories}?/{BundleName}.yaml` + google.protobuf.Struct resource_bundle = 12; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/conversation/BUILD.bazel new file mode 100644 index 00000000..56560f2a --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/BUILD.bazel @@ -0,0 +1,30 @@ +# 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 = "conversation_proto", + srcs = [ + "intent.proto", + "scene.proto", + ], + deps = [ + "//google/actions/sdk/v2/conversation/prompt:prompt_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/intent.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/intent.proto new file mode 100644 index 00000000..e2e8bec0 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/intent.proto @@ -0,0 +1,52 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "IntentProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represents an intent. +message Intent { + // Required. The name of the last matched intent. + string name = 1; + + // Required. Represents parameters identified as part of intent matching. + // This is a map of the name of the identified parameter to the value of the + // parameter identified from user input. All parameters defined in + // the matched intent that are identified will be surfaced here. + map params = 2; + + // Optional. Typed or spoken input from the end user that matched this intent. + // This will be populated when an intent is matched, based on the user input. + string query = 3; +} + +// Represents a value for intent parameter. +message IntentParameterValue { + // Required. Original text value extracted from user utterance. + string original = 1; + + // Required. Structured value for parameter extracted from user input. + // This will only be populated if the parameter is defined in the matched + // intent and the value of the parameter could be identified during intent + // matching. + google.protobuf.Value resolved = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/BUILD.bazel new file mode 100644 index 00000000..bbc997a4 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/BUILD.bazel @@ -0,0 +1,30 @@ +# 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 = "prompt_proto", + srcs = [ + "prompt.proto", + "simple.proto", + "suggestion.proto", + ], + deps = [ + "//google/actions/sdk/v2/conversation/prompt/content:content_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/BUILD.bazel new file mode 100644 index 00000000..3dc71777 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/BUILD.bazel @@ -0,0 +1,37 @@ +# 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 = "content_proto", + srcs = [ + "canvas.proto", + "card.proto", + "collection.proto", + "content.proto", + "image.proto", + "link.proto", + "list.proto", + "media.proto", + "table.proto", + ], + deps = [ + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/canvas.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/canvas.proto new file mode 100644 index 00000000..b99099b9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/canvas.proto @@ -0,0 +1,50 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "CanvasProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represents an Interactive Canvas response to be sent to the user. +// This can be used in conjunction with the "first_simple" field in the +// containing prompt to speak to the user in addition to displaying a +// interactive canvas response. The maximum size of the response is 50k bytes. +message Canvas { + // URL of the interactive canvas web app to load. If not set, the url from + // current active canvas will be reused. + string url = 1; + + // Optional. JSON data to be passed through to the immersive experience + // web page as an event. + // If the "override" field in the containing prompt is "false" data values + // defined in this Canvas prompt will be added after data values defined in + // previous Canvas prompts. + repeated google.protobuf.Value data = 4; + + // Optional. Default value: false. + bool suppress_mic = 3; + + // If `true` the canvas application occupies the full screen and won't + // have a header at the top. A toast message will also be displayed on the + // loading screen that includes the Action's display name, the developer's + // name, and instructions for exiting the Action. Default value: `false`. + bool enable_full_screen = 8; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/card.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/card.proto new file mode 100644 index 00000000..df4ce0e5 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/card.proto @@ -0,0 +1,51 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "CardProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// A basic card for displaying some information, e.g. an image and/or text. +message Card { + // Overall title of the card. + // Optional. + string title = 1; + + // Optional. + string subtitle = 2; + + // Body text of the card. + // Supports a limited set of markdown syntax for formatting. + // Required, unless image is present. + string text = 3; + + // A hero image for the card. The height is fixed to 192dp. + // Optional. + Image image = 4; + + // How the image background will be filled. Optional. + Image.ImageFill image_fill = 5; + + // Button. + // Optional. + Link button = 6; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/collection.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/collection.proto new file mode 100644 index 00000000..8666fced --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/collection.proto @@ -0,0 +1,46 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "CollectionProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// A card for presenting a collection of options to select from. +message Collection { + // An item in the collection + message CollectionItem { + // Required. The NLU key that matches the entry key name in the associated + // Type. + string key = 1; + } + + // Title of the collection. Optional. + string title = 1; + + // Subtitle of the collection. Optional. + string subtitle = 2; + + // min: 2 max: 10 + repeated CollectionItem items = 3; + + // How the image backgrounds of collection items will be filled. Optional. + Image.ImageFill image_fill = 4; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/content.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/content.proto new file mode 100644 index 00000000..4eeeb0a6 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/content.proto @@ -0,0 +1,57 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/card.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/collection.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/list.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/media.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/table.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "ContentProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Content to be shown. +message Content { + // Content. + oneof content { + // A basic card. + Card card = 1; + + // An image. + Image image = 2; + + // Table card. + Table table = 3; + + // Response indicating a set of media to be played. + Media media = 4; + + // A response to be used for interactive canvas experience. + Canvas canvas = 5 [deprecated = true]; + + // A card presenting a collection of options to select from. + Collection collection = 6; + + // A card presenting a list of options to select from. + List list = 7; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/image.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/image.proto new file mode 100644 index 00000000..1ede5d4f --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/image.proto @@ -0,0 +1,64 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "ImageProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// An image displayed in the card. +message Image { + // Possible image display options for affecting the presentation of the image. + // This should be used for when the image's aspect ratio does not match the + // image container's aspect ratio. + enum ImageFill { + // Unspecified image fill. + UNSPECIFIED = 0; + + // Fill the gaps between the image and the image container with gray bars. + GRAY = 1; + + // Fill the gaps between the image and the image container with white bars. + WHITE = 2; + + // Image is scaled such that the image width and height match or exceed the + // container dimensions. This may crop the top and bottom of the image if + // the scaled image height is greater than the container height, or crop the + // left and right of the image if the scaled image width is greater than the + // container width. This is similar to "Zoom Mode" on a widescreen TV when + // playing a 4:3 video. + CROPPED = 3; + } + + // The source url of the image. Images can be JPG, PNG and GIF (animated and + // non-animated). For example,`https://www.agentx.com/logo.png`. Required. + string url = 1; + + // A text description of the image to be used for accessibility, e.g. screen + // readers. + // Required. + string alt = 2; + + // The height of the image in pixels. + // Optional. + int32 height = 3; + + // The width of the image in pixels. + // Optional. + int32 width = 4; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/link.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/link.proto new file mode 100644 index 00000000..a3efc812 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/link.proto @@ -0,0 +1,51 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "LinkProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Link content. +message Link { + // Name of the link + string name = 1; + + // What happens when a user opens the link + OpenUrl open = 2; +} + +// Action taken when a user opens a link. +message OpenUrl { + // The url field which could be any of: + // - http/https urls for opening an App-linked App or a webpage + string url = 1; + + // Indicates a hint for the url type. + UrlHint hint = 2; +} + +// Different types of url hints. +enum UrlHint { + // Unspecified + LINK_UNSPECIFIED = 0; + + // URL that points directly to AMP content, or to a canonical URL + // which refers to AMP content via . + AMP = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/list.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/list.proto new file mode 100644 index 00000000..901dd107 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/list.proto @@ -0,0 +1,41 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "ListProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// A card for presenting a list of options to select from. +message List { + // An item in the list + message ListItem { + // Required. The NLU key that matches the entry key name in the associated + // Type. + string key = 1; + } + + // Title of the list. Optional. + string title = 1; + + // Subtitle of the list. Optional. + string subtitle = 2; + + // min: 2 max: 30 + repeated ListItem items = 3; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/media.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/media.proto new file mode 100644 index 00000000..49e3d26d --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/media.proto @@ -0,0 +1,97 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "MediaProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represents one media object. +// Contains information about the media, such as name, description, url, etc. +message Media { + // Media type of this response. + enum MediaType { + // Unspecified media type. + MEDIA_TYPE_UNSPECIFIED = 0; + + // Audio file. + AUDIO = 1; + + // Response to acknowledge a media status report. + MEDIA_STATUS_ACK = 2; + } + + // Optional media control types the media response can support + enum OptionalMediaControls { + // Unspecified value + OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED = 0; + + // Paused event. Triggered when user pauses the media. + PAUSED = 1; + + // Stopped event. Triggered when user exits out of 3p session during media + // play. + STOPPED = 2; + } + + // Media type. + MediaType media_type = 8; + + // Start offset of the first media object. + google.protobuf.Duration start_offset = 5; + + // Optional media control types this media response session can support. + // If set, request will be made to 3p when a certain media event happens. + // If not set, 3p must still handle two default control type, FINISHED and + // FAILED. + repeated OptionalMediaControls optional_media_controls = 6; + + // List of Media Objects + repeated MediaObject media_objects = 7; +} + +// Represents a single media object +message MediaObject { + // Name of this media object. + string name = 1; + + // Description of this media object. + string description = 2; + + // The url pointing to the media content. + string url = 3; + + // Image to show with the media card. + MediaImage image = 4; +} + +// Image to show with the media card. +message MediaImage { + // Image. + oneof image { + // A large image, such as the cover of the album, etc. + Image large = 1; + + // A small image icon displayed on the right from the title. + // It's resized to 36x36 dp. + Image icon = 2; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/table.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/table.proto new file mode 100644 index 00000000..8e07efbc --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/content/table.proto @@ -0,0 +1,92 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "TableProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// A table card for displaying a table of text. +message Table { + // Overall title of the table. Optional but must be set if subtitle is set. + string title = 1; + + // Subtitle for the table. Optional. + string subtitle = 2; + + // Image associated with the table. Optional. + Image image = 4; + + // Headers and alignment of columns. + repeated TableColumn columns = 5; + + // Row data of the table. The first 3 rows are guaranteed to be shown but + // others might be cut on certain surfaces. Please test with the simulator to + // see which rows will be shown for a given surface. On surfaces that support + // the WEB_BROWSER capability, you can point the user to + // a web page with more data. + repeated TableRow rows = 6; + + // Button. + Link button = 7; +} + +// Describes a column in a table. +message TableColumn { + // The alignment of the content within the cell. + enum HorizontalAlignment { + // Unspecified horizontal alignment. + UNSPECIFIED = 0; + + // Leading edge of the cell. This is the default. + LEADING = 1; + + // Content is aligned to the center of the column. + CENTER = 2; + + // Content is aligned to the trailing edge of the column. + TRAILING = 3; + } + + // Header text for the column. + string header = 1; + + // Horizontal alignment of content w.r.t column. If unspecified, content + // will be aligned to the leading edge. + HorizontalAlignment align = 2; +} + +// Describes a cell in a row. +message TableCell { + // Text content of the cell. + string text = 1; +} + +// Describes a row in the table. +message TableRow { + // Cells in this row. The first 3 cells are guaranteed to be shown but + // others might be cut on certain surfaces. Please test with the simulator + // to see which cells will be shown for a given surface. + repeated TableCell cells = 1; + + // Indicates whether there should be a divider after each row. + bool divider = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/prompt.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/prompt.proto new file mode 100644 index 00000000..a3ce25ac --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/prompt.proto @@ -0,0 +1,81 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/content.proto"; +import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; +import "google/actions/sdk/v2/conversation/prompt/simple.proto"; +import "google/actions/sdk/v2/conversation/prompt/suggestion.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "PromptProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represent a response to a user. +message Prompt { + // Optional. Mode for how this messages should be merged with previously + // defined messages. + // "false" will clear all previously defined messages (first and last + // simple, content, suggestions link and canvas) and add messages defined in + // this prompt. + // "true" will add messages defined in this prompt to messages defined in + // previous responses. Setting this field to "true" will also enable appending + // to some fields inside Simple prompts, the Suggestion prompt and the Canvas + // prompt (part of the Content prompt). The Content and Link messages will + // always be overwritten if defined in the prompt. + // Default value is "false". + bool append = 1 [deprecated = true]; + + // Optional. Mode for how this messages should be merged with previously + // defined messages. + // "true" clears all previously defined messages (first and last + // simple, content, suggestions link and canvas) and adds messages defined in + // this prompt. + // "false" adds messages defined in this prompt to messages defined in + // previous responses. Leaving this field to "false" also enables + // appending to some fields inside Simple prompts, the Suggestions prompt, + // and the Canvas prompt (part of the Content prompt). The Content and Link + // messages are always overwritten if defined in the prompt. Default + // value is "false". + bool override = 8; + + // Optional. The first voice and text-only response. + Simple first_simple = 2; + + // Optional. A content like a card, list or media to display to the user. + Content content = 3; + + // Optional. The last voice and text-only response. + Simple last_simple = 4; + + // Optional. Suggestions to be displayed to the user which will always appear + // at the end of the response. + // If the "override" field in the containing prompt is "false", the titles + // defined in this field will be added to titles defined in any previously + // defined suggestions prompts and duplicate values will be removed. + repeated Suggestion suggestions = 5; + + // Optional. An additional suggestion chip that can link out to the associated app + // or site. + // The chip will be rendered with the title "Open ". Max 20 chars. + Link link = 6; + + // Optional. Represents a Interactive Canvas response to be sent to the user. + Canvas canvas = 9; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/simple.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/simple.proto new file mode 100644 index 00000000..4feda060 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/simple.proto @@ -0,0 +1,38 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "SimpleProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represents a simple prompt to be send to a user. +message Simple { + // Optional. Represents the speech to be spoken to the user. Can be SSML or + // text to speech. + // If the "override" field in the containing prompt is "true", the speech + // defined in this field replaces the previous Simple prompt's speech. + string speech = 1; + + // Optional text to display in the chat bubble. If not given, a display + // rendering of the speech field above will be used. Limited to 640 + // chars. + // If the "override" field in the containing prompt is "true", the text + // defined in this field replaces to the previous Simple prompt's text. + string text = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/suggestion.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/suggestion.proto new file mode 100644 index 00000000..228c3998 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/prompt/suggestion.proto @@ -0,0 +1,31 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "SuggestionProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Input suggestion to be presented to the user. +message Suggestion { + // Required. The text shown in the suggestion chip. When tapped, this text will be + // posted back to the conversation verbatim as if the user had typed it. + // Each title must be unique among the set of suggestion chips. + // Max 25 chars + string title = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/conversation/scene.proto b/google-cloud/protos/google/actions/sdk/v2/conversation/scene.proto new file mode 100644 index 00000000..c042eba7 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/conversation/scene.proto @@ -0,0 +1,92 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.conversation; + +import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; +option java_multiple_files = true; +option java_outer_classname = "SceneProto"; +option java_package = "com.google.actions.sdk.v2.conversation"; + +// Represents the current status of slot filling. +enum SlotFillingStatus { + // Fallback value when the usage field is not populated. + UNSPECIFIED = 0; + + // The slots have been initialized but slot filling has not started. + INITIALIZED = 1; + + // The slot values are being collected. + COLLECTING = 2; + + // All slot values are final and cannot be changed. + FINAL = 4; +} + +// Represents a slot. +message Slot { + // Represents the mode of a slot, that is, if it is required or not. + enum SlotMode { + // Fallback value when the usage field is not populated. + MODE_UNSPECIFIED = 0; + + // Indicates that the slot is not required to complete slot filling. + OPTIONAL = 1; + + // Indicates that the slot is required to complete slot filling. + REQUIRED = 2; + } + + // Represents the status of a slot. + enum SlotStatus { + // Fallback value when the usage field is not populated. + SLOT_UNSPECIFIED = 0; + + // Indicates that the slot does not have any values. This status cannot be + // modified through the response. + EMPTY = 1; + + // Indicates that the slot value is invalid. This status can be set + // through the response. + INVALID = 2; + + // Indicates that the slot has a value. This status cannot be modified + // through the response. + FILLED = 3; + } + + // The mode of the slot (required or optional). Can be set by developer. + SlotMode mode = 1; + + // The status of the slot. + SlotStatus status = 2; + + // The value of the slot. Changing this value in the response, will + // modify the value in slot filling. + google.protobuf.Value value = 3; + + // Indicates if the slot value was collected on the last turn. + // This field is read-only. + bool updated = 4; + + // Optional. This prompt is sent to the user when needed to fill a required + // slot. This prompt overrides the existing prompt defined in the console. + // This field is not included in the webhook request. + Prompt prompt = 5; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/data_file.proto b/google-cloud/protos/google/actions/sdk/v2/data_file.proto new file mode 100644 index 00000000..5617bd2b --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/data_file.proto @@ -0,0 +1,59 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "DataFileProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Wrapper for repeated data file. Repeated fields cannot exist in a oneof. +message DataFiles { + // Multiple data files. + repeated DataFile data_files = 1; +} + +// Represents a single file which contains unstructured data. Examples include +// image files, audio files, and cloud function source code. +message DataFile { + // Relative path of the data file from the project root in the SDK file + // structure. + // Allowed file paths: + // - Images: `resources/images/{multiple + // directories}?/{ImageName}.{extension}` + // - Audio: `resources/audio/{multiple + // directories}?/{AudioFileName}.{extension}` + // - Inline Cloud Function Code: `webhooks/{WebhookName}.zip` + // Allowed extensions: + // - Images: `png`, `jpg`, `jpeg` + // - Audio: `mp3`, `mpeg` + // - Inline Cloud Functions: `zip` + string file_path = 1; + + // Required. The content type of this asset. Example: `text/html`. The content + // type must comply with the specification + // (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html). + // Cloud functions must be in zip format and the content type should + // be `application/zip;zip_type=cloud_function`. The zip_type parameter + // indicates that the zip is for a cloud function. + string content_type = 2; + + // Content of the data file. Examples would be raw bytes of images, audio + // files, or cloud function zip format. + // There is 10 MB strict limit on the payload size. + bytes payload = 3; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/event_logs.proto b/google-cloud/protos/google/actions/sdk/v2/event_logs.proto new file mode 100644 index 00000000..33e002ff --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/event_logs.proto @@ -0,0 +1,246 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/conversation/intent.proto"; +import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; +import "google/actions/sdk/v2/conversation/scene.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "EventLogsProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Contains information about execution event which happened during processing +// Actions Builder conversation request. For an overview of the stages involved +// in a conversation request, see +// https://developers.google.com/assistant/conversational/actions. +message ExecutionEvent { + // Timestamp when the event happened. + google.protobuf.Timestamp event_time = 1; + + // State of the execution during this event. + ExecutionState execution_state = 2; + + // Resulting status of particular execution step. + google.rpc.Status status = 3; + + // Detailed information specific to different of events that may be involved + // in processing a conversation round. The field set here defines the type of + // this event. + oneof EventData { + // User input handling event. + UserConversationInput user_input = 4; + + // Intent matching event. + IntentMatch intent_match = 5; + + // Condition evaluation event. + ConditionsEvaluated conditions_evaluated = 6; + + // OnSceneEnter execution event. + OnSceneEnter on_scene_enter = 7; + + // Webhook request dispatch event. + WebhookRequest webhook_request = 8; + + // Webhook response receipt event. + WebhookResponse webhook_response = 9; + + // Webhook-initiated transition event. + WebhookInitiatedTransition webhook_initiated_transition = 10; + + // Slot matching event. + SlotMatch slot_match = 11; + + // Slot requesting event. + SlotRequested slot_requested = 12; + + // Slot validation event. + SlotValidated slot_validated = 13; + + // Form filling event. + FormFilled form_filled = 14; + + // Waiting-for-user-input event. + WaitingForUserInput waiting_user_input = 15; + + // End-of-conversation event. + EndConversation end_conversation = 16; + } + + // List of warnings generated during execution of this Event. Warnings are + // tips for the developer discovered during the conversation request. These + // are usually non-critical and do not halt the execution of the request. For + // example, a warnings might be generated when webhook tries to override a + // custom Type which does not exist. Errors are reported as a failed status + // code, but warnings can be present even when the status is OK. + repeated string warning_messages = 17; +} + +// Current state of the execution. +message ExecutionState { + // ID of the scene which is currently active. + string current_scene_id = 1; + + // State of the session storage: + // https://developers.google.com/assistant/conversational/storage-session + google.protobuf.Struct session_storage = 2; + + // State of the slots filling, if applicable: + // https://developers.google.com/assistant/conversational/scenes#slot_filling + Slots slots = 5; + + // Prompt queue: + // https://developers.google.com/assistant/conversational/prompts + repeated google.actions.sdk.v2.conversation.Prompt prompt_queue = 7; + + // State of the user storage: + // https://developers.google.com/assistant/conversational/storage-user + google.protobuf.Struct user_storage = 6; + + // State of the home storage: + // https://developers.google.com/assistant/conversational/storage-home + google.protobuf.Struct household_storage = 8; +} + +// Represents the current state of a the scene's slots. +message Slots { + // The current status of slot filling. + google.actions.sdk.v2.conversation.SlotFillingStatus status = 2; + + // The slots associated with the current scene. + map slots = 3; +} + +// Information related to user input. +message UserConversationInput { + // Type of user input. E.g. keyboard, voice, touch, etc. + string type = 1; + + // Original text input from the user. + string original_query = 2; +} + +// Information about triggered intent match (global or within a scene): +// https://developers.google.com/assistant/conversational/intents +message IntentMatch { + // Intent id which triggered this interaction. + string intent_id = 1; + + // Parameters of intent which triggered this interaction. + map intent_parameters = 5; + + // Name of the handler attached to this interaction. + string handler = 3; + + // Scene to which this interaction leads to. + string next_scene_id = 4; +} + +// Results of conditions evaluation: +// https://developers.google.com/assistant/conversational/scenes#conditions +message ConditionsEvaluated { + // List of conditions which were evaluated to 'false'. + repeated Condition failed_conditions = 1; + + // The first condition which was evaluated to 'true', if any. + Condition success_condition = 2; +} + +// Evaluated condition. +message Condition { + // Expression specified in this condition. + string expression = 1; + + // Handler name specified in evaluated condition. + string handler = 2; + + // Destination scene specified in evaluated condition. + string next_scene_id = 3; +} + +// Information about execution of onSceneEnter stage: +// https://developers.google.com/assistant/conversational/scenes#on_enter +message OnSceneEnter { + // Handler name specified in onSceneEnter event. + string handler = 1; +} + +// Event triggered by destination scene returned from webhook: +// https://developers.google.com/assistant/conversational/webhooks#transition_scenes +message WebhookInitiatedTransition { + // ID of the scene the transition is leading to. + string next_scene_id = 1; +} + +// Information about a request dispatched to the Action webhook: +// https://developers.google.com/assistant/conversational/webhooks#payloads +message WebhookRequest { + // Payload of the webhook request. + string request_json = 1; +} + +// Information about a response received from the Action webhook: +// https://developers.google.com/assistant/conversational/webhooks#payloads +message WebhookResponse { + // Payload of the webhook response. + string response_json = 1; +} + +// Information about matched slot(s): +// https://developers.google.com/assistant/conversational/scenes#slot_filling +message SlotMatch { + // Parameters extracted by NLU from user input. + map nlu_parameters = 2; +} + +// Information about currently requested slot: +// https://developers.google.com/assistant/conversational/scenes#slot_filling +message SlotRequested { + // Name of the requested slot. + string slot = 1; + + // Slot prompt. + google.actions.sdk.v2.conversation.Prompt prompt = 3; +} + +// Event which happens after webhook validation was finished for slot(s): +// https://developers.google.com/assistant/conversational/scenes#slot_filling +message SlotValidated { + +} + +// Event which happens when form is fully filled: +// https://developers.google.com/assistant/conversational/scenes#slot_filling +message FormFilled { + +} + +// Event which happens when system needs user input: +// https://developers.google.com/assistant/conversational/scenes#input +message WaitingForUserInput { + +} + +// Event which informs that conversation with agent was ended. +message EndConversation { + +} diff --git a/google-cloud/protos/google/actions/sdk/v2/files.proto b/google-cloud/protos/google/actions/sdk/v2/files.proto new file mode 100644 index 00000000..529b25ed --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/files.proto @@ -0,0 +1,40 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/config_file.proto"; +import "google/actions/sdk/v2/data_file.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "FilesProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Wrapper for a list of files. +message Files { + // Only one type of files can be sent to the server at a time, config files or + // data files. + oneof file_type { + // List of config files. This includes manifest, settings, interaction model + // resource bundles and more. + ConfigFiles config_files = 1; + + // List of data files. This includes image, audio file, cloud function + // source code. + DataFiles data_files = 2; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/BUILD.bazel new file mode 100644 index 00000000..6c728656 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/BUILD.bazel @@ -0,0 +1,38 @@ +# 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 = "interactionmodel_proto", + srcs = [ + "conditional_event.proto", + "entity_set.proto", + "event_handler.proto", + "global_intent_event.proto", + "intent.proto", + "intent_event.proto", + "scene.proto", + "slot.proto", + ], + deps = [ + "//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", + "//google/actions/sdk/v2/interactionmodel/type:type_proto", + "//google/api:field_behavior_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/conditional_event.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/conditional_event.proto new file mode 100644 index 00000000..35cb4868 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/conditional_event.proto @@ -0,0 +1,55 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "ConditionalEventProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Registers events that trigger as the result of a true condition. +message ConditionalEvent { + // Required. Filter condition for this event to trigger. If condition is evaluated to + // true then the associated `handler` will be triggered. + // The following variable references are supported: + // `$session` - To reference data in session storage. + // `$user` - To reference data in user storage. + // The following boolean operators are supported (with examples): + // `&&` - `session.params.counter > 0 && session.params.counter < 100` + // `||` - `session.params.foo == "John" || session.params.counter == "Adam"` + // `!` - `!(session.params.counter == 5)` + // The following comparisons are supported: + // `==`, `!=`, `<`, `>`, `<=`, `>=` + // The following list and string operators are supported (with examples): + // `in` - "Watermelon" in `session.params.fruitList` + // `size` - `size(session.params.fruitList) > 2` + // `substring` - `session.params.fullName.contains("John")` + string condition = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Destination scene which the conversation should jump to when the associated + // condition is evaluated to true. The state of the current scene is destroyed + // on the transition. + string transition_to_scene = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event handler which is triggered when the associated condition is evaluated + // to `true`. Should execute before transitioning to the destination scene. + // Useful to generate Prompts in response to events. + EventHandler handler = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/entity_set.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/entity_set.proto new file mode 100644 index 00000000..2ec47cd9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/entity_set.proto @@ -0,0 +1,41 @@ +// 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.actions.sdk.v2.interactionmodel; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "EntitySetProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Entity sets describe the pre-defined set of entities that the values of +// built-in intent parameters can come from. Entity sets can be referenced from +// entity_set in built-in intent parameters. +message EntitySet { + // An entity a built-in intent parameter value can come from. + message Entity { + // Required. The ID of the entity. + // For a list of built-in-intent parameters and their supported entities, + // see + // https://developers.google.com/assistant/conversational/build/built-in-intents + string id = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. The list of entities this entity set supports. + repeated Entity entities = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/event_handler.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/event_handler.proto new file mode 100644 index 00000000..99d01153 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/event_handler.proto @@ -0,0 +1,41 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "EventHandlerProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Defines a handler to be executed after an event. Examples of events are +// intent and condition based events in a scene. +message EventHandler { + // Name of the webhook handler to call. + string webhook_handler = 1; + + // Prompts can either be inlined or referenced by name. + oneof prompt { + // Inlined static prompt. Can contain references to string resources in + // bundles. + google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 2; + + // Name of the static prompt to invoke. + string static_prompt_name = 3; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/global_intent_event.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/global_intent_event.proto new file mode 100644 index 00000000..e825f3bf --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/global_intent_event.proto @@ -0,0 +1,45 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "GlobalIntentEventProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Defines a global intent handler. Global intent events are scoped to the +// entire Actions project and may be overridden by intent handlers in a scene. +// Intent names must be unique within an Actions project. +// +// Global intents can be matched anytime during a session, allowing users to +// access common flows like "get help" or "go back home." They can also be +// used to deep link users into specific flows when they invoke an Action. +// +// Note, the intent name is specified in the name of the file. +message GlobalIntentEvent { + // Optional. Destination scene which the conversation should jump to. The state of the + // current scene is destroyed on the transition. + string transition_to_scene = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event handler which is triggered when the intent is matched. Should execute + // before transitioning to the destination scene. Useful to generate Prompts + // in response to events. + EventHandler handler = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent.proto new file mode 100644 index 00000000..8ed8d040 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent.proto @@ -0,0 +1,85 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/type/class_reference.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "IntentProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Intents map open-ended user input to structured objects. Spoken +// phrases are matched to intents with Google's Natural Language Understanding +// (NLU). Intent matches can trigger events in your conversation design to +// progress the user's conversation. +// The intent name is specified in the name of the file. +message Intent { + // Definition of a parameter which can be used inside training phrases. + message IntentParameter { + // Entity set references for an intent parameter. + message EntitySetReferences { + // A reference to the set of allowed entities for this intent parameter. + message EntitySetReference { + // Required. Identifies the specific collection of entities to be considered for a + // given parameter. The corresponding entity set definition should be + // present in the custom/entitySets/ directory. + string entity_set = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. Entity set references for an intent parameter. + repeated EntitySetReference entity_set_references = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. Unique name of the intent parameter. Can be used in conditions and + // responses to reference intent parameters extracted by NLU with + // $intent.params.[name].resolved + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The type of the intent parameter. + oneof parameter_type { + // Optional. Declares the data type of this parameter. + // This should not be set for built-in intents. + google.actions.sdk.v2.interactionmodel.type.ClassReference type = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. References to the sets of allowed entities for this intent parameter. + // Only valid for parameters of a built-in intent. These + // references point to entity sets in the 'custom/entitySets' directory. + EntitySetReferences entity_set_references = 3 [(google.api.field_behavior) = OPTIONAL]; + } + } + + // The list of parameters within the training phrases. All parameters must be + // defined here to be used in the training phrase. + repeated IntentParameter parameters = 1; + + // Training phrases allow Google’s NLU to automatically match intents with + // user input. The more unique phrases that are provided, the better chance + // this intent will be matched. + // The following is the format of training phrase part which are annotated. + // Note that `auto` field is optional and the default behavior when `auto` is + // not specified is equivalent to `auto=false`. + // `($ '' auto=)` + // `auto = true` means the part was auto annotated by NLU. + // `auto = false` means the part was annotated by the user. This is the + // default when auto is not specified. + // Example: + // "Book a flight from ($source 'San Francisco' auto=false) to ($dest + // 'Vancouver')" + repeated string training_phrases = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent_event.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent_event.proto new file mode 100644 index 00000000..f765a86a --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/intent_event.proto @@ -0,0 +1,40 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "IntentEventProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Registers Events which trigger as the result of an intent match. +message IntentEvent { + // Required. Intent triggering the event. + string intent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Destination scene which the conversation should jump to. The state of the + // current scene is destroyed on the transition. + string transition_to_scene = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Event handler which is triggered when the intent is matched. Should execute + // before transitioning to the destination scene. Useful to generate prompts + // in response to events. + EventHandler handler = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/BUILD.bazel new file mode 100644 index 00000000..c7eaf2b3 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/BUILD.bazel @@ -0,0 +1,32 @@ +# 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 = "prompt_proto", + srcs = [ + "static_prompt.proto", + "static_simple_prompt.proto", + "suggestion.proto", + "surface_capabilities.proto", + ], + deps = [ + "//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/BUILD.bazel new file mode 100644 index 00000000..213d2554 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/BUILD.bazel @@ -0,0 +1,39 @@ +# 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 = "content_proto", + srcs = [ + "static_canvas_prompt.proto", + "static_card_prompt.proto", + "static_collection_browse_prompt.proto", + "static_collection_prompt.proto", + "static_content_prompt.proto", + "static_image_prompt.proto", + "static_link_prompt.proto", + "static_list_prompt.proto", + "static_media_prompt.proto", + "static_table_prompt.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto new file mode 100644 index 00000000..ca6e5645 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto @@ -0,0 +1,54 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticCanvasPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Represents a Interactive Canvas response to be sent to the user. +// This can be used in conjunction with the `first_simple` field in the +// containing prompt to speak to the user in addition to displaying a +// interactive canvas response. +message StaticCanvasPrompt { + // Required. URL of the web view to load. + string url = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. JSON data to be passed through to the immersive experience web page as an + // event. If the `override` field in the containing prompt is `false` data + // values defined in this Canvas prompt will be added after data values + // defined in previous Canvas prompts. + repeated google.protobuf.Value data = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A true value means that the mic won't be opened for capturing input after + // this immersive response is presented to the user. + bool suppress_mic = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If `true`, conversation related metadata is included and send back to the + // canvas application. + bool send_state_data_to_canvas_app = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If `true` the canvas application occupies the full screen and won't + // have a header at the top. A toast message will also be displayed on the + // loading screen that includes the Action's display name, the developer's + // name, and instructions for exiting the Action. Default value: `false`. + bool enable_full_screen = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto new file mode 100644 index 00000000..17d59e2b --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto @@ -0,0 +1,48 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticCardPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// A basic card for displaying some information, e.g. an image and/or text. +message StaticCardPrompt { + // Optional. Overall title of the card. + string title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subtitle of the card. + string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Body text of the card which is needed unless image is present. Supports a + // limited set of markdown syntax for formatting. + string text = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A hero image for the card. The height is fixed to 192dp. + StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. How the image background will be filled. + StaticImagePrompt.ImageFill image_fill = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A clickable button to be shown in the Card. + StaticLinkPrompt button = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto new file mode 100644 index 00000000..a2c8b9e9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto @@ -0,0 +1,56 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticCollectionBrowsePromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Presents a set of web documents as a collection of large-tile items. Items +// may be selected to launch their associated web document in a web viewer. +message StaticCollectionBrowsePrompt { + // Item in the collection. + message CollectionBrowseItem { + // Required. Title of the collection item. + string title = 1 [(google.api.field_behavior) = REQUIRED]; + + // Description of the collection item. + string description = 2; + + // Footer text for the collection item, displayed below the description. + // Single line of text, truncated with an ellipsis. + string footer = 3; + + // Image for the collection item. + StaticImagePrompt image = 4; + + // Required. URI to open if the item selected. + OpenUrl open_uri_action = 5 [(google.api.field_behavior) = REQUIRED]; + } + + // Items in the browse collection. The list size should be in the range [2, + // 10]. + repeated CollectionBrowseItem items = 1; + + // Image display option for images in the collection. + StaticImagePrompt.ImageFill image_fill = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto new file mode 100644 index 00000000..cfb9fa8f --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto @@ -0,0 +1,59 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticCollectionPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// A card for presenting a collection of options to select from. +message StaticCollectionPrompt { + // An item in the collection. + message CollectionItem { + // Required. The NLU key that matches the entry key name in the associated + // Type. When item tapped, this key will be posted back as a select option + // parameter. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Title of the item. When tapped, this text will be + // posted back to the conversation verbatim as if the user had typed it. + // Each title must be unique among the set of items. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Body text of the item. + string description = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Item image. + StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Title of the collection. + string title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subtitle of the collection. + string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Collection items. + repeated CollectionItem items = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Type of image display option. + StaticImagePrompt.ImageFill image_fill = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto new file mode 100644 index 00000000..0d253895 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto @@ -0,0 +1,57 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticContentPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// A placeholder for the Content part of a StaticPrompt. +message StaticContentPrompt { + // Only one type of content can be present in a Prompt. + oneof content { + // A basic card. + StaticCardPrompt card = 1; + + // An image. + StaticImagePrompt image = 2; + + // Table card. + StaticTablePrompt table = 3; + + // Response indicating a set of media to be played. + StaticMediaPrompt media = 4; + + // A card for presenting a list of options to select from. + StaticListPrompt list = 5; + + // A card presenting a list of options to select from. + StaticCollectionPrompt collection = 6; + + // A card presenting a collection of web pages to open. + StaticCollectionBrowsePrompt collection_browse = 7; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto new file mode 100644 index 00000000..34d6e742 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto @@ -0,0 +1,63 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticImagePromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// An image displayed in the card. +message StaticImagePrompt { + // Possible image display options for affecting the presentation of the image. + // This should be used for when the image's aspect ratio does not match the + // image container's aspect ratio. + enum ImageFill { + // ImageFill unspecified. + UNSPECIFIED = 0; + + // Fill the gaps between the image and the image container with gray bars. + GRAY = 1; + + // Fill the gaps between the image and the image container with white bars. + WHITE = 2; + + // Image is scaled such that the image width and height match or exceed the + // container dimensions. This may crop the top and bottom of the image if + // the scaled image height is greater than the container height, or crop the + // left and right of the image if the scaled image width is greater than the + // container width. This is similar to "Zoom Mode" on a widescreen TV when + // playing a 4:3 video. + CROPPED = 3; + } + + // Required. The source url of the image. Images can be JPG, PNG and GIF (animated and + // non-animated). For example,`https://www.agentx.com/logo.png`. + string url = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A text description of the image to be used for accessibility, e.g. screen + // readers. + string alt = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The height of the image in pixels. + int32 height = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The width of the image in pixels. + int32 width = 4 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto new file mode 100644 index 00000000..258b7244 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto @@ -0,0 +1,52 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticLinkPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Defines a link which will be displayed as a suggestion chip and can be opened +// by the user. +message StaticLinkPrompt { + // Name of the link + string name = 1; + + // Defines behavior when the user opens the link. + OpenUrl open = 2; +} + +// Defines behavior when the user opens the link. +message OpenUrl { + // The url field which could be any of: + // - http/https urls for opening an App-linked App or a webpage + string url = 1; + + // Indicates a hint for the url type. + UrlHint hint = 2; +} + +// Different types of url hints. +enum UrlHint { + // Unspecified + HINT_UNSPECIFIED = 0; + + // URL that points directly to AMP content, or to a canonical URL + // which refers to AMP content via ``. + AMP = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto new file mode 100644 index 00000000..6869a69f --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto @@ -0,0 +1,55 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticListPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// A card for presenting a list of options to select from. +message StaticListPrompt { + // An item in the list. + message ListItem { + // Required. The NLU key that matches the entry key name in the associated type. When + // item tapped, this key will be posted back as a select option parameter. + string key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Title of the item. When tapped, this text will be posted back to the + // conversation verbatim as if the user had typed it. Each title must be + // unique among the set of items. + string title = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Body text of the item. + string description = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Item image. + StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Title of the list. + string title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subtitle of the list. + string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. List items. + repeated ListItem items = 3 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto new file mode 100644 index 00000000..4c6d43d7 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto @@ -0,0 +1,112 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticMediaPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Contains information about the media, such as name, description, url, etc. +// Next id: 11 +message StaticMediaPrompt { + // Media type of this response. + enum MediaType { + // UNSPECIFIED value + MEDIA_TYPE_UNSPECIFIED = 0; + + // Audio file. + AUDIO = 1; + + // Response to acknowledge a media status report. + MEDIA_STATUS_ACK = 2; + } + + // Media control types the media response can supported optionally + enum OptionalMediaControls { + // Unspecified value + OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED = 0; + + // Paused event. Triggered when user pauses the media. + PAUSED = 1; + + // Stopped event. Triggered when user exit out 3p session during media play. + STOPPED = 2; + } + + // The types of repeat mode for a list of media objects. + enum RepeatMode { + // Equivalent to OFF. + REPEAT_MODE_UNSPECIFIED = 0; + + // End media session at the end of the last media object. + OFF = 1; + + // Loop to the beginning of the first media object when the end of the last + // media object is reached. + ALL = 2; + } + + // Media type of this response. + MediaType media_type = 8; + + // Start offset of the first media object. + google.protobuf.Duration start_offset = 5; + + // Optional media control types this media response session can support. + // If set, request will be made to 3p when a certain media event happens. + // If not set, 3p must still handle two default control type, FINISHED and + // FAILED. + repeated OptionalMediaControls optional_media_controls = 6; + + // List of media objects. + repeated MediaObject media_objects = 7; + + // Repeat mode for the list of Media Objects. + RepeatMode repeat_mode = 9; +} + +// Represents a single media object. +message MediaObject { + // Name of this media object. + string name = 1; + + // Description of this media object. + string description = 2; + + // The url pointing to the media content. + string url = 3; + + // Image to show with the media card. + MediaImage image = 4; +} + +// Image to be shown inside a MediaPrompt. +message MediaImage { + // Only one type of MediaImage is allowed. + oneof image { + // A large image, such as the cover of the album, etc. + StaticImagePrompt large = 1; + + // A small image icon displayed on the right from the title. + // It's resized to 36x36 dp. + StaticImagePrompt icon = 2; + } +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto new file mode 100644 index 00000000..1e67ddd0 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto @@ -0,0 +1,93 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticTablePromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// A table card for displaying a table of text. +message StaticTablePrompt { + // Optional. Overall title of the table. Must be set if subtitle is set. + string title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subtitle for the table. + string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Image associated with the table. + StaticImagePrompt image = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Headers and alignment of columns. + repeated TableColumn columns = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Row data of the table. The first 3 rows are guaranteed to be shown but + // others might be cut on certain surfaces. Please test with the simulator to + // see which rows will be shown for a given surface. On surfaces that support + // the `WEB_BROWSER` capability, you can point the user to + // a web page with more data. + repeated TableRow rows = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Button. + StaticLinkPrompt button = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Describes a column in the table. +message TableColumn { + // The alignment of the content within the cell. + enum HorizontalAlignment { + // HorizontalAlignment unspecified. + UNSPECIFIED = 0; + + // Leading edge of the cell. This is the default. + LEADING = 1; + + // Content is aligned to the center of the column. + CENTER = 2; + + // Content is aligned to the trailing edge of the column. + TRAILING = 3; + } + + // Header text for the column. + string header = 1; + + // Horizontal alignment of content w.r.t column. If unspecified, content + // will be aligned to the leading edge. + HorizontalAlignment align = 2; +} + +// Describes a cell in a row. +message TableCell { + // Text content of the cell. + string text = 1; +} + +// Describes a row in the table. +message TableRow { + // Cells in this row. The first 3 cells are guaranteed to be shown but + // others might be cut on certain surfaces. Please test with the simulator + // to see which cells will be shown for a given surface. + repeated TableCell cells = 1; + + // Indicates whether there should be a divider after each row. + bool divider = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto new file mode 100644 index 00000000..f842e920 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto @@ -0,0 +1,96 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto"; +import "google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticPromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Represents a list of prompt candidates, one of which will be selected as the +// prompt to be shown in the response to the user. +// **This message is localizable.** +message StaticPrompt { + // Represents a static prompt candidate. + message StaticPromptCandidate { + // Represents structured responses to send to the user, such as text, + // speech, cards, canvas data, suggestion chips, etc. + message StaticPromptResponse { + // Optional. The first voice and text-only response. + StaticSimplePrompt first_simple = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A content like a card, list or media to display to the user. + StaticContentPrompt content = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The last voice and text-only response. + StaticSimplePrompt last_simple = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Suggestions to be displayed to the user which will always + // appear at the end of the response. If the `append` field in the + // containing prompt is `true` the titles defined in this field will be + // added to titles defined in any previously defined suggestions prompts + // and duplicate values will be removed. + repeated Suggestion suggestions = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An additional suggestion chip that can link out to the associated app + // or site. + // The chip will be rendered with the title "Open ". Max 20 chars. + StaticLinkPrompt link = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Mode for how this messages should be merged with previously defined + // messages. + // `true` will clear all previously defined messages (first and last + // simple, content, suggestions link and canvas) and add messages defined + // in this prompt. `false` will add messages defined in this prompt to + // messages defined in previous responses. Setting this field to `false` + // will also enable appending to some fields inside Simple prompts, the + // Suggestions prompt and the Canvas prompt (part of the Content prompt). + // The Content and Link messages will always be overwritten if defined in + // the prompt. Default value is `false`. + bool override = 7 [(google.api.field_behavior) = OPTIONAL]; + + // A response to be used for interactive canvas experience. + StaticCanvasPrompt canvas = 8; + } + + // Optional. The criteria for whether this prompt matches a request. If the selector + // is empty, this prompt will always be triggered. + Selector selector = 1 [(google.api.field_behavior) = OPTIONAL]; + + // The prompt response associated with the selector. + StaticPromptResponse prompt_response = 2; + } + + // Defines the criteria for whether a prompt matches a request. + message Selector { + // The set of required surface capabilities. + SurfaceCapabilities surface_capabilities = 1; + } + + // The list of candidate prompts to be sent to the client. Each prompt has a + // selector to determine when it can be used. The first selector that matches + // a request will be sent and the rest will be ignored. + repeated StaticPromptCandidate candidates = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto new file mode 100644 index 00000000..0d21f974 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto @@ -0,0 +1,48 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "StaticSimplePromptProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Represents a simple prompt to be send to a user. +message StaticSimplePrompt { + // Represents a variant which is part of the simple prompt. + message Variant { + // Optional. Represents the speech to be spoken to the user. Can be SSML or text to + // speech. + // By default, speech will be appended to previous Simple prompt's + // speech. If the `override` field in the containing prompt is `true` the + // speech defined in this field will override previous Simple prompt's + // speech. + string speech = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Text to display in the chat bubble. If not given, a display rendering of + // the speech field above will be used. Limited to 640 chars. + // By default, text will be appended to previous Simple prompt's text. + // If the `override` field in the containing prompt is `true` the text + // defined in this field will override previous Simple prompt's text. + string text = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // List of possible variants. + repeated Variant variants = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto new file mode 100644 index 00000000..bd841615 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto @@ -0,0 +1,33 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "SuggestionProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Represents a suggestion chip, a UI element shown to the user for convenience. +message Suggestion { + // Required. The text shown in the suggestion chip. When tapped, this text will be + // posted back to the conversation verbatim as if the user had typed it. + // Each title must be unique among the set of suggestion chips. + // Max 25 chars + string title = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto new file mode 100644 index 00000000..4c7d0299 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto @@ -0,0 +1,54 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.prompt; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; +option java_multiple_files = true; +option java_outer_classname = "SurfaceCapabilitiesProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; + +// Represents the surface the user is using to make a request to the Action. +message SurfaceCapabilities { + // Capabilities the device surface supports at the time of the request. + enum Capability { + // Unspecified surface capability. + UNSPECIFIED = 0; + + // Device can speak to the user via text-to-speech or SSML. + SPEECH = 1; + + // Device can display rich responses like cards, lists and tables. + RICH_RESPONSE = 2; + + // Device can play long form audio media like music and podcasts. + LONG_FORM_AUDIO = 3; + + // Device can display a interactive canvas response. + INTERACTIVE_CANVAS = 4; + + // Device can use web links in rich responses to open a web browser. + WEB_LINK = 5; + + // Device can support saving and fetching home storage. + HOME_STORAGE = 6; + } + + // Required. The capabilities of the surface making a request to the Action. + repeated Capability capabilities = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/scene.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/scene.proto new file mode 100644 index 00000000..e8c4b4b9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/scene.proto @@ -0,0 +1,60 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/conditional_event.proto"; +import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; +import "google/actions/sdk/v2/interactionmodel/intent_event.proto"; +import "google/actions/sdk/v2/interactionmodel/slot.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "SceneProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Scene is the basic unit of control flow when designing a conversation. They +// can be chained together with other scenes, generate prompts for the end user, +// and define slots. +// The scene name is specified in the name of the file. +message Scene { + // Handler to invoke when transitioning into this scene. + EventHandler on_enter = 1; + + // The list of events that trigger based on intents. These events can + // be triggered at any time after the on_load Handler has been called. + // Important - these events define the set of intents which are scoped to + // this scene and will take precedence over any globally defined events that + // have the same intents or their triggering phrases. Intent names must be + // unique within a scene. + repeated IntentEvent intent_events = 2; + + // The list of events to trigger based on conditional statements. These are + // evaluated after the form has been filled or immediately after on_load if + // this scene does not have a form (evaluation is only done once). Only the + // first matching event will be triggered. + repeated ConditionalEvent conditional_events = 3; + + // Ordered list of slots. Each slot defines the type of data + // that it will resolve and configuration to customize the experience of this + // resolution (e.g. prompts). + repeated Slot slots = 4; + + // Handler called when there is a change in state of a slot not + // caused by updates within another Handler. This allows slots to be + // invalidated, the scene invalidated or other changes to scene state. + EventHandler on_slot_updated = 5; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/slot.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/slot.proto new file mode 100644 index 00000000..114fe4a2 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/slot.proto @@ -0,0 +1,133 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel; + +import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; +import "google/actions/sdk/v2/interactionmodel/type/class_reference.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel"; + +// Configuration for a slot. Slots are single units of data that can be filled +// through natural language (ie. intent parameters), session parameters, and +// other sources. +message Slot { + // A single place where slot prompts are defined. + message PromptSettings { + // Prompt for the slot value itself. Example: "What size did you want?" + EventHandler initial_prompt = 1; + + // Prompt to give when the user's input does not match the expected + // value type for the slot for the first time. Example: "Sorry, I + // didn't get that." + EventHandler no_match_prompt1 = 2; + + // Prompt to give when the user's input does not match the expected + // value type for the slot for the second time. Example: "Sorry, I + // didn't get that." + EventHandler no_match_prompt2 = 3; + + // Prompt to give when the user's input does not match the expected + // value type for the slot for the last time. Example: "Sorry, I + // didn't get that." + EventHandler no_match_final_prompt = 4; + + // Prompt to give when the user does not provide an input for the first + // time. Example: "Sorry, I didn't get that." + EventHandler no_input_prompt1 = 5; + + // Prompt to give when the user does not provide an input for the second + // time. Example: "Sorry, I didn't get that." + EventHandler no_input_prompt2 = 6; + + // Prompt to give when the user does not provide an input for the last + // time. Example: "Sorry, I didn't get that." + EventHandler no_input_final_prompt = 7; + } + + // Message describing the commit behavior associated with the slot after it + // has been successfully filled. + message CommitBehavior { + // The session parameter to write the slot value after it is filled. Note + // that nested paths are not currently supported. "$$" is used to write the + // slot value to a session parameter with same name as the slot. + // Eg: write_session_param = "fruit" corresponds to "$session.params.fruit". + // write_session_param = "ticket" corresponds to "$session.params.ticket". + string write_session_param = 1; + } + + // Configuration to populate a default value for this slot. + message DefaultValue { + // Optional. The session parameter to be used to initialize the slot value, if it has + // a non-empty value. The type of the value must match the type of the slot. + // Note that nested paths are not currently supported. + // Eg: `session_param = "fruit"` corresponds to `$session.params.fruit`. + // `session_param = "ticket"` corresponds to `$session.params.ticket`. + string session_param = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Constant default value for the slot. This will only be used if a value + // for this slot was not populated through the `session_param`. The + // type for this value must match the type of the slot. + google.protobuf.Value constant = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Name of the slot. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Declares the data type of this slot. + google.actions.sdk.v2.interactionmodel.type.ClassReference type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Indicates whether the slot is required to be filled before + // advancing. Required slots that are not filled will trigger a customizable + // prompt to the user. + bool required = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Registers Prompts for different stages of slot filling. + PromptSettings prompt_settings = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Commit behavior associated with the slot. + CommitBehavior commit_behavior = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional configuration associated with the slot which is + // used for filling the slot. The format of the config is specific to the + // type of the slot. Resource references to user or session parameter can be + // added to this config. This config is needed for filling slots related to + // transactions and user engagement. + // + // Example: + // For a slot of type actions.type.CompletePurchaseValue, the following + // config proposes a digital good order with a reference to a client defined + // session parameter `userSelectedSkuId`: + // + // { + // "@type": "type.googleapis.com/ + // google.actions.transactions.v3.CompletePurchaseValueSpec", + // "skuId": { + // "skuType": "SKU_TYPE_IN_APP", + // "id": "$session.params.userSelectedSkuId", + // "packageName": "com.example.company" + // } + // } + google.protobuf.Value config = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration to populate a default value for this slot. + DefaultValue default_value = 7 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/BUILD.bazel b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/BUILD.bazel new file mode 100644 index 00000000..9d5191c1 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/BUILD.bazel @@ -0,0 +1,33 @@ +# 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 = [ + "class_reference.proto", + "entity_display.proto", + "free_text_type.proto", + "regular_expression_type.proto", + "synonym_type.proto", + "type.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/class_reference.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/class_reference.proto new file mode 100644 index 00000000..f06fead3 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/class_reference.proto @@ -0,0 +1,36 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "ClassReferenceProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// A reference to a class which is used to declare the type of a field or return +// value. Enums are also a type of class that can be referenced using +// ClassReference. +message ClassReference { + // Required. Name of a built-in type or custom type of the parameter. Examples: + // `PizzaToppings`, `actions.type.Number` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Indicates whether the data type represents a list of values. + bool list = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/entity_display.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/entity_display.proto new file mode 100644 index 00000000..92a66481 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/entity_display.proto @@ -0,0 +1,35 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "EntityDisplayProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// Elements that will be displayed on the canvas once a particular type's entity +// is extracted from a query. Only relevant for canvas enabled apps. +// **This message is localizable.** +message EntityDisplay { + // Optional. Title of the icon. + string icon_title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Url of the icon. + string icon_url = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/free_text_type.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/free_text_type.proto new file mode 100644 index 00000000..dee041b3 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/free_text_type.proto @@ -0,0 +1,33 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "FreeTextTypeProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// Type that matches any text if surrounding words context is close to provided +// training examples. +message FreeTextType { + // Optional. Elements that will be displayed on the canvas once an entity is extracted + // from a query. Only relevant for canvas enabled apps. + EntityDisplay display = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto new file mode 100644 index 00000000..718a46c1 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto @@ -0,0 +1,44 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "RegularExpressionTypeProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// Type that matches text by regular expressions. +// **This message is localizable.** +message RegularExpressionType { + // Represents an entity object that contains the regular expression that is + // used for comparison. + message Entity { + // Optional. Elements that will be displayed on the canvas once an entity is + // extracted from a query. Only relevant for canvas enabled apps. + EntityDisplay display = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Uses RE2 regex syntax (See + // https://github.com/google/re2/wiki/Syntax for more details) + repeated string regular_expressions = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Required. Named map of entities which each contain Regex strings. + map entities = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/synonym_type.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/synonym_type.proto new file mode 100644 index 00000000..a64bba07 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/synonym_type.proto @@ -0,0 +1,66 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "SynonymTypeProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// Type that matches text by set of synonyms. +message SynonymType { + // Represents a synonym entity field that contains the details of a single + // entry inside the type. + message Entity { + // Optional. The entity display details. + EntityDisplay display = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The list of synonyms for the entity. + // **This field is localizable.** + repeated string synonyms = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The type of matching that entries in this type will use. This will ensure + // all of the types use the same matching method and allow variation of + // matching for synonym matching (i.e. fuzzy versus exact). If the value is + // `UNSPECIFIED` it will be defaulted to `EXACT_MATCH`. + enum MatchType { + // Defaults to `EXACT_MATCH`. + UNSPECIFIED = 0; + + // Looks for an exact match of the synonym or name. + EXACT_MATCH = 1; + + // Looser than `EXACT_MATCH`. Looks for similar matches as well as exact + // matches. + FUZZY_MATCH = 2; + } + + // Optional. The match type for the synonym. + MatchType match_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When set to true this will match unknown words or phrases based on + // surrounding input and intent training data, such as items that might be + // added to a grocery list. + bool accept_unknown_values = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Named map of synonym entities. + map entities = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/type.proto b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/type.proto new file mode 100644 index 00000000..80140bb3 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/interactionmodel/type/type.proto @@ -0,0 +1,50 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2.interactionmodel.type; + +import "google/actions/sdk/v2/interactionmodel/type/free_text_type.proto"; +import "google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto"; +import "google/actions/sdk/v2/interactionmodel/type/synonym_type.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; +option java_multiple_files = true; +option java_outer_classname = "TypeProto"; +option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; + +// Declaration of a custom type, as opposed to built-in types. Types can be +// assigned to slots in a scene or parameters of an intent's training phrases. +// Practically, Types can be thought of as enums. +// Note, type name is specified in the name of the file. +message Type { + // Selection of sub type based on the type of matching to be done. + oneof sub_type { + // Synonyms type, which is essentially an enum. + SynonymType synonym = 1; + + // Regex type, allows regular expression matching. + RegularExpressionType regular_expression = 2; + + // FreeText type. + FreeTextType free_text = 3; + } + + // Set of exceptional words/phrases that shouldn't be matched by type. + // Note: If word/phrase is matched by the type but listed as an exclusion it + // won't be returned in parameter extraction result. + // **This field is localizable.** + repeated string exclusions = 4; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/localized_settings.proto b/google-cloud/protos/google/actions/sdk/v2/localized_settings.proto new file mode 100644 index 00000000..7a1f44c9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/localized_settings.proto @@ -0,0 +1,92 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/theme_customization.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "LocalizedSettingsProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Represents settings of an Actions project that are specific to a user locale. +// In this instance, user means the end user who invokes your Actions. +// **This message is localizable.** +message LocalizedSettings { + // Required. The default display name for this Actions project (if there is no + // translation available) + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The pronunciation of the display name to invoke it within a voice + // (spoken) context. + string pronunciation = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The default short description for the Actions project (if there is no + // translation available). 80 character limit. + string short_description = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The default long description for the Actions project (if there is no + // translation available). 4000 character limit. + string full_description = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. Small square image, 192 x 192 px. + // This should be specified as a reference to the corresponding image in the + // `resources/images/` directory. For example, `$resources.images.foo` (without the + // extension) for image in `resources/images/foo.jpg` + // When working on a project pulled from Console, the Google-managed URL + // pulled could be used. URLs from external sources are not allowed. + string small_logo_image = 5 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Large landscape image, 1920 x 1080 px. + // This should be specified as a reference to the corresponding image in the + // `resources/images/` directory. For example, `$resources.images.foo` (without the + // extension) for image in `resources/images/foo.jpg` + // When working on a project pulled from Console, the Google-managed URL + // pulled could be used. URLs from external sources are not allowed. + string large_banner_image = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The name of the developer to be displayed to users. + string developer_name = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. The contact email address for the developer. + string developer_email = 8 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The terms of service URL. + string terms_of_service_url = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The Google Assistant voice type that users hear when they interact with + // your Actions. The supported values are "male_1", "male_2", "female_1", and + // "female_2". + string voice = 10 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The locale for the specified voice. If not specified, this resolves + // to the user's Assistant locale. If specified, the voice locale must have + // the same root language as the locale specified in LocalizedSettings. + string voice_locale = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The privacy policy URL. + string privacy_policy_url = 11 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Sample invocation phrases displayed as part of your Actions project's + // description in the Assistant directory. This will help users learn how to + // use it. + repeated string sample_invocations = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Theme customizations for visual components of your Actions. + ThemeCustomization theme_customization = 13 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/manifest.proto b/google-cloud/protos/google/actions/sdk/v2/manifest.proto new file mode 100644 index 00000000..2bfd70b8 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/manifest.proto @@ -0,0 +1,30 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ManifestProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Contains information that's "transportable" i.e. not specific to any given +// project and can be moved between projects. +message Manifest { + // Version of the file format. The current file format version is 1.0 + // Example: "1.0" + string version = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/release_channel.proto b/google-cloud/protos/google/actions/sdk/v2/release_channel.proto new file mode 100644 index 00000000..20c62428 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/release_channel.proto @@ -0,0 +1,44 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/api/resource.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ReleaseChannelProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Definition of release channel resource. +message ReleaseChannel { + option (google.api.resource) = { + type: "actions.googleapis.com/ReleaseChannel" + pattern: "projects/{project}/releaseChannels/{release_channel}" + }; + + // The unique name of the release channel in the following format. + // `projects/{project}/releaseChannels/{release_channel}`. + string name = 1; + + // Version currently deployed to this release channel in the following format: + // `projects/{project}/versions/{version}`. + string current_version = 2; + + // Version to be deployed to this release channel in the following format: + // `projects/{project}/versions/{version}`. + string pending_version = 3; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/settings.proto b/google-cloud/protos/google/actions/sdk/v2/settings.proto new file mode 100644 index 00000000..94835b2d --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/settings.proto @@ -0,0 +1,186 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/actions/sdk/v2/account_linking.proto"; +import "google/actions/sdk/v2/localized_settings.proto"; +import "google/actions/sdk/v2/surface.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "SettingsProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Represents settings of an Actions project that are not locale specific. +message Settings { + // The category choices for an Actions project. + enum Category { + // Unknown / Unspecified. + CATEGORY_UNSPECIFIED = 0; + + // Business and Finance category. + BUSINESS_AND_FINANCE = 2; + + // Education and Reference category. + EDUCATION_AND_REFERENCE = 3; + + // Food and Drink category. + FOOD_AND_DRINK = 4; + + // Games and Trivia category. + GAMES_AND_TRIVIA = 5; + + // Health and Fitness category. + HEALTH_AND_FITNESS = 6; + + // Kids and Family category. + KIDS_AND_FAMILY = 20; + + // Lifestyle category. + LIFESTYLE = 7; + + // Local category. + LOCAL = 8; + + // Movies and TV category. + MOVIES_AND_TV = 9; + + // Music and Audio category. + MUSIC_AND_AUDIO = 10; + + // News category, + NEWS = 1; + + // Novelty and Humor category. + NOVELTY_AND_HUMOR = 11; + + // Productivity category. + PRODUCTIVITY = 12; + + // Shopping category. + SHOPPING = 13; + + // Social category. + SOCIAL = 14; + + // Sports category. + SPORTS = 15; + + // Travel and Transportation category. + TRAVEL_AND_TRANSPORTATION = 16; + + // Utilities category. + UTILITIES = 17; + + // Weather category. + WEATHER = 18; + + // Home Control category. + HOME_CONTROL = 19; + } + + // Actions project id. + string project_id = 1; + + // Locale which is default for the project. For all files except under + // `resources/` with no locale in the path, the localized data is attributed + // to this `default_locale`. For files under `resources/` no locale means that + // the resource is applicable to all locales. + string default_locale = 2; + + // Represents the regions where users can invoke your Actions, which is + // based on the user's location of presence. Cannot be set if + // `disabled_regions` is set. If both `enabled_regions` and `disabled_regions` + // are not specified, users can invoke your Actions in all regions. Each + // region is represented using the Canonical Name of Adwords geotargets. See + // https://developers.google.com/adwords/api/docs/appendix/geotargeting + // Examples include: + // - "Germany" + // - "Ghana" + // - "Greece" + // - "Grenada" + // - "United Kingdom" + // - "United States" + // - "United States Minor Outlying Islands" + // - "Uruguay" + repeated string enabled_regions = 3; + + // Represents the regions where your Actions are blocked, based on the user's + // location of presence. Cannot be set if `enabled_regions` is set. + // Each region is represented using the Canonical Name of Adwords geotargets. + // See https://developers.google.com/adwords/api/docs/appendix/geotargeting + // Examples include: + // - "Germany" + // - "Ghana" + // - "Greece" + // - "Grenada" + // - "United Kingdom" + // - "United States" + // - "United States Minor Outlying Islands" + // - "Uruguay" + repeated string disabled_regions = 4; + + // The category for this Actions project. + Category category = 5; + + // Whether Actions can use transactions (for example, making + // reservations, taking orders, etc.). If false, then attempts to use the + // Transactions APIs fail. + bool uses_transactions_api = 6; + + // Whether Actions can perform transactions for digital goods. + bool uses_digital_purchase_api = 7; + + // Whether Actions use Interactive Canvas. + bool uses_interactive_canvas = 8; + + // Whether Actions use the home storage feature. + bool uses_home_storage = 17; + + // Whether Actions content is designed for family (DFF). + bool designed_for_family = 9; + + // Whether Actions contains alcohol or tobacco related content. + bool contains_alcohol_or_tobacco_content = 11; + + // Whether Actions may leave mic open without an explicit prompt during + // conversation. + bool keeps_mic_open = 12; + + // The surface requirements that a client surface must support to invoke + // Actions in this project. + SurfaceRequirements surface_requirements = 13; + + // Free-form testing instructions for Actions reviewer (for example, account + // linking instructions). + string testing_instructions = 14; + + // Localized settings for the project's default locale. Every additional + // locale should have its own settings file in its own directory. + LocalizedSettings localized_settings = 15; + + // Allow users to create or link accounts through Google sign-in and/or your + // own OAuth service. + AccountLinking account_linking = 16; + + // Android apps selected to acccess Google Play purchases for transactions. + // This is a selection from the Android apps connected to the actions project + // to verify brand ownership and enable additional features. See + // https://developers.google.com/assistant/console/brand-verification for more + // information. + repeated string selected_android_apps = 20; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/surface.proto b/google-cloud/protos/google/actions/sdk/v2/surface.proto new file mode 100644 index 00000000..a68276a9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/surface.proto @@ -0,0 +1,64 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "SurfaceProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Contains a set of requirements that the client surface must support to invoke +// Actions in your project. +message SurfaceRequirements { + // The minimum set of capabilities needed to invoke the Actions in your + // project. If the surface is missing any of these, the Action will not be + // triggered. + repeated CapabilityRequirement minimum_requirements = 1; +} + +// Represents a requirement about the availability of a given capability. +message CapabilityRequirement { + // Possible set of surface capabilities. + enum SurfaceCapability { + // Unknown / Unspecified. + SURFACE_CAPABILITY_UNSPECIFIED = 0; + + // Surface supports audio output. + AUDIO_OUTPUT = 1; + + // Surface supports screen/visual output. + SCREEN_OUTPUT = 2; + + // Surface supports media response audio. + MEDIA_RESPONSE_AUDIO = 3; + + // Surface supports web browsers. + WEB_BROWSER = 4; + + // Surface supports account linking. + ACCOUNT_LINKING = 7; + + // Surface supports Interactive Canvas. + INTERACTIVE_CANVAS = 8; + + // Surface supports home storage. + HOME_STORAGE = 9; + } + + // The type of capability. + SurfaceCapability capability = 1; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/theme_customization.proto b/google-cloud/protos/google/actions/sdk/v2/theme_customization.proto new file mode 100644 index 00000000..dc7623c3 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/theme_customization.proto @@ -0,0 +1,83 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ThemeCustomizationProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Styles applied to cards that are presented to users +message ThemeCustomization { + // Describes how the borders of images should be rendered. + enum ImageCornerStyle { + // Undefined / Unspecified. + IMAGE_CORNER_STYLE_UNSPECIFIED = 0; + + // Round corner for image. + CURVED = 1; + + // Rectangular corner for image. + ANGLED = 2; + } + + // Background color of cards. Acts as a fallback if `background_image` is + // not provided by developers or `background_image` doesn't fit for certain + // surfaces. + // Example usage: #FAFAFA + string background_color = 1; + + // Primary theme color of the Action will be used to set text color of title, + // action item background color for Actions on Google cards. + // Example usage: #FAFAFA + string primary_color = 2; + + // The font family that will be used for title of cards. + // Supported fonts: + // - Sans Serif + // - Sans Serif Medium + // - Sans Serif Bold + // - Sans Serif Black + // - Sans Serif Condensed + // - Sans Serif Condensed Medium + // - Serif + // - Serif Bold + // - Monospace + // - Cursive + // - Sans Serif Smallcaps + string font_family = 3; + + // Border style of foreground image of cards. For example, can be applied on + // the foreground image of a basic card or carousel card. + ImageCornerStyle image_corner_style = 4; + + // Landscape mode (minimum 1920x1200 pixels). + // This should be specified as a reference to the corresponding image in the + // `resources/images/` directory. Eg: `$resources.images.foo` (without the + // extension) for image in `resources/images/foo.jpg` + // When working on a project pulled from Console the Google managed url pulled + // could be used. + string landscape_background_image = 5; + + // Portrait mode (minimum 1200x1920 pixels). + // This should be specified as a reference to the corresponding image in the + // `resources/images/` directory. Eg: `$resources.images.foo` (without the + // extension) for image in `resources/images/foo.jpg` + // When working on a project pulled from Console the Google managed url pulled + // could be used. + string portrait_background_image = 6; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/validation_results.proto b/google-cloud/protos/google/actions/sdk/v2/validation_results.proto new file mode 100644 index 00000000..08993c1a --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/validation_results.proto @@ -0,0 +1,46 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "ValidationResultsProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Wrapper for repeated validation result. +message ValidationResults { + // Multiple validation results. + repeated ValidationResult results = 1; +} + +// Represents a validation result associated with the app content. +message ValidationResult { + // Context to identify the resource the validation message relates to. + message ValidationContext { + // Language code of the lozalized resource. + // Empty if the error is for non-localized resource. + // See the list of supported languages in + // https://developers.google.com/assistant/console/languages-locales + string language_code = 1; + } + + // Holds the validation message. + string validation_message = 1; + + // Context to identify the resource the validation message relates to. + ValidationContext validation_context = 2; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/version.proto b/google-cloud/protos/google/actions/sdk/v2/version.proto new file mode 100644 index 00000000..3df6f6dd --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/version.proto @@ -0,0 +1,91 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "VersionProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Definition of version resource. +message Version { + option (google.api.resource) = { + type: "actions.googleapis.com/Version" + pattern: "projects/{project}/versions/{version}" + }; + + // Represents the current state of the version. + message VersionState { + // Enum indicating the states that a Version can take. This enum is not yet + // frozen and values maybe added later. + enum State { + // Default value of State. + STATE_UNSPECIFIED = 0; + + // The version creation is in progress. + CREATION_IN_PROGRESS = 1; + + // The version creation failed. + CREATION_FAILED = 2; + + // The version has been successfully created. + CREATED = 3; + + // The version is under policy review (aka Approval). + REVIEW_IN_PROGRESS = 4; + + // The version has been approved for policy review and can be deployed. + APPROVED = 5; + + // The version has been conditionally approved but is pending final + // review. It may be rolled back if final review is denied. + CONDITIONALLY_APPROVED = 6; + + // The version has been denied for policy review. + DENIED = 7; + + // The version is taken down as entire agent and all versions are taken + // down. + UNDER_TAKEDOWN = 8; + + // The version has been deleted. + DELETED = 9; + } + + // The current state of the version. + State state = 1; + + // User-friendly message for the current state of the version. + string message = 2; + } + + // The unique identifier of the version in the following format. + // `projects/{project}/versions/{version}`. + string name = 1; + + // The current state of the version. + VersionState version_state = 2; + + // Email of the user who created this version. + string creator = 3; + + // Timestamp of the last change to this version. + google.protobuf.Timestamp update_time = 4; +} diff --git a/google-cloud/protos/google/actions/sdk/v2/webhook.proto b/google-cloud/protos/google/actions/sdk/v2/webhook.proto new file mode 100644 index 00000000..23f5bad9 --- /dev/null +++ b/google-cloud/protos/google/actions/sdk/v2/webhook.proto @@ -0,0 +1,82 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.actions.sdk.v2; + +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; +option java_multiple_files = true; +option java_outer_classname = "WebhookProto"; +option java_package = "com.google.actions.sdk.v2"; + +// Metadata for different types of webhooks. If you're using +// `inlineCloudFunction`, your source code must be in a directory with the same +// name as the value for the `executeFunction` key. +// For example, a value of `my_webhook` for the`executeFunction` key would have +// a code structure like this: +// - `/webhooks/my_webhook.yaml` +// - `/webhooks/my_webhook/index.js` +// - `/webhooks/my_webhook/package.json` +message Webhook { + // Declares the name of the webhoook handler. A webhook can have + // multiple handlers registered. These handlers can be called from multiple + // places in your Actions project. + message Handler { + // Required. Name of the handler. Must be unique across all handlers the Actions + // project. You can check the name of this handler to invoke the correct + // function in your fulfillment source code. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // REST endpoint to notify if you're not using the inline editor. + message HttpsEndpoint { + // The HTTPS base URL for your fulfillment endpoint (HTTP is not supported). + // Handler names are appended to the base URL path after a colon + // (following the style guide in + // https://cloud.google.com/apis/design/custom_methods). + // For example a base URL of 'https://gactions.service.com/api' would + // receive requests with URL 'https://gactions.service.com/api:{method}'. + string base_url = 1; + + // Map of HTTP parameters to be included in the POST request. + map http_headers = 2; + + // Version of the protocol used by the endpoint. This is the protocol shared + // by all fulfillment types and not specific to Google fulfillment type. + int32 endpoint_api_version = 3; + } + + // Holds the metadata of an inline Cloud Function deployed from the + // webhooks folder. + message InlineCloudFunction { + // The name of the Cloud Function entry point. The value of this field + // should match the name of the method exported from the source code. + string execute_function = 1; + } + + // List of handlers for this webhook. + repeated Handler handlers = 1; + + // Only one webhook type is supported. + oneof webhook_type { + // Custom webhook HTTPS endpoint. + HttpsEndpoint https_endpoint = 2; + + // Metadata for cloud function deployed from code in the webhooks folder. + InlineCloudFunction inline_cloud_function = 3; + } +} diff --git a/google-cloud/protos/google/actions/type/BUILD.bazel b/google-cloud/protos/google/actions/type/BUILD.bazel new file mode 100644 index 00000000..d865c47c --- /dev/null +++ b/google-cloud/protos/google/actions/type/BUILD.bazel @@ -0,0 +1,167 @@ +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"]) + +############################################################################## +# Common +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "date_range_proto", + srcs = ["date_range.proto"], + deps = [ + "//google/type:date_proto", + ], +) + +proto_library( + name = "datetime_range_proto", + srcs = ["datetime_range.proto"], + deps = [ + "//google/type:datetime_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "type_java_proto", + deps = [ + ":date_range_proto", + ":datetime_range_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "date_range_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/date_range", + protos = [ + ":date_range_proto", + ], + deps = ["//google/type:date_go_proto"], +) + + +go_proto_library( + name = "datetime_range_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/datetime_range", + protos = [ + ":datetime_range_proto", + ], + deps = ["//google/type:datetime_go_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "date_range_py_proto", + deps = [":date_range_proto"], +) + +py_proto_library( + name = "datetime_range_py_proto", + deps = [":datetime_range_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "date_range_php_proto", + deps = [":date_range_proto"], +) + +php_proto_library( + name = "datetime_range_php_proto", + deps = [":datetime_range_proto"], +) + +############################################################################## +# Node.js +############################################################################## + + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "date_range_ruby_proto", + deps = [":date_range_proto"], +) + +ruby_proto_library( + name = "datetime_range_ruby_proto", + deps = [":datetime_range_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "date_range_csharp_proto", + deps = [":date_range_proto"], +) + +csharp_proto_library( + name = "datetime_range_csharp_proto", + deps = [":datetime_range_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "date_range_cc_proto", + deps = [ + ":date_range_proto", + ], +) + +cc_proto_library( + name = "datetime_range_cc_proto", + deps = [ + ":datetime_range_proto", + ], +) diff --git a/google-cloud/protos/google/actions/type/date_range.proto b/google-cloud/protos/google/actions/type/date_range.proto new file mode 100644 index 00000000..20860f47 --- /dev/null +++ b/google-cloud/protos/google/actions/type/date_range.proto @@ -0,0 +1,81 @@ +// Copyright 2019 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.actions.type; + +import "google/type/date.proto"; + +option go_package = "google.golang.org/genproto/googleapis/type/date_range;date_range"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeProto"; +option java_package = "com.google.actions.type"; +option objc_class_prefix = "AOGTP"; + +// Represents a range based on whole or partial calendar dates, e.g. the +// duration of a hotel reservation or the Common Era. This can represent: +// +// * A range between full dates, e.g. the duration of a hotel reservation +// * A range between years, e.g. a historical era +// * A range between year/month dates, e.g. the duration of a job on a resume +// * A range beginning in a year, e.g. the Common Era +// * A range ending on a specific date, e.g. the period of time before an event +// +// While [google.type.Date][google.type.Date] allows zero years, DateRange does not. Year must +// always be non-zero. +// +// End cannot be chronologically before start. For example, if start has year +// 2000, end cannot have year 1999. +// +// When both set, start and end must have exactly the same precision. That is, +// they must have the same fields populated with non-zero values. For example, +// if start specifies only year and month, then end must also specify only year +// and month (but not day). +// +// The date range is inclusive. That is, the dates specified by start and end +// are part of the date range. For example, the date January 1, 2000 falls +// within any date with start or end equal to January 1, 2000. When determining +// whether a date is inside a date range, the date should only be compared to +// start and end when those values are set. +// +// When a date and date range are specified to different degrees of precision, +// the rules for evaluating whether that date is inside the date range are as +// follows: +// +// * When comparing the date to the start of the date range, unspecified months +// should be replaced with 1, and unspecified days should be replaced with 1. +// For example, the year 2000 is within the date range with start equal to +// January 1, 2000 and no end. And the date January 1, 2000 is within the +// date range with start equal to the year 2000 and no end. +// +// * When comparing the date to the end of the date range, unspecified months +// should be replaced with 12, and unspecified days should be replaced with +// the last valid day for the month/year. For example, the year 2000 is +// within the date range with start equal to January 1, 1999 and end equal to +// December 31, 2000. And the date December 31, 2001 is within the date range +// with start equal to the year 2000 and end equal to the year 2001. +// +// The semantics of start and end are the same as those of [google.type.Date][google.type.Date], +// except that year must always be non-zero in DateRange. +message DateRange { + // Date at which the date range begins. If unset, the date range has no + // beginning bound. + google.type.Date start = 1; + + // Date at which the date range ends. If unset, the date range has no ending + // bound. + google.type.Date end = 2; +} diff --git a/google-cloud/protos/google/actions/type/datetime_range.proto b/google-cloud/protos/google/actions/type/datetime_range.proto new file mode 100644 index 00000000..6702c2bc --- /dev/null +++ b/google-cloud/protos/google/actions/type/datetime_range.proto @@ -0,0 +1,66 @@ +// Copyright 2019 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.actions.type; + +import "google/type/datetime.proto"; + +option go_package = "google.golang.org/genproto/googleapis/type/date_time_range;date_time_range"; +option java_multiple_files = true; +option java_outer_classname = "DateTimeRangeProto"; +option java_package = "com.google.actions.type"; +option objc_class_prefix = "AOGTP"; + +// Represents a date and time range. This can represent: +// +// * A range between points in time with time zone or offset, e.g. the duration +// of a flight which starts in the "America/New_York" time zone and ends in +// the "Australia/Sydney" time zone +// * A range between points in time without time zone/offset info, e.g. an +// appointment in local time +// * A range starting at a specific date and time, e.g. the range of time which +// can be measured in milliseconds since the Unix epoch (period starting with +// 1970-01-01T00:00:00Z) +// * A range ending at a specific date and time, e.g. range of time before +// a deadline +// +// When considering whether a DateTime falls within a DateTimeRange, the start +// of the range is inclusive and the end is exclusive. +// +// While [google.type.DateTime][google.type.DateTime] allows zero years, DateTimeRange does not. +// Year must always be non-zero. +// +// When both start and end are set, either both or neither must have a +// time_offset. When set, time_offset can be specified by either utc_offset or +// time_zone and must match for start and end, that is if start has utc_offset +// set then end must also have utc_offset set. The values of utc_offset or +// time_zone need not be the same for start and end. +// +// When both start and end are set, start must be chronologically less than or +// equal to end. When start and end are equal, the range is empty. +// +// The semantics of start and end are the same as those of +// [google.type.DateTime][google.type.DateTime]. +message DateTimeRange { + // DateTime at which the date range begins. If unset, the range has no + // beginning bound. + google.type.DateTime start = 1; + + // DateTime at which the date range ends. If unset, the range has no ending + // bound. + google.type.DateTime end = 2; +} diff --git a/google-cloud/protos/google/actions/type/type_aog.yaml b/google-cloud/protos/google/actions/type/type_aog.yaml new file mode 100644 index 00000000..9d284e12 --- /dev/null +++ b/google-cloud/protos/google/actions/type/type_aog.yaml @@ -0,0 +1,21 @@ +type: google.api.Service +config_version: 1 +name: type.aog.googleapis.com +title: Common Actions on Google Types + +types: +- name: google.actions.type.DateRange +- name: google.actions.type.DateTimeRange + +documentation: + summary: Defines common types for Actions on Google APIs. + overview: |- + This package contains definitions of common types for Actions on Google + APIs, which are used in addition to the common Google API types in the + google.type package. These types are not versioned, and must go through + extensive review before being created. + + Like the types in google.type, all types defined in this package are + suitable for different APIs to exchange data, and will never break binary + compatibility. They should have design quality comparable to major + programming languages like Java and C#. diff --git a/google-cloud/protos/google/ads/admob/BUILD.bazel b/google-cloud/protos/google/ads/admob/BUILD.bazel new file mode 100644 index 00000000..499991bf --- /dev/null +++ b/google-cloud/protos/google/ads/admob/BUILD.bazel @@ -0,0 +1 @@ +exports_files(["admob_grpc_service_config.json"] + glob(["*.yaml"])) diff --git a/google-cloud/protos/google/ads/admob/admob_grpc_service_config.json b/google-cloud/protos/google/ads/admob/admob_grpc_service_config.json new file mode 100644 index 00000000..02bafa66 --- /dev/null +++ b/google-cloud/protos/google/ads/admob/admob_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ads.admob.v1.AdMobApi" } + ], + "timeout": "120s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/google-cloud/protos/google/ads/admob/admob_v1.yaml b/google-cloud/protos/google/ads/admob/admob_v1.yaml new file mode 100644 index 00000000..681ee390 --- /dev/null +++ b/google-cloud/protos/google/ads/admob/admob_v1.yaml @@ -0,0 +1,23 @@ +type: google.api.Service +config_version: 3 +name: admob.googleapis.com +title: AdMob API + +apis: +- name: google.ads.admob.v1.AdMobApi + +documentation: + summary: The AdMob API allows publishers to programmatically get information about their AdMob + account. + +backend: + rules: + - selector: 'google.ads.admob.v1.AdMobApi.*' + deadline: 120.0 + +authentication: + rules: + - selector: 'google.ads.admob.v1.AdMobApi.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/admob.report diff --git a/google-cloud/protos/google/ads/admob/v1/BUILD.bazel b/google-cloud/protos/google/ads/admob/v1/BUILD.bazel new file mode 100644 index 00000000..b3adf281 --- /dev/null +++ b/google-cloud/protos/google/ads/admob/v1/BUILD.bazel @@ -0,0 +1,363 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "admob_proto", + srcs = [ + "admob_api.proto", + "admob_resources.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/cloud:common_resources_proto", + "//google/type:date_proto", + ], +) + +proto_library_with_info( + name = "admob_proto_with_info", + deps = [ + ":admob_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 = "admob_java_proto", + deps = [":admob_proto"], +) + +java_grpc_library( + name = "admob_java_grpc", + srcs = [":admob_proto"], + deps = [":admob_java_proto"], +) + +java_gapic_library( + name = "admob_java_gapic", + srcs = [ + ":admob_proto_with_info", + ], + gapic_yaml = "admob_gapic.yaml", + grpc_service_config = "//google/ads/admob:admob_grpc_service_config.json", + test_deps = [ + ":admob_java_grpc", + ], + transport = "rest", + deps = [ + ":admob_java_proto", + ], +) + +java_gapic_test( + name = "admob_java_gapic_test_suite", + test_classes = [ + "com.google.ads.admob.v1.AdMobApiClientTest", + ], + runtime_deps = [":admob_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-ads-admob-v1-java", + transport = "grpc+rest", + deps = [ + ":admob_java_gapic", + ":admob_java_grpc", + ":admob_java_proto", + ":admob_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "admob_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/ads/admob/v1", + protos = [":admob_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "admob_go_gapic", + srcs = [":admob_proto_with_info"], + grpc_service_config = None, + importpath = "google.golang.org/google/ads/admob/v1;admob", + service_yaml = "//google/ads/admob:admob_v1.yaml", + transport = "grpc+rest", + deps = [ + ":admob_go_proto", + ], +) + +go_test( + name = "admob_go_gapic_test", + srcs = [":admob_go_gapic_srcjar_test"], + embed = [":admob_go_gapic"], + importpath = "google.golang.org/google/ads/admob/v1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-ads-admob-v1-go", + deps = [ + ":admob_go_gapic", + ":admob_go_gapic_srcjar-test.srcjar", + ":admob_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "py_grpc_library", + "py_proto_library", +) + +py_proto_library( + name = "admob_py_proto", + deps = [":admob_proto"], +) + +py_grpc_library( + name = "admob_py_grpc", + srcs = [":admob_proto"], + deps = [":admob_py_proto"], +) + +py_gapic_library( + name = "admob_py_gapic", + srcs = [ + ":admob_proto_with_info", + ], +) + +py_test( + name = "admob_py_gapic_test", + srcs = [ + "admob_py_gapic_pytest.py", + "admob_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":admob_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "ads-admob-v1-py", + deps = [ + ":admob_py_gapic", + ":admob_py_grpc", + ":admob_py_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 = "admob_php_proto", + deps = [":admob_proto"], +) + +php_grpc_library( + name = "admob_php_grpc", + srcs = [":admob_proto"], + deps = [":admob_php_proto"], +) + +php_gapic_library( + name = "admob_php_gapic", + srcs = [":admob_proto"], + gapic_yaml = "admob_gapic.yaml", + grpc_service_config = None, + service_yaml = "//google/ads/admob:admob_v1.yaml", + deps = [ + ":admob_php_grpc", + ":admob_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-ads-admob-v1-php", + deps = [ + ":admob_php_gapic", + ":admob_php_grpc", + ":admob_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "admob_nodejs_gapic", + src = ":admob_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = None, + package = "google.ads.admob.v1", + service_yaml = "//google/ads/admob:admob_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "ads-admob-v1-nodejs", + deps = [ + ":admob_nodejs_gapic", + ":admob_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 = "admob_ruby_proto", + deps = [":admob_proto"], +) + +ruby_grpc_library( + name = "admob_ruby_grpc", + srcs = [":admob_proto"], + deps = [":admob_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admob_ruby_gapic", + srcs = [":admob_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-admob-v1"], + grpc_service_config = None, + deps = [ + ":admob_ruby_grpc", + ":admob_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-ads-admob-v1-ruby", + deps = [ + ":admob_ruby_gapic", + ":admob_ruby_grpc", + ":admob_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 = "admob_csharp_proto", + deps = [":admob_proto"], +) + +csharp_grpc_library( + name = "admob_csharp_grpc", + srcs = [":admob_proto"], + deps = [":admob_csharp_proto"], +) + +csharp_gapic_library( + name = "admob_csharp_gapic", + srcs = [":admob_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + deps = [ + ":admob_csharp_grpc", + ":admob_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-ads-admob-v1-csharp", + deps = [ + ":admob_csharp_gapic", + ":admob_csharp_grpc", + ":admob_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/ads/admob/v1/admob_api.proto b/google-cloud/protos/google/ads/admob/v1/admob_api.proto new file mode 100644 index 00000000..14a0fe2b --- /dev/null +++ b/google-cloud/protos/google/ads/admob/v1/admob_api.proto @@ -0,0 +1,224 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.admob.v1; + +import "google/ads/admob/v1/admob_resources.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 = "google.golang.org/genproto/googleapis/ads/admob/v1;admob"; +option java_outer_classname = "AdMobApiProto"; +option java_package = "com.google.ads.admob.v1"; + +// The AdMob API allows AdMob publishers programmatically get information about +// their AdMob account. +service AdMobApi { + option (google.api.default_host) = "admob.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/admob.report"; + + // Gets information about the specified AdMob publisher account. + rpc GetPublisherAccount(GetPublisherAccountRequest) + returns (PublisherAccount) { + option (google.api.http) = { + get: "/v1/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the AdMob publisher account accessible with the client credential. + // Currently, all credentials have access to at most one AdMob account. + rpc ListPublisherAccounts(ListPublisherAccountsRequest) + returns (ListPublisherAccountsResponse) { + option (google.api.http) = { + get: "/v1/accounts" + }; + } + + // Generates an AdMob Network report based on the provided report + // specification. + rpc GenerateNetworkReport(GenerateNetworkReportRequest) + returns (stream GenerateNetworkReportResponse) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/networkReport:generate" + body: "*" + }; + } + + // Generates an AdMob Mediation report based on the provided report + // specification. + rpc GenerateMediationReport(GenerateMediationReportRequest) + returns (stream GenerateMediationReportResponse) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/mediationReport:generate" + body: "*" + }; + } +} + +// Request to retrieve the specified publisher account. +message GetPublisherAccountRequest { + // Resource name of the publisher account to retrieve. + // Example: accounts/pub-9876543210987654 + string name = 1; +} + +// Request to retrieve the AdMob publisher account accessible with the client +// credential. Currently all credentials have access to at most 1 account. +message ListPublisherAccountsRequest { + // Maximum number of accounts to return. + int32 page_size = 1; + + // The value returned by the last `ListPublisherAccountsResponse`; indicates + // that this is a continuation of a prior `ListPublisherAccounts` call, and + // that the system should return the next page of data. + string page_token = 2; +} + +// Response for the publisher account list request. +message ListPublisherAccountsResponse { + // Publisher that the client credentials can access. + repeated PublisherAccount account = 1; + + // If not empty, indicates that there might be more accounts for the request; + // you must pass this value in a new `ListPublisherAccountsRequest`. + string next_page_token = 2; +} + +// Request to generate an AdMob Mediation report. +message GenerateMediationReportRequest { + // Resource name of the account to generate the report for. + // Example: accounts/pub-9876543210987654 + string parent = 1; + + // Network report specification. + MediationReportSpec report_spec = 2; +} + +// The streaming response for the AdMob Mediation report where the first +// response contains the report header, then a stream of row responses, and +// finally a footer as the last response message. +// +// For example: +// +// [{ +// "header": { +// "date_range": { +// "start_date": {"year": 2018, "month": 9, "day": 1}, +// "end_date": {"year": 2018, "month": 9, "day": 1} +// }, +// "localization_settings": { +// "currency_code": "USD", +// "language_code": "en-US" +// } +// } +// }, +// { +// "row": { +// "dimension_values": { +// "DATE": {"value": "20180918"}, +// "APP": { +// "value": "ca-app-pub-8123415297019784~1001342552", +// "display_label": "My app name!" +// } +// }, +// "metric_values": { +// "ESTIMATED_EARNINGS": {"decimal_value": "1324746"} +// } +// } +// }, +// { +// "footer": {"matching_row_count": 1} +// }] +message GenerateMediationReportResponse { + // Each stream response message contains one type of payload. + oneof payload { + // Report generation settings that describes the report contents, such as + // the report date range and localization settings. + ReportHeader header = 1; + + // Actual report data. + ReportRow row = 2; + + // Additional information about the generated report, such as warnings about + // the data. + ReportFooter footer = 3; + } +} + +// Request to generate an AdMob Network report. +message GenerateNetworkReportRequest { + // Resource name of the account to generate the report for. + // Example: accounts/pub-9876543210987654 + string parent = 1; + + // Network report specification. + NetworkReportSpec report_spec = 2; +} + +// The streaming response for the AdMob Network report where the first response +// contains the report header, then a stream of row responses, and finally a +// footer as the last response message. +// +// For example: +// +// [{ +// "header": { +// "dateRange": { +// "startDate": {"year": 2018, "month": 9, "day": 1}, +// "endDate": {"year": 2018, "month": 9, "day": 1} +// }, +// "localizationSettings": { +// "currencyCode": "USD", +// "languageCode": "en-US" +// } +// } +// }, +// { +// "row": { +// "dimensionValues": { +// "DATE": {"value": "20180918"}, +// "APP": { +// "value": "ca-app-pub-8123415297019784~1001342552", +// displayLabel: "My app name!" +// } +// }, +// "metricValues": { +// "ESTIMATED_EARNINGS": {"microsValue": 6500000} +// } +// } +// }, +// { +// "footer": {"matchingRowCount": 1} +// }] +message GenerateNetworkReportResponse { + // Each stream response message contains one type of payload. + oneof payload { + // Report generation settings that describes the report contents, such as + // the report date range and localization settings. + ReportHeader header = 1; + + // Actual report data. + ReportRow row = 2; + + // Additional information about the generated report, such as warnings about + // the data. + ReportFooter footer = 3; + } +} diff --git a/google-cloud/protos/google/ads/admob/v1/admob_gapic.yaml b/google-cloud/protos/google/ads/admob/v1/admob_gapic.yaml new file mode 100644 index 00000000..727dc590 --- /dev/null +++ b/google-cloud/protos/google/ads/admob/v1/admob_gapic.yaml @@ -0,0 +1,150 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 1.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.ads.admob.v1 + python: + package_name: google.ads.admob_v1.gapic + go: + package_name: google.golang.org/api/admob/v1 + csharp: + package_name: Google.Ads.Admob.V1 + ruby: + package_name: Google::Ads::Admob::V1 + php: + package_name: Google\Ads\Admob\V1 + nodejs: + package_name: admob.v1 +# A list of API interface configurations. +interfaces: +# The fully qualified name of the API interface. +- name: google.ads.admob.v1.AdMobApi + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: + - name_pattern: accounts/{account} + entity_name: account + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - DEADLINE_EXCEEDED + - UNAVAILABLE + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: GetPublisherAccount + flattening: + groups: + - parameters: + - name + required_fields: + - name + retry_codes_name: idempotent + retry_params_name: default + field_name_patterns: + name: account + timeout_millis: 60000 + - name: ListPublisherAccounts + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: account + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 60000 + - name: GenerateNetworkReport + flattening: + groups: + - parameters: + - parent + - report_spec + required_fields: + - parent + - report_spec + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: account + timeout_millis: 60000 + - name: GenerateMediationReport + flattening: + groups: + - parameters: + - parent + - report_spec + required_fields: + - parent + - report_spec + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + parent: account + timeout_millis: 60000 diff --git a/google-cloud/protos/google/ads/admob/v1/admob_resources.proto b/google-cloud/protos/google/ads/admob/v1/admob_resources.proto new file mode 100644 index 00000000..d9cc428a --- /dev/null +++ b/google-cloud/protos/google/ads/admob/v1/admob_resources.proto @@ -0,0 +1,610 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.admob.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/type/date.proto"; + +option go_package = "google.golang.org/genproto/googleapis/ads/admob/v1;admob"; +option java_outer_classname = "AdMobResourcesProto"; +option java_package = "com.google.ads.admob.v1"; + +// The sorting order. +enum SortOrder { + // Default value for an unset field. Do not use. + SORT_ORDER_UNSPECIFIED = 0; + + // Sort dimension value or metric value in ascending order. + ASCENDING = 1; + + // Sort dimension value or metric value in descending order. + DESCENDING = 2; +} + +// A publisher account contains information relevant to the use of this API, +// such as the time zone used for the reports. +message PublisherAccount { + option (google.api.resource) = { + type: "admob.googleapis.com/PublisherAccount" + pattern: "accounts/{publisher}" + }; + + // Resource name of this account. + // Format is accounts/{publisher_id}. + string name = 1; + + // The unique ID by which this publisher account can be identified + // in the API requests (for example, pub-1234567890). + string publisher_id = 2; + + // The time zone that is used in reports that are generated for this account. + // The value is a time-zone ID as specified by the CLDR project, + // for example, "America/Los_Angeles". + string reporting_time_zone = 3; + + // Currency code of the earning-related metrics, which is the 3-letter code + // defined in ISO 4217. The daily average rate is used for the currency + // conversion. + string currency_code = 4; +} + +// The specification for generating an AdMob Network report. +// For example, the specification to get clicks and estimated earnings for only +// the 'US' and 'CN' countries can look like the following example: +// +// { +// 'date_range': { +// 'start_date': {'year': 2018, 'month': 9, 'day': 1}, +// 'end_date': {'year': 2018, 'month': 9, 'day': 30} +// }, +// 'dimensions': ['DATE', 'APP', 'COUNTRY'], +// 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], +// 'dimension_filters': [ +// { +// 'dimension': 'COUNTRY', +// 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} +// } +// ], +// 'sort_conditions': [ +// {'dimension':'APP', order: 'ASCENDING'}, +// {'metric':'CLICKS', order: 'DESCENDING'} +// ], +// 'localization_settings': { +// 'currency_code': 'USD', +// 'language_code': 'en-US' +// } +// } +// +// For a better understanding, you can treat the preceding specification like +// the following pseudo SQL: +// +// SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS +// FROM NETWORK_REPORT +// WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' +// AND COUNTRY IN ('US', 'CN') +// GROUP BY DATE, APP, COUNTRY +// ORDER BY APP ASC, CLICKS DESC; +message NetworkReportSpec { + // Describes which report rows to match based on their dimension values. + message DimensionFilter { + // Filter operator to be applied. + oneof operator { + // Matches a row if its value for the specified dimension is in one of the + // values specified in this condition. + StringList matches_any = 2; + } + + // Applies the filter criterion to the specified dimension. + Dimension dimension = 1; + } + + // Sorting direction to be applied on a dimension or a metric. + message SortCondition { + // Identifies which values to sort on. + oneof sort_on { + // Sort by the specified dimension. + Dimension dimension = 1; + + // Sort by the specified metric. + Metric metric = 2; + } + + // Sorting order of the dimension or metric. + SortOrder order = 3; + } + + // The dimensions of the network report. Dimensions are data attributes to + // break down or refine the quantitative measurements (metrics) by certain + // attributes, such as the ad format or the platform an ad was viewed on. + enum Dimension { + // Default value for an unset field. Do not use. + DIMENSION_UNSPECIFIED = 0; + + // A date in the YYYY-MM-DD format (for example, "2018-12-21"). Requests can + // specify at most one time dimension. + DATE = 1; + + // A month in the YYYY-MM format (for example, "2018-12"). Requests can + // specify at most one time dimension. + MONTH = 2; + + // The date of the first day of a week in the YYYY-MM-DD format + // (for example, "2018-12-21"). Requests can specify at most one time + // dimension. + WEEK = 3; + + // The unique ID of the ad unit (for example, "ca-app-pub-1234/1234"). + // If AD_UNIT dimension is specified, then APP is included automatically. + AD_UNIT = 4; + + // The unique ID of the mobile application (for example, + // "ca-app-pub-1234~1234"). + APP = 5; + + // Type of the ad (for example, "text" or "image"), an ad delivery + // dimension. + // + // **Warning:** The dimension is incompatible with + // [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), + // [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and + // [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics. + AD_TYPE = 6; + + // CLDR country code of the place where the ad views/clicks occur (for + // example, "US" or "FR"). This is a geography dimension. + COUNTRY = 7; + + // Format of the ad unit (for example, "banner", "native"), an ad delivery + // dimension. + FORMAT = 8; + + // Mobile OS platform of the app (for example, "Android" or "iOS"). + PLATFORM = 9; + } + + // The metrics of the network report. Metrics are quantitative measurements + // indicating how the publisher business is performing. They are aggregated + // from the individual ad events and grouped by the report dimensions. The + // metric value is either integer, or decimal (without rounding). + enum Metric { + // Default value for an unset field. Do not use. + METRIC_UNSPECIFIED = 0; + + // The number of ad requests. The value is an integer. + // + // **Warning:** The metric is incompatible with + // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. + AD_REQUESTS = 1; + + // The number of times a user clicks an ad. The value is an integer. + CLICKS = 2; + + // The estimated earnings of the AdMob publisher. The currency unit (USD, + // EUR, or other) of the earning metrics are determined by the localization + // setting for currency. The amount is in micros. For example, $6.50 would + // be represented as 6500000. + ESTIMATED_EARNINGS = 3; + + // The total number of ads shown to users. The value is an integer. + IMPRESSIONS = 4; + + // The ratio of clicks over impressions. The value is a double precision + // (approximate) decimal value. + IMPRESSION_CTR = 5; + + // The estimated earnings per thousand ad impressions. The value is in + // micros. For example, $1.03 would be represented as 1030000. + // + // **Warning:** The metric is incompatible with + // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. + IMPRESSION_RPM = 6; + + // The number of times ads are returned in response to a request. The value + // is an integer. + MATCHED_REQUESTS = 7; + + // The ratio of matched ad requests over the total ad requests. The value is + // a double precision (approximate) decimal value. + // + // **Warning:** The metric is incompatible with + // [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension. + MATCH_RATE = 8; + + // The ratio of ads that are displayed over ads that are returned, defined + // as impressions / matched requests. The value is a double precision + // (approximate) decimal value. + SHOW_RATE = 9; + } + + // The date range for which the report is generated. + DateRange date_range = 1; + + // List of dimensions of the report. The value combination of these dimensions + // determines the row of the report. If no dimensions are specified, the + // report returns a single row of requested metrics for the entire account. + repeated Dimension dimensions = 2; + + // List of metrics of the report. A report must specify at least one metric. + repeated Metric metrics = 3; + + // Describes which report rows to match based on their dimension values. + repeated DimensionFilter dimension_filters = 4; + + // Describes the sorting of report rows. The order of the condition in the + // list defines its precedence; the earlier the condition, the higher its + // precedence. If no sort conditions are specified, the row ordering is + // undefined. + repeated SortCondition sort_conditions = 5; + + // Localization settings of the report. + LocalizationSettings localization_settings = 6; + + // Maximum number of report data rows to return. If the value is not set, the + // API returns as many rows as possible, up to 100000. Acceptable values are + // 1-100000, inclusive. Any other values are treated as 100000. + int32 max_report_rows = 7; + + // A report time zone. Accepts an IANA TZ name values, such as + // "America/Los_Angeles." If no time zone is defined, the account default + // takes effect. Check default value by the get account action. + // + // **Warning:** The "America/Los_Angeles" is the only supported value at + // the moment. + string time_zone = 8; +} + +// The specification for generating an AdMob Mediation report. +// For example, the specification to get observed ECPM sliced by ad source and +// app for the 'US' and 'CN' countries can look like the following example: +// +// { +// "date_range": { +// "start_date": {"year": 2018, "month": 9, "day": 1}, +// "end_date": {"year": 2018, "month": 9, "day": 30} +// }, +// "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], +// "metrics": ["OBSERVED_ECPM"], +// "dimension_filters": [ +// { +// "dimension": "COUNTRY", +// "matches_any": {"values": [{"value": "US", "value": "CN"}]} +// } +// ], +// "sort_conditions": [ +// {"dimension":"APP", order: "ASCENDING"} +// ], +// "localization_settings": { +// "currency_code": "USD", +// "language_code": "en-US" +// } +// } +// +// For a better understanding, you can treat the preceding specification like +// the following pseudo SQL: +// +// SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM +// FROM MEDIATION_REPORT +// WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' +// AND COUNTRY IN ('US', 'CN') +// GROUP BY AD_SOURCE, APP, COUNTRY +// ORDER BY APP ASC; +message MediationReportSpec { + // Describes which report rows to match based on their dimension values. + message DimensionFilter { + // Filter operator to be applied. + oneof operator { + // Matches a row if its value for the specified dimension is in one of the + // values specified in this condition. + StringList matches_any = 2; + } + + // Applies the filter criterion to the specified dimension. + Dimension dimension = 1; + } + + // Sorting direction to be applied on a dimension or a metric. + message SortCondition { + // Identifies which values to sort on. + oneof sort_on { + // Sort by the specified dimension. + Dimension dimension = 1; + + // Sort by the specified metric. + Metric metric = 2; + } + + // Sorting order of the dimension or metric. + SortOrder order = 3; + } + + // The dimensions of the mediation report. Dimensions are data attributes to + // break down or refine the quantitative measurements (metrics) by certain + // attributes, such as the ad format or the platform an ad was viewed on. + enum Dimension { + // Default value for an unset field. Do not use. + DIMENSION_UNSPECIFIED = 0; + + // A date in the YYYY-MM-DD format (for example, "2018-12-21"). Requests can + // specify at most one time dimension. + DATE = 1; + + // A month in the YYYY-MM format (for example, "2018-12"). Requests can + // specify at most one time dimension. + MONTH = 2; + + // The date of the first day of a week in the YYYY-MM-DD format + // (for example, "2018-12-21"). Requests can specify at most one time + // dimension. + WEEK = 3; + + // The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, + // "5450213213286189855" and "AdMob Network" as label value). + AD_SOURCE = 4; + + // The unique ID of the ad source instance (for example, + // "ca-app-pub-1234#5678" and "AdMob (default)" as label value). + AD_SOURCE_INSTANCE = 5; + + // The unique ID of the ad unit (for example, "ca-app-pub-1234/8790"). + // If AD_UNIT dimension is specified, then APP is included automatically. + AD_UNIT = 6; + + // The unique ID of the mobile application (for example, + // "ca-app-pub-1234~1234"). + APP = 7; + + // The unique ID of the mediation group (for example, + // "ca-app-pub-1234:mg:1234" and "AdMob (default)" as label value). + MEDIATION_GROUP = 11; + + // CLDR country code of the place where the ad views/clicks occur (for + // example, "US" or "FR"). This is a geography dimension. + COUNTRY = 8; + + // Format of the ad unit (for example, "banner", "native"), an ad delivery + // dimension. + FORMAT = 9; + + // Mobile OS platform of the app (for example, "Android" or "iOS"). + PLATFORM = 10; + } + + // The metrics of the mediation report. Metrics are quantitative measurements + // indicating how the publisher business is performing. They are aggregated + // from the individual ad events and grouped by the report dimensions. The + // metric value is either integer, or decimal (without rounding). + enum Metric { + // Default value for an unset field. Do not use. + METRIC_UNSPECIFIED = 0; + + // The number of requests. The value is an integer. + AD_REQUESTS = 1; + + // The number of times a user clicks an ad. The value is an integer. + CLICKS = 2; + + // The estimated earnings of the AdMob publisher. The currency unit (USD, + // EUR, or other) of the earning metrics are determined by the localization + // setting for currency. The amount is in micros. For example, $6.50 would + // be represented as 6500000. + // + // Estimated earnings per mediation group and per ad source instance level + // is supported dating back to October 20, 2019. Third-party estimated + // earnings will show 0 for dates prior to October 20, 2019. + ESTIMATED_EARNINGS = 3; + + // The total number of ads shown to users. The value is an integer. + IMPRESSIONS = 4; + + // The ratio of clicks over impressions. The value is a double precision + // (approximate) decimal value. + IMPRESSION_CTR = 5; + + // The number of times ads are returned in response to a request. The value + // is an integer. + MATCHED_REQUESTS = 6; + + // The ratio of matched ad requests over the total ad requests. The value is + // a double precision (approximate) decimal value. + MATCH_RATE = 7; + + // The third-party ad network's estimated average eCPM. The currency unit + // (USD, EUR, or other) of the earning metrics are determined by the + // localization setting for currency. The amount is in micros. For example, + // $2.30 would be represented as 2300000. + // + // The estimated average eCPM per mediation group and per ad source instance + // level is supported dating back to October 20, 2019. Third-party estimated + // average eCPM will show 0 for dates prior to October 20, 2019. + OBSERVED_ECPM = 8; + } + + // The date range for which the report is generated. + DateRange date_range = 1; + + // List of dimensions of the report. The value combination of these dimensions + // determines the row of the report. If no dimensions are specified, the + // report returns a single row of requested metrics for the entire account. + repeated Dimension dimensions = 2; + + // List of metrics of the report. A report must specify at least one metric. + repeated Metric metrics = 3; + + // Describes which report rows to match based on their dimension values. + repeated DimensionFilter dimension_filters = 4; + + // Describes the sorting of report rows. The order of the condition in the + // list defines its precedence; the earlier the condition, the higher its + // precedence. If no sort conditions are specified, the row ordering is + // undefined. + repeated SortCondition sort_conditions = 5; + + // Localization settings of the report. + LocalizationSettings localization_settings = 6; + + // Maximum number of report data rows to return. If the value is not set, the + // API returns as many rows as possible, up to 100000. Acceptable values are + // 1-100000, inclusive. Any other values are treated as 100000. + int32 max_report_rows = 7; + + // A report time zone. Accepts an IANA TZ name values, such as + // "America/Los_Angeles." If no time zone is defined, the account default + // takes effect. Check default value by the get account action. + // + // **Warning:** The "America/Los_Angeles" is the only supported value at + // the moment. + string time_zone = 8; +} + +// A row of the returning report. +message ReportRow { + // Representation of a dimension value. + message DimensionValue { + // Dimension value in the format specified in the report's spec Dimension + // enum. + string value = 1; + + // The localized string representation of the value. If unspecified, the + // display label should be derived from the value. + string display_label = 2; + } + + // Representation of a metric value. + message MetricValue { + // Metric value in the format specified in the report's spec Metric enum + // name. + oneof value { + // Metric integer value. + int64 integer_value = 1; + + // Double precision (approximate) decimal values. Rates are from 0 to 1. + double double_value = 2; + + // Amount in micros. One million is equivalent to one unit. Currency value + // is in the unit (USD, EUR or other) specified by the request. + // For example, $6.50 whould be represented as 6500000 micros. + int64 micros_value = 3; + } + } + + // Map of dimension values in a row, with keys as enum name of the dimensions. + map dimension_values = 1; + + // Map of metric values in a row, with keys as enum name of the metrics. If + // a metric being requested has no value returned, the map will not include + // it. + map metric_values = 2; +} + +// Warnings associated with generation of the report. +message ReportWarning { + // Warning type. + enum Type { + // Default value for an unset field. Do not use. + TYPE_UNSPECIFIED = 0; + + // Some data in this report is aggregated based on a time zone different + // from the requested time zone. This could happen if a local time-zone + // report has the start time before the last time this time zone changed. + // The description field will contain the date of the last time zone + // change. + DATA_BEFORE_ACCOUNT_TIMEZONE_CHANGE = 1; + + // There is an unusual delay in processing the source data for the + // requested date range. The report results might be less up to date than + // usual. AdMob is aware of the issue and is actively working to resolve + // it. + DATA_DELAYED = 2; + + // Warnings that are exposed without a specific type. Useful when new + // warning types are added but the API is not changed yet. + OTHER = 3; + + // The currency being requested is not the account currency. The earning + // metrics will be based on the requested currency, and thus not a good + // estimation of the final payment anymore, due to the currency rate + // fluctuation. + REPORT_CURRENCY_NOT_ACCOUNT_CURRENCY = 4; + } + + // Type of the warning. + Type type = 1; + + // Describes the details of the warning message, in English. + string description = 2; +} + +// Groups data helps to treat the generated report. Always sent as a first +// message in the stream response. +message ReportHeader { + // The date range for which the report is generated. This is identical to the + // range specified in the report request. + DateRange date_range = 1; + + // Localization settings of the report. This is identical to the settings + // in the report request. + LocalizationSettings localization_settings = 2; + + // The report time zone. The value is a time-zone ID as specified by the CLDR + // project, for example, "America/Los_Angeles". + string reporting_time_zone = 3; +} + +// Groups data available after report generation, for example, warnings and row +// counts. Always sent as the last message in the stream response. +message ReportFooter { + // Warnings associated with generation of the report. + repeated ReportWarning warnings = 1; + + // Total number of rows that matched the request. + // + // Warning: This count does NOT always match the number of rows in the + // response. Do not make that assumption when processing the response. + int64 matching_row_count = 2; +} + +// Specification of a single date range. Both dates are inclusive. +message DateRange { + // Start date of the date range, inclusive. Must be less than or equal to the + // end date. + google.type.Date start_date = 1; + + // End date of the date range, inclusive. Must be greater than or equal to the + // start date. + google.type.Date end_date = 2; +} + +// Localization settings for reports, such as currency and language. It affects +// how metrics are calculated. +message LocalizationSettings { + // Currency code of the earning related metrics, which is the 3-letter code + // defined in ISO 4217. The daily average rate is used for the currency + // conversion. Defaults to the account currency code if unspecified. + string currency_code = 1; + + // Language used for any localized text, such as some dimension value display + // labels. The language tag defined in the IETF BCP47. Defaults to 'en-US' if + // unspecified. + string language_code = 2; +} + +// List of string values. +message StringList { + // The string values. + repeated string values = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/README.md b/google-cloud/protos/google/ads/googleads/README.md index 4a1872b8..db373ba1 100644 --- a/google-cloud/protos/google/ads/googleads/README.md +++ b/google-cloud/protos/google/ads/googleads/README.md @@ -1,8 +1,11 @@ -# Google Ads API - proto definitions +# Google Ads API This folder contains the [protocol -buffer](https://developers.google.com/protocol-buffers/) definitions for the -[Google Ads API](https://developers.google.com/google-ads/api/). To use this +buffer](https://developers.google.com/protocol-buffers/) definitions and +**experimental** build files (see below) for the [Google Ads +API](https://developers.google.com/google-ads/api/). + +To use this API, we encourage you to take a look at our [official client libraries](https://developers.google.com/google-ads/api/docs/client-libs) for Java, Ruby, PHP, Python or .NET. Refer to the @@ -19,3 +22,26 @@ Use [the official Google Ads API forum](https://groups.google.com/d/forum/adwords-api) to request an official client library in another programming language, report bugs, request new features in the Google Ads API, or provide feedback. + +## Build files (experimental) + +> **IMPORTANT** The Bazel build files are **experimental**. The structure and +> content of the Bazel packages are subject to change, and the resulting +> generated API clients are not officially supported Google products. + +The [Bazel](https://bazel.build/) build files contain targets for building +**generated API clients (GAPICs)** from the Google Ads API protocol buffer +descriptors. Our [officially supported +client libraries](https://developers.google.com/google-ads/api/docs/client-libs) +are built upon these GAPIC artifacts, but add significant performance and +usability enhancements. Thus, we strongly recommend using an official +client library. + +However, developers looking to understand the internals of the API's client +libraries or build their own custom [gRPC](https://grpc.io/)-based clients can +use these build files as reference points. + +For details on using these files, see the +[Bazel section](https://github.com/googleapis/googleapis#bazel) of the +repository's main +[README.md](https://github.com/googleapis/googleapis/blob/master/README.md). diff --git a/google-cloud/protos/google/ads/googleads/base.yaml b/google-cloud/protos/google/ads/googleads/base.yaml deleted file mode 100644 index a18b0c0d..00000000 --- a/google-cloud/protos/google/ads/googleads/base.yaml +++ /dev/null @@ -1,276 +0,0 @@ -type: google.api.Service -config_version: 3 -name: googleads.googleapis.com -title: Google Ads API - -apis: -- name: google.ads.googleads.v0.services.AccountBudgetProposalService -- name: google.ads.googleads.v0.services.AccountBudgetService -- name: google.ads.googleads.v0.services.AdGroupAdService -- name: google.ads.googleads.v0.services.AdGroupAudienceViewService -- name: google.ads.googleads.v0.services.AdGroupBidModifierService -- name: google.ads.googleads.v0.services.AdGroupCriterionService -- name: google.ads.googleads.v0.services.AdGroupFeedService -- name: google.ads.googleads.v0.services.AdGroupService -- name: google.ads.googleads.v0.services.AgeRangeViewService -- name: google.ads.googleads.v0.services.BiddingStrategyService -- name: google.ads.googleads.v0.services.BillingSetupService -- name: google.ads.googleads.v0.services.CampaignAudienceViewService -- name: google.ads.googleads.v0.services.CampaignBidModifierService -- name: google.ads.googleads.v0.services.CampaignBudgetService -- name: google.ads.googleads.v0.services.CampaignCriterionService -- name: google.ads.googleads.v0.services.CampaignFeedService -- name: google.ads.googleads.v0.services.CampaignGroupService -- name: google.ads.googleads.v0.services.CampaignService -- name: google.ads.googleads.v0.services.CampaignSharedSetService -- name: google.ads.googleads.v0.services.CarrierConstantService -- name: google.ads.googleads.v0.services.ChangeStatusService -- name: google.ads.googleads.v0.services.ConversionActionService -- name: google.ads.googleads.v0.services.CustomerClientLinkService -- name: google.ads.googleads.v0.services.CustomerClientService -- name: google.ads.googleads.v0.services.CustomerFeedService -- name: google.ads.googleads.v0.services.CustomerManagerLinkService -- name: google.ads.googleads.v0.services.CustomerService -- name: google.ads.googleads.v0.services.DisplayKeywordViewService -- name: google.ads.googleads.v0.services.FeedItemService -- name: google.ads.googleads.v0.services.FeedMappingService -- name: google.ads.googleads.v0.services.FeedService -- name: google.ads.googleads.v0.services.GenderViewService -- name: google.ads.googleads.v0.services.GeoTargetConstantService -- name: google.ads.googleads.v0.services.GoogleAdsFieldService -- name: google.ads.googleads.v0.services.SharedCriterionService -- name: google.ads.googleads.v0.services.SharedSetService -- name: google.ads.googleads.v0.services.UserListService -- name: google.ads.googleads.v0.services.GoogleAdsService -- name: google.ads.googleads.v0.services.HotelGroupViewService -- name: google.ads.googleads.v0.services.HotelPerformanceViewService -- name: google.ads.googleads.v0.services.KeywordPlanAdGroupService -- name: google.ads.googleads.v0.services.KeywordPlanCampaignService -- name: google.ads.googleads.v0.services.KeywordPlanIdeaService -- name: google.ads.googleads.v0.services.KeywordPlanKeywordService -- name: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService -- name: google.ads.googleads.v0.services.KeywordPlanService -- name: google.ads.googleads.v0.services.KeywordViewService -- name: google.ads.googleads.v0.services.LanguageConstantService -- name: google.ads.googleads.v0.services.ManagedPlacementViewService -- name: google.ads.googleads.v0.services.MediaFileService -- name: google.ads.googleads.v0.services.ParentalStatusViewService -- name: google.ads.googleads.v0.services.PaymentsAccountService -- name: google.ads.googleads.v0.services.ProductGroupViewService -- name: google.ads.googleads.v0.services.RecommendationService -- name: google.ads.googleads.v0.services.SearchTermViewService -- name: google.ads.googleads.v0.services.TopicConstantService -- name: google.ads.googleads.v0.services.TopicViewService -- name: google.ads.googleads.v0.services.UserInterestService -- name: google.ads.googleads.v0.services.VideoService - -types: -- name: google.ads.googleads.v0.errors.GoogleAdsFailure - -documentation: - summary: |- - Manage your AdWords accounts, campaigns, and reports with this REST-based - API. - overview: |- - # This warning always fires when the last path segment of packages is not - - # the version - -backend: - rules: - - selector: google.ads.googleads.v0.services.AccountBudgetProposalService.GetAccountBudgetProposal - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AccountBudgetProposalService.MutateAccountBudgetProposal - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AccountBudgetService.GetAccountBudget - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupAdService.GetAdGroupAd - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupAdService.MutateAdGroupAds - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupAudienceViewService.GetAdGroupAudienceView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupBidModifierService.GetAdGroupBidModifier - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupBidModifierService.MutateAdGroupBidModifiers - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupCriterionService.GetAdGroupCriterion - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupCriterionService.MutateAdGroupCriteria - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupFeedService.GetAdGroupFeed - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupFeedService.MutateAdGroupFeeds - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupService.GetAdGroup - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AdGroupService.MutateAdGroups - deadline: 60.0 - - selector: google.ads.googleads.v0.services.AgeRangeViewService.GetAgeRangeView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.BiddingStrategyService.GetBiddingStrategy - deadline: 60.0 - - selector: google.ads.googleads.v0.services.BiddingStrategyService.MutateBiddingStrategies - deadline: 60.0 - - selector: google.ads.googleads.v0.services.BillingSetupService.GetBillingSetup - deadline: 60.0 - - selector: google.ads.googleads.v0.services.BillingSetupService.MutateBillingSetup - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignAudienceViewService.GetCampaignAudienceView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignBidModifierService.GetCampaignBidModifier - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignBidModifierService.MutateCampaignBidModifiers - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignBudgetService.GetCampaignBudget - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignBudgetService.MutateCampaignBudgets - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignCriterionService.GetCampaignCriterion - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignCriterionService.MutateCampaignCriteria - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignFeedService.GetCampaignFeed - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignFeedService.MutateCampaignFeeds - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignGroupService.GetCampaignGroup - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignGroupService.MutateCampaignGroups - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignService.GetCampaign - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignService.MutateCampaigns - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignSharedSetService.GetCampaignSharedSet - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CampaignSharedSetService.MutateCampaignSharedSets - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CarrierConstantService.GetCarrierConstant - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ChangeStatusService.GetChangeStatus - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ConversionActionService.GetConversionAction - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ConversionActionService.MutateConversionActions - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerClientLinkService.GetCustomerClientLink - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerClientService.GetCustomerClient - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerFeedService.GetCustomerFeed - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerFeedService.MutateCustomerFeeds - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerManagerLinkService.GetCustomerManagerLink - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerService.GetCustomer - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerService.MutateCustomer - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerService.ListAccessibleCustomers - deadline: 60.0 - - selector: google.ads.googleads.v0.services.CustomerService.CreateCustomerClient - deadline: 60.0 - - selector: google.ads.googleads.v0.services.DisplayKeywordViewService.GetDisplayKeywordView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedItemService.GetFeedItem - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedItemService.MutateFeedItems - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedMappingService.GetFeedMapping - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedMappingService.MutateFeedMappings - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedService.GetFeed - deadline: 60.0 - - selector: google.ads.googleads.v0.services.FeedService.MutateFeeds - deadline: 60.0 - - selector: google.ads.googleads.v0.services.GenderViewService.GetGenderView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.GeoTargetConstantService.GetGeoTargetConstant - deadline: 60.0 - - selector: google.ads.googleads.v0.services.GeoTargetConstantService.SuggestGeoTargetConstants - deadline: 60.0 - - selector: google.ads.googleads.v0.services.GoogleAdsFieldService.GetGoogleAdsField - deadline: 600.0 - - selector: google.ads.googleads.v0.services.GoogleAdsFieldService.SearchGoogleAdsFields - deadline: 600.0 - - selector: google.ads.googleads.v0.services.SharedCriterionService.GetSharedCriterion - deadline: 60.0 - - selector: google.ads.googleads.v0.services.SharedCriterionService.MutateSharedCriteria - deadline: 60.0 - - selector: google.ads.googleads.v0.services.SharedSetService.GetSharedSet - deadline: 60.0 - - selector: google.ads.googleads.v0.services.SharedSetService.MutateSharedSets - deadline: 60.0 - - selector: google.ads.googleads.v0.services.UserListService.GetUserList - deadline: 60.0 - - selector: google.ads.googleads.v0.services.UserListService.MutateUserLists - deadline: 60.0 - - selector: google.ads.googleads.v0.services.GoogleAdsService.Search - deadline: 600.0 - - selector: google.ads.googleads.v0.services.GoogleAdsService.Mutate - deadline: 600.0 - - selector: google.ads.googleads.v0.services.HotelGroupViewService.GetHotelGroupView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.HotelPerformanceViewService.GetHotelPerformanceView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanCampaignService.GetKeywordPlanCampaign - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanIdeaService.GenerateKeywordIdeas - deadline: 600.0 - - selector: google.ads.googleads.v0.services.KeywordPlanKeywordService.GetKeywordPlanKeyword - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanKeywordService.MutateKeywordPlanKeywords - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanService.GetKeywordPlan - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanService.MutateKeywordPlans - deadline: 60.0 - - selector: google.ads.googleads.v0.services.KeywordPlanService.GenerateForecastMetrics - deadline: 600.0 - - selector: google.ads.googleads.v0.services.KeywordPlanService.GenerateHistoricalMetrics - deadline: 600.0 - - selector: google.ads.googleads.v0.services.KeywordViewService.GetKeywordView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.LanguageConstantService.GetLanguageConstant - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ManagedPlacementViewService.GetManagedPlacementView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.MediaFileService.GetMediaFile - deadline: 60.0 - - selector: google.ads.googleads.v0.services.MediaFileService.MutateMediaFiles - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ParentalStatusViewService.GetParentalStatusView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.PaymentsAccountService.ListPaymentsAccounts - deadline: 60.0 - - selector: google.ads.googleads.v0.services.ProductGroupViewService.GetProductGroupView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.RecommendationService.GetRecommendation - deadline: 600.0 - - selector: google.ads.googleads.v0.services.RecommendationService.ApplyRecommendation - deadline: 600.0 - - selector: google.ads.googleads.v0.services.RecommendationService.DismissRecommendation - deadline: 600.0 - - selector: google.ads.googleads.v0.services.SearchTermViewService.GetSearchTermView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.TopicConstantService.GetTopicConstant - deadline: 60.0 - - selector: google.ads.googleads.v0.services.TopicViewService.GetTopicView - deadline: 60.0 - - selector: google.ads.googleads.v0.services.UserInterestService.GetUserInterest - deadline: 60.0 - - selector: google.ads.googleads.v0.services.VideoService.GetVideo - deadline: 60.0 diff --git a/google-cloud/protos/google/ads/googleads/v1/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v1/common/ad_asset.proto deleted file mode 100644 index 0b919064..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/ad_asset.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/served_asset_field_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AdAssetProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing assets used inside an ad. - -// A text asset used inside an ad. -message AdTextAsset { - // Asset text. - google.protobuf.StringValue text = 1; - - // The pinned field of the asset. This restricts the asset to only serve - // within this field. Multiple assets can be pinned to the same field. An - // asset that is unpinned or pinned to a different field will not serve in a - // field where some other asset has been pinned. - google.ads.googleads.v1.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType - pinned_field = 2; -} - -// An image asset used inside an ad. -message AdImageAsset { - // The Asset resource name of this image. - google.protobuf.StringValue asset = 1; -} - -// A video asset used inside an ad. -message AdVideoAsset { - // The Asset resource name of this video. - google.protobuf.StringValue asset = 1; -} - -// A media bundle asset used inside an ad. -message AdMediaBundleAsset { - // The Asset resource name of this media bundle. - google.protobuf.StringValue asset = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v1/common/ad_type_infos.proto deleted file mode 100644 index 2bf23d5c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/ad_type_infos.proto +++ /dev/null @@ -1,573 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/common/ad_asset.proto"; -import "google/ads/googleads/v1/enums/call_conversion_reporting_state.proto"; -import "google/ads/googleads/v1/enums/display_ad_format_setting.proto"; -import "google/ads/googleads/v1/enums/display_upload_product_type.proto"; -import "google/ads/googleads/v1/enums/legacy_app_install_ad_app_store.proto"; -import "google/ads/googleads/v1/enums/mime_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AdTypeInfosProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file containing info messages for specific ad types. - -// A text ad. -message TextAdInfo { - // The headline of the ad. - google.protobuf.StringValue headline = 1; - - // The first line of the ad's description. - google.protobuf.StringValue description1 = 2; - - // The second line of the ad's description. - google.protobuf.StringValue description2 = 3; -} - -// An expanded text ad. -message ExpandedTextAdInfo { - // The first part of the ad's headline. - google.protobuf.StringValue headline_part1 = 1; - - // The second part of the ad's headline. - google.protobuf.StringValue headline_part2 = 2; - - // The third part of the ad's headline. - google.protobuf.StringValue headline_part3 = 6; - - // The description of the ad. - google.protobuf.StringValue description = 3; - - // The second description of the ad. - google.protobuf.StringValue description2 = 7; - - // The text that can appear alongside the ad's displayed URL. - google.protobuf.StringValue path1 = 4; - - // Additional text that can appear alongside the ad's displayed URL. - google.protobuf.StringValue path2 = 5; -} - -// A call-only ad. -message CallOnlyAdInfo { - // The country code in the ad. - google.protobuf.StringValue country_code = 1; - - // The phone number in the ad. - google.protobuf.StringValue phone_number = 2; - - // The business name in the ad. - google.protobuf.StringValue business_name = 3; - - // First headline in the ad. - google.protobuf.StringValue headline1 = 11; - - // Second headline in the ad. - google.protobuf.StringValue headline2 = 12; - - // The first line of the ad's description. - google.protobuf.StringValue description1 = 4; - - // The second line of the ad's description. - google.protobuf.StringValue description2 = 5; - - // Whether to enable call tracking for the creative. Enabling call - // tracking also enables call conversions. - google.protobuf.BoolValue 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. - google.protobuf.BoolValue disable_call_conversion = 7; - - // The URL to be used for phone number verification. - google.protobuf.StringValue 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. - google.protobuf.StringValue conversion_action = 9; - - // The call conversion behavior of this call only ad. It can use its own call - // conversion setting, inherit the account level setting, or be disabled. - google.ads.googleads.v1.enums.CallConversionReportingStateEnum - .CallConversionReportingState conversion_reporting_state = 10; -} - -// An expanded dynamic search ad. -message ExpandedDynamicSearchAdInfo { - // The description of the ad. - google.protobuf.StringValue description = 1; -} - -// A hotel ad. -message HotelAdInfo {} - -// 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. - google.protobuf.StringValue headline = 1; -} - -// A Gmail ad. -message GmailAdInfo { - // The Gmail teaser. - GmailTeaser teaser = 1; - - // The MediaFile resource name of the header image. Valid image types are GIF, - // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must - // be between 3:1 and 5:1 (+-1%). - google.protobuf.StringValue header_image = 2; - - // The MediaFile resource name of the marketing image. Valid image types are - // GIF, JPEG and PNG. The image must either be landscape with a minimum size - // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a - // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) - google.protobuf.StringValue marketing_image = 3; - - // Headline of the marketing image. - google.protobuf.StringValue marketing_image_headline = 4; - - // Description of the marketing image. - google.protobuf.StringValue marketing_image_description = 5; - - // Display-call-to-action of the marketing image. - DisplayCallToAction marketing_image_display_call_to_action = 6; - - // Product images. Up to 15 images are supported. - repeated ProductImage product_images = 7; - - // Product videos. Up to 7 videos are supported. At least one product video - // or a marketing image must be specified. - repeated ProductVideo product_videos = 8; -} - -// Gmail teaser data. The teaser is a small header that acts as an invitation -// to view the rest of the ad (the body). -message GmailTeaser { - // Headline of the teaser. - google.protobuf.StringValue headline = 1; - - // Description of the teaser. - google.protobuf.StringValue description = 2; - - // Business name of the advertiser. - google.protobuf.StringValue business_name = 3; - - // The MediaFile resource name of the logo image. Valid image types are GIF, - // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must - // be 1:1 (+-1%). - google.protobuf.StringValue logo_image = 4; -} - -// Data for display call to action. The call to action is a piece of the ad -// that prompts the user to do something. Like clicking a link or making a phone -// call. -message DisplayCallToAction { - // Text for the display-call-to-action. - google.protobuf.StringValue text = 1; - - // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for - // white. - google.protobuf.StringValue text_color = 2; - - // Identifies the url collection in the ad.url_collections field. If not set - // the url defaults to final_url. - google.protobuf.StringValue url_collection_id = 3; -} - -// Product image specific data. -message ProductImage { - // The MediaFile resource name of the product image. Valid image types are - // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio - // must be 1:1 (+-1%). - google.protobuf.StringValue product_image = 1; - - // Description of the product. - google.protobuf.StringValue description = 2; - - // Display-call-to-action of the product image. - DisplayCallToAction display_call_to_action = 3; -} - -// Product video specific data. -message ProductVideo { - // The MediaFile resource name of a video which must be hosted on YouTube. - google.protobuf.StringValue product_video = 1; -} - -// An image ad. -message ImageAdInfo { - // Width in pixels of the full size image. - google.protobuf.Int64Value pixel_width = 4; - - // Height in pixels of the full size image. - google.protobuf.Int64Value pixel_height = 5; - - // URL of the full size image. - google.protobuf.StringValue image_url = 6; - - // Width in pixels of the preview size image. - google.protobuf.Int64Value preview_pixel_width = 7; - - // Height in pixels of the preview size image. - google.protobuf.Int64Value preview_pixel_height = 8; - - // URL of the preview size image. - google.protobuf.StringValue preview_image_url = 9; - - // The mime type of the image. - google.ads.googleads.v1.enums.MimeTypeEnum.MimeType mime_type = 10; - - // The name of the image. If the image was created from a MediaFile, this is - // the MediaFile's name. If the image was created from bytes, this is empty. - google.protobuf.StringValue name = 11; - - // 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. - google.protobuf.StringValue media_file = 1; - - // Raw image data as bytes. - google.protobuf.BytesValue data = 2; - - // An ad ID to copy the image from. - google.protobuf.Int64Value ad_id_to_copy_image_from = 3; - } -} - -// Representation of video bumper in-stream ad format (very short in-stream -// non-skippable video ad). -message VideoBumperInStreamAdInfo {} - -// Representation of video non-skippable in-stream ad format (15 second -// in-stream non-skippable video ad). -message VideoNonSkippableInStreamAdInfo {} - -// 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. - google.protobuf.StringValue action_button_label = 1; - - // Additional text displayed with the CTA (call-to-action) button to give - // context and encourage clicking on the button. - google.protobuf.StringValue action_headline = 2; - - // The MediaFile resource name of the companion banner used with the ad. - google.protobuf.StringValue companion_banner = 3; -} - -// Representation of video out-stream ad format (ad shown alongside a feed -// with automatic playback, without sound). -message VideoOutstreamAdInfo { - // The headline of the ad. - google.protobuf.StringValue headline = 1; - - // The description line. - google.protobuf.StringValue description = 2; -} - -// A video ad. -message VideoAdInfo { - // The MediaFile resource to use for the video. - google.protobuf.StringValue media_file = 1; - - // 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; - } -} - -// 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 may appear appended to the url displayed in the ad. - google.protobuf.StringValue path1 = 3; - - // Second part of text that may appear appended to the url displayed in the - // ad. This field can only be set when path1 is also set. - google.protobuf.StringValue path2 = 4; -} - -// 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. - google.protobuf.StringValue short_headline = 1; - - // The long version of the ad's headline. - google.protobuf.StringValue long_headline = 2; - - // The description of the ad. - google.protobuf.StringValue description = 3; - - // The business name in the ad. - google.protobuf.StringValue business_name = 4; - - // 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. - google.protobuf.BoolValue allow_flexible_color = 5; - - // The accent color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue accent_color = 6; - - // The main color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue main_color = 7; - - // The call-to-action text for the ad. - google.protobuf.StringValue call_to_action_text = 8; - - // The MediaFile resource name of the logo image used in the ad. - google.protobuf.StringValue logo_image = 9; - - // The MediaFile resource name of the square logo image used in the ad. - google.protobuf.StringValue square_logo_image = 10; - - // The MediaFile resource name of the marketing image used in the ad. - google.protobuf.StringValue marketing_image = 11; - - // The MediaFile resource name of the square marketing image used in the ad. - google.protobuf.StringValue square_marketing_image = 12; - - // Specifies which format the ad will be served in. Default is ALL_FORMATS. - google.ads.googleads.v1.enums.DisplayAdFormatSettingEnum - .DisplayAdFormatSetting format_setting = 13; - - // Prefix before price. E.g. 'as low as'. - google.protobuf.StringValue price_prefix = 14; - - // Promotion text used for dyanmic formats of responsive ads. For example - // 'Free two-day shipping'. - google.protobuf.StringValue promo_text = 15; -} - -// An app ad. -message AppAdInfo { - // An optional text asset that, if specified, must always be displayed when - // the ad is served. - 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; -} - -// A legacy app install ad that only can be used by a few select customers. -message LegacyAppInstallAdInfo { - // The id of the mobile app. - google.protobuf.StringValue app_id = 1; - - // The app store the mobile app is available in. - google.ads.googleads.v1.enums.LegacyAppInstallAdAppStoreEnum - .LegacyAppInstallAdAppStore app_store = 2; - - // The headline of the ad. - google.protobuf.StringValue headline = 3; - - // The first description line of the ad. - google.protobuf.StringValue description1 = 4; - - // The second description line of the ad. - google.protobuf.StringValue description2 = 5; -} - -// 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 square_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 vidoes 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. - google.protobuf.StringValue business_name = 9; - - // The main color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue main_color = 10; - - // The accent color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue accent_color = 11; - - // 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. - google.protobuf.BoolValue allow_flexible_color = 12; - - // The call-to-action text for the ad. Maximum display width is 30. - google.protobuf.StringValue call_to_action_text = 13; - - // Prefix before price. E.g. 'as low as'. - google.protobuf.StringValue price_prefix = 14; - - // Promotion text used for dyanmic formats of responsive ads. For example - // 'Free two-day shipping'. - google.protobuf.StringValue promo_text = 15; - - // Specifies which format the ad will be served in. Default is ALL_FORMATS. - google.ads.googleads.v1.enums.DisplayAdFormatSettingEnum - .DisplayAdFormatSetting format_setting = 16; -} - -// A generic type of display ad. The exact ad format is controlled by the -// display_upload_product_type field, which determines what kinds of data -// need to be included with the ad. -message DisplayUploadAdInfo { - // The product type of this ad. See comments on the enum for details. - google.ads.googleads.v1.enums.DisplayUploadProductTypeEnum - .DisplayUploadProductType display_upload_product_type = 1; - - // The asset data that makes up the ad. - oneof media_asset { - // A media bundle asset to be used in the ad. For information about the - // media bundle for HTML5_UPLOAD_AD see - // https://support.google.com/google-ads/answer/1722096 - // Media bundles that are part of dynamic product types use a special format - // that needs to be created through the Google Web Designer. See - // https://support.google.com/webdesigner/answer/7543898 for more - // information. - AdMediaBundleAsset media_bundle = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v1/common/asset_types.proto deleted file mode 100644 index 7127dfbe..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/asset_types.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/mime_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AssetTypesProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::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. - google.protobuf.StringValue youtube_video_id = 1; -} - -// 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. - google.protobuf.BytesValue data = 1; -} - -// An Image asset. -message ImageAsset { - // The raw bytes data of an image. This field is mutate only. - google.protobuf.BytesValue data = 1; - - // File size of the image asset in bytes. - google.protobuf.Int64Value file_size = 2; - - // MIME type of the image asset. - google.ads.googleads.v1.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. - google.protobuf.Int64Value height_pixels = 1; - - // Width of the image. - google.protobuf.Int64Value width_pixels = 2; - - // A URL that returns the image with this height and width. - google.protobuf.StringValue url = 3; -} - -// A Text asset. -message TextAsset { - // Text content of the text asset. - google.protobuf.StringValue text = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v1/common/bidding.proto deleted file mode 100644 index d6b9f18f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/bidding.proto +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto"; -import "google/ads/googleads/v1/enums/target_impression_share_location.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "BiddingProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing bidding schemes. - -// Commission is an automatic bidding strategy in which the advertiser pays a -// certain portion of the conversion value. -message Commission { - // Commission rate defines the portion of the conversion value that the - // advertiser will be billed. A commission rate of x should be passed into - // this field as (x * 1,000,000). For example, 106,000 represents a commission - // rate of 0.106 (10.6%). - google.protobuf.Int64Value commission_rate_micros = 1; -} - -// 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. -message EnhancedCpc {} - -// Manual click-based bidding where user pays per click. -message ManualCpc { - // Whether bids are to be enhanced based on conversion optimizer data. - google.protobuf.BoolValue enhanced_cpc_enabled = 1; -} - -// 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 that sets bids to help get the most conversions -// for your campaign while spending your budget. -message MaximizeConversions {} - -// An automated bidding strategy which tries to maximize conversion value -// given a daily 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. - google.protobuf.DoubleValue target_roas = 1; -} - -// An automated bidding strategy which sets CPC bids to target impressions on -// page one, or page one promoted slots on google.com. -message PageOnePromoted { - // The strategy goal of where impressions are desired to be shown on - // search result pages. - google.ads.googleads.v1.enums.PageOnePromotedStrategyGoalEnum - .PageOnePromotedStrategyGoal strategy_goal = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; - - // Bid multiplier to be applied to the relevant bid estimate (depending on - // the `strategy_goal`) in determining a keyword's new CPC bid. - google.protobuf.DoubleValue bid_modifier = 3; - - // Whether the strategy should always follow bid estimate changes, or only - // increase. - // If false, always sets a keyword's new bid to the current bid estimate. - // If true, only updates a keyword's bid if the current bid estimate is - // greater than the current bid. - google.protobuf.BoolValue only_raise_cpc_bids = 4; - - // Whether the strategy is allowed to raise bids when the throttling - // rate of the budget it is serving out of rises above a threshold. - google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5; - - // Whether the strategy is allowed to raise bids on keywords with - // lower-range quality scores. - google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6; -} - -// 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. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value 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. - google.protobuf.Int64Value cpc_bid_floor_micros = 3; -} - -// 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 {} - -// 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). -// Next Id = 4 -message TargetImpressionShare { - // The targeted location on the search results page. - google.ads.googleads.v1.enums.TargetImpressionShareLocationEnum - .TargetImpressionShareLocation location = 1; - - // The desired fraction of ads to be shown in the targeted location in micros. - // E.g. 1% equals 10,000. - google.protobuf.Int64Value location_fraction_micros = 2; - - // 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. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; -} - -// An automated bidding strategy that sets bids based on the target fraction of -// auctions where the advertiser should outrank a specific competitor. -message TargetOutrankShare { - // The target fraction of auctions where the advertiser should outrank the - // competitor. - // The advertiser outranks the competitor in an auction if either the - // advertiser appears above the competitor in the search results, or appears - // in the search results when the competitor does not. - // Value must be between 1 and 1000000, inclusive. - google.protobuf.Int32Value target_outrank_share_micros = 1; - - // Competitor's visible domain URL. - google.protobuf.StringValue competitor_domain = 2; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; - - // Whether the strategy should always follow bid estimate changes, - // or only increase. - // If false, always set a keyword's new bid to the current bid estimate. - // If true, only updates a keyword's bid if the current bid estimate is - // greater than the current bid. - google.protobuf.BoolValue only_raise_cpc_bids = 4; - - // Whether the strategy is allowed to raise bids on keywords with - // lower-range quality scores. - google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5; -} - -// An automated bidding strategy that helps you maximize revenue while -// averaging a specific target return on ad spend (ROAS). -message TargetRoas { - // Required. The desired revenue (based on conversion data) per unit of spend. - // Value must be between 0.01 and 1000.0, inclusive. - google.protobuf.DoubleValue target_roas = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value 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. - google.protobuf.Int64Value cpc_bid_floor_micros = 3; -} - -// 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. - google.protobuf.Int64Value target_spend_micros = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; -} - -// 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. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 1; - - // 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. - google.protobuf.BoolValue enhanced_cpc_enabled = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v1/common/click_location.proto deleted file mode 100644 index 39076fd5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/click_location.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ClickLocationProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing a ClickLocation. - -// Location criteria associated with a click. -message ClickLocation { - // The city location criterion associated with the impression. - google.protobuf.StringValue city = 1; - - // The country location criterion associated with the impression. - google.protobuf.StringValue country = 2; - - // The metro location criterion associated with the impression. - google.protobuf.StringValue metro = 3; - - // The most specific location criterion associated with the impression. - google.protobuf.StringValue most_specific = 4; - - // The region location criterion associated with the impression. - google.protobuf.StringValue region = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v1/common/criteria.proto deleted file mode 100644 index 1ae53f31..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/criteria.proto +++ /dev/null @@ -1,606 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/age_range_type.proto"; -import "google/ads/googleads/v1/enums/app_payment_model_type.proto"; -import "google/ads/googleads/v1/enums/content_label_type.proto"; -import "google/ads/googleads/v1/enums/day_of_week.proto"; -import "google/ads/googleads/v1/enums/device.proto"; -import "google/ads/googleads/v1/enums/gender_type.proto"; -import "google/ads/googleads/v1/enums/hotel_date_selection_type.proto"; -import "google/ads/googleads/v1/enums/income_range_type.proto"; -import "google/ads/googleads/v1/enums/interaction_type.proto"; -import "google/ads/googleads/v1/enums/keyword_match_type.proto"; -import "google/ads/googleads/v1/enums/listing_custom_attribute_index.proto"; -import "google/ads/googleads/v1/enums/listing_group_type.proto"; -import "google/ads/googleads/v1/enums/location_group_radius_units.proto"; -import "google/ads/googleads/v1/enums/minute_of_hour.proto"; -import "google/ads/googleads/v1/enums/parental_status_type.proto"; -import "google/ads/googleads/v1/enums/preferred_content_type.proto"; -import "google/ads/googleads/v1/enums/product_bidding_category_level.proto"; -import "google/ads/googleads/v1/enums/product_channel.proto"; -import "google/ads/googleads/v1/enums/product_channel_exclusivity.proto"; -import "google/ads/googleads/v1/enums/product_condition.proto"; -import "google/ads/googleads/v1/enums/product_type_level.proto"; -import "google/ads/googleads/v1/enums/proximity_radius_units.proto"; -import "google/ads/googleads/v1/enums/webpage_condition_operand.proto"; -import "google/ads/googleads/v1/enums/webpage_condition_operator.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CriteriaProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing criteria types. - -// A keyword criterion. -message KeywordInfo { - // The text of the keyword (at most 80 characters and 10 words). - google.protobuf.StringValue text = 1; - - // The match type of the keyword. - google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType - match_type = 2; -} - -// A placement criterion. This can be used to modify bids for sites when -// targeting the content network. -message PlacementInfo { - // URL of the placement. - // - // For example, "http://www.domain.com". - google.protobuf.StringValue url = 1; -} - -// A mobile app category criterion. -message MobileAppCategoryInfo { - // The mobile app category constant resource name. - google.protobuf.StringValue mobile_app_category_constant = 1; -} - -// 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 (e.g., "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 - // (e.g., "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. - google.protobuf.StringValue app_id = 2; - - // Name of this mobile application. - google.protobuf.StringValue name = 3; -} - -// A location criterion. -message LocationInfo { - // The geo target constant resource name. - google.protobuf.StringValue geo_target_constant = 1; -} - -// A device criterion. -message DeviceInfo { - // Type of the device. - google.ads.googleads.v1.enums.DeviceEnum.Device type = 1; -} - -// A preferred content criterion. -message PreferredContentInfo { - // Type of the preferred content. - google.ads.googleads.v1.enums.PreferredContentTypeEnum.PreferredContentType - type = 2; -} - -// A listing group criterion. -message ListingGroupInfo { - // Type of the listing group. - google.ads.googleads.v1.enums.ListingGroupTypeEnum.ListingGroupType type = 1; - - // Dimension value with which this listing group is refining its parent. - // Undefined for the root group. - ListingDimensionInfo case_value = 2; - - // Resource name of ad group criterion which is the parent listing group - // subdivision. Null for the root group. - google.protobuf.StringValue parent_ad_group_criterion = 3; -} - -// 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 { - // Brand of the listing. - ListingBrandInfo listing_brand = 1; - - // 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; - - // Listing custom attribute. - ListingCustomAttributeInfo listing_custom_attribute = 7; - - // Bidding category of a product offer. - ProductBiddingCategoryInfo product_bidding_category = 13; - - // 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; - - // Item id of a product offer. - ProductItemIdInfo product_item_id = 11; - - // Type of a product offer. - ProductTypeInfo product_type = 12; - - // Unknown dimension. Set when no other listing dimension is set. - UnknownListingDimensionInfo unknown_listing_dimension = 14; - } -} - -// Brand of the listing. -message ListingBrandInfo { - // String value of the listing brand. - google.protobuf.StringValue value = 1; -} - -// Advertiser-specific hotel ID. -message HotelIdInfo { - // String value of the hotel ID. - google.protobuf.StringValue value = 1; -} - -// Class of the hotel as a number of stars 1 to 5. -message HotelClassInfo { - // Long value of the hotel class. - google.protobuf.Int64Value value = 1; -} - -// Country or Region the hotel is located in. -message HotelCountryRegionInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue country_region_criterion = 1; -} - -// State the hotel is located in. -message HotelStateInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue state_criterion = 1; -} - -// City the hotel is located in. -message HotelCityInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue city_criterion = 1; -} - -// Listing custom attribute. -message ListingCustomAttributeInfo { - // String value of the listing custom attribute. - google.protobuf.StringValue value = 1; - - // Indicates the index of the custom attribute. - google.ads.googleads.v1.enums.ListingCustomAttributeIndexEnum - .ListingCustomAttributeIndex index = 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. - google.protobuf.Int64Value id = 1; - - // Two-letter upper-case country code of the product bidding category. It must - // match the campaign.shopping_setting.sales_country field. - google.protobuf.StringValue country_code = 2; - - // Level of the product bidding category. - google.ads.googleads.v1.enums.ProductBiddingCategoryLevelEnum - .ProductBiddingCategoryLevel level = 3; -} - -// Locality of a product offer. -message ProductChannelInfo { - // Value of the locality. - google.ads.googleads.v1.enums.ProductChannelEnum.ProductChannel channel = 1; -} - -// Availability of a product offer. -message ProductChannelExclusivityInfo { - // Value of the availability. - google.ads.googleads.v1.enums.ProductChannelExclusivityEnum - .ProductChannelExclusivity channel_exclusivity = 1; -} - -// Condition of a product offer. -message ProductConditionInfo { - // Value of the condition. - google.ads.googleads.v1.enums.ProductConditionEnum.ProductCondition - condition = 1; -} - -// Item id of a product offer. -message ProductItemIdInfo { - // Value of the id. - google.protobuf.StringValue value = 1; -} - -// Type of a product offer. -message ProductTypeInfo { - // Value of the type. - google.protobuf.StringValue value = 1; - - // Level of the type. - google.ads.googleads.v1.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; -} - -// Unknown listing dimension. -message UnknownListingDimensionInfo {} - -// Criterion for hotel date selection (default dates vs. user selected). -message HotelDateSelectionTypeInfo { - // Type of the hotel date selection - google.ads.googleads.v1.enums.HotelDateSelectionTypeEnum - .HotelDateSelectionType type = 1; -} - -// Criterion for number of days prior to the stay the booking is being made. -message HotelAdvanceBookingWindowInfo { - // Low end of the number of days prior to the stay. - google.protobuf.Int64Value min_days = 1; - - // High end of the number of days prior to the stay. - google.protobuf.Int64Value max_days = 2; -} - -// Criterion for length of hotel stay in nights. -message HotelLengthOfStayInfo { - // Low end of the number of nights in the stay. - google.protobuf.Int64Value min_nights = 1; - - // High end of the number of nights in the stay. - google.protobuf.Int64Value max_nights = 2; -} - -// Criterion for day of the week the booking is for. -message HotelCheckInDayInfo { - // The day of the week. - google.ads.googleads.v1.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; -} - -// Criterion for Interaction Type. -message InteractionTypeInfo { - // The interaction type. - google.ads.googleads.v1.enums.InteractionTypeEnum.InteractionType type = 1; -} - -// Represents an AdSchedule criterion. -// -// AdSchedule is specified as the day of the week and a time interval -// within which ads will be shown. -// -// No more than six AdSchedules can be added for the same day. -message AdScheduleInfo { - // Minutes after the start hour at which this schedule starts. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v1.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; - - // Minutes after the end hour at which this schedule ends. The schedule is - // exclusive of the end minute. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v1.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; - - // Starting hour in 24 hour time. - // This field must be between 0 and 23, inclusive. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.protobuf.Int32Value start_hour = 3; - - // 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. - google.protobuf.Int32Value end_hour = 4; - - // Day of the week the schedule applies to. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v1.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; -} - -// An age range criterion. -message AgeRangeInfo { - // Type of the age range. - google.ads.googleads.v1.enums.AgeRangeTypeEnum.AgeRangeType type = 1; -} - -// A gender criterion. -message GenderInfo { - // Type of the gender. - google.ads.googleads.v1.enums.GenderTypeEnum.GenderType type = 1; -} - -// An income range criterion. -message IncomeRangeInfo { - // Type of the income range. - google.ads.googleads.v1.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; -} - -// A parental status criterion. -message ParentalStatusInfo { - // Type of the parental status. - google.ads.googleads.v1.enums.ParentalStatusTypeEnum.ParentalStatusType type = - 1; -} - -// A YouTube Video criterion. -message YouTubeVideoInfo { - // YouTube video id as it appears on the YouTube watch page. - google.protobuf.StringValue video_id = 1; -} - -// A YouTube Channel criterion. -message YouTubeChannelInfo { - // The YouTube uploader channel id or the channel code of a YouTube channel. - google.protobuf.StringValue channel_id = 1; -} - -// A User List criterion. Represents a user list that is defined by the -// advertiser to be targeted. -message UserListInfo { - // The User List resource name. - google.protobuf.StringValue user_list = 1; -} - -// 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. - google.protobuf.DoubleValue radius = 2; - - // The unit of measurement of the radius. Default is KILOMETERS. - google.ads.googleads.v1.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits - radius_units = 3; - - // Full address. - AddressInfo address = 4; -} - -// Geo point for proximity criterion. -message GeoPointInfo { - // Micro degrees for the longitude. - google.protobuf.Int32Value longitude_in_micro_degrees = 1; - - // Micro degrees for the latitude. - google.protobuf.Int32Value latitude_in_micro_degrees = 2; -} - -// Address for proximity criterion. -message AddressInfo { - // Postal code. - google.protobuf.StringValue postal_code = 1; - - // Province or state code. - google.protobuf.StringValue province_code = 2; - - // Country code. - google.protobuf.StringValue country_code = 3; - - // Province or state name. - google.protobuf.StringValue province_name = 4; - - // Street address line 1. - google.protobuf.StringValue street_address = 5; - - // 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. - google.protobuf.StringValue street_address2 = 6; - - // Name of the city. - google.protobuf.StringValue city_name = 7; -} - -// 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. - google.protobuf.StringValue topic_constant = 1; - - // 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 google.protobuf.StringValue path = 2; -} - -// A language criterion. -message LanguageInfo { - // The language constant resource name. - google.protobuf.StringValue language_constant = 1; -} - -// 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. - google.protobuf.StringValue ip_address = 1; -} - -// Content Label for category exclusion. -message ContentLabelInfo { - // Content label type, required for CREATE operations. - google.ads.googleads.v1.enums.ContentLabelTypeEnum.ContentLabelType type = 1; -} - -// Represents a Carrier Criterion. -message CarrierInfo { - // The Carrier constant resource name. - google.protobuf.StringValue carrier_constant = 1; -} - -// Represents a particular interest-based topic to be targeted. -message UserInterestInfo { - // The UserInterest resource name. - google.protobuf.StringValue user_interest_category = 1; -} - -// 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. - google.protobuf.StringValue criterion_name = 1; - - // Conditions, or logical expressions, for webpage targeting. The list of - // webpage targeting conditions are and-ed together when evaluated - // for targeting. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - repeated WebpageConditionInfo conditions = 2; -} - -// Logical expression for targeting webpages of an advertiser's website. -message WebpageConditionInfo { - // Operand of webpage targeting condition. - google.ads.googleads.v1.enums.WebpageConditionOperandEnum - .WebpageConditionOperand operand = 1; - - // Operator of webpage targeting condition. - google.ads.googleads.v1.enums.WebpageConditionOperatorEnum - .WebpageConditionOperator - operator = 2; - - // Argument of webpage targeting condition. - google.protobuf.StringValue argument = 3; -} - -// Represents an operating system version to be targeted. -message OperatingSystemVersionInfo { - // The operating system version constant resource name. - google.protobuf.StringValue operating_system_version_constant = 1; -} - -// An app payment model criterion. -message AppPaymentModelInfo { - // Type of the app payment model. - google.ads.googleads.v1.enums.AppPaymentModelTypeEnum.AppPaymentModelType - type = 1; -} - -// A mobile device criterion. -message MobileDeviceInfo { - // The mobile device constant resource name. - google.protobuf.StringValue mobile_device_constant = 1; -} - -// A custom affinity criterion. -// A criterion of this type is only targetable. -message CustomAffinityInfo { - // The CustomInterest resource name. - google.protobuf.StringValue custom_affinity = 1; -} - -// A custom intent criterion. -// A criterion of this type is only targetable. -message CustomIntentInfo { - // The CustomInterest resource name. - google.protobuf.StringValue custom_intent = 1; -} - -// A radius around a list of locations specified via a feed. -message LocationGroupInfo { - // Feed specifying locations for targeting. - // This is required and must be set in CREATE operations. - google.protobuf.StringValue feed = 1; - - // Geo target constant(s) restricting the scope of the geographic area within - // the feed. Currently only one geo target constant is allowed. - repeated google.protobuf.StringValue geo_target_constants = 2; - - // Distance in units specifying the radius around targeted locations. - // This is required and must be set in CREATE operations. - google.protobuf.Int64Value radius = 3; - - // Unit of the radius, miles and meters supported currently. - // This is required and must be set in CREATE operations. - google.ads.googleads.v1.enums.LocationGroupRadiusUnitsEnum - .LocationGroupRadiusUnits radius_units = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v1/common/criterion_category_availability.proto deleted file mode 100644 index 1b87d016..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/criterion_category_availability.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/advertising_channel_sub_type.proto"; -import "google/ads/googleads/v1/enums/advertising_channel_type.proto"; -import "google/ads/googleads/v1/enums/criterion_category_channel_availability_mode.proto"; -import "google/ads/googleads/v1/enums/criterion_category_locale_availability_mode.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryAvailabilityProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing criterion category availability information. - -// Information of category availability, per advertising channel. -message CriterionCategoryAvailability { - // Channel types and subtypes that are available to the category. - CriterionCategoryChannelAvailability channel = 1; - - // Locales that are available to the category for the channel. - repeated CriterionCategoryLocaleAvailability locale = 2; -} - -// Information of advertising channel type and subtypes a category is available -// in. -message CriterionCategoryChannelAvailability { - // Format of the channel availability. Can be ALL_CHANNELS (the rest of the - // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type - // will be set, the category is available to all sub types under it) or - // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, - // advertising_channel_sub_type, and include_default_channel_sub_type will all - // be set). - google.ads.googleads.v1.enums.CriterionCategoryChannelAvailabilityModeEnum - .CriterionCategoryChannelAvailabilityMode availability_mode = 1; - - // Channel type the category is available to. - google.ads.googleads.v1.enums.AdvertisingChannelTypeEnum - .AdvertisingChannelType advertising_channel_type = 2; - - // Channel subtypes under the channel type the category is available to. - repeated google.ads.googleads.v1.enums.AdvertisingChannelSubTypeEnum - .AdvertisingChannelSubType advertising_channel_sub_type = 3; - - // Whether default channel sub type is included. For example, - // advertising_channel_type being DISPLAY and include_default_channel_sub_type - // being false means that the default display campaign where channel sub type - // is not set is not included in this availability configuration. - google.protobuf.BoolValue include_default_channel_sub_type = 4; -} - -// Information about which locales a category is available in. -message CriterionCategoryLocaleAvailability { - // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and - // language will be empty), COUNTRY (only country will be set), LANGUAGE (only - // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will - // be set). - google.ads.googleads.v1.enums.CriterionCategoryLocaleAvailabilityModeEnum - .CriterionCategoryLocaleAvailabilityMode availability_mode = 1; - - // Code of the country. - google.protobuf.StringValue country_code = 2; - - // Code of the language. - google.protobuf.StringValue language_code = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v1/common/custom_parameter.proto deleted file mode 100644 index 4fc8d0e6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/custom_parameter.proto +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CustomParameterProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing CustomParameter and operation - -// A mapping that can be used by custom parameter tags in a -// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. -message CustomParameter { - // The key matching the parameter tag name. - google.protobuf.StringValue key = 1; - - // The value to be substituted. - google.protobuf.StringValue value = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/dates.proto b/google-cloud/protos/google/ads/googleads/v1/common/dates.proto deleted file mode 100644 index ecc33db4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/dates.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "DatesProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing date range message. - -// A date range. -message DateRange { - // The start date, in yyyy-mm-dd format. - google.protobuf.StringValue start_date = 1; - - // The end date, in yyyy-mm-dd format. - google.protobuf.StringValue end_date = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto deleted file mode 100644 index a8fcd1bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ExplorerAutoOptimizerSettingProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing ExplorerAutoOptimizerSetting - -// Settings for the -// -// Display Campaign Optimizer, initially termed "Explorer". -message ExplorerAutoOptimizerSetting { - // Indicates whether the optimizer is turned on. - google.protobuf.BoolValue opt_in = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v1/common/extensions.proto deleted file mode 100644 index becf0343..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/extensions.proto +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/common/feed_common.proto"; -import "google/ads/googleads/v1/enums/app_store.proto"; -import "google/ads/googleads/v1/enums/call_conversion_reporting_state.proto"; -import "google/ads/googleads/v1/enums/price_extension_price_qualifier.proto"; -import "google/ads/googleads/v1/enums/price_extension_price_unit.proto"; -import "google/ads/googleads/v1/enums/price_extension_type.proto"; -import "google/ads/googleads/v1/enums/promotion_extension_discount_modifier.proto"; -import "google/ads/googleads/v1/enums/promotion_extension_occasion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionsProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing extension types. - -// Represents an App extension. -message AppFeedItem { - // The visible text displayed when the link is rendered in an ad. - // This string must not be empty, and the length of this string should - // be between 1 and 25, inclusive. - google.protobuf.StringValue link_text = 1; - - // The store-specific ID for the target application. - // This string must not be empty. - google.protobuf.StringValue app_id = 2; - - // The application store that the target application belongs to. - // This field is required. - google.ads.googleads.v1.enums.AppStoreEnum.AppStore app_store = 3; - - // A list of possible final URLs after all cross domain redirects. - // This list must not be empty. - repeated google.protobuf.StringValue final_urls = 4; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 5; - - // URL template for constructing a tracking URL. Default value is "{lpurl}". - google.protobuf.StringValue tracking_url_template = 6; - - // 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. - google.protobuf.StringValue final_url_suffix = 8; -} - -// Represents a Call extension. -message CallFeedItem { - // The advertiser's phone number to append to the ad. - // This string must not be empty. - google.protobuf.StringValue phone_number = 1; - - // Uppercase two-letter country code of the advertiser's phone number. - // This string must not be empty. - google.protobuf.StringValue country_code = 2; - - // Indicates whether call tracking is enabled. By default, call tracking is - // not enabled. - google.protobuf.BoolValue call_tracking_enabled = 3; - - // 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. - google.protobuf.StringValue call_conversion_action = 4; - - // If true, disable call conversion tracking. call_conversion_action should - // not be set if this is true. Optional. - google.protobuf.BoolValue call_conversion_tracking_disabled = 5; - - // Enum value that indicates whether this call extension uses its own call - // conversion setting (or just have call conversion disabled), or following - // the account level setting. - google.ads.googleads.v1.enums.CallConversionReportingStateEnum - .CallConversionReportingState call_conversion_reporting_state = 6; -} - -// Represents a callout extension. -message CalloutFeedItem { - // The callout text. - // The length of this string should be between 1 and 25, inclusive. - google.protobuf.StringValue callout_text = 1; -} - -// Represents a location extension. -message LocationFeedItem { - // The name of the business. - google.protobuf.StringValue business_name = 1; - - // Line 1 of the business address. - google.protobuf.StringValue address_line_1 = 2; - - // Line 2 of the business address. - google.protobuf.StringValue address_line_2 = 3; - - // City of the business address. - google.protobuf.StringValue city = 4; - - // Province of the business address. - google.protobuf.StringValue province = 5; - - // Postal code of the business address. - google.protobuf.StringValue postal_code = 6; - - // Country code of the business address. - google.protobuf.StringValue country_code = 7; - - // Phone number of the business. - google.protobuf.StringValue phone_number = 8; -} - -// Represents an affiliate location extension. -message AffiliateLocationFeedItem { - // The name of the business. - google.protobuf.StringValue business_name = 1; - - // Line 1 of the business address. - google.protobuf.StringValue address_line_1 = 2; - - // Line 2 of the business address. - google.protobuf.StringValue address_line_2 = 3; - - // City of the business address. - google.protobuf.StringValue city = 4; - - // Province of the business address. - google.protobuf.StringValue province = 5; - - // Postal code of the business address. - google.protobuf.StringValue postal_code = 6; - - // Country code of the business address. - google.protobuf.StringValue country_code = 7; - - // Phone number of the business. - google.protobuf.StringValue phone_number = 8; - - // Id of the retail chain that is advertised as a seller of your product. - google.protobuf.Int64Value chain_id = 9; - - // Name of chain. - google.protobuf.StringValue chain_name = 10; -} - -// 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. - google.protobuf.StringValue business_name = 1; - - // Uppercase two-letter country code of the advertiser's phone number. - // This field is required. - google.protobuf.StringValue country_code = 2; - - // The advertiser's phone number the message will be sent to. Required. - google.protobuf.StringValue phone_number = 3; - - // The text to show in the ad. - // This field is required. - google.protobuf.StringValue text = 4; - - // The message text populated in the messaging app. - google.protobuf.StringValue extension_text = 5; -} - -// Represents a Price extension. -message PriceFeedItem { - // Price extension type of this extension. - google.ads.googleads.v1.enums.PriceExtensionTypeEnum.PriceExtensionType type = - 1; - - // Price qualifier for all offers of this price extension. - google.ads.googleads.v1.enums.PriceExtensionPriceQualifierEnum - .PriceExtensionPriceQualifier price_qualifier = 2; - - // Tracking URL template for all offers of this price extension. - google.protobuf.StringValue tracking_url_template = 3; - - // The code of the language used for this price extension. - google.protobuf.StringValue language_code = 4; - - // The price offerings in this price extension. - repeated PriceOffer price_offerings = 5; - - // URL template for appending params to landing page URLs served with parallel - // tracking. - google.protobuf.StringValue final_url_suffix = 6; -} - -// Represents one price offer in a price extension. -message PriceOffer { - // Header text of this offer. - google.protobuf.StringValue header = 1; - - // Description text of this offer. - google.protobuf.StringValue description = 2; - - // Price value of this offer. - Money price = 3; - - // Price unit for this offer. - google.ads.googleads.v1.enums.PriceExtensionPriceUnitEnum - .PriceExtensionPriceUnit unit = 4; - - // A list of possible final URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_urls = 5; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 6; -} - -// Represents a Promotion extension. -message PromotionFeedItem { - // A freeform description of what the promotion is targeting. - // This field is required. - google.protobuf.StringValue promotion_target = 1; - - // Enum that modifies the qualification of the discount. - google.ads.googleads.v1.enums.PromotionExtensionDiscountModifierEnum - .PromotionExtensionDiscountModifier discount_modifier = 2; - - // Start date of when the promotion is eligible to be redeemed. - google.protobuf.StringValue promotion_start_date = 7; - - // End date of when the promotion is eligible to be redeemed. - google.protobuf.StringValue promotion_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.v1.enums.PromotionExtensionOccasionEnum - .PromotionExtensionOccasion occasion = 9; - - // A list of possible final URLs after all cross domain redirects. - // This field is required. - repeated google.protobuf.StringValue final_urls = 10; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 11; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 12; - - // 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. - google.protobuf.StringValue final_url_suffix = 14; - - // The language of the promotion. - // Represented as BCP 47 language tag. - google.protobuf.StringValue language_code = 15; - - // 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. - google.protobuf.Int64Value 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. - google.protobuf.StringValue 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; - } -} - -// Represents a structured snippet extension. -message StructuredSnippetFeedItem { - // The header of the snippet. - // This string must not be empty. - google.protobuf.StringValue header = 1; - - // The values in the snippet. - // The maximum size of this collection is 10. - repeated google.protobuf.StringValue values = 2; -} - -// Represents a sitelink extension. -message SitelinkFeedItem { - // URL display text for the sitelink. - // The length of this string should be between 1 and 25, inclusive. - google.protobuf.StringValue link_text = 1; - - // 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. - google.protobuf.StringValue line1 = 2; - - // 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. - google.protobuf.StringValue line2 = 3; - - // A list of possible final URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_urls = 4; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 5; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 6; - - // 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. - google.protobuf.StringValue final_url_suffix = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v1/common/feed_common.proto deleted file mode 100644 index 8b67f2b3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/feed_common.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FeedCommonProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing common feed proto messages. - -// Represents a price in a particular currency. -message Money { - // Three-character ISO 4217 currency code. - google.protobuf.StringValue currency_code = 1; - - // Amount in micros. One million is equivalent to one unit. - google.protobuf.Int64Value amount_micros = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v1/common/final_app_url.proto deleted file mode 100644 index 9c6375a5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/final_app_url.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/app_url_operating_system_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FinalAppUrlProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file FinalAppUrl type. - -// A URL for deep linking into an app for the given operating system. -message FinalAppUrl { - // The operating system targeted by this URL. Required. - google.ads.googleads.v1.enums.AppUrlOperatingSystemTypeEnum - .AppUrlOperatingSystemType os_type = 1; - - // The app deep link URL. Deep links specify a location in an app that - // corresponds to the content you'd like to show, and should be of the form - // {scheme}://{host_path} - // The scheme identifies which app to open. For your app, you can use a custom - // scheme that starts with the app's name. The host and path specify the - // unique location in the app where your content exists. - // Example: "exampleapp://productid_1234". Required. - google.protobuf.StringValue url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v1/common/frequency_cap.proto deleted file mode 100644 index 4d877e9f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/frequency_cap.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/frequency_cap_event_type.proto"; -import "google/ads/googleads/v1/enums/frequency_cap_level.proto"; -import "google/ads/googleads/v1/enums/frequency_cap_time_unit.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing frequency caps. - -// A rule specifying the maximum number of times an ad (or some set of ads) can -// be shown to a user over a particular time period. -message FrequencyCapEntry { - // The key of a particular frequency cap. There can be no more - // than one frequency cap with the same key. - FrequencyCapKey key = 1; - - // Maximum number of events allowed during the time range by this cap. - google.protobuf.Int32Value cap = 2; -} - -// 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 (e.g. ad group ad, ad group). - // The cap is applied to all the entities of this level. - google.ads.googleads.v1.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = - 1; - - // The type of event that the cap applies to (e.g. impression). - google.ads.googleads.v1.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType - event_type = 3; - - // Unit of time the cap is defined at (e.g. day, week). - google.ads.googleads.v1.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit - time_unit = 2; - - // Number of time units the cap lasts. - google.protobuf.Int32Value time_length = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v1/common/keyword_plan_common.proto deleted file mode 100644 index 15e98999..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/keyword_plan_common.proto +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/keyword_plan_competition_level.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCommonProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing Keyword Planner messages. - -// Historical metrics. -message KeywordPlanHistoricalMetrics { - // Average monthly searches for the past 12 months. - google.protobuf.Int64Value avg_monthly_searches = 1; - - // The competition level for the query. - google.ads.googleads.v1.enums.KeywordPlanCompetitionLevelEnum - .KeywordPlanCompetitionLevel competition = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v1/common/matching_function.proto deleted file mode 100644 index c79d5e0a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/matching_function.proto +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/matching_function_context_type.proto"; -import "google/ads/googleads/v1/enums/matching_function_operator.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing a matching function. - -// Matching function associated with a -// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used -// to filter the set of feed items selected. -message MatchingFunction { - // String representation of the Function. - // - // Examples: - // 1) IDENTITY(true) or IDENTITY(false). All or none feed items serve. - // 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")) - // See - // - // https: - // //developers.google.com/adwords/api/docs/guides/feed-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. - google.protobuf.StringValue function_string = 1; - - // Operator for a function. - google.ads.googleads.v1.enums.MatchingFunctionOperatorEnum - .MatchingFunctionOperator - operator = 4; - - // The operands on the left hand side of the equation. This is also the - // operand to be used for single operand expressions such as NOT. - repeated Operand left_operands = 2; - - // The operands on the right hand side of the equation. - repeated Operand right_operands = 3; -} - -// An operand in a matching function. -message Operand { - // A constant operand in a matching function. - message ConstantOperand { - // Constant operand values. Required. - oneof constant_operand_value { - // String value of the operand if it is a string type. - google.protobuf.StringValue string_value = 1; - - // Int64 value of the operand if it is a int64 type. - google.protobuf.Int64Value long_value = 2; - - // Boolean value of the operand if it is a boolean type. - google.protobuf.BoolValue boolean_value = 3; - - // Double value of the operand if it is a double type. - google.protobuf.DoubleValue double_value = 4; - } - } - - // A feed attribute operand in a matching function. - // Used to represent a feed attribute in feed. - message FeedAttributeOperand { - // The associated feed. Required. - google.protobuf.Int64Value feed_id = 1; - - // Id of the referenced feed attribute. Required. - google.protobuf.Int64Value feed_attribute_id = 2; - } - - // A function operand in a matching function. - // Used to represent nested functions. - message FunctionOperand { - // The matching function held in this operand. - MatchingFunction matching_function = 1; - } - - // An operand in a function referring to a value in the request context. - message RequestContextOperand { - // Type of value to be referred in the request context. - google.ads.googleads.v1.enums.MatchingFunctionContextTypeEnum - .MatchingFunctionContextType context_type = 1; - } - - // Different operands that can be used in a matching function. Required. - oneof function_argument_operand { - // A constant operand in a matching function. - ConstantOperand constant_operand = 1; - - // This operand specifies a feed attribute in feed. - FeedAttributeOperand feed_attribute_operand = 2; - - // A function operand in a matching function. - // Used to represent nested functions. - FunctionOperand function_operand = 3; - - // An operand in a function referring to a value in the request context. - RequestContextOperand request_context_operand = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v1/common/metrics.proto deleted file mode 100644 index 139e77a4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/metrics.proto +++ /dev/null @@ -1,542 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/interaction_event_type.proto"; -import "google/ads/googleads/v1/enums/quality_score_bucket.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "MetricsProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing metrics. - -// Metrics data. -message Metrics { - // The percent of your ad impressions that are shown as the very first ad - // above the organic search results. - google.protobuf.DoubleValue absolute_top_impression_percentage = 95; - - // Average cost of viewable impressions (`active_view_impressions`). - google.protobuf.DoubleValue active_view_cpm = 1; - - // Active view measurable clicks divided by active view viewable impressions. - // This metric is reported only for display network. - google.protobuf.DoubleValue active_view_ctr = 79; - - // A measurement of how often your ad has become viewable on a Display - // Network site. - google.protobuf.Int64Value active_view_impressions = 2; - - // The ratio of impressions that could be measured by Active View over the - // number of served impressions. - google.protobuf.DoubleValue active_view_measurability = 96; - - // The cost of the impressions you received that were measurable by Active - // View. - google.protobuf.Int64Value active_view_measurable_cost_micros = 3; - - // The number of times your ads are appearing on placements in positions - // where they can be seen. - google.protobuf.Int64Value active_view_measurable_impressions = 4; - - // The percentage of time when your ad appeared on an Active View enabled site - // (measurable impressions) and was viewable (viewable impressions). - google.protobuf.DoubleValue active_view_viewability = 97; - - // All conversions from interactions (as oppose to view through conversions) - // divided by the number of ad interactions. - google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65; - - // The total value of all conversions. - google.protobuf.DoubleValue all_conversions_value = 66; - - // The total number of conversions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue all_conversions = 7; - - // The value of all conversions divided by the total cost of ad interactions - // (such as clicks for text ads or views for video ads). - google.protobuf.DoubleValue all_conversions_value_per_cost = 62; - - // 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. - google.protobuf.DoubleValue all_conversions_from_click_to_call = 118; - - // 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. - google.protobuf.DoubleValue all_conversions_from_directions = 119; - - // The value of all conversions from interactions divided by the total number - // of interactions. - google.protobuf.DoubleValue - all_conversions_from_interactions_value_per_interaction = 67; - - // 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. - google.protobuf.DoubleValue all_conversions_from_menu = 120; - - // The number of times people placed an order at a store after clicking an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_order = 121; - - // 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. - google.protobuf.DoubleValue all_conversions_from_other_engagement = 122; - - // Estimated number of times people visited a store after clicking an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_store_visit = 123; - - // The number of times that people were taken to a store's URL after clicking - // an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_store_website = 124; - - // The average amount you pay per interaction. This amount is the total cost - // of your ads divided by the total number of interactions. - google.protobuf.DoubleValue average_cost = 8; - - // The total cost of all clicks divided by the total number of clicks - // received. - google.protobuf.DoubleValue average_cpc = 9; - - // 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. - google.protobuf.DoubleValue average_cpe = 98; - - // Average cost-per-thousand impressions (CPM). - google.protobuf.DoubleValue average_cpm = 10; - - // 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. - google.protobuf.DoubleValue average_cpv = 11; - - // Average number of times a unique cookie was exposed to your ad - // over a given time period. Imported from Google Analytics. - google.protobuf.DoubleValue average_frequency = 12; - - // Average number of pages viewed per session. - google.protobuf.DoubleValue average_page_views = 99; - - // Your ad's position relative to those of other advertisers. - google.protobuf.DoubleValue average_position = 13; - - // Total duration of all sessions (in seconds) / number of sessions. Imported - // from Google Analytics. - google.protobuf.DoubleValue average_time_on_site = 84; - - // An indication of how other advertisers are bidding on similar products. - google.protobuf.DoubleValue benchmark_average_max_cpc = 14; - - // 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. - google.protobuf.DoubleValue benchmark_ctr = 77; - - // Percentage of clicks where the user only visited a single page on your - // site. Imported from Google Analytics. - google.protobuf.DoubleValue bounce_rate = 15; - - // The number of clicks. - google.protobuf.Int64Value clicks = 19; - - // 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. - google.protobuf.Int64Value combined_clicks = 115; - - // 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. - google.protobuf.DoubleValue combined_clicks_per_query = 116; - - // 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. - google.protobuf.Int64Value combined_queries = 117; - - // 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. - google.protobuf.DoubleValue content_budget_lost_impression_share = 20; - - // 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. - google.protobuf.DoubleValue content_impression_share = 21; - - // 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 (e.g. 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. - google.protobuf.StringValue conversion_last_received_request_date_time = 73; - - // The date of the most recent conversion for this conversion action. The date - // is in the customer's time zone. - google.protobuf.StringValue conversion_last_conversion_date = 74; - - // 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. - google.protobuf.DoubleValue content_rank_lost_impression_share = 22; - - // 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. - google.protobuf.DoubleValue conversions_from_interactions_rate = 69; - - // The total value of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue conversions_value = 70; - - // 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. - google.protobuf.DoubleValue conversions_value_per_cost = 71; - - // 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. - google.protobuf.DoubleValue - conversions_from_interactions_value_per_interaction = 72; - - // The number of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue conversions = 25; - - // The sum of your cost-per-click (CPC) and cost-per-thousand impressions - // (CPM) costs during this period. - google.protobuf.Int64Value cost_micros = 26; - - // The cost of ad interactions divided by all conversions. - google.protobuf.DoubleValue cost_per_all_conversions = 68; - - // The cost of ad interactions divided by conversions. This only includes - // conversion actions which include_in_conversions_metric attribute is set to - // true. - google.protobuf.DoubleValue cost_per_conversion = 28; - - // 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. - google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = - 106; - - // 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. - google.protobuf.DoubleValue cross_device_conversions = 29; - - // The number of clicks your ad receives (Clicks) divided by the number - // of times your ad is shown (Impressions). - google.protobuf.DoubleValue ctr = 30; - - // 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. - google.protobuf.DoubleValue current_model_attributed_conversions = 101; - - // 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. - google.protobuf.DoubleValue - current_model_attributed_conversions_from_interactions_rate = 102; - - // 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. - google.protobuf.DoubleValue - current_model_attributed_conversions_from_interactions_value_per_interaction = - 103; - - // The total value of current model attributed conversions. This only includes - // conversion actions which include_in_conversions_metric attribute is set to - // true. - google.protobuf.DoubleValue current_model_attributed_conversions_value = 104; - - // 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. - google.protobuf.DoubleValue - current_model_attributed_conversions_value_per_cost = 105; - - // 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. - google.protobuf.DoubleValue engagement_rate = 31; - - // 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. - google.protobuf.Int64Value engagements = 32; - - // Average lead value of hotel. - google.protobuf.DoubleValue hotel_average_lead_value_micros = 75; - - // The creative historical quality score. - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - historical_creative_quality_score = 80; - - // The quality of historical landing page experience. - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - historical_landing_page_quality_score = 81; - - // The historical quality score. - google.protobuf.Int64Value historical_quality_score = 82; - - // The historical search predicted click through rate (CTR). - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - historical_search_predicted_ctr = 83; - - // The number of times the ad was forwarded to someone else as a message. - google.protobuf.Int64Value gmail_forwards = 85; - - // The number of times someone has saved your Gmail ad to their inbox as a - // message. - google.protobuf.Int64Value gmail_saves = 86; - - // The number of clicks to the landing page on the expanded state of Gmail - // ads. - google.protobuf.Int64Value gmail_secondary_clicks = 87; - - // Number of unique cookies that were exposed to your ad over a given time - // period. - google.protobuf.Int64Value impression_reach = 36; - - // The number of times a store's location-based ad was shown. - // This metric applies to feed items only. - google.protobuf.Int64Value impressions_from_store_reach = 125; - - // Count of how often your ad has appeared on a search results page or - // website on the Google Network. - google.protobuf.Int64Value impressions = 37; - - // 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. - google.protobuf.DoubleValue interaction_rate = 38; - - // 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. - google.protobuf.Int64Value interactions = 39; - - // The types of payable and free interactions. - repeated google.ads.googleads.v1.enums.InteractionEventTypeEnum - .InteractionEventType interaction_event_types = 100; - - // The percentage of clicks filtered out of your total number of clicks - // (filtered + non-filtered clicks) during the reporting period. - google.protobuf.DoubleValue invalid_click_rate = 40; - - // Number of clicks Google considers illegitimate and doesn't charge you for. - google.protobuf.Int64Value invalid_clicks = 41; - - // The percentage of mobile clicks that go to a mobile-friendly page. - google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109; - - // 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. - google.protobuf.Int64Value organic_clicks = 110; - - // 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. - google.protobuf.DoubleValue organic_clicks_per_query = 111; - - // 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. - google.protobuf.Int64Value organic_impressions = 112; - - // 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. - google.protobuf.DoubleValue organic_impressions_per_query = 113; - - // 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. - google.protobuf.Int64Value organic_queries = 114; - - // Percentage of first-time sessions (from people who had never visited your - // site before). Imported from Google Analytics. - google.protobuf.DoubleValue percent_new_visitors = 42; - - // Number of offline phone calls. - google.protobuf.Int64Value phone_calls = 43; - - // Number of offline phone impressions. - google.protobuf.Int64Value phone_impressions = 44; - - // Number of phone calls received (phone_calls) divided by the number of - // times your phone number is shown (phone_impressions). - google.protobuf.DoubleValue phone_through_rate = 45; - - // 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. - google.protobuf.DoubleValue relative_ctr = 46; - - // The percentage of the customer's Shopping or Search ad impressions that are - // shown in the most prominent Shopping position. See - // this Merchant - // Center article for details. Any value below 0.1 is reported as 0.0999. - google.protobuf.DoubleValue search_absolute_top_impression_share = 78; - - // 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. - google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = - 88; - - // 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. - google.protobuf.DoubleValue search_budget_lost_impression_share = 47; - - // 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. - google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89; - - // 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. - google.protobuf.DoubleValue search_click_share = 48; - - // 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. - google.protobuf.DoubleValue search_exact_match_impression_share = 49; - - // 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. - google.protobuf.DoubleValue search_impression_share = 50; - - // 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. - google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = - 90; - - // 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. - google.protobuf.DoubleValue search_rank_lost_impression_share = 51; - - // 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. - google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91; - - // 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. - google.protobuf.DoubleValue search_top_impression_share = 92; - - // 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. - google.protobuf.Int64Value speed_score = 107; - - // The percent of your ad impressions that are shown anywhere above the - // organic search results. - google.protobuf.DoubleValue top_impression_percentage = 93; - - // The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages - // that reach a valid AMP page. - google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = - 108; - - // The value of all conversions divided by the number of all conversions. - google.protobuf.DoubleValue value_per_all_conversions = 52; - - // 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. - google.protobuf.DoubleValue value_per_conversion = 53; - - // 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. - google.protobuf.DoubleValue value_per_current_model_attributed_conversion = - 94; - - // Percentage of impressions where the viewer watched all of your video. - google.protobuf.DoubleValue video_quartile_100_rate = 54; - - // Percentage of impressions where the viewer watched 25% of your video. - google.protobuf.DoubleValue video_quartile_25_rate = 55; - - // Percentage of impressions where the viewer watched 50% of your video. - google.protobuf.DoubleValue video_quartile_50_rate = 56; - - // Percentage of impressions where the viewer watched 75% of your video. - google.protobuf.DoubleValue video_quartile_75_rate = 57; - - // The number of views your TrueView video ad receives divided by its number - // of impressions, including thumbnail impressions for TrueView in-display - // ads. - google.protobuf.DoubleValue video_view_rate = 58; - - // The number of times your video ads were viewed. - google.protobuf.Int64Value video_views = 59; - - // 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 (e.g., - // clicking on) another ad. - google.protobuf.Int64Value view_through_conversions = 60; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/policy.proto b/google-cloud/protos/google/ads/googleads/v1/common/policy.proto deleted file mode 100644 index 5fbbb299..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/policy.proto +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/policy_topic_entry_type.proto"; -import "google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; -import "google/ads/googleads/v1/enums/policy_topic_evidence_destination_not_working_device.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "PolicyProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing policy information. - -// Key of the violation. The key is used for referring to a violation -// when filing an exemption request. -message PolicyViolationKey { - // Unique ID of the violated policy. - google.protobuf.StringValue policy_name = 1; - - // The text that violates the policy if specified. - // Otherwise, refers to the policy in general - // (e.g., 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. - google.protobuf.StringValue violating_text = 2; -} - -// Parameter for controlling how policy exemption is done. Ignorable policy -// topics are only usable with expanded text ads and responsive search ads. All -// other ad types must use policy violation keys. -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 google.protobuf.StringValue ignorable_policy_topics = 1; - - // The list of policy violation keys that should not cause a - // PolicyViolationError to be reported. Not all policy violations are - // exemptable, please 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 (e.g. 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. - google.protobuf.StringValue topic = 1; - - // Describes the negative or positive effect this policy will have on serving. - google.ads.googleads.v1.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType - type = 2; - - // Additional information that explains policy finding - // (e.g. the brand name for a trademark finding). - repeated PolicyTopicEvidence evidences = 3; - - // Indicates how serving of this resource may be affected (e.g. 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 google.protobuf.StringValue texts = 1; - } - - // 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 google.protobuf.StringValue websites = 1; - } - - // 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 google.protobuf.StringValue destination_texts = 1; - } - - // Evidence of mismatches between the URLs of a resource. - message DestinationMismatch { - // The set of URLs that did not match each other. - repeated google.ads.googleads.v1.enums - .PolicyTopicEvidenceDestinationMismatchUrlTypeEnum - .PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; - } - - // Evidence details when the destination is returning an HTTP error - // code or isn't functional in all locations for commonly used devices. - message DestinationNotWorking { - // The full URL that didn't work. - google.protobuf.StringValue expanded_url = 3; - - // The type of device that failed to load the URL. - google.ads.googleads.v1.enums - .PolicyTopicEvidenceDestinationNotWorkingDeviceEnum - .PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; - - // The time the URL was last checked. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue last_checked_date_time = 5; - } - - // Specific evidence information depending on the evidence type. - oneof value { - // HTTP code returned when the final URL was crawled. - google.protobuf.Int32Value http_code = 2; - - // 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". - google.protobuf.StringValue language_code = 5; - - // 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. - google.protobuf.Int32Value total_targeted_countries = 1; - - // 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. - google.protobuf.StringValue country_criterion = 1; - } - - // 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/google-cloud/protos/google/ads/googleads/v1/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v1/common/real_time_bidding_setting.proto deleted file mode 100644 index 58118f0c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/real_time_bidding_setting.proto +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "RealTimeBiddingSettingProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing RealTimeBiddingSetting - -// Settings for Real-Time Bidding, a feature only available for campaigns -// targeting the Ad Exchange network. -message RealTimeBiddingSetting { - // Whether the campaign is opted in to real-time bidding. - google.protobuf.BoolValue opt_in = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/segments.proto b/google-cloud/protos/google/ads/googleads/v1/common/segments.proto deleted file mode 100644 index 2b07813d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/segments.proto +++ /dev/null @@ -1,319 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/enums/ad_network_type.proto"; -import "google/ads/googleads/v1/enums/click_type.proto"; -import "google/ads/googleads/v1/enums/conversion_action_category.proto"; -import "google/ads/googleads/v1/enums/conversion_attribution_event_type.proto"; -import "google/ads/googleads/v1/enums/conversion_lag_bucket.proto"; -import "google/ads/googleads/v1/enums/conversion_or_adjustment_lag_bucket.proto"; -import "google/ads/googleads/v1/enums/day_of_week.proto"; -import "google/ads/googleads/v1/enums/device.proto"; -import "google/ads/googleads/v1/enums/external_conversion_source.proto"; -import "google/ads/googleads/v1/enums/hotel_date_selection_type.proto"; -import "google/ads/googleads/v1/enums/hotel_rate_type.proto"; -import "google/ads/googleads/v1/enums/month_of_year.proto"; -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/ads/googleads/v1/enums/product_channel.proto"; -import "google/ads/googleads/v1/enums/product_channel_exclusivity.proto"; -import "google/ads/googleads/v1/enums/product_condition.proto"; -import "google/ads/googleads/v1/enums/search_engine_results_page_type.proto"; -import "google/ads/googleads/v1/enums/search_term_match_type.proto"; -import "google/ads/googleads/v1/enums/slot.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "SegmentsProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing segment only fields. - -// Segment only fields. -message Segments { - // Ad network type. - google.ads.googleads.v1.enums.AdNetworkTypeEnum.AdNetworkType - ad_network_type = 3; - - // Click type. - google.ads.googleads.v1.enums.ClickTypeEnum.ClickType click_type = 26; - - // Resource name of the conversion action. - google.protobuf.StringValue conversion_action = 52; - - // Conversion action category. - google.ads.googleads.v1.enums.ConversionActionCategoryEnum - .ConversionActionCategory conversion_action_category = 53; - - // Conversion action name. - google.protobuf.StringValue conversion_action_name = 54; - - // This segments your conversion columns by the original conversion and - // conversion value vs. 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. - google.protobuf.BoolValue conversion_adjustment = 27; - - // Conversion attribution event type. - google.ads.googleads.v1.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.v1.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.v1.enums.ConversionOrAdjustmentLagBucketEnum - .ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; - - // Date to which metrics apply. - // yyyy-MM-dd format, e.g., 2018-04-17. - google.protobuf.StringValue date = 4; - - // Day of the week, e.g., MONDAY. - google.ads.googleads.v1.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; - - // Device to which metrics apply. - google.ads.googleads.v1.enums.DeviceEnum.Device device = 1; - - // External conversion source. - google.ads.googleads.v1.enums.ExternalConversionSourceEnum - .ExternalConversionSource external_conversion_source = 55; - - // Resource name of the geo target constant that represents an airport. - google.protobuf.StringValue geo_target_airport = 65; - - // Resource name of the geo target constant that represents a city. - google.protobuf.StringValue geo_target_city = 62; - - // Resource name of the geo target constant that represents a county. - google.protobuf.StringValue geo_target_county = 68; - - // Resource name of the geo target constant that represents a district. - google.protobuf.StringValue geo_target_district = 69; - - // Resource name of the geo target constant that represents a metro. - google.protobuf.StringValue geo_target_metro = 63; - - // Resource name of the geo target constant that represents the most - // specific location. - google.protobuf.StringValue geo_target_most_specific_location = 72; - - // Resource name of the geo target constant that represents a postal code. - google.protobuf.StringValue geo_target_postal_code = 71; - - // Resource name of the geo target constant that represents a province. - google.protobuf.StringValue geo_target_province = 75; - - // Resource name of the geo target constant that represents a region. - google.protobuf.StringValue geo_target_region = 64; - - // Resource name of the geo target constant that represents a state. - google.protobuf.StringValue geo_target_state = 67; - - // Hotel booking window in days. - google.protobuf.Int64Value hotel_booking_window_days = 6; - - // Hotel center ID. - google.protobuf.Int64Value hotel_center_id = 7; - - // Hotel check-in date. Formatted as yyyy-MM-dd. - google.protobuf.StringValue hotel_check_in_date = 8; - - // Hotel check-in day of week. - google.ads.googleads.v1.enums.DayOfWeekEnum.DayOfWeek - hotel_check_in_day_of_week = 9; - - // Hotel city. - google.protobuf.StringValue hotel_city = 10; - - // Hotel class. - google.protobuf.Int32Value hotel_class = 11; - - // Hotel country. - google.protobuf.StringValue hotel_country = 12; - - // Hotel date selection type. - google.ads.googleads.v1.enums.HotelDateSelectionTypeEnum - .HotelDateSelectionType hotel_date_selection_type = 13; - - // Hotel length of stay. - google.protobuf.Int32Value hotel_length_of_stay = 14; - - // Hotel rate rule ID. - google.protobuf.StringValue hotel_rate_rule_id = 73; - - // Hotel rate type. - google.ads.googleads.v1.enums.HotelRateTypeEnum.HotelRateType - hotel_rate_type = 74; - - // Hotel state. - google.protobuf.StringValue hotel_state = 15; - - // Hour of day as a number between 0 and 23, inclusive. - google.protobuf.Int32Value hour = 16; - - // Only used with feed item metrics. - // Indicates whether the interaction metrics occurred on the feed item itself - // or a different extension or ad unit. - google.protobuf.BoolValue interaction_on_this_extension = 49; - - // Keyword criterion. - Keyword keyword = 61; - - // Month as represented by the date of the first day of a month. Formatted as - // yyyy-MM-dd. - google.protobuf.StringValue month = 17; - - // Month of the year, e.g., January. - google.ads.googleads.v1.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18; - - // Partner hotel ID. - google.protobuf.StringValue partner_hotel_id = 19; - - // Placeholder type. This is only used with feed item metrics. - google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_type = 20; - - // Aggregator ID of the product. - google.protobuf.UInt64Value product_aggregator_id = 28; - - // Bidding category (level 1) of the product. - google.protobuf.StringValue product_bidding_category_level1 = 56; - - // Bidding category (level 2) of the product. - google.protobuf.StringValue product_bidding_category_level2 = 57; - - // Bidding category (level 3) of the product. - google.protobuf.StringValue product_bidding_category_level3 = 58; - - // Bidding category (level 4) of the product. - google.protobuf.StringValue product_bidding_category_level4 = 59; - - // Bidding category (level 5) of the product. - google.protobuf.StringValue product_bidding_category_level5 = 60; - - // Brand of the product. - google.protobuf.StringValue product_brand = 29; - - // Channel of the product. - google.ads.googleads.v1.enums.ProductChannelEnum.ProductChannel - product_channel = 30; - - // Channel exclusivity of the product. - google.ads.googleads.v1.enums.ProductChannelExclusivityEnum - .ProductChannelExclusivity product_channel_exclusivity = 31; - - // Condition of the product. - google.ads.googleads.v1.enums.ProductConditionEnum.ProductCondition - product_condition = 32; - - // Resource name of the geo target constant for the country of sale of the - // product. - google.protobuf.StringValue product_country = 33; - - // Custom attribute 0 of the product. - google.protobuf.StringValue product_custom_attribute0 = 34; - - // Custom attribute 1 of the product. - google.protobuf.StringValue product_custom_attribute1 = 35; - - // Custom attribute 2 of the product. - google.protobuf.StringValue product_custom_attribute2 = 36; - - // Custom attribute 3 of the product. - google.protobuf.StringValue product_custom_attribute3 = 37; - - // Custom attribute 4 of the product. - google.protobuf.StringValue product_custom_attribute4 = 38; - - // Item ID of the product. - google.protobuf.StringValue product_item_id = 39; - - // Resource name of the language constant for the language of the product. - google.protobuf.StringValue product_language = 40; - - // Merchant ID of the product. - google.protobuf.UInt64Value product_merchant_id = 41; - - // Store ID of the product. - google.protobuf.StringValue product_store_id = 42; - - // Title of the product. - google.protobuf.StringValue product_title = 43; - - // Type (level 1) of the product. - google.protobuf.StringValue product_type_l1 = 44; - - // Type (level 2) of the product. - google.protobuf.StringValue product_type_l2 = 45; - - // Type (level 3) of the product. - google.protobuf.StringValue product_type_l3 = 46; - - // Type (level 4) of the product. - google.protobuf.StringValue product_type_l4 = 47; - - // Type (level 5) of the product. - google.protobuf.StringValue product_type_l5 = 48; - - // Quarter as represented by the date of the first day of a quarter. - // Uses the calendar year for quarters, e.g., the second quarter of 2018 - // starts on 2018-04-01. Formatted as yyyy-MM-dd. - google.protobuf.StringValue quarter = 21; - - // Type of the search engine results page. - google.ads.googleads.v1.enums.SearchEngineResultsPageTypeEnum - .SearchEngineResultsPageType search_engine_results_page_type = 70; - - // Match type of the keyword that triggered the ad, including variants. - google.ads.googleads.v1.enums.SearchTermMatchTypeEnum.SearchTermMatchType - search_term_match_type = 22; - - // Position of the ad. - google.ads.googleads.v1.enums.SlotEnum.Slot slot = 23; - - // Resource name of the ad group criterion that represents webpage criterion. - google.protobuf.StringValue webpage = 66; - - // Week as defined as Monday through Sunday, and represented by the date of - // Monday. Formatted as yyyy-MM-dd. - google.protobuf.StringValue week = 24; - - // Year, formatted as yyyy. - google.protobuf.Int32Value year = 25; -} - -// A Keyword criterion segment. -message Keyword { - // The AdGroupCriterion resource name. - google.protobuf.StringValue ad_group_criterion = 1; - - // Keyword info. - KeywordInfo info = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v1/common/simulation.proto deleted file mode 100644 index b56c5863..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/simulation.proto +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "SimulationProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing simulation points. - -// A container for simulation points for simulations of type BID_MODIFIER. -message BidModifierSimulationPointList { - // Projected metrics for a series of bid modifier amounts. - repeated BidModifierSimulationPoint points = 1; -} - -// 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; -} - -// Projected metrics for a specific bid modifier amount. -message BidModifierSimulationPoint { - // The simulated bid modifier upon which projected metrics are based. - google.protobuf.DoubleValue bid_modifier = 1; - - // Projected number of biddable conversions. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - google.protobuf.Int64Value top_slot_impressions = 7; - - // Projected number of biddable conversions for the parent resource. - google.protobuf.DoubleValue parent_biddable_conversions = 8; - - // Projected total value of biddable conversions for the parent resource. - google.protobuf.DoubleValue parent_biddable_conversions_value = 9; - - // Projected number of clicks for the parent resource. - google.protobuf.Int64Value parent_clicks = 10; - - // Projected cost in micros for the parent resource. - google.protobuf.Int64Value parent_cost_micros = 11; - - // Projected number of impressions for the parent resource. - google.protobuf.Int64Value parent_impressions = 12; - - // Projected number of top slot impressions for the parent resource. - google.protobuf.Int64Value parent_top_slot_impressions = 13; -} - -// Projected metrics for a specific CPC bid amount. -message CpcBidSimulationPoint { - // The simulated CPC bid upon which projected metrics are based. - google.protobuf.Int64Value cpc_bid_micros = 1; - - // Projected number of biddable conversions. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - // Display network does not support this field at the ad group level. - google.protobuf.Int64Value top_slot_impressions = 7; -} - -// Projected metrics for a specific CPV bid amount. -message CpvBidSimulationPoint { - // The simulated CPV bid upon which projected metrics are based. - google.protobuf.Int64Value cpv_bid_micros = 1; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 2; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 3; -} - -// Projected metrics for a specific target CPA amount. -message TargetCpaSimulationPoint { - // The simulated target CPA upon which projected metrics are based. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Projected number of biddable conversions. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - // Display network does not support this field at the ad group level. - google.protobuf.Int64Value top_slot_impressions = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v1/common/tag_snippet.proto deleted file mode 100644 index 4d791206..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/tag_snippet.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/tracking_code_page_format.proto"; -import "google/ads/googleads/v1/enums/tracking_code_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TagSnippetProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing TagSnippet - -// The site tag and event snippet pair for a TrackingCodeType. -message TagSnippet { - // The type of the generated tag snippets for tracking conversions. - google.ads.googleads.v1.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1; - - // The format of the web page where the tracking tag and snippet will be - // installed, e.g. HTML. - google.ads.googleads.v1.enums.TrackingCodePageFormatEnum - .TrackingCodePageFormat page_format = 2; - - // The site tag that adds visitors to your basic remarketing lists and sets - // new cookies on your domain. - google.protobuf.StringValue global_site_tag = 3; - - // The event snippet that works with the site tag to track actions that - // should be counted as conversions. - google.protobuf.StringValue event_snippet = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v1/common/targeting_setting.proto deleted file mode 100644 index fd794ec5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/targeting_setting.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/targeting_dimension.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TargetingSettingProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing TargetingSetting - -// Settings for the -// -// targeting related features, at Campaign and AdGroup level. -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.googleads.v1.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. - google.protobuf.BoolValue bid_only = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v1/common/text_label.proto deleted file mode 100644 index f5cd3f7b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/text_label.proto +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TextLabelProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::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. - google.protobuf.StringValue background_color = 1; - - // A short description of the label. The length must be no more than 200 - // characters. - google.protobuf.StringValue description = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v1/common/url_collection.proto deleted file mode 100644 index 622fdc3b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/url_collection.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "UrlCollectionProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file UrlCollection type. - -// Collection of urls that is tagged with a unique identifier. -message UrlCollection { - // Unique identifier for this UrlCollection instance. - google.protobuf.StringValue url_collection_id = 1; - - // A list of possible final URLs. - repeated google.protobuf.StringValue final_urls = 2; - - // A list of possible final mobile URLs. - repeated google.protobuf.StringValue final_mobile_urls = 3; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v1/common/user_lists.proto deleted file mode 100644 index 96e6d70f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/user_lists.proto +++ /dev/null @@ -1,306 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/ads/googleads/v1/enums/customer_match_upload_key_type.proto"; -import "google/ads/googleads/v1/enums/user_list_combined_rule_operator.proto"; -import "google/ads/googleads/v1/enums/user_list_crm_data_source_type.proto"; -import "google/ads/googleads/v1/enums/user_list_date_rule_item_operator.proto"; -import "google/ads/googleads/v1/enums/user_list_logical_rule_operator.proto"; -import "google/ads/googleads/v1/enums/user_list_number_rule_item_operator.proto"; -import "google/ads/googleads/v1/enums/user_list_prepopulation_status.proto"; -import "google/ads/googleads/v1/enums/user_list_rule_type.proto"; -import "google/ads/googleads/v1/enums/user_list_string_rule_item_operator.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "UserListsProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// 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. - google.protobuf.StringValue seed_user_list = 1; -} - -// UserList of CRM users provided by the advertiser. -message CrmBasedUserListInfo { - // 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 (e.g., "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 - // (e.g., "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. - google.protobuf.StringValue app_id = 1; - - // Matching key type of the list. - // Mixed data types are not allowed on the same list. - // This field is required for an ADD operation. - google.ads.googleads.v1.enums.CustomerMatchUploadKeyTypeEnum - .CustomerMatchUploadKeyType upload_key_type = 2; - - // Data source of the list. Default value is FIRST_PARTY. - // Only whitelisted customers can create third-party sourced CRM lists. - google.ads.googleads.v1.enums.UserListCrmDataSourceTypeEnum - .UserListCrmDataSourceType data_source_type = 3; -} - -// A client defined rule based on custom parameters sent by web sites or -// uploaded by the advertiser. -message UserListRuleInfo { - // Rule type is used to determine how to group rule items. - // - // The default is OR of ANDs (disjunctive normal form). - // That is, rule items will be ANDed together within rule item groups and the - // groups themselves will be ORed together. - // - // Currently AND of ORs (conjunctive normal form) is only supported for - // ExpressionRuleUserList. - google.ads.googleads.v1.enums.UserListRuleTypeEnum.UserListRuleType - rule_type = 1; - - // List of rule item groups that defines this rule. - // Rule item groups are grouped together based on rule_type. - repeated UserListRuleItemGroupInfo rule_item_groups = 2; -} - -// A group of rule items. -message UserListRuleItemGroupInfo { - // Rule items that will be grouped together based on rule_type. - repeated UserListRuleItemInfo rule_items = 1; -} - -// An atomic rule fragment. -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. - google.protobuf.StringValue name = 1; - - // An atomic rule fragment. - oneof rule_item { - // An atomic rule fragment composed of a number operation. - UserListNumberRuleItemInfo number_rule_item = 2; - - // An atomic rule fragment composed of a string operation. - UserListStringRuleItemInfo string_rule_item = 3; - - // An atomic rule fragment composed of a date operation. - UserListDateRuleItemInfo date_rule_item = 4; - } -} - -// A rule item composed of date operation. -message UserListDateRuleItemInfo { - // Date comparison operator. - // This field is required and must be populated when creating new date - // rule item. - google.ads.googleads.v1.enums.UserListDateRuleItemOperatorEnum - .UserListDateRuleItemOperator - operator = 1; - - // String representing date value to be compared with the rule variable. - // Supported date format is YYYY-MM-DD. - // Times are reported in the customer's time zone. - google.protobuf.StringValue value = 2; - - // 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. - google.protobuf.Int64Value offset_in_days = 3; -} - -// A rule item composed of number operation. -message UserListNumberRuleItemInfo { - // Number comparison operator. - // This field is required and must be populated when creating a new number - // rule item. - google.ads.googleads.v1.enums.UserListNumberRuleItemOperatorEnum - .UserListNumberRuleItemOperator - operator = 1; - - // Number value to be compared with the variable. - // This field is required and must be populated when creating a new number - // rule item. - google.protobuf.DoubleValue value = 2; -} - -// A rule item fragment composed of date operation. -message UserListStringRuleItemInfo { - // String comparison operator. - // This field is required and must be populated when creating a new string - // rule item. - google.ads.googleads.v1.enums.UserListStringRuleItemOperatorEnum - .UserListStringRuleItemOperator - operator = 1; - - // The right hand side of the string rule item. For URLs or referrer URLs, - // the value can not contain illegal URL chars such as newlines, quotes, - // tabs, or parentheses. This field is required and must be populated when - // creating a new string rule item. - google.protobuf.StringValue value = 2; -} - -// 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.v1.enums.UserListCombinedRuleOperatorEnum - .UserListCombinedRuleOperator rule_operator = 3; -} - -// Visitors of a page during specific dates. -message DateSpecificRuleUserListInfo { - // Boolean rule that defines visitor of a page. - // - // Required for creating a date specific rule user list. - UserListRuleInfo rule = 1; - - // Start date of users visit. If set to 2000-01-01, then the list includes all - // users before end_date. The date's format should be YYYY-MM-DD. - // - // Required for creating a data specific rule user list. - google.protobuf.StringValue start_date = 2; - - // End date of users visit. If set to 2037-12-30, then the list includes all - // users after start_date. The date's format should be YYYY-MM-DD. - // - // Required for creating a data specific rule user list. - google.protobuf.StringValue end_date = 3; -} - -// Visitors of a page. The page visit is defined by one boolean rule expression. -message ExpressionRuleUserListInfo { - // Boolean rule that defines this user list. The rule consists of a list of - // rule item groups and each rule item group consists of a list of rule items. - // All the rule item groups are ORed or ANDed together for evaluation based on - // rule.rule_type. - // - // Required for creating an expression rule user list. - UserListRuleInfo rule = 1; -} - -// Representation of a userlist that is generated by a rule. -message RuleBasedUserListInfo { - // The status of pre-population. The field is default to NONE if not set which - // means the previous users will not be considered. If set to REQUESTED, past - // site visitors or app users who match the list definition will be included - // in the list (works on the Display Network only). This will only - // add past users from within the last 30 days, depending on the - // list's membership duration and the date when the remarketing tag is added. - // The status will be updated to FINISHED once request is processed, or FAILED - // if the request fails. - google.ads.googleads.v1.enums.UserListPrepopulationStatusEnum - .UserListPrepopulationStatus prepopulation_status = 1; - - // 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 during specific dates. The visiting periods are - // defined as follows: - // Between start_date (inclusive) and end_date (inclusive); - // Before end_date (exclusive) with start_date = 2000-01-01; - // After start_date (exclusive) with end_date = 2037-12-30. - DateSpecificRuleUserListInfo date_specific_rule_user_list = 3; - - // Visitors of a page. The page visit is defined by one boolean rule - // expression. - ExpressionRuleUserListInfo expression_rule_user_list = 4; - } -} - -// Represents a user list that is a custom combination of user lists. -message LogicalUserListInfo { - // Logical list rules that define this user list. The rules are defined as a - // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are - // ANDed when they are evaluated. - // - // Required for creating a logical user list. - repeated UserListLogicalRuleInfo rules = 1; -} - -// A user list logical rule. A rule has a logical operator (and/or/not) and a -// list of user lists as operands. -message UserListLogicalRuleInfo { - // The logical operator of the rule. - google.ads.googleads.v1.enums.UserListLogicalRuleOperatorEnum - .UserListLogicalRuleOperator - operator = 1; - - // The list of operands of the rule. - repeated LogicalUserListOperandInfo rule_operands = 2; -} - -// Operand of logical user list that consists of a user list. -message LogicalUserListOperandInfo { - // Resource name of a user list as an operand. - google.protobuf.StringValue user_list = 1; -} - -// 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. - google.protobuf.StringValue conversion_action = 1; - - // A remarketing action. - google.protobuf.StringValue remarketing_action = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/common/value.proto b/google-cloud/protos/google/ads/googleads/v1/common/value.proto deleted file mode 100644 index b37dfb15..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/common/value.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.common; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ValueProto"; -option java_package = "com.google.ads.googleads.v1.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V1::Common"; - -// Proto file describing value types - -// A generic data container. -message Value { - // A value. - oneof value { - // A boolean. - bool boolean_value = 1; - - // An int64. - int64 int64_value = 2; - - // A float. - float float_value = 3; - - // A double. - double double_value = 4; - - // A string. - string string_value = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v1/enums/access_reason.proto deleted file mode 100644 index 08add76c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/access_reason.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccessReasonProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Indicates the way the resource such as user list is related to a user. -message AccessReasonEnum { - // Enum describing possible access reasons. - enum AccessReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The resource is owned by the user. - OWNED = 2; - - // The resource is shared to the user. - SHARED = 3; - - // The resource is licensed to the user. - LICENSED = 4; - - // The user subscribed to the resource. - SUBSCRIBED = 5; - - // The resource is accessible to the user. - AFFILIATED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_status.proto deleted file mode 100644 index f2532fe7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_status.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing AccountBudgetProposal statuses. - -// Message describing AccountBudgetProposal statuses. -message AccountBudgetProposalStatusEnum { - // The possible statuses of an AccountBudgetProposal. - enum AccountBudgetProposalStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The proposal is pending approval. - PENDING = 2; - - // The proposal has been approved but the corresponding billing setup - // has not. This can occur for proposals that set up the first budget - // when signing up for billing or when performing a change of bill-to - // operation. - APPROVED_HELD = 3; - - // The proposal has been approved. - APPROVED = 4; - - // The proposal has been cancelled by the user. - CANCELLED = 5; - - // The proposal has been rejected by the user, e.g. by rejecting an - // acceptance email. - REJECTED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_type.proto deleted file mode 100644 index 61ff472d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_proposal_type.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing AccountBudgetProposal types. - -// Message describing AccountBudgetProposal types. -message AccountBudgetProposalTypeEnum { - // The possible types of an AccountBudgetProposal. - enum AccountBudgetProposalType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Identifies a request to create a new budget. - CREATE = 2; - - // Identifies a request to edit an existing budget. - UPDATE = 3; - - // Identifies a request to end a budget that has already started. - END = 4; - - // Identifies a request to remove a budget that hasn't started yet. - REMOVE = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_status.proto deleted file mode 100644 index 391c7ccd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/account_budget_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing AccountBudget statuses. - -// Message describing AccountBudget statuses. -message AccountBudgetStatusEnum { - // The possible statuses of an AccountBudget. - enum AccountBudgetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The account budget is pending approval. - PENDING = 2; - - // The account budget has been approved. - APPROVED = 3; - - // The account budget has been cancelled by the user. - CANCELLED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_customizer_placeholder_field.proto deleted file mode 100644 index fc8fbae7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_customizer_placeholder_field.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Ad Customizer placeholder fields. - -// Values for Ad Customizer placeholder fields. -message AdCustomizerPlaceholderFieldEnum { - // Possible values for Ad Customizers placeholder fields. - enum AdCustomizerPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: INT64. Integer value to be inserted. - INTEGER = 2; - - // Data Type: STRING. Price value to be inserted. - PRICE = 3; - - // Data Type: DATE_TIME. Date value to be inserted. - DATE = 4; - - // Data Type: STRING. String value to be inserted. - STRING = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto deleted file mode 100644 index 59763e9c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdRotationModeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing ad group ad rotation mode. - -// Container for enum describing possible ad rotation modes of ads within an -// ad group. -message AdGroupAdRotationModeEnum { - // The possible ad rotation modes of an ad group. - enum AdGroupAdRotationMode { - // The ad rotation mode has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Optimize ad group ads based on clicks or conversions. - OPTIMIZE = 2; - - // Rotate evenly forever. - ROTATE_FOREVER = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_status.proto deleted file mode 100644 index cadf1a39..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_ad_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_approval_status.proto deleted file mode 100644 index 9e79e540..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_approval_status.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing approval status for the criterion. - -// Container for enum describing possible AdGroupCriterion approval statuses. -message AdGroupCriterionApprovalStatusEnum { - // Enumerates AdGroupCriterion approval statuses. - enum AdGroupCriterionApprovalStatus { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Approved. - APPROVED = 2; - - // Disapproved. - DISAPPROVED = 3; - - // Pending Review. - PENDING_REVIEW = 4; - - // Under review. - UNDER_REVIEW = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_status.proto deleted file mode 100644 index 2d43b861..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_criterion_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing AdGroupCriterion statuses. - -// Message describing AdGroupCriterion statuses. -message AdGroupCriterionStatusEnum { - // The possible statuses of an AdGroupCriterion. - enum AdGroupCriterionStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The ad group criterion is enabled. - ENABLED = 2; - - // The ad group criterion is paused. - PAUSED = 3; - - // The ad group criterion is removed. - REMOVED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_status.proto deleted file mode 100644 index 9103e23b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing ad group status. - -// Container for enum describing possible statuses of an ad group. -message AdGroupStatusEnum { - // The possible statuses of an ad group. - enum AdGroupStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The ad group is enabled. - ENABLED = 2; - - // The ad group is paused. - PAUSED = 3; - - // The ad group is removed. - REMOVED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_type.proto deleted file mode 100644 index 3802f128..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_group_type.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing ad group types. - -// Defines types of an ad group, specific to a particular campaign channel -// type. This type drives validations that restrict which entities can be -// added to the ad group. -message AdGroupTypeEnum { - // Enum listing the possible types of an ad group. - enum AdGroupType { - // The type has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The default ad group type for Search campaigns. - SEARCH_STANDARD = 2; - - // The default ad group type for Display campaigns. - DISPLAY_STANDARD = 3; - - // The ad group type for Shopping campaigns serving standard product ads. - SHOPPING_PRODUCT_ADS = 4; - - // The default ad group type for Hotel campaigns. - HOTEL_ADS = 6; - - // The type for ad groups in Smart Shopping campaigns. - SHOPPING_SMART_ADS = 7; - - // Short unskippable in-stream video ads. - VIDEO_BUMPER = 8; - - // TrueView (skippable) in-stream video ads. - VIDEO_TRUE_VIEW_IN_STREAM = 9; - - // TrueView in-display video ads. - VIDEO_TRUE_VIEW_IN_DISPLAY = 10; - - // Unskippable in-stream video ads. - VIDEO_NON_SKIPPABLE_IN_STREAM = 11; - - // Outstream video ads. - VIDEO_OUTSTREAM = 12; - - // Ad group type for Dynamic Search Ads ad groups. - SEARCH_DYNAMIC_ADS = 13; - - // The type for ad groups in Shopping Comparison Listing campaigns. - SHOPPING_COMPARISON_LISTING_ADS = 14; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_network_type.proto deleted file mode 100644 index 803104d1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_network_type.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdNetworkTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_serving_optimization_status.proto deleted file mode 100644 index 6e3f50c5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_serving_optimization_status.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdServingOptimizationStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing ad serving statuses. - -// Possible ad serving statuses of a campaign. -message AdServingOptimizationStatusEnum { - // Enum describing possible serving statuses. - enum AdServingOptimizationStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Ad serving is optimized based on CTR for the campaign. - OPTIMIZE = 2; - - // Ad serving is optimized based on CTR * Conversion for the campaign. If - // the campaign is not in the conversion optimizer bidding strategy, it will - // default to OPTIMIZED. - CONVERSION_OPTIMIZE = 3; - - // Ads are rotated evenly for 90 days, then optimized for clicks. - ROTATE = 4; - - // Show lower performing ads more evenly with higher performing ads, and do - // not optimize. - ROTATE_INDEFINITELY = 5; - - // Ad serving optimization status is not available. - UNAVAILABLE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_strength.proto deleted file mode 100644 index fdc944c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_strength.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdStrengthProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/ad_type.proto deleted file mode 100644 index 52c1bc30..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/ad_type.proto +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_sub_type.proto deleted file mode 100644 index 5ca28b98..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_sub_type.proto +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdvertisingChannelSubTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing advertising channel subtypes. - -// An immutable specialization of an Advertising Channel. -message AdvertisingChannelSubTypeEnum { - // Enum describing the different channel subtypes. - enum AdvertisingChannelSubType { - // Not specified. - UNSPECIFIED = 0; - - // Used as a return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile app campaigns for Search. - SEARCH_MOBILE_APP = 2; - - // Mobile app campaigns for Display. - DISPLAY_MOBILE_APP = 3; - - // AdWords express campaigns for search. - SEARCH_EXPRESS = 4; - - // AdWords Express campaigns for display. - DISPLAY_EXPRESS = 5; - - // Smart Shopping campaigns. - SHOPPING_SMART_ADS = 6; - - // Gmail Ad campaigns. - DISPLAY_GMAIL_AD = 7; - - // Smart display campaigns. - 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 allows you to 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; - - // Shopping Comparison Listing campaigns. - SHOPPING_COMPARISON_LISTING_ADS = 15; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_type.proto deleted file mode 100644 index 25cf0bf9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/advertising_channel_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdvertisingChannelTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing advertising channel types - -// The channel type a campaign may target to serve on. -message AdvertisingChannelTypeEnum { - // Enum describing the various advertising channel types. - enum AdvertisingChannelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Search Network. Includes display bundled, and Search+ campaigns. - SEARCH = 2; - - // Google Display Network only. - DISPLAY = 3; - - // Shopping campaigns serve on the shopping property - // and on google.com search results. - SHOPPING = 4; - - // Hotel Ads campaigns. - HOTEL = 5; - - // Video campaigns. - VIDEO = 6; - - // App Campaigns, and App Campaigns for Engagement, that run - // across multiple channels. - MULTI_CHANNEL = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto deleted file mode 100644 index 06ca33eb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing relation type for affiliate location feeds. - -// Container for enum describing possible values for a relationship type for -// an affiliate location feed. -message AffiliateLocationFeedRelationshipTypeEnum { - // Possible values for a relationship type for an affiliate location feed. - enum AffiliateLocationFeedRelationshipType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // General retailer relationship. - GENERAL_RETAILER = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto deleted file mode 100644 index 8c2ed679..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Affiliate Location placeholder fields. - -// Values for Affiliate Location placeholder fields. -message AffiliateLocationPlaceholderFieldEnum { - // Possible values for Affiliate Location placeholder fields. - enum AffiliateLocationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of the business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 3; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 4; - - // Data Type: STRING. City of the business address. - CITY = 5; - - // Data Type: STRING. Province of the business address. - PROVINCE = 6; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 7; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 8; - - // Data Type: STRING. Phone number of the business. - PHONE_NUMBER = 9; - - // Data Type: STRING. Language code of the business. - LANGUAGE_CODE = 10; - - // Data Type: INT64. ID of the chain. - CHAIN_ID = 11; - - // Data Type: STRING. Name of the chain. - CHAIN_NAME = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/age_range_type.proto deleted file mode 100644 index 2937e823..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/age_range_type.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing age range types. - -// Container for enum describing the type of demographic age ranges. -message AgeRangeTypeEnum { - // The type of demographic age ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_app_store.proto deleted file mode 100644 index 802ad127..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_app_store.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppCampaignAppStoreProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing App Campaign app store. - -// The application store that distributes mobile applications. -message AppCampaignAppStoreEnum { - // Enum describing app campaign app store. - enum AppCampaignAppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple app store. - APPLE_APP_STORE = 2; - - // Google play. - GOOGLE_APP_STORE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto deleted file mode 100644 index b88c5820..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing App Campaign bidding strategy goal types. - -// Container for enum describing goal towards which the bidding strategy of an -// app campaign should optimize for. -message AppCampaignBiddingStrategyGoalTypeEnum { - // Goal type of App campaign BiddingStrategy. - enum AppCampaignBiddingStrategyGoalType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Aim to maximize the number of app installs. The cpa bid is the - // target cost per install. - OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; - - // Aim to maximize the long term number of selected in-app conversions from - // app installs. The cpa bid is the target cost per install. - OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; - - // Aim to maximize the long term number of selected in-app conversions from - // app installs. The cpa bid is the target cost per in-app conversion. Note - // that the actual cpa may seem higher than the target cpa at first, since - // the long term conversions haven’t happened yet. - OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; - - // Aim to maximize all conversions' value, i.e. install + selected in-app - // conversions while achieving or exceeding target return on advertising - // spend. - OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_payment_model_type.proto deleted file mode 100644 index cee3fad3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_payment_model_type.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppPaymentModelTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing criteria types. - -// Represents a criterion for targeting paid apps. -message AppPaymentModelTypeEnum { - // Enum describing possible app payment models. - enum AppPaymentModelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Represents paid-for apps. - PAID = 30; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_placeholder_field.proto deleted file mode 100644 index e9fa2331..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_placeholder_field.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing App placeholder fields. - -// Values for App placeholder fields. -message AppPlaceholderFieldEnum { - // Possible values for App placeholder fields. - enum AppPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: INT64. The application store that the target application - // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play - // Store. - STORE = 2; - - // Data Type: STRING. The store-specific ID for the target application. - ID = 3; - - // Data Type: STRING. The visible text displayed when the link is rendered - // in an ad. - LINK_TEXT = 4; - - // Data Type: STRING. The destination URL of the in-app link. - URL = 5; - - // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded - // URLs. - FINAL_URLS = 6; - - // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using - // Upgraded URLs. - FINAL_MOBILE_URLS = 7; - - // Data Type: URL. Tracking template for the in-app link when using Upgraded - // URLs. - TRACKING_URL = 8; - - // Data Type: STRING. Final URL suffix for the in-app link when using - // parallel tracking. - FINAL_URL_SUFFIX = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_store.proto deleted file mode 100644 index 7b37b6c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_store.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppStoreProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing app store types for an app extension. - -// Container for enum describing app store type in an app extension. -message AppStoreEnum { - // App store type in an app extension. - enum AppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple iTunes. - APPLE_ITUNES = 2; - - // Google Play. - GOOGLE_PLAY = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/app_url_operating_system_type.proto deleted file mode 100644 index 8b047775..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/app_url_operating_system_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppUrlOperatingSystemTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing operating system for a deeplink app URL. - -// The possible OS types for a deeplink AppUrl. -message AppUrlOperatingSystemTypeEnum { - // Operating System - enum AppUrlOperatingSystemType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The Apple IOS operating system. - IOS = 2; - - // The Android operating system. - ANDROID = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/asset_type.proto deleted file mode 100644 index 836b5a8f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/asset_type.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AssetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v1/enums/attribution_model.proto deleted file mode 100644 index 21d8cb43..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/attribution_model.proto +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AttributionModelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum representing the attribution model that describes how to -// distribute credit for a particular conversion across potentially many prior -// interactions. -message AttributionModelEnum { - // The attribution model that describes how to distribute credit for a - // particular conversion across potentially many prior interactions. - enum AttributionModel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Uses external attribution. - EXTERNAL = 100; - - // Attributes all credit for a conversion to its last click. - GOOGLE_ADS_LAST_CLICK = 101; - - // Attributes all credit for a conversion to its first click using Google - // Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; - - // Attributes credit for a conversion equally across all of its clicks using - // Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; - - // Attributes exponentially more credit for a conversion to its more recent - // clicks using Google Search attribution (half-life is 1 week). - GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; - - // Attributes 40% of the credit for a conversion to its first and last - // clicks. Remaining 20% is evenly distributed across all other clicks. This - // uses Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; - - // Flexible model that uses machine learning to determine the appropriate - // distribution of credit among clicks using Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v1/enums/bid_modifier_source.proto deleted file mode 100644 index 7c6c1551..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/bid_modifier_source.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BidModifierSourceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bid modifier source. - -// Container for enum describing possible bid modifier sources. -message BidModifierSourceEnum { - // Enum describing possible bid modifier sources. - enum BidModifierSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The bid modifier is specified at the campaign level, on the campaign - // level criterion. - CAMPAIGN = 2; - - // The bid modifier is specified (overridden) at the ad group level. - AD_GROUP = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v1/enums/bidding_source.proto deleted file mode 100644 index f0bc2719..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_source.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingSourceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bidding sources. - -// Container for enum describing possible bidding sources. -message BiddingSourceEnum { - // Indicates where a bid or target is defined. For example, an ad group - // criterion may define a cpc bid directly, or it can inherit its cpc bid from - // the ad group. - enum BiddingSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Effective bid or target is inherited from campaign bidding strategy. - CAMPAIGN_BIDDING_STRATEGY = 5; - - // The bid or target is defined on the ad group. - AD_GROUP = 6; - - // The bid or target is defined on the ad group criterion. - AD_GROUP_CRITERION = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_status.proto deleted file mode 100644 index cd7a7911..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing BiddingStrategy statuses. - -// Message describing BiddingStrategy statuses. -message BiddingStrategyStatusEnum { - // The possible statuses of a BiddingStrategy. - enum BiddingStrategyStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The bidding strategy is enabled. - ENABLED = 2; - - // The bidding strategy is removed. - REMOVED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_type.proto deleted file mode 100644 index b63fa045..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/bidding_strategy_type.proto +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bidding schemes. - -// Container for enum describing possible bidding strategy types. -message BiddingStrategyTypeEnum { - // Enum describing possible bidding strategy types. - enum BiddingStrategyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Commission is an automatic bidding strategy in which the advertiser pays - // a certain portion of the conversion value. - COMMISSION = 16; - - // Enhanced CPC is a bidding strategy that raises bids for clicks - // that seem more likely to lead to a conversion and lowers - // them for clicks where they seem less likely. - ENHANCED_CPC = 2; - - // 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. - 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. - 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/google-cloud/protos/google/ads/googleads/v1/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/billing_setup_status.proto deleted file mode 100644 index f7ff5820..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/billing_setup_status.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing BillingSetup statuses. - -// Message describing BillingSetup statuses. -message BillingSetupStatusEnum { - // The possible statuses of a BillingSetup. - enum BillingSetupStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The billing setup is pending approval. - PENDING = 2; - - // The billing setup has been approved but the corresponding first budget - // has not. This can only occur for billing setups configured for monthly - // invoicing. - APPROVED_HELD = 3; - - // The billing setup has been approved. - APPROVED = 4; - - // The billing setup was cancelled by the user prior to approval. - CANCELLED = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v1/enums/brand_safety_suitability.proto deleted file mode 100644 index e3d4a8ad..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/brand_safety_suitability.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BrandSafetySuitabilityProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing brand safety suitability settings. - -// Container for enum with 3-Tier brand safety suitability control. -message BrandSafetySuitabilityEnum { - // 3-Tier brand safety suitability control. - enum BrandSafetySuitability { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // This option lets you show ads across all inventory on YouTube and video - // partners that meet our standards for monetization. This option may be an - // appropriate choice for brands that want maximum access to the full - // breadth of videos eligible for ads, including, for example, videos that - // have strong profanity in the context of comedy or a documentary, or - // excessive violence as featured in video games. - EXPANDED_INVENTORY = 2; - - // This option lets you show ads across a wide range of content that's - // appropriate for most brands, such as popular music videos, documentaries, - // and movie trailers. The content you can show ads on is based on YouTube's - // advertiser-friendly content guidelines that take into account, for - // example, the strength or frequency of profanity, or the appropriateness - // of subject matter like sensitive events. Ads won't show, for example, on - // content with repeated strong profanity, strong sexual content, or graphic - // violence. - STANDARD_INVENTORY = 3; - - // This option lets you show ads on a reduced range of content that's - // appropriate for brands with particularly strict guidelines around - // inappropriate language and sexual suggestiveness; above and beyond what - // YouTube's advertiser-friendly content guidelines address. The videos - // accessible in this sensitive category meet heightened requirements, - // especially for inappropriate language and sexual suggestiveness. For - // example, your ads will be excluded from showing on some of YouTube's most - // popular music videos and other pop culture content across YouTube and - // Google video partners. - LIMITED_INVENTORY = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v1/enums/budget_delivery_method.proto deleted file mode 100644 index 5a0a869e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/budget_delivery_method.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetDeliveryMethodProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Budget delivery methods. - -// Message describing Budget delivery methods. A delivery method determines the -// rate at which the Budget is spent. -message BudgetDeliveryMethodEnum { - // Possible delivery methods of a Budget. - enum BudgetDeliveryMethod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The budget server will throttle serving evenly across - // the entire time period. - STANDARD = 2; - - // The budget server will not throttle serving, - // and ads will serve as fast as possible. - ACCELERATED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v1/enums/budget_period.proto deleted file mode 100644 index 0182d741..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/budget_period.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetPeriodProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Budget delivery methods. - -// Message describing Budget period. -message BudgetPeriodEnum { - // Possible period of a Budget. - enum BudgetPeriod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Daily budget. - DAILY = 2; - - // Custom budget. - CUSTOM = 3; - - // Fixed daily budget. - FIXED_DAILY = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/budget_status.proto deleted file mode 100644 index 25f09a1d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/budget_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Budget statuses - -// Message describing a Budget status -message BudgetStatusEnum { - // Possible statuses of a Budget. - enum BudgetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Budget is enabled. - ENABLED = 2; - - // Budget is removed. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/budget_type.proto deleted file mode 100644 index 93b69021..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/budget_type.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Budget types. - -// Describes Budget types. -message BudgetTypeEnum { - // Possible Budget types. - enum BudgetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Budget type for standard Google Ads usage. - // Caps daily spend at two times the specified budget amount. - // Full details: https://support.google.com/google-ads/answer/6385083 - STANDARD = 2; - - // Budget type for Hotels Ads commission program. - // Full details: https://support.google.com/google-ads/answer/9243945 - // - // This type is only supported by campaigns with - // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION and - // PaymentMode.CONVERSION_VALUE. - HOTEL_ADS_COMMISSION = 3; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v1/enums/call_conversion_reporting_state.proto deleted file mode 100644 index 8d54ac5e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/call_conversion_reporting_state.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CallConversionReportingStateProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/call_placeholder_field.proto deleted file mode 100644 index 90e211ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/call_placeholder_field.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CallPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Call placeholder fields. - -// Values for Call placeholder fields. -message CallPlaceholderFieldEnum { - // Possible values for Call placeholder fields. - enum CallPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The advertiser's phone number to append to the ad. - PHONE_NUMBER = 2; - - // Data Type: STRING. Uppercase two-letter country code of the advertiser's - // phone number. - COUNTRY_CODE = 3; - - // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: - // true. - TRACKED = 4; - - // Data Type: INT64. The ID of an AdCallMetricsConversion object. This - // object contains the phoneCallDurationfield which is the minimum duration - // (in seconds) of a call to be considered a conversion. - CONVERSION_TYPE_ID = 5; - - // Data Type: STRING. Indicates whether this call extension uses its own - // call conversion setting or follows the account level setting. - // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and - // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. - CONVERSION_REPORTING_STATE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/callout_placeholder_field.proto deleted file mode 100644 index 5ad14dd1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/callout_placeholder_field.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CalloutPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Callout placeholder fields. - -// Values for Callout placeholder fields. -message CalloutPlaceholderFieldEnum { - // Possible values for Callout placeholder fields. - enum CalloutPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Callout text. - CALLOUT_TEXT = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_criterion_status.proto deleted file mode 100644 index c3fe9dc2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_criterion_status.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_draft_status.proto deleted file mode 100644 index 3602b5b8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_draft_status.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign draft status. - -// Container for enum describing possible statuses of a campaign draft. -message CampaignDraftStatusEnum { - // Possible statuses of a campaign draft. - enum CampaignDraftStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Initial state of the draft, the advertiser can start adding changes with - // no effect on serving. - PROPOSED = 2; - - // The campaign draft is removed. - REMOVED = 3; - - // Advertiser requested to promote draft's changes back into the original - // campaign. Advertiser can poll the long running operation returned by - // the promote action to see the status of the promotion. - PROMOTING = 5; - - // The process to merge changes in the draft back to the original campaign - // has completed successfully. - PROMOTED = 4; - - // The promotion failed after it was partially applied. Promote cannot be - // attempted again safely, so the issue must be corrected in the original - // campaign. - PROMOTE_FAILED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_status.proto deleted file mode 100644 index 0dc84832..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_status.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign experiment status. - -// Container for enum describing possible statuses of a campaign experiment. -message CampaignExperimentStatusEnum { - // Possible statuses of a campaign experiment. - enum CampaignExperimentStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The experiment campaign is being initialized. - INITIALIZING = 2; - - // Initialization of the experiment campaign failed. - INITIALIZATION_FAILED = 8; - - // The experiment campaign is fully initialized. The experiment is currently - // running, scheduled to run in the future or has ended based on its - // end date. An experiment with the status INITIALIZING will be updated to - // ENABLED when it is fully created. - ENABLED = 3; - - // The experiment campaign was graduated to a stand-alone - // campaign, existing independently of the experiment. - GRADUATED = 4; - - // The experiment is removed. - REMOVED = 5; - - // The experiment's changes are being applied to the original campaign. - // The long running operation returned by the promote method can be polled - // to see the status of the promotion. - PROMOTING = 6; - - // Promote of the experiment campaign failed. - PROMOTION_FAILED = 9; - - // The changes of the experiment are promoted to their original campaign. - PROMOTED = 7; - - // The experiment was ended manually. It did not end based on its end date. - ENDED_MANUALLY = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_traffic_split_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_traffic_split_type.proto deleted file mode 100644 index 7711d0df..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_traffic_split_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentTrafficSplitTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign experiment traffic split type. - -// Container for enum describing campaign experiment traffic split type. -message CampaignExperimentTrafficSplitTypeEnum { - // Enum of strategies for splitting traffic between base and experiment - // campaigns in campaign experiment. - enum CampaignExperimentTrafficSplitType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Traffic is randomly assigned to the base or experiment arm for each - // query, independent of previous assignments for the same user. - RANDOM_QUERY = 2; - - // Traffic is split using cookies to keep users in the same arm (base or - // experiment) of the experiment. - COOKIE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_type.proto deleted file mode 100644 index c547a395..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_experiment_type.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign experiment type. - -// Container for enum describing campaign experiment type. -message CampaignExperimentTypeEnum { - // Indicates if this campaign is a normal campaign, - // a draft campaign, or an experiment campaign. - enum CampaignExperimentType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // This is a regular campaign. - BASE = 2; - - // This is a draft version of a campaign. - // It has some modifications from a base campaign, - // but it does not serve or accrue metrics. - DRAFT = 3; - - // This is an experiment version of a campaign. - // It has some modifications from a base campaign, - // and a percentage of traffic is being diverted - // from the BASE campaign to this experiment campaign. - EXPERIMENT = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_serving_status.proto deleted file mode 100644 index 625195ba..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_serving_status.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignServingStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Campaign serving statuses. - -// Message describing Campaign serving statuses. -message CampaignServingStatusEnum { - // Possible serving statuses of a campaign. - enum CampaignServingStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Serving. - SERVING = 2; - - // None. - NONE = 3; - - // Ended. - ENDED = 4; - - // Pending. - PENDING = 5; - - // Suspended. - SUSPENDED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_shared_set_status.proto deleted file mode 100644 index cbb2d4af..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_shared_set_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign shared set statuses. - -// Container for enum describing types of campaign shared set statuses. -message CampaignSharedSetStatusEnum { - // Enum listing the possible campaign shared set statuses. - enum CampaignSharedSetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The campaign shared set is enabled. - ENABLED = 2; - - // The campaign shared set is removed and can no longer be used. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/campaign_status.proto deleted file mode 100644 index cdec3f5b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/campaign_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing campaign status. - -// Container for enum describing possible statuses of a campaign. -message CampaignStatusEnum { - // Possible statuses of a campaign. - enum CampaignStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Campaign is currently serving ads depending on budget information. - ENABLED = 2; - - // Campaign has been paused by the user. - PAUSED = 3; - - // Campaign has been removed. - REMOVED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v1/enums/change_status_operation.proto deleted file mode 100644 index b6b045f8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/change_status_operation.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusOperationProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing the change status operations. - -// Container for enum describing operations for the ChangeStatus resource. -message ChangeStatusOperationEnum { - // Status of the changed resource - enum ChangeStatusOperation { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents an unclassified resource unknown - // in this version. - UNKNOWN = 1; - - // The resource was created. - ADDED = 2; - - // The resource was modified. - CHANGED = 3; - - // The resource was removed. - REMOVED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/change_status_resource_type.proto deleted file mode 100644 index 1eeee032..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/change_status_resource_type.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusResourceTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing the resource types the ChangeStatus resource supports. - -// Container for enum describing supported resource types for the ChangeStatus -// resource. -message ChangeStatusResourceTypeEnum { - // Enum listing the resource types support by the ChangeStatus resource. - enum ChangeStatusResourceType { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents an unclassified resource unknown - // in this version. - UNKNOWN = 1; - - // An AdGroup resource change. - AD_GROUP = 3; - - // An AdGroupAd resource change. - AD_GROUP_AD = 4; - - // An AdGroupCriterion resource change. - AD_GROUP_CRITERION = 5; - - // A Campaign resource change. - CAMPAIGN = 6; - - // A CampaignCriterion resource change. - CAMPAIGN_CRITERION = 7; - - // A Feed resource change. - FEED = 9; - - // A FeedItem resource change. - FEED_ITEM = 10; - - // An AdGroupFeed resource change. - AD_GROUP_FEED = 11; - - // A CampaignFeed resource change. - CAMPAIGN_FEED = 12; - - // An AdGroupBidModifier resource change. - AD_GROUP_BID_MODIFIER = 13; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/click_type.proto deleted file mode 100644 index 2722fa36..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/click_type.proto +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ClickTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing click types. - -// Container for enumeration of Google Ads click types. -message ClickTypeEnum { - // Enumerates Google Ads click types. - enum ClickType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // App engagement ad deep link. - APP_DEEPLINK = 2; - - // Breadcrumbs. - BREADCRUMBS = 3; - - // Broadband Plan. - BROADBAND_PLAN = 4; - - // Manually dialed phone calls. - CALL_TRACKING = 5; - - // Phone calls. - CALLS = 6; - - // Click on engagement ad. - CLICK_ON_ENGAGEMENT_AD = 7; - - // Driving direction. - GET_DIRECTIONS = 8; - - // Get location details. - LOCATION_EXPANSION = 9; - - // Call. - LOCATION_FORMAT_CALL = 10; - - // Directions. - LOCATION_FORMAT_DIRECTIONS = 11; - - // Image(s). - LOCATION_FORMAT_IMAGE = 12; - - // Go to landing page. - LOCATION_FORMAT_LANDING_PAGE = 13; - - // Map. - LOCATION_FORMAT_MAP = 14; - - // Go to store info. - LOCATION_FORMAT_STORE_INFO = 15; - - // Text. - LOCATION_FORMAT_TEXT = 16; - - // Mobile phone calls. - MOBILE_CALL_TRACKING = 17; - - // Print offer. - OFFER_PRINTS = 18; - - // Other. - OTHER = 19; - - // Product plusbox offer. - PRODUCT_EXTENSION_CLICKS = 20; - - // Shopping - Product - Online. - PRODUCT_LISTING_AD_CLICKS = 21; - - // Sitelink. - SITELINKS = 22; - - // Show nearby locations. - STORE_LOCATOR = 23; - - // Headline. - URL_CLICKS = 25; - - // App store. - VIDEO_APP_STORE_CLICKS = 26; - - // Call-to-Action overlay. - VIDEO_CALL_TO_ACTION_CLICKS = 27; - - // Cards. - VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; - - // End cap. - VIDEO_END_CAP_CLICKS = 29; - - // Website. - VIDEO_WEBSITE_CLICKS = 30; - - // Visual Sitelinks. - VISUAL_SITELINKS = 31; - - // Wireless Plan. - WIRELESS_PLAN = 32; - - // Shopping - Product - Local. - PRODUCT_LISTING_AD_LOCAL = 33; - - // Shopping - Product - MultiChannel Local. - PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; - - // Shopping - Product - MultiChannel Online. - PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; - - // Shopping - Product - Coupon. - PRODUCT_LISTING_ADS_COUPON = 36; - - // Shopping - Product - Sell on Google. - PRODUCT_LISTING_AD_TRANSACTABLE = 37; - - // Shopping - Product - App engagement ad deep link. - PRODUCT_AD_APP_DEEPLINK = 38; - - // Shopping - Showcase - Category. - SHOWCASE_AD_CATEGORY_LINK = 39; - - // Shopping - Showcase - Local storefront. - SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; - - // Shopping - Showcase - Online product. - SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; - - // Shopping - Showcase - Local product. - SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; - - // Promotion Extension. - PROMOTION_EXTENSION = 44; - - // Ad Headline. - SWIPEABLE_GALLERY_AD_HEADLINE = 45; - - // Swipes. - SWIPEABLE_GALLERY_AD_SWIPES = 46; - - // See More. - SWIPEABLE_GALLERY_AD_SEE_MORE = 47; - - // Sitelink 1. - SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; - - // Sitelink 2. - SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; - - // Sitelink 3. - SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; - - // Sitelink 4. - SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; - - // Sitelink 5. - SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; - - // Hotel price. - HOTEL_PRICE = 53; - - // Price Extension. - PRICE_EXTENSION = 54; - - // Book on Google hotel room selection. - HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; - - // Shopping - Comparison Listing. - SHOPPING_COMPARISON_LISTING = 56; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/content_label_type.proto deleted file mode 100644 index df243706..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/content_label_type.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ContentLabelTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing content label types. - -// Container for enum describing content label types in ContentLabel. -message ContentLabelTypeEnum { - // Enum listing the content label types supported by ContentLabel criterion. - enum ContentLabelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Sexually suggestive content. - SEXUALLY_SUGGESTIVE = 2; - - // Below the fold placement. - BELOW_THE_FOLD = 3; - - // Parked domain. - PARKED_DOMAIN = 4; - - // Game. - GAME = 5; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_category.proto deleted file mode 100644 index b12de553..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_category.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionCategoryProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum describing the category of conversions that are associated -// with a ConversionAction. -message ConversionActionCategoryEnum { - // The category of conversions that are associated with a ConversionAction. - enum ConversionActionCategory { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Default category. - DEFAULT = 2; - - // User visiting a page. - PAGE_VIEW = 3; - - // Purchase, sales, or "order placed" event. - PURCHASE = 4; - - // Signup user action. - SIGNUP = 5; - - // Lead-generating action. - LEAD = 6; - - // Software download action (as for an app). - DOWNLOAD = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_counting_type.proto deleted file mode 100644 index ed4b54f2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_counting_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionCountingTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing conversion action counting type. - -// Container for enum describing the conversion deduplication mode for -// conversion optimizer. -message ConversionActionCountingTypeEnum { - // Indicates how conversions for this action will be counted. For more - // information, see https://support.google.com/google-ads/answer/3438531. - enum ConversionActionCountingType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Count only one conversion per click. - ONE_PER_CLICK = 2; - - // Count all conversions per click. - MANY_PER_CLICK = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_status.proto deleted file mode 100644 index 576762b7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_status.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing conversion action status. - -// Container for enum describing possible statuses of a conversion action. -message ConversionActionStatusEnum { - // Possible statuses of a conversion action. - enum ConversionActionStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversions will be recorded. - ENABLED = 2; - - // Conversions will not be recorded. - REMOVED = 3; - - // Conversions will not be recorded and the conversion action will not - // appear in the UI. - HIDDEN = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_type.proto deleted file mode 100644 index bc59c5c2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_action_type.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing conversion action type. - -// Container for enum describing possible types of a conversion action. -message ConversionActionTypeEnum { - // Possible types of a conversion action. - enum ConversionActionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversions that occur when a user clicks on an ad's call extension. - AD_CALL = 2; - - // Conversions that occur when a user on a mobile device clicks a phone - // number. - CLICK_TO_CALL = 3; - - // Conversions that occur when a user downloads a mobile app from the Google - // Play Store. - GOOGLE_PLAY_DOWNLOAD = 4; - - // Conversions that occur when a user makes a purchase in an app through - // Android billing. - GOOGLE_PLAY_IN_APP_PURCHASE = 5; - - // Call conversions that are tracked by the advertiser and uploaded. - UPLOAD_CALLS = 6; - - // Conversions that are tracked by the advertiser and uploaded with - // attributed clicks. - UPLOAD_CLICKS = 7; - - // Conversions that occur on a webpage. - WEBPAGE = 8; - - // Conversions that occur when a user calls a dynamically-generated phone - // number from an advertiser's website. - WEBSITE_CALL = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_adjustment_type.proto deleted file mode 100644 index 76f6632d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_adjustment_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing conversion adjustment type. - -// Container for enum describing conversion adjustment types. -message ConversionAdjustmentTypeEnum { - // The different actions advertisers can take to adjust the conversions that - // they already reported. Retractions negate a conversion. Restatements change - // the value of a conversion. - enum ConversionAdjustmentType { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // Negates a conversion so that its total value and count are both zero. - RETRACTION = 2; - - // Changes the value of a conversion. - RESTATEMENT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_attribution_event_type.proto deleted file mode 100644 index d8646edf..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_attribution_event_type.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAttributionEventTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum indicating the event type the conversion is attributed to. -message ConversionAttributionEventTypeEnum { - // The event type of conversions that are attributed to. - enum ConversionAttributionEventType { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // The conversion is attributed to an impression. - IMPRESSION = 2; - - // The conversion is attributed to an interaction. - INTERACTION = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_lag_bucket.proto deleted file mode 100644 index cd68a994..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_lag_bucket.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionLagBucketProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum representing the number of days between impression and -// conversion. -message ConversionLagBucketEnum { - // Enum representing the number of days between impression and conversion. - enum ConversionLagBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. - LESS_THAN_ONE_DAY = 2; - - // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. - ONE_TO_TWO_DAYS = 3; - - // Conversion lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - TWO_TO_THREE_DAYS = 4; - - // Conversion lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - THREE_TO_FOUR_DAYS = 5; - - // Conversion lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - FOUR_TO_FIVE_DAYS = 6; - - // Conversion lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - FIVE_TO_SIX_DAYS = 7; - - // Conversion lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - SIX_TO_SEVEN_DAYS = 8; - - // Conversion lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - SEVEN_TO_EIGHT_DAYS = 9; - - // Conversion lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - EIGHT_TO_NINE_DAYS = 10; - - // Conversion lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - NINE_TO_TEN_DAYS = 11; - - // Conversion lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - TEN_TO_ELEVEN_DAYS = 12; - - // Conversion lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - ELEVEN_TO_TWELVE_DAYS = 13; - - // Conversion lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - TWELVE_TO_THIRTEEN_DAYS = 14; - - // Conversion lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - THIRTEEN_TO_FOURTEEN_DAYS = 15; - - // Conversion lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - FOURTEEN_TO_TWENTY_ONE_DAYS = 16; - - // Conversion lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - TWENTY_ONE_TO_THIRTY_DAYS = 17; - - // Conversion lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - THIRTY_TO_FORTY_FIVE_DAYS = 18; - - // Conversion lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - FORTY_FIVE_TO_SIXTY_DAYS = 19; - - // Conversion lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - SIXTY_TO_NINETY_DAYS = 20; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v1/enums/conversion_or_adjustment_lag_bucket.proto deleted file mode 100644 index fbe31e14..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/conversion_or_adjustment_lag_bucket.proto +++ /dev/null @@ -1,205 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum representing the number of days between the impression and -// the conversion or between the impression and adjustments to the conversion. -message ConversionOrAdjustmentLagBucketEnum { - // Enum representing the number of days between the impression and the - // conversion or between the impression and adjustments to the conversion. - enum ConversionOrAdjustmentLagBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. - CONVERSION_LESS_THAN_ONE_DAY = 2; - - // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. - CONVERSION_ONE_TO_TWO_DAYS = 3; - - // Conversion lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - CONVERSION_TWO_TO_THREE_DAYS = 4; - - // Conversion lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - CONVERSION_THREE_TO_FOUR_DAYS = 5; - - // Conversion lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - CONVERSION_FOUR_TO_FIVE_DAYS = 6; - - // Conversion lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - CONVERSION_FIVE_TO_SIX_DAYS = 7; - - // Conversion lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - CONVERSION_SIX_TO_SEVEN_DAYS = 8; - - // Conversion lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; - - // Conversion lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - CONVERSION_EIGHT_TO_NINE_DAYS = 10; - - // Conversion lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - CONVERSION_NINE_TO_TEN_DAYS = 11; - - // Conversion lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - CONVERSION_TEN_TO_ELEVEN_DAYS = 12; - - // Conversion lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; - - // Conversion lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; - - // Conversion lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; - - // Conversion lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; - - // Conversion lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; - - // Conversion lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; - - // Conversion lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; - - // Conversion lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - CONVERSION_SIXTY_TO_NINETY_DAYS = 20; - - // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, - // 1 day is not. - ADJUSTMENT_LESS_THAN_ONE_DAY = 21; - - // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, - // 2 days is not. - ADJUSTMENT_ONE_TO_TWO_DAYS = 22; - - // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - ADJUSTMENT_TWO_TO_THREE_DAYS = 23; - - // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; - - // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; - - // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; - - // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; - - // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; - - // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; - - // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - ADJUSTMENT_NINE_TO_TEN_DAYS = 30; - - // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; - - // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; - - // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; - - // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; - - // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; - - // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; - - // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; - - // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; - - // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; - - // Conversion adjustment lag bucket from 90 to 145 days. 90 days is - // included, 145 days is not. - ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; - - // Conversion lag bucket UNKNOWN. This is for dates before conversion lag - // bucket was available in Google Ads. - CONVERSION_UNKNOWN = 41; - - // Conversion adjustment lag bucket UNKNOWN. This is for dates before - // conversion adjustment lag bucket was available in Google Ads. - ADJUSTMENT_UNKNOWN = 42; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_channel_availability_mode.proto deleted file mode 100644 index f0342280..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_channel_availability_mode.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing the criterion category channel availability mode. - -// Describes channel availability mode for a criterion availability - whether -// the availability is meant to include all advertising channels, or a -// particular channel with all its channel subtypes, or a channel with a certain -// subset of channel subtypes. -message CriterionCategoryChannelAvailabilityModeEnum { - // Enum containing the possible CriterionCategoryChannelAvailabilityMode. - enum CriterionCategoryChannelAvailabilityMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The category is available to campaigns of all channel types and subtypes. - ALL_CHANNELS = 2; - - // The category is available to campaigns of a specific channel type, - // including all subtypes under it. - CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; - - // The category is available to campaigns of a specific channel type and - // subtype(s). - CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_locale_availability_mode.proto deleted file mode 100644 index 8016d512..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_category_locale_availability_mode.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing the criterion category locale availability mode. - -// Describes locale availabilty 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/google-cloud/protos/google/ads/googleads/v1/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/criterion_system_serving_status.proto deleted file mode 100644 index 24572d23..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_system_serving_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionSystemServingStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing approval status for the criterion. - -// Container for enum describing possible criterion system serving statuses. -message CriterionSystemServingStatusEnum { - // Enumerates criterion system serving statuses. - enum CriterionSystemServingStatus { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Eligible. - ELIGIBLE = 2; - - // Low search volume. - RARELY_SERVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/criterion_type.proto deleted file mode 100644 index b01cb67c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/criterion_type.proto +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing criteria types. - -// The possible types of a criterion. -message CriterionTypeEnum { - // Enum describing possible criterion types. - enum CriterionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Keyword. e.g. 'mars cruise'. - KEYWORD = 2; - - // Placement, aka Website. e.g. '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 (e.g. "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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_member_type.proto deleted file mode 100644 index dda2be01..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_member_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestMemberTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing custom interest member type. - -// The types of custom interest member, either KEYWORD or URL. -message CustomInterestMemberTypeEnum { - // Enum containing possible custom interest member types. - enum CustomInterestMemberType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Custom interest member type KEYWORD. - KEYWORD = 2; - - // Custom interest member type URL. - URL = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_status.proto deleted file mode 100644 index aa3d18db..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_status.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing custom interest status. - -// The status of custom interest. -message CustomInterestStatusEnum { - // Enum containing possible custom interest types. - enum CustomInterestStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Enabled status - custom interest is enabled and can be targeted to. - ENABLED = 2; - - // Removed status - custom interest is removed and cannot be used for - // targeting. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_type.proto deleted file mode 100644 index 8f779959..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/custom_interest_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing custom interest type. - -// The types of custom interest. -message CustomInterestTypeEnum { - // Enum containing possible custom interest types. - enum CustomInterestType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Allows brand advertisers to define custom affinity audience lists. - CUSTOM_AFFINITY = 2; - - // Allows advertisers to define custom intent audience lists. - CUSTOM_INTENT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/custom_placeholder_field.proto deleted file mode 100644 index 2316153f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/custom_placeholder_field.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Custom placeholder fields. - -// Values for Custom placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message CustomPlaceholderFieldEnum { - // Possible values for Custom placeholder fields. - enum CustomPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Combination ID and ID2 must be unique per - // offer. - ID = 2; - - // Data Type: STRING. Combination ID and ID2 must be unique per offer. - ID2 = 3; - - // Data Type: STRING. Required. Main headline with product name to be shown - // in dynamic ad. - ITEM_TITLE = 4; - - // Data Type: STRING. Optional text to be shown in the image ad. - ITEM_SUBTITLE = 5; - - // Data Type: STRING. Optional description of the product to be shown in the - // ad. - ITEM_DESCRIPTION = 6; - - // Data Type: STRING. Full address of your offer or service, including - // postal code. This will be used to identify the closest product to the - // user when there are multiple offers in the feed that are relevant to the - // user. - ITEM_ADDRESS = 7; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 8; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 9; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 10; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 11; - - // Data Type: URL. Image to be displayed in the ad. Highly recommended for - // image ads. - IMAGE_URL = 12; - - // Data Type: STRING. Used as a recommendation engine signal to serve items - // in the same category. - ITEM_CATEGORY = 13; - - // Data Type: URL_LIST. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific product for ads that have multiple - // products. - FINAL_URLS = 14; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 15; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 16; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 17; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 18; - - // Data Type: STRING_LIST. List of recommended IDs to show together with - // this item. - SIMILAR_IDS = 19; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 20; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 21; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/customer_match_upload_key_type.proto deleted file mode 100644 index 656f144c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/customer_match_upload_key_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Indicates what type of data are the user list's members matched from. -message CustomerMatchUploadKeyTypeEnum { - // Enum describing possible customer match upload key types. - enum CustomerMatchUploadKeyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Members are matched from customer info such as email address, phone - // number or physical address. - CONTACT_INFO = 2; - - // Members are matched from a user id generated and assigned by the - // advertiser. - CRM_ID = 3; - - // Members are matched from mobile advertising ids. - MOBILE_ADVERTISING_ID = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v1/enums/customer_pay_per_conversion_eligibility_failure_reason.proto deleted file mode 100644 index 55062cbd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing pay per conversion eligibility failure reasons. - -// Container for enum describing reasons why a customer is not eligible to use -// PaymentMode.CONVERSIONS. -message CustomerPayPerConversionEligibilityFailureReasonEnum { - // Enum describing possible reasons a customer is not eligible to use - // PaymentMode.CONVERSIONS. - enum CustomerPayPerConversionEligibilityFailureReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Customer does not have enough conversions. - NOT_ENOUGH_CONVERSIONS = 2; - - // Customer's conversion lag is too high. - CONVERSION_LAG_TOO_HIGH = 3; - - // Customer uses shared budgets. - HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; - - // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. - HAS_UPLOAD_CLICKS_CONVERSION = 5; - - // Customer's average daily spend is too high. - AVERAGE_DAILY_SPEND_TOO_HIGH = 6; - - // Customer's eligibility has not yet been calculated by the Google Ads - // backend. Check back soon. - ANALYSIS_NOT_COMPLETE = 7; - - // Customer is not eligible due to other reasons. - OTHER = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/data_driven_model_status.proto deleted file mode 100644 index dea3f238..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/data_driven_model_status.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DataDrivenModelStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing data-driven model status. - -// Container for enum indicating data driven model status. -message DataDrivenModelStatusEnum { - // Enumerates data driven model statuses. - enum DataDrivenModelStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The data driven model is available. - AVAILABLE = 2; - - // The data driven model is stale. It hasn't been updated for at least 7 - // days. It is still being used, but will become expired if it does not get - // updated for 30 days. - STALE = 3; - - // The data driven model expired. It hasn't been updated for at least 30 - // days and cannot be used. Most commonly this is because there hasn't been - // the required number of events in a recent 30-day period. - EXPIRED = 4; - - // The data driven model has never been generated. Most commonly this is - // because there has never been the required number of events in any 30-day - // period. - NEVER_GENERATED = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v1/enums/day_of_week.proto deleted file mode 100644 index 6a43f079..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/day_of_week.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DayOfWeekProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of days of the week, e.g., "Monday". -message DayOfWeekEnum { - // Enumerates days of the week, e.g., "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/google-cloud/protos/google/ads/googleads/v1/enums/device.proto b/google-cloud/protos/google/ads/googleads/v1/enums/device.proto deleted file mode 100644 index 21e4d957..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/device.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DeviceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing devices. - -// Container for enumeration of Google Ads devices available for targeting. -message DeviceEnum { - // Enumerates Google Ads devices available for targeting. - enum Device { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Mobile devices with full browsers. - MOBILE = 2; - - // Tablets with full browsers. - TABLET = 3; - - // Computers. - DESKTOP = 4; - - // Smart TVs and game consoles. - CONNECTED_TV = 6; - - // Other device types. - OTHER = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v1/enums/display_ad_format_setting.proto deleted file mode 100644 index feb9bde5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/display_ad_format_setting.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DisplayAdFormatSettingProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing display ad format settings. - -// Container for display ad format settings. -message DisplayAdFormatSettingEnum { - // Enumerates display ad format settings. - enum DisplayAdFormatSetting { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Text, image and native formats. - ALL_FORMATS = 2; - - // Text and image formats. - NON_NATIVE = 3; - - // Native format, i.e. the format rendering is controlled by the publisher - // and not by Google. - NATIVE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/display_upload_product_type.proto deleted file mode 100644 index 858b1b43..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/display_upload_product_type.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DisplayUploadProductTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing display upload product types. - -// Container for display upload product types. Product types that have the word -// "DYNAMIC" in them must be associated with a campaign that has a dynamic -// remarketing feed. See https://support.google.com/google-ads/answer/6053288 -// for more info about dynamic remarketing. Other product types are regarded -// as "static" and do not have this requirement. -message DisplayUploadProductTypeEnum { - // Enumerates display upload product types. - enum DisplayUploadProductType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // HTML5 upload ad. This product type requires the upload_media_bundle - // field in DisplayUploadAdInfo to be set. - HTML5_UPLOAD_AD = 2; - - // Dynamic HTML5 education ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in an education campaign. - DYNAMIC_HTML5_EDUCATION_AD = 3; - - // Dynamic HTML5 flight ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a flight campaign. - DYNAMIC_HTML5_FLIGHT_AD = 4; - - // Dynamic HTML5 hotel and rental ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a hotel campaign. - DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; - - // Dynamic HTML5 job ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a job campaign. - DYNAMIC_HTML5_JOB_AD = 6; - - // Dynamic HTML5 local ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a local campaign. - DYNAMIC_HTML5_LOCAL_AD = 7; - - // Dynamic HTML5 real estate ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a real estate campaign. - DYNAMIC_HTML5_REAL_ESTATE_AD = 8; - - // Dynamic HTML5 custom ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a custom campaign. - DYNAMIC_HTML5_CUSTOM_AD = 9; - - // Dynamic HTML5 travel ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a travel campaign. - DYNAMIC_HTML5_TRAVEL_AD = 10; - - // Dynamic HTML5 hotel ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a hotel campaign. - DYNAMIC_HTML5_HOTEL_AD = 11; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto deleted file mode 100644 index ad8b424e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DsaPageFeedCriterionFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Dynamic Search Ad Page Feed criterion fields. - -// Values for Dynamic Search Ad Page Feed criterion fields. -message DsaPageFeedCriterionFieldEnum { - // Possible values for Dynamic Search Ad Page Feed criterion fields. - enum DsaPageFeedCriterionField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: URL or URL_LIST. URL of the web page you want to target. - PAGE_URL = 2; - - // Data Type: STRING_LIST. The labels that will help you target ads within - // your page feed. - LABEL = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/education_placeholder_field.proto deleted file mode 100644 index 164ad8be..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/education_placeholder_field.proto +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "EducationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Education placeholder fields. - -// Values for Education placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message EducationPlaceholderFieldEnum { - // Possible values for Education placeholder fields. - enum EducationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID - // must be unique per offer. - PROGRAM_ID = 2; - - // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be - // unique per offer. - LOCATION_ID = 3; - - // Data Type: STRING. Required. Main headline with program name to be shown - // in dynamic ad. - PROGRAM_NAME = 4; - - // Data Type: STRING. Area of study that can be shown in dynamic ad. - AREA_OF_STUDY = 5; - - // Data Type: STRING. Description of program that can be shown in dynamic - // ad. - PROGRAM_DESCRIPTION = 6; - - // Data Type: STRING. Name of school that can be shown in dynamic ad. - SCHOOL_NAME = 7; - - // Data Type: STRING. Complete school address, including postal code. - ADDRESS = 8; - - // Data Type: URL. Image to be displayed in ads. - THUMBNAIL_IMAGE_URL = 9; - - // Data Type: URL. Alternative hosted file of image to be used in the ad. - ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v1/enums/extension_setting_device.proto deleted file mode 100644 index e0084aae..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/extension_setting_device.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionSettingDeviceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing extension setting device type. - -// Container for enum describing extension setting device types. -message ExtensionSettingDeviceEnum { - // Possbile 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/google-cloud/protos/google/ads/googleads/v1/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/extension_type.proto deleted file mode 100644 index 8a47b2e7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/extension_type.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing extension type. - -// Container for enum describing possible data types for an extension in an -// extension setting. -message ExtensionTypeEnum { - // Possible data types for an extension in an extension setting. - enum ExtensionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // None. - NONE = 2; - - // App. - APP = 3; - - // Call. - CALL = 4; - - // Callout. - CALLOUT = 5; - - // Message. - MESSAGE = 6; - - // Price. - PRICE = 7; - - // Promotion. - PROMOTION = 8; - - // Review. - REVIEW = 9; - - // Sitelink. - SITELINK = 10; - - // Structured snippet. - STRUCTURED_SNIPPET = 11; - - // Location. - LOCATION = 12; - - // Affiliate location. - AFFILIATE_LOCATION = 13; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v1/enums/external_conversion_source.proto deleted file mode 100644 index dfdbd928..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/external_conversion_source.proto +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExternalConversionSourceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum describing the external conversion source that is -// associated with a ConversionAction. -message ExternalConversionSourceEnum { - // The external conversion source that is associated with a ConversionAction. - enum ExternalConversionSource { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion that occurs when a user navigates to a particular webpage - // after viewing an ad; Displayed in Google Ads UI as 'Website'. - WEBPAGE = 2; - - // Conversion that comes from linked Google Analytics goal or transaction; - // Displayed in Google Ads UI as 'Analytics'. - ANALYTICS = 3; - - // Website conversion that is uploaded through ConversionUploadService; - // Displayed in Google Ads UI as 'Import from clicks'. - UPLOAD = 4; - - // Conversion that occurs when a user clicks on a call extension directly on - // an ad; Displayed in Google Ads UI as 'Calls from ads'. - AD_CALL_METRICS = 5; - - // Conversion that occurs when a user calls a dynamically-generated phone - // number (by installed javascript) from an advertiser's website after - // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. - WEBSITE_CALL_METRICS = 6; - - // Conversion that occurs when a user visits an advertiser's retail store - // after clicking on a Google ad; - // Displayed in Google Ads UI as 'Store visits'. - STORE_VISITS = 7; - - // Conversion that occurs when a user takes an in-app action such as a - // purchase in an Android app; - // Displayed in Google Ads UI as 'Android in-app action'. - ANDROID_IN_APP = 8; - - // Conversion that occurs when a user takes an in-app action such as a - // purchase in an iOS app; - // Displayed in Google Ads UI as 'iOS in-app action'. - IOS_IN_APP = 9; - - // Conversion that occurs when a user opens an iOS app for the first time; - // Displayed in Google Ads UI as 'iOS app install (first open)'. - IOS_FIRST_OPEN = 10; - - // Legacy app conversions that do not have an AppPlatform provided; - // Displayed in Google Ads UI as 'Mobile app'. - APP_UNSPECIFIED = 11; - - // Conversion that occurs when a user opens an Android app for the first - // time; Displayed in Google Ads UI as 'Android app install (first open)'. - ANDROID_FIRST_OPEN = 12; - - // Call conversion that is uploaded through ConversionUploadService; - // Displayed in Google Ads UI as 'Import from calls'. - UPLOAD_CALLS = 13; - - // Conversion that comes from a linked Firebase event; - // Displayed in Google Ads UI as 'Firebase'. - FIREBASE = 14; - - // Conversion that occurs when a user clicks on a mobile phone number; - // Displayed in Google Ads UI as 'Phone number clicks'. - CLICK_TO_CALL = 15; - - // Conversion that comes from Salesforce; - // Displayed in Google Ads UI as 'Salesforce.com'. - SALESFORCE = 16; - - // Conversion that comes from in-store purchases recorded by CRM; - // Displayed in Google Ads UI as 'Store sales (data partner)'. - STORE_SALES_CRM = 17; - - // Conversion that comes from in-store purchases from payment network; - // Displayed in Google Ads UI as 'Store sales (payment network)'. - STORE_SALES_PAYMENT_NETWORK = 18; - - // Codeless Google Play conversion; - // Displayed in Google Ads UI as 'Google Play'. - GOOGLE_PLAY = 19; - - // Conversion that comes from a linked third-party app analytics event; - // Displayed in Google Ads UI as 'Third-party app analytics'. - THIRD_PARTY_APP_ANALYTICS = 20; - - // Conversion that is controlled by Google Attribution. - GOOGLE_ATTRIBUTION = 21; - - // Store Sales conversion based on first-party or third-party merchant data - // uploads. Displayed in Google Ads UI as 'Store sales (direct)'. - STORE_SALES_DIRECT = 22; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_attribute_type.proto deleted file mode 100644 index 46ef8cc6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_attribute_type.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedAttributeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed attribute type. - -// Container for enum describing possible data types for a feed attribute. -message FeedAttributeTypeEnum { - // Possible data types for a feed attribute. - enum FeedAttributeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Int64. - INT64 = 2; - - // Double. - DOUBLE = 3; - - // String. - STRING = 4; - - // Boolean. - BOOLEAN = 5; - - // Url. - URL = 6; - - // Datetime. - DATE_TIME = 7; - - // Int64 list. - INT64_LIST = 8; - - // Double (8 bytes) list. - DOUBLE_LIST = 9; - - // String list. - STRING_LIST = 10; - - // Boolean list. - BOOLEAN_LIST = 11; - - // Url list. - URL_LIST = 12; - - // Datetime list. - DATE_TIME_LIST = 13; - - // Price. - PRICE = 14; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto deleted file mode 100644 index ad547474..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemQualityApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item quality evaluation approval statuses. - -// Container for enum describing possible quality evaluation approval statuses -// of a feed item. -message FeedItemQualityApprovalStatusEnum { - // The possible quality evaluation approval statuses of a feed item. - enum FeedItemQualityApprovalStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Meets all quality expectations. - APPROVED = 2; - - // Does not meet some quality expectations. The specific reason is found in - // the quality_disapproval_reasons field. - DISAPPROVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto deleted file mode 100644 index e9745025..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item quality disapproval reasons. - -// Container for enum describing possible quality evaluation disapproval reasons -// of a feed item. -message FeedItemQualityDisapprovalReasonEnum { - // The possible quality evaluation disapproval reasons of a feed item. - enum FeedItemQualityDisapprovalReason { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Price contains repetitive headers. - PRICE_TABLE_REPETITIVE_HEADERS = 2; - - // Price contains repetitive description. - PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; - - // Price contains inconsistent items. - PRICE_TABLE_INCONSISTENT_ROWS = 4; - - // Price contains qualifiers in description. - PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; - - // Price contains an unsupported language. - PRICE_UNSUPPORTED_LANGUAGE = 6; - - // Price item header is not relevant to the price type. - PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; - - // Price item header has promotional text. - PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; - - // Price item description is not relevant to the item header. - PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; - - // Price item description contains promotional text. - PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; - - // Price item header and description are repetitive. - PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; - - // Price item is in a foreign language, nonsense, or can't be rated. - PRICE_TABLE_ROW_UNRATEABLE = 12; - - // Price item price is invalid or inaccurate. - PRICE_TABLE_ROW_PRICE_INVALID = 13; - - // Price item URL is invalid or irrelevant. - PRICE_TABLE_ROW_URL_INVALID = 14; - - // Price item header or description has price. - PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; - - // Structured snippet values do not match the header. - STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; - - // Structured snippet values are repeated. - STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; - - // Structured snippet values violate editorial guidelines like punctuation. - STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; - - // Structured snippet contain promotional text. - STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_status.proto deleted file mode 100644 index 9a4c4176..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item status. - -// Container for enum describing possible statuses of a feed item. -message FeedItemStatusEnum { - // Possible statuses of a feed item. - enum FeedItemStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item is enabled. - ENABLED = 2; - - // Feed item has been removed. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_device.proto deleted file mode 100644 index 8eb86f6e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_device.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetDeviceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item target device type. - -// Container for enum describing possible data types for a feed item target -// device. -message FeedItemTargetDeviceEnum { - // Possible data types for a feed item target device. - enum FeedItemTargetDevice { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile. - MOBILE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_type.proto deleted file mode 100644 index f68c169c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_target_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item target type status. - -// Container for enum describing possible types of a feed item target. -message FeedItemTargetTypeEnum { - // Possible type of a feed item target. - enum FeedItemTargetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item targets a campaign. - CAMPAIGN = 2; - - // Feed item targets an ad group. - AD_GROUP = 3; - - // Feed item targets a criterion. - CRITERION = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_validation_status.proto deleted file mode 100644 index 56fc0624..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_item_validation_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemValidationStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed item validation statuses. - -// Container for enum describing possible validation statuses of a feed item. -message FeedItemValidationStatusEnum { - // The possible validation statuses of a feed item. - enum FeedItemValidationStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Validation pending. - PENDING = 2; - - // An error was found. - INVALID = 3; - - // Feed item is semantically well-formed. - VALID = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_link_status.proto deleted file mode 100644 index 242f3cf2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_link_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedLinkStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing status of a feed link. - -// Container for an enum describing possible statuses of a feed link. -message FeedLinkStatusEnum { - // Possible statuses of a feed link. - enum FeedLinkStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed link is enabled. - ENABLED = 2; - - // Feed link has been removed. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto deleted file mode 100644 index 949dd8d7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingCriterionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing criterion types for feed mappings. - -// Container for enum describing possible criterion types for a feed mapping. -message FeedMappingCriterionTypeEnum { - // Possible placeholder types for a feed mapping. - enum FeedMappingCriterionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Allows campaign targeting at locations within a location feed. - LOCATION_EXTENSION_TARGETING = 4; - - // Allows url targeting for your dynamic search ads within a page feed. - DSA_PAGE_FEED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_status.proto deleted file mode 100644 index fe31a400..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_mapping_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed mapping status. - -// Container for enum describing possible statuses of a feed mapping. -message FeedMappingStatusEnum { - // Possible statuses of a feed mapping. - enum FeedMappingStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed mapping is enabled. - ENABLED = 2; - - // Feed mapping has been removed. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_origin.proto deleted file mode 100644 index 3371b175..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_origin.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedOriginProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed origin. - -// Container for enum describing possible values for a feed origin. -message FeedOriginEnum { - // Possible values for a feed origin. - enum FeedOrigin { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The FeedAttributes for this Feed are managed by the - // user. Users can add FeedAttributes to this Feed. - USER = 2; - - // The FeedAttributes for 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/google-cloud/protos/google/ads/googleads/v1/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/feed_status.proto deleted file mode 100644 index 25444e88..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/feed_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed status. - -// Container for enum describing possible statuses of a feed. -message FeedStatusEnum { - // Possible statuses of a feed. - enum FeedStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed is enabled. - ENABLED = 2; - - // Feed has been removed. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/flight_placeholder_field.proto deleted file mode 100644 index 410bd521..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/flight_placeholder_field.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FlightsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Flight placeholder fields. - -// Values for Flight placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message FlightPlaceholderFieldEnum { - // Possible values for Flight placeholder fields. - enum FlightPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Destination id. Example: PAR, LON. - // For feed items that only have destination id, destination id must be a - // unique key. For feed items that have both destination id and origin id, - // then the combination must be a unique key. - DESTINATION_ID = 2; - - // Data Type: STRING. Origin id. Example: PAR, LON. - // Optional. Combination of destination id and origin id must be unique per - // offer. - ORIGIN_ID = 3; - - // Data Type: STRING. Required. Main headline with product name to be shown - // in dynamic ad. - FLIGHT_DESCRIPTION = 4; - - // Data Type: STRING. Shorter names are recommended. - ORIGIN_NAME = 5; - - // Data Type: STRING. Shorter names are recommended. - DESTINATION_NAME = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - FLIGHT_PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - FLIGHT_SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific flight for ads that show multiple - // flights. - FINAL_URLS = 12; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 13; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 14; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 15; - - // Data Type: STRING_LIST. List of recommended destination IDs to show - // together with this item. - SIMILAR_DESTINATION_IDS = 16; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 17; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 18; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_event_type.proto deleted file mode 100644 index 538e4aed..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_event_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapEventTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the type of event that the cap applies to. -message FrequencyCapEventTypeEnum { - // The type of event that the cap applies to (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_level.proto deleted file mode 100644 index 48a166b6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_level.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapLevelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the level on which the cap is to be applied. -message FrequencyCapLevelEnum { - // The level on which the cap is to be applied (e.g ad group ad, ad group). - // Cap is applied to all the resources of this level. - enum FrequencyCapLevel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The cap is applied at the ad group ad level. - AD_GROUP_AD = 2; - - // The cap is applied at the ad group level. - AD_GROUP = 3; - - // The cap is applied at the campaign level. - CAMPAIGN = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_time_unit.proto deleted file mode 100644 index d6753288..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/frequency_cap_time_unit.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapTimeUnitProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the unit of time the cap is defined at. -message FrequencyCapTimeUnitEnum { - // Unit of time the cap is defined at (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/gender_type.proto deleted file mode 100644 index 0782bc10..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/gender_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GenderTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing gender types. - -// Container for enum describing the type of demographic genders. -message GenderTypeEnum { - // The type of demographic genders (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/geo_target_constant_status.proto deleted file mode 100644 index 415cff4e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/geo_target_constant_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_restriction.proto deleted file mode 100644 index 9407898d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_restriction.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetingRestrictionProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing GeoTargetingRestriction. - -// Message describing feed item geo targeting restriction. -message GeoTargetingRestrictionEnum { - // A restriction used to determine if the request context's - // geo should be matched. - enum GeoTargetingRestriction { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Indicates that request context should match the physical location of - // the user. - LOCATION_OF_PRESENCE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_type.proto deleted file mode 100644 index bfb00f01..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/geo_targeting_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetingTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing geo targeting types. - -// Container for enum describing possible geo targeting types. -message GeoTargetingTypeEnum { - // The possible geo targeting types. - enum GeoTargetingType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Location the user is interested in while making the query. - AREA_OF_INTEREST = 2; - - // Location of the user issuing the query. - LOCATION_OF_PRESENCE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_category.proto deleted file mode 100644 index b12096dc..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_category.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldCategoryProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing GoogleAdsField categories - -// Container for enum that determines if the described artifact is a resource -// or a field, and if it is a field, when it segments search queries. -message GoogleAdsFieldCategoryEnum { - // The category of the artifact. - enum GoogleAdsFieldCategory { - // Unspecified - UNSPECIFIED = 0; - - // Unknown - UNKNOWN = 1; - - // The described artifact is a resource. - RESOURCE = 2; - - // The described artifact is a field and is an attribute of a resource. - // Including a resource attribute field in a query may segment the query if - // the resource to which it is attributed segments the resource found in - // the FROM clause. - ATTRIBUTE = 3; - - // The described artifact is a field and always segments search queries. - SEGMENT = 5; - - // The described artifact is a field and is a metric. It never segments - // search queries. - METRIC = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_data_type.proto deleted file mode 100644 index d84d34aa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/google_ads_field_data_type.proto +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldDataTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing GoogleAdsField data types - -// Container holding the various data types. -message GoogleAdsFieldDataTypeEnum { - // These are the various types a GoogleAdsService artifact may take on. - enum GoogleAdsFieldDataType { - // Unspecified - UNSPECIFIED = 0; - - // Unknown - UNKNOWN = 1; - - // Maps to google.protobuf.BoolValue - // - // Applicable operators: =, != - BOOLEAN = 2; - - // Maps to google.protobuf.StringValue. It can be compared using the set of - // operators specific to dates however. - // - // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN - DATE = 3; - - // Maps to google.protobuf.DoubleValue - // - // Applicable operators: =, !=, <, >, IN, NOT IN - DOUBLE = 4; - - // Maps to an enum. It's specific definition can be found at type_url. - // - // Applicable operators: =, !=, IN, NOT IN - ENUM = 5; - - // Maps to google.protobuf.FloatValue - // - // Applicable operators: =, !=, <, >, IN, NOT IN - FLOAT = 6; - - // Maps to google.protobuf.Int32Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - INT32 = 7; - - // Maps to google.protobuf.Int64Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - INT64 = 8; - - // Maps to a protocol buffer message type. The data type's details can be - // found in type_url. - // - // No operators work with MESSAGE fields. - MESSAGE = 9; - - // Maps to google.protobuf.StringValue. Represents the resource name - // (unique id) of a resource or one of its foreign keys. - // - // No operators work with RESOURCE_NAME fields. - RESOURCE_NAME = 10; - - // Maps to google.protobuf.StringValue. - // - // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN - STRING = 11; - - // Maps to google.protobuf.UInt64Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - UINT64 = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/hotel_date_selection_type.proto deleted file mode 100644 index 321668ad..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_date_selection_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelDateSelectionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing hotel date selection types. - -// Container for enum describing possible hotel date selection types -message HotelDateSelectionTypeEnum { - // Enum describing possible hotel date selection types. - enum HotelDateSelectionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Dates selected by default. - DEFAULT_SELECTION = 50; - - // Dates selected by the user. - USER_SELECTED = 51; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/hotel_placeholder_field.proto deleted file mode 100644 index 9a9a2f55..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_placeholder_field.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Hotel placeholder fields. - -// Values for Hotel placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message HotelPlaceholderFieldEnum { - // Possible values for Hotel placeholder fields. - enum HotelPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Unique ID. - PROPERTY_ID = 2; - - // Data Type: STRING. Required. Main headline with property name to be shown - // in dynamic ad. - PROPERTY_NAME = 3; - - // Data Type: STRING. Name of destination to be shown in dynamic ad. - DESTINATION_NAME = 4; - - // Data Type: STRING. Description of destination to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: STRING. Category of property used to group like items together - // for recommendation engine. - CATEGORY = 12; - - // Data Type: INT64. Star rating (1 to 5) used to group like items - // together for recommendation engine. - STAR_RATING = 13; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 14; - - // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific flight for ads that show multiple - // flights. - FINAL_URLS = 15; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 16; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 17; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 18; - - // Data Type: STRING_LIST. List of recommended property IDs to show together - // with this item. - SIMILAR_PROPERTY_IDS = 19; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 20; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 21; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/hotel_rate_type.proto deleted file mode 100644 index 6a152523..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/hotel_rate_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelRateTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing hotel rate types. - -// Container for enum describing possible hotel rate types. -message HotelRateTypeEnum { - // Enum describing possible hotel rate types. - enum HotelRateType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Rate type information is unavailable. - UNAVAILABLE = 2; - - // Rates available to everyone. - PUBLIC_RATE = 3; - - // A membership program rate is available and satisfies basic requirements - // like having a public rate available. UI treatment will strikethrough the - // public rate and indicate that a discount is available to the user. See - // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates - // for more information. - QUALIFIED_RATE = 4; - - // Rates available to users that satisfy some eligibility criteria. e.g. - // all signed-in users, 20% of mobile users, all mobile users in Canada, - // etc. - PRIVATE_RATE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/income_range_type.proto deleted file mode 100644 index 8539677a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/income_range_type.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "IncomeRangeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing income range types. - -// Container for enum describing the type of demographic income ranges. -message IncomeRangeTypeEnum { - // The type of demographic income ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/interaction_event_type.proto deleted file mode 100644 index 2326c772..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/interaction_event_type.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "InteractionEventTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing types of payable and free interactions. - -// Container for enum describing types of payable and free interactions. -message InteractionEventTypeEnum { - // Enum describing possible types of payable and free interactions. - enum InteractionEventType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Click to site. In most cases, this interaction navigates to an external - // location, usually the advertiser's landing page. This is also the default - // InteractionEventType for click events. - CLICK = 2; - - // The user's expressed intent to engage with the ad in-place. - ENGAGEMENT = 3; - - // User viewed a video ad. - VIDEO_VIEW = 4; - - // The default InteractionEventType for ad conversion events. - // This is used when an ad conversion row does NOT indicate - // that the free interactions (i.e., 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/google-cloud/protos/google/ads/googleads/v1/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/interaction_type.proto deleted file mode 100644 index d6a80583..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/interaction_type.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "InteractionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing interaction types. - -// Container for enum describing possible interaction types. -message InteractionTypeEnum { - // Enum describing possible interaction types. - enum InteractionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Calls. - CALLS = 8000; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/job_placeholder_field.proto deleted file mode 100644 index c619ba95..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/job_placeholder_field.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "JobsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Job placeholder fields. - -// Values for Job placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message JobPlaceholderFieldEnum { - // Possible values for Job placeholder fields. - enum JobPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. If only JOB_ID is specified, then it must be - // unique. If both JOB_ID and LOCATION_ID are specified, then the - // pair must be unique. - // ID) pair must be unique. - JOB_ID = 2; - - // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique - // per offer. - LOCATION_ID = 3; - - // Data Type: STRING. Required. Main headline with job title to be shown in - // dynamic ad. - TITLE = 4; - - // Data Type: STRING. Job subtitle to be shown in dynamic ad. - SUBTITLE = 5; - - // Data Type: STRING. Description of job to be shown in dynamic ad. - DESCRIPTION = 6; - - // Data Type: URL. Image to be displayed in the ad. Highly recommended for - // image ads. - IMAGE_URL = 7; - - // Data Type: STRING. Category of property used to group like items together - // for recommendation engine. - CATEGORY = 8; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 9; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 10; - - // Data Type: STRING. Salary or salary range of job to be shown in dynamic - // ad. - SALARY = 11; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/keyword_match_type.proto deleted file mode 100644 index 923f465a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_match_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordMatchTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Keyword match types. - -// Message describing Keyword match types. -message KeywordMatchTypeEnum { - // Possible Keyword match types. - enum KeywordMatchType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Exact match. - EXACT = 2; - - // Phrase match. - PHRASE = 3; - - // Broad match. - BROAD = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_competition_level.proto deleted file mode 100644 index 598ec7c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_competition_level.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCompetitionLevelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Keyword Planner competition levels. - -// Container for enumeration of keyword competition levels. The competition -// level indicates how competitive ad placement is for a keyword and -// is determined by the number of advertisers bidding on that keyword relative -// to all keywords across Google. The competition level can depend on the -// location and Search Network targeting options you've selected. -message KeywordPlanCompetitionLevelEnum { - // Competition level of a keyword. - enum KeywordPlanCompetitionLevel { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Low competition. - LOW = 2; - - // Medium competition. - MEDIUM = 3; - - // High competition. - HIGH = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_forecast_interval.proto deleted file mode 100644 index 2dcc6bad..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_forecast_interval.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanForecastIntervalProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing keyword plan forecast intervals. - -// Container for enumeration of forecast intervals. -message KeywordPlanForecastIntervalEnum { - // Forecast intervals. - enum KeywordPlanForecastInterval { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // The next week date range for keyword plan. The next week is based - // on the default locale of the user's account and is mostly SUN-SAT or - // MON-SUN. - // This can be different from next-7 days. - NEXT_WEEK = 3; - - // The next month date range for keyword plan. - NEXT_MONTH = 4; - - // The next quarter date range for keyword plan. - NEXT_QUARTER = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_network.proto deleted file mode 100644 index e43ba8c5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/keyword_plan_network.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNetworkProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Keyword Planner forecastable network types. - -// Container for enumeration of keyword plan forecastable network types. -message KeywordPlanNetworkEnum { - // Enumerates keyword plan forecastable network types. - enum KeywordPlanNetwork { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Google Search. - GOOGLE_SEARCH = 2; - - // Google Search + Search partners. - GOOGLE_SEARCH_AND_PARTNERS = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/label_status.proto deleted file mode 100644 index b675846d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/label_status.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LabelStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v1/enums/legacy_app_install_ad_app_store.proto deleted file mode 100644 index 9d7dc2b4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/legacy_app_install_ad_app_store.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing app store types for a legacy app install ad. - -// Container for enum describing app store type in a legacy app install ad. -message LegacyAppInstallAdAppStoreEnum { - // App store type in a legacy app install ad. - enum LegacyAppInstallAdAppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple iTunes. - APPLE_APP_STORE = 2; - - // Google Play. - GOOGLE_PLAY = 3; - - // Windows Store. - WINDOWS_STORE = 4; - - // Windows Phone Store. - WINDOWS_PHONE_STORE = 5; - - // The app is hosted in a Chinese app store. - CN_APP_STORE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/listing_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v1/enums/listing_custom_attribute_index.proto deleted file mode 100644 index 9ca9134d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/listing_custom_attribute_index.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ListingCustomAttributeIndexProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing listing custom attributes. - -// Container for enum describing the index of the listing custom attribute. -message ListingCustomAttributeIndexEnum { - // The index of the listing custom attribute. - enum ListingCustomAttributeIndex { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // First listing custom attribute. - INDEX0 = 7; - - // Second listing custom attribute. - INDEX1 = 8; - - // Third listing custom attribute. - INDEX2 = 9; - - // Fourth listing custom attribute. - INDEX3 = 10; - - // Fifth listing custom attribute. - INDEX4 = 11; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/listing_group_type.proto deleted file mode 100644 index 4ac77989..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/listing_group_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ListingGroupTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing listing groups. - -// Container for enum describing the type of the listing group. -message ListingGroupTypeEnum { - // The type of the listing group. - enum ListingGroupType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Subdivision of products along some listing dimension. These nodes - // are not used by serving to target listing entries, but is purely - // to define the structure of the tree. - SUBDIVISION = 2; - - // Listing group unit that defines a bid. - UNIT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/local_placeholder_field.proto deleted file mode 100644 index 8fae98ef..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/local_placeholder_field.proto +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocalPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Local placeholder fields. - -// Values for Local placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message LocalPlaceholderFieldEnum { - // Possible values for Local placeholder fields. - enum LocalPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Unique ID. - DEAL_ID = 2; - - // Data Type: STRING. Required. Main headline with local deal title to be - // shown in dynamic ad. - DEAL_NAME = 3; - - // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. - SUBTITLE = 4; - - // Data Type: STRING. Description of local deal to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Price to be shown in the ad. Highly recommended for - // dynamic ads. Example: "100.00 USD" - PRICE = 6; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 7; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 8; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 9; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 10; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 11; - - // Data Type: STRING. Category of local deal used to group like items - // together for recommendation engine. - CATEGORY = 12; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 13; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto deleted file mode 100644 index ed4ccb5c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Location Extension Targeting criterion fields. - -// Values for Location Extension Targeting criterion fields. -message LocationExtensionTargetingCriterionFieldEnum { - // Possible values for Location Extension Targeting criterion fields. - enum LocationExtensionTargetingCriterionField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 2; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 3; - - // Data Type: STRING. City of the business address. - CITY = 4; - - // Data Type: STRING. Province of the business address. - PROVINCE = 5; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 6; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v1/enums/location_group_radius_units.proto deleted file mode 100644 index 797e7f2f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/location_group_radius_units.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationGroupRadiusUnitsProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing location group radius units. - -// Container for enum describing unit of radius in location group. -message LocationGroupRadiusUnitsEnum { - // The unit of radius distance in location group (e.g. 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/location_placeholder_field.proto deleted file mode 100644 index 64c5dcae..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/location_placeholder_field.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Location placeholder fields. - -// Values for Location placeholder fields. -message LocationPlaceholderFieldEnum { - // Possible values for Location placeholder fields. - enum LocationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of the business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 3; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 4; - - // Data Type: STRING. City of the business address. - CITY = 5; - - // Data Type: STRING. Province of the business address. - PROVINCE = 6; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 7; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 8; - - // Data Type: STRING. Phone number of the business. - PHONE_NUMBER = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/manager_link_status.proto deleted file mode 100644 index b3e31714..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/manager_link_status.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ManagerLinkStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum describing possible status of a manager and client link. -message ManagerLinkStatusEnum { - // Possible statuses of a link. - enum ManagerLinkStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Indicates current in-effect relationship - ACTIVE = 2; - - // Indicates terminated relationship - INACTIVE = 3; - - // Indicates relationship has been requested by manager, but the client - // hasn't accepted yet. - PENDING = 4; - - // Relationship was requested by the manager, but the client has refused. - REFUSED = 5; - - // Indicates relationship has been requested by manager, but manager - // canceled it. - CANCELED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_context_type.proto deleted file mode 100644 index 4cf2ce4d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_context_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionContextTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing matching function context types. - -// Container for context types for an operand in a matching function. -message MatchingFunctionContextTypeEnum { - // Possible context types for an operand in a matching function. - enum MatchingFunctionContextType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item id in the request context. - FEED_ITEM_ID = 2; - - // The device being used (possible values are 'Desktop' or 'Mobile'). - DEVICE_NAME = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_operator.proto deleted file mode 100644 index d3de5711..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/matching_function_operator.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing matching function operators. - -// Container for enum describing matching function operator. -message MatchingFunctionOperatorEnum { - // Possible operators in a matching function. - enum MatchingFunctionOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The IN operator. - IN = 2; - - // The IDENTITY operator. - IDENTITY = 3; - - // The EQUALS operator - EQUALS = 4; - - // Operator that takes two or more operands that are of type - // FunctionOperand and checks that all the operands evaluate to true. - // For functions related to ad formats, all the operands must be in - // left_operands. - AND = 5; - - // Operator that returns true if the elements in left_operands contain any - // of the elements in right_operands. Otherwise, return false. The - // right_operands must contain at least 1 and no more than 3 - // ConstantOperands. - CONTAINS_ANY = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/media_type.proto deleted file mode 100644 index 182a88ae..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/media_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MediaTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing media types. - -// Container for enum describing the types of media. -message MediaTypeEnum { - // The type of media. - enum MediaType { - // The media type has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Static image, used for image ad. - IMAGE = 2; - - // Small image, used for map ad. - ICON = 3; - - // ZIP file, used in fields of template ads. - MEDIA_BUNDLE = 4; - - // Audio file. - AUDIO = 5; - - // Video file. - VIDEO = 6; - - // Animated image, such as animated GIF. - DYNAMIC_IMAGE = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/merchant_center_link_status.proto deleted file mode 100644 index 0d8b4b30..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/merchant_center_link_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v1/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/message_placeholder_field.proto deleted file mode 100644 index 0d91c787..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/message_placeholder_field.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MessagePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Message placeholder fields. - -// Values for Message placeholder fields. -message MessagePlaceholderFieldEnum { - // Possible values for Message placeholder fields. - enum MessagePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of your business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Country code of phone number. - COUNTRY_CODE = 3; - - // Data Type: STRING. A phone number that's capable of sending and receiving - // text messages. - PHONE_NUMBER = 4; - - // Data Type: STRING. The text that will go in your click-to-message ad. - MESSAGE_EXTENSION_TEXT = 5; - - // Data Type: STRING. The message text automatically shows in people's - // messaging apps when they tap to send you a message. - MESSAGE_TEXT = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/mime_type.proto deleted file mode 100644 index 86b08805..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/mime_type.proto +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MimeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v1/enums/minute_of_hour.proto deleted file mode 100644 index 443daade..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/minute_of_hour.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MinuteOfHourProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of quarter-hours. -message MinuteOfHourEnum { - // Enumerates of quarter-hours. E.g. "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/google-cloud/protos/google/ads/googleads/v1/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/mobile_device_type.proto deleted file mode 100644 index c4ebc9bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/mobile_device_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing mobile device types. - -// Container for enum describing the types of mobile device. -message MobileDeviceTypeEnum { - // The type of mobile device. - enum MobileDeviceType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile phones. - MOBILE = 2; - - // Tablets. - TABLET = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v1/enums/month_of_year.proto deleted file mode 100644 index 35a53068..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/month_of_year.proto +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MonthOfYearProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of months of the year, e.g., "January". -message MonthOfYearEnum { - // Enumerates months of the year, e.g., "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/google-cloud/protos/google/ads/googleads/v1/enums/mutate_job_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/mutate_job_status.proto deleted file mode 100644 index ec3010ae..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/mutate_job_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing mutate job statuses. - -// Container for enum describing possible mutate job statuses. -message MutateJobStatusEnum { - // The mutate job statuses. - enum MutateJobStatus { - // 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/google-cloud/protos/google/ads/googleads/v1/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/negative_geo_target_type.proto deleted file mode 100644 index 92ea054f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/negative_geo_target_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "NegativeGeoTargetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing negative geo target types. - -// Container for enum describing possible negative geo target types. -message NegativeGeoTargetTypeEnum { - // The possible negative geo target types. - enum NegativeGeoTargetType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Specifies that a user is excluded from seeing the ad if they - // are in, or show interest in, advertiser's excluded locations. - DONT_CARE = 2; - - // Specifies that a user is excluded from seeing the ad if they - // are in advertiser's excluded locations. - LOCATION_OF_PRESENCE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/operating_system_version_operator_type.proto deleted file mode 100644 index 2cfa2e83..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/operating_system_version_operator_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing operating system version operator types. - -// Container for enum describing the type of OS operators. -message OperatingSystemVersionOperatorTypeEnum { - // The type of operating system version. - enum OperatingSystemVersionOperatorType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Equals to the specified version. - EQUALS_TO = 2; - - // Greater than or equals to the specified version. - GREATER_THAN_EQUALS_TO = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto b/google-cloud/protos/google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto deleted file mode 100644 index a51fa76a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PageOnePromotedStrategyGoalProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bidding schemes. - -// Container for enum describing possible strategy goals: where impressions are -// desired to be shown on search result pages. -message PageOnePromotedStrategyGoalEnum { - // Enum describing possible strategy goals. - enum PageOnePromotedStrategyGoal { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // First page on google.com. - FIRST_PAGE = 2; - - // Top slots of the first page on google.com. - FIRST_PAGE_PROMOTED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/parental_status_type.proto deleted file mode 100644 index de8998a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/parental_status_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ParentalStatusTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing parenal status types. - -// Container for enum describing the type of demographic parental statuses. -message ParentalStatusTypeEnum { - // The type of parental statuses (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v1/enums/payment_mode.proto deleted file mode 100644 index 3c772724..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/payment_mode.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PaymentModeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing payment modes. - -// Container for enum describing possible payment modes. -message PaymentModeEnum { - // Enum describing possible payment modes. - enum PaymentMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Pay per click. - CLICKS = 4; - - // Pay per conversion value. This mode is only supported by campaigns with - // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and - // BudgetType.HOTEL_ADS_COMMISSION. - 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/placeholder_type.proto deleted file mode 100644 index e848c421..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/placeholder_type.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PlaceholderTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing feed placeholder types. - -// Container for enum describing possible placeholder types for a feed mapping. -message PlaceholderTypeEnum { - // Possible placeholder types for a feed mapping. - enum PlaceholderType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Lets you show links in your ad to pages from your website, including the - // main landing page. - SITELINK = 2; - - // Lets you attach a phone number to an ad, allowing customers to call - // directly from the ad. - CALL = 3; - - // Lets you provide users with a link that points to a mobile app in - // addition to a website. - APP = 4; - - // Lets you show locations of businesses from your Google My Business - // account 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; - - // Allows you to 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/placement_type.proto deleted file mode 100644 index b507b336..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/placement_type.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PlacementTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing placement types. - -// Container for enum describing possible placement types. -message PlacementTypeEnum { - // Possible placement types for a feed mapping. - enum PlacementType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Websites(e.g. 'www.flowers4sale.com'). - WEBSITE = 2; - - // Mobile application categories(e.g. 'Games'). - MOBILE_APP_CATEGORY = 3; - - // mobile applications(e.g. 'mobileapp::2-com.whatsthewordanswers'). - MOBILE_APPLICATION = 4; - - // YouTube videos(e.g. 'youtube.com/video/wtLJPvx7-ys'). - YOUTUBE_VIDEO = 5; - - // YouTube channels(e.g. 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). - YOUTUBE_CHANNEL = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/policy_approval_status.proto deleted file mode 100644 index 1eb7515f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/policy_approval_status.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing policy approval statuses. - -// Container for enum describing possible policy approval statuses. -message PolicyApprovalStatusEnum { - // The possible policy approval statuses. When there are several approval - // statuses available the most severe one will be used. The order of severity - // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. - enum PolicyApprovalStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Will not serve. - DISAPPROVED = 2; - - // Serves with restrictions. - APPROVED_LIMITED = 3; - - // Serves without restrictions. - APPROVED = 4; - - // Will not serve in targeted countries, but may serve for users who are - // searching for information about the targeted countries. - AREA_OF_INTEREST_ONLY = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/policy_review_status.proto deleted file mode 100644 index 1fbb5042..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/policy_review_status.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyReviewStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing policy review statuses. - -// Container for enum describing possible policy review statuses. -message PolicyReviewStatusEnum { - // The possible policy review statuses. - enum PolicyReviewStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Currently under review. - REVIEW_IN_PROGRESS = 2; - - // Primary review complete. Other reviews may be continuing. - REVIEWED = 3; - - // The resource has been resubmitted for approval or its policy decision has - // been appealed. - UNDER_APPEAL = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_entry_type.proto deleted file mode 100644 index 623b8571..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_entry_type.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEntryTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing policy topic entry types. - -// Container for enum describing possible policy topic entry types. -message PolicyTopicEntryTypeEnum { - // The possible policy topic entry types. - enum PolicyTopicEntryType { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The resource will not be served. - PROHIBITED = 2; - - // The resource will not be served under some circumstances. - LIMITED = 4; - - // The resource cannot serve at all because of the current targeting - // criteria. - FULLY_LIMITED = 8; - - // May be of interest, but does not limit how the resource is served. - DESCRIPTIVE = 5; - - // Could increase coverage beyond normal. - BROADENING = 6; - - // Constrained for all targeted countries, but may serve in other countries - // through area of interest. - AREA_OF_INTEREST_ONLY = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto deleted file mode 100644 index f6796924..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing policy topic evidence destination mismatch url types. - -// Container for enum describing possible policy topic evidence destination -// mismatch url types. -message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { - // The possible policy topic evidence destination mismatch url types. - enum PolicyTopicEvidenceDestinationMismatchUrlType { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The display url. - DISPLAY_URL = 2; - - // The final url. - FINAL_URL = 3; - - // The final mobile url. - FINAL_MOBILE_URL = 4; - - // The tracking url template, with substituted desktop url. - TRACKING_URL = 5; - - // The tracking url template, with substituted mobile url. - MOBILE_TRACKING_URL = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_not_working_device.proto deleted file mode 100644 index 6a2da5fd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/policy_topic_evidence_destination_not_working_device.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing device of destination not working policy topic -// evidence. - -// Container for enum describing possible policy topic evidence destination not -// working devices. -message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { - // The possible policy topic evidence destination not working devices. - enum PolicyTopicEvidenceDestinationNotWorkingDevice { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Landing page doesn't work on desktop device. - DESKTOP = 2; - - // Landing page doesn't work on Android device. - ANDROID = 3; - - // Landing page doesn't work on iOS device. - IOS = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/positive_geo_target_type.proto deleted file mode 100644 index 4143674b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/positive_geo_target_type.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PositiveGeoTargetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing positive geo target types. - -// Container for enum describing possible positive geo target types. -message PositiveGeoTargetTypeEnum { - // The possible positive geo target types. - enum PositiveGeoTargetType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Specifies that an ad is triggered if the user is in, - // or shows interest in, advertiser's targeted locations. - DONT_CARE = 2; - - // Specifies that an ad is triggered if the user - // searches for advertiser's targeted locations. - AREA_OF_INTEREST = 3; - - // Specifies that an ad is triggered if the user is in - // or regularly in advertiser's targeted locations. - LOCATION_OF_PRESENCE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/preferred_content_type.proto deleted file mode 100644 index 8831ea12..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/preferred_content_type.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PreferredContentTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing preferred content criterion type. - -// Container for enumeration of preferred content criterion type. -message PreferredContentTypeEnum { - // Enumerates preferred content criterion type. - enum PreferredContentType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Represents top content on YouTube. - YOUTUBE_TOP_CONTENT = 400; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_qualifier.proto deleted file mode 100644 index 9a3e8766..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_qualifier.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionPriceQualifierProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing price extension price qualifier type. - -// Container for enum describing a price extension price qualifier. -message PriceExtensionPriceQualifierEnum { - // Enums of price extension price qualifier. - enum PriceExtensionPriceQualifier { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // 'From' qualifier for the price. - FROM = 2; - - // 'Up to' qualifier for the price. - UP_TO = 3; - - // 'Average' qualifier for the price. - AVERAGE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_unit.proto deleted file mode 100644 index 865b5a4e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_price_unit.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionPriceUnitProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing price extension price unit. - -// Container for enum describing price extension price unit. -message PriceExtensionPriceUnitEnum { - // Price extension price unit. - enum PriceExtensionPriceUnit { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Per hour. - PER_HOUR = 2; - - // Per day. - PER_DAY = 3; - - // Per week. - PER_WEEK = 4; - - // Per month. - PER_MONTH = 5; - - // Per year. - PER_YEAR = 6; - - // Per night. - PER_NIGHT = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_type.proto deleted file mode 100644 index a3edef13..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/price_extension_type.proto +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing price extension type. - -// Container for enum describing types for a price extension. -message PriceExtensionTypeEnum { - // Price extension type. - enum PriceExtensionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The type for showing a list of brands. - BRANDS = 2; - - // The type for showing a list of events. - EVENTS = 3; - - // The type for showing locations relevant to your business. - LOCATIONS = 4; - - // The type for showing sub-regions or districts within a city or region. - NEIGHBORHOODS = 5; - - // The type for showing a collection of product categories. - PRODUCT_CATEGORIES = 6; - - // The type for showing a collection of related product tiers. - PRODUCT_TIERS = 7; - - // The type for showing a collection of services offered by your business. - SERVICES = 8; - - // The type for showing a collection of service categories. - SERVICE_CATEGORIES = 9; - - // The type for showing a collection of related service tiers. - SERVICE_TIERS = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/price_placeholder_field.proto deleted file mode 100644 index 14e96605..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/price_placeholder_field.proto +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PricePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Price placeholder fields. - -// Values for Price placeholder fields. -message PricePlaceholderFieldEnum { - // Possible values for Price placeholder fields. - enum PricePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The type of your price feed. Must match one of the - // predefined price feed type exactly. - TYPE = 2; - - // Data Type: STRING. The qualifier of each price. Must match one of the - // predefined price qualifiers exactly. - PRICE_QUALIFIER = 3; - - // Data Type: URL. Tracking template for the price feed when using Upgraded - // URLs. - TRACKING_TEMPLATE = 4; - - // Data Type: STRING. Language of the price feed. Must match one of the - // available available locale codes exactly. - LANGUAGE = 5; - - // Data Type: STRING. Final URL suffix for the price feed when using - // parallel tracking. - FINAL_URL_SUFFIX = 6; - - // Data Type: STRING. The header of item 1 of the table. - ITEM_1_HEADER = 100; - - // Data Type: STRING. The description of item 1 of the table. - ITEM_1_DESCRIPTION = 101; - - // Data Type: MONEY. The price (money with currency) of item 1 of the table, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_level.proto deleted file mode 100644 index 4a35b986..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_level.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryLevelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_status.proto deleted file mode 100644 index 5edc363e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_bidding_category_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v1/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_channel.proto deleted file mode 100644 index d4436556..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_channel.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductChannelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_channel_exclusivity.proto deleted file mode 100644 index 839f3aab..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_channel_exclusivity.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductChannelExclusivityProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_condition.proto deleted file mode 100644 index 14cf0560..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_condition.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductConditionProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bidding schemes. - -// Condition of a product offer. -message ProductConditionEnum { - // Enum describing the condition of a product offer. - enum ProductCondition { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The product condition is new. - NEW = 3; - - // The product condition is refurbished. - REFURBISHED = 4; - - // The product condition is used. - USED = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v1/enums/product_type_level.proto deleted file mode 100644 index 7857e18a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/product_type_level.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductTypeLevelProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing bidding schemes. - -// Level of the type of a product offer. -message ProductTypeLevelEnum { - // Enum describing the level of the type of a product offer. - enum ProductTypeLevel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Level 1. - LEVEL1 = 7; - - // Level 2. - LEVEL2 = 8; - - // Level 3. - LEVEL3 = 9; - - // Level 4. - LEVEL4 = 10; - - // Level 5. - LEVEL5 = 11; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_discount_modifier.proto deleted file mode 100644 index 5eaef320..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_discount_modifier.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionExtensionDiscountModifierProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing promotion extension discount modifier. - -// Container for enum describing possible a promotion extension -// discount modifier. -message PromotionExtensionDiscountModifierEnum { - // A promotion extension discount modifier. - enum PromotionExtensionDiscountModifier { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // 'Up to'. - UP_TO = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_occasion.proto deleted file mode 100644 index 824cabde..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/promotion_extension_occasion.proto +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionExtensionOccasionProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing promotion extension occasion. - -// Container for enum describing a promotion extension occasion. -// For more information about the occasions please 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/google-cloud/protos/google/ads/googleads/v1/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/promotion_placeholder_field.proto deleted file mode 100644 index dd9f0d1f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/promotion_placeholder_field.proto +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Promotion placeholder fields. - -// Values for Promotion placeholder fields. -message PromotionPlaceholderFieldEnum { - // Possible values for Promotion placeholder fields. - enum PromotionPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The text that appears on the ad when the extension is - // shown. - PROMOTION_TARGET = 2; - - // Data Type: STRING. Allows you to 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/google-cloud/protos/google/ads/googleads/v1/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v1/enums/proximity_radius_units.proto deleted file mode 100644 index cd6433e3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/proximity_radius_units.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProximityRadiusUnitsProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing proximity radius units. - -// Container for enum describing unit of radius in proximity. -message ProximityRadiusUnitsEnum { - // The unit of radius distance in proximity (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v1/enums/quality_score_bucket.proto deleted file mode 100644 index 397fd222..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/quality_score_bucket.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "QualityScoreBucketProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing quality score buckets. - -// The relative performance compared to other advertisers. -message QualityScoreBucketEnum { - // Enum listing the possible quality score buckets. - enum QualityScoreBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Quality of the creative is below average. - BELOW_AVERAGE = 2; - - // Quality of the creative is average. - AVERAGE = 3; - - // Quality of the creative is above average. - ABOVE_AVERAGE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/real_estate_placeholder_field.proto deleted file mode 100644 index 0d157abe..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/real_estate_placeholder_field.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "RealEstatePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Real Estate placeholder fields. - -// Values for Real Estate placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message RealEstatePlaceholderFieldEnum { - // Possible values for Real Estate placeholder fields. - enum RealEstatePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Unique ID. - LISTING_ID = 2; - - // Data Type: STRING. Main headline with listing name to be shown in dynamic - // ad. - LISTING_NAME = 3; - - // Data Type: STRING. City name to be shown in dynamic ad. - CITY_NAME = 4; - - // Data Type: STRING. Description of listing to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Complete listing address, including postal code. - ADDRESS = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 9; - - // Data Type: STRING. Type of property (house, condo, apartment, etc.) used - // to group like items together for recommendation engine. - PROPERTY_TYPE = 10; - - // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) - // used to group like items together for recommendation engine. - LISTING_TYPE = 11; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 12; - - // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded - // URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/recommendation_type.proto deleted file mode 100644 index 6c3d2e38..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/recommendation_type.proto +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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 budget constrained campaigns. - 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 add callout extensions to a campaign. - CALLOUT_EXTENSION = 11; - - // Recommendation to add sitelink extensions to a campaign. - SITELINK_EXTENSION = 12; - - // Recommendation to add call extensions to a campaign. - CALL_EXTENSION = 13; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/search_engine_results_page_type.proto deleted file mode 100644 index 61bc78dd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/search_engine_results_page_type.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchEngineResultsPageTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing search engine results page types. - -// The type of the search engine results page. -message SearchEngineResultsPageTypeEnum { - // The type of the search engine results page. - enum SearchEngineResultsPageType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Only ads were contained in the search engine results page. - ADS_ONLY = 2; - - // Only organic results were contained in the search engine results page. - ORGANIC_ONLY = 3; - - // Both ads and organic results were contained in the search engine results - // page. - ADS_AND_ORGANIC = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/search_term_match_type.proto deleted file mode 100644 index ccaff2e6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/search_term_match_type.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermMatchTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing search term match types. - -// Container for enum describing match types for a keyword triggering an ad. -message SearchTermMatchTypeEnum { - // Possible match types for a keyword triggering an ad, including variants. - enum SearchTermMatchType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Broad match. - BROAD = 2; - - // Exact match. - EXACT = 3; - - // Phrase match. - PHRASE = 4; - - // Exact match (close variant). - NEAR_EXACT = 5; - - // Phrase match (close variant). - NEAR_PHRASE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/search_term_targeting_status.proto deleted file mode 100644 index ac482c3f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/search_term_targeting_status.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermTargetingStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing search term targeting statuses. - -// Container for enum indicating whether a search term is one of your targeted -// or excluded keywords. -message SearchTermTargetingStatusEnum { - // Indicates whether the search term is one of your targeted or excluded - // keywords. - enum SearchTermTargetingStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Search term is added to targeted keywords. - ADDED = 2; - - // Search term matches a negative keyword. - EXCLUDED = 3; - - // Search term has been both added and excluded. - ADDED_EXCLUDED = 4; - - // Search term is neither targeted nor excluded. - NONE = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/served_asset_field_type.proto deleted file mode 100644 index c1d2ee9b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/served_asset_field_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ServedAssetFieldTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_status.proto deleted file mode 100644 index 42b90ea8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing shared set statuses. - -// Container for enum describing types of shared set statuses. -message SharedSetStatusEnum { - // Enum listing the possible shared set statuses. - enum SharedSetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The shared set is enabled. - ENABLED = 2; - - // The shared set is removed and can no longer be used. - REMOVED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_type.proto deleted file mode 100644 index 61f8aafa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/shared_set_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing shared set types. - -// Container for enum describing types of shared sets. -message SharedSetTypeEnum { - // Enum listing the possible shared set types. - enum SharedSetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // A set of keywords that can be excluded from targeting. - NEGATIVE_KEYWORDS = 2; - - // A set of placements that can be excluded from targeting. - NEGATIVE_PLACEMENTS = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v1/enums/simulation_modification_method.proto deleted file mode 100644 index 308e6b29..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/simulation_modification_method.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SimulationModificationMethodProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing simulation modification methods. - -// Container for enum describing the method by which a simulation modifies -// a field. -message SimulationModificationMethodEnum { - // Enum describing the method by which a simulation modifies a field. - enum SimulationModificationMethod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The values in a simulation were applied to all children of a given - // resource uniformly. Overrides on child resources were not respected. - UNIFORM = 2; - - // The values in a simulation were applied to the given resource. - // Overrides on child resources were respected, and traffic estimates - // do not include these resources. - DEFAULT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/simulation_type.proto deleted file mode 100644 index d0d7bcb4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/simulation_type.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SimulationTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing simulation types. - -// Container for enum describing the field a simulation modifies. -message SimulationTypeEnum { - // Enum describing the field a simulation modifies. - enum SimulationType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The simulation is for a cpc bid. - CPC_BID = 2; - - // The simulation is for a cpv bid. - CPV_BID = 3; - - // The simulation is for a cpa target. - TARGET_CPA = 4; - - // The simulation is for a bid modifier. - BID_MODIFIER = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/sitelink_placeholder_field.proto deleted file mode 100644 index 644464bb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/sitelink_placeholder_field.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SitelinkPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Sitelink placeholder fields. - -// Values for Sitelink placeholder fields. -message SitelinkPlaceholderFieldEnum { - // Possible values for Sitelink placeholder fields. - enum SitelinkPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The link text for your sitelink. - TEXT = 2; - - // Data Type: STRING. First line of the sitelink description. - LINE_1 = 3; - - // Data Type: STRING. Second line of the sitelink description. - LINE_2 = 4; - - // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded - // URLs. - FINAL_URLS = 5; - - // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using - // Upgraded URLs. - FINAL_MOBILE_URLS = 6; - - // Data Type: URL. Tracking template for the sitelink when using Upgraded - // URLs. - TRACKING_URL = 7; - - // Data Type: STRING. Final URL suffix for sitelink when using parallel - // tracking. - FINAL_URL_SUFFIX = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v1/enums/slot.proto deleted file mode 100644 index a2a1fff2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/slot.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SlotProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing slots. - -// Container for enumeration of possible positions of the Ad. -message SlotEnum { - // Enumerates possible positions of the Ad. - enum Slot { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Google search: Side. - SEARCH_SIDE = 2; - - // Google search: Top. - SEARCH_TOP = 3; - - // Google search: Other. - SEARCH_OTHER = 4; - - // Google Display Network. - CONTENT = 5; - - // Search partners: Top. - SEARCH_PARTNER_TOP = 6; - - // Search partners: Other. - SEARCH_PARTNER_OTHER = 7; - - // Cross-network. - MIXED = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/spending_limit_type.proto deleted file mode 100644 index 5d36236a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/spending_limit_type.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SpendingLimitTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing SpendingLimit types. - -// Message describing spending limit types. -message SpendingLimitTypeEnum { - // The possible spending limit types used by certain resources as an - // alternative to absolute money values in micros. - enum SpendingLimitType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Infinite, indicates unlimited spending power. - INFINITE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto deleted file mode 100644 index 4ed19963..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Structured Snippet placeholder fields. - -// Values for Structured Snippet placeholder fields. -message StructuredSnippetPlaceholderFieldEnum { - // Possible values for Structured Snippet placeholder fields. - enum StructuredSnippetPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The category of snippet of your products/services. - // Must match one of the predefined structured snippets headers exactly. - // See - // https://developers.google.com/adwords/api - // /docs/appendix/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/google-cloud/protos/google/ads/googleads/v1/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v1/enums/system_managed_entity_source.proto deleted file mode 100644 index 36732a58..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/system_managed_entity_source.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SystemManagedEntitySourceProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing system managed entity sources. - -// Container for enum describing possible system managed entity sources. -message SystemManagedResourceSourceEnum { - // Enum listing the possible system managed entity sources. - enum SystemManagedResourceSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Generated ad variations experiment ad. - AD_VARIATIONS = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto deleted file mode 100644 index 6c3506a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing TargetCpaOptIn recommendation goals. - -// Container for enum describing goals for TargetCpaOptIn recommendation. -message TargetCpaOptInRecommendationGoalEnum { - // Goal of TargetCpaOptIn recommendation. - enum TargetCpaOptInRecommendationGoal { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Recommendation to set Target CPA to maintain the same cost. - SAME_COST = 2; - - // Recommendation to set Target CPA to maintain the same conversions. - SAME_CONVERSIONS = 3; - - // Recommendation to set Target CPA to maintain the same CPA. - SAME_CPA = 4; - - // Recommendation to set Target CPA to a value that is as close as possible - // to, yet lower than, the actual CPA (computed for past 28 days). - CLOSEST_CPA = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v1/enums/target_impression_share_location.proto deleted file mode 100644 index f29cd439..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/target_impression_share_location.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetImpressionShareLocationProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing target impression share goal. - -// Container for enum describing where on the first search results page the -// automated bidding system should target impressions for the -// TargetImpressionShare bidding strategy. -message TargetImpressionShareLocationEnum { - // Enum describing possible goals. - enum TargetImpressionShareLocation { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Any location on the web page. - ANYWHERE_ON_PAGE = 2; - - // Top box of ads. - TOP_OF_PAGE = 3; - - // Top slot in the top box of ads. - ABSOLUTE_TOP_OF_PAGE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v1/enums/targeting_dimension.proto deleted file mode 100644 index 5263e2ce..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/targeting_dimension.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetingDimensionProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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, e.g. '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, e.g. - // '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/google-cloud/protos/google/ads/googleads/v1/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/time_type.proto deleted file mode 100644 index fa462f1f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/time_type.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TimeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing TimeType types. - -// Message describing time types. -message TimeTypeEnum { - // The possible time types used by certain resources as an alternative to - // absolute timestamps. - enum TimeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // As soon as possible. - NOW = 2; - - // An infinite point in the future. - FOREVER = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_page_format.proto deleted file mode 100644 index 8991c7c9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_page_format.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TrackingCodePageFormatProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum describing the format of the web page where the tracking -// tag and snippet will be installed. -message TrackingCodePageFormatEnum { - // The format of the web page where the tracking tag and snippet will be - // installed. - enum TrackingCodePageFormat { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Standard HTML page format. - HTML = 2; - - // Google AMP page format. - AMP = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_type.proto deleted file mode 100644 index af214ec1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/tracking_code_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TrackingCodeTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Container for enum describing the type of the generated tag snippets for -// tracking conversions. -message TrackingCodeTypeEnum { - // The type of the generated tag snippets for tracking conversions. - enum TrackingCodeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The snippet that is fired as a result of a website page loading. - WEBPAGE = 2; - - // The snippet contains a JavaScript function which fires the tag. This - // function is typically called from an onClick handler added to a link or - // button element on the page. - WEBPAGE_ONCLICK = 3; - - // For embedding on a mobile webpage. The snippet contains a JavaScript - // function which fires the tag. - CLICK_TO_CALL = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v1/enums/travel_placeholder_field.proto deleted file mode 100644 index 708f063f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/travel_placeholder_field.proto +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TravelPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing Travel placeholder fields. - -// Values for Travel placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message TravelPlaceholderFieldEnum { - // Possible values for Travel placeholder fields. - enum TravelPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Destination id. Example: PAR, LON. - // For feed items that only have destination id, destination id must be a - // unique key. For feed items that have both destination id and origin id, - // then the combination must be a unique key. - DESTINATION_ID = 2; - - // Data Type: STRING. Origin id. Example: PAR, LON. - // Combination of DESTINATION_ID and ORIGIN_ID must be - // unique per offer. - ORIGIN_ID = 3; - - // Data Type: STRING. Required. Main headline with name to be shown in - // dynamic ad. - TITLE = 4; - - // Data Type: STRING. The destination name. Shorter names are recommended. - DESTINATION_NAME = 5; - - // Data Type: STRING. Origin name. Shorter names are recommended. - ORIGIN_NAME = 6; - - // Data Type: STRING. Price to be shown in the ad. Highly recommended for - // dynamic ads. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: STRING. Category of travel offer used to group like items - // together for recommendation engine. - CATEGORY = 12; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 13; - - // Data Type: STRING. Address of travel offer, including postal code. - DESTINATION_ADDRESS = 14; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v1/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_interest_taxonomy_type.proto deleted file mode 100644 index b66e485f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_interest_taxonomy_type.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestTaxonomyTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing the UserInterest taxonomy type - -// Message describing a UserInterestTaxonomyType. -message UserInterestTaxonomyTypeEnum { - // Enum containing the possible UserInterestTaxonomyTypes. - enum UserInterestTaxonomyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The affinity for this user interest. - AFFINITY = 2; - - // The market for this user interest. - IN_MARKET = 3; - - // Users known to have installed applications in the specified categories. - MOBILE_APP_INSTALL_USER = 4; - - // The geographical location of the interest-based vertical. - VERTICAL_GEO = 5; - - // User interest criteria for new smart phone users. - NEW_SMART_PHONE_USER = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_access_status.proto deleted file mode 100644 index 3ee9c913..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_access_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListAccessStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing user list access status. - -// Indicates if this client still has access to the list. -message UserListAccessStatusEnum { - // Enum containing possible user list access statuses. - enum UserListAccessStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The access is enabled. - ENABLED = 2; - - // The access is disabled. - DISABLED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_closing_reason.proto deleted file mode 100644 index 9e9293a8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_closing_reason.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListClosingReasonProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing user list closing reason. - -// Indicates the reason why the userlist was closed. -// This enum is only used when a list is auto-closed by the system. -message UserListClosingReasonEnum { - // Enum describing possible user list closing reasons. - enum UserListClosingReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The userlist was closed because of not being used for over one year. - UNUSED = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_combined_rule_operator.proto deleted file mode 100644 index a3699f81..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_combined_rule_operator.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListCombinedRuleOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Logical operator connecting two rules. -message UserListCombinedRuleOperatorEnum { - // Enum describing possible user list combined rule operators. - enum UserListCombinedRuleOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // A AND B. - AND = 2; - - // A AND NOT B. - AND_NOT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_crm_data_source_type.proto deleted file mode 100644 index cdaf2534..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_crm_data_source_type.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListCrmDataSourceTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Indicates source of Crm upload data. -message UserListCrmDataSourceTypeEnum { - // Enum describing possible user list crm data source type. - enum UserListCrmDataSourceType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The uploaded data is first-party data. - FIRST_PARTY = 2; - - // The uploaded data is from a third-party credit bureau. - THIRD_PARTY_CREDIT_BUREAU = 3; - - // The uploaded data is from a third-party voter file. - THIRD_PARTY_VOTER_FILE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_date_rule_item_operator.proto deleted file mode 100644 index 043b55be..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_date_rule_item_operator.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListDateRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Supported rule operator for date type. -message UserListDateRuleItemOperatorEnum { - // Enum describing possible user list date rule item operators. - enum UserListDateRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Equals. - EQUALS = 2; - - // Not Equals. - NOT_EQUALS = 3; - - // Before. - BEFORE = 4; - - // After. - AFTER = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_logical_rule_operator.proto deleted file mode 100644 index c08003d3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_logical_rule_operator.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListLogicalRuleOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// The logical operator of the rule. -message UserListLogicalRuleOperatorEnum { - // Enum describing possible user list logical rule operators. - enum UserListLogicalRuleOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // And - all of the operands. - ALL = 2; - - // Or - at least one of the operands. - ANY = 3; - - // Not - none of the operands. - NONE = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_membership_status.proto deleted file mode 100644 index 6b6001b1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_membership_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListMembershipStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing user list membership status. - -// Membership status of this user list. Indicates whether a user list is open -// or active. Only open user lists can accumulate more users and can be used for -// targeting. -message UserListMembershipStatusEnum { - // Enum containing possible user list membership statuses. - enum UserListMembershipStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Open status - List is accruing members and can be targeted to. - OPEN = 2; - - // Closed status - No new members being added. Cannot be used for targeting. - CLOSED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_number_rule_item_operator.proto deleted file mode 100644 index 3b91468a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_number_rule_item_operator.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListNumberRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Supported rule operator for number type. -message UserListNumberRuleItemOperatorEnum { - // Enum describing possible user list number rule item operators. - enum UserListNumberRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Greater than. - GREATER_THAN = 2; - - // Greater than or equal. - GREATER_THAN_OR_EQUAL = 3; - - // Equals. - EQUALS = 4; - - // Not equals. - NOT_EQUALS = 5; - - // Less than. - LESS_THAN = 6; - - // Less than or equal. - LESS_THAN_OR_EQUAL = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_prepopulation_status.proto deleted file mode 100644 index 290e6f8a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_prepopulation_status.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListPrepopulationStatusProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Indicates status of prepopulation based on the rule. -message UserListPrepopulationStatusEnum { - // Enum describing possible user list prepopulation status. - enum UserListPrepopulationStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Prepopoulation is being requested. - REQUESTED = 2; - - // Prepopulation is finished. - FINISHED = 3; - - // Prepopulation failed. - FAILED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_rule_type.proto deleted file mode 100644 index 6444d4d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_rule_type.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListRuleTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Rule based user list rule type. -message UserListRuleTypeEnum { - // Enum describing possible user list rule types. - enum UserListRuleType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conjunctive normal form. - AND_OF_ORS = 2; - - // Disjunctive normal form. - OR_OF_ANDS = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_size_range.proto deleted file mode 100644 index 03d663fd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_size_range.proto +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListSizeRangeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing user list size range. - -// Size range in terms of number of users of a UserList. -message UserListSizeRangeEnum { - // Enum containing possible user list size ranges. - enum UserListSizeRange { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // User list has less than 500 users. - LESS_THAN_FIVE_HUNDRED = 2; - - // User list has number of users in range of 500 to 1000. - LESS_THAN_ONE_THOUSAND = 3; - - // User list has number of users in range of 1000 to 10000. - ONE_THOUSAND_TO_TEN_THOUSAND = 4; - - // User list has number of users in range of 10000 to 50000. - TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; - - // User list has number of users in range of 50000 to 100000. - FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; - - // User list has number of users in range of 100000 to 300000. - ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; - - // User list has number of users in range of 300000 to 500000. - THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; - - // User list has number of users in range of 500000 to 1 million. - FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; - - // User list has number of users in range of 1 to 2 millions. - ONE_MILLION_TO_TWO_MILLION = 10; - - // User list has number of users in range of 2 to 3 millions. - TWO_MILLION_TO_THREE_MILLION = 11; - - // User list has number of users in range of 3 to 5 millions. - THREE_MILLION_TO_FIVE_MILLION = 12; - - // User list has number of users in range of 5 to 10 millions. - FIVE_MILLION_TO_TEN_MILLION = 13; - - // User list has number of users in range of 10 to 20 millions. - TEN_MILLION_TO_TWENTY_MILLION = 14; - - // User list has number of users in range of 20 to 30 millions. - TWENTY_MILLION_TO_THIRTY_MILLION = 15; - - // User list has number of users in range of 30 to 50 millions. - THIRTY_MILLION_TO_FIFTY_MILLION = 16; - - // User list has over 50 million users. - OVER_FIFTY_MILLION = 17; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_string_rule_item_operator.proto deleted file mode 100644 index e6d16c11..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_string_rule_item_operator.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListStringRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Supported rule operator for string type. -message UserListStringRuleItemOperatorEnum { - // Enum describing possible user list string rule item operators. - enum UserListStringRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Contains. - CONTAINS = 2; - - // Equals. - EQUALS = 3; - - // Starts with. - STARTS_WITH = 4; - - // Ends with. - ENDS_WITH = 5; - - // Not equals. - NOT_EQUALS = 6; - - // Not contains. - NOT_CONTAINS = 7; - - // Not starts with. - NOT_STARTS_WITH = 8; - - // Not ends with. - NOT_ENDS_WITH = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v1/enums/user_list_type.proto deleted file mode 100644 index ba9f95b0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/user_list_type.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListTypeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::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/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto deleted file mode 100644 index 46d4ec07..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing vanity pharma display url modes. - -// The display mode for vanity pharma URLs. -message VanityPharmaDisplayUrlModeEnum { - // Enum describing possible display modes for vanity pharma URLs. - enum VanityPharmaDisplayUrlMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Replace vanity pharma URL with manufacturer website url. - MANUFACTURER_WEBSITE_URL = 2; - - // Replace vanity pharma URL with description of the website. - WEBSITE_DESCRIPTION = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_text.proto deleted file mode 100644 index bcddf820..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/vanity_pharma_text.proto +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "VanityPharmaTextProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing vanity pharma texts. - -// The text that will be displayed in display URL of the text ad when website -// description is the selected display mode for vanity pharma URLs. -message VanityPharmaTextEnum { - // Enum describing possible text. - enum VanityPharmaText { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Prescription treatment website with website content in English. - PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; - - // Prescription treatment website with website content in Spanish - // (Sitio de tratamientos con receta). - PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; - - // Prescription device website with website content in English. - PRESCRIPTION_DEVICE_WEBSITE_EN = 4; - - // Prescription device website with website content in Spanish (Sitio de - // dispositivos con receta). - PRESCRIPTION_DEVICE_WEBSITE_ES = 5; - - // Medical device website with website content in English. - MEDICAL_DEVICE_WEBSITE_EN = 6; - - // Medical device website with website content in Spanish (Sitio de - // dispositivos médicos). - MEDICAL_DEVICE_WEBSITE_ES = 7; - - // Preventative treatment website with website content in English. - PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; - - // Preventative treatment website with website content in Spanish (Sitio de - // tratamientos preventivos). - PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; - - // Prescription contraception website with website content in English. - PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; - - // Prescription contraception website with website content in Spanish (Sitio - // de anticonceptivos con receta). - PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; - - // Prescription vaccine website with website content in English. - PRESCRIPTION_VACCINE_WEBSITE_EN = 12; - - // Prescription vaccine website with website content in Spanish (Sitio de - // vacunas con receta). - PRESCRIPTION_VACCINE_WEBSITE_ES = 13; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operand.proto deleted file mode 100644 index 8910e27e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operand.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "WebpageConditionOperandProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing webpage condition operand. - -// Container for enum describing webpage condition operand in webpage criterion. -message WebpageConditionOperandEnum { - // The webpage condition operand in webpage criterion. - enum WebpageConditionOperand { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Operand denoting a webpage URL targeting condition. - URL = 2; - - // Operand denoting a webpage category targeting condition. - CATEGORY = 3; - - // Operand denoting a webpage title targeting condition. - PAGE_TITLE = 4; - - // Operand denoting a webpage content targeting condition. - PAGE_CONTENT = 5; - - // Operand denoting a webpage custom label targeting condition. - CUSTOM_LABEL = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operator.proto deleted file mode 100644 index 41a70fb5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/enums/webpage_condition_operator.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "WebpageConditionOperatorProto"; -option java_package = "com.google.ads.googleads.v1.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V1::Enums"; - -// Proto file describing webpage condition operator. - -// Container for enum describing webpage condition operator in webpage -// criterion. -message WebpageConditionOperatorEnum { - // The webpage condition operator in webpage criterion. - enum WebpageConditionOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The argument web condition is equal to the compared web condition. - EQUALS = 2; - - // The argument web condition is part of the compared web condition. - CONTAINS = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/account_budget_proposal_error.proto deleted file mode 100644 index 9d7ff7b8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/account_budget_proposal_error.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing account budget proposal errors. - -// Container for enum describing possible account budget proposal errors. -message AccountBudgetProposalErrorEnum { - // Enum describing possible account budget proposal errors. - enum AccountBudgetProposalError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The field mask must be empty for create/end/remove proposals. - FIELD_MASK_NOT_ALLOWED = 2; - - // The field cannot be set because of the proposal type. - IMMUTABLE_FIELD = 3; - - // The field is required because of the proposal type. - REQUIRED_FIELD_MISSING = 4; - - // Proposals that have been approved cannot be cancelled. - CANNOT_CANCEL_APPROVED_PROPOSAL = 5; - - // Budgets that haven't been approved cannot be removed. - CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; - - // Budgets that are currently running cannot be removed. - CANNOT_REMOVE_RUNNING_BUDGET = 7; - - // Budgets that haven't been approved cannot be truncated. - CANNOT_END_UNAPPROVED_BUDGET = 8; - - // Only budgets that are currently running can be truncated. - CANNOT_END_INACTIVE_BUDGET = 9; - - // All budgets must have names. - BUDGET_NAME_REQUIRED = 10; - - // Expired budgets cannot be edited after a sufficient amount of time has - // passed. - CANNOT_UPDATE_OLD_BUDGET = 11; - - // It is not permissible a propose a new budget that ends in the past. - CANNOT_END_IN_PAST = 12; - - // An expired budget cannot be extended to overlap with the running budget. - CANNOT_EXTEND_END_TIME = 13; - - // A purchase order number is required. - PURCHASE_ORDER_NUMBER_REQUIRED = 14; - - // Budgets that have a pending update cannot be updated. - PENDING_UPDATE_PROPOSAL_EXISTS = 15; - - // Cannot propose more than one budget when the corresponding billing setup - // hasn't been approved. - MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; - - // Cannot update the start time of a budget that has already started. - CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; - - // Cannot update the spending limit of a budget with an amount lower than - // what has already been spent. - SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; - - // Cannot propose a budget update without actually changing any fields. - UPDATE_IS_NO_OP = 19; - - // The end time must come after the start time. - END_TIME_MUST_FOLLOW_START_TIME = 20; - - // The budget's date range must fall within the date range of its billing - // setup. - BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; - - // The user is not authorized to mutate budgets for the given billing setup. - NOT_AUTHORIZED = 22; - - // Mutates are not allowed for the given billing setup. - INVALID_BILLING_SETUP = 23; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_customizer_error.proto deleted file mode 100644 index 6b0bfc91..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_customizer_error.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdCustomizerErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad customizer errors. - -// Container for enum describing possible ad customizer errors. -message AdCustomizerErrorEnum { - // Enum describing possible ad customizer errors. - enum AdCustomizerError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid date argument in countdown function. - COUNTDOWN_INVALID_DATE_FORMAT = 2; - - // Countdown end date is in the past. - COUNTDOWN_DATE_IN_PAST = 3; - - // Invalid locale string in countdown function. - COUNTDOWN_INVALID_LOCALE = 4; - - // Days-before argument to countdown function is not positive. - COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; - - // A user list referenced in an IF function does not exist. - UNKNOWN_USER_LIST = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_error.proto deleted file mode 100644 index 3fa72c51..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_error.proto +++ /dev/null @@ -1,453 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad errors. - -// Container for enum describing possible ad errors. -message AdErrorEnum { - // Enum describing possible ad errors. - enum AdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Ad customizers are not supported for ad type. - AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; - - // Estimating character sizes the string is too long. - APPROXIMATELY_TOO_LONG = 3; - - // Estimating character sizes the string is too short. - APPROXIMATELY_TOO_SHORT = 4; - - // There is a problem with the snippet. - BAD_SNIPPET = 5; - - // Cannot modify an ad. - CANNOT_MODIFY_AD = 6; - - // business name and url cannot be set at the same time - CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; - - // The specified field is incompatible with this ad's type or settings. - CANNOT_SET_FIELD = 8; - - // Cannot set field when originAdId is set. - CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; - - // Cannot set field when an existing ad id is set for sharing. - CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; - - // Cannot set allowFlexibleColor false if no color is provided by user. - CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; - - // When user select native, no color control is allowed because we will - // always respect publisher color for native format serving. - CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; - - // Cannot specify a url for the ad type - CANNOT_SET_URL = 13; - - // Cannot specify a tracking or mobile url without also setting final urls - CANNOT_SET_WITHOUT_FINAL_URLS = 14; - - // Cannot specify a legacy url and a final url simultaneously - CANNOT_SET_WITH_FINAL_URLS = 15; - - // Cannot specify a urls in UrlData and in template fields simultaneously. - CANNOT_SET_WITH_URL_DATA = 17; - - // This operator cannot be used with a subclass of Ad. - CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; - - // Customer is not approved for mobile ads. - CUSTOMER_NOT_APPROVED_MOBILEADS = 19; - - // Customer is not approved for 3PAS richmedia ads. - CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; - - // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. - CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; - - // Not an eligible customer - CUSTOMER_NOT_ELIGIBLE = 22; - - // Customer is not eligible for updating beacon url - CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; - - // There already exists an ad with the same dimensions in the union. - DIMENSION_ALREADY_IN_UNION = 24; - - // Ad's dimension must be set before setting union dimension. - DIMENSION_MUST_BE_SET = 25; - - // Ad's dimension must be included in the union dimensions. - DIMENSION_NOT_IN_UNION = 26; - - // Display Url cannot be specified (applies to Ad Exchange Ads) - DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; - - // Telephone number contains invalid characters or invalid format. Please - // re-enter your number using digits (0-9), dashes (-), and parentheses - // only. - DOMESTIC_PHONE_NUMBER_FORMAT = 28; - - // Emergency telephone numbers are not allowed. Please 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. Please 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 (e.g. {lpurl}) - MISSING_DESTINATION_URL_TAG = 65; - - // The tracking url template of ExpandedDynamicSearchAd must contain at - // least one tag. (e.g. {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 - // (e.g. 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. Please 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_ad_error.proto deleted file mode 100644 index 5e60f631..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_ad_error.proto +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad group ad errors. - -// Container for enum describing possible ad group ad errors. -message AdGroupAdErrorEnum { - // Enum describing possible ad group ad errors. - enum AdGroupAdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No link found between the adgroup ad and the label. - AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; - - // The label has already been attached to the adgroup ad. - AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; - - // The specified ad was not found in the adgroup - AD_NOT_UNDER_ADGROUP = 4; - - // Removed ads may not be modified - CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; - - // An ad of this type is deprecated and cannot be created. Only deletions - // are permitted. - CANNOT_CREATE_DEPRECATED_ADS = 6; - - // Text ads are deprecated and cannot be created. Use expanded text ads - // instead. - CANNOT_CREATE_TEXT_ADS = 7; - - // A required field was not specified or is an empty string. - EMPTY_FIELD = 8; - - // An ad may only be modified once per call - RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto deleted file mode 100644 index 19a30b48..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad group bid modifier errors. - -// Container for enum describing possible ad group bid modifier errors. -message AdGroupBidModifierErrorEnum { - // Enum describing possible ad group bid modifier errors. - enum AdGroupBidModifierError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The criterion ID does not support bid modification. - CRITERION_ID_NOT_SUPPORTED = 2; - - // Cannot override the bid modifier for the given criterion ID if the parent - // campaign is opted out of the same criterion. - CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_criterion_error.proto deleted file mode 100644 index 151d3f6f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_criterion_error.proto +++ /dev/null @@ -1,164 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad group criterion errors. - -// Container for enum describing possible ad group criterion errors. -message AdGroupCriterionErrorEnum { - // Enum describing possible ad group criterion errors. - enum AdGroupCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No link found between the AdGroupCriterion and the label. - AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; - - // The label has already been attached to the AdGroupCriterion. - AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; - - // Negative AdGroupCriterion cannot have labels. - CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; - - // Too many operations for a single call. - TOO_MANY_OPERATIONS = 5; - - // Negative ad group criteria are not updateable. - CANT_UPDATE_NEGATIVE = 6; - - // Concrete type of criterion (keyword v.s. placement) is required for ADD - // and SET operations. - CONCRETE_TYPE_REQUIRED = 7; - - // Bid is incompatible with ad group's bidding settings. - BID_INCOMPATIBLE_WITH_ADGROUP = 8; - - // Cannot target and exclude the same criterion at once. - CANNOT_TARGET_AND_EXCLUDE = 9; - - // The URL of a placement is invalid. - ILLEGAL_URL = 10; - - // Keyword text was invalid. - INVALID_KEYWORD_TEXT = 11; - - // Destination URL was invalid. - INVALID_DESTINATION_URL = 12; - - // The destination url must contain at least one tag (e.g. {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. - // Please 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; - - // Ad group is invalid due to the listing groups it contains. - INVALID_LISTING_GROUP_HIERARCHY = 39; - - // Listing group unit cannot have children. - LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 40; - - // Subdivided listing groups must have an "others" case. - LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 41; - - // Dimension type of listing group must be the same as that of its siblings. - LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 42; - - // Listing group cannot be added to the ad group because it already exists. - LISTING_GROUP_ALREADY_EXISTS = 43; - - // Listing group referenced in the operation was not found in the ad group. - LISTING_GROUP_DOES_NOT_EXIST = 44; - - // Recursive removal failed because listing group subdivision is being - // created or modified in this request. - LISTING_GROUP_CANNOT_BE_REMOVED = 45; - - // Listing group type is not allowed for specified ad group criterion type. - INVALID_LISTING_GROUP_TYPE = 46; - - // Listing group in an ADD operation specifies a non temporary criterion id. - LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 47; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_error.proto deleted file mode 100644 index d755ca67..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_error.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad group errors. - -// Container for enum describing possible ad group errors. -message AdGroupErrorEnum { - // Enum describing possible ad group errors. - enum AdGroupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // AdGroup with the same name already exists for the campaign. - DUPLICATE_ADGROUP_NAME = 2; - - // AdGroup name is not valid. - INVALID_ADGROUP_NAME = 3; - - // Advertiser is not allowed to target sites or set site bids that are not - // on the Google Search Network. - ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; - - // Bid amount is too big. - BID_TOO_BIG = 6; - - // AdGroup bid does not match the campaign's bidding strategy. - BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; - - // AdGroup name is required for Add. - MISSING_ADGROUP_NAME = 8; - - // No link found between the ad group and the label. - ADGROUP_LABEL_DOES_NOT_EXIST = 9; - - // The label has already been attached to the ad group. - ADGROUP_LABEL_ALREADY_EXISTS = 10; - - // The CriterionTypeGroup is not supported for the content bid dimension. - INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; - - // The ad group type is not compatible with the campaign channel type. - AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; - - // The ad group type is not supported in the country of sale of the - // campaign. - ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; - - // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to - // campaigns that have DynamicSearchAdsSetting attached. - CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_feed_error.proto deleted file mode 100644 index 85781dff..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_group_feed_error.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad group feed errors. - -// Container for enum describing possible ad group feed errors. -message AdGroupFeedErrorEnum { - // Enum describing possible ad group feed errors. - enum AdGroupFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this ad group and place holder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 3; - - // The AdGroupFeed already exists. UPDATE operation should be used to modify - // the existing AdGroupFeed. - ADGROUP_FEED_ALREADY_EXISTS = 4; - - // Cannot operate on removed AdGroupFeed. - CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 6; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; - - // Location AdGroupFeeds cannot be created unless there is a location - // CustomerFeed for the specified feed. - NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_parameter_error.proto deleted file mode 100644 index f4eeac96..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_parameter_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad parameter errors. - -// Container for enum describing possible ad parameter errors. -message AdParameterErrorEnum { - // Enum describing possible ad parameter errors. - enum AdParameterError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The ad group criterion must be a keyword criterion. - AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; - - // The insertion text is invalid. - INVALID_INSERTION_TEXT_FORMAT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/ad_sharing_error.proto deleted file mode 100644 index 8e0c66ac..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/ad_sharing_error.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdSharingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ad sharing errors. - -// Container for enum describing possible ad sharing errors. -message AdSharingErrorEnum { - // Enum describing possible ad sharing errors. - enum AdSharingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Error resulting in attempting to add an Ad to an AdGroup that already - // contains the Ad. - AD_GROUP_ALREADY_CONTAINS_AD = 2; - - // Ad is not compatible with the AdGroup it is being shared with. - INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; - - // Cannot add AdGroupAd on inactive Ad. - CANNOT_SHARE_INACTIVE_AD = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/adx_error.proto deleted file mode 100644 index ee161304..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/adx_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdxErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing adx errors. - -// Container for enum describing possible adx errors. -message AdxErrorEnum { - // Enum describing possible adx errors. - enum AdxError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Attempt to use non-AdX feature by AdX customer. - UNSUPPORTED_FEATURE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/asset_error.proto deleted file mode 100644 index dcdb4dee..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/asset_error.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AssetErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing asset errors. - -// Container for enum describing possible asset errors. -message AssetErrorEnum { - // Enum describing possible asset errors. - enum AssetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The customer is not whitelisted for this asset type. - CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/authentication_error.proto deleted file mode 100644 index 093322ab..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/authentication_error.proto +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AuthenticationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing authentication errors. - -// Container for enum describing possible authentication errors. -message AuthenticationErrorEnum { - // Enum describing possible authentication errors. - enum AuthenticationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Authentication of the request failed. - AUTHENTICATION_ERROR = 2; - - // Client Customer Id is not a number. - CLIENT_CUSTOMER_ID_INVALID = 5; - - // No customer found for the provided customer id. - CUSTOMER_NOT_FOUND = 8; - - // Client's Google Account is deleted. - GOOGLE_ACCOUNT_DELETED = 9; - - // Google account login token in the cookie is invalid. - GOOGLE_ACCOUNT_COOKIE_INVALID = 10; - - // A problem occurred during Google account authentication. - GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; - - // The user in the google account login token does not match the UserId 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/authorization_error.proto deleted file mode 100644 index 8eecb446..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/authorization_error.proto +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AuthorizationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing authorization errors. - -// Container for enum describing possible authorization errors. -message AuthorizationErrorEnum { - // Enum describing possible authorization errors. - enum AuthorizationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // User doesn't have permission to access customer. Note: If you're - // accessing a client customer, the manager's customer id must be set in the - // 'login-customer-id' header. See - // https://developers.google.com/google-ads/api/docs/concepts/ - // call-structure#login-customer-id - USER_PERMISSION_DENIED = 2; - - // The developer token is not whitelisted. - DEVELOPER_TOKEN_NOT_WHITELISTED = 3; - - // 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 - // (e.g., ADD, UPDATE, REMOVE) on the resource or call a method. - ACTION_NOT_PERMITTED = 7; - - // Signup not complete. - INCOMPLETE_SIGNUP = 8; - - // The customer can't be used because it isn't enabled. - 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 not approved. Non-approved developer tokens can - // only be used with test accounts. - DEVELOPER_TOKEN_NOT_APPROVED = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/bidding_error.proto deleted file mode 100644 index 84789fe5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/bidding_error.proto +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BiddingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing bidding errors. - -// Container for enum describing possible bidding errors. -message BiddingErrorEnum { - // Enum describing possible bidding errors. - enum BiddingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot transition to new bidding strategy. - BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; - - // Cannot attach bidding strategy to campaign. - CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; - - // Bidding strategy is not supported or cannot be used as anonymous. - INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; - - // The type does not match the named strategy's type. - INVALID_BIDDING_STRATEGY_TYPE = 14; - - // The bid is invalid. - INVALID_BID = 17; - - // Bidding strategy is not available for the account type. - BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; - - // Conversion tracking is not enabled for the campaign for VBB transition. - CONVERSION_TRACKING_NOT_ENABLED = 19; - - // Not enough conversions tracked for VBB transitions. - NOT_ENOUGH_CONVERSIONS = 20; - - // 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 - // whitelisted customers 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; - - // The field is not compatible with the budget type. - NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; - - // The field is not compatible with the bidding strategy type. - NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/bidding_strategy_error.proto deleted file mode 100644 index 8489fb4f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/bidding_strategy_error.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing bidding strategy errors. - -// Container for enum describing possible bidding strategy errors. -message BiddingStrategyErrorEnum { - // Enum describing possible bidding strategy errors. - enum BiddingStrategyError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Each bidding strategy must have a unique name. - DUPLICATE_NAME = 2; - - // Bidding strategy type is immutable. - CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; - - // Only bidding strategies not linked to campaigns, adgroups or adgroup - // criteria can be removed. - CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; - - // The specified bidding strategy is not supported. - BIDDING_STRATEGY_NOT_SUPPORTED = 5; - - // The bidding strategy is incompatible with the campaign's bidding - // strategy goal type. - INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/billing_setup_error.proto deleted file mode 100644 index 4298be4c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/billing_setup_error.proto +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing billing setup errors. - -// Container for enum describing possible billing setup errors. -message BillingSetupErrorEnum { - // Enum describing possible billing setup errors. - enum BillingSetupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot use 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, ie. a billing known to Payments. - 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; - - // Billing Setup creation failed because Payments could not find the - // requested Payments profile. - PAYMENTS_PROFILE_NOT_FOUND = 13; - - // Billing Setup creation failed because Payments could not find the - // requested Payments account. - PAYMENTS_ACCOUNT_NOT_FOUND = 14; - - // Billing Setup creation failed because Payments considers requested - // Payments profile ineligible. - PAYMENTS_PROFILE_INELIGIBLE = 15; - - // Billing Setup creation failed because Payments considers requested - // Payments account ineligible. - PAYMENTS_ACCOUNT_INELIGIBLE = 16; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_budget_error.proto deleted file mode 100644 index b4faaf74..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_budget_error.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign budget errors. - -// Container for enum describing possible campaign budget errors. -message CampaignBudgetErrorEnum { - // Enum describing possible campaign budget errors. - enum CampaignBudgetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The campaign budget cannot be shared. - CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; - - // The requested campaign budget no longer exists. - CAMPAIGN_BUDGET_REMOVED = 2; - - // The campaign budget is associated with at least one campaign, and so the - // campaign budget cannot be removed. - CAMPAIGN_BUDGET_IN_USE = 3; - - // Customer is not whitelisted 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_criterion_error.proto deleted file mode 100644 index 98a955f2..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_criterion_error.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign criterion errors. - -// Container for enum describing possible campaign criterion errors. -message CampaignCriterionErrorEnum { - // Enum describing possible campaign criterion errors. - enum CampaignCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Concrete type of criterion (keyword v.s. placement) is required for - // CREATE and UPDATE operations. - CONCRETE_TYPE_REQUIRED = 2; - - // Invalid placement URL. - INVALID_PLACEMENT_URL = 3; - - // Criteria type can not be excluded for the campaign by the customer. like - // AOL account type cannot target site type criteria - CANNOT_EXCLUDE_CRITERIA_TYPE = 4; - - // Cannot set the campaign criterion status for this criteria type. - CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; - - // Cannot set the campaign criterion status for an excluded criteria. - CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; - - // Cannot target and exclude the same criterion. - CANNOT_TARGET_AND_EXCLUDE = 7; - - // The mutate contained too many operations. - TOO_MANY_OPERATIONS = 8; - - // This operator cannot be applied to a criterion of this type. - OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; - - // The Shopping campaign sales country is not supported for - // ProductSalesChannel targeting. - SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; - - // The existing field can't be updated with CREATE operation. It can be - // updated with UPDATE operation only. - CANNOT_ADD_EXISTING_FIELD = 11; - - // Negative criteria are immutable, so updates are not allowed. - CANNOT_UPDATE_NEGATIVE_CRITERION = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_draft_error.proto deleted file mode 100644 index 0835a9d5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_draft_error.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign draft errors. - -// Container for enum describing possible campaign draft errors. -message CampaignDraftErrorEnum { - // Enum describing possible campaign draft errors. - enum CampaignDraftError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A draft with this name already exists for this campaign. - DUPLICATE_DRAFT_NAME = 2; - - // The draft is removed and cannot be transitioned to another status. - INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; - - // The draft has been promoted and cannot be transitioned to the specified - // status. - INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; - - // The draft has failed to be promoted and cannot be transitioned to the - // specified status. - INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; - - // This customer is not allowed to create drafts. - CUSTOMER_CANNOT_CREATE_DRAFT = 6; - - // This campaign is not allowed to create drafts. - CAMPAIGN_CANNOT_CREATE_DRAFT = 7; - - // This modification cannot be made on a draft. - INVALID_DRAFT_CHANGE = 8; - - // The draft cannot be transitioned to the specified status from its - // current status. - INVALID_STATUS_TRANSITION = 9; - - // The campaign has reached the maximum number of drafts that can be created - // for a campaign throughout its lifetime. No additional drafts can be - // created for this campaign. Removed drafts also count towards this limit. - MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; - - // ListAsyncErrors was called without first promoting the draft. - LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_error.proto deleted file mode 100644 index 16c759fb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_error.proto +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign errors. - -// Container for enum describing possible campaign errors. -message CampaignErrorEnum { - // Enum describing possible campaign errors. - enum CampaignError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot target content network. - CANNOT_TARGET_CONTENT_NETWORK = 3; - - // Cannot target search network. - CANNOT_TARGET_SEARCH_NETWORK = 4; - - // Cannot cover search network without google search network. - CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; - - // Cannot target Google Search network for a CPM campaign. - CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; - - // Must target at least one network. - CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; - - // Only some Google partners are allowed to target partner search network. - CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; - - // Cannot target content network only as campaign has criteria-level bidding - // strategy. - CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; - - // Cannot modify the start or end date such that the campaign duration would - // not contain the durations of all runnable trials. - CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; - - // Cannot modify dates, budget or campaign name 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. An 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; - - // A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a - // UniversalAppCampaignSetting specified. - MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_experiment_error.proto deleted file mode 100644 index c2f38cf3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_experiment_error.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign experiment errors. - -// Container for enum describing possible campaign experiment errors. -message CampaignExperimentErrorEnum { - // Enum describing possible campaign experiment errors. - enum CampaignExperimentError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active campaign or experiment with this name already exists. - DUPLICATE_NAME = 2; - - // Experiment cannot be updated from the current state to the - // requested target state. For example, an experiment can only graduate - // if its status is ENABLED. - INVALID_TRANSITION = 3; - - // Cannot create an experiment from a campaign using an explicitly shared - // budget. - CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; - - // Cannot create an experiment for a removed base campaign. - CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; - - // Cannot create an experiment from a draft, which has a status other than - // proposed. - CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; - - // This customer is not allowed to create an experiment. - CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; - - // This campaign is not allowed to create an experiment. - CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; - - // Trying to set an experiment duration which overlaps with another - // experiment. - EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; - - // All non-removed experiments must start and end within their campaign's - // duration. - EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; - - // The experiment cannot be modified because its status is in a terminal - // state, such as REMOVED. - CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_feed_error.proto deleted file mode 100644 index a918de90..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_feed_error.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign feed errors. - -// Container for enum describing possible campaign feed errors. -message CampaignFeedErrorEnum { - // Enum describing possible campaign feed errors. - enum CampaignFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this campaign and placeholder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 4; - - // The CampaignFeed already exists. UPDATE should be used to modify the - // existing CampaignFeed. - CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; - - // Cannot update removed campaign feed. - CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 7; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/campaign_shared_set_error.proto deleted file mode 100644 index f6572032..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/campaign_shared_set_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing campaign shared set errors. - -// Container for enum describing possible campaign shared set errors. -message CampaignSharedSetErrorEnum { - // Enum describing possible campaign shared set errors. - enum CampaignSharedSetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The shared set belongs to another customer and permission isn't granted. - SHARED_SET_ACCESS_DENIED = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/change_status_error.proto deleted file mode 100644 index 9c76488f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/change_status_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing change status errors. - -// Container for enum describing possible change status errors. -message ChangeStatusErrorEnum { - // Enum describing possible change status errors. - enum ChangeStatusError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The requested start date is too old. - START_DATE_TOO_OLD = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/collection_size_error.proto deleted file mode 100644 index ea874612..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/collection_size_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CollectionSizeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing collection size errors. - -// Container for enum describing possible collection size errors. -message CollectionSizeErrorEnum { - // Enum describing possible collection size errors. - enum CollectionSizeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too few. - TOO_FEW = 2; - - // Too many. - TOO_MANY = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/context_error.proto deleted file mode 100644 index 49a4fccb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/context_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ContextErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing context errors. - -// Container for enum describing possible context errors. -message ContextErrorEnum { - // Enum describing possible context errors. - enum ContextError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The operation is not allowed for the given context. - OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; - - // The operation is not allowed for removed resources. - OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/conversion_action_error.proto deleted file mode 100644 index f3507531..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_action_error.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing conversion action errors. - -// Container for enum describing possible conversion action errors. -message ConversionActionErrorEnum { - // Enum describing possible conversion action errors. - enum ConversionActionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified conversion action name already exists. - DUPLICATE_NAME = 2; - - // Another conversion action with the specified app id already exists. - DUPLICATE_APP_ID = 3; - - // Android first open action conflicts with Google play codeless download - // action tracking the same app. - TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; - - // Android first open action conflicts with Google play codeless download - // action tracking the same app. - BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; - - // The attribution model cannot be set to DATA_DRIVEN because a data-driven - // model has never been generated. - DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is expired. - DATA_DRIVEN_MODEL_EXPIRED = 7; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is stale. - DATA_DRIVEN_MODEL_STALE = 8; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is unavailable or the conversion action was newly - // added. - DATA_DRIVEN_MODEL_UNKNOWN = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/conversion_adjustment_upload_error.proto deleted file mode 100644 index 1de28be1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_adjustment_upload_error.proto +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::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; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified conversion action was created too recently. - // Please try the upload again after 4-6 hours have passed since the - // conversion action was created. - TOO_RECENT_CONVERSION_ACTION = 2; - - // No conversion action of a supported ConversionActionType that matches the - // provided information can be found for the customer. - INVALID_CONVERSION_ACTION = 3; - - // A retraction was already reported for this conversion. - CONVERSION_ALREADY_RETRACTED = 4; - - // A conversion for the supplied combination of conversion - // action and conversion identifier could not be found. - CONVERSION_NOT_FOUND = 5; - - // The specified conversion has already expired. Conversions expire after 55 - // days, after which adjustments cannot be reported against them. - CONVERSION_EXPIRED = 6; - - // The supplied adjustment date time precedes that of the original - // conversion. - ADJUSTMENT_PRECEDES_CONVERSION = 7; - - // A restatement with a more recent adjustment date time was already - // reported for this conversion. - MORE_RECENT_RESTATEMENT_FOUND = 8; - - // The conversion was created too recently. - TOO_RECENT_CONVERSION = 9; - - // Restatements cannot be reported for a conversion action that always uses - // the default value. - CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = - 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/conversion_upload_error.proto deleted file mode 100644 index 8d8f5338..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/conversion_upload_error.proto +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionUploadErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::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; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The request contained more than 2000 conversions. - TOO_MANY_CONVERSIONS_IN_REQUEST = 2; - - // The specified gclid could not be decoded. - UNPARSEABLE_GCLID = 3; - - // The specified conversion_date_time is before the event time - // associated with the given gclid. - CONVERSION_PRECEDES_GCLID = 4; - - // The click associated with the given gclid is either too old to be - // imported or occurred outside of the click through lookback window for the - // specified conversion action. - EXPIRED_GCLID = 5; - - // The click associated with the given gclid occurred too recently. Please - // try uploading again after 24 hours have passed since the click occurred. - TOO_RECENT_GCLID = 6; - - // The click associated with the given gclid could not be found in the - // system. This can happen if Google Click IDs are collected for non Google - // Ads clicks. - GCLID_NOT_FOUND = 7; - - // The click associated with the given gclid is owned by a customer - // account that the uploading customer does not manage. - UNAUTHORIZED_CUSTOMER = 8; - - // No upload eligible conversion action that matches the provided - // information can be found for the customer. - INVALID_CONVERSION_ACTION = 9; - - // The specified conversion action was created too recently. - // Please try the upload again after 4-6 hours have passed since the - // conversion action was created. - TOO_RECENT_CONVERSION_ACTION = 10; - - // The click associated with the given gclid does not contain conversion - // tracking information. - CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; - - // The specified conversion action does not use an external attribution - // model, but external_attribution_data was set. - EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = - 12; - - // The specified conversion action uses an external attribution model, but - // external_attribution_data or one of its contained fields was not set. - // Both external_attribution_credit and external_attribution_model must be - // set for externally attributed conversion actions. - EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = - 13; - - // Order IDs are not supported for conversion actions which use an external - // attribution model. - ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; - - // A conversion with the same order id and conversion action combination - // already exists in our system. - ORDER_ID_ALREADY_IN_USE = 15; - - // The request contained two or more conversions with the same order id and - // conversion action combination. - DUPLICATE_ORDER_ID = 16; - - // The call occurred too recently. Please try uploading again after 24 hours - // have passed since the call occurred. - TOO_RECENT_CALL = 17; - - // The click that initiated the call is too old for this conversion to be - // imported. - EXPIRED_CALL = 18; - - // The call or the click leading to the call was not found. - CALL_NOT_FOUND = 19; - - // The specified conversion_date_time is before the call_start_date_time. - CONVERSION_PRECEDES_CALL = 20; - - // The click associated with the call does not contain conversion tracking - // information. - CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; - - // The caller’s phone number cannot be parsed. It should be formatted either - // as E.164 "+16502531234", International "+64 3-331 6005" or US national - // number "6502531234". - UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/country_code_error.proto deleted file mode 100644 index 18122a07..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/country_code_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CountryCodeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing country code errors. - -// Container for enum describing country code errors. -message CountryCodeErrorEnum { - // Enum describing country code errors. - enum CountryCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The country code is invalid. - INVALID_COUNTRY_CODE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/criterion_error.proto deleted file mode 100644 index a471293a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/criterion_error.proto +++ /dev/null @@ -1,368 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CriterionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing criterion errors. - -// Container for enum describing possible criterion errors. -message CriterionErrorEnum { - // Enum describing possible criterion errors. - enum CriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Concrete type of criterion is required for CREATE and UPDATE operations. - CONCRETE_TYPE_REQUIRED = 2; - - // The category requested for exclusion is invalid. - INVALID_EXCLUDED_CATEGORY = 3; - - // Invalid keyword criteria text. - INVALID_KEYWORD_TEXT = 4; - - // Keyword text should be less than 80 chars. - KEYWORD_TEXT_TOO_LONG = 5; - - // Keyword text has too many words. - KEYWORD_HAS_TOO_MANY_WORDS = 6; - - // Keyword text has invalid characters or symbols. - KEYWORD_HAS_INVALID_CHARS = 7; - - // Invalid placement URL. - INVALID_PLACEMENT_URL = 8; - - // Invalid user list criterion. - INVALID_USER_LIST = 9; - - // Invalid user interest criterion. - INVALID_USER_INTEREST = 10; - - // Placement URL has wrong format. - INVALID_FORMAT_FOR_PLACEMENT_URL = 11; - - // Placement URL is too long. - PLACEMENT_URL_IS_TOO_LONG = 12; - - // Indicates the URL contains an illegal character. - PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; - - // Indicates the URL contains multiple comma separated URLs. - PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; - - // Indicates the domain is blacklisted. - 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; - - // Product filter in the product criteria has invalid characters. Operand - // and the argument in the filter can not have "==" or "&+". - INVALID_PRODUCT_FILTER = 24; - - // Product filter in the product criteria is translated to a string as - // operand1==argument1&+operand2==argument2, maximum allowed length for the - // string is 255 chars. - PRODUCT_FILTER_TOO_LONG = 25; - - // 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 custom affinity criterion. - INVALID_CUSTOM_AFFINITY = 96; - - // Invalid custom intent criterion. - INVALID_CUSTOM_INTENT = 97; - - // 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; - - // The combined length of product dimension values of the product scope - // criterion is too long. - PRODUCT_SCOPE_TOO_LONG = 70; - - // Product scope contains too many dimensions. - PRODUCT_SCOPE_TOO_MANY_DIMENSIONS = 71; - - // The combined length of product dimension values of the product partition - // criterion is too long. - PRODUCT_PARTITION_TOO_LONG = 72; - - // Product partition contains too many dimensions. - PRODUCT_PARTITION_TOO_MANY_DIMENSIONS = 73; - - // The product dimension is invalid (e.g. dimension contains illegal value, - // dimension type is represented with wrong class, etc). Product dimension - // value can not contain "==" or "&+". - INVALID_PRODUCT_DIMENSION = 74; - - // Product 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 product 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" product - // partition 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_PRODUCT_DIMENSION_TYPE = 75; - - // 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; - - // 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, e.g. 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/custom_interest_error.proto deleted file mode 100644 index 61664bef..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/custom_interest_error.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing custom interest errors. - -// Container for enum describing possible custom interest errors. -message CustomInterestErrorEnum { - // Enum describing possible custom interest errors. - enum CustomInterestError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Duplicate custom interest name ignoring case. - NAME_ALREADY_USED = 2; - - // In the remove custom interest member operation, both member ID and - // pair [type, parameter] are not present. - CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; - - // The pair of [type, parameter] does not exist. - TYPE_AND_PARAMETER_NOT_FOUND = 4; - - // The pair of [type, parameter] already exists. - TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; - - // Unsupported custom interest member type. - INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; - - // Cannot remove a custom interest while it's still being targeted. - CANNOT_REMOVE_WHILE_IN_USE = 7; - - // Cannot mutate custom interest type. - CANNOT_CHANGE_TYPE = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/customer_client_link_error.proto deleted file mode 100644 index 8c360ab5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/customer_client_link_error.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing CustomerClientLink errors. - -// Container for enum describing possible CustomeClientLink errors. -message CustomerClientLinkErrorEnum { - // Enum describing possible CustomerClientLink errors. - enum CustomerClientLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Trying to manage a client that already in being managed by customer. - CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; - - // Already managed by some other manager in the hierarchy. - CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; - - // Attempt to create a cycle in the hierarchy. - CYCLIC_LINK_NOT_ALLOWED = 4; - - // Managed accounts has the maximum number of linked accounts. - CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; - - // Invitor has the maximum pending invitations. - CLIENT_HAS_TOO_MANY_INVITATIONS = 6; - - // Attempt to change hidden status of a link that is not active. - CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; - - // Parent manager account has the maximum number of linked accounts. - CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/customer_error.proto deleted file mode 100644 index f694c887..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/customer_error.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Container for enum describing possible customer errors. -message CustomerErrorEnum { - // Set of errors that are related to requests dealing with Customer. - // Next id: 26 - 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/google-cloud/protos/google/ads/googleads/v1/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/customer_feed_error.proto deleted file mode 100644 index aaefc25e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/customer_feed_error.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing customer feed errors. - -// Container for enum describing possible customer feed errors. -message CustomerFeedErrorEnum { - // Enum describing possible customer feed errors. - enum CustomerFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this customer and place holder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 3; - - // The CustomerFeed already exists. Update should be used to modify the - // existing CustomerFeed. - CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; - - // Cannot update removed customer feed. - CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 6; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; - - // Placeholder not allowed at the account level. - PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/customer_manager_link_error.proto deleted file mode 100644 index bb8487ce..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/customer_manager_link_error.proto +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing CustomerManagerLink errors. - -// Container for enum describing possible CustomerManagerLink errors. -message CustomerManagerLinkErrorEnum { - // Enum describing possible CustomerManagerLink errors. - enum CustomerManagerLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No pending invitation. - NO_PENDING_INVITE = 2; - - // Attempt to operate on the same client more than once in the same call. - SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; - - // Manager account has the maximum number of linked accounts. - MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; - - // If no active user on account it cannot be unlinked from its manager. - CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; - - // Account should have at least one active owner on it before being - // unlinked. - CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; - - // Only account owners may change their permission role. - CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; - - // When a client's link to its manager is not active, the link role cannot - // be changed. - CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; - - // Attempt to link a child to a parent that contains or will contain - // duplicate children. - DUPLICATE_CHILD_FOUND = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/database_error.proto deleted file mode 100644 index 18438fa9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/database_error.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DatabaseErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing database errors. - -// Container for enum describing possible database errors. -message DatabaseErrorEnum { - // Enum describing possible database errors. - enum DatabaseError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Multiple requests were attempting to modify the same resource at once. - // Please retry the request. - CONCURRENT_MODIFICATION = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/date_error.proto deleted file mode 100644 index a7848ffd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/date_error.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DateErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing date errors. - -// Container for enum describing possible date errors. -message DateErrorEnum { - // Enum describing possible date errors. - enum DateError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Given field values do not correspond to a valid date. - INVALID_FIELD_VALUES_IN_DATE = 2; - - // Given field values do not correspond to a valid date time. - INVALID_FIELD_VALUES_IN_DATE_TIME = 3; - - // The string date's format should be yyyy-mm-dd. - INVALID_STRING_DATE = 4; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. - INVALID_STRING_DATE_TIME_MICROS = 6; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss. - INVALID_STRING_DATE_TIME_SECONDS = 11; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. - INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; - - // Date is before allowed minimum. - EARLIER_THAN_MINIMUM_DATE = 7; - - // Date is after allowed maximum. - LATER_THAN_MAXIMUM_DATE = 8; - - // Date range bounds are not in order. - DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; - - // Both dates in range are null. - DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/date_range_error.proto deleted file mode 100644 index 96b91891..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/date_range_error.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DateRangeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing date range errors. - -// Container for enum describing possible date range errors. -message DateRangeErrorEnum { - // Enum describing possible date range errors. - enum DateRangeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid date. - INVALID_DATE = 2; - - // The start date was after the end date. - START_DATE_AFTER_END_DATE = 3; - - // Cannot set date to past time - CANNOT_SET_DATE_TO_PAST = 4; - - // A date was used that is past the system "last" date. - AFTER_MAXIMUM_ALLOWABLE_DATE = 5; - - // Trying to change start date on a resource that has started. - CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/distinct_error.proto deleted file mode 100644 index d715d500..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/distinct_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DistinctErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing distinct errors. - -// Container for enum describing possible distinct errors. -message DistinctErrorEnum { - // Enum describing possible distinct errors. - enum DistinctError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Duplicate element. - DUPLICATE_ELEMENT = 2; - - // Duplicate type. - DUPLICATE_TYPE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/enum_error.proto deleted file mode 100644 index 650d3981..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/enum_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "EnumErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing enum errors. - -// Container for enum describing possible enum errors. -message EnumErrorEnum { - // Enum describing possible enum errors. - enum EnumError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The enum value is not permitted. - ENUM_VALUE_NOT_PERMITTED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v1/errors/errors.proto deleted file mode 100644 index 34aa4e18..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/errors.proto +++ /dev/null @@ -1,556 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/ads/googleads/v1/common/policy.proto"; -import "google/ads/googleads/v1/common/value.proto"; -import "google/ads/googleads/v1/errors/account_budget_proposal_error.proto"; -import "google/ads/googleads/v1/errors/ad_customizer_error.proto"; -import "google/ads/googleads/v1/errors/ad_error.proto"; -import "google/ads/googleads/v1/errors/ad_group_ad_error.proto"; -import "google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto"; -import "google/ads/googleads/v1/errors/ad_group_criterion_error.proto"; -import "google/ads/googleads/v1/errors/ad_group_error.proto"; -import "google/ads/googleads/v1/errors/ad_group_feed_error.proto"; -import "google/ads/googleads/v1/errors/ad_parameter_error.proto"; -import "google/ads/googleads/v1/errors/ad_sharing_error.proto"; -import "google/ads/googleads/v1/errors/adx_error.proto"; -import "google/ads/googleads/v1/errors/asset_error.proto"; -import "google/ads/googleads/v1/errors/authentication_error.proto"; -import "google/ads/googleads/v1/errors/authorization_error.proto"; -import "google/ads/googleads/v1/errors/bidding_error.proto"; -import "google/ads/googleads/v1/errors/bidding_strategy_error.proto"; -import "google/ads/googleads/v1/errors/billing_setup_error.proto"; -import "google/ads/googleads/v1/errors/campaign_budget_error.proto"; -import "google/ads/googleads/v1/errors/campaign_criterion_error.proto"; -import "google/ads/googleads/v1/errors/campaign_draft_error.proto"; -import "google/ads/googleads/v1/errors/campaign_error.proto"; -import "google/ads/googleads/v1/errors/campaign_experiment_error.proto"; -import "google/ads/googleads/v1/errors/campaign_feed_error.proto"; -import "google/ads/googleads/v1/errors/campaign_shared_set_error.proto"; -import "google/ads/googleads/v1/errors/change_status_error.proto"; -import "google/ads/googleads/v1/errors/collection_size_error.proto"; -import "google/ads/googleads/v1/errors/context_error.proto"; -import "google/ads/googleads/v1/errors/conversion_action_error.proto"; -import "google/ads/googleads/v1/errors/conversion_adjustment_upload_error.proto"; -import "google/ads/googleads/v1/errors/conversion_upload_error.proto"; -import "google/ads/googleads/v1/errors/country_code_error.proto"; -import "google/ads/googleads/v1/errors/criterion_error.proto"; -import "google/ads/googleads/v1/errors/custom_interest_error.proto"; -import "google/ads/googleads/v1/errors/customer_client_link_error.proto"; -import "google/ads/googleads/v1/errors/customer_error.proto"; -import "google/ads/googleads/v1/errors/customer_feed_error.proto"; -import "google/ads/googleads/v1/errors/customer_manager_link_error.proto"; -import "google/ads/googleads/v1/errors/database_error.proto"; -import "google/ads/googleads/v1/errors/date_error.proto"; -import "google/ads/googleads/v1/errors/date_range_error.proto"; -import "google/ads/googleads/v1/errors/distinct_error.proto"; -import "google/ads/googleads/v1/errors/enum_error.proto"; -import "google/ads/googleads/v1/errors/extension_feed_item_error.proto"; -import "google/ads/googleads/v1/errors/extension_setting_error.proto"; -import "google/ads/googleads/v1/errors/feed_attribute_reference_error.proto"; -import "google/ads/googleads/v1/errors/feed_error.proto"; -import "google/ads/googleads/v1/errors/feed_item_error.proto"; -import "google/ads/googleads/v1/errors/feed_item_target_error.proto"; -import "google/ads/googleads/v1/errors/feed_item_validation_error.proto"; -import "google/ads/googleads/v1/errors/feed_mapping_error.proto"; -import "google/ads/googleads/v1/errors/field_error.proto"; -import "google/ads/googleads/v1/errors/field_mask_error.proto"; -import "google/ads/googleads/v1/errors/function_error.proto"; -import "google/ads/googleads/v1/errors/function_parsing_error.proto"; -import "google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto"; -import "google/ads/googleads/v1/errors/header_error.proto"; -import "google/ads/googleads/v1/errors/id_error.proto"; -import "google/ads/googleads/v1/errors/image_error.proto"; -import "google/ads/googleads/v1/errors/internal_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_idea_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto"; -import "google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto"; -import "google/ads/googleads/v1/errors/label_error.proto"; -import "google/ads/googleads/v1/errors/language_code_error.proto"; -import "google/ads/googleads/v1/errors/list_operation_error.proto"; -import "google/ads/googleads/v1/errors/manager_link_error.proto"; -import "google/ads/googleads/v1/errors/media_bundle_error.proto"; -import "google/ads/googleads/v1/errors/media_file_error.proto"; -import "google/ads/googleads/v1/errors/media_upload_error.proto"; -import "google/ads/googleads/v1/errors/multiplier_error.proto"; -import "google/ads/googleads/v1/errors/mutate_error.proto"; -import "google/ads/googleads/v1/errors/mutate_job_error.proto"; -import "google/ads/googleads/v1/errors/new_resource_creation_error.proto"; -import "google/ads/googleads/v1/errors/not_empty_error.proto"; -import "google/ads/googleads/v1/errors/not_whitelisted_error.proto"; -import "google/ads/googleads/v1/errors/null_error.proto"; -import "google/ads/googleads/v1/errors/operation_access_denied_error.proto"; -import "google/ads/googleads/v1/errors/operator_error.proto"; -import "google/ads/googleads/v1/errors/partial_failure_error.proto"; -import "google/ads/googleads/v1/errors/policy_finding_error.proto"; -import "google/ads/googleads/v1/errors/policy_validation_parameter_error.proto"; -import "google/ads/googleads/v1/errors/policy_violation_error.proto"; -import "google/ads/googleads/v1/errors/query_error.proto"; -import "google/ads/googleads/v1/errors/quota_error.proto"; -import "google/ads/googleads/v1/errors/range_error.proto"; -import "google/ads/googleads/v1/errors/recommendation_error.proto"; -import "google/ads/googleads/v1/errors/region_code_error.proto"; -import "google/ads/googleads/v1/errors/request_error.proto"; -import "google/ads/googleads/v1/errors/resource_access_denied_error.proto"; -import "google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto"; -import "google/ads/googleads/v1/errors/setting_error.proto"; -import "google/ads/googleads/v1/errors/shared_criterion_error.proto"; -import "google/ads/googleads/v1/errors/shared_set_error.proto"; -import "google/ads/googleads/v1/errors/size_limit_error.proto"; -import "google/ads/googleads/v1/errors/string_format_error.proto"; -import "google/ads/googleads/v1/errors/string_length_error.proto"; -import "google/ads/googleads/v1/errors/url_field_error.proto"; -import "google/ads/googleads/v1/errors/user_list_error.proto"; -import "google/ads/googleads/v1/errors/youtube_video_registration_error.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ErrorsProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing the common error protos - -// Describes how a GoogleAds API call failed. It's returned inside -// google.rpc.Status.details when a call fails. -message GoogleAdsFailure { - // The list of errors that occurred. - repeated GoogleAdsError errors = 1; -} - -// GoogleAds-specific error. -message GoogleAdsError { - // An enum value that indicates which error occurred. - ErrorCode error_code = 1; - - // A human-readable description of the error. - string message = 2; - - // The value that triggered the error. - google.ads.googleads.v1.common.Value trigger = 3; - - // Describes the part of the request proto that caused the error. - ErrorLocation location = 4; - - // Additional error details, which are returned by certain error codes. Most - // error codes do not include details. - ErrorDetails details = 5; -} - -// The error reason represented by type and enum. -message ErrorCode { - // The list of error enums - oneof error_code { - // An error caused by the request - RequestErrorEnum.RequestError request_error = 1; - - // An error with a Bidding Strategy mutate. - BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; - - // An error with a URL field mutate. - UrlFieldErrorEnum.UrlFieldError url_field_error = 3; - - // An error with a list operation. - ListOperationErrorEnum.ListOperationError list_operation_error = 4; - - // An error with an AWQL query - QueryErrorEnum.QueryError query_error = 5; - - // An error with a mutate - MutateErrorEnum.MutateError mutate_error = 7; - - // An error with a field mask - FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; - - // An error encountered when trying to authorize a user. - AuthorizationErrorEnum.AuthorizationError authorization_error = 9; - - // An unexpected server-side error. - InternalErrorEnum.InternalError internal_error = 10; - - // An error with the 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; - - // Indicates failure to properly authenticate user. - AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = - 18; - - // 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 bidding errors - BiddingErrorEnum.BiddingError bidding_error = 26; - - // The reasons for the campaign criterion error - CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = - 29; - - // The reasons for the collection size error - CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31; - - // 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 customer error - CustomerErrorEnum.CustomerError customer_error = 90; - - // 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; - - // 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 upload error - ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = - 111; - - // 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 negative keyword error. - KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError - keyword_plan_negative_keyword_error = 73; - - // The reason for keyword plan ad group error. - KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError - keyword_plan_ad_group_error = 74; - - // The reason for keyword plan keyword error. - KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError - keyword_plan_keyword_error = 75; - - // 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 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 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 - MutateJobErrorEnum.MutateJobError mutate_job_error = 108; - - // 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 not whitelisted error - NotWhitelistedErrorEnum.NotWhitelistedError not_whitelisted_error = 120; - - // The reasons for the manager link error - ManagerLinkErrorEnum.ManagerLinkError manager_link_error = 121; - } -} - -// 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 - google.protobuf.Int64Value index = 2; - } - - // 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 InternalError.ERROR_CODE_NOT_PUBLISHED. - string unpublished_error_code = 1; - - // Describes an ad policy violation. - PolicyViolationDetails policy_violation_details = 2; - - // Describes policy violation findings. - PolicyFindingDetails policy_finding_details = 3; -} - -// Error returned as part of a mutate response. -// This error indicates single policy violation by some text -// in one of the fields. -message PolicyViolationDetails { - // Human readable description of policy violation. - string external_policy_description = 2; - - // Unique identifier for this violation. - // If policy is exemptible, this key may be used to request exemption. - google.ads.googleads.v1.common.PolicyViolationKey key = 4; - - // Human readable name of the policy. - string external_policy_name = 5; - - // Whether user can file an exemption request for this violation. - bool is_exemptible = 6; -} - -// Error returned as part of a mutate response. -// This error indicates one or more policy findings in the fields of a -// resource. -message PolicyFindingDetails { - // The list of policy topics for the resource. Contains the PROHIBITED or - // FULLY_LIMITED policy topic entries that prevented the resource from being - // saved (among any other entries the resource may also have). - repeated google.ads.googleads.v1.common.PolicyTopicEntry - policy_topic_entries = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/extension_feed_item_error.proto deleted file mode 100644 index 9ab38917..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/extension_feed_item_error.proto +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing extension feed item errors. - -// Container for enum describing possible extension feed item error. -message ExtensionFeedItemErrorEnum { - // Enum describing possible extension feed item errors. - enum ExtensionFeedItemError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Value is not within the accepted range. - VALUE_OUT_OF_RANGE = 2; - - // Url list is too long. - URL_LIST_TOO_LONG = 3; - - // Cannot have a geo targeting restriction without having geo targeting. - CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; - - // Cannot simultaneously set sitelink field with final urls. - CANNOT_SET_WITH_FINAL_URLS = 5; - - // Must set field with final urls. - CANNOT_SET_WITHOUT_FINAL_URLS = 6; - - // Phone number for a call extension is invalid. - INVALID_PHONE_NUMBER = 7; - - // Phone number for a call extension is not supported for the given country - // code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; - - // A carrier specific number in short format is not allowed for call - // extensions. - CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; - - // Premium rate numbers are not allowed for call extensions. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; - - // Phone number type for a call extension is not allowed. - // For example, personal number is not allowed for a call extension in - // most regions. - DISALLOWED_NUMBER_TYPE = 11; - - // Phone number for a call extension does not meet domestic format - // requirements. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; - - // Vanity phone numbers (i.e. 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 whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15; - - // 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. Please 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 blacklisted 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 (i.e., 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 i.e. 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/extension_setting_error.proto deleted file mode 100644 index 2883c1a0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/extension_setting_error.proto +++ /dev/null @@ -1,256 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionSettingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing extension setting validation errors. - -// Container for enum describing validation errors of extension settings. -message ExtensionSettingErrorEnum { - // Enum describing possible extension setting errors. - enum ExtensionSettingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A platform restriction was provided without input extensions or existing - // extensions. - EXTENSIONS_REQUIRED = 2; - - // The provided feed type does not correspond to the provided extensions. - FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; - - // The provided feed type cannot be used. - INVALID_FEED_TYPE = 4; - - // The provided feed type cannot be used at the customer level. - INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; - - // Cannot change a feed item field on a CREATE operation. - CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; - - // Cannot update an extension that is not already in this setting. - CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; - - // There is no existing AdGroupExtensionSetting for this type. - NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; - - // There is no existing CampaignExtensionSetting for this type. - NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; - - // There is no existing CustomerExtensionSetting for this type. - NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; - - // The AdGroupExtensionSetting already exists. UPDATE should be used to - // modify the existing AdGroupExtensionSetting. - AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; - - // The CampaignExtensionSetting already exists. UPDATE should be used to - // modify the existing CampaignExtensionSetting. - CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; - - // The CustomerExtensionSetting already exists. UPDATE should be used to - // modify the existing CustomerExtensionSetting. - CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; - - // An active ad group feed already exists for this place holder type. - AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; - - // An active campaign feed already exists for this place holder type. - CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; - - // An active customer feed already exists for this place holder type. - CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; - - // Value is not within the accepted range. - VALUE_OUT_OF_RANGE = 17; - - // Cannot simultaneously set specified field with final urls. - CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; - - // Must set field with final urls. - FINAL_URLS_NOT_SET = 19; - - // Phone number for a call extension is invalid. - INVALID_PHONE_NUMBER = 20; - - // Phone number for a call extension is not supported for the given country - // code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; - - // A carrier specific number in short format is not allowed for call - // extensions. - CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; - - // Premium rate numbers are not allowed for call extensions. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; - - // Phone number type for a call extension is not allowed. - DISALLOWED_NUMBER_TYPE = 24; - - // Phone number for a call extension does not meet domestic format - // requirements. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; - - // Vanity phone numbers (i.e. 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 whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29; - - // 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 blacklisted 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 (i.e., 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 (e.g., 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. Please 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_attribute_reference_error.proto deleted file mode 100644 index e3be51ce..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_attribute_reference_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedAttributeReferenceErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed attribute reference errors. - -// Container for enum describing possible feed attribute reference errors. -message FeedAttributeReferenceErrorEnum { - // Enum describing possible feed attribute reference errors. - enum FeedAttributeReferenceError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A feed referenced by ID has been removed. - CANNOT_REFERENCE_REMOVED_FEED = 2; - - // There is no enabled feed with the given name. - INVALID_FEED_NAME = 3; - - // There is no feed attribute in an enabled feed with the given name. - INVALID_FEED_ATTRIBUTE_NAME = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_error.proto deleted file mode 100644 index d58b2e25..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_error.proto +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed errors. - -// Container for enum describing possible feed errors. -message FeedErrorEnum { - // Enum describing possible feed errors. - enum FeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The names of the FeedAttributes must be unique. - ATTRIBUTE_NAMES_NOT_UNIQUE = 2; - - // The attribute list must be an exact copy of the existing list if the - // attribute ID's are present. - ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; - - // Cannot specify USER origin for a system generated feed. - CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; - - // Cannot specify GOOGLE origin for a non-system generated feed. - CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; - - // Cannot specify feed attributes for system feed. - CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; - - // Cannot update FeedAttributes on feed with origin GOOGLE. - CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; - - // The given ID refers to a removed Feed. Removed Feeds are immutable. - FEED_REMOVED = 8; - - // The origin of the feed is not valid for the client. - INVALID_ORIGIN_VALUE = 9; - - // A user can only create and modify feeds with USER origin. - FEED_ORIGIN_IS_NOT_USER = 10; - - // Invalid auth token for the given email. - INVALID_AUTH_TOKEN_FOR_EMAIL = 11; - - // Invalid email specified. - INVALID_EMAIL = 12; - - // Feed name matches that of another active Feed. - DUPLICATE_FEED_NAME = 13; - - // Name of feed is not allowed. - INVALID_FEED_NAME = 14; - - // Missing OAuthInfo. - MISSING_OAUTH_INFO = 15; - - // New FeedAttributes must not affect the unique key. - NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; - - // Too many FeedAttributes for a Feed. - TOO_MANY_ATTRIBUTES = 17; - - // The business account is not valid. - INVALID_BUSINESS_ACCOUNT = 18; - - // Business account cannot access Google My Business account. - 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_error.proto deleted file mode 100644 index d2e1d43a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_error.proto +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed item errors. - -// Container for enum describing possible feed item errors. -message FeedItemErrorEnum { - // Enum describing possible feed item errors. - enum FeedItemError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot convert the feed attribute value from string to its real type. - CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; - - // Cannot operate on removed feed item. - CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; - - // Date time zone does not match the account's time zone. - DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; - - // Feed item with the key attributes could not be found. - KEY_ATTRIBUTES_NOT_FOUND = 5; - - // Url feed attribute value is not valid. - INVALID_URL = 6; - - // Some key attributes are missing. - MISSING_KEY_ATTRIBUTES = 7; - - // Feed item has same key attributes as another feed item. - KEY_ATTRIBUTES_NOT_UNIQUE = 8; - - // Cannot modify key attributes on an existing feed item. - CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; - - // The feed attribute value is too large. - SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_target_error.proto deleted file mode 100644 index ae72ec2a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_target_error.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed item target errors. - -// Container for enum describing possible feed item target errors. -message FeedItemTargetErrorEnum { - // Enum describing possible feed item target errors. - enum FeedItemTargetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // On CREATE, the FeedItemTarget must have a populated field in the oneof - // target. - MUST_SET_TARGET_ONEOF_ON_CREATE = 2; - - // The specified feed item target already exists, so it cannot be added. - FEED_ITEM_TARGET_ALREADY_EXISTS = 3; - - // The schedules for a given feed item cannot overlap. - FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; - - // Too many targets of a given type were added for a single feed item. - TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; - - // Too many AdSchedules are enabled for the feed item for the given day. - TOO_MANY_SCHEDULES_PER_DAY = 6; - - // A feed item may either have an enabled campaign target or an enabled ad - // group target. - CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_validation_error.proto deleted file mode 100644 index c8d2eb96..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_item_validation_error.proto +++ /dev/null @@ -1,346 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemValidationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed item validation errors. - -// Container for enum describing possible validation errors of a feed item. -message FeedItemValidationErrorEnum { - // The possible validation errors of a feed item. - enum FeedItemValidationError { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // String is too short. - STRING_TOO_SHORT = 2; - - // String is too long. - STRING_TOO_LONG = 3; - - // Value is not provided. - VALUE_NOT_SPECIFIED = 4; - - // Phone number format is invalid for region. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; - - // String does not represent a phone number. - INVALID_PHONE_NUMBER = 6; - - // Phone number format is not compatible with country code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; - - // Premium rate number is not allowed. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; - - // Phone number type is not allowed. - DISALLOWED_NUMBER_TYPE = 9; - - // Specified value is outside of the valid range. - VALUE_OUT_OF_RANGE = 10; - - // Call tracking is not supported in the selected country. - CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; - - // Customer is not whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12; - - // 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 (e.g., 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. Please 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/feed_mapping_error.proto deleted file mode 100644 index 7084bd5f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/feed_mapping_error.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing feed item errors. - -// Container for enum describing possible feed item errors. -message FeedMappingErrorEnum { - // Enum describing possible feed item errors. - enum FeedMappingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The given placeholder field does not exist. - INVALID_PLACEHOLDER_FIELD = 2; - - // The given criterion field does not exist. - INVALID_CRITERION_FIELD = 3; - - // The given placeholder type does not exist. - INVALID_PLACEHOLDER_TYPE = 4; - - // The given criterion type does not exist. - INVALID_CRITERION_TYPE = 5; - - // A feed mapping must contain at least one attribute field mapping. - NO_ATTRIBUTE_FIELD_MAPPINGS = 7; - - // The type of the feed attribute referenced in the attribute field mapping - // must match the type of the placeholder field. - FEED_ATTRIBUTE_TYPE_MISMATCH = 8; - - // A feed mapping for a system generated feed cannot be operated on. - CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; - - // Only one feed mapping for a placeholder type is allowed per feed or - // customer (depending on the placeholder type). - MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; - - // Only one feed mapping for a criterion type is allowed per customer. - MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; - - // Only one feed attribute mapping for a placeholder field is allowed - // (depending on the placeholder type). - MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; - - // Only one feed attribute mapping for a criterion field is allowed - // (depending on the criterion type). - MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; - - // This feed mapping may not contain any explicit attribute field mappings. - UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; - - // Location placeholder feed mappings can only be created for Places feeds. - LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; - - // Mappings for typed feeds cannot be modified. - CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; - - // The given placeholder type can only be mapped to system generated feeds. - INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; - - // The given placeholder type cannot be mapped to a system generated feed - // with the given type. - INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/field_error.proto deleted file mode 100644 index 5d60fdfd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/field_error.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FieldErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing field errors. - -// Container for enum describing possible field errors. -message FieldErrorEnum { - // Enum describing possible field errors. - enum FieldError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The required field was not present. - REQUIRED = 2; - - // The field attempted to be mutated is immutable. - IMMUTABLE_FIELD = 3; - - // The field's value is invalid. - INVALID_VALUE = 4; - - // The field cannot be set. - VALUE_MUST_BE_UNSET = 5; - - // The required repeated field was empty. - REQUIRED_NONEMPTY_LIST = 6; - - // The field cannot be cleared. - FIELD_CANNOT_BE_CLEARED = 7; - - // The field's value is on a blacklist for this field. - BLACKLISTED_VALUE = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/field_mask_error.proto deleted file mode 100644 index e07334b1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/field_mask_error.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FieldMaskErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing field mask errors. - -// Container for enum describing possible field mask errors. -message FieldMaskErrorEnum { - // Enum describing possible field mask errors. - enum FieldMaskError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The field mask must be provided for update operations. - FIELD_MASK_MISSING = 5; - - // The field mask must be empty for create and remove operations. - FIELD_MASK_NOT_ALLOWED = 4; - - // The field mask contained an invalid field. - FIELD_NOT_FOUND = 2; - - // The field mask updated a field with subfields. Fields with subfields may - // be cleared, but not updated. To fix this, the field mask should select - // all the subfields of the invalid field. - FIELD_HAS_SUBFIELDS = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/function_error.proto deleted file mode 100644 index 4d726d5b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/function_error.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FunctionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing function errors. - -// Container for enum describing possible function errors. -message FunctionErrorEnum { - // Enum describing possible function errors. - enum FunctionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The format of the function is not recognized as a supported function - // format. - INVALID_FUNCTION_FORMAT = 2; - - // Operand data types do not match. - DATA_TYPE_MISMATCH = 3; - - // The operands cannot be used together in a conjunction. - INVALID_CONJUNCTION_OPERANDS = 4; - - // Invalid numer of Operands. - INVALID_NUMBER_OF_OPERANDS = 5; - - // Operand Type not supported. - INVALID_OPERAND_TYPE = 6; - - // Operator not supported. - INVALID_OPERATOR = 7; - - // Request context type not supported. - INVALID_REQUEST_CONTEXT_TYPE = 8; - - // The matching function is not allowed for call placeholders - INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; - - // The matching function is not allowed for the specified placeholder - INVALID_FUNCTION_FOR_PLACEHOLDER = 10; - - // Invalid operand. - INVALID_OPERAND = 11; - - // Missing value for the constant operand. - MISSING_CONSTANT_OPERAND_VALUE = 12; - - // The value of the constant operand is invalid. - INVALID_CONSTANT_OPERAND_VALUE = 13; - - // Invalid function nesting. - INVALID_NESTING = 14; - - // The Feed ID was different from another Feed ID in the same function. - MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; - - // The matching function is invalid for use with a feed with a fixed schema. - INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; - - // Invalid attribute name. - INVALID_ATTRIBUTE_NAME = 17; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/function_parsing_error.proto deleted file mode 100644 index ad3e1fc0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/function_parsing_error.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FunctionParsingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing function parsing errors. - -// Container for enum describing possible function parsing errors. -message FunctionParsingErrorEnum { - // Enum describing possible function parsing errors. - enum FunctionParsingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Unexpected end of function string. - NO_MORE_INPUT = 2; - - // Could not find an expected character. - EXPECTED_CHARACTER = 3; - - // Unexpected separator character. - UNEXPECTED_SEPARATOR = 4; - - // Unmatched left bracket or parenthesis. - UNMATCHED_LEFT_BRACKET = 5; - - // Unmatched right bracket or parenthesis. - UNMATCHED_RIGHT_BRACKET = 6; - - // Functions are nested too deeply. - TOO_MANY_NESTED_FUNCTIONS = 7; - - // Missing right-hand-side operand. - MISSING_RIGHT_HAND_OPERAND = 8; - - // Invalid operator/function name. - INVALID_OPERATOR_NAME = 9; - - // Feed attribute operand's argument is not an integer. - FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; - - // Missing function operands. - NO_OPERANDS = 11; - - // Function had too many operands. - TOO_MANY_OPERANDS = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto deleted file mode 100644 index 5af9e740..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Container for enum describing possible geo target constant suggestion errors. -message GeoTargetConstantSuggestionErrorEnum { - // Enum describing possible geo target constant suggestion errors. - enum GeoTargetConstantSuggestionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A location name cannot be greater than 300 characters. - LOCATION_NAME_SIZE_LIMIT = 2; - - // At most 25 location names can be specified in a SuggestGeoTargetConstants - // method. - LOCATION_NAME_LIMIT = 3; - - // The country code is invalid. - INVALID_COUNTRY_CODE = 4; - - // Geo target constant resource names or location names must be provided in - // the request. - REQUEST_PARAMETERS_UNSET = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/header_error.proto deleted file mode 100644 index a3c7e5a7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/header_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "HeaderErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing header errors. - -// Container for enum describing possible header errors. -message HeaderErrorEnum { - // Enum describing possible header errors. - enum HeaderError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The login customer id could not be validated. - INVALID_LOGIN_CUSTOMER_ID = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/id_error.proto deleted file mode 100644 index 2a5a4e7f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/id_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "IdErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing id errors. - -// Container for enum describing possible id errors. -message IdErrorEnum { - // Enum describing possible id errors. - enum IdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Id not found - NOT_FOUND = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/image_error.proto deleted file mode 100644 index d58e7da8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/image_error.proto +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ImageErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing image errors. - -// Container for enum describing possible image errors. -message ImageErrorEnum { - // Enum describing possible image errors. - enum ImageError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The image is not valid. - INVALID_IMAGE = 2; - - // The image could not be stored. - STORAGE_ERROR = 3; - - // There was a problem with the request. - BAD_REQUEST = 4; - - // The image is not of legal dimensions. - UNEXPECTED_SIZE = 5; - - // Animated image are not permitted. - ANIMATED_NOT_ALLOWED = 6; - - // Animation is too long. - ANIMATION_TOO_LONG = 7; - - // There was an error on the server. - SERVER_ERROR = 8; - - // Image cannot be in CMYK color format. - CMYK_JPEG_NOT_ALLOWED = 9; - - // Flash images are not permitted. - FLASH_NOT_ALLOWED = 10; - - // Flash images must support clickTag. - FLASH_WITHOUT_CLICKTAG = 11; - - // A flash error has occurred after fixing the click tag. - FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; - - // Unacceptable visual effects. - ANIMATED_VISUAL_EFFECT = 13; - - // There was a problem with the flash image. - FLASH_ERROR = 14; - - // Incorrect image layout. - LAYOUT_PROBLEM = 15; - - // There was a problem reading the image file. - PROBLEM_READING_IMAGE_FILE = 16; - - // There was an error storing the image. - ERROR_STORING_IMAGE = 17; - - // The aspect ratio of the image is not allowed. - ASPECT_RATIO_NOT_ALLOWED = 18; - - // Flash cannot have network objects. - FLASH_HAS_NETWORK_OBJECTS = 19; - - // Flash cannot have network methods. - FLASH_HAS_NETWORK_METHODS = 20; - - // Flash cannot have a Url. - FLASH_HAS_URL = 21; - - // Flash cannot use mouse tracking. - FLASH_HAS_MOUSE_TRACKING = 22; - - // Flash cannot have a random number. - FLASH_HAS_RANDOM_NUM = 23; - - // Ad click target cannot be '_self'. - FLASH_SELF_TARGETS = 24; - - // GetUrl method should only use '_blank'. - FLASH_BAD_GETURL_TARGET = 25; - - // Flash version is not supported. - FLASH_VERSION_NOT_SUPPORTED = 26; - - // Flash movies need to have hard coded click URL or clickTAG - FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; - - // Uploaded flash file is corrupted. - INVALID_FLASH_FILE = 28; - - // Uploaded flash file can be parsed, but the click tag can not be fixed - // properly. - FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; - - // Flash movie accesses network resources - FLASH_ACCESSES_NETWORK_RESOURCES = 30; - - // Flash movie attempts to call external javascript code - FLASH_EXTERNAL_JS_CALL = 31; - - // Flash movie attempts to call flash system commands - FLASH_EXTERNAL_FS_CALL = 32; - - // Image file is too large. - FILE_TOO_LARGE = 33; - - // Image data is too large. - IMAGE_DATA_TOO_LARGE = 34; - - // Error while processing the image. - IMAGE_PROCESSING_ERROR = 35; - - // Image is too small. - IMAGE_TOO_SMALL = 36; - - // Input was invalid. - INVALID_INPUT = 37; - - // There was a problem reading the image file. - PROBLEM_READING_FILE = 38; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/internal_error.proto deleted file mode 100644 index ae89eaf9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/internal_error.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "InternalErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing internal errors. - -// Container for enum describing possible internal errors. -message InternalErrorEnum { - // Enum describing possible internal errors. - enum InternalError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Google Ads API encountered unexpected internal error. - INTERNAL_ERROR = 2; - - // The intended error code doesn't exist in any API version. This will be - // fixed by adding a new error code as soon as possible. - 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto deleted file mode 100644 index 1bf241a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying a keyword plan ad group. - -// Container for enum describing possible errors from applying a keyword plan -// ad group. -message KeywordPlanAdGroupErrorEnum { - // Enum describing possible errors from applying a keyword plan ad group. - enum KeywordPlanAdGroupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The keyword plan ad group name is missing, empty, longer than allowed - // limit or contains invalid chars. - INVALID_NAME = 2; - - // The keyword plan ad group name is duplicate to an existing keyword plan - // AdGroup name or other keyword plan AdGroup name in the request. - DUPLICATE_NAME = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto deleted file mode 100644 index a91299d6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying a keyword plan campaign. - -// Container for enum describing possible errors from applying a keyword plan -// campaign. -message KeywordPlanCampaignErrorEnum { - // Enum describing possible errors from applying a keyword plan campaign. - enum KeywordPlanCampaignError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A keyword plan campaign name is missing, empty, longer than allowed limit - // or contains invalid chars. - INVALID_NAME = 2; - - // A keyword plan campaign contains one or more untargetable languages. - INVALID_LANGUAGES = 3; - - // A keyword plan campaign contains one or more invalid geo targets. - INVALID_GEOS = 4; - - // The keyword plan campaign name is duplicate to an existing keyword plan - // campaign name or other keyword plan campaign name in the request. - DUPLICATE_NAME = 5; - - // The number of geo targets in the keyword plan campaign exceeds limits. - MAX_GEOS_EXCEEDED = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_error.proto deleted file mode 100644 index 7031f745..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_error.proto +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying keyword plan resources (keyword -// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) -// or KeywordPlanService RPC. - -// Container for enum describing possible errors from applying a keyword plan -// resource (keyword plan, keyword plan campaign, keyword plan ad group or -// keyword plan keyword) or KeywordPlanService RPC. -message KeywordPlanErrorEnum { - // Enum describing possible errors from applying a keyword plan. - enum KeywordPlanError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The plan's bid multiplier value is outside the valid range. - BID_MULTIPLIER_OUT_OF_RANGE = 2; - - // The plan's bid value is too high. - BID_TOO_HIGH = 3; - - // The plan's bid value is too low. - BID_TOO_LOW = 4; - - // The plan's cpc bid is not a multiple of the minimum billable unit. - BID_TOO_MANY_FRACTIONAL_DIGITS = 5; - - // The plan's daily budget value is too low. - DAILY_BUDGET_TOO_LOW = 6; - - // The plan's daily budget is not a multiple of the minimum billable unit. - DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; - - // The input has an invalid value. - INVALID_VALUE = 8; - - // The plan has no keyword. - KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; - - // The plan is not enabled and API cannot provide mutation, forecast or - // stats. - KEYWORD_PLAN_NOT_ENABLED = 10; - - // The requested plan cannot be found for providing forecast or stats. - KEYWORD_PLAN_NOT_FOUND = 11; - - // The plan is missing a cpc bid. - MISSING_BID = 13; - - // The plan is missing required forecast_period field. - MISSING_FORECAST_PERIOD = 14; - - // The plan's forecast_period has invalid forecast date range. - INVALID_FORECAST_DATE_RANGE = 15; - - // The plan's name is invalid. - INVALID_NAME = 16; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_idea_error.proto deleted file mode 100644 index 351eae94..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_idea_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanIdeaErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from KeywordPlanIdeaService. - -// Container for enum describing possible errors from KeywordPlanIdeaService. -message KeywordPlanIdeaErrorEnum { - // Enum describing possible errors from KeywordPlanIdeaService. - enum KeywordPlanIdeaError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Error when crawling the input URL. - URL_CRAWL_ERROR = 2; - - // The input has an invalid value. - INVALID_VALUE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto deleted file mode 100644 index 85afa96e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying a keyword plan keyword or keyword -// plan negative keyword. - -// Container for enum describing possible errors from applying a keyword or a -// negative keyword from a keyword plan. -message KeywordPlanKeywordErrorEnum { - // Enum describing possible errors from applying a keyword plan keyword. - enum KeywordPlanKeywordError { - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto deleted file mode 100644 index 840b2d6d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying a keyword plan negative keyword. - -// Container for enum describing possible errors from applying a keyword plan -// negative keyword. -message KeywordPlanNegativeKeywordErrorEnum { - // Enum describing possible errors from applying a keyword plan negative - // keyword. - enum KeywordPlanNegativeKeywordError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/label_error.proto deleted file mode 100644 index 9085f847..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/label_error.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "LabelErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing label errors. - -// Container for enum describing possible label errors. -message LabelErrorEnum { - // Enum describing possible label errors. - enum LabelError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An inactive label cannot be applied. - CANNOT_APPLY_INACTIVE_LABEL = 2; - - // A label cannot be applied to a disabled ad group criterion. - CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; - - // A label cannot be applied to a negative ad group criterion. - CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; - - // Cannot apply more than 50 labels per resource. - EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; - - // Labels from a manager account cannot be applied to campaign, ad group, - // ad group ad, or ad group criterion resources. - INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; - - // Label names must be unique. - DUPLICATE_NAME = 7; - - // Label names cannot be empty. - INVALID_LABEL_NAME = 8; - - // Labels cannot be applied to a draft. - CANNOT_ATTACH_LABEL_TO_DRAFT = 9; - - // Labels not from a manager account cannot be applied to the customer - // resource. - CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/language_code_error.proto deleted file mode 100644 index fb861c62..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/language_code_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "LanguageCodeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing language code errors. - -// Container for enum describing language code errors. -message LanguageCodeErrorEnum { - // Enum describing language code errors. - enum LanguageCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The input language code is not recognized. - LANGUAGE_CODE_NOT_FOUND = 2; - - // The language is not allowed to use. - INVALID_LANGUAGE_CODE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/list_operation_error.proto deleted file mode 100644 index 3525c7fe..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/list_operation_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ListOperationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing list operation errors. - -// Container for enum describing possible list operation errors. -message ListOperationErrorEnum { - // Enum describing possible list operation errors. - enum ListOperationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Field required in value is missing. - REQUIRED_FIELD_MISSING = 7; - - // Duplicate or identical value is sent in multiple list operations. - DUPLICATE_VALUES = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/manager_link_error.proto deleted file mode 100644 index 67494823..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/manager_link_error.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ManagerLinkErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing ManagerLink errors. - -// Container for enum describing possible ManagerLink errors. -message ManagerLinkErrorEnum { - // Enum describing possible ManagerLink errors. - enum ManagerLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The manager and client have incompatible account types. - ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; - - // Client is already linked to too many managers. - TOO_MANY_MANAGERS = 3; - - // Manager has too many pending invitations. - TOO_MANY_INVITES = 4; - - // Client is already invited by this manager. - ALREADY_INVITED_BY_THIS_MANAGER = 5; - - // The client is already managed by this manager. - ALREADY_MANAGED_BY_THIS_MANAGER = 6; - - // Client is already managed in hierarchy. - ALREADY_MANAGED_IN_HIERARCHY = 7; - - // Manger 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/media_bundle_error.proto deleted file mode 100644 index e04d3e8a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/media_bundle_error.proto +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaBundleErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing media bundle errors. - -// Container for enum describing possible media bundle errors. -message MediaBundleErrorEnum { - // Enum describing possible media bundle errors. - enum MediaBundleError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // There was a problem with the request. - BAD_REQUEST = 3; - - // HTML5 ads using DoubleClick Studio created ZIP files are not supported. - DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; - - // Cannot reference URL external to the media bundle. - EXTERNAL_URL_NOT_ALLOWED = 5; - - // Media bundle file is too large. - FILE_TOO_LARGE = 6; - - // ZIP file from Google Web Designer is not published. - GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; - - // Input was invalid. - INVALID_INPUT = 8; - - // There was a problem with the media bundle. - INVALID_MEDIA_BUNDLE = 9; - - // There was a problem with one or more of the media bundle entries. - INVALID_MEDIA_BUNDLE_ENTRY = 10; - - // The media bundle contains a file with an unknown mime type - INVALID_MIME_TYPE = 11; - - // The media bundle contain an invalid asset path. - INVALID_PATH = 12; - - // HTML5 ad is trying to reference an asset not in .ZIP file - INVALID_URL_REFERENCE = 13; - - // Media data is too large. - MEDIA_DATA_TOO_LARGE = 14; - - // The media bundle contains no primary entry. - MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; - - // There was an error on the server. - SERVER_ERROR = 16; - - // The image could not be stored. - STORAGE_ERROR = 17; - - // Media bundle created with the Swiffy tool is not allowed. - SWIFFY_BUNDLE_NOT_ALLOWED = 18; - - // The media bundle contains too many files. - TOO_MANY_FILES = 19; - - // The media bundle is not of legal dimensions. - UNEXPECTED_SIZE = 20; - - // Google Web Designer not created for "Google Ads" environment. - UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; - - // Unsupported HTML5 feature in HTML5 asset. - UNSUPPORTED_HTML5_FEATURE = 22; - - // URL in HTML5 entry is not ssl compliant. - URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; - - // Custom exits not allowed in HTML5 entry. - CUSTOM_EXIT_NOT_ALLOWED = 24; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/media_file_error.proto deleted file mode 100644 index ed906596..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/media_file_error.proto +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing media file errors. - -// Container for enum describing possible media file errors. -message MediaFileErrorEnum { - // Enum describing possible media file errors. - enum MediaFileError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot create a standard icon type. - CANNOT_CREATE_STANDARD_ICON = 2; - - // May only select Standard Icons alone. - CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; - - // Image contains both a media file ID and data. - CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; - - // A media file with given type and reference ID already exists. - DUPLICATE_MEDIA = 5; - - // A required field was not specified or is an empty string. - EMPTY_FIELD = 6; - - // A media file may only be modified once per call. - RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; - - // Field is not supported for the media sub type. - FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; - - // The media file ID is invalid. - INVALID_MEDIA_FILE_ID = 9; - - // The media subtype is invalid. - INVALID_MEDIA_SUB_TYPE = 10; - - // The media file type is invalid. - INVALID_MEDIA_FILE_TYPE = 11; - - // The mimetype is invalid. - INVALID_MIME_TYPE = 12; - - // The media reference ID is invalid. - INVALID_REFERENCE_ID = 13; - - // The YouTube video ID is invalid. - INVALID_YOU_TUBE_ID = 14; - - // Media file has failed transcoding - MEDIA_FILE_FAILED_TRANSCODING = 15; - - // Media file has not been transcoded. - MEDIA_NOT_TRANSCODED = 16; - - // The media type does not match the actual media file's type. - MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; - - // None of the fields have been specified. - NO_FIELDS_SPECIFIED = 18; - - // One of reference ID or media file ID must be specified. - NULL_REFERENCE_ID_AND_MEDIA_ID = 19; - - // The string has too many characters. - TOO_LONG = 20; - - // The specified type is not supported. - UNSUPPORTED_TYPE = 21; - - // YouTube is unavailable for requesting video data. - YOU_TUBE_SERVICE_UNAVAILABLE = 22; - - // The YouTube video has a non positive duration. - YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; - - // The YouTube video ID is syntactically valid but the video was not found. - YOU_TUBE_VIDEO_NOT_FOUND = 24; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/media_upload_error.proto deleted file mode 100644 index 66edf619..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/media_upload_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaUploadErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing media uploading errors. - -// Container for enum describing possible media uploading errors. -message MediaUploadErrorEnum { - // Enum describing possible media uploading errors. - enum MediaUploadError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The uploaded file is too big. - FILE_TOO_BIG = 2; - - // Image data is unparseable. - UNPARSEABLE_IMAGE = 3; - - // Animated images are not allowed. - ANIMATED_IMAGE_NOT_ALLOWED = 4; - - // The image or media bundle format is not allowed. - FORMAT_NOT_ALLOWED = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/multiplier_error.proto deleted file mode 100644 index 845e71c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/multiplier_error.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MultiplierErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing multiplier errors. - -// Container for enum describing possible multiplier errors. -message MultiplierErrorEnum { - // Enum describing possible multiplier errors. - enum MultiplierError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Multiplier value is too high - MULTIPLIER_TOO_HIGH = 2; - - // Multiplier value is too low - MULTIPLIER_TOO_LOW = 3; - - // Too many fractional digits - TOO_MANY_FRACTIONAL_DIGITS = 4; - - // A multiplier cannot be set for this bidding strategy - MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; - - // A multiplier cannot be set when there is no base bid (e.g., 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 vs. cpm) needs to match campaign's bidding strategy - MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/mutate_error.proto deleted file mode 100644 index 42f828fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/mutate_error.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MutateErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing mutate errors. - -// Container for enum describing possible mutate errors. -message MutateErrorEnum { - // Enum describing possible mutate errors. - enum MutateError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Requested resource was not found. - RESOURCE_NOT_FOUND = 3; - - // Cannot mutate the same resource twice in one request. - ID_EXISTS_IN_MULTIPLE_MUTATES = 7; - - // The field's contents don't match another field that represents the same - // data. - INCONSISTENT_FIELD_VALUES = 8; - - // Mutates are not allowed for the requested resource. - MUTATE_NOT_ALLOWED = 9; - - // The resource isn't in Google Ads. It belongs to another ads system. - RESOURCE_NOT_IN_GOOGLE_ADS = 10; - - // The resource being created already exists. - RESOURCE_ALREADY_EXISTS = 11; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/mutate_job_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/mutate_job_error.proto deleted file mode 100644 index 14ef1377..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/mutate_job_error.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing mutate job errors. - -// Container for enum describing possible mutate job errors. -message MutateJobErrorEnum { - // Enum describing possible request errors. - enum MutateJobError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The mutate job cannot add more operations or run after it has started - // running. - CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; - - // The operations for an AddMutateJobOperations request were empty. - EMPTY_OPERATIONS = 3; - - // The sequence token for an AddMutateJobOperations request was invalid. - INVALID_SEQUENCE_TOKEN = 4; - - // Mutate Job Results can only be retrieved once the job is finished. - RESULTS_NOT_READY = 5; - - // The page size for ListMutateJobResults was invalid. - INVALID_PAGE_SIZE = 6; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/new_resource_creation_error.proto deleted file mode 100644 index 216c8671..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/new_resource_creation_error.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NewResourceCreationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing new resource creation errors. - -// Container for enum describing possible new resource creation errors. -message NewResourceCreationErrorEnum { - // Enum describing possible new resource creation errors. - enum NewResourceCreationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Do not set the id field while creating new resources. - CANNOT_SET_ID_FOR_CREATE = 2; - - // Creating more than one resource with the same temp ID is not allowed. - DUPLICATE_TEMP_IDS = 3; - - // Parent resource with specified temp ID failed validation, so no - // validation will be done for this child resource. - TEMP_ID_RESOURCE_HAD_ERRORS = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/not_empty_error.proto deleted file mode 100644 index c87622e3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/not_empty_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NotEmptyErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing not empty errors. - -// Container for enum describing possible not empty errors. -message NotEmptyErrorEnum { - // Enum describing possible not empty errors. - enum NotEmptyError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Empty list. - EMPTY_LIST = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/not_whitelisted_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/not_whitelisted_error.proto deleted file mode 100644 index 256efb2b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/not_whitelisted_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NotWhitelistedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing not whitelisted errors. - -// Container for enum describing possible not whitelisted errors. -message NotWhitelistedErrorEnum { - // Enum describing possible not whitelisted errors. - enum NotWhitelistedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Customer is not whitelisted for accessing this feature. - CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/null_error.proto deleted file mode 100644 index 2c70a688..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/null_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NullErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing null errors. - -// Container for enum describing possible null errors. -message NullErrorEnum { - // Enum describing possible null errors. - enum NullError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Specified list/container must not contain any null elements - NULL_CONTENT = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/operation_access_denied_error.proto deleted file mode 100644 index 329e8776..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/operation_access_denied_error.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "OperationAccessDeniedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing operation access denied errors. - -// Container for enum describing possible operation access denied errors. -message OperationAccessDeniedErrorEnum { - // Enum describing possible operation access denied errors. - enum OperationAccessDeniedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Unauthorized invocation of a service's method (get, mutate, etc.) - ACTION_NOT_PERMITTED = 2; - - // Unauthorized CREATE operation in invoking a service's mutate method. - CREATE_OPERATION_NOT_PERMITTED = 3; - - // Unauthorized REMOVE operation in invoking a service's mutate method. - REMOVE_OPERATION_NOT_PERMITTED = 4; - - // Unauthorized UPDATE operation in invoking a service's mutate method. - UPDATE_OPERATION_NOT_PERMITTED = 5; - - // A mutate action is not allowed on this campaign, 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 campaign or adgroup 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/google-cloud/protos/google/ads/googleads/v1/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/operator_error.proto deleted file mode 100644 index 2d037a49..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/operator_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "OperatorErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing operator errors. - -// Container for enum describing possible operator errors. -message OperatorErrorEnum { - // Enum describing possible operator errors. - enum OperatorError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Operator not supported. - OPERATOR_NOT_SUPPORTED = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/partial_failure_error.proto deleted file mode 100644 index ca61292a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/partial_failure_error.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PartialFailureErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing partial failure errors. - -// Container for enum describing possible partial failure errors. -message PartialFailureErrorEnum { - // Enum describing possible partial failure errors. - enum PartialFailureError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The partial failure field was false in the request. - // This method requires this field be set to true. - PARTIAL_FAILURE_MODE_REQUIRED = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/policy_finding_error.proto deleted file mode 100644 index ea5710d4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/policy_finding_error.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyFindingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing policy finding errors. - -// Container for enum describing possible policy finding errors. -message PolicyFindingErrorEnum { - // Enum describing possible policy finding errors. - enum PolicyFindingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The resource has been disapproved since the policy summary includes - // policy topics of type PROHIBITED. - POLICY_FINDING = 2; - - // The given policy topic does not exist. - POLICY_TOPIC_NOT_FOUND = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/policy_validation_parameter_error.proto deleted file mode 100644 index 3bb919ee..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/policy_validation_parameter_error.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyValidationParameterErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing policy validation parameter errors. - -// Container for enum describing possible policy validation parameter errors. -message PolicyValidationParameterErrorEnum { - // Enum describing possible policy validation parameter errors. - enum PolicyValidationParameterError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Ignorable policy topics are not supported for the ad type. - UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; - - // Exempt policy violation keys are not supported for the ad type. - UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; - - // Cannot set ignorable policy topics and exempt policy violation keys in - // the same policy violation parameter. - CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = - 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/policy_violation_error.proto deleted file mode 100644 index 2b112ffd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/policy_violation_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyViolationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing policy violation errors. - -// Container for enum describing possible policy violation errors. -message PolicyViolationErrorEnum { - // Enum describing possible policy violation errors. - enum PolicyViolationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A policy was violated. See PolicyViolationDetails for more detail. - POLICY_ERROR = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/query_error.proto deleted file mode 100644 index 35b080fb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/query_error.proto +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "QueryErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing query errors. - -// Container for enum describing possible query errors. -message QueryErrorEnum { - // Enum describing possible query errors. - enum QueryError { - // Name unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Returned if all other query error reasons are not applicable. - QUERY_ERROR = 50; - - // A condition used in the query references an invalid enum constant. - BAD_ENUM_CONSTANT = 18; - - // Query contains an invalid escape sequence. - BAD_ESCAPE_SEQUENCE = 7; - - // Field name is invalid. - BAD_FIELD_NAME = 12; - - // Limit value is invalid (i.e. 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; - - // 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; - - // Value passed was not a string when it should have been. I.e., 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; - - // A non-string 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/quota_error.proto deleted file mode 100644 index 71943834..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/quota_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "QuotaErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing quota errors. - -// Container for enum describing possible quota errors. -message QuotaErrorEnum { - // Enum describing possible quota errors. - enum QuotaError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too many requests. - RESOURCE_EXHAUSTED = 2; - - // Access is prohibited. - ACCESS_PROHIBITED = 3; - - // Too many requests in a short amount of time. - RESOURCE_TEMPORARILY_EXHAUSTED = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/range_error.proto deleted file mode 100644 index affa14d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/range_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RangeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing range errors. - -// Container for enum describing possible range errors. -message RangeErrorEnum { - // Enum describing possible range errors. - enum RangeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too low. - TOO_LOW = 2; - - // Too high. - TOO_HIGH = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/recommendation_error.proto deleted file mode 100644 index 20294dfc..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/recommendation_error.proto +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing errors from applying a recommendation. - -// Container for enum describing possible errors from applying a recommendation. -message RecommendationErrorEnum { - // Enum describing possible errors from applying a recommendation. - enum RecommendationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified budget amount is too low e.g. 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. e.g. 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. e.g. 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/region_code_error.proto deleted file mode 100644 index 712b6621..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/region_code_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RegionCodeErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing region code errors. - -// Container for enum describing possible region code errors. -message RegionCodeErrorEnum { - // Enum describing possible region code errors. - enum RegionCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid region code. - INVALID_REGION_CODE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/request_error.proto deleted file mode 100644 index 50f10397..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/request_error.proto +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RequestErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing request errors. - -// Container for enum describing possible request errors. -message RequestErrorEnum { - // Enum describing possible request errors. - enum RequestError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Resource name is required for this request. - RESOURCE_NAME_MISSING = 3; - - // Resource name provided is malformed. - RESOURCE_NAME_MALFORMED = 4; - - // Resource name provided is malformed. - BAD_RESOURCE_ID = 17; - - // Customer ID is invalid. - INVALID_CUSTOMER_ID = 16; - - // Mutate operation should have either create, update, or remove specified. - OPERATION_REQUIRED = 5; - - // Requested resource not found. - RESOURCE_NOT_FOUND = 6; - - // Next page token specified in user request is invalid. - INVALID_PAGE_TOKEN = 7; - - // Next page token specified in user request has expired. - EXPIRED_PAGE_TOKEN = 8; - - // Page size specified in user request is invalid. - INVALID_PAGE_SIZE = 22; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/resource_access_denied_error.proto deleted file mode 100644 index 0cf38bdb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/resource_access_denied_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ResourceAccessDeniedErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing resource access denied errors. - -// Container for enum describing possible resource access denied errors. -message ResourceAccessDeniedErrorEnum { - // Enum describing possible resource access denied errors. - enum ResourceAccessDeniedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // User did not have write access. - WRITE_ACCESS_DENIED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto deleted file mode 100644 index 9a636569..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ResourceCountLimitExceededErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing resource count limit exceeded errors. - -// Container for enum describing possible resource count limit exceeded errors. -message ResourceCountLimitExceededErrorEnum { - // Enum describing possible resource count limit exceeded errors. - enum ResourceCountLimitExceededError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Indicates that this request would exceed the number of allowed resources - // for the Google Ads account. The exact resource type and limit being - // checked can be inferred from accountLimitType. - ACCOUNT_LIMIT = 2; - - // Indicates that this request would exceed the number of allowed resources - // in a Campaign. The exact resource type and limit being checked can be - // inferred from accountLimitType, and the numeric id of the - // Campaign involved is given by enclosingId. - CAMPAIGN_LIMIT = 3; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group. The exact resource type and limit being checked can be - // inferred from accountLimitType, and the numeric id of the - // ad group involved is given by enclosingId. - ADGROUP_LIMIT = 4; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group ad. The exact resource type and limit being checked can - // be inferred from accountLimitType, and the enclosingId - // contains the ad group id followed by the ad id, separated by a single - // comma (,). - AD_GROUP_AD_LIMIT = 5; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group criterion. The exact resource type and limit being checked - // can be inferred from accountLimitType, and the - // enclosingId contains the ad group id followed by the - // criterion id, separated by a single comma (,). - AD_GROUP_CRITERION_LIMIT = 6; - - // Indicates that this request would exceed the number of allowed resources - // in this shared set. The exact resource type and limit being checked can - // be inferred from accountLimitType, and the numeric id of the - // shared set involved is given by enclosingId. - SHARED_SET_LIMIT = 7; - - // Exceeds a limit related to a matching function. - MATCHING_FUNCTION_LIMIT = 8; - - // The response for this request would exceed the maximum number of rows - // that can be returned. - RESPONSE_ROW_LIMIT_EXCEEDED = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/setting_error.proto deleted file mode 100644 index 23ae8e0c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/setting_error.proto +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SettingErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing setting errors. - -// Container for enum describing possible setting errors. -message SettingErrorEnum { - // Enum describing possible setting errors. - enum SettingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The campaign setting is not available for this Google Ads account. - SETTING_TYPE_IS_NOT_AVAILABLE = 3; - - // The setting is not compatible with the campaign. - SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; - - // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See - // CriterionTypeGroup documentation for CriterionTypeGroups allowed - // in Campaign or AdGroup TargetingSettings. - TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; - - // TargetingSetting must not explicitly - // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, - // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in - // which case the system will set them to true automatically). - TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = - 6; - - // TargetingSetting cannot change any of - // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, - // INCOME_RANGE) from true to false. - TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = - 7; - - // At least one feed id should be present. - DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; - - // The supplied DynamicSearchAdsSetting contains an invalid domain name. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; - - // The supplied DynamicSearchAdsSetting contains a subdomain name. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; - - // The supplied DynamicSearchAdsSetting contains an invalid language code. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; - - // TargetingSettings in search campaigns should not have - // CriterionTypeGroup.PLACEMENT set to targetAll. - TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; - - // Duplicate description in universal app setting description field. - UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13; - - // Description line width is too long in universal app setting description - // field. - UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14; - - // Universal app setting appId field cannot be modified for COMPLETE - // campaigns. - UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15; - - // YoutubeVideoMediaIds in universal app setting cannot exceed size limit. - TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16; - - // ImageMediaIds in universal app setting cannot exceed size limit. - TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17; - - // Media is incompatible for universal app campaign. - MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18; - - // Too many exclamation marks in universal app campaign ad text ideas. - TOO_MANY_EXCLAMATION_MARKS = 19; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/shared_criterion_error.proto deleted file mode 100644 index a63ab665..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/shared_criterion_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SharedCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing shared criterion errors. - -// Container for enum describing possible shared criterion errors. -message SharedCriterionErrorEnum { - // Enum describing possible shared criterion errors. - enum SharedCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The criterion is not appropriate for the shared set type. - CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/shared_set_error.proto deleted file mode 100644 index 530753bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/shared_set_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing shared set errors. - -// Container for enum describing possible shared set errors. -message SharedSetErrorEnum { - // Enum describing possible shared set errors. - enum SharedSetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The customer cannot create this type of shared set. - CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; - - // A shared set with this name already exists. - DUPLICATE_NAME = 3; - - // Removed shared sets cannot be mutated. - SHARED_SET_REMOVED = 4; - - // The shared set cannot be removed because it is in use. - SHARED_SET_IN_USE = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/size_limit_error.proto deleted file mode 100644 index bf192be9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/size_limit_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SizeLimitErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing size limit errors. - -// Container for enum describing possible size limit errors. -message SizeLimitErrorEnum { - // Enum describing possible size limit errors. - enum SizeLimitError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The number of entries in the request exceeds the system limit. - REQUEST_SIZE_LIMIT_EXCEEDED = 2; - - // The number of entries in the response exceeds the system limit. - RESPONSE_SIZE_LIMIT_EXCEEDED = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/string_format_error.proto deleted file mode 100644 index 1e05d7b7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/string_format_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "StringFormatErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing string format errors. - -// Container for enum describing possible string format errors. -message StringFormatErrorEnum { - // Enum describing possible string format errors. - enum StringFormatError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The input string value contains disallowed characters. - ILLEGAL_CHARS = 2; - - // The input string value is invalid for the associated field. - INVALID_FORMAT = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/string_length_error.proto deleted file mode 100644 index fba2e6ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/string_length_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "StringLengthErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing string length errors. - -// Container for enum describing possible string length errors. -message StringLengthErrorEnum { - // Enum describing possible string length errors. - enum StringLengthError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too short. - TOO_SHORT = 2; - - // Too long. - TOO_LONG = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/url_field_error.proto deleted file mode 100644 index f1d7203d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/url_field_error.proto +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "UrlFieldErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing url field errors. - -// Container for enum describing possible url field errors. -message UrlFieldErrorEnum { - // Enum describing possible url field errors. - enum UrlFieldError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The tracking url template is invalid. - INVALID_TRACKING_URL_TEMPLATE = 2; - - // The tracking url template contains invalid tag. - INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; - - // The tracking url template must contain at least one tag (e.g. {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 (i.e. {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 - // (i.e. {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 (i.e. {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 - // (i.e. {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. (E.g. "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 (i.e. {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 (e.g. {lpurl}), This applies only - // to urls associated with website ads or product ads. - 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, e.g, 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/user_list_error.proto deleted file mode 100644 index 7b3acb47..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/user_list_error.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "UserListErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing user list errors. - -// Container for enum describing possible user list errors. -message UserListErrorEnum { - // Enum describing possible user list errors. - enum UserListError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Creating and updating external remarketing user lists is not supported. - EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; - - // Concrete type of user list is required. - CONCRETE_TYPE_REQUIRED = 3; - - // Creating/updating user list conversion types requires specifying the - // conversion type Id. - CONVERSION_TYPE_ID_REQUIRED = 4; - - // Remarketing user list cannot have duplicate conversion types. - DUPLICATE_CONVERSION_TYPES = 5; - - // Conversion type is invalid/unknown. - INVALID_CONVERSION_TYPE = 6; - - // User list description is empty or invalid. - INVALID_DESCRIPTION = 7; - - // User list name is empty or invalid. - INVALID_NAME = 8; - - // Type of the UserList does not match. - INVALID_TYPE = 9; - - // Embedded logical user lists are not allowed. - CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; - - // User list rule operand is invalid. - INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; - - // Name is already being used for another user list for the account. - NAME_ALREADY_USED = 12; - - // Name is required when creating a new conversion type. - NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; - - // The given conversion type name has been used. - CONVERSION_TYPE_NAME_ALREADY_USED = 14; - - // Only an owner account may edit a user list. - OWNERSHIP_REQUIRED_FOR_SET = 15; - - // Creating user list without setting type in oneof user_list field, or - // creating/updating read-only user list types is not allowed. - USER_LIST_MUTATE_NOT_SUPPORTED = 16; - - // Rule is invalid. - INVALID_RULE = 17; - - // The specified date range is empty. - INVALID_DATE_RANGE = 27; - - // A UserList which is privacy sensitive or legal rejected cannot be mutated - // by external users. - CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; - - // Maximum number of rulebased user lists a customer can have. - MAX_NUM_RULEBASED_USERLISTS = 29; - - // BasicUserList's billable record field cannot be modified once it is set. - CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; - - // crm_based_user_list.app_id field must be set when upload_key_type is - // MOBILE_ADVERTISING_ID. - APP_ID_NOT_SET = 31; - - // Name of the user list is reserved for system generated lists and cannot - // be used. - USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; - - // Advertiser needs to be whitelisted to use remarketing lists created from - // advertiser uploaded data (e.g., Customer Match lists). - ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33; - - // 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; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v1/errors/youtube_video_registration_error.proto deleted file mode 100644 index 1f50b2d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/errors/youtube_video_registration_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; -option java_package = "com.google.ads.googleads.v1.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V1::Errors"; - -// Proto file describing YouTube video registration errors. - -// Container for enum describing YouTube video registration errors. -message YoutubeVideoRegistrationErrorEnum { - // Enum describing YouTube video registration errors. - enum YoutubeVideoRegistrationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Video to be registered wasn't found. - VIDEO_NOT_FOUND = 2; - - // Video to be registered is not accessible (e.g. private). - VIDEO_NOT_ACCESSIBLE = 3; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v1/resources/account_budget.proto deleted file mode 100644 index 55125e2d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/account_budget.proto +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/account_budget_proposal_type.proto"; -import "google/ads/googleads/v1/enums/account_budget_status.proto"; -import "google/ads/googleads/v1/enums/spending_limit_type.proto"; -import "google/ads/googleads/v1/enums/time_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the AccountBudget resource. - -// An account-level budget. It contains information about the budget itself, -// as well as the most recently approved changes to the budget and proposed -// changes that are pending approval. The proposed changes that are pending -// approval, if any, are found in 'pending_proposal'. Effective details about -// the budget are found in fields prefixed 'approved_', 'adjusted_' and those -// without a prefix. Since some effective details may differ from what the user -// had originally requested (e.g. spending limit), these differences are -// juxtaposed via '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 { - // A pending proposal associated with the enclosing account-level budget, - // if applicable. - message PendingAccountBudgetProposal { - // The resource name of the proposal. - // AccountBudgetProposal resource names have the form: - // - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - google.protobuf.StringValue account_budget_proposal = 1; - - // The type of this proposal, e.g. END to end the budget associated - // with this proposal. - google.ads.googleads.v1.enums.AccountBudgetProposalTypeEnum - .AccountBudgetProposalType proposal_type = 2; - - // The name to assign to the account-level budget. - google.protobuf.StringValue name = 3; - - // The start time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue start_date_time = 4; - - // A purchase order number is a value that helps users reference this budget - // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 9; - - // Notes associated with this budget. - google.protobuf.StringValue notes = 10; - - // The time when this account-level budget proposal was created. - // Formatted as yyyy-MM-dd HH:mm:ss. - google.protobuf.StringValue creation_date_time = 11; - - // The end time of the account-level budget. - oneof end_time { - // The end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 5; - - // The end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType end_time_type = 6; - } - - // The spending limit. - oneof spending_limit { - // The spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value spending_limit_micros = 7; - - // The spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - spending_limit_type = 8; - } - } - - // 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; - - // The ID of the account-level budget. - google.protobuf.Int64Value id = 2; - - // 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}` - google.protobuf.StringValue billing_setup = 3; - - // The status of this account-level budget. - google.ads.googleads.v1.enums.AccountBudgetStatusEnum.AccountBudgetStatus - status = 4; - - // The name of the account-level budget. - google.protobuf.StringValue name = 5; - - // 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. - google.protobuf.StringValue proposed_start_date_time = 6; - - // 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. - google.protobuf.StringValue approved_start_date_time = 7; - - // The total adjustments amount. - // - // An example of an adjustment is courtesy credits. - google.protobuf.Int64Value total_adjustments_micros = 18; - - // 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). - google.protobuf.Int64Value amount_served_micros = 19; - - // A purchase order number is a value that helps users reference this budget - // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 20; - - // Notes associated with the budget. - google.protobuf.StringValue notes = 21; - - // The pending proposal to modify this budget, if applicable. - PendingAccountBudgetProposal pending_proposal = 22; - - // The proposed end time of the account-level budget. - oneof proposed_end_time { - // The proposed end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 8; - - // The proposed end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_end_time_type = - 9; - } - - // 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 { - // The approved end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 10; - - // The approved end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType approved_end_time_type = - 11; - } - - // The proposed spending limit. - oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 12; - - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - proposed_spending_limit_type = 13; - } - - // 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 { - // 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. - google.protobuf.Int64Value approved_spending_limit_micros = 14; - - // The approved spending limit as a well-defined type, e.g. INFINITE. This - // will only be populated if the approved spending limit is INFINITE. - google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - approved_spending_limit_type = 15; - } - - // 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 { - // 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. - google.protobuf.Int64Value adjusted_spending_limit_micros = 16; - - // The adjusted spending limit as a well-defined type, e.g. 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.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - adjusted_spending_limit_type = 17; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v1/resources/account_budget_proposal.proto deleted file mode 100644 index 00a9f426..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/account_budget_proposal.proto +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/account_budget_proposal_status.proto"; -import "google/ads/googleads/v1/enums/account_budget_proposal_type.proto"; -import "google/ads/googleads/v1/enums/spending_limit_type.proto"; -import "google/ads/googleads/v1/enums/time_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the AccountBudgetProposal resource. - -// An account-level budget proposal. -// -// All fields prefixed with 'proposed' may not necessarily be applied directly. -// For example, proposed spending limits may be adjusted before their -// application. This is true if the 'proposed' field has an 'approved' -// counterpart, e.g. spending limits. -// -// Please note that the proposal type (proposal_type) changes which fields are -// required and which must remain empty. -message AccountBudgetProposal { - // The resource name of the proposal. - // AccountBudgetProposal resource names have the form: - // - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - string resource_name = 1; - - // The ID of the proposal. - google.protobuf.Int64Value id = 14; - - // The resource name of the billing setup associated with this proposal. - google.protobuf.StringValue billing_setup = 2; - - // The resource name of the account-level budget associated with this - // proposal. - google.protobuf.StringValue account_budget = 3; - - // The type of this proposal, e.g. END to end the budget associated with this - // proposal. - google.ads.googleads.v1.enums.AccountBudgetProposalTypeEnum - .AccountBudgetProposalType proposal_type = 4; - - // The status of this proposal. - // When a new proposal is created, the status defaults to PENDING. - google.ads.googleads.v1.enums.AccountBudgetProposalStatusEnum - .AccountBudgetProposalStatus status = 15; - - // The name to assign to the account-level budget. - google.protobuf.StringValue proposed_name = 5; - - // The approved start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_start_date_time = 20; - - // A purchase order number is a value that enables the user to help them - // reference this budget in their monthly invoices. - google.protobuf.StringValue proposed_purchase_order_number = 12; - - // Notes associated with this budget. - google.protobuf.StringValue proposed_notes = 13; - - // The date time when this account-level budget proposal was created, which is - // not the same as its approval date time, if applicable. - google.protobuf.StringValue creation_date_time = 16; - - // The date time when this account-level budget was approved, if applicable. - google.protobuf.StringValue approval_date_time = 17; - - // The proposed start date time of the account-level budget, which cannot be - // in the past. - oneof proposed_start_time { - // The proposed start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_start_date_time = 18; - - // The proposed start date time as a well-defined type, e.g. NOW. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType - proposed_start_time_type = 7; - } - - // The proposed end date time of the account-level budget, which cannot be in - // the past. - oneof proposed_end_time { - // The proposed end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 19; - - // The proposed end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_end_time_type = - 9; - } - - // The approved end date time of the account-level budget. - oneof approved_end_time { - // The approved end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 21; - - // The approved end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType approved_end_time_type = - 22; - } - - // The proposed spending limit. - oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 10; - - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - proposed_spending_limit_type = 11; - } - - // The approved spending limit. - oneof approved_spending_limit { - // The approved spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value approved_spending_limit_micros = 23; - - // The approved spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType - approved_spending_limit_type = 24; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad.proto deleted file mode 100644 index d89cd11e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad.proto +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/ad_type_infos.proto"; -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/common/final_app_url.proto"; -import "google/ads/googleads/v1/common/url_collection.proto"; -import "google/ads/googleads/v1/enums/ad_type.proto"; -import "google/ads/googleads/v1/enums/device.proto"; -import "google/ads/googleads/v1/enums/system_managed_entity_source.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad type. - -// An ad. -message Ad { - // The ID of the ad. - google.protobuf.Int64Value id = 1; - - // The list of possible final URLs after all cross-domain redirects for the - // ad. - repeated google.protobuf.StringValue final_urls = 2; - - // A list of final app URLs that will be used on mobile if the user has the - // specific app installed. - repeated google.ads.googleads.v1.common.FinalAppUrl final_app_urls = 35; - - // The list of possible final mobile URLs after all cross-domain redirects - // for the ad. - repeated google.protobuf.StringValue final_mobile_urls = 16; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 12; - - // The list of mappings that can be used to substitute custom parameter tags - // in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. - repeated google.ads.googleads.v1.common.CustomParameter - url_custom_parameters = 10; - - // The URL that appears in the ad description for some ad formats. - google.protobuf.StringValue display_url = 4; - - // The type of ad. - google.ads.googleads.v1.enums.AdTypeEnum.AdType type = 5; - - // 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. - google.protobuf.BoolValue added_by_google_ads = 19; - - // 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, e.g. 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.v1.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.v1.common.UrlCollection url_collections = 26; - - // 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. - google.protobuf.StringValue name = 23; - - // If this ad is system managed, then this field will indicate the source. - // This field is read-only. - google.ads.googleads.v1.enums.SystemManagedResourceSourceEnum - .SystemManagedResourceSource system_managed_resource_source = 27; - - // Details pertinent to the ad type. Exactly one value must be set. - oneof ad_data { - // Details pertaining to a text ad. - google.ads.googleads.v1.common.TextAdInfo text_ad = 6; - - // Details pertaining to an expanded text ad. - google.ads.googleads.v1.common.ExpandedTextAdInfo expanded_text_ad = 7; - - // Details pertaining to a call-only ad. - google.ads.googleads.v1.common.CallOnlyAdInfo call_only_ad = 13; - - // 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.v1.common.ExpandedDynamicSearchAdInfo - expanded_dynamic_search_ad = 14; - - // Details pertaining to a hotel ad. - google.ads.googleads.v1.common.HotelAdInfo hotel_ad = 15; - - // Details pertaining to a Smart Shopping ad. - google.ads.googleads.v1.common.ShoppingSmartAdInfo shopping_smart_ad = 17; - - // Details pertaining to a Shopping product ad. - google.ads.googleads.v1.common.ShoppingProductAdInfo shopping_product_ad = - 18; - - // Details pertaining to a Gmail ad. - google.ads.googleads.v1.common.GmailAdInfo gmail_ad = 21; - - // Details pertaining to an Image ad. - google.ads.googleads.v1.common.ImageAdInfo image_ad = 22; - - // Details pertaining to a Video ad. - google.ads.googleads.v1.common.VideoAdInfo video_ad = 24; - - // Details pertaining to a responsive search ad. - google.ads.googleads.v1.common.ResponsiveSearchAdInfo responsive_search_ad = - 25; - - // Details pertaining to a legacy responsive display ad. - google.ads.googleads.v1.common.LegacyResponsiveDisplayAdInfo - legacy_responsive_display_ad = 28; - - // Details pertaining to an app ad. - google.ads.googleads.v1.common.AppAdInfo app_ad = 29; - - // Details pertaining to a legacy app install ad. - google.ads.googleads.v1.common.LegacyAppInstallAdInfo - legacy_app_install_ad = 30; - - // Details pertaining to a responsive display ad. - google.ads.googleads.v1.common.ResponsiveDisplayAdInfo - responsive_display_ad = 31; - - // Details pertaining to a display upload ad. - google.ads.googleads.v1.common.DisplayUploadAdInfo display_upload_ad = 33; - - // Details pertaining to an app engagement ad. - google.ads.googleads.v1.common.AppEngagementAdInfo app_engagement_ad = 34; - - // Details pertaining to a Shopping Comparison Listing ad. - google.ads.googleads.v1.common.ShoppingComparisonListingAdInfo - shopping_comparison_listing_ad = 36; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group.proto deleted file mode 100644 index c4ad34b3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group.proto +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto"; -import "google/ads/googleads/v1/common/targeting_setting.proto"; -import "google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto"; -import "google/ads/googleads/v1/enums/ad_group_status.proto"; -import "google/ads/googleads/v1/enums/ad_group_type.proto"; -import "google/ads/googleads/v1/enums/bidding_source.proto"; -import "google/ads/googleads/v1/enums/targeting_dimension.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group resource. - -// An ad group. -message AdGroup { - // 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; - - // The ID of the ad group. - google.protobuf.Int64Value id = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // The status of the ad group. - google.ads.googleads.v1.enums.AdGroupStatusEnum.AdGroupStatus status = 5; - - // The type of the ad group. - google.ads.googleads.v1.enums.AdGroupTypeEnum.AdGroupType type = 12; - - // The ad rotation mode of the ad group. - google.ads.googleads.v1.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode - ad_rotation_mode = 22; - - // 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. - google.protobuf.StringValue base_ad_group = 18; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 13; - - // 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.v1.common.CustomParameter - url_custom_parameters = 6; - - // The campaign to which the ad group belongs. - google.protobuf.StringValue campaign = 10; - - // The maximum CPC (cost-per-click) bid. - google.protobuf.Int64Value cpc_bid_micros = 14; - - // The maximum CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value cpm_bid_micros = 15; - - // The target CPA (cost-per-acquisition). - google.protobuf.Int64Value target_cpa_micros = 27; - - // The CPV (cost-per-view) bid. - google.protobuf.Int64Value cpv_bid_micros = 17; - - // Average amount in micros that the advertiser is willing to pay for every - // thousand times the ad is shown. - google.protobuf.Int64Value target_cpm_micros = 26; - - // The target ROAS (return-on-ad-spend) override. If the ad group's campaign - // bidding strategy is a standard Target ROAS strategy, then this field - // overrides the target ROAS specified in the campaign's bidding strategy. - // Otherwise, this value is ignored. - google.protobuf.DoubleValue target_roas = 30; - - // 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]. - google.protobuf.Int64Value percent_cpc_bid_micros = 20; - - // Settings for the Display Campaign Optimizer, initially termed "Explorer". - google.ads.googleads.v1.common.ExplorerAutoOptimizerSetting - explorer_auto_optimizer_setting = 21; - - // Allows advertisers to specify a targeting dimension on which to place - // absolute bids. This is only applicable for campaigns that target only the - // display network and not search. - google.ads.googleads.v1.enums.TargetingDimensionEnum.TargetingDimension - display_custom_bid_dimension = 23; - - // URL template for appending params to Final URL. - google.protobuf.StringValue final_url_suffix = 24; - - // Setting for targeting related features. - google.ads.googleads.v1.common.TargetingSetting targeting_setting = 25; - - // The effective target CPA (cost-per-acquisition). - // This field is read-only. - google.protobuf.Int64Value effective_target_cpa_micros = 28; - - // Source of the effective target CPA. - // This field is read-only. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_target_cpa_source = 29; - - // The effective target ROAS (return-on-ad-spend). - // This field is read-only. - google.protobuf.DoubleValue effective_target_roas = 31; - - // Source of the effective target ROAS. - // This field is read-only. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_target_roas_source = 32; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad.proto deleted file mode 100644 index 67b7886f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/policy.proto"; -import "google/ads/googleads/v1/enums/ad_group_ad_status.proto"; -import "google/ads/googleads/v1/enums/ad_strength.proto"; -import "google/ads/googleads/v1/enums/policy_approval_status.proto"; -import "google/ads/googleads/v1/enums/policy_review_status.proto"; -import "google/ads/googleads/v1/resources/ad.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group ad resource. - -// An ad group ad. -message AdGroupAd { - // 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; - - // The status of the ad. - google.ads.googleads.v1.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; - - // The ad group to which the ad belongs. - google.protobuf.StringValue ad_group = 4; - - // The ad. - Ad ad = 5; - - // Policy information for the ad. - AdGroupAdPolicySummary policy_summary = 6; - - // Overall ad strength for this ad group ad. - google.ads.googleads.v1.enums.AdStrengthEnum.AdStrength ad_strength = 7; -} - -// Contains policy information for an ad. -message AdGroupAdPolicySummary { - // The list of policy findings for this ad. - repeated google.ads.googleads.v1.common.PolicyTopicEntry - policy_topic_entries = 1; - - // Where in the review process this ad is. - google.ads.googleads.v1.enums.PolicyReviewStatusEnum.PolicyReviewStatus - review_status = 2; - - // The overall approval status of this ad, calculated based on the status of - // its individual policy topic entries. - google.ads.googleads.v1.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus - approval_status = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad_label.proto deleted file mode 100644 index aaecc193..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_ad_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdLabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group ad label resource. - -// A relationship between an ad group ad and a label. -message AdGroupAdLabel { - // 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; - - // The ad group ad to which the label is attached. - google.protobuf.StringValue ad_group_ad = 2; - - // The label assigned to the ad group ad. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_audience_view.proto deleted file mode 100644 index 6a7e7af9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_audience_view.proto +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAudienceViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::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 { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto deleted file mode 100644 index 152c3dfa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/enums/bid_modifier_source.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group bid modifier resource. - -// Represents an ad group bid modifier. -message AdGroupBidModifier { - // 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; - - // The ad group to which this criterion belongs. - google.protobuf.StringValue ad_group = 2; - - // The ID of the criterion to bid modify. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; - - // 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. - google.protobuf.DoubleValue bid_modifier = 4; - - // 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. - google.protobuf.StringValue base_ad_group = 9; - - // Bid modifier source. - google.ads.googleads.v1.enums.BidModifierSourceEnum.BidModifierSource - bid_modifier_source = 10; - - // The criterion of this ad group bid modifier. - oneof criterion { - // Criterion for hotel date selection (default dates vs. user selected). - google.ads.googleads.v1.common.HotelDateSelectionTypeInfo - hotel_date_selection_type = 5; - - // Criterion for number of days prior to the stay the booking is being made. - google.ads.googleads.v1.common.HotelAdvanceBookingWindowInfo - hotel_advance_booking_window = 6; - - // Criterion for length of hotel stay in nights. - google.ads.googleads.v1.common.HotelLengthOfStayInfo hotel_length_of_stay = - 7; - - // Criterion for day of the week the booking is for. - google.ads.googleads.v1.common.HotelCheckInDayInfo hotel_check_in_day = 8; - - // A device criterion. - google.ads.googleads.v1.common.DeviceInfo device = 11; - - // A preferred content criterion. - google.ads.googleads.v1.common.PreferredContentInfo preferred_content = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion.proto deleted file mode 100644 index 10ef22ab..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion.proto +++ /dev/null @@ -1,253 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/enums/ad_group_criterion_approval_status.proto"; -import "google/ads/googleads/v1/enums/ad_group_criterion_status.proto"; -import "google/ads/googleads/v1/enums/bidding_source.proto"; -import "google/ads/googleads/v1/enums/criterion_system_serving_status.proto"; -import "google/ads/googleads/v1/enums/criterion_type.proto"; -import "google/ads/googleads/v1/enums/quality_score_bucket.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group criterion resource. - -// An ad group criterion. -message AdGroupCriterion { - // A container for ad group criterion quality information. - message QualityInfo { - // The quality score. - // - // This field may not be populated if Google does not have enough - // information to determine a value. - google.protobuf.Int32Value quality_score = 1; - - // The performance of the ad compared to other advertisers. - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - creative_quality_score = 2; - - // The quality score of the landing page. - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - post_click_quality_score = 3; - - // The click-through rate compared to that of other advertisers. - google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket - search_predicted_ctr = 4; - } - - // Estimates for criterion bids at various positions. - message PositionEstimates { - // The estimate of the CPC bid required for ad to be shown on first - // page of search results. - google.protobuf.Int64Value first_page_cpc_micros = 1; - - // 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. - google.protobuf.Int64Value first_position_cpc_micros = 2; - - // The estimate of the CPC bid required for ad to be displayed at the top - // of the first page of search results. - google.protobuf.Int64Value top_of_page_cpc_micros = 3; - - // Estimate of how many clicks per week you might get by changing your - // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4; - - // Estimate of how your cost per week might change when changing your - // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5; - } - - // 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; - - // The ID of the criterion. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 26; - - // The status of the criterion. - google.ads.googleads.v1.enums.AdGroupCriterionStatusEnum - .AdGroupCriterionStatus status = 3; - - // Information regarding the quality of the criterion. - QualityInfo quality_info = 4; - - // The ad group to which the criterion belongs. - google.protobuf.StringValue ad_group = 5; - - // The type of the criterion. - google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 25; - - // 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. - google.protobuf.BoolValue negative = 31; - - // Serving status of the criterion. - google.ads.googleads.v1.enums.CriterionSystemServingStatusEnum - .CriterionSystemServingStatus system_serving_status = 52; - - // Approval status of the criterion. - google.ads.googleads.v1.enums.AdGroupCriterionApprovalStatusEnum - .AdGroupCriterionApprovalStatus approval_status = 53; - - // 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. - google.protobuf.DoubleValue bid_modifier = 44; - - // The CPC (cost-per-click) bid. - google.protobuf.Int64Value cpc_bid_micros = 16; - - // The CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value cpm_bid_micros = 17; - - // The CPV (cost-per-view) bid. - google.protobuf.Int64Value cpv_bid_micros = 24; - - // 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]. - google.protobuf.Int64Value percent_cpc_bid_micros = 33; - - // The effective CPC (cost-per-click) bid. - google.protobuf.Int64Value effective_cpc_bid_micros = 18; - - // The effective CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value effective_cpm_bid_micros = 19; - - // The effective CPV (cost-per-view) bid. - google.protobuf.Int64Value effective_cpv_bid_micros = 20; - - // The effective Percent CPC bid amount. - google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34; - - // Source of the effective CPC bid. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_cpc_bid_source = 21; - - // Source of the effective CPM bid. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_cpm_bid_source = 22; - - // Source of the effective CPV bid. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_cpv_bid_source = 23; - - // Source of the effective Percent CPC bid. - google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource - effective_percent_cpc_bid_source = 35; - - // Estimates for criterion bids at various positions. - PositionEstimates position_estimates = 10; - - // The list of possible final URLs after all cross-domain redirects for the - // ad. - repeated google.protobuf.StringValue final_urls = 11; - - // The list of possible final mobile URLs after all cross-domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 51; - - // URL template for appending params to final URL. - google.protobuf.StringValue final_url_suffix = 50; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 13; - - // 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.v1.common.CustomParameter - url_custom_parameters = 14; - - // The ad group criterion. - // - // Exactly one must be set. - oneof criterion { - // Keyword. - google.ads.googleads.v1.common.KeywordInfo keyword = 27; - - // Placement. - google.ads.googleads.v1.common.PlacementInfo placement = 28; - - // Mobile app category. - google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = - 29; - - // Mobile application. - google.ads.googleads.v1.common.MobileApplicationInfo mobile_application = - 30; - - // Listing group. - google.ads.googleads.v1.common.ListingGroupInfo listing_group = 32; - - // Age range. - google.ads.googleads.v1.common.AgeRangeInfo age_range = 36; - - // Gender. - google.ads.googleads.v1.common.GenderInfo gender = 37; - - // Income range. - google.ads.googleads.v1.common.IncomeRangeInfo income_range = 38; - - // Parental status. - google.ads.googleads.v1.common.ParentalStatusInfo parental_status = 39; - - // User List. - google.ads.googleads.v1.common.UserListInfo user_list = 42; - - // YouTube Video. - google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 40; - - // YouTube Channel. - google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 41; - - // Topic. - google.ads.googleads.v1.common.TopicInfo topic = 43; - - // User Interest. - google.ads.googleads.v1.common.UserInterestInfo user_interest = 45; - - // Webpage - google.ads.googleads.v1.common.WebpageInfo webpage = 46; - - // App Payment Model. - google.ads.googleads.v1.common.AppPaymentModelInfo app_payment_model = 47; - - // Custom Affinity. - google.ads.googleads.v1.common.CustomAffinityInfo custom_affinity = 48; - - // Custom Intent. - google.ads.googleads.v1.common.CustomIntentInfo custom_intent = 49; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_label.proto deleted file mode 100644 index 121f6772..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_label.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionLabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group criterion label resource. - -// A relationship between an ad group criterion and a label. -message AdGroupCriterionLabel { - // 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; - - // The ad group criterion to which the label is attached. - google.protobuf.StringValue ad_group_criterion = 2; - - // The label assigned to the ad group criterion. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto deleted file mode 100644 index e846e635..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/simulation.proto"; -import "google/ads/googleads/v1/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v1/enums/simulation_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionSimulationProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group criterion simulation resource. - -// An ad group criterion simulation. Supported combinations of advertising -// channel type, criterion type, simulation type, and simulation modification -// method are detailed below respectively. -// -// SEARCH KEYWORD CPC_BID UNIFORM -message AdGroupCriterionSimulation { - // 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; - - // AdGroup ID of the simulation. - google.protobuf.Int64Value ad_group_id = 2; - - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; - - // The field that the simulation modifies. - google.ads.googleads.v1.enums.SimulationTypeEnum.SimulationType type = 4; - - // How the simulation modifies the field. - google.ads.googleads.v1.enums.SimulationModificationMethodEnum - .SimulationModificationMethod modification_method = 5; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; - - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v1.common.CpcBidSimulationPointList - cpc_bid_point_list = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_extension_setting.proto deleted file mode 100644 index fef67a91..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_extension_setting.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/extension_setting_device.proto"; -import "google/ads/googleads/v1/enums/extension_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the AdGroupExtensionSetting resource. - -// An ad group extension setting. -message AdGroupExtensionSetting { - // 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; - - // The extension type of the ad group extension setting. - google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = - 2; - - // 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}` - google.protobuf.StringValue ad_group = 3; - - // 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 google.protobuf.StringValue extension_feed_items = 4; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum - .ExtensionSettingDevice device = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_feed.proto deleted file mode 100644 index e1f1601f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_feed.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/matching_function.proto"; -import "google/ads/googleads/v1/enums/feed_link_status.proto"; -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the AdGroupFeed resource. - -// An ad group feed. -message AdGroupFeed { - // 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; - - // The feed being linked to the ad group. - google.protobuf.StringValue feed = 2; - - // The ad group being linked to the feed. - google.protobuf.StringValue ad_group = 3; - - // Indicates which placeholder types the feed may populate under the connected - // ad group. Required. - repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_types = 4; - - // Matching function associated with the AdGroupFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v1.common.MatchingFunction matching_function = 5; - - // Status of the ad group feed. - // This field is read-only. - google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_label.proto deleted file mode 100644 index db9f20d4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupLabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group label resource. - -// A relationship between an ad group and a label. -message AdGroupLabel { - // 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; - - // The ad group to which the label is attached. - google.protobuf.StringValue ad_group = 2; - - // The label assigned to the ad group. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_simulation.proto deleted file mode 100644 index 303b30e3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_group_simulation.proto +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/simulation.proto"; -import "google/ads/googleads/v1/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v1/enums/simulation_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupSimulationProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad group simulation resource. - -// An ad group simulation. Supported combinations of advertising -// channel type, simulation type and simulation modification method is -// detailed below respectively. -// -// SEARCH CPC_BID DEFAULT -// SEARCH CPC_BID UNIFORM -// SEARCH TARGET_CPA UNIFORM -// DISPLAY CPC_BID DEFAULT -// DISPLAY CPC_BID UNIFORM -// DISPLAY TARGET_CPA UNIFORM -// VIDEO CPV_BID DEFAULT -// VIDEO CPV_BID UNIFORM -message AdGroupSimulation { - // 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; - - // Ad group id of the simulation. - google.protobuf.Int64Value ad_group_id = 2; - - // The field that the simulation modifies. - google.ads.googleads.v1.enums.SimulationTypeEnum.SimulationType type = 3; - - // How the simulation modifies the field. - google.ads.googleads.v1.enums.SimulationModificationMethodEnum - .SimulationModificationMethod modification_method = 4; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 5; - - // Last day on which the simulation is based, in YYYY-MM-DD format - google.protobuf.StringValue end_date = 6; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v1.common.CpcBidSimulationPointList - cpc_bid_point_list = 8; - - // Simulation points if the simulation type is CPV_BID. - google.ads.googleads.v1.common.CpvBidSimulationPointList - cpv_bid_point_list = 10; - - // Simulation points if the simulation type is TARGET_CPA. - google.ads.googleads.v1.common.TargetCpaSimulationPointList - target_cpa_point_list = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_parameter.proto deleted file mode 100644 index 6c53fe38..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_parameter.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad parameter resource. - -// An ad parameter that is used to update numeric values (such as prices or -// inventory levels) in any text line of an ad (including URLs). There can -// be a maximum of two AdParameters per ad group criterion. (One with -// parameter_index = 1 and one with parameter_index = 2.) -// In the ad the parameters are referenced by a placeholder of the form -// "{param#:value}". E.g. "{param1:$17}" -message AdParameter { - // 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; - - // The ad group criterion that this ad parameter belongs to. - google.protobuf.StringValue ad_group_criterion = 2; - - // The unique index of this ad parameter. Must be either 1 or 2. - google.protobuf.Int64Value parameter_index = 3; - - // 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. - google.protobuf.StringValue insertion_text = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/ad_schedule_view.proto deleted file mode 100644 index 80fbeda4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/ad_schedule_view.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdScheduleViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ad schedule view resource. - -// An ad schedule view summarizes the performance of campaigns by -// AdSchedule criteria. -message AdScheduleView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/age_range_view.proto deleted file mode 100644 index da1e8085..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/age_range_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the age range view resource. - -// An age range view. -message AgeRangeView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v1/resources/asset.proto deleted file mode 100644 index d30514a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/asset.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/asset_types.proto"; -import "google/ads/googleads/v1/enums/asset_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AssetProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::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. -message Asset { - // The resource name of the asset. - // Asset resource names have the form: - // - // `customers/{customer_id}/assets/{asset_id}` - string resource_name = 1; - - // The ID of the asset. - google.protobuf.Int64Value id = 2; - - // Optional name of the asset. - google.protobuf.StringValue name = 3; - - // Type of the asset. - google.ads.googleads.v1.enums.AssetTypeEnum.AssetType type = 4; - - // The specific type of the asset. - oneof asset_data { - // A YouTube video asset. - google.ads.googleads.v1.common.YoutubeVideoAsset youtube_video_asset = 5; - - // A media bundle asset. - google.ads.googleads.v1.common.MediaBundleAsset media_bundle_asset = 6; - - // An image asset. - google.ads.googleads.v1.common.ImageAsset image_asset = 7; - - // A text asset. - google.ads.googleads.v1.common.TextAsset text_asset = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v1/resources/bidding_strategy.proto deleted file mode 100644 index 774a6a6e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/bidding_strategy.proto +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/bidding.proto"; -import "google/ads/googleads/v1/enums/bidding_strategy_status.proto"; -import "google/ads/googleads/v1/enums/bidding_strategy_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the BiddingStrategy resource - -// A bidding strategy. -message BiddingStrategy { - // 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; - - // The ID of the bidding strategy. - google.protobuf.Int64Value id = 3; - - // 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). - google.protobuf.StringValue name = 4; - - // The status of the bidding strategy. - // - // This field is read-only. - google.ads.googleads.v1.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus - status = 15; - - // The type of the bidding strategy. - // Create a bidding strategy by setting the bidding scheme. - // - // This field is read-only. - google.ads.googleads.v1.enums.BiddingStrategyTypeEnum.BiddingStrategyType - type = 5; - - // The number of campaigns attached to this bidding strategy. - // - // This field is read-only. - google.protobuf.Int64Value campaign_count = 13; - - // The number of non-removed campaigns attached to this bidding strategy. - // - // This field is read-only. - google.protobuf.Int64Value non_removed_campaign_count = 14; - - // The bidding scheme. - // - // Only one can be set. - oneof scheme { - // A bidding strategy that raises bids for clicks that seem more likely to - // lead to a conversion and lowers them for clicks where they seem less - // likely. - google.ads.googleads.v1.common.EnhancedCpc enhanced_cpc = 7; - - // A bidding strategy that sets max CPC bids to target impressions on - // page one or page one promoted slots on google.com. - google.ads.googleads.v1.common.PageOnePromoted page_one_promoted = 8; - - // 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.v1.common.TargetCpa target_cpa = 9; - - // A bidding strategy that automatically optimizes towards a desired - // percentage of impressions. - google.ads.googleads.v1.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. - google.ads.googleads.v1.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.googleads.v1.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.v1.common.TargetSpend target_spend = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v1/resources/billing_setup.proto deleted file mode 100644 index 143ee289..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/billing_setup.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/billing_setup_status.proto"; -import "google/ads/googleads/v1/enums/time_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the BillingSetup resource. - -// A billing setup across Ads and Payments systems; an association between a -// Payments account and an advertiser. A billing setup is specific to one -// advertiser. -message BillingSetup { - // Container of Payments account information for this billing. - message PaymentsAccountInfo { - // A 16 digit id used to identify the Payments account associated with the - // billing setup. - // - // This must be passed as a string with dashes, e.g. "1234-5678-9012-3456". - google.protobuf.StringValue payments_account_id = 1; - - // 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. - google.protobuf.StringValue payments_account_name = 2; - - // 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, e.g. "1234-5678-9012". - google.protobuf.StringValue payments_profile_id = 3; - - // The name of the Payments profile associated with the billing setup. - google.protobuf.StringValue payments_profile_name = 4; - - // A secondary payments profile id present in uncommon situations, e.g. - // when a sequential liability agreement has been arranged. - google.protobuf.StringValue secondary_payments_profile_id = 5; - } - - // The resource name of the billing setup. - // BillingSetup resource names have the form: - // - // `customers/{customer_id}/billingSetups/{billing_setup_id}` - string resource_name = 1; - - // The ID of the billing setup. - google.protobuf.Int64Value id = 2; - - // The status of the billing setup. - google.ads.googleads.v1.enums.BillingSetupStatusEnum.BillingSetupStatus - status = 3; - - // 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. - google.protobuf.StringValue payments_account = 11; - - // 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; - - // 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 { - // The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a - // future time is allowed. - google.protobuf.StringValue start_date_time = 9; - - // The start time as a type. Only NOW is allowed. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType start_time_type = 10; - } - - // When the billing setup ends / ended. This is either FOREVER or the start - // time of the next scheduled billing setup. - oneof end_time { - // The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 13; - - // The end time as a type. The only possible value is FOREVER. - google.ads.googleads.v1.enums.TimeTypeEnum.TimeType end_time_type = 14; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign.proto deleted file mode 100644 index 4eeb4874..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign.proto +++ /dev/null @@ -1,360 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/bidding.proto"; -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/common/frequency_cap.proto"; -import "google/ads/googleads/v1/common/real_time_bidding_setting.proto"; -import "google/ads/googleads/v1/common/targeting_setting.proto"; -import "google/ads/googleads/v1/enums/ad_serving_optimization_status.proto"; -import "google/ads/googleads/v1/enums/advertising_channel_sub_type.proto"; -import "google/ads/googleads/v1/enums/advertising_channel_type.proto"; -import "google/ads/googleads/v1/enums/app_campaign_app_store.proto"; -import "google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto"; -import "google/ads/googleads/v1/enums/bidding_strategy_type.proto"; -import "google/ads/googleads/v1/enums/brand_safety_suitability.proto"; -import "google/ads/googleads/v1/enums/campaign_experiment_type.proto"; -import "google/ads/googleads/v1/enums/campaign_serving_status.proto"; -import "google/ads/googleads/v1/enums/campaign_status.proto"; -import "google/ads/googleads/v1/enums/negative_geo_target_type.proto"; -import "google/ads/googleads/v1/enums/payment_mode.proto"; -import "google/ads/googleads/v1/enums/positive_geo_target_type.proto"; -import "google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto"; -import "google/ads/googleads/v1/enums/vanity_pharma_text.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Campaign resource. - -// A campaign. -message Campaign { - // The network settings for the campaign. - message NetworkSettings { - // Whether ads will be served with google.com search results. - google.protobuf.BoolValue target_google_search = 1; - - // Whether ads will be served on partner sites in the Google Search Network - // (requires `target_google_search` to also be `true`). - google.protobuf.BoolValue target_search_network = 2; - - // Whether ads will be served on specified placements in the Google Display - // Network. Placements are specified using the Placement criterion. - google.protobuf.BoolValue target_content_network = 3; - - // Whether ads will be served on the Google Partner Network. - // This is available only to some select Google partner accounts. - google.protobuf.BoolValue target_partner_search_network = 4; - } - - // Campaign-level settings for hotel ads. - message HotelSettingInfo { - // The linked Hotel Center account. - google.protobuf.Int64Value hotel_center_id = 1; - } - - // Describes how unbranded pharma ads will be displayed. - message VanityPharma { - // The display mode for vanity pharma URLs. - google.ads.googleads.v1.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.v1.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; - } - - // The setting for controlling Dynamic Search Ads (DSA). - message DynamicSearchAdsSetting { - // The Internet domain name that this setting represents, e.g., "google.com" - // or "www.google.com". - google.protobuf.StringValue domain_name = 1; - - // The language code specifying the language of the domain, e.g., "en". - google.protobuf.StringValue language_code = 2; - - // Whether the campaign uses advertiser supplied URLs exclusively. - google.protobuf.BoolValue use_supplied_urls_only = 3; - - // The list of page feeds associated with the campaign. - repeated google.protobuf.StringValue feeds = 5; - } - - // The setting for Shopping campaigns. Defines the universe of products that - // can be advertised by the campaign, and how this campaign interacts with - // other Shopping campaigns. - message ShoppingSetting { - // ID of the Merchant Center account. - // This field is required for create operations. This field is immutable for - // Shopping campaigns. - google.protobuf.Int64Value merchant_id = 1; - - // Sales country of products to include in the campaign. - // This field is required for Shopping campaigns. This field is immutable. - // This field is optional for non-Shopping campaigns, but it must be equal - // to 'ZZ' if set. - google.protobuf.StringValue sales_country = 2; - - // 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. - google.protobuf.Int32Value campaign_priority = 3; - - // Whether to include local products. - google.protobuf.BoolValue enable_local = 4; - } - - // Campaign level settings for tracking information. - message TrackingSetting { - // The url used for dynamic tracking. - google.protobuf.StringValue tracking_url = 1; - } - - // Selective optimization setting for this campaign, which includes a set of - // conversion actions to optimize this campaign towards. - message SelectiveOptimization { - // The selected set of conversion actions for optimizing this campaign. - repeated google.protobuf.StringValue conversion_actions = 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.v1.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; - - // A string that uniquely identifies a mobile application. - google.protobuf.StringValue app_id = 2; - - // The application store that distributes this specific app. - google.ads.googleads.v1.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3; - } - - // Represents a collection of settings related to ads geotargeting. - message GeoTargetTypeSetting { - // The setting used for positive geotargeting in this particular campaign. - google.ads.googleads.v1.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; - - // The setting used for negative geotargeting in this particular campaign. - google.ads.googleads.v1.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2; - } - - // The resource name of the campaign. - // Campaign resource names have the form: - // - // `customers/{customer_id}/campaigns/{campaign_id}` - string resource_name = 1; - - // The ID of the campaign. - google.protobuf.Int64Value id = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // The status of the campaign. - // - // When a new campaign is added, the status defaults to ENABLED. - google.ads.googleads.v1.enums.CampaignStatusEnum.CampaignStatus status = 5; - - // The ad serving status of the campaign. - google.ads.googleads.v1.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21; - - // The ad serving optimization status of the campaign. - google.ads.googleads.v1.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8; - - // 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.v1.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9; - - // 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.v1.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 11; - - // 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.v1.common.CustomParameter url_custom_parameters = 12; - - // Settings for Real-Time Bidding, a feature only available for campaigns - // targeting the Ad Exchange network. - google.ads.googleads.v1.common.RealTimeBiddingSetting real_time_bidding_setting = 39; - - // The network settings for the campaign. - NetworkSettings network_settings = 14; - - // The hotel setting for the campaign. - HotelSettingInfo hotel_setting = 32; - - // 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.v1.common.TargetingSetting targeting_setting = 43; - - // The setting for ads geotargeting. - GeoTargetTypeSetting geo_target_type_setting = 47; - - // The setting related to App Campaign. - AppCampaignSetting app_campaign_setting = 51; - - // The resource names of labels attached to this campaign. - repeated google.protobuf.StringValue labels = 53; - - // The type of campaign: normal, draft, or experiment. - google.ads.googleads.v1.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17; - - // 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. - google.protobuf.StringValue base_campaign = 28; - - // The budget of the campaign. - google.protobuf.StringValue campaign_budget = 6; - - // 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.v1.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22; - - // The date when campaign started. - // - // This field must not be used in WHERE clauses. - google.protobuf.StringValue start_date = 19; - - // The date when campaign ended. - // - // This field must not be used in WHERE clauses. - google.protobuf.StringValue end_date = 20; - - // Suffix used to append query parameters to landing pages that are served - // with parallel tracking. - google.protobuf.StringValue final_url_suffix = 38; - - // A list that limits how often each user will see this campaign's ads. - repeated google.ads.googleads.v1.common.FrequencyCapEntry frequency_caps = 40; - - // 3-Tier Brand Safety setting for the campaign. - google.ads.googleads.v1.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42; - - // 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. - SelectiveOptimization selective_optimization = 45; - - // Campaign level settings for tracking information. - TrackingSetting tracking_setting = 46; - - // Payment mode for the campaign. - google.ads.googleads.v1.enums.PaymentModeEnum.PaymentMode payment_mode = 52; - - // The bidding strategy for the campaign. - // - // Must be either portfolio (created via BiddingStrategy service) or - // standard, that is embedded into the campaign. - oneof campaign_bidding_strategy { - // Portfolio bidding strategy used by campaign. - google.protobuf.StringValue bidding_strategy = 23; - - // Commission is an automatic bidding strategy in which the advertiser pays - // a certain portion of the conversion value. - google.ads.googleads.v1.common.Commission commission = 49; - - // Standard Manual CPC bidding strategy. - // Manual click-based bidding where user pays per click. - google.ads.googleads.v1.common.ManualCpc manual_cpc = 24; - - // Standard Manual CPM bidding strategy. - // Manual impression-based bidding where user pays per thousand - // impressions. - google.ads.googleads.v1.common.ManualCpm manual_cpm = 25; - - // A bidding strategy that pays a configurable amount per video view. - google.ads.googleads.v1.common.ManualCpv manual_cpv = 37; - - // Standard Maximize Conversions bidding strategy that automatically - // maximizes number of conversions given a daily budget. - google.ads.googleads.v1.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.v1.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.v1.common.TargetCpa target_cpa = 26; - - // Target Impression Share bidding strategy. An automated bidding strategy - // that sets bids to achieve a desired percentage of impressions. - google.ads.googleads.v1.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.v1.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.v1.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.v1.common.PercentCpc percent_cpc = 34; - - // A bidding strategy that automatically optimizes cost per thousand - // impressions. - google.ads.googleads.v1.common.TargetCpm target_cpm = 41; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_audience_view.proto deleted file mode 100644 index 431db796..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_audience_view.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignAudienceViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::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 { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_bid_modifier.proto deleted file mode 100644 index 6dfbb9ec..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_bid_modifier.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBidModifierProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Campaign Bid Modifier resource. - -// Represents a bid-modifiable only criterion at the campaign level. -message CampaignBidModifier { - // 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; - - // The campaign to which this criterion belongs. - google.protobuf.StringValue campaign = 2; - - // The ID of the criterion to bid modify. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; - - // The modifier for the bid when the criterion matches. - google.protobuf.DoubleValue bid_modifier = 4; - - // The criterion of this campaign bid modifier. - oneof criterion { - // Criterion for interaction type. Only supported for search campaigns. - google.ads.googleads.v1.common.InteractionTypeInfo interaction_type = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_budget.proto deleted file mode 100644 index 48555f96..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_budget.proto +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/budget_delivery_method.proto"; -import "google/ads/googleads/v1/enums/budget_period.proto"; -import "google/ads/googleads/v1/enums/budget_status.proto"; -import "google/ads/googleads/v1/enums/budget_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Budget resource. - -// A campaign budget. -message CampaignBudget { - // The resource name of the campaign budget. - // Campaign budget resource names have the form: - // - // `customers/{customer_id}/campaignBudgets/{budget_id}` - string resource_name = 1; - - // 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. - google.protobuf.Int64Value id = 3; - - // 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). - google.protobuf.StringValue name = 4; - - // 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. - google.protobuf.Int64Value amount_micros = 5; - - // 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. - google.protobuf.Int64Value total_amount_micros = 10; - - // The status of this campaign budget. This field is read-only. - google.ads.googleads.v1.enums.BudgetStatusEnum.BudgetStatus status = 6; - - // The delivery method that determines the rate at which the campaign budget - // is spent. - // - // Defaults to STANDARD if unspecified in a create operation. - google.ads.googleads.v1.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod - delivery_method = 7; - - // Specifies whether the budget is explicitly shared. Defaults to true if - // unspecified in a create operation. - // - // If true, the budget was created with the purpose of sharing - // across one or more campaigns. - // - // If false, the budget was created with the intention of only being used - // with a single campaign. The budget's name and status will stay in sync - // with the campaign's name and status. Attempting to share the budget with a - // second campaign will result in an error. - // - // A non-shared budget can become an explicitly shared. The same operation - // must also assign the budget a name. - // - // A shared campaign budget can never become non-shared. - google.protobuf.BoolValue explicitly_shared = 8; - - // The number of campaigns actively using the budget. - // - // This field is read-only. - google.protobuf.Int64Value reference_count = 9; - - // Indicates whether there is a recommended budget for this campaign budget. - // - // This field is read-only. - google.protobuf.BoolValue has_recommended_budget = 11; - - // 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. - google.protobuf.Int64Value recommended_budget_amount_micros = 12; - - // Period over which to spend the budget. Defaults to DAILY if not specified. - google.ads.googleads.v1.enums.BudgetPeriodEnum.BudgetPeriod period = 13; - - // The estimated change in weekly clicks if the recommended budget is applied. - // - // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = - 14; - - // 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. - google.protobuf.Int64Value - recommended_budget_estimated_change_weekly_cost_micros = 15; - - // The estimated change in weekly interactions if the recommended budget is - // applied. - // - // This field is read-only. - google.protobuf.Int64Value - recommended_budget_estimated_change_weekly_interactions = 16; - - // The estimated change in weekly views if the recommended budget is applied. - // - // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = - 17; - - // The type of the campaign budget. - google.ads.googleads.v1.enums.BudgetTypeEnum.BudgetType type = 18; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion.proto deleted file mode 100644 index 8c959400..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion.proto +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/enums/campaign_criterion_status.proto"; -import "google/ads/googleads/v1/enums/criterion_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Campaign Criterion resource. - -// A campaign criterion. -message CampaignCriterion { - // 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; - - // The campaign to which the criterion belongs. - google.protobuf.StringValue campaign = 4; - - // The ID of the criterion. - // - // This field is ignored during mutate. - google.protobuf.Int64Value criterion_id = 5; - - // 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. - google.protobuf.FloatValue bid_modifier = 14; - - // Whether to target (`false`) or exclude (`true`) the criterion. - google.protobuf.BoolValue negative = 7; - - // The type of the criterion. - google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 6; - - // The status of the criterion. - google.ads.googleads.v1.enums.CampaignCriterionStatusEnum - .CampaignCriterionStatus status = 35; - - // The campaign criterion. - // - // Exactly one must be set. - oneof criterion { - // Keyword. - google.ads.googleads.v1.common.KeywordInfo keyword = 8; - - // Placement. - google.ads.googleads.v1.common.PlacementInfo placement = 9; - - // Mobile app category. - google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = - 10; - - // Mobile application. - google.ads.googleads.v1.common.MobileApplicationInfo mobile_application = - 11; - - // Location. - google.ads.googleads.v1.common.LocationInfo location = 12; - - // Device. - google.ads.googleads.v1.common.DeviceInfo device = 13; - - // Ad Schedule. - google.ads.googleads.v1.common.AdScheduleInfo ad_schedule = 15; - - // Age range. - google.ads.googleads.v1.common.AgeRangeInfo age_range = 16; - - // Gender. - google.ads.googleads.v1.common.GenderInfo gender = 17; - - // Income range. - google.ads.googleads.v1.common.IncomeRangeInfo income_range = 18; - - // Parental status. - google.ads.googleads.v1.common.ParentalStatusInfo parental_status = 19; - - // User List. - google.ads.googleads.v1.common.UserListInfo user_list = 22; - - // YouTube Video. - google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 20; - - // YouTube Channel. - google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 21; - - // Proximity. - google.ads.googleads.v1.common.ProximityInfo proximity = 23; - - // Topic. - google.ads.googleads.v1.common.TopicInfo topic = 24; - - // Listing scope. - google.ads.googleads.v1.common.ListingScopeInfo listing_scope = 25; - - // Language. - google.ads.googleads.v1.common.LanguageInfo language = 26; - - // IpBlock. - google.ads.googleads.v1.common.IpBlockInfo ip_block = 27; - - // ContentLabel. - google.ads.googleads.v1.common.ContentLabelInfo content_label = 28; - - // Carrier. - google.ads.googleads.v1.common.CarrierInfo carrier = 29; - - // User Interest. - google.ads.googleads.v1.common.UserInterestInfo user_interest = 30; - - // Webpage. - google.ads.googleads.v1.common.WebpageInfo webpage = 31; - - // Operating system version. - google.ads.googleads.v1.common.OperatingSystemVersionInfo - operating_system_version = 32; - - // Mobile Device. - google.ads.googleads.v1.common.MobileDeviceInfo mobile_device = 33; - - // Location Group - google.ads.googleads.v1.common.LocationGroupInfo location_group = 34; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion_simulation.proto deleted file mode 100644 index d85140b0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_criterion_simulation.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/simulation.proto"; -import "google/ads/googleads/v1/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v1/enums/simulation_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionSimulationProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the campaign criterion simulation resource. - -// A campaign criterion simulation. Supported combinations of advertising -// channel type, criterion ids, simulation type and simulation modification -// method is detailed below respectively. -// -// SEARCH 30000,30001,30002 BID_MODIFIER UNIFORM -// DISPLAY 30001 BID_MODIFIER UNIFORM -message CampaignCriterionSimulation { - // The resource name of the campaign criterion simulation. - // Campaign criterion simulation resource names have the form: - // - // - // `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` - string resource_name = 1; - - // Campaign ID of the simulation. - google.protobuf.Int64Value campaign_id = 2; - - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; - - // The field that the simulation modifies. - google.ads.googleads.v1.enums.SimulationTypeEnum.SimulationType type = 4; - - // How the simulation modifies the field. - google.ads.googleads.v1.enums.SimulationModificationMethodEnum - .SimulationModificationMethod modification_method = 5; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; - - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is BID_MODIFIER. - google.ads.googleads.v1.common.BidModifierSimulationPointList - bid_modifier_point_list = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_draft.proto deleted file mode 100644 index 3ad44433..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_draft.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/campaign_draft_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Campaign Draft resource. - -// A campaign draft. -message CampaignDraft { - // 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; - - // The ID of the draft. - // - // This field is read-only. - google.protobuf.Int64Value draft_id = 2; - - // The base campaign to which the draft belongs. - google.protobuf.StringValue base_campaign = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // Resource name of the Campaign that results from overlaying the draft - // changes onto the base campaign. - // - // This field is read-only. - google.protobuf.StringValue draft_campaign = 5; - - // The status of the campaign draft. This field is read-only. - // - // When a new campaign draft is added, the status defaults to PROPOSED. - google.ads.googleads.v1.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6; - - // Whether there is an experiment based on this draft currently serving. - google.protobuf.BoolValue has_experiment_running = 7; - - // 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. - google.protobuf.StringValue long_running_operation = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_experiment.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_experiment.proto deleted file mode 100644 index 336999b3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_experiment.proto +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/campaign_experiment_status.proto"; -import "google/ads/googleads/v1/enums/campaign_experiment_traffic_split_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Campaign Experiment resource. - -// An A/B experiment that compares the performance of the base campaign -// (the control) and a variation of that campaign (the experiment). -message CampaignExperiment { - // The resource name of the campaign experiment. - // Campaign experiment resource names have the form: - // - // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` - string resource_name = 1; - - // The ID of the campaign experiment. - // - // This field is read-only. - google.protobuf.Int64Value id = 2; - - // The campaign draft with staged changes to the base campaign. - google.protobuf.StringValue campaign_draft = 3; - - // The name of the campaign experiment. - // - // This field is required when creating new campaign experiments - // and must not conflict with the name of another non-removed - // campaign experiment or campaign. - // - // It must not contain any null (code point 0x0), NL line feed - // (code point 0xA) or carriage return (code point 0xD) characters. - google.protobuf.StringValue name = 4; - - // The description of the experiment. - google.protobuf.StringValue description = 5; - - // Share of traffic directed to experiment as a percent (must be between 1 and - // 99 inclusive. Base campaign receives the remainder of the traffic - // (100 - traffic_split_percent). Required for create. - google.protobuf.Int64Value traffic_split_percent = 6; - - // Determines the behavior of the traffic split. - google.ads.googleads.v1.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7; - - // The experiment campaign, as opposed to the base campaign. - google.protobuf.StringValue experiment_campaign = 8; - - // The status of the campaign experiment. This field is read-only. - google.ads.googleads.v1.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9; - - // The resource name of the long-running operation that can be used to poll - // for completion of experiment create or promote. The most recent long - // running operation is returned. - google.protobuf.StringValue long_running_operation = 10; - - // Date when the campaign 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. Cannot be changed once the experiment starts. - // - // Format: YYYY-MM-DD - // Example: 2019-03-14 - google.protobuf.StringValue start_date = 11; - - // Date when the campaign 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 - google.protobuf.StringValue end_date = 12; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_extension_setting.proto deleted file mode 100644 index e225959c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_extension_setting.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/extension_setting_device.proto"; -import "google/ads/googleads/v1/enums/extension_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CampaignExtensionSetting resource. - -// A campaign extension setting. -message CampaignExtensionSetting { - // 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; - - // The extension type of the customer extension setting. - google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = - 2; - - // 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}` - google.protobuf.StringValue campaign = 3; - - // 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 google.protobuf.StringValue extension_feed_items = 4; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum - .ExtensionSettingDevice device = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_feed.proto deleted file mode 100644 index 234beb3f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_feed.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/matching_function.proto"; -import "google/ads/googleads/v1/enums/feed_link_status.proto"; -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CampaignFeed resource. - -// A campaign feed. -message CampaignFeed { - // 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; - - // The feed to which the CampaignFeed belongs. - google.protobuf.StringValue feed = 2; - - // The campaign to which the CampaignFeed belongs. - google.protobuf.StringValue campaign = 3; - - // Indicates which placeholder types the feed may populate under the connected - // campaign. Required. - repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_types = 4; - - // Matching function associated with the CampaignFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v1.common.MatchingFunction matching_function = 5; - - // Status of the campaign feed. - // This field is read-only. - google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_label.proto deleted file mode 100644 index 00aa7dba..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignLabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the campaign label resource. - -// Represents a relationship between a campaign and a label. -message CampaignLabel { - // Name of the resource. - // Campaign label resource names have the form: - // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` - string resource_name = 1; - - // The campaign to which the label is attached. - google.protobuf.StringValue campaign = 2; - - // The label assigned to the campaign. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v1/resources/campaign_shared_set.proto deleted file mode 100644 index 80b82991..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/campaign_shared_set.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/campaign_shared_set_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CampaignSharedSet resource. - -// CampaignSharedSets are used for managing the shared sets associated with a -// campaign. -message CampaignSharedSet { - // 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; - - // The campaign to which the campaign shared set belongs. - google.protobuf.StringValue campaign = 3; - - // 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. - google.protobuf.StringValue shared_set = 4; - - // The status of this campaign shared set. Read only. - google.ads.googleads.v1.enums.CampaignSharedSetStatusEnum - .CampaignSharedSetStatus status = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/carrier_constant.proto deleted file mode 100644 index 944a60bb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/carrier_constant.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CarrierConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Carrier constant resource. - -// A carrier criterion that can be used in campaign targeting. -message CarrierConstant { - // The resource name of the carrier criterion. - // Carrier criterion resource names have the form: - // - // `carrierConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the carrier criterion. - google.protobuf.Int64Value id = 2; - - // The full name of the carrier in English. - google.protobuf.StringValue name = 3; - - // The country code of the country where the carrier is located, e.g., "AR", - // "FR", etc. - google.protobuf.StringValue country_code = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v1/resources/change_status.proto deleted file mode 100644 index 22b759d1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/change_status.proto +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/change_status_operation.proto"; -import "google/ads/googleads/v1/enums/change_status_resource_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Change Status resource. - -// Describes the status of returned resource. -message ChangeStatus { - // 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; - - // Time at which the most recent change has occurred on this resource. - google.protobuf.StringValue last_change_date_time = 3; - - // 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.v1.enums.ChangeStatusResourceTypeEnum - .ChangeStatusResourceType resource_type = 4; - - // The Campaign affected by this change. - google.protobuf.StringValue campaign = 5; - - // The AdGroup affected by this change. - google.protobuf.StringValue ad_group = 6; - - // Represents the status of the changed resource. - google.ads.googleads.v1.enums.ChangeStatusOperationEnum.ChangeStatusOperation - resource_status = 8; - - // The AdGroupAd affected by this change. - google.protobuf.StringValue ad_group_ad = 9; - - // The AdGroupCriterion affected by this change. - google.protobuf.StringValue ad_group_criterion = 10; - - // The CampaignCriterion affected by this change. - google.protobuf.StringValue campaign_criterion = 11; - - // The Feed affected by this change. - google.protobuf.StringValue feed = 12; - - // The FeedItem affected by this change. - google.protobuf.StringValue feed_item = 13; - - // The AdGroupFeed affected by this change. - google.protobuf.StringValue ad_group_feed = 14; - - // The CampaignFeed affected by this change. - google.protobuf.StringValue campaign_feed = 15; - - // The AdGroupBidModifier affected by this change. - google.protobuf.StringValue ad_group_bid_modifier = 16; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/click_view.proto deleted file mode 100644 index f7e5912b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/click_view.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/click_location.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ClickViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ClickView resource. - -// A click view with metrics aggregated at each click level, including both -// valid and invalid clicks. For non-Search campaigns, metrics.clicks -// represents the number of valid and invalid interactions. -message ClickView { - // 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; - - // The Google Click ID. - google.protobuf.StringValue gclid = 2; - - // The location criteria matching the area of interest associated with the - // impression. - google.ads.googleads.v1.common.ClickLocation area_of_interest = 3; - - // The location criteria matching the location of presence associated with the - // impression. - google.ads.googleads.v1.common.ClickLocation location_of_presence = 4; - - // Page number in search results where the ad was shown. - google.protobuf.Int64Value page_number = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v1/resources/conversion_action.proto deleted file mode 100644 index 0918eefb..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/conversion_action.proto +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/tag_snippet.proto"; -import "google/ads/googleads/v1/enums/attribution_model.proto"; -import "google/ads/googleads/v1/enums/conversion_action_category.proto"; -import "google/ads/googleads/v1/enums/conversion_action_counting_type.proto"; -import "google/ads/googleads/v1/enums/conversion_action_status.proto"; -import "google/ads/googleads/v1/enums/conversion_action_type.proto"; -import "google/ads/googleads/v1/enums/data_driven_model_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Conversion Action resource. - -// A conversion action. -message ConversionAction { - // Settings related to this conversion action's attribution model. - message AttributionModelSettings { - // The attribution model type of this conversion action. - google.ads.googleads.v1.enums.AttributionModelEnum.AttributionModel - attribution_model = 1; - - // The status of the data-driven attribution model for the conversion - // action. - google.ads.googleads.v1.enums.DataDrivenModelStatusEnum - .DataDrivenModelStatus data_driven_model_status = 2; - } - - // 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. - google.protobuf.DoubleValue default_value = 1; - - // 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. - google.protobuf.StringValue default_currency_code = 2; - - // 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. - google.protobuf.BoolValue always_use_default_value = 3; - } - - // 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; - - // The ID of the conversion action. - google.protobuf.Int64Value id = 2; - - // The name of the conversion action. - // - // This field is required and should not be empty when creating new - // conversion actions. - google.protobuf.StringValue name = 3; - - // The status of this conversion action for conversion event accrual. - google.ads.googleads.v1.enums.ConversionActionStatusEnum - .ConversionActionStatus status = 4; - - // The type of this conversion action. - google.ads.googleads.v1.enums.ConversionActionTypeEnum.ConversionActionType - type = 5; - - // The category of conversions reported for this conversion action. - google.ads.googleads.v1.enums.ConversionActionCategoryEnum - .ConversionActionCategory category = 6; - - // The resource name of the conversion action owner customer, or null if this - // is a system-defined conversion action. - google.protobuf.StringValue owner_customer = 7; - - // Whether this conversion action should be included in the "conversions" - // metric. - google.protobuf.BoolValue include_in_conversions_metric = 8; - - // The maximum number of days that may elapse between an interaction - // (e.g., a click) and a conversion event. - google.protobuf.Int64Value click_through_lookback_window_days = 9; - - // The maximum number of days which may elapse between an impression and a - // conversion without an interaction. - google.protobuf.Int64Value view_through_lookback_window_days = 10; - - // Settings related to the value for conversion events associated with this - // conversion action. - ValueSettings value_settings = 11; - - // How to count conversion events for the conversion action. - google.ads.googleads.v1.enums.ConversionActionCountingTypeEnum - .ConversionActionCountingType counting_type = 12; - - // Settings related to this conversion action's attribution model. - AttributionModelSettings attribution_model_settings = 13; - - // The snippets used for tracking conversions. - repeated google.ads.googleads.v1.common.TagSnippet tag_snippets = 14; - - // 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. - google.protobuf.Int64Value phone_call_duration_seconds = 15; - - // App ID for an app conversion action. - google.protobuf.StringValue app_id = 16; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v1/resources/custom_interest.proto deleted file mode 100644 index 933513df..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/custom_interest.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/custom_interest_member_type.proto"; -import "google/ads/googleads/v1/enums/custom_interest_status.proto"; -import "google/ads/googleads/v1/enums/custom_interest_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Custom Interest resource. - -// A custom interest. This is a list of users by interest. -message CustomInterest { - // 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; - - // Id of the custom interest. - google.protobuf.Int64Value id = 2; - - // Status of this custom interest. Indicates whether the custom interest is - // enabled or removed. - google.ads.googleads.v1.enums.CustomInterestStatusEnum.CustomInterestStatus - status = 3; - - // Name of the custom interest. It should be unique across the same custom - // affinity audience. - // This field is required for create operations. - google.protobuf.StringValue name = 4; - - // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. - // By default the type is set to CUSTOM_AFFINITY. - google.ads.googleads.v1.enums.CustomInterestTypeEnum.CustomInterestType type = - 5; - - // Description of this custom interest audience. - google.protobuf.StringValue description = 6; - - // List of custom interest members that this custom interest is composed of. - // Members can be added during CustomInterest creation. If members are - // presented in UPDATE operation, existing members will be overridden. - repeated CustomInterestMember members = 7; -} - -// A member of custom interest audience. A member can be a keyword or url. -// It is immutable, that is, it can only be created or removed but not changed. -message CustomInterestMember { - // The type of custom interest member, KEYWORD or URL. - google.ads.googleads.v1.enums.CustomInterestMemberTypeEnum - .CustomInterestMemberType member_type = 1; - - // Keyword text when member_type is KEYWORD or URL string when - // member_type is URL. - google.protobuf.StringValue parameter = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer.proto deleted file mode 100644 index e03a0d9f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Customer resource. - -// A customer. -message Customer { - // The resource name of the customer. - // Customer resource names have the form: - // - // `customers/{customer_id}` - string resource_name = 1; - - // The ID of the customer. - google.protobuf.Int64Value id = 3; - - // Optional, non-unique descriptive name of the customer. - google.protobuf.StringValue descriptive_name = 4; - - // The currency in which the account operates. - // A subset of the currency codes from the ISO 4217 standard is - // supported. - google.protobuf.StringValue currency_code = 5; - - // The local timezone ID of the customer. - google.protobuf.StringValue time_zone = 6; - - // The URL template for constructing a tracking URL out of parameters. - google.protobuf.StringValue tracking_url_template = 7; - - // The URL template for appending params to the final URL - google.protobuf.StringValue final_url_suffix = 11; - - // Whether auto-tagging is enabled for the customer. - google.protobuf.BoolValue auto_tagging_enabled = 8; - - // 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. - google.protobuf.BoolValue has_partners_badge = 9; - - // Whether the customer is a manager. - google.protobuf.BoolValue manager = 12; - - // Whether the customer is a test account. - google.protobuf.BoolValue test_account = 13; - - // Call reporting setting for a customer. - CallReportingSetting call_reporting_setting = 10; - - // Conversion tracking setting for a customer. - ConversionTrackingSetting conversion_tracking_setting = 14; - - // Remarketing setting for a customer. - RemarketingSetting remarketing_setting = 15; - - // 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.v1.enums - .CustomerPayPerConversionEligibilityFailureReasonEnum - .CustomerPayPerConversionEligibilityFailureReason - pay_per_conversion_eligibility_failure_reasons = 16; -} - -// Call reporting setting for a customer. -message CallReportingSetting { - // Enable reporting of phone call events by redirecting them via Google - // System. - google.protobuf.BoolValue call_reporting_enabled = 1; - - // Whether to enable call conversion reporting. - google.protobuf.BoolValue call_conversion_reporting_enabled = 2; - - // 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. - google.protobuf.StringValue call_conversion_action = 9; -} - -// A collection of customer-wide settings related to Google Ads Conversion -// Tracking. -message ConversionTrackingSetting { - // The conversion tracking id used for this account. This id is automatically - // assigned after any conversion tracking feature is used. If the customer - // doesn't use conversion tracking, this is 0. This field is read-only. - google.protobuf.Int64Value conversion_tracking_id = 1; - - // 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. - google.protobuf.Int64Value cross_account_conversion_tracking_id = 2; -} - -// Remarketing setting for a customer. -message RemarketingSetting { - // The Google global site tag. - google.protobuf.StringValue google_global_site_tag = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_client.proto deleted file mode 100644 index fd47f784..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_client.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CustomerClient resource. - -// A link between the given customer and a client customer. CustomerClients only -// exist for manager customers. All direct and indirect client customers are -// included, as well as the manager itself. -message CustomerClient { - // The resource name of the customer client. - // CustomerClient resource names have the form: - // `customers/{customer_id}/customerClients/{client_customer_id}` - string resource_name = 1; - - // The resource name of the client-customer which is linked to - // the given customer. Read only. - google.protobuf.StringValue client_customer = 3; - - // Specifies whether this is a hidden account. Learn more about hidden - // accounts here. Read - // only. - google.protobuf.BoolValue hidden = 4; - - // Distance between given customer and client. For self link, the level value - // will be 0. Read only. - google.protobuf.Int64Value level = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_client_link.proto deleted file mode 100644 index e6c188a0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_client_link.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/manager_link_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CustomerClientLink resource. - -// Represents customer client link relationship. -message CustomerClientLink { - // Name of the resource. - // CustomerClientLink resource names have the form: - // - // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` - string resource_name = 1; - - // The client customer linked to this customer. - google.protobuf.StringValue client_customer = 3; - - // This is uniquely identifies a customer client link. Read only. - google.protobuf.Int64Value manager_link_id = 4; - - // This is the status of the link between client and manager. - google.ads.googleads.v1.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = - 5; - - // The visibility of the link. Users can choose whether or not to see hidden - // links in the AdWords UI. - // Default value is false - google.protobuf.BoolValue hidden = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_extension_setting.proto deleted file mode 100644 index 4ef620bc..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_extension_setting.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/extension_setting_device.proto"; -import "google/ads/googleads/v1/enums/extension_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CustomerExtensionSetting resource. - -// A customer extension setting. -message CustomerExtensionSetting { - // The resource name of the customer extension setting. - // CustomerExtensionSetting resource names have the form: - // - // `customers/{customer_id}/customerExtensionSettings/{extension_type}` - string resource_name = 1; - - // The extension type of the customer extension setting. - google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = - 2; - - // 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 google.protobuf.StringValue extension_feed_items = 3; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum - .ExtensionSettingDevice device = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_feed.proto deleted file mode 100644 index a81cfa47..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_feed.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/matching_function.proto"; -import "google/ads/googleads/v1/enums/feed_link_status.proto"; -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CustomerFeed resource. - -// A customer feed. -message CustomerFeed { - // The resource name of the customer feed. - // Customer feed resource names have the form: - // - // `customers/{customer_id}/customerFeeds/{feed_id}` - string resource_name = 1; - - // The feed being linked to the customer. - google.protobuf.StringValue feed = 2; - - // Indicates which placeholder types the feed may populate under the connected - // customer. Required. - repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_types = 3; - - // Matching function associated with the CustomerFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v1.common.MatchingFunction matching_function = 4; - - // Status of the customer feed. - // This field is read-only. - google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_label.proto deleted file mode 100644 index 28c994e1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_label.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerLabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the customer label resource. - -// Represents a relationship between a customer and a label. This customer may -// not have access to all the labels attached to it. Additional CustomerLabels -// may be returned by increasing permissions with login-customer-id. -message CustomerLabel { - // Name of the resource. - // Customer label resource names have the form: - // `customers/{customer_id}/customerLabels/{label_id}` - string resource_name = 1; - - // The resource name of the customer to which the label is attached. - // Read only. - google.protobuf.StringValue customer = 2; - - // 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. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_manager_link.proto deleted file mode 100644 index d6f406c7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_manager_link.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/manager_link_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the CustomerManagerLink resource. - -// Represents customer-manager link relationship. -message CustomerManagerLink { - // Name of the resource. - // CustomerManagerLink resource names have the form: - // - // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` - string resource_name = 1; - - // The manager customer linked to the customer. - google.protobuf.StringValue manager_customer = 3; - - // ID of the customer-manager link. This field is read only. - google.protobuf.Int64Value manager_link_id = 4; - - // Status of the link between the customer and the manager. - google.ads.googleads.v1.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = - 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v1/resources/customer_negative_criterion.proto deleted file mode 100644 index 20af93ed..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/customer_negative_criterion.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/enums/criterion_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerNegativeCriterionProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Customer Negative Criterion resource. - -// A negative criterion for exclusions at the customer level. -message CustomerNegativeCriterion { - // 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; - - // The ID of the criterion. - google.protobuf.Int64Value id = 2; - - // The type of the criterion. - google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 3; - - // The customer negative criterion. - // - // Exactly one must be set. - oneof criterion { - // ContentLabel. - google.ads.googleads.v1.common.ContentLabelInfo content_label = 4; - - // MobileApplication. - google.ads.googleads.v1.common.MobileApplicationInfo mobile_application = 5; - - // MobileAppCategory. - google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = - 6; - - // Placement. - google.ads.googleads.v1.common.PlacementInfo placement = 7; - - // YouTube Video. - google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 8; - - // YouTube Channel. - google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/detail_placement_view.proto deleted file mode 100644 index 1007504c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/detail_placement_view.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/placement_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DetailPlacementViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the detail placement view resource. - -// A view with metrics aggregated by ad group and URL or YouTube video. -message DetailPlacementView { - // 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; - - // The automatic placement string at detail level, e. g. website URL, mobile - // application ID, or a YouTube video ID. - google.protobuf.StringValue placement = 2; - - // The display name is URL name for websites, YouTube video name for YouTube - // videos, and translated mobile app name for mobile apps. - google.protobuf.StringValue display_name = 3; - - // URL of the group placement, e.g. domain, link to the mobile application in - // app store, or a YouTube channel URL. - google.protobuf.StringValue group_placement_target_url = 4; - - // URL of the placement, e.g. website, link to the mobile application in app - // store, or a YouTube video URL. - google.protobuf.StringValue target_url = 5; - - // Type of the placement, e.g. Website, YouTube Video, and Mobile Application. - google.ads.googleads.v1.enums.PlacementTypeEnum.PlacementType placement_type = - 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/display_keyword_view.proto deleted file mode 100644 index 98c6c6f5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/display_keyword_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DisplayKeywordViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the display keyword view resource. - -// A display keyword view. -message DisplayKeywordView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v1/resources/domain_category.proto deleted file mode 100644 index 0cd40add..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/domain_category.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DomainCategoryProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Domain Category resource. - -// A category generated automatically by crawling a domain. If a campaign uses -// the DynamicSearchAdsSetting, then domain categories will be generated for -// the domain. The categories can be targeted using WebpageConditionInfo. -// See: https://support.google.com/google-ads/answer/2471185 -message DomainCategory { - // 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; - - // The campaign this category is recommended for. - google.protobuf.StringValue campaign = 2; - - // Recommended category for the website domain. e.g. if you have a website - // about electronics, the categories could be "cameras", "televisions", etc. - google.protobuf.StringValue category = 3; - - // The language code specifying the language of the website. e.g. "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. - google.protobuf.StringValue language_code = 4; - - // The domain for the website. The domain can be specified in the - // DynamicSearchAdsSetting required for dynamic search ads. - google.protobuf.StringValue domain = 5; - - // Fraction of pages on your site that this category matches. - google.protobuf.DoubleValue coverage_fraction = 6; - - // The position of this category in the set of categories. Lower numbers - // indicate a better match for the domain. null indicates not recommended. - google.protobuf.Int64Value category_rank = 7; - - // Indicates whether this category has sub-categories. - google.protobuf.BoolValue has_children = 8; - - // The recommended cost per click for the category. - google.protobuf.Int64Value recommended_cpc_bid_micros = 9; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto deleted file mode 100644 index 3332eb18..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Dynamic Search Ads Search Term View resource. - -// A dynamic search ads search term view. -message DynamicSearchAdsSearchTermView { - // 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_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}` - string resource_name = 1; - - // Search term - // - // This field is read-only. - google.protobuf.StringValue search_term = 2; - - // The dynamically generated headline of the Dynamic Search Ad. - // - // This field is read-only. - google.protobuf.StringValue headline = 3; - - // The dynamically selected landing page URL of the impression. - // - // This field is read-only. - google.protobuf.StringValue landing_page = 4; - - // The URL of page feed item served for the impression. - // - // This field is read-only. - google.protobuf.StringValue page_url = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/expanded_landing_page_view.proto deleted file mode 100644 index 72115b4f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/expanded_landing_page_view.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ExpandedLandingPageViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the expanded landing page view resource. - -// A landing page view with metrics aggregated at the expanded final URL -// level. -message ExpandedLandingPageView { - // 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; - - // The final URL that clicks are directed to. - google.protobuf.StringValue expanded_final_url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v1/resources/extension_feed_item.proto deleted file mode 100644 index 6dd6e2dc..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/extension_feed_item.proto +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/common/extensions.proto"; -import "google/ads/googleads/v1/enums/extension_type.proto"; -import "google/ads/googleads/v1/enums/feed_item_status.proto"; -import "google/ads/googleads/v1/enums/feed_item_target_device.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the ExtensionFeedItem resource. - -// An extension feed item. -message ExtensionFeedItem { - // 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; - - // The extension type of the extension feed item. - // This field is read-only. - google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = - 13; - - // Start time in which this feed item is effective and can begin serving. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue start_date_time = 5; - - // End time in which this feed item is no longer effective and will stop - // serving. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue end_date_time = 6; - - // List of non-overlapping schedules specifying all time intervals - // for which the feed item may serve. There can be a maximum of 6 schedules - // per day. - repeated google.ads.googleads.v1.common.AdScheduleInfo ad_schedules = 16; - - // The targeted device. - google.ads.googleads.v1.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice - device = 17; - - // The targeted geo target constant. - google.protobuf.StringValue targeted_geo_target_constant = 20; - - // Status of the feed item. - // This field is read-only. - google.ads.googleads.v1.enums.FeedItemStatusEnum.FeedItemStatus status = 4; - - // Extension type. - oneof extension { - // Sitelink extension. - google.ads.googleads.v1.common.SitelinkFeedItem sitelink_feed_item = 2; - - // Structured snippet extension. - google.ads.googleads.v1.common.StructuredSnippetFeedItem - structured_snippet_feed_item = 3; - - // App extension. - google.ads.googleads.v1.common.AppFeedItem app_feed_item = 7; - - // Call extension. - google.ads.googleads.v1.common.CallFeedItem call_feed_item = 8; - - // Callout extension. - google.ads.googleads.v1.common.CalloutFeedItem callout_feed_item = 9; - - // Text message extension. - google.ads.googleads.v1.common.TextMessageFeedItem text_message_feed_item = - 10; - - // Price extension. - google.ads.googleads.v1.common.PriceFeedItem price_feed_item = 11; - - // Promotion extension. - google.ads.googleads.v1.common.PromotionFeedItem promotion_feed_item = 12; - - // Location extension. Locations are synced from a GMB account into a feed. - // This field is read-only. - google.ads.googleads.v1.common.LocationFeedItem location_feed_item = 14; - - // Affiliate location extension. Feed locations are populated by Google Ads - // based on a chain ID. - // This field is read-only. - google.ads.googleads.v1.common.AffiliateLocationFeedItem - affiliate_location_feed_item = 15; - } - - // 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. - google.protobuf.StringValue targeted_campaign = 18; - - // The targeted ad group. - google.protobuf.StringValue targeted_ad_group = 19; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v1/resources/feed.proto deleted file mode 100644 index 2df4a00d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/feed.proto +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto"; -import "google/ads/googleads/v1/enums/feed_attribute_type.proto"; -import "google/ads/googleads/v1/enums/feed_origin.proto"; -import "google/ads/googleads/v1/enums/feed_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Feed resource. - -// A feed. -message Feed { - // Data used to configure a location feed populated from Google My Business - // Locations. - message PlacesLocationFeedData { - // Data used for authorization using OAuth. - message OAuthInfo { - // The HTTP method used to obtain authorization. - google.protobuf.StringValue http_method = 1; - - // The HTTP request URL used to obtain authorization. - google.protobuf.StringValue http_request_url = 2; - - // The HTTP authorization header used to obtain authorization. - google.protobuf.StringValue http_authorization_header = 3; - } - - // 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; - - // Email address of a Google My Business account or email address of a - // manager of the Google My Business account. Required. - google.protobuf.StringValue email_address = 2; - - // 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. - google.protobuf.StringValue business_account_id = 10; - - // Used to filter Google My Business 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. - google.protobuf.StringValue business_name_filter = 4; - - // Used to filter Google My Business 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 google.protobuf.StringValue category_filters = 5; - - // Used to filter Google My Business 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 google.protobuf.StringValue label_filters = 6; - } - - // 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 google.protobuf.Int64Value chain_ids = 1; - - // The relationship the chains have with the advertiser. - google.ads.googleads.v1.enums.AffiliateLocationFeedRelationshipTypeEnum - .AffiliateLocationFeedRelationshipType relationship_type = 2; - } - - // The resource name of the feed. - // Feed resource names have the form: - // - // `customers/{customer_id}/feeds/{feed_id}` - string resource_name = 1; - - // The ID of the feed. - // This field is read-only. - google.protobuf.Int64Value id = 2; - - // Name of the feed. Required. - google.protobuf.StringValue name = 3; - - // The Feed's attributes. Required on CREATE. - // 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; - - // Specifies who manages the FeedAttributes for the Feed. - google.ads.googleads.v1.enums.FeedOriginEnum.FeedOrigin origin = 5; - - // Status of the feed. - // This field is read-only. - google.ads.googleads.v1.enums.FeedStatusEnum.FeedStatus status = 8; - - // 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 Google My Business - // Locations. - 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. - google.protobuf.Int64Value id = 1; - - // The name of the attribute. Required. - google.protobuf.StringValue name = 2; - - // Data type for feed attribute. Required. - google.ads.googleads.v1.enums.FeedAttributeTypeEnum.FeedAttributeType type = - 3; - - // Indicates that data corresponding to this attribute is part of a - // FeedItem's unique key. It defaults to false if it is unspecified. Note - // that a unique key is not required in a Feed's schema, in which case the - // FeedItems must be referenced by their feed_item_id. - google.protobuf.BoolValue is_part_of_key = 4; -} - -// 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; - } - - // Type of list operation to perform. - Operator operator = 1; - - // The feed attribute being added to the list. - FeedAttribute value = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v1/resources/feed_item.proto deleted file mode 100644 index d0885dac..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/feed_item.proto +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/custom_parameter.proto"; -import "google/ads/googleads/v1/common/feed_common.proto"; -import "google/ads/googleads/v1/common/policy.proto"; -import "google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto"; -import "google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto"; -import "google/ads/googleads/v1/enums/feed_item_status.proto"; -import "google/ads/googleads/v1/enums/feed_item_validation_status.proto"; -import "google/ads/googleads/v1/enums/geo_targeting_restriction.proto"; -import "google/ads/googleads/v1/enums/policy_approval_status.proto"; -import "google/ads/googleads/v1/enums/policy_review_status.proto"; -import "google/ads/googleads/v1/errors/feed_item_validation_error.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the FeedItem resource. - -// A feed item. -message FeedItem { - // 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; - - // The feed to which this feed item belongs. - google.protobuf.StringValue feed = 2; - - // The ID of this feed item. - google.protobuf.Int64Value id = 3; - - // Start time in which this feed item is effective and can begin serving. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue start_date_time = 4; - - // End time in which this feed item is no longer effective and will stop - // serving. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue end_date_time = 5; - - // The feed item's attribute values. - repeated FeedItemAttributeValue attribute_values = 6; - - // Geo targeting restriction specifies the type of location that can be used - // for targeting. - google.ads.googleads.v1.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.v1.common.CustomParameter - url_custom_parameters = 8; - - // Status of the feed item. - // This field is read-only. - google.ads.googleads.v1.enums.FeedItemStatusEnum.FeedItemStatus status = 9; - - // 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, e.g. 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; -} - -// A feed item attribute value. -message FeedItemAttributeValue { - // Id of the feed attribute for which the value is associated with. - google.protobuf.Int64Value feed_attribute_id = 1; - - // Int64 value. Should be set if feed_attribute_id refers to a feed attribute - // of type INT64. - google.protobuf.Int64Value integer_value = 2; - - // Bool value. Should be set if feed_attribute_id refers to a feed attribute - // of type BOOLEAN. - google.protobuf.BoolValue boolean_value = 3; - - // 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 format of the string must - // be the same as start and end time for the feed item. - google.protobuf.StringValue string_value = 4; - - // Double value. Should be set if feed_attribute_id refers to a feed attribute - // of type DOUBLE. - google.protobuf.DoubleValue double_value = 5; - - // Price value. Should be set if feed_attribute_id refers to a feed attribute - // of type PRICE. - google.ads.googleads.v1.common.Money price_value = 6; - - // Repeated int64 value. Should be set if feed_attribute_id refers to a feed - // attribute of type INT64_LIST. - repeated google.protobuf.Int64Value integer_values = 7; - - // Repeated bool value. Should be set if feed_attribute_id refers to a feed - // attribute of type BOOLEAN_LIST. - repeated google.protobuf.BoolValue boolean_values = 8; - - // 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 google.protobuf.StringValue string_values = 9; - - // Repeated double value. Should be set if feed_attribute_id refers to a feed - // attribute of type DOUBLE_LIST. - repeated google.protobuf.DoubleValue double_values = 10; -} - -// Policy, validation, and quality approval info for a feed item for the -// specified placeholder type. -message FeedItemPlaceholderPolicyInfo { - // The placeholder type. - google.protobuf.Int32Value placeholder_type = 1; - - // The FeedMapping that contains the placeholder type. - google.protobuf.StringValue feed_mapping_resource_name = 2; - - // Where the placeholder type is in the review process. - google.ads.googleads.v1.enums.PolicyReviewStatusEnum.PolicyReviewStatus - review_status = 3; - - // The overall approval status of the placeholder type, calculated based on - // the status of its individual policy topic entries. - google.ads.googleads.v1.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus - approval_status = 4; - - // The list of policy findings for the placeholder type. - repeated google.ads.googleads.v1.common.PolicyTopicEntry - policy_topic_entries = 5; - - // The validation status of the palceholder type. - google.ads.googleads.v1.enums.FeedItemValidationStatusEnum - .FeedItemValidationStatus validation_status = 6; - - // List of placeholder type validation errors. - repeated FeedItemValidationError validation_errors = 7; - - // Placeholder type quality evaluation approval status. - google.ads.googleads.v1.enums.FeedItemQualityApprovalStatusEnum - .FeedItemQualityApprovalStatus quality_approval_status = 8; - - // List of placeholder type quality evaluation disapproval reasons. - repeated google.ads.googleads.v1.enums.FeedItemQualityDisapprovalReasonEnum - .FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9; -} - -// Stores a validation error and the set of offending feed attributes which -// together are responsible for causing a feed item validation error. -message FeedItemValidationError { - // Error code indicating what validation error was triggered. The description - // of the error can be found in the 'description' field. - google.ads.googleads.v1.errors.FeedItemValidationErrorEnum - .FeedItemValidationError validation_error = 1; - - // The description of the validation error. - google.protobuf.StringValue description = 2; - - // Set of feed attributes in the feed item flagged during validation. If - // empty, no specific feed attributes can be associated with the error - // (e.g. error across the entire feed item). - repeated google.protobuf.Int64Value feed_attribute_ids = 3; - - // Any extra information related to this error which is not captured by - // validation_error and feed_attribute_id (e.g. placeholder field IDs when - // feed_attribute_id is not mapped). Note that extra_info is not localized. - google.protobuf.StringValue extra_info = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v1/resources/feed_item_target.proto deleted file mode 100644 index cbff9f82..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/feed_item_target.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criteria.proto"; -import "google/ads/googleads/v1/enums/feed_item_target_device.proto"; -import "google/ads/googleads/v1/enums/feed_item_target_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the FeedItemTarget resource. - -// A feed item target. -message FeedItemTarget { - // 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; - - // The feed item to which this feed item target belongs. - google.protobuf.StringValue feed_item = 2; - - // The target type of this feed item target. This field is read-only. - google.ads.googleads.v1.enums.FeedItemTargetTypeEnum.FeedItemTargetType - feed_item_target_type = 3; - - // The ID of the targeted resource. This field is read-only. - google.protobuf.Int64Value feed_item_target_id = 6; - - // The targeted resource. - oneof target { - // The targeted campaign. - google.protobuf.StringValue campaign = 4; - - // The targeted ad group. - google.protobuf.StringValue ad_group = 5; - - // The targeted keyword. - google.ads.googleads.v1.common.KeywordInfo keyword = 7; - - // The targeted geo target constant resource name. - google.protobuf.StringValue geo_target_constant = 8; - - // The targeted device. - google.ads.googleads.v1.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice - device = 9; - - // The targeted schedule. - google.ads.googleads.v1.common.AdScheduleInfo ad_schedule = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v1/resources/feed_mapping.proto deleted file mode 100644 index 57292cf9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/feed_mapping.proto +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/ad_customizer_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/app_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/call_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/callout_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/custom_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto"; -import "google/ads/googleads/v1/enums/education_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto"; -import "google/ads/googleads/v1/enums/feed_mapping_status.proto"; -import "google/ads/googleads/v1/enums/flight_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/hotel_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/job_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/local_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto"; -import "google/ads/googleads/v1/enums/location_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/message_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/ads/googleads/v1/enums/price_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/promotion_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/real_estate_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/sitelink_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto"; -import "google/ads/googleads/v1/enums/travel_placeholder_field.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the FeedMapping resource. - -// A feed mapping. -message FeedMapping { - // 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; - - // The feed of this feed mapping. - google.protobuf.StringValue feed = 2; - - // 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; - - // Status of the feed mapping. - // This field is read-only. - google.ads.googleads.v1.enums.FeedMappingStatusEnum.FeedMappingStatus status = - 6; - - // 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 { - // The placeholder type of this mapping (i.e., if the mapping maps feed - // attributes to placeholder fields). - google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_type = 3; - - // The criterion type of this mapping (i.e., if the mapping maps feed - // attributes to criterion fields). - google.ads.googleads.v1.enums.FeedMappingCriterionTypeEnum - .FeedMappingCriterionType criterion_type = 4; - } -} - -// Maps from feed attribute id to a placeholder or criterion field id. -message AttributeFieldMapping { - // Feed attribute from which to map. - google.protobuf.Int64Value feed_attribute_id = 1; - - // 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. - google.protobuf.Int64Value field_id = 2; - - // Placeholder or criterion field to be populated using data from - // the above feed attribute. Required. - oneof field { - // Sitelink Placeholder Fields. - google.ads.googleads.v1.enums.SitelinkPlaceholderFieldEnum - .SitelinkPlaceholderField sitelink_field = 3; - - // Call Placeholder Fields. - google.ads.googleads.v1.enums.CallPlaceholderFieldEnum.CallPlaceholderField - call_field = 4; - - // App Placeholder Fields. - google.ads.googleads.v1.enums.AppPlaceholderFieldEnum.AppPlaceholderField - app_field = 5; - - // Location Placeholder Fields. This field is read-only. - google.ads.googleads.v1.enums.LocationPlaceholderFieldEnum - .LocationPlaceholderField location_field = 6; - - // Affiliate Location Placeholder Fields. This field is read-only. - google.ads.googleads.v1.enums.AffiliateLocationPlaceholderFieldEnum - .AffiliateLocationPlaceholderField affiliate_location_field = 7; - - // Callout Placeholder Fields. - google.ads.googleads.v1.enums.CalloutPlaceholderFieldEnum - .CalloutPlaceholderField callout_field = 8; - - // Structured Snippet Placeholder Fields. - google.ads.googleads.v1.enums.StructuredSnippetPlaceholderFieldEnum - .StructuredSnippetPlaceholderField structured_snippet_field = 9; - - // Message Placeholder Fields. - google.ads.googleads.v1.enums.MessagePlaceholderFieldEnum - .MessagePlaceholderField message_field = 10; - - // Price Placeholder Fields. - google.ads.googleads.v1.enums.PricePlaceholderFieldEnum - .PricePlaceholderField price_field = 11; - - // Promotion Placeholder Fields. - google.ads.googleads.v1.enums.PromotionPlaceholderFieldEnum - .PromotionPlaceholderField promotion_field = 12; - - // Ad Customizer Placeholder Fields - google.ads.googleads.v1.enums.AdCustomizerPlaceholderFieldEnum - .AdCustomizerPlaceholderField ad_customizer_field = 13; - - // Dynamic Search Ad Page Feed Fields. - google.ads.googleads.v1.enums.DsaPageFeedCriterionFieldEnum - .DsaPageFeedCriterionField dsa_page_feed_field = 14; - - // Location Target Fields. - google.ads.googleads.v1.enums.LocationExtensionTargetingCriterionFieldEnum - .LocationExtensionTargetingCriterionField - location_extension_targeting_field = 15; - - // Education Placeholder Fields - google.ads.googleads.v1.enums.EducationPlaceholderFieldEnum - .EducationPlaceholderField education_field = 16; - - // Flight Placeholder Fields - google.ads.googleads.v1.enums.FlightPlaceholderFieldEnum - .FlightPlaceholderField flight_field = 17; - - // Custom Placeholder Fields - google.ads.googleads.v1.enums.CustomPlaceholderFieldEnum - .CustomPlaceholderField custom_field = 18; - - // Hotel Placeholder Fields - google.ads.googleads.v1.enums.HotelPlaceholderFieldEnum - .HotelPlaceholderField hotel_field = 19; - - // Real Estate Placeholder Fields - google.ads.googleads.v1.enums.RealEstatePlaceholderFieldEnum - .RealEstatePlaceholderField real_estate_field = 20; - - // Travel Placeholder Fields - google.ads.googleads.v1.enums.TravelPlaceholderFieldEnum - .TravelPlaceholderField travel_field = 21; - - // Local Placeholder Fields - google.ads.googleads.v1.enums.LocalPlaceholderFieldEnum - .LocalPlaceholderField local_field = 22; - - // Job Placeholder Fields - google.ads.googleads.v1.enums.JobPlaceholderFieldEnum.JobPlaceholderField - job_field = 23; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/feed_placeholder_view.proto deleted file mode 100644 index 0b03a883..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/feed_placeholder_view.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/placeholder_type.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedPlaceholderViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the FeedPlaceholderView resource. - -// A feed placeholder view. -message FeedPlaceholderView { - // 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; - - // The placeholder type of the feed placeholder view. - google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType - placeholder_type = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/gender_view.proto deleted file mode 100644 index dac1df67..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/gender_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GenderViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the gender view resource. - -// A gender view. -message GenderView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/geo_target_constant.proto deleted file mode 100644 index e89d7e99..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/geo_target_constant.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/geo_target_constant_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the geo target constant resource. - -// A geo target constant. -message GeoTargetConstant { - // 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; - - // The ID of the geo target constant. - google.protobuf.Int64Value id = 3; - - // Geo target constant English name. - google.protobuf.StringValue name = 4; - - // The ISO-3166-1 alpha-2 country code that is associated with the target. - google.protobuf.StringValue country_code = 5; - - // Geo target constant target type. - google.protobuf.StringValue target_type = 6; - - // Geo target constant status. - google.ads.googleads.v1.enums.GeoTargetConstantStatusEnum - .GeoTargetConstantStatus status = 7; - - // The fully qualified English name, consisting of the target's name and that - // of its parent and country. - google.protobuf.StringValue canonical_name = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/geographic_view.proto deleted file mode 100644 index 9514db05..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/geographic_view.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/geo_targeting_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GeographicViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the geographic view resource. - -// A geographic view. -// -// Geographic View includes all metrics aggregated at the country level, -// one row per country. It reports metrics at either actual physical location of -// the user or an area of interest. If other segment fields are used, you may -// get more than one row per country. -message GeographicView { - // 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; - - // CriterionId for the geo target for a country. - google.protobuf.StringValue country_geo_target_constant = 2; - - // Type of the geo targeting of the campaign. - google.ads.googleads.v1.enums.GeoTargetingTypeEnum.GeoTargetingType - location_type = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v1/resources/google_ads_field.proto deleted file mode 100644 index bb7fe280..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/google_ads_field.proto +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/google_ads_field_category.proto"; -import "google/ads/googleads/v1/enums/google_ads_field_data_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Google Ads Field resource. - -// A field or resource (artifact) used by GoogleAdsService. -message GoogleAdsField { - // The resource name of the artifact. - // Artifact resource names have the form: - // - // `googleAdsFields/{name}` - string resource_name = 1; - - // The name of the artifact. - google.protobuf.StringValue name = 2; - - // The category of the artifact. - google.ads.googleads.v1.enums.GoogleAdsFieldCategoryEnum - .GoogleAdsFieldCategory category = 3; - - // Whether the artifact can be used in a SELECT clause in search - // queries. - google.protobuf.BoolValue selectable = 4; - - // Whether the artifact can be used in a WHERE clause in search - // queries. - google.protobuf.BoolValue filterable = 5; - - // Whether the artifact can be used in a ORDER BY clause in search - // queries. - google.protobuf.BoolValue sortable = 6; - - // The names of all resources, segments, and metrics that are selectable with - // the described artifact. - repeated google.protobuf.StringValue selectable_with = 7; - - // 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 google.protobuf.StringValue attribute_resources = 8; - - // At and beyond version V1 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. - // - // Before version V1 this field lists the names of all metrics that are - // selectable with the described artifact. It is only set for artifacts whose - // category is either RESOURCE or SEGMENT - repeated google.protobuf.StringValue metrics = 9; - - // At and beyond version V1 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. - // - // Before version V1 this field lists the names of all artifacts, whether a - // segment or another resource, that segment metrics when included in search - // queries. It is only set for artifacts of category RESOURCE, SEGMENT or - // METRIC. - repeated google.protobuf.StringValue segments = 10; - - // 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 google.protobuf.StringValue enum_values = 11; - - // This field determines the operators that can be used with the artifact - // in WHERE clauses. - google.ads.googleads.v1.enums.GoogleAdsFieldDataTypeEnum - .GoogleAdsFieldDataType data_type = 12; - - // The URL of proto describing the artifact's data type. - google.protobuf.StringValue type_url = 13; - - // Whether the field artifact is repeated. - google.protobuf.BoolValue is_repeated = 14; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/group_placement_view.proto deleted file mode 100644 index 1eb44e61..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/group_placement_view.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/placement_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GroupPlacementViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the group placement view resource. - -// A group placement view. -message GroupPlacementView { - // 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; - - // The automatic placement string at group level, e. g. web domain, mobile - // app ID, or a YouTube channel ID. - google.protobuf.StringValue placement = 2; - - // Domain name for websites and YouTube channel name for YouTube channels. - google.protobuf.StringValue display_name = 3; - - // URL of the group placement, e.g. domain, link to the mobile application in - // app store, or a YouTube channel URL. - google.protobuf.StringValue target_url = 4; - - // Type of the placement, e.g. Website, YouTube Channel, Mobile Application. - google.ads.googleads.v1.enums.PlacementTypeEnum.PlacementType placement_type = - 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/hotel_group_view.proto deleted file mode 100644 index 5384add7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/hotel_group_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "HotelGroupViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the hotel group view resource. - -// A hotel group view. -message HotelGroupView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/hotel_performance_view.proto deleted file mode 100644 index 3a815fd9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/hotel_performance_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "HotelPerformanceViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the hotel performance view resource. - -// A hotel performance view. -message HotelPerformanceView { - // The resource name of the hotel performance view. - // Hotel performance view resource names have the form: - // - // `customers/{customer_id}/hotelPerformanceView` - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan.proto deleted file mode 100644 index fd2d38f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/dates.proto"; -import "google/ads/googleads/v1/enums/keyword_plan_forecast_interval.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword plan resource. - -// A Keyword Planner plan. -// Max number of saved keyword plans: 10000. -// It's possible to remove plans if limit is reached. -message KeywordPlan { - // 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; - - // The ID of the keyword plan. - google.protobuf.Int64Value id = 2; - - // The name of the keyword plan. - // - // This field is required and should not be empty when creating new keyword - // plans. - google.protobuf.StringValue name = 3; - - // The date period used for forecasting the plan. - KeywordPlanForecastPeriod forecast_period = 4; -} - -// The forecasting period associated with the keyword plan. -message KeywordPlanForecastPeriod { - // Required. The date used for forecasting the Plan. - oneof interval { - // A future date range relative to the current date used for forecasting. - google.ads.googleads.v1.enums.KeywordPlanForecastIntervalEnum - .KeywordPlanForecastInterval date_interval = 1; - - // The custom date range used for forecasting. - // The start and end dates must be in the future. Otherwise, an error will - // be returned when the forecasting action is performed. - google.ads.googleads.v1.common.DateRange date_range = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto deleted file mode 100644 index c3d31c8b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword plan ad group resource. - -// A Keyword Planner ad group. -// Max number of keyword plan ad groups per plan: 200. -message KeywordPlanAdGroup { - // 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; - - // The keyword plan campaign to which this ad group belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; - - // The ID of the keyword plan ad group. - google.protobuf.Int64Value id = 3; - - // The name of the keyword plan ad group. - // - // This field is required and should not be empty when creating keyword plan - // ad group. - google.protobuf.StringValue name = 4; - - // 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. - google.protobuf.Int64Value cpc_bid_micros = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_campaign.proto deleted file mode 100644 index 8e26b57c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_campaign.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/keyword_plan_network.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword plan campaign resource. - -// A Keyword Plan campaign. -// Max number of keyword plan campaigns per plan allowed: 1. -message KeywordPlanCampaign { - // 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; - - // The keyword plan this campaign belongs to. - google.protobuf.StringValue keyword_plan = 2; - - // The ID of the Keyword Plan campaign. - google.protobuf.Int64Value id = 3; - - // The name of the Keyword Plan campaign. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.protobuf.StringValue name = 4; - - // The languages targeted for the Keyword Plan campaign. - // Max allowed: 1. - repeated google.protobuf.StringValue language_constants = 5; - - // Targeting network. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.ads.googleads.v1.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork - keyword_plan_network = 6; - - // A default max cpc bid in micros, and in the account currency, for all ad - // groups under the campaign. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.protobuf.Int64Value cpc_bid_micros = 7; - - // The geo targets. - // Max number allowed: 20. - repeated KeywordPlanGeoTarget geo_targets = 8; -} - -// A geo target. -// Next ID: 3 -message KeywordPlanGeoTarget { - // Required. The resource name of the geo target. - google.protobuf.StringValue geo_target_constant = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_keyword.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_keyword.proto deleted file mode 100644 index 6e969a7b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_keyword.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/keyword_match_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword plan keyword resource. - -// A Keyword Plan ad group keyword. -// Max number of keyword plan keywords per plan: 2500. -message KeywordPlanKeyword { - // The resource name of the Keyword Plan ad group keyword. - // KeywordPlanKeyword resource names have the form: - // - // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}` - string resource_name = 1; - - // The Keyword Plan ad group to which this keyword belongs. - google.protobuf.StringValue keyword_plan_ad_group = 2; - - // The ID of the Keyword Plan keyword. - google.protobuf.Int64Value id = 3; - - // The keyword text. - google.protobuf.StringValue text = 4; - - // The keyword match type. - google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType - match_type = 5; - - // A keyword level max cpc bid in micros, in the account currency, that - // overrides the keyword plan ad group cpc bid. - google.protobuf.Int64Value cpc_bid_micros = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto deleted file mode 100644 index 546dd454..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/keyword_match_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword plan negative keyword resource. - -// A Keyword Plan negative keyword. -// Max number of keyword plan negative keywords per plan: 1000. -message KeywordPlanNegativeKeyword { - // The resource name of the Keyword Plan negative keyword. - // KeywordPlanNegativeKeyword resource names have the form: - // - // - // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}` - string resource_name = 1; - - // The Keyword Plan campaign to which this negative keyword belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; - - // The ID of the Keyword Plan negative keyword. - google.protobuf.Int64Value id = 3; - - // The keyword text. - google.protobuf.StringValue text = 4; - - // The keyword match type. - google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType - match_type = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/keyword_view.proto deleted file mode 100644 index 90fba705..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/keyword_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the keyword view resource. - -// A keyword view. -message KeywordView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/label.proto b/google-cloud/protos/google/ads/googleads/v1/resources/label.proto deleted file mode 100644 index aa30abe0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/label.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/text_label.proto"; -import "google/ads/googleads/v1/enums/label_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LabelProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// A label. -message Label { - // Name of the resource. - // Label resource names have the form: - // `customers/{customer_id}/labels/{label_id}` - string resource_name = 1; - - // Id of the label. Read only. - google.protobuf.Int64Value id = 2; - - // 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. - google.protobuf.StringValue name = 3; - - // Status of the label. Read only. - google.ads.googleads.v1.enums.LabelStatusEnum.LabelStatus status = 4; - - // A type of label displaying text on a colored background. - google.ads.googleads.v1.common.TextLabel text_label = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/landing_page_view.proto deleted file mode 100644 index f2aa756c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/landing_page_view.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LandingPageViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the landing page view resource. - -// A landing page view with metrics aggregated at the unexpanded final URL -// level. -message LandingPageView { - // 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; - - // The advertiser-specified final URL. - google.protobuf.StringValue unexpanded_final_url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/language_constant.proto deleted file mode 100644 index 77c7a2db..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/language_constant.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LanguageConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the language constant resource. - -// A language. -message LanguageConstant { - // The resource name of the language constant. - // Language constant resource names have the form: - // - // `languageConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the language constant. - google.protobuf.Int64Value id = 2; - - // The language code, e.g. "en_US", "en_AU", "es", "fr", etc. - google.protobuf.StringValue code = 3; - - // The full name of the language in English, e.g., "English (US)", "Spanish", - // etc. - google.protobuf.StringValue name = 4; - - // Whether the language is targetable. - google.protobuf.BoolValue targetable = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/location_view.proto deleted file mode 100644 index 68d43e6d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/location_view.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LocationViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the location view resource. - -// A location view summarizes the performance of campaigns by -// Location criteria. -message LocationView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/managed_placement_view.proto deleted file mode 100644 index 4e6b4ab4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/managed_placement_view.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ManagedPlacementViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Managed Placement view resource. - -// A managed placement view. -message ManagedPlacementView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v1/resources/media_file.proto deleted file mode 100644 index 5002b006..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/media_file.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/media_type.proto"; -import "google/ads/googleads/v1/enums/mime_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the media file resource. - -// A media file. -message MediaFile { - // 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; - - // The ID of the media file. - google.protobuf.Int64Value id = 2; - - // Type of the media file. - google.ads.googleads.v1.enums.MediaTypeEnum.MediaType type = 5; - - // The mime type of the media file. - google.ads.googleads.v1.enums.MimeTypeEnum.MimeType mime_type = 6; - - // The URL of where the original media file was downloaded from (or a file - // name). - google.protobuf.StringValue source_url = 7; - - // The name of the media file. The name can be used by clients to help - // identify previously uploaded media. - google.protobuf.StringValue name = 8; - - // The size of the media file in bytes. - google.protobuf.Int64Value file_size = 9; - - // The specific type of the media file. - oneof mediatype { - // Encapsulates an Image. - MediaImage image = 3; - - // A ZIP archive media the content of which contains HTML5 assets. - MediaBundle media_bundle = 4; - - // Encapsulates an Audio. - MediaAudio audio = 10; - - // Encapsulates a Video. - MediaVideo video = 11; - } -} - -// Encapsulates an Image. -message MediaImage { - // Raw image data. - google.protobuf.BytesValue data = 1; -} - -// Represents a ZIP archive media the content of which contains HTML5 assets. -message MediaBundle { - // Raw zipped data. - google.protobuf.BytesValue data = 1; -} - -// Encapsulates an Audio. -message MediaAudio { - // The duration of the Audio in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; -} - -// Encapsulates a Video. -message MediaVideo { - // The duration of the Video in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; - - // The YouTube video ID (as seen in YouTube URLs). - google.protobuf.StringValue youtube_video_id = 2; - - // The Advertising Digital Identification code for this video, as defined by - // the American Association of Advertising Agencies, used mainly for - // television commercials. - google.protobuf.StringValue advertising_id_code = 3; - - // The Industry Standard Commercial Identifier code for this video, used - // mainly for television commercials. - google.protobuf.StringValue isci_code = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v1/resources/merchant_center_link.proto deleted file mode 100644 index 55100b26..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/merchant_center_link.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/merchant_center_link_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// 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 { - // 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; - - // The ID of the Merchant Center account. - // This field is readonly. - google.protobuf.Int64Value id = 3; - - // The name of the Merchant Center account. - // This field is readonly. - google.protobuf.StringValue merchant_center_account_name = 4; - - // The status of the link. - google.ads.googleads.v1.enums.MerchantCenterLinkStatusEnum - .MerchantCenterLinkStatus status = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/mobile_app_category_constant.proto deleted file mode 100644 index f859dc04..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/mobile_app_category_constant.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MobileAppCategoryConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the Mobile App Category Constant resource. - -// A mobile application category constant. -message MobileAppCategoryConstant { - // 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; - - // The ID of the mobile app category constant. - google.protobuf.Int32Value id = 2; - - // Mobile app category name. - google.protobuf.StringValue name = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/mobile_device_constant.proto deleted file mode 100644 index b68852ce..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/mobile_device_constant.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/mobile_device_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the mobile device constant resource. - -// A mobile device constant. -message MobileDeviceConstant { - // The resource name of the mobile device constant. - // Mobile device constant resource names have the form: - // - // `mobileDeviceConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the mobile device constant. - google.protobuf.Int64Value id = 2; - - // The name of the mobile device. - google.protobuf.StringValue name = 3; - - // The manufacturer of the mobile device. - google.protobuf.StringValue manufacturer_name = 4; - - // The operating system of the mobile device. - google.protobuf.StringValue operating_system_name = 5; - - // The type of mobile device. - google.ads.googleads.v1.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/mutate_job.proto b/google-cloud/protos/google/ads/googleads/v1/resources/mutate_job.proto deleted file mode 100644 index 038ca8ba..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/mutate_job.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/mutate_job_status.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the mutate 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 MutateJobService.ListMutateJobResults. -message MutateJob { - // Additional information about the mutate job. This message is also used as - // metadata returned in mutate job Long Running Operations. - message MutateJobMetadata { - // The time when this mutate job was created. - // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" - google.protobuf.StringValue creation_date_time = 1; - - // The time when this mutate job was completed. - // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" - google.protobuf.StringValue completion_date_time = 2; - - // 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. - google.protobuf.DoubleValue estimated_completion_ratio = 3; - - // The number of mutate operations in the mutate job. - google.protobuf.Int64Value operation_count = 4; - - // The number of mutate operations executed by the mutate job. - // Present only if the job has started running. - google.protobuf.Int64Value executed_operation_count = 5; - } - - // The resource name of the mutate job. - // Mutate job resource names have the form: - // - // `customers/{customer_id}/mutateJobs/{mutate_job_id}` - string resource_name = 1; - - // ID of this mutate job. - google.protobuf.Int64Value id = 2; - - // The next sequence token to use when adding operations. Only set when the - // mutate job status is PENDING. - google.protobuf.StringValue next_add_sequence_token = 3; - - // Contains additional information about this mutate job. - MutateJobMetadata metadata = 4; - - // Status of this mutate job. - google.ads.googleads.v1.enums.MutateJobStatusEnum.MutateJobStatus status = 5; - - // The resource name of the long-running operation that can be used to poll - // for completion. Only set when the mutate job status is RUNNING or DONE. - google.protobuf.StringValue long_running_operation = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v1/resources/operating_system_version_constant.proto deleted file mode 100644 index 29c61b1e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/operating_system_version_constant.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/enums/operating_system_version_operator_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionConstantProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the operating system version constant resource. - -// A mobile operating system version or a range of versions, depending on -// 'operator_type'. The complete list of available mobile platforms is available -// - // here - repeated google.protobuf.StringValue path = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v1/resources/topic_view.proto deleted file mode 100644 index 4a0a016a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/topic_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "TopicViewProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the topic view resource. - -// A topic view. -message TopicView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v1/resources/user_interest.proto deleted file mode 100644 index 61f8847f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/user_interest.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/criterion_category_availability.proto"; -import "google/ads/googleads/v1/enums/user_interest_taxonomy_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the User Interest resource. - -// A user interest: a particular interest-based vertical to be targeted. -message UserInterest { - // 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; - - // Taxonomy type of the user interest. - google.ads.googleads.v1.enums.UserInterestTaxonomyTypeEnum - .UserInterestTaxonomyType taxonomy_type = 2; - - // The ID of the user interest. - google.protobuf.Int64Value user_interest_id = 3; - - // The name of the user interest. - google.protobuf.StringValue name = 4; - - // The parent of the user interest. - google.protobuf.StringValue user_interest_parent = 5; - - // True if the user interest is launched to all channels and locales. - google.protobuf.BoolValue launched_to_all = 6; - - // Availability information of the user interest. - repeated google.ads.googleads.v1.common.CriterionCategoryAvailability - availabilities = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v1/resources/user_list.proto deleted file mode 100644 index 6fa7ce78..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/user_list.proto +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/ads/googleads/v1/common/user_lists.proto"; -import "google/ads/googleads/v1/enums/access_reason.proto"; -import "google/ads/googleads/v1/enums/user_list_access_status.proto"; -import "google/ads/googleads/v1/enums/user_list_closing_reason.proto"; -import "google/ads/googleads/v1/enums/user_list_membership_status.proto"; -import "google/ads/googleads/v1/enums/user_list_size_range.proto"; -import "google/ads/googleads/v1/enums/user_list_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "UserListProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the User List resource. - -// A user list. This is a list of users a customer may target. -message UserList { - // 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; - - // Id of the user list. - google.protobuf.Int64Value id = 2; - - // A flag 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. - google.protobuf.BoolValue read_only = 3; - - // Name of this user list. Depending on its access_reason, the user list name - // may not be unique (e.g. if access_reason=SHARED) - google.protobuf.StringValue name = 4; - - // Description of this user list. - google.protobuf.StringValue description = 5; - - // Membership status of this user list. Indicates whether a user list is open - // or active. Only open user lists can accumulate more users and can be - // targeted to. - google.ads.googleads.v1.enums.UserListMembershipStatusEnum - .UserListMembershipStatus membership_status = 6; - - // An ID from external system. It is used by user list sellers to correlate - // IDs on their systems. - google.protobuf.StringValue integration_code = 7; - - // 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. - google.protobuf.Int64Value membership_life_span = 8; - - // 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. - google.protobuf.Int64Value size_for_display = 9; - - // Size range in terms of number of users of the UserList, on the Google - // Display Network. - // - // This field is read-only. - google.ads.googleads.v1.enums.UserListSizeRangeEnum.UserListSizeRange - size_range_for_display = 10; - - // 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. - google.protobuf.Int64Value size_for_search = 11; - - // Size range in terms of number of users of the UserList, for Search ads. - // - // This field is read-only. - google.ads.googleads.v1.enums.UserListSizeRangeEnum.UserListSizeRange - size_range_for_search = 12; - - // Type of this list. - // - // This field is read-only. - google.ads.googleads.v1.enums.UserListTypeEnum.UserListType type = 13; - - // Indicating the reason why this user list membership status is closed. It is - // only populated on lists that were automatically closed due to inactivity, - // and will be cleared once the list membership status becomes open. - google.ads.googleads.v1.enums.UserListClosingReasonEnum.UserListClosingReason - closing_reason = 14; - - // Indicates the reason this account has been granted access to the list. - // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. - // - // This field is read-only. - google.ads.googleads.v1.enums.AccessReasonEnum.AccessReason access_reason = - 15; - - // Indicates if this share is still enabled. When a UserList is shared with - // the user this field is set to ENABLED. Later the userList owner can decide - // to revoke the share and make it DISABLED. - // The default value of this field is set to ENABLED. - google.ads.googleads.v1.enums.UserListAccessStatusEnum.UserListAccessStatus - account_user_list_status = 16; - - // Indicates if this user list is eligible for Google Search Network. - google.protobuf.BoolValue eligible_for_search = 17; - - // Indicates this user list is eligible for Google Display Network. - // - // This field is read-only. - google.protobuf.BoolValue eligible_for_display = 18; - - // The user list. - // - // Exactly one must be set. - oneof user_list { - // User list of CRM users provided by the advertiser. - google.ads.googleads.v1.common.CrmBasedUserListInfo crm_based_user_list = - 19; - - // User list which are similar to users from another UserList. - // These lists are readonly and automatically created by google. - google.ads.googleads.v1.common.SimilarUserListInfo similar_user_list = 20; - - // User list generated by a rule. - google.ads.googleads.v1.common.RuleBasedUserListInfo rule_based_user_list = - 21; - - // User list that is a custom combination of user lists and user interests. - google.ads.googleads.v1.common.LogicalUserListInfo logical_user_list = 22; - - // User list targeting as a collection of conversion or remarketing actions. - google.ads.googleads.v1.common.BasicUserListInfo basic_user_list = 23; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/resources/video.proto b/google-cloud/protos/google/ads/googleads/v1/resources/video.proto deleted file mode 100644 index 1a75018d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/resources/video.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.resources; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "VideoProto"; -option java_package = "com.google.ads.googleads.v1.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V1::Resources"; - -// Proto file describing the video resource. - -// A video. -message Video { - // The resource name of the video. - // Video resource names have the form: - // - // `customers/{customer_id}/videos/{video_id}` - string resource_name = 1; - - // The ID of the video. - google.protobuf.StringValue id = 2; - - // The owner channel id of the video. - google.protobuf.StringValue channel_id = 3; - - // The duration of the video in milliseconds. - google.protobuf.Int64Value duration_millis = 4; - - // The title of the video. - google.protobuf.StringValue title = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/account_budget_proposal_service.proto deleted file mode 100644 index 288cb317..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/account_budget_proposal_service.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/account_budget_proposal.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AccountBudgetProposal service. - -// A service for managing account-level budgets via proposals. -// -// A proposal is a request to create a new budget or make changes to an -// existing one. -// -// Reads for account-level budgets managed by these proposals will be -// supported in a future version. Please use BudgetOrderService until then: -// https://developers.google.com/adwords/api/docs/guides/budget-order -// -// Mutates: -// The CREATE operation creates a new proposal. -// UPDATE operations aren't supported. -// The REMOVE operation cancels a pending proposal. -service AccountBudgetProposalService { - // Returns an account-level budget proposal in full detail. - rpc GetAccountBudgetProposal(GetAccountBudgetProposalRequest) - returns (google.ads.googleads.v1.resources.AccountBudgetProposal) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/accountBudgetProposals/*}" - }; - } - - // Creates, updates, or removes account budget proposals. Operation statuses - // are returned. - rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) - returns (MutateAccountBudgetProposalResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/accountBudgetProposals:mutate" - body: "*" - }; - } -} - -// Request message for -// [AccountBudgetProposalService.GetAccountBudgetProposal][google.ads.googleads.v1.services.AccountBudgetProposalService.GetAccountBudgetProposal]. -message GetAccountBudgetProposalRequest { - // The resource name of the account-level budget proposal to fetch. - string resource_name = 1; -} - -// Request message for -// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v1.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. -message MutateAccountBudgetProposalRequest { - // The ID of the customer. - string customer_id = 1; - - // The operation to perform on an individual account-level budget proposal. - AccountBudgetProposalOperation operation = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 3; -} - -// A single operation to propose the creation of a new account-level budget or -// edit/end/remove an existing one. -message AccountBudgetProposalOperation { - // FieldMask that determines which budget fields are modified. While budgets - // may be modified, proposals that propose such modifications are final. - // Therefore, update operations are not supported for proposals. - // - // Proposals that modify budgets have the 'update' proposal type. Specifying - // a mask for any other proposal type is considered an error. - google.protobuf.FieldMask update_mask = 3; - - // The mutate operation. - oneof operation { - // Create operation: A new proposal to create a new budget, edit an - // existing budget, end an actively running budget, or remove an approved - // budget scheduled to start in the future. - // No resource name is expected for the new proposal. - google.ads.googleads.v1.resources.AccountBudgetProposal create = 2; - - // Remove operation: A resource name for the removed proposal is expected, - // in this format: - // - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - // A request may be cancelled iff it is pending. - string remove = 1; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/account_budget_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/account_budget_service.proto deleted file mode 100644 index b8c3adb5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/account_budget_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/account_budget.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AccountBudget service. - -// A service for fetching an account-level budget. -// -// Account-level budgets are mutated by creating proposal resources. -service AccountBudgetService { - // Returns an account-level budget in full detail. - rpc GetAccountBudget(GetAccountBudgetRequest) - returns (google.ads.googleads.v1.resources.AccountBudget) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/accountBudgets/*}" - }; - } -} - -// Request message for -// [AccountBudgetService.GetAccountBudget][google.ads.googleads.v1.services.AccountBudgetService.GetAccountBudget]. -message GetAccountBudgetRequest { - // The resource name of the account-level budget to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_label_service.proto deleted file mode 100644 index 1d245820..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_label_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_ad_label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdLabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Ad Label service. - -// Service to manage labels on ad group ads. -service AdGroupAdLabelService { - // Returns the requested ad group ad label in full detail. - rpc GetAdGroupAdLabel(GetAdGroupAdLabelRequest) - returns (google.ads.googleads.v1.resources.AdGroupAdLabel) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupAdLabels/*}" - }; - } - - // Creates and removes ad group ad labels. - // Operation statuses are returned. - rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) - returns (MutateAdGroupAdLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupAdLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupAdLabelService.GetAdGroupAdLabel][google.ads.googleads.v1.services.AdGroupAdLabelService.GetAdGroupAdLabel]. -message GetAdGroupAdLabelRequest { - // The resource name of the ad group ad label to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v1.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. -message MutateAdGroupAdLabelsRequest { - // ID of the customer whose ad group ad labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group ad labels. - repeated AdGroupAdLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group ad label. -message AdGroupAdLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group ad - // label. - google.ads.googleads.v1.resources.AdGroupAdLabel create = 1; - - // Remove operation: A resource name for the ad group ad label - // being removed, in this format: - // - // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id} - // _{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_service.proto deleted file mode 100644 index 93c44113..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_ad_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/policy.proto"; -import "google/ads/googleads/v1/resources/ad_group_ad.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Ad service. - -// Service to manage ads in an ad group. -service AdGroupAdService { - // Returns the requested ad in full detail. - rpc GetAdGroupAd(GetAdGroupAdRequest) - returns (google.ads.googleads.v1.resources.AdGroupAd) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupAds/*}" - }; - } - - // Creates, updates, or removes ads. Operation statuses are returned. - rpc MutateAdGroupAds(MutateAdGroupAdsRequest) - returns (MutateAdGroupAdsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupAds:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupAdService.GetAdGroupAd][google.ads.googleads.v1.services.AdGroupAdService.GetAdGroupAd]. -message GetAdGroupAdRequest { - // The resource name of the ad to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v1.services.AdGroupAdService.MutateAdGroupAds]. -message MutateAdGroupAdsRequest { - // The ID of the customer whose ads are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ads. - repeated AdGroupAdOperation operations = 2; - - // 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 ad. -message AdGroupAdOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // Configuration for how policies are validated. - google.ads.googleads.v1.common.PolicyValidationParameter - policy_validation_parameter = 5; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad. - google.ads.googleads.v1.resources.AdGroupAd create = 1; - - // Update operation: The ad is expected to have a valid resource name. - google.ads.googleads.v1.resources.AdGroupAd update = 2; - - // Remove operation: A resource name for the removed ad is expected, - // in this format: - // - // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_audience_view_service.proto deleted file mode 100644 index 213e6374..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_audience_view_service.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_audience_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAudienceViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdGroup Audience View service. - -// Service to manage ad group audience views. -service AdGroupAudienceViewService { - // Returns the requested ad group audience view in full detail. - rpc GetAdGroupAudienceView(GetAdGroupAudienceViewRequest) - returns (google.ads.googleads.v1.resources.AdGroupAudienceView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupAudienceViews/*}" - }; - } -} - -// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][]. -message GetAdGroupAudienceViewRequest { - // The resource name of the ad group audience view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_bid_modifier_service.proto deleted file mode 100644 index db02be22..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_bid_modifier_service.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_bid_modifier.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Bid Modifier service. - -// Service to manage ad group bid modifiers. -service AdGroupBidModifierService { - // Returns the requested ad group bid modifier in full detail. - rpc GetAdGroupBidModifier(GetAdGroupBidModifierRequest) - returns (google.ads.googleads.v1.resources.AdGroupBidModifier) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupBidModifiers/*}" - }; - } - - // Creates, updates, or removes ad group bid modifiers. - // Operation statuses are returned. - rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) - returns (MutateAdGroupBidModifiersResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupBidModifiers:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupBidModifierService.GetAdGroupBidModifier][google.ads.googleads.v1.services.AdGroupBidModifierService.GetAdGroupBidModifier]. -message GetAdGroupBidModifierRequest { - // The resource name of the ad group bid modifier to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v1.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. -message MutateAdGroupBidModifiersRequest { - // ID of the customer whose ad group bid modifiers are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group bid modifiers. - repeated AdGroupBidModifierOperation operations = 2; - - // 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, update) on an ad group bid modifier. -message AdGroupBidModifierOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group bid - // modifier. - google.ads.googleads.v1.resources.AdGroupBidModifier create = 1; - - // Update operation: The ad group bid modifier is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.AdGroupBidModifier update = 2; - - // Remove operation: A resource name for the removed ad group bid modifier - // is expected, in this format: - // - // - // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_label_service.proto deleted file mode 100644 index e3ba75b1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_label_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_criterion_label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionLabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Criterion Label service. - -// Service to manage labels on ad group criteria. -service AdGroupCriterionLabelService { - // Returns the requested ad group criterion label in full detail. - rpc GetAdGroupCriterionLabel(GetAdGroupCriterionLabelRequest) - returns (google.ads.googleads.v1.resources.AdGroupCriterionLabel) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupCriterionLabels/*}" - }; - } - - // Creates and removes ad group criterion labels. - // Operation statuses are returned. - rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) - returns (MutateAdGroupCriterionLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupCriterionLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupCriterionLabelService.GetAdGroupCriterionLabel][google.ads.googleads.v1.services.AdGroupCriterionLabelService.GetAdGroupCriterionLabel]. -message GetAdGroupCriterionLabelRequest { - // The resource name of the ad group criterion label to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v1.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. -message MutateAdGroupCriterionLabelsRequest { - // ID of the customer whose ad group criterion labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group criterion labels. - repeated AdGroupCriterionLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group criterion label. -message AdGroupCriterionLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // label. - google.ads.googleads.v1.resources.AdGroupCriterionLabel create = 1; - - // Remove operation: A resource name for the ad group criterion label - // being removed, in this format: - // - // - // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_service.proto deleted file mode 100644 index 3a3a2ff4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_service.proto +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/policy.proto"; -import "google/ads/googleads/v1/resources/ad_group_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Criterion service. - -// Service to manage ad group criteria. -service AdGroupCriterionService { - // Returns the requested criterion in full detail. - rpc GetAdGroupCriterion(GetAdGroupCriterionRequest) - returns (google.ads.googleads.v1.resources.AdGroupCriterion) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupCriteria/*}" - }; - } - - // Creates, updates, or removes criteria. Operation statuses are returned. - rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) - returns (MutateAdGroupCriteriaResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupCriteria:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupCriterionService.GetAdGroupCriterion][google.ads.googleads.v1.services.AdGroupCriterionService.GetAdGroupCriterion]. -message GetAdGroupCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v1.services.AdGroupCriterionService.MutateAdGroupCriteria]. -message MutateAdGroupCriteriaRequest { - // ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated AdGroupCriterionOperation operations = 2; - - // 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, 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, please 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.v1.common.PolicyViolationKey - exempt_policy_violation_keys = 5; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v1.resources.AdGroupCriterion create = 1; - - // Update operation: The criterion is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.AdGroupCriterion update = 2; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_simulation_service.proto deleted file mode 100644 index e51aeb1d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_criterion_simulation_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdGroupCriterionSimulation service. - -// Service to fetch ad group criterion simulations. -service AdGroupCriterionSimulationService { - // Returns the requested ad group criterion simulation in full detail. - rpc GetAdGroupCriterionSimulation(GetAdGroupCriterionSimulationRequest) - returns (google.ads.googleads.v1.resources.AdGroupCriterionSimulation) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupCriterionSimulations/*}" - }; - } -} - -// Request message for -// [AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation][google.ads.googleads.v1.services.AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation]. -message GetAdGroupCriterionSimulationRequest { - // The resource name of the ad group criterion simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_extension_setting_service.proto deleted file mode 100644 index b7496dd8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_extension_setting_service.proto +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdGroupExtensionSetting service. - -// Service to manage ad group extension settings. -service AdGroupExtensionSettingService { - // Returns the requested ad group extension setting in full detail. - rpc GetAdGroupExtensionSetting(GetAdGroupExtensionSettingRequest) - returns (google.ads.googleads.v1.resources.AdGroupExtensionSetting) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupExtensionSettings/*}" - }; - } - - // Creates, updates, or removes ad group extension settings. Operation - // statuses are returned. - rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) - returns (MutateAdGroupExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupExtensionSettingService.GetAdGroupExtensionSetting][google.ads.googleads.v1.services.AdGroupExtensionSettingService.GetAdGroupExtensionSetting]. -message GetAdGroupExtensionSettingRequest { - // The resource name of the ad group extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v1.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. -message MutateAdGroupExtensionSettingsRequest { - // The ID of the customer whose ad group extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group extension - // settings. - repeated AdGroupExtensionSettingOperation operations = 2; - - // 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 mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // extension setting. - google.ads.googleads.v1.resources.AdGroupExtensionSetting create = 1; - - // Update operation: The ad group extension setting is expected to have a - // valid resource name. - google.ads.googleads.v1.resources.AdGroupExtensionSetting update = 2; - - // Remove operation: A resource name for the removed ad group extension - // setting is expected, in this format: - // - // - // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_feed_service.proto deleted file mode 100644 index 5780852b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_feed_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdGroupFeed service. - -// Service to manage ad group feeds. -service AdGroupFeedService { - // Returns the requested ad group feed in full detail. - rpc GetAdGroupFeed(GetAdGroupFeedRequest) - returns (google.ads.googleads.v1.resources.AdGroupFeed) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupFeeds/*}" - }; - } - - // Creates, updates, or removes ad group feeds. Operation statuses are - // returned. - rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) - returns (MutateAdGroupFeedsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupFeeds:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupFeedService.GetAdGroupFeed][google.ads.googleads.v1.services.AdGroupFeedService.GetAdGroupFeed]. -message GetAdGroupFeedRequest { - // The resource name of the ad group feed to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v1.services.AdGroupFeedService.MutateAdGroupFeeds]. -message MutateAdGroupFeedsRequest { - // The ID of the customer whose ad group feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group feeds. - repeated AdGroupFeedOperation operations = 2; - - // 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 feed. -message AdGroupFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group feed. - google.ads.googleads.v1.resources.AdGroupFeed create = 1; - - // Update operation: The ad group feed is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.AdGroupFeed update = 2; - - // Remove operation: A resource name for the removed ad group feed is - // expected, in this format: - // - // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_label_service.proto deleted file mode 100644 index c6c71ef6..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_label_service.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupLabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group Label service. - -// Service to manage labels on ad groups. -service AdGroupLabelService { - // Returns the requested ad group label in full detail. - rpc GetAdGroupLabel(GetAdGroupLabelRequest) - returns (google.ads.googleads.v1.resources.AdGroupLabel) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupLabels/*}" - }; - } - - // Creates and removes ad group labels. - // Operation statuses are returned. - rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) - returns (MutateAdGroupLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroupLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupLabelService.GetAdGroupLabel][google.ads.googleads.v1.services.AdGroupLabelService.GetAdGroupLabel]. -message GetAdGroupLabelRequest { - // The resource name of the ad group label to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v1.services.AdGroupLabelService.MutateAdGroupLabels]. -message MutateAdGroupLabelsRequest { - // ID of the customer whose ad group labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group labels. - repeated AdGroupLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group label. -message AdGroupLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // label. - google.ads.googleads.v1.resources.AdGroupLabel create = 1; - - // Remove operation: A resource name for the ad group label - // being removed, in this format: - // - // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_service.proto deleted file mode 100644 index 4ec9aaa0..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_service.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Group service. - -// Service to manage ad groups. -service AdGroupService { - // Returns the requested ad group in full detail. - rpc GetAdGroup(GetAdGroupRequest) - returns (google.ads.googleads.v1.resources.AdGroup) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroups/*}" - }; - } - - // Creates, updates, or removes ad groups. Operation statuses are returned. - rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adGroups:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupService.GetAdGroup][google.ads.googleads.v1.services.AdGroupService.GetAdGroup]. -message GetAdGroupRequest { - // The resource name of the ad group to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupService.MutateAdGroups][google.ads.googleads.v1.services.AdGroupService.MutateAdGroups]. -message MutateAdGroupsRequest { - // The ID of the customer whose ad groups are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad groups. - repeated AdGroupOperation operations = 2; - - // 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. -message AdGroupOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group. - google.ads.googleads.v1.resources.AdGroup create = 1; - - // Update operation: The ad group is expected to have a valid resource name. - google.ads.googleads.v1.resources.AdGroup update = 2; - - // Remove operation: A resource name for the removed ad group is expected, - // in this format: - // - // `customers/{customer_id}/adGroups/{ad_group_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_group_simulation_service.proto deleted file mode 100644 index b178f2e7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_group_simulation_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_group_simulation.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdGroupSimulation service. - -// Service to fetch ad group simulations. -service AdGroupSimulationService { - // Returns the requested ad group simulation in full detail. - rpc GetAdGroupSimulation(GetAdGroupSimulationRequest) - returns (google.ads.googleads.v1.resources.AdGroupSimulation) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adGroupSimulations/*}" - }; - } -} - -// Request message for -// [AdGroupSimulationService.GetAdGroupSimulation][google.ads.googleads.v1.services.AdGroupSimulationService.GetAdGroupSimulation]. -message GetAdGroupSimulationRequest { - // The resource name of the ad group simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_parameter_service.proto deleted file mode 100644 index 34055da7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_parameter_service.proto +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_parameter.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Ad Parameter service. - -// Service to manage ad parameters. -service AdParameterService { - // Returns the requested ad parameter in full detail. - rpc GetAdParameter(GetAdParameterRequest) - returns (google.ads.googleads.v1.resources.AdParameter) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adParameters/*}" - }; - } - - // Creates, updates, or removes ad parameters. Operation statuses are - // returned. - rpc MutateAdParameters(MutateAdParametersRequest) - returns (MutateAdParametersResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/adParameters:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdParameterService.GetAdParameter][google.ads.googleads.v1.services.AdParameterService.GetAdParameter] -message GetAdParameterRequest { - // The resource name of the ad parameter to fetch. - string resource_name = 1; -} - -// Request message for -// [AdParameterService.MutateAdParameters][google.ads.googleads.v1.services.AdParameterService.MutateAdParameters] -message MutateAdParametersRequest { - // The ID of the customer whose ad parameters are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad parameters. - repeated AdParameterOperation operations = 2; - - // 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 ad parameter. -message AdParameterOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad parameter. - google.ads.googleads.v1.resources.AdParameter create = 1; - - // Update operation: The ad parameter is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.AdParameter update = 2; - - // Remove operation: A resource name for the ad parameter to remove is - // expected in this format: - // - // - // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/ad_schedule_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/ad_schedule_view_service.proto deleted file mode 100644 index 68ad7a99..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/ad_schedule_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/ad_schedule_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdScheduleViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the AdSchedule View service. - -// Service to fetch ad schedule views. -service AdScheduleViewService { - // Returns the requested ad schedule view in full detail. - rpc GetAdScheduleView(GetAdScheduleViewRequest) - returns (google.ads.googleads.v1.resources.AdScheduleView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/adScheduleViews/*}" - }; - } -} - -// Request message for -// [AdScheduleViewService.GetAdScheduleView][google.ads.googleads.v1.services.AdScheduleViewService.GetAdScheduleView]. -message GetAdScheduleViewRequest { - // The resource name of the ad schedule view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/age_range_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/age_range_view_service.proto deleted file mode 100644 index 3b895b80..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/age_range_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/age_range_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Age Range View service. - -// Service to manage age range views. -service AgeRangeViewService { - // Returns the requested age range view in full detail. - rpc GetAgeRangeView(GetAgeRangeViewRequest) - returns (google.ads.googleads.v1.resources.AgeRangeView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/ageRangeViews/*}" - }; - } -} - -// Request message for -// [AgeRangeViewService.GetAgeRangeView][google.ads.googleads.v1.services.AgeRangeViewService.GetAgeRangeView]. -message GetAgeRangeViewRequest { - // The resource name of the age range view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/asset_service.proto deleted file mode 100644 index 92c0017b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/asset_service.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/asset.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AssetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Asset service. - -// Service to manage assets. Asset types can be created with AssetService are -// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be -// created with Ad inline. -service AssetService { - // Returns the requested asset in full detail. - rpc GetAsset(GetAssetRequest) - returns (google.ads.googleads.v1.resources.Asset) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/assets/*}" - }; - } - - // Creates assets. Operation statuses are returned. - rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/assets:mutate" - body: "*" - }; - } -} - -// Request message for -// [AssetService.GetAsset][google.ads.googleads.v1.services.AssetService.GetAsset] -message GetAssetRequest { - // The resource name of the asset to fetch. - string resource_name = 1; -} - -// Request message for -// [AssetService.MutateAssets][google.ads.googleads.v1.services.AssetService.MutateAssets] -message MutateAssetsRequest { - // The ID of the customer whose assets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual assets. - repeated AssetOperation operations = 2; -} - -// A single operation to create an asset. Supported asset types are -// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be -// created with Ad inline. -message AssetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new asset. - google.ads.googleads.v1.resources.Asset create = 1; - } -} - -// Response message for an asset mutate. -message MutateAssetsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/bidding_strategy_service.proto deleted file mode 100644 index 196a19f4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/bidding_strategy_service.proto +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/bidding_strategy.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Bidding Strategy service. - -// Service to manage bidding strategies. -service BiddingStrategyService { - // Returns the requested bidding strategy in full detail. - rpc GetBiddingStrategy(GetBiddingStrategyRequest) - returns (google.ads.googleads.v1.resources.BiddingStrategy) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/biddingStrategies/*}" - }; - } - - // Creates, updates, or removes bidding strategies. Operation statuses are - // returned. - rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) - returns (MutateBiddingStrategiesResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/biddingStrategies:mutate" - body: "*" - }; - } -} - -// Request message for -// [BiddingStrategyService.GetBiddingStrategy][google.ads.googleads.v1.services.BiddingStrategyService.GetBiddingStrategy]. -message GetBiddingStrategyRequest { - // The resource name of the bidding strategy to fetch. - string resource_name = 1; -} - -// Request message for -// [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v1.services.BiddingStrategyService.MutateBiddingStrategies]. -message MutateBiddingStrategiesRequest { - // The ID of the customer whose bidding strategies are being modified. - string customer_id = 1; - - // The list of operations to perform on individual bidding strategies. - repeated BiddingStrategyOperation operations = 2; - - // 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 bidding strategy. -message BiddingStrategyOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new bidding - // strategy. - google.ads.googleads.v1.resources.BiddingStrategy create = 1; - - // Update operation: The bidding strategy is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.BiddingStrategy update = 2; - - // Remove operation: A resource name for the removed bidding strategy is - // expected, in this format: - // - // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/billing_setup_service.proto deleted file mode 100644 index 46653674..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/billing_setup_service.proto +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/billing_setup.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the BillingSetup service. - -// A service for designating the business entity responsible for accrued costs. -// -// A billing setup is associated with a Payments account. Billing-related -// activity for all billing setups associated with a particular Payments account -// will appear on a single invoice generated monthly. -// -// Mutates: -// The REMOVE operation cancels a pending billing setup. -// The CREATE operation creates a new billing setup. -service BillingSetupService { - // Returns a billing setup. - rpc GetBillingSetup(GetBillingSetupRequest) - returns (google.ads.googleads.v1.resources.BillingSetup) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/billingSetups/*}" - }; - } - - // Creates a billing setup, or cancels an existing billing setup. - rpc MutateBillingSetup(MutateBillingSetupRequest) - returns (MutateBillingSetupResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/billingSetups:mutate" - body: "*" - }; - } -} - -// Request message for -// [BillingSetupService.GetBillingSetup][google.ads.googleads.v1.services.BillingSetupService.GetBillingSetup]. -message GetBillingSetupRequest { - // The resource name of the billing setup to fetch. - string resource_name = 1; -} - -// Request message for billing setup mutate operations. -message MutateBillingSetupRequest { - // Id of the customer to apply the billing setup mutate operation to. - string customer_id = 1; - - // The operation to perform. - BillingSetupOperation operation = 2; -} - -// A single operation on a billing setup, which describes the cancellation of an -// existing billing setup. -message BillingSetupOperation { - // Only one of these operations can be set. "Update" operations are not - // supported. - oneof operation { - // Creates a billing setup. No resource name is expected for the new billing - // setup. - google.ads.googleads.v1.resources.BillingSetup create = 2; - - // Resource name of the billing setup to remove. A setup cannot be - // removed unless it is in a pending state or its scheduled start time is in - // the future. The resource name looks like - // `customers/{customer_id}/billingSetups/{billing_id}`. - string remove = 1; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_audience_view_service.proto deleted file mode 100644 index fc59212a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_audience_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_audience_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignAudienceViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Audience View service. - -// Service to manage campaign audience views. -service CampaignAudienceViewService { - // Returns the requested campaign audience view in full detail. - rpc GetCampaignAudienceView(GetCampaignAudienceViewRequest) - returns (google.ads.googleads.v1.resources.CampaignAudienceView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignAudienceViews/*}" - }; - } -} - -// Request message for -// [CampaignAudienceViewService.GetCampaignAudienceView][google.ads.googleads.v1.services.CampaignAudienceViewService.GetCampaignAudienceView]. -message GetCampaignAudienceViewRequest { - // The resource name of the campaign audience view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_bid_modifier_service.proto deleted file mode 100644 index c5c374d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_bid_modifier_service.proto +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_bid_modifier.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBidModifierServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Bid Modifier service. - -// Service to manage campaign bid modifiers. -service CampaignBidModifierService { - // Returns the requested campaign bid modifier in full detail. - rpc GetCampaignBidModifier(GetCampaignBidModifierRequest) - returns (google.ads.googleads.v1.resources.CampaignBidModifier) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignBidModifiers/*}" - }; - } - - // Creates, updates, or removes campaign bid modifiers. - // Operation statuses are returned. - rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) - returns (MutateCampaignBidModifiersResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignBidModifiers:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignBidModifierService.GetCampaignBidModifier][google.ads.googleads.v1.services.CampaignBidModifierService.GetCampaignBidModifier]. -message GetCampaignBidModifierRequest { - // The resource name of the campaign bid modifier to fetch. - string resource_name = 1; -} - -// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][]. -message MutateCampaignBidModifiersRequest { - // ID of the customer whose campaign bid modifiers are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign bid modifiers. - repeated CampaignBidModifierOperation operations = 2; - - // 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, update) on a campaign bid modifier. -message CampaignBidModifierOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign bid - // modifier. - google.ads.googleads.v1.resources.CampaignBidModifier create = 1; - - // Update operation: The campaign bid modifier is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.CampaignBidModifier update = 2; - - // Remove operation: A resource name for the removed campaign bid modifier - // is expected, in this format: - // - // - // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_budget_service.proto deleted file mode 100644 index 720e1d53..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_budget_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_budget.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Budget service. - -// Service to manage campaign budgets. -service CampaignBudgetService { - // Returns the requested Campaign Budget in full detail. - rpc GetCampaignBudget(GetCampaignBudgetRequest) - returns (google.ads.googleads.v1.resources.CampaignBudget) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignBudgets/*}" - }; - } - - // Creates, updates, or removes campaign budgets. Operation statuses are - // returned. - rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) - returns (MutateCampaignBudgetsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignBudgets:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignBudgetService.GetCampaignBudget][google.ads.googleads.v1.services.CampaignBudgetService.GetCampaignBudget]. -message GetCampaignBudgetRequest { - // The resource name of the campaign budget to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v1.services.CampaignBudgetService.MutateCampaignBudgets]. -message MutateCampaignBudgetsRequest { - // The ID of the customer whose campaign budgets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign budgets. - repeated CampaignBudgetOperation operations = 2; - - // 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 campaign budget. -message CampaignBudgetOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new budget. - google.ads.googleads.v1.resources.CampaignBudget create = 1; - - // Update operation: The campaign budget is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.CampaignBudget update = 2; - - // Remove operation: A resource name for the removed budget is expected, in - // this format: - // - // `customers/{customer_id}/campaignBudgets/{budget_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_service.proto deleted file mode 100644 index 5e2edec7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Criterion service. - -// Service to manage campaign criteria. -service CampaignCriterionService { - // Returns the requested criterion in full detail. - rpc GetCampaignCriterion(GetCampaignCriterionRequest) - returns (google.ads.googleads.v1.resources.CampaignCriterion) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignCriteria/*}" - }; - } - - // Creates, updates, or removes criteria. Operation statuses are returned. - rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) - returns (MutateCampaignCriteriaResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignCriteria:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignCriterionService.GetCampaignCriterion][google.ads.googleads.v1.services.CampaignCriterionService.GetCampaignCriterion]. -message GetCampaignCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v1.services.CampaignCriterionService.MutateCampaignCriteria]. -message MutateCampaignCriteriaRequest { - // The ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated CampaignCriterionOperation operations = 2; - - // 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 campaign criterion. -message CampaignCriterionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v1.resources.CampaignCriterion create = 1; - - // Update operation: The criterion is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.CampaignCriterion update = 2; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_simulation_service.proto deleted file mode 100644 index 55f39bf9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_criterion_simulation_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_criterion_simulation.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the CampaignCriterionSimulation service. - -// Service to fetch campaign criterion simulations. -service CampaignCriterionSimulationService { - // Returns the requested campaign criterion simulation in full detail. - rpc GetCampaignCriterionSimulation(GetCampaignCriterionSimulationRequest) - returns (google.ads.googleads.v1.resources.CampaignCriterionSimulation) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignCriterionSimulations/*}" - }; - } -} - -// Request message for -// [CampaignCriterionSimulationService.GetCampaignCriterionSimulation][google.ads.googleads.v1.services.CampaignCriterionSimulationService.GetCampaignCriterionSimulation]. -message GetCampaignCriterionSimulationRequest { - // The resource name of the campaign criterion simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_draft_service.proto deleted file mode 100644 index f075b42b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_draft_service.proto +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_draft.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Draft service. - -// Service to manage campaign drafts. -service CampaignDraftService { - // Returns the requested campaign draft in full detail. - rpc GetCampaignDraft(GetCampaignDraftRequest) returns (google.ads.googleads.v1.resources.CampaignDraft) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignDrafts/*}" - }; - } - - // Creates, updates, or removes campaign drafts. Operation statuses are - // returned. - rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignDrafts:mutate" - body: "*" - }; - } - - // Promotes the changes in a draft back to the base campaign. - // - // This method returns a Long Running Operation (LRO) indicating if the - // Promote is done. Use [Operations.GetOperation] to poll the LRO until it - // is done. Only a done status is returned in the response. See the status - // in the Campaign Draft resource to determine if the promotion was - // successful. If the LRO failed, use - // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v1.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of - // error reasons. - rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{campaign_draft=customers/*/campaignDrafts/*}:promote" - body: "*" - }; - } - - // Returns all errors that occurred during CampaignDraft promote. Throws an - // error if called before campaign draft is promoted. - // Supports standard list paging. - rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" - }; - } -} - -// Request message for [CampaignDraftService.GetCampaignDraft][google.ads.googleads.v1.services.CampaignDraftService.GetCampaignDraft]. -message GetCampaignDraftRequest { - // The resource name of the campaign draft to fetch. - string resource_name = 1; -} - -// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v1.services.CampaignDraftService.MutateCampaignDrafts]. -message MutateCampaignDraftsRequest { - // The ID of the customer whose campaign drafts are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign drafts. - repeated CampaignDraftOperation operations = 2; - - // 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; -} - -// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v1.services.CampaignDraftService.PromoteCampaignDraft]. -message PromoteCampaignDraftRequest { - // The resource name of the campaign draft to promote. - string campaign_draft = 1; -} - -// A single operation (create, update, remove) on a campaign draft. -message CampaignDraftOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // draft. - google.ads.googleads.v1.resources.CampaignDraft create = 1; - - // Update operation: The campaign draft is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.CampaignDraft update = 2; - - // Remove operation: The campaign draft is expected to have a valid - // resource name, in this format: - // - // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} - -// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v1.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. -message ListCampaignDraftAsyncErrorsRequest { - // The name of the campaign draft from which to retrieve the async errors. - string resource_name = 1; - - // Token of the page to retrieve. If not specified, the first - // page of results will be returned. Use the value obtained from - // `next_page_token` in the previous response in order to request - // the next page of results. - string page_token = 2; - - // Number of elements to retrieve in a single page. - // When a page request is too large, the server may decide to - // further limit the number of returned resources. - int32 page_size = 3; -} - -// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v1.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. -message ListCampaignDraftAsyncErrorsResponse { - // Details of the errors when performing the asynchronous operation. - repeated google.rpc.Status errors = 1; - - // Pagination token used to retrieve the next page of results. - // Pass the content of this string as the `page_token` attribute of - // the next request. `next_page_token` is not returned for the last - // page. - string next_page_token = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_experiment_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_experiment_service.proto deleted file mode 100644 index 2d0e5c1d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_experiment_service.proto +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_experiment.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Experiment service. - -// CampaignExperimentService manages the life cycle of campaign experiments. -// It is used to create new experiments from drafts, modify experiment -// properties, promote changes in an experiment back to its base campaign, -// graduate experiments into new stand-alone campaigns, and to remove an -// experiment. -// -// An experiment consists of two variants or arms - the base campaign and the -// experiment campaign, directing a fixed share of traffic to each arm. -// A campaign experiment is created from a draft of changes to the base campaign -// and will be a snapshot of changes in the draft at the time of creation. -service CampaignExperimentService { - // Returns the requested campaign experiment in full detail. - rpc GetCampaignExperiment(GetCampaignExperimentRequest) returns (google.ads.googleads.v1.resources.CampaignExperiment) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignExperiments/*}" - }; - } - - // Creates a campaign experiment based on a campaign draft. The draft campaign - // will be forked into a real campaign (called the experiment campaign) that - // will begin serving ads if successfully created. - // - // The campaign experiment is created immediately with status INITIALIZING. - // This method return a long running operation that tracks the forking of the - // draft campaign. If the forking fails, a list of errors can be retrieved - // using the ListCampaignExperimentAsyncErrors method. The operation's - // metadata will be a StringValue containing the resource name of the created - // campaign experiment. - rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignExperiments:create" - body: "*" - }; - } - - // Updates campaign experiments. Operation statuses are returned. - rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignExperiments:mutate" - body: "*" - }; - } - - // Graduates a campaign experiment to a full campaign. The base and experiment - // campaigns will start running independently with their own budgets. - rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse) { - option (google.api.http) = { - post: "/v1/{campaign_experiment=customers/*/campaignExperiments/*}:graduate" - body: "*" - }; - } - - // Promotes the changes in a experiment campaign back to the base campaign. - // - // The campaign experiment is updated immediately with status PROMOTING. - // This method return a long running operation that tracks the promoting of - // the experiment campaign. If the promoting fails, a list of errors can be - // retrieved using the ListCampaignExperimentAsyncErrors method. - rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{campaign_experiment=customers/*/campaignExperiments/*}:promote" - body: "*" - }; - } - - // Immediately ends a campaign 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. - rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{campaign_experiment=customers/*/campaignExperiments/*}:end" - body: "*" - }; - } - - // Returns all errors that occurred during CampaignExperiment create or - // promote (whichever occurred last). - // Supports standard list paging. - rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors" - }; - } -} - -// Request message for [CampaignExperimentService.GetCampaignExperiment][google.ads.googleads.v1.services.CampaignExperimentService.GetCampaignExperiment]. -message GetCampaignExperimentRequest { - // The resource name of the campaign experiment to fetch. - string resource_name = 1; -} - -// Request message for [CampaignExperimentService.MutateCampaignExperiments][google.ads.googleads.v1.services.CampaignExperimentService.MutateCampaignExperiments]. -message MutateCampaignExperimentsRequest { - // The ID of the customer whose campaign experiments are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign experiments. - repeated CampaignExperimentOperation operations = 2; - - // 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 operation on a campaign experiment. -message CampaignExperimentOperation { - // 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 campaign experiment is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.CampaignExperiment update = 1; - - // Remove operation: The campaign experiment is expected to have a valid - // resource name, in this format: - // - // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` - string remove = 2; - } -} - -// Response message for campaign experiment mutate. -message MutateCampaignExperimentsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateCampaignExperimentResult results = 2; -} - -// The result for the campaign experiment mutate. -message MutateCampaignExperimentResult { - // Returned for successful operations. - string resource_name = 1; -} - -// Request message for [CampaignExperimentService.CreateCampaignExperiment][google.ads.googleads.v1.services.CampaignExperimentService.CreateCampaignExperiment]. -message CreateCampaignExperimentRequest { - // The ID of the customer whose campaign experiment is being created. - string customer_id = 1; - - // The campaign experiment to be created. - google.ads.googleads.v1.resources.CampaignExperiment campaign_experiment = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 3; -} - -// Message used as metadata returned in Long Running Operations for -// CreateCampaignExperimentRequest -message CreateCampaignExperimentMetadata { - // Resource name of campaign experiment created. - string campaign_experiment = 1; -} - -// Request message for [CampaignExperimentService.GraduateCampaignExperiment][google.ads.googleads.v1.services.CampaignExperimentService.GraduateCampaignExperiment]. -message GraduateCampaignExperimentRequest { - // The resource name of the campaign experiment to graduate. - string campaign_experiment = 1; - - // Resource name of the budget to attach to the campaign graduated from the - // experiment. - string campaign_budget = 2; -} - -// Response message for campaign experiment graduate. -message GraduateCampaignExperimentResponse { - // The resource name of the campaign from the graduated experiment. - // This campaign is the same one as CampaignExperiment.experiment_campaign. - string graduated_campaign = 1; -} - -// Request message for [CampaignExperimentService.PromoteCampaignExperiment][google.ads.googleads.v1.services.CampaignExperimentService.PromoteCampaignExperiment]. -message PromoteCampaignExperimentRequest { - // The resource name of the campaign experiment to promote. - string campaign_experiment = 1; -} - -// Request message for [CampaignExperimentService.EndCampaignExperiment][google.ads.googleads.v1.services.CampaignExperimentService.EndCampaignExperiment]. -message EndCampaignExperimentRequest { - // The resource name of the campaign experiment to end. - string campaign_experiment = 1; -} - -// Request message for -// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v1.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. -message ListCampaignExperimentAsyncErrorsRequest { - // The name of the campaign experiment from which to retrieve the async - // errors. - string resource_name = 1; - - // 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 -// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v1.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. -message ListCampaignExperimentAsyncErrorsResponse { - // 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/google-cloud/protos/google/ads/googleads/v1/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_extension_setting_service.proto deleted file mode 100644 index db4ff15c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_extension_setting_service.proto +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the CampaignExtensionSetting service. - -// Service to manage campaign extension settings. -service CampaignExtensionSettingService { - // Returns the requested campaign extension setting in full detail. - rpc GetCampaignExtensionSetting(GetCampaignExtensionSettingRequest) - returns (google.ads.googleads.v1.resources.CampaignExtensionSetting) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignExtensionSettings/*}" - }; - } - - // Creates, updates, or removes campaign extension settings. Operation - // statuses are returned. - rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) - returns (MutateCampaignExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignExtensionSettingService.GetCampaignExtensionSetting][google.ads.googleads.v1.services.CampaignExtensionSettingService.GetCampaignExtensionSetting]. -message GetCampaignExtensionSettingRequest { - // The resource name of the campaign extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v1.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. -message MutateCampaignExtensionSettingsRequest { - // The ID of the customer whose campaign extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign extension - // settings. - repeated CampaignExtensionSettingOperation operations = 2; - - // 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 campaign extension setting. -message CampaignExtensionSettingOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // extension setting. - google.ads.googleads.v1.resources.CampaignExtensionSetting create = 1; - - // Update operation: The campaign extension setting is expected to have a - // valid resource name. - google.ads.googleads.v1.resources.CampaignExtensionSetting update = 2; - - // Remove operation: A resource name for the removed campaign extension - // setting is expected, in this format: - // - // - // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_feed_service.proto deleted file mode 100644 index 26c55adc..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_feed_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the CampaignFeed service. - -// Service to manage campaign feeds. -service CampaignFeedService { - // Returns the requested campaign feed in full detail. - rpc GetCampaignFeed(GetCampaignFeedRequest) - returns (google.ads.googleads.v1.resources.CampaignFeed) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignFeeds/*}" - }; - } - - // Creates, updates, or removes campaign feeds. Operation statuses are - // returned. - rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) - returns (MutateCampaignFeedsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignFeeds:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignFeedService.GetCampaignFeed][google.ads.googleads.v1.services.CampaignFeedService.GetCampaignFeed]. -message GetCampaignFeedRequest { - // The resource name of the campaign feed to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v1.services.CampaignFeedService.MutateCampaignFeeds]. -message MutateCampaignFeedsRequest { - // The ID of the customer whose campaign feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign feeds. - repeated CampaignFeedOperation operations = 2; - - // 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 campaign feed. -message CampaignFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign feed. - google.ads.googleads.v1.resources.CampaignFeed create = 1; - - // Update operation: The campaign feed is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.CampaignFeed update = 2; - - // Remove operation: A resource name for the removed campaign feed is - // expected, in this format: - // - // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_label_service.proto deleted file mode 100644 index 56df9916..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_label_service.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignLabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Label service. - -// Service to manage labels on campaigns. -service CampaignLabelService { - // Returns the requested campaign-label relationship in full detail. - rpc GetCampaignLabel(GetCampaignLabelRequest) - returns (google.ads.googleads.v1.resources.CampaignLabel) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignLabels/*}" - }; - } - - // Creates and removes campaign-label relationships. - // Operation statuses are returned. - rpc MutateCampaignLabels(MutateCampaignLabelsRequest) - returns (MutateCampaignLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignLabelService.GetCampaignLabel][google.ads.googleads.v1.services.CampaignLabelService.GetCampaignLabel]. -message GetCampaignLabelRequest { - // The resource name of the campaign-label relationship to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v1.services.CampaignLabelService.MutateCampaignLabels]. -message MutateCampaignLabelsRequest { - // ID of the customer whose campaign-label relationships are being modified. - string customer_id = 1; - - // The list of operations to perform on campaign-label relationships. - repeated CampaignLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on a campaign-label relationship. -message CampaignLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign-label - // relationship. - google.ads.googleads.v1.resources.CampaignLabel create = 1; - - // Remove operation: A resource name for the campaign-label relationship - // being removed, in this format: - // - // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_service.proto deleted file mode 100644 index 542c0bc7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign service. - -// Service to manage campaigns. -service CampaignService { - // Returns the requested campaign in full detail. - rpc GetCampaign(GetCampaignRequest) - returns (google.ads.googleads.v1.resources.Campaign) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaigns/*}" - }; - } - - // Creates, updates, or removes campaigns. Operation statuses are returned. - rpc MutateCampaigns(MutateCampaignsRequest) - returns (MutateCampaignsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaigns:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignService.GetCampaign][google.ads.googleads.v1.services.CampaignService.GetCampaign]. -message GetCampaignRequest { - // The resource name of the campaign to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignService.MutateCampaigns][google.ads.googleads.v1.services.CampaignService.MutateCampaigns]. -message MutateCampaignsRequest { - // The ID of the customer whose campaigns are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaigns. - repeated CampaignOperation operations = 2; - - // 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 campaign. -message CampaignOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign. - google.ads.googleads.v1.resources.Campaign create = 1; - - // Update operation: The campaign is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.Campaign update = 2; - - // Remove operation: A resource name for the removed campaign is - // expected, in this format: - // - // `customers/{customer_id}/campaigns/{campaign_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/campaign_shared_set_service.proto deleted file mode 100644 index acc9a9af..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/campaign_shared_set_service.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/campaign_shared_set.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Campaign Shared Set service. - -// Service to manage campaign shared sets. -service CampaignSharedSetService { - // Returns the requested campaign shared set in full detail. - rpc GetCampaignSharedSet(GetCampaignSharedSetRequest) - returns (google.ads.googleads.v1.resources.CampaignSharedSet) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/campaignSharedSets/*}" - }; - } - - // Creates or removes campaign shared sets. Operation statuses are returned. - rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) - returns (MutateCampaignSharedSetsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/campaignSharedSets:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignSharedSetService.GetCampaignSharedSet][google.ads.googleads.v1.services.CampaignSharedSetService.GetCampaignSharedSet]. -message GetCampaignSharedSetRequest { - // The resource name of the campaign shared set to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v1.services.CampaignSharedSetService.MutateCampaignSharedSets]. -message MutateCampaignSharedSetsRequest { - // The ID of the customer whose campaign shared sets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign shared sets. - repeated CampaignSharedSetOperation operations = 2; - - // 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 campaign shared set. -message CampaignSharedSetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // shared set. - google.ads.googleads.v1.resources.CampaignSharedSet create = 1; - - // Remove operation: A resource name for the removed campaign shared set is - // expected, in this format: - // - // - // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/carrier_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/carrier_constant_service.proto deleted file mode 100644 index 10aa6ad8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/carrier_constant_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/carrier_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CarrierConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the carrier constant service. - -// Service to fetch carrier constants. -service CarrierConstantService { - // Returns the requested carrier constant in full detail. - rpc GetCarrierConstant(GetCarrierConstantRequest) - returns (google.ads.googleads.v1.resources.CarrierConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=carrierConstants/*}" - }; - } -} - -// Request message for -// [CarrierConstantService.GetCarrierConstant][google.ads.googleads.v1.services.CarrierConstantService.GetCarrierConstant]. -message GetCarrierConstantRequest { - // Resource name of the carrier constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/change_status_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/change_status_service.proto deleted file mode 100644 index 42534f27..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/change_status_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/change_status.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Change Status service. - -// Service to fetch change statuses. -service ChangeStatusService { - // Returns the requested change status in full detail. - rpc GetChangeStatus(GetChangeStatusRequest) - returns (google.ads.googleads.v1.resources.ChangeStatus) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/changeStatus/*}" - }; - } -} - -// Request message for -// '[ChangeStatusService.GetChangeStatus][google.ads.googleads.v1.services.ChangeStatusService.GetChangeStatus]'. -message GetChangeStatusRequest { - // The resource name of the change status to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/click_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/click_view_service.proto deleted file mode 100644 index 4ba02a29..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/click_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/click_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ClickViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the ClickView service. - -// Service to fetch click views. -service ClickViewService { - // Returns the requested click view in full detail. - rpc GetClickView(GetClickViewRequest) - returns (google.ads.googleads.v1.resources.ClickView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/clickViews/*}" - }; - } -} - -// Request message for -// [ClickViewService.GetClickView][google.ads.googleads.v1.services.ClickViewService.GetClickView]. -message GetClickViewRequest { - // The resource name of the click view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/conversion_action_service.proto deleted file mode 100644 index a7ac01ff..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/conversion_action_service.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/conversion_action.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Conversion Action service. - -// Service to manage conversion actions. -service ConversionActionService { - // Returns the requested conversion action. - rpc GetConversionAction(GetConversionActionRequest) - returns (google.ads.googleads.v1.resources.ConversionAction) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/conversionActions/*}" - }; - } - - // Creates, updates or removes conversion actions. Operation statuses are - // returned. - rpc MutateConversionActions(MutateConversionActionsRequest) - returns (MutateConversionActionsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/conversionActions:mutate" - body: "*" - }; - } -} - -// Request message for -// [ConversionActionService.GetConversionAction][google.ads.googleads.v1.services.ConversionActionService.GetConversionAction]. -message GetConversionActionRequest { - // The resource name of the conversion action to fetch. - string resource_name = 1; -} - -// Request message for -// [ConversionActionService.MutateConversionActions][google.ads.googleads.v1.services.ConversionActionService.MutateConversionActions]. -message MutateConversionActionsRequest { - // The ID of the customer whose conversion actions are being modified. - string customer_id = 1; - - // The list of operations to perform on individual conversion actions. - repeated ConversionActionOperation operations = 2; - - // 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 conversion action. -message ConversionActionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new conversion - // action. - google.ads.googleads.v1.resources.ConversionAction create = 1; - - // Update operation: The conversion action is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.ConversionAction update = 2; - - // Remove operation: A resource name for the removed conversion action is - // expected, in this format: - // - // `customers/{customer_id}/conversionActions/{conversion_action_id}` - string remove = 3; - } -} - -// Response message for -// [ConversionActionService.MutateConversionActions][google.ads.googleads.v1.services.ConversionActionService.MutateConversionActions]. -message MutateConversionActionsResponse { - // Errors that pertain to operation failures in the partial failure mode. - // Returned only when partial_failure = true and all errors occur inside the - // operations. If any errors occur outside the operations (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/conversion_adjustment_upload_service.proto deleted file mode 100644 index 70b0a2d7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/conversion_adjustment_upload_service.proto +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/enums/conversion_adjustment_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to upload conversion adjustments. -service ConversionAdjustmentUploadService { - // Processes the given conversion adjustments. - rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) - returns (UploadConversionAdjustmentsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:uploadConversionAdjustments" - body: "*" - }; - } -} - -// Request message for -// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v1.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. -message UploadConversionAdjustmentsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversion adjustments that are being uploaded. - repeated ConversionAdjustment conversion_adjustments = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for -// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v1.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. -message UploadConversionAdjustmentsResponse { - // Errors that pertain to conversion adjustment failures in the partial - // failure mode. Returned when all errors occur inside the adjustments. If any - // errors occur outside the adjustments (e.g. auth errors), we return an RPC - // level error. - 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; -} - -// A conversion adjustment. -message ConversionAdjustment { - // 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. - google.protobuf.StringValue conversion_action = 3; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue adjustment_date_time = 4; - - // The adjustment type. - google.ads.googleads.v1.enums.ConversionAdjustmentTypeEnum - .ConversionAdjustmentType adjustment_type = 5; - - // Information needed to restate the conversion's value. - // Required for restatements. Should not be supplied for retractions. An error - // will be returned if provided for a retraction. - RestatementValue restatement_value = 6; - - // Identifies the conversion to be adjusted. - oneof conversion_identifier { - // Uniquely identifies a conversion that was reported without an order ID - // specified. - GclidDateTimePair gclid_date_time_pair = 1; - - // 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. - google.protobuf.StringValue order_id = 2; - } -} - -// 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. - google.protobuf.DoubleValue adjusted_value = 1; - - // 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 e.g. USD or EUR. - google.protobuf.StringValue currency_code = 2; -} - -// 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. - google.protobuf.StringValue gclid = 1; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 2; -} - -// Information identifying a successfully processed ConversionAdjustment. -message ConversionAdjustmentResult { - // Resource name of the conversion action associated with this conversion - // adjustment. - google.protobuf.StringValue conversion_action = 3; - - // The date time at which the adjustment occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue adjustment_date_time = 4; - - // The adjustment type. - google.ads.googleads.v1.enums.ConversionAdjustmentTypeEnum - .ConversionAdjustmentType adjustment_type = 5; - - // Identifies the conversion that was adjusted. - oneof conversion_identifier { - // Uniquely identifies a conversion that was reported without an order ID - // specified. - GclidDateTimePair gclid_date_time_pair = 1; - - // The order ID of the conversion that was adjusted. - google.protobuf.StringValue order_id = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/conversion_upload_service.proto deleted file mode 100644 index f3d31637..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/conversion_upload_service.proto +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionUploadServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to upload conversions. -service ConversionUploadService { - // Processes the given click conversions. - rpc UploadClickConversions(UploadClickConversionsRequest) - returns (UploadClickConversionsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:uploadClickConversions" - body: "*" - }; - } - - // Processes the given call conversions. - rpc UploadCallConversions(UploadCallConversionsRequest) - returns (UploadCallConversionsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:uploadCallConversions" - body: "*" - }; - } -} - -// Request message for -// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v1.services.ConversionUploadService.UploadClickConversions]. -message UploadClickConversionsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversions that are being uploaded. - repeated ClickConversion conversions = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for -// [ConversionUploadService.UploadClickConversions][google.ads.googleads.v1.services.ConversionUploadService.UploadClickConversions]. -message UploadClickConversionsResponse { - // Errors that pertain to conversion failures in the partial failure mode. - // Returned when all errors occur inside the conversions. If any errors occur - // outside the conversions (e.g. auth errors), we return an RPC level error. - 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; -} - -// Request message for -// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v1.services.ConversionUploadService.UploadCallConversions]. -message UploadCallConversionsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversions that are being uploaded. - repeated CallConversion conversions = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for -// [ConversionUploadService.UploadCallConversions][google.ads.googleads.v1.services.ConversionUploadService.UploadCallConversions]. -message UploadCallConversionsResponse { - // Errors that pertain to conversion failures in the partial failure mode. - // Returned when all errors occur inside the conversions. If any errors occur - // outside the conversions (e.g. auth errors), we return an RPC level error. - 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. - google.protobuf.StringValue gclid = 1; - - // 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. - google.protobuf.StringValue conversion_action = 2; - - // 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", e.g. “2019-01-01 12:32:45-08:00”. - google.protobuf.StringValue conversion_date_time = 3; - - // The value of the conversion for the advertiser. - google.protobuf.DoubleValue conversion_value = 4; - - // Currency associated with the conversion value. This is the ISO 4217 - // 3-character currency code. For example: USD, EUR. - google.protobuf.StringValue currency_code = 5; - - // The order ID associated with the conversion. An order id can only be used - // for one conversion per conversion action. - google.protobuf.StringValue order_id = 6; - - // 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; -} - -// 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. e.g. "+16502531234". - google.protobuf.StringValue caller_id = 1; - - // The date time at which the call occurred. The timezone must be specified. - // The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", - // e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue call_start_date_time = 2; - - // 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. - google.protobuf.StringValue conversion_action = 3; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 4; - - // The value of the conversion for the advertiser. - google.protobuf.DoubleValue conversion_value = 5; - - // Currency associated with the conversion value. This is the ISO 4217 - // 3-character currency code. For example: USD, EUR. - google.protobuf.StringValue currency_code = 6; -} - -// Contains additional information about externally attributed conversions. -message ExternalAttributionData { - // Represents the fraction of the conversion that is attributed to the - // Google Ads click. - google.protobuf.DoubleValue external_attribution_credit = 1; - - // Specifies the attribution model name. - google.protobuf.StringValue external_attribution_model = 2; -} - -// Identifying information for a successfully processed ClickConversion. -message ClickConversionResult { - // The Google Click ID (gclid) associated with this conversion. - google.protobuf.StringValue gclid = 1; - - // Resource name of the conversion action associated with this conversion. - google.protobuf.StringValue conversion_action = 2; - - // The date time at which the conversion occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”. - google.protobuf.StringValue conversion_date_time = 3; -} - -// 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. - google.protobuf.StringValue caller_id = 1; - - // The date time at which the call occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue call_start_date_time = 2; - - // Resource name of the conversion action associated with this conversion. - google.protobuf.StringValue conversion_action = 3; - - // The date time at which the conversion occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/custom_interest_service.proto deleted file mode 100644 index 4dfc1638..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/custom_interest_service.proto +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/custom_interest.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Custom Interest service. - -// Service to manage custom interests. -service CustomInterestService { - // Returns the requested custom interest in full detail. - rpc GetCustomInterest(GetCustomInterestRequest) - returns (google.ads.googleads.v1.resources.CustomInterest) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customInterests/*}" - }; - } - - // Creates or updates custom interests. Operation statuses are returned. - rpc MutateCustomInterests(MutateCustomInterestsRequest) - returns (MutateCustomInterestsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customInterests:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomInterestService.GetCustomInterest][google.ads.googleads.v1.services.CustomInterestService.GetCustomInterest]. -message GetCustomInterestRequest { - // The resource name of the custom interest to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomInterestService.MutateCustomInterests][google.ads.googleads.v1.services.CustomInterestService.MutateCustomInterests]. -message MutateCustomInterestsRequest { - // The ID of the customer whose custom interests are being modified. - string customer_id = 1; - - // The list of operations to perform on individual custom interests. - repeated CustomInterestOperation operations = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a custom interest. -message CustomInterestOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new custom - // interest. - google.ads.googleads.v1.resources.CustomInterest create = 1; - - // Update operation: The custom interest is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.CustomInterest update = 2; - } -} - -// Response message for custom interest mutate. -message MutateCustomInterestsResponse { - // All results for the mutate. - repeated MutateCustomInterestResult results = 2; -} - -// The result for the custom interest mutate. -message MutateCustomInterestResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_client_link_service.proto deleted file mode 100644 index c98e4391..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_client_link_service.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_client_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to manage customer client links. -service CustomerClientLinkService { - // Returns the requested CustomerClientLink in full detail. - rpc GetCustomerClientLink(GetCustomerClientLinkRequest) - returns (google.ads.googleads.v1.resources.CustomerClientLink) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerClientLinks/*}" - }; - } - - // Creates or updates a customer client link. Operation statuses are returned. - rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) - returns (MutateCustomerClientLinkResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerClientLinks:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerClientLinkService.GetCustomerClientLink][google.ads.googleads.v1.services.CustomerClientLinkService.GetCustomerClientLink]. -message GetCustomerClientLinkRequest { - // The resource name of the customer client link to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v1.services.CustomerClientLinkService.MutateCustomerClientLink]. -message MutateCustomerClientLinkRequest { - // The ID of the customer whose customer link are being modified. - string customer_id = 1; - - // The operation to perform on the individual CustomerClientLink. - CustomerClientLinkOperation operation = 2; -} - -// A single operation (create, update) on a CustomerClientLink. -message CustomerClientLinkOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new link. - google.ads.googleads.v1.resources.CustomerClientLink create = 1; - - // Update operation: The link is expected to have a valid resource name. - google.ads.googleads.v1.resources.CustomerClientLink update = 2; - } -} - -// Response message for a CustomerClientLink mutate. -message MutateCustomerClientLinkResponse { - // A result that identifies the resource affected by the mutate request. - MutateCustomerClientLinkResult result = 1; -} - -// The result for a single customer client link mutate. -message MutateCustomerClientLinkResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_client_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_client_service.proto deleted file mode 100644 index 1dd80930..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_client_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_client.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Customer Client service. - -// Service to get clients in a customer's hierarchy. -service CustomerClientService { - // Returns the requested client in full detail. - rpc GetCustomerClient(GetCustomerClientRequest) - returns (google.ads.googleads.v1.resources.CustomerClient) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerClients/*}" - }; - } -} - -// Request message for -// [CustomerClientService.GetCustomerClient][google.ads.googleads.v1.services.CustomerClientService.GetCustomerClient]. -message GetCustomerClientRequest { - // The resource name of the client to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_extension_setting_service.proto deleted file mode 100644 index 9ec4974c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_extension_setting_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the CustomerExtensionSetting service. - -// Service to manage customer extension settings. -service CustomerExtensionSettingService { - // Returns the requested customer extension setting in full detail. - rpc GetCustomerExtensionSetting(GetCustomerExtensionSettingRequest) - returns (google.ads.googleads.v1.resources.CustomerExtensionSetting) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerExtensionSettings/*}" - }; - } - - // Creates, updates, or removes customer extension settings. Operation - // statuses are returned. - rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) - returns (MutateCustomerExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerExtensionSettingService.GetCustomerExtensionSetting][google.ads.googleads.v1.services.CustomerExtensionSettingService.GetCustomerExtensionSetting]. -message GetCustomerExtensionSettingRequest { - // The resource name of the customer extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v1.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. -message MutateCustomerExtensionSettingsRequest { - // The ID of the customer whose customer extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual customer extension - // settings. - repeated CustomerExtensionSettingOperation operations = 2; - - // 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 customer extension setting. -message CustomerExtensionSettingOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer - // extension setting. - google.ads.googleads.v1.resources.CustomerExtensionSetting create = 1; - - // Update operation: The customer extension setting is expected to have a - // valid resource name. - google.ads.googleads.v1.resources.CustomerExtensionSetting update = 2; - - // Remove operation: A resource name for the removed customer extension - // setting is expected, in this format: - // - // `customers/{customer_id}/customerExtensionSettings/{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_feed_service.proto deleted file mode 100644 index 2fecf58e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_feed_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the CustomerFeed service. - -// Service to manage customer feeds. -service CustomerFeedService { - // Returns the requested customer feed in full detail. - rpc GetCustomerFeed(GetCustomerFeedRequest) - returns (google.ads.googleads.v1.resources.CustomerFeed) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerFeeds/*}" - }; - } - - // Creates, updates, or removes customer feeds. Operation statuses are - // returned. - rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) - returns (MutateCustomerFeedsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerFeeds:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerFeedService.GetCustomerFeed][google.ads.googleads.v1.services.CustomerFeedService.GetCustomerFeed]. -message GetCustomerFeedRequest { - // The resource name of the customer feed to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v1.services.CustomerFeedService.MutateCustomerFeeds]. -message MutateCustomerFeedsRequest { - // The ID of the customer whose customer feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual customer feeds. - repeated CustomerFeedOperation operations = 2; - - // 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 customer feed. -message CustomerFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer feed. - google.ads.googleads.v1.resources.CustomerFeed create = 1; - - // Update operation: The customer feed is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.CustomerFeed update = 2; - - // Remove operation: A resource name for the removed customer feed is - // expected, in this format: - // - // `customers/{customer_id}/customerFeeds/{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_label_service.proto deleted file mode 100644 index e9780aee..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_label_service.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerLabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Customer Label service. - -// Service to manage labels on customers. -service CustomerLabelService { - // Returns the requested customer-label relationship in full detail. - rpc GetCustomerLabel(GetCustomerLabelRequest) - returns (google.ads.googleads.v1.resources.CustomerLabel) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerLabels/*}" - }; - } - - // Creates and removes customer-label relationships. - // Operation statuses are returned. - rpc MutateCustomerLabels(MutateCustomerLabelsRequest) - returns (MutateCustomerLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerLabelService.GetCustomerLabel][google.ads.googleads.v1.services.CustomerLabelService.GetCustomerLabel]. -message GetCustomerLabelRequest { - // The resource name of the customer-label relationship to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v1.services.CustomerLabelService.MutateCustomerLabels]. -message MutateCustomerLabelsRequest { - // ID of the customer whose customer-label relationships are being modified. - string customer_id = 1; - - // The list of operations to perform on customer-label relationships. - repeated CustomerLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on a customer-label relationship. -message CustomerLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer-label - // relationship. - google.ads.googleads.v1.resources.CustomerLabel create = 1; - - // Remove operation: A resource name for the customer-label relationship - // being removed, in this format: - // - // `customers/{customer_id}/customerLabels/{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_manager_link_service.proto deleted file mode 100644 index 0992880f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_manager_link_service.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_manager_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to manage customer-manager links. -service CustomerManagerLinkService { - // Returns the requested CustomerManagerLink in full detail. - rpc GetCustomerManagerLink(GetCustomerManagerLinkRequest) - returns (google.ads.googleads.v1.resources.CustomerManagerLink) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerManagerLinks/*}" - }; - } - - // Creates or updates customer manager links. Operation statuses are returned. - rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) - returns (MutateCustomerManagerLinkResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerManagerLinks:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerManagerLinkService.GetCustomerManagerLink][google.ads.googleads.v1.services.CustomerManagerLinkService.GetCustomerManagerLink]. -message GetCustomerManagerLinkRequest { - // The resource name of the CustomerManagerLink to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v1.services.CustomerManagerLinkService.MutateCustomerManagerLink]. -message MutateCustomerManagerLinkRequest { - // The ID of the customer whose customer manager links are being modified. - string customer_id = 1; - - // The list of operations to perform on individual customer manager links. - repeated CustomerManagerLinkOperation operations = 2; -} - -// Updates the status of a CustomerManagerLink. -// The following actions are possible: -// 1. Update operation with status ACTIVE accepts a pending invitation. -// 2. Update operation with status REFUSED declines a pending invitation. -// 3. Update operation with status INACTIVE terminates link to manager. -message CustomerManagerLinkOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Update operation: The link is expected to have a valid resource name. - google.ads.googleads.v1.resources.CustomerManagerLink update = 2; - } -} - -// Response message for a CustomerManagerLink mutate. -message MutateCustomerManagerLinkResponse { - // A result that identifies the resource affected by the mutate request. - repeated MutateCustomerManagerLinkResult results = 1; -} - -// The result for the customer manager link mutate. -message MutateCustomerManagerLinkResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_negative_criterion_service.proto deleted file mode 100644 index bdcdc044..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_negative_criterion_service.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer_negative_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerNegativeCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Customer Negative Criterion service. - -// Service to manage customer negative criteria. -service CustomerNegativeCriterionService { - // Returns the requested criterion in full detail. - rpc GetCustomerNegativeCriterion(GetCustomerNegativeCriterionRequest) - returns (google.ads.googleads.v1.resources.CustomerNegativeCriterion) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/customerNegativeCriteria/*}" - }; - } - - // Creates or removes criteria. Operation statuses are returned. - rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) - returns (MutateCustomerNegativeCriteriaResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/customerNegativeCriteria:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerNegativeCriterionService.GetCustomerNegativeCriterion][google.ads.googleads.v1.services.CustomerNegativeCriterionService.GetCustomerNegativeCriterion]. -message GetCustomerNegativeCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v1.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. -message MutateCustomerNegativeCriteriaRequest { - // The ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated CustomerNegativeCriterionOperation operations = 2; - - // 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 or remove) on a customer level negative criterion. -message CustomerNegativeCriterionOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v1.resources.CustomerNegativeCriterion create = 1; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/customer_service.proto deleted file mode 100644 index 1fcfea14..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/customer_service.proto +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/customer.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Customer service. - -// Service to manage customers. -service CustomerService { - // Returns the requested customer in full detail. - rpc GetCustomer(GetCustomerRequest) - returns (google.ads.googleads.v1.resources.Customer) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*}" - }; - } - - // Updates a customer. Operation statuses are returned. - rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:mutate" - body: "*" - }; - } - - // Returns resource names of customers directly accessible by the - // user authenticating the call. - rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) - returns (ListAccessibleCustomersResponse) { - option (google.api.http) = { - get: "/v1/customers:listAccessibleCustomers" - }; - } - - // Creates a new client under manager. The new client customer is returned. - rpc CreateCustomerClient(CreateCustomerClientRequest) - returns (CreateCustomerClientResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:createCustomerClient" - body: "*" - }; - } -} - -// Request message for -// [CustomerService.GetCustomer][google.ads.googleads.v1.services.CustomerService.GetCustomer]. -message GetCustomerRequest { - // The resource name of the customer to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerService.MutateCustomer][google.ads.googleads.v1.services.CustomerService.MutateCustomer]. -message MutateCustomerRequest { - // The ID of the customer being modified. - string customer_id = 1; - - // The operation to perform on the customer - CustomerOperation operation = 4; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 5; -} - -// Request message for -// [CustomerService.CreateCustomerClient][google.ads.googleads.v1.services.CustomerService.CreateCustomerClient]. -message CreateCustomerClientRequest { - // The ID of the Manager under whom client customer is being created. - string customer_id = 1; - - // The new client customer to create. The resource name on this customer - // will be ignored. - google.ads.googleads.v1.resources.Customer customer_client = 2; -} - -// A single update on a customer. -message CustomerOperation { - // Mutate operation. Only updates are supported for customer. - google.ads.googleads.v1.resources.Customer update = 1; - - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 2; -} - -// Response message for CreateCustomerClient mutate. -message CreateCustomerClientResponse { - // The resource name of the newly created customer client. - string resource_name = 2; -} - -// 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; -} - -// Request message for -// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v1.services.CustomerService.ListAccessibleCustomers]. -message ListAccessibleCustomersRequest {} - -// Response message for -// [CustomerService.ListAccessibleCustomers][google.ads.googleads.v1.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/google-cloud/protos/google/ads/googleads/v1/services/detail_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/detail_placement_view_service.proto deleted file mode 100644 index 6c1d44ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/detail_placement_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/detail_placement_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DetailPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Detail Placement View service. - -// Service to fetch Detail Placement views. -service DetailPlacementViewService { - // Returns the requested Detail Placement view in full detail. - rpc GetDetailPlacementView(GetDetailPlacementViewRequest) - returns (google.ads.googleads.v1.resources.DetailPlacementView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/detailPlacementViews/*}" - }; - } -} - -// Request message for -// [DetailPlacementViewService.GetDetailPlacementView][google.ads.googleads.v1.services.DetailPlacementViewService.GetDetailPlacementView]. -message GetDetailPlacementViewRequest { - // The resource name of the Detail Placement view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/display_keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/display_keyword_view_service.proto deleted file mode 100644 index 7052cec3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/display_keyword_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/display_keyword_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DisplayKeywordViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Display Keyword View service. - -// Service to manage display keyword views. -service DisplayKeywordViewService { - // Returns the requested display keyword view in full detail. - rpc GetDisplayKeywordView(GetDisplayKeywordViewRequest) - returns (google.ads.googleads.v1.resources.DisplayKeywordView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/displayKeywordViews/*}" - }; - } -} - -// Request message for -// [DisplayKeywordViewService.GetDisplayKeywordView][google.ads.googleads.v1.services.DisplayKeywordViewService.GetDisplayKeywordView]. -message GetDisplayKeywordViewRequest { - // The resource name of the display keyword view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/domain_category_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/domain_category_service.proto deleted file mode 100644 index 04611789..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/domain_category_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/domain_category.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DomainCategoryServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the DomainCategory Service. - -// Service to fetch domain categories. -service DomainCategoryService { - // Returns the requested domain category. - rpc GetDomainCategory(GetDomainCategoryRequest) - returns (google.ads.googleads.v1.resources.DomainCategory) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/domainCategories/*}" - }; - } -} - -// Request message for -// [DomainCategoryService.GetDomainCategory][google.ads.googleads.v1.services.DomainCategoryService.GetDomainCategory]. -message GetDomainCategoryRequest { - // Resource name of the domain category to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/dynamic_search_ads_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/dynamic_search_ads_search_term_view_service.proto deleted file mode 100644 index 2a1642a9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/dynamic_search_ads_search_term_view_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DynamicSearchAdsSearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Dynamic Search Ads Search Term View service. - -// Service to fetch dynamic search ads views. -service DynamicSearchAdsSearchTermViewService { - // Returns the requested dynamic search ads search term view in full detail. - rpc GetDynamicSearchAdsSearchTermView( - GetDynamicSearchAdsSearchTermViewRequest) - returns ( - google.ads.googleads.v1.resources.DynamicSearchAdsSearchTermView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/dynamicSearchAdsSearchTermViews/*}" - }; - } -} - -// Request message for -// [DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView][google.ads.googleads.v1.services.DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView]. -message GetDynamicSearchAdsSearchTermViewRequest { - // The resource name of the dynamic search ads search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/expanded_landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/expanded_landing_page_view_service.proto deleted file mode 100644 index d3950d83..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/expanded_landing_page_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/expanded_landing_page_view.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ExpandedLandingPageViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the expanded landing page view service. - -// Service to fetch expanded landing page views. -service ExpandedLandingPageViewService { - // Returns the requested expanded landing page view in full detail. - rpc GetExpandedLandingPageView(GetExpandedLandingPageViewRequest) - returns (google.ads.googleads.v1.resources.ExpandedLandingPageView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/expandedLandingPageViews/*}" - }; - } -} - -// Request message for -// [ExpandedLandingPageViewService.GetExpandedLandingPageView][google.ads.googleads.v1.services.ExpandedLandingPageViewService.GetExpandedLandingPageView]. -message GetExpandedLandingPageViewRequest { - // The resource name of the expanded landing page view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/extension_feed_item_service.proto deleted file mode 100644 index 6dc3b2ed..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/extension_feed_item_service.proto +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/extension_feed_item.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the ExtensionFeedItem service. - -// Service to manage extension feed items. -service ExtensionFeedItemService { - // Returns the requested extension feed item in full detail. - rpc GetExtensionFeedItem(GetExtensionFeedItemRequest) - returns (google.ads.googleads.v1.resources.ExtensionFeedItem) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/extensionFeedItems/*}" - }; - } - - // Creates, updates, or removes extension feed items. Operation - // statuses are returned. - rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) - returns (MutateExtensionFeedItemsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/extensionFeedItems:mutate" - body: "*" - }; - } -} - -// Request message for -// [ExtensionFeedItemService.GetExtensionFeedItem][google.ads.googleads.v1.services.ExtensionFeedItemService.GetExtensionFeedItem]. -message GetExtensionFeedItemRequest { - // The resource name of the extension feed item to fetch. - string resource_name = 1; -} - -// Request message for -// [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v1.services.ExtensionFeedItemService.MutateExtensionFeedItems]. -message MutateExtensionFeedItemsRequest { - // The ID of the customer whose extension feed items are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual extension feed items. - repeated ExtensionFeedItemOperation operations = 2; - - // 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 extension feed item. -message ExtensionFeedItemOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new extension - // feed item. - google.ads.googleads.v1.resources.ExtensionFeedItem create = 1; - - // Update operation: The extension feed item is expected to have a - // valid resource name. - google.ads.googleads.v1.resources.ExtensionFeedItem update = 2; - - // Remove operation: A resource name for the removed extension feed item - // is expected, in this format: - // - // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - string remove = 3; - } -} - -// Response message for an extension feed item mutate. -message MutateExtensionFeedItemsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/feed_item_service.proto deleted file mode 100644 index e293f8de..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/feed_item_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/feed_item.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the FeedItem service. - -// Service to manage feed items. -service FeedItemService { - // Returns the requested feed item in full detail. - rpc GetFeedItem(GetFeedItemRequest) - returns (google.ads.googleads.v1.resources.FeedItem) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/feedItems/*}" - }; - } - - // Creates, updates, or removes feed items. Operation statuses are - // returned. - rpc MutateFeedItems(MutateFeedItemsRequest) - returns (MutateFeedItemsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/feedItems:mutate" - body: "*" - }; - } -} - -// Request message for -// [FeedItemService.GetFeedItem][google.ads.googleads.v1.services.FeedItemService.GetFeedItem]. -message GetFeedItemRequest { - // The resource name of the feed item to fetch. - string resource_name = 1; -} - -// Request message for -// [FeedItemService.MutateFeedItems][google.ads.googleads.v1.services.FeedItemService.MutateFeedItems]. -message MutateFeedItemsRequest { - // The ID of the customer whose feed items are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed items. - repeated FeedItemOperation operations = 2; - - // 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 feed item. -message FeedItemOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed item. - google.ads.googleads.v1.resources.FeedItem create = 1; - - // Update operation: The feed item is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.FeedItem update = 2; - - // Remove operation: A resource name for the removed feed item is - // expected, in this format: - // - // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/feed_item_target_service.proto deleted file mode 100644 index f710b010..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/feed_item_target_service.proto +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/feed_item_target.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the FeedItemTarget service. - -// Service to manage feed item targets. -service FeedItemTargetService { - // Returns the requested feed item targets in full detail. - rpc GetFeedItemTarget(GetFeedItemTargetRequest) - returns (google.ads.googleads.v1.resources.FeedItemTarget) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/feedItemTargets/*}" - }; - } - - // Creates or removes feed item targets. Operation statuses are returned. - rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) - returns (MutateFeedItemTargetsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/feedItemTargets:mutate" - body: "*" - }; - } -} - -// Request message for -// [FeedItemTargetService.GetFeedItemTarget][google.ads.googleads.v1.services.FeedItemTargetService.GetFeedItemTarget]. -message GetFeedItemTargetRequest { - // The resource name of the feed item targets to fetch. - string resource_name = 1; -} - -// Request message for -// [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v1.services.FeedItemTargetService.MutateFeedItemTargets]. -message MutateFeedItemTargetsRequest { - // The ID of the customer whose feed item targets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed item targets. - repeated FeedItemTargetOperation operations = 2; -} - -// A single operation (create, remove) on an feed item target. -message FeedItemTargetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed item - // target. - google.ads.googleads.v1.resources.FeedItemTarget create = 1; - - // Remove operation: A resource name for the removed feed item target is - // expected, in this format: - // - // - // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` - string remove = 2; - } -} - -// Response message for an feed item target mutate. -message MutateFeedItemTargetsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/feed_mapping_service.proto deleted file mode 100644 index 2e85a600..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/feed_mapping_service.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/feed_mapping.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the FeedMapping service. - -// Service to manage feed mappings. -service FeedMappingService { - // Returns the requested feed mapping in full detail. - rpc GetFeedMapping(GetFeedMappingRequest) - returns (google.ads.googleads.v1.resources.FeedMapping) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/feedMappings/*}" - }; - } - - // Creates or removes feed mappings. Operation statuses are - // returned. - rpc MutateFeedMappings(MutateFeedMappingsRequest) - returns (MutateFeedMappingsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/feedMappings:mutate" - body: "*" - }; - } -} - -// Request message for -// [FeedMappingService.GetFeedMapping][google.ads.googleads.v1.services.FeedMappingService.GetFeedMapping]. -message GetFeedMappingRequest { - // The resource name of the feed mapping to fetch. - string resource_name = 1; -} - -// Request message for -// [FeedMappingService.MutateFeedMappings][google.ads.googleads.v1.services.FeedMappingService.MutateFeedMappings]. -message MutateFeedMappingsRequest { - // The ID of the customer whose feed mappings are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed mappings. - repeated FeedMappingOperation operations = 2; - - // 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 feed mapping. -message FeedMappingOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed mapping. - google.ads.googleads.v1.resources.FeedMapping create = 1; - - // Remove operation: A resource name for the removed feed mapping is - // expected, in this format: - // - // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/feed_placeholder_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/feed_placeholder_view_service.proto deleted file mode 100644 index 6430fd9e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/feed_placeholder_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/feed_placeholder_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedPlaceholderViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the FeedPlaceholderView service. - -// Service to fetch feed placeholder views. -service FeedPlaceholderViewService { - // Returns the requested feed placeholder view in full detail. - rpc GetFeedPlaceholderView(GetFeedPlaceholderViewRequest) - returns (google.ads.googleads.v1.resources.FeedPlaceholderView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/feedPlaceholderViews/*}" - }; - } -} - -// Request message for -// [FeedPlaceholderViewService.GetFeedPlaceholderView][google.ads.googleads.v1.services.FeedPlaceholderViewService.GetFeedPlaceholderView]. -message GetFeedPlaceholderViewRequest { - // The resource name of the feed placeholder view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/feed_service.proto deleted file mode 100644 index a3964a64..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/feed_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Feed service. - -// Service to manage feeds. -service FeedService { - // Returns the requested feed in full detail. - rpc GetFeed(GetFeedRequest) returns (google.ads.googleads.v1.resources.Feed) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/feeds/*}" - }; - } - - // Creates, updates, or removes feeds. Operation statuses are - // returned. - rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/feeds:mutate" - body: "*" - }; - } -} - -// Request message for -// [FeedService.GetFeed][google.ads.googleads.v1.services.FeedService.GetFeed]. -message GetFeedRequest { - // The resource name of the feed to fetch. - string resource_name = 1; -} - -// Request message for -// [FeedService.MutateFeeds][google.ads.googleads.v1.services.FeedService.MutateFeeds]. -message MutateFeedsRequest { - // The ID of the customer whose feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feeds. - repeated FeedOperation operations = 2; - - // 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 feed. -message FeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed. - google.ads.googleads.v1.resources.Feed create = 1; - - // Update operation: The feed is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.Feed update = 2; - - // Remove operation: A resource name for the removed feed is - // expected, in this format: - // - // `customers/{customer_id}/feeds/{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/gender_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/gender_view_service.proto deleted file mode 100644 index 51c08635..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/gender_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/gender_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GenderViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Gender View service. - -// Service to manage gender views. -service GenderViewService { - // Returns the requested gender view in full detail. - rpc GetGenderView(GetGenderViewRequest) - returns (google.ads.googleads.v1.resources.GenderView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/genderViews/*}" - }; - } -} - -// Request message for -// [GenderViewService.GetGenderView][google.ads.googleads.v1.services.GenderViewService.GetGenderView]. -message GetGenderViewRequest { - // The resource name of the gender view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/geo_target_constant_service.proto deleted file mode 100644 index ce79e7ad..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/geo_target_constant_service.proto +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/geo_target_constant.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Geo target constant service. - -// Service to fetch geo target constants. -service GeoTargetConstantService { - // Returns the requested geo target constant in full detail. - rpc GetGeoTargetConstant(GetGeoTargetConstantRequest) - returns (google.ads.googleads.v1.resources.GeoTargetConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=geoTargetConstants/*}" - }; - } - - // Returns GeoTargetConstant suggestions by location name or by resource name. - rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) - returns (SuggestGeoTargetConstantsResponse) { - option (google.api.http) = { - post: "/v1/geoTargetConstants:suggest" - body: "*" - }; - } -} - -// Request message for -// [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v1.services.GeoTargetConstantService.GetGeoTargetConstant]. -message GetGeoTargetConstantRequest { - // The resource name of the geo target constant to fetch. - string resource_name = 1; -} - -// Request message for -// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][]. -message SuggestGeoTargetConstantsRequest { - // A list of location names. - message LocationNames { - // A list of location names. - repeated google.protobuf.StringValue names = 1; - } - - // A list of geo target constant resource names. - message GeoTargets { - // A list of geo target constant resource names. - repeated google.protobuf.StringValue geo_target_constants = 1; - } - - // 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. - google.protobuf.StringValue locale = 3; - - // Returned geo targets are restricted to this country code. - google.protobuf.StringValue country_code = 5; - - // Required. A selector of geo target constants. - oneof query { - // The location names to search by. At most 25 names can be set. - LocationNames location_names = 1; - - // The geo target constant resource names to filter by. - GeoTargets geo_targets = 2; - } -} - -// Response message for -// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v1.services.GeoTargetConstantService.SuggestGeoTargetConstants] -message SuggestGeoTargetConstantsResponse { - // Geo target constant suggestions. - repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; -} - -// A geo target constant suggestion. -message GeoTargetConstantSuggestion { - // The language this GeoTargetConstantSuggestion is currently translated to. - // It affects the name of geo target fields. For example, if locale=en, then - // name=Spain. If locale=es, then name=España. The default locale will be - // returned if no translation exists for the locale in the request. - google.protobuf.StringValue locale = 1; - - // Approximate user population that will be targeted, rounded to the - // nearest 100. - google.protobuf.Int64Value reach = 2; - - // If the request searched by location name, this is the location name that - // matched the geo target. - google.protobuf.StringValue search_term = 3; - - // The GeoTargetConstant result. - google.ads.googleads.v1.resources.GeoTargetConstant geo_target_constant = 4; - - // The list of parents of the geo target constant. - repeated google.ads.googleads.v1.resources.GeoTargetConstant - geo_target_constant_parents = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/geographic_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/geographic_view_service.proto deleted file mode 100644 index f30ab428..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/geographic_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/geographic_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GeographicViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the GeographicViewService. - -// Service to manage geographic views. -service GeographicViewService { - // Returns the requested geographic view in full detail. - rpc GetGeographicView(GetGeographicViewRequest) - returns (google.ads.googleads.v1.resources.GeographicView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/geographicViews/*}" - }; - } -} - -// Request message for -// [GeographicViewService.GetGeographicView][google.ads.googleads.v1.services.GeographicViewService.GetGeographicView]. -message GetGeographicViewRequest { - // The resource name of the geographic view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/google_ads_field_service.proto deleted file mode 100644 index 1bf9a615..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/google_ads_field_service.proto +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/google_ads_field.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the GoogleAdsFieldService - -// Service to fetch Google Ads API fields. -service GoogleAdsFieldService { - // Returns just the requested field. - rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) - returns (google.ads.googleads.v1.resources.GoogleAdsField) { - option (google.api.http) = { - get: "/v1/{resource_name=googleAdsFields/*}" - }; - } - - // Returns all fields that match the search query. - rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) - returns (SearchGoogleAdsFieldsResponse) { - option (google.api.http) = { - post: "/v1/googleAdsFields:search" - body: "*" - }; - } -} - -// Request message for -// [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v1.services.GoogleAdsFieldService.GetGoogleAdsField]. -message GetGoogleAdsFieldRequest { - // The resource name of the field to get. - string resource_name = 1; -} - -// Request message for -// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v1.services.GoogleAdsFieldService.SearchGoogleAdsFields]. -message SearchGoogleAdsFieldsRequest { - // The query string. - string query = 1; - - // Token of the page to retrieve. If not specified, the first page of - // results will be returned. Use the value obtained from `next_page_token` - // in the previous response in order to request the next page of results. - string page_token = 2; - - // Number of elements to retrieve in a single page. - // When too large a page is requested, the server may decide to further - // limit the number of returned resources. - int32 page_size = 3; -} - -// Response message for -// [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v1.services.GoogleAdsFieldService.SearchGoogleAdsFields]. -message SearchGoogleAdsFieldsResponse { - // The list of fields that matched the query. - repeated google.ads.googleads.v1.resources.GoogleAdsField results = 1; - - // Pagination token used to retrieve the next page of results. Pass the - // content of this string as the `page_token` attribute of the next request. - // `next_page_token` is not returned for the last page. - string next_page_token = 2; - - // Total number of results that match the query ignoring the LIMIT clause. - int64 total_results_count = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/google_ads_service.proto deleted file mode 100644 index 92cc352e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/google_ads_service.proto +++ /dev/null @@ -1,880 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/metrics.proto"; -import "google/ads/googleads/v1/common/segments.proto"; -import "google/ads/googleads/v1/resources/account_budget.proto"; -import "google/ads/googleads/v1/resources/account_budget_proposal.proto"; -import "google/ads/googleads/v1/resources/ad_group.proto"; -import "google/ads/googleads/v1/resources/ad_group_ad.proto"; -import "google/ads/googleads/v1/resources/ad_group_ad_label.proto"; -import "google/ads/googleads/v1/resources/ad_group_audience_view.proto"; -import "google/ads/googleads/v1/resources/ad_group_bid_modifier.proto"; -import "google/ads/googleads/v1/resources/ad_group_criterion.proto"; -import "google/ads/googleads/v1/resources/ad_group_criterion_label.proto"; -import "google/ads/googleads/v1/resources/ad_group_criterion_simulation.proto"; -import "google/ads/googleads/v1/resources/ad_group_extension_setting.proto"; -import "google/ads/googleads/v1/resources/ad_group_feed.proto"; -import "google/ads/googleads/v1/resources/ad_group_label.proto"; -import "google/ads/googleads/v1/resources/ad_group_simulation.proto"; -import "google/ads/googleads/v1/resources/ad_parameter.proto"; -import "google/ads/googleads/v1/resources/ad_schedule_view.proto"; -import "google/ads/googleads/v1/resources/age_range_view.proto"; -import "google/ads/googleads/v1/resources/asset.proto"; -import "google/ads/googleads/v1/resources/bidding_strategy.proto"; -import "google/ads/googleads/v1/resources/billing_setup.proto"; -import "google/ads/googleads/v1/resources/campaign.proto"; -import "google/ads/googleads/v1/resources/campaign_audience_view.proto"; -import "google/ads/googleads/v1/resources/campaign_bid_modifier.proto"; -import "google/ads/googleads/v1/resources/campaign_budget.proto"; -import "google/ads/googleads/v1/resources/campaign_criterion.proto"; -import "google/ads/googleads/v1/resources/campaign_criterion_simulation.proto"; -import "google/ads/googleads/v1/resources/campaign_draft.proto"; -import "google/ads/googleads/v1/resources/campaign_experiment.proto"; -import "google/ads/googleads/v1/resources/campaign_extension_setting.proto"; -import "google/ads/googleads/v1/resources/campaign_feed.proto"; -import "google/ads/googleads/v1/resources/campaign_label.proto"; -import "google/ads/googleads/v1/resources/campaign_shared_set.proto"; -import "google/ads/googleads/v1/resources/carrier_constant.proto"; -import "google/ads/googleads/v1/resources/change_status.proto"; -import "google/ads/googleads/v1/resources/click_view.proto"; -import "google/ads/googleads/v1/resources/conversion_action.proto"; -import "google/ads/googleads/v1/resources/custom_interest.proto"; -import "google/ads/googleads/v1/resources/customer.proto"; -import "google/ads/googleads/v1/resources/customer_client.proto"; -import "google/ads/googleads/v1/resources/customer_client_link.proto"; -import "google/ads/googleads/v1/resources/customer_extension_setting.proto"; -import "google/ads/googleads/v1/resources/customer_feed.proto"; -import "google/ads/googleads/v1/resources/customer_label.proto"; -import "google/ads/googleads/v1/resources/customer_manager_link.proto"; -import "google/ads/googleads/v1/resources/customer_negative_criterion.proto"; -import "google/ads/googleads/v1/resources/detail_placement_view.proto"; -import "google/ads/googleads/v1/resources/display_keyword_view.proto"; -import "google/ads/googleads/v1/resources/domain_category.proto"; -import "google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto"; -import "google/ads/googleads/v1/resources/expanded_landing_page_view.proto"; -import "google/ads/googleads/v1/resources/extension_feed_item.proto"; -import "google/ads/googleads/v1/resources/feed.proto"; -import "google/ads/googleads/v1/resources/feed_item.proto"; -import "google/ads/googleads/v1/resources/feed_item_target.proto"; -import "google/ads/googleads/v1/resources/feed_mapping.proto"; -import "google/ads/googleads/v1/resources/feed_placeholder_view.proto"; -import "google/ads/googleads/v1/resources/gender_view.proto"; -import "google/ads/googleads/v1/resources/geo_target_constant.proto"; -import "google/ads/googleads/v1/resources/geographic_view.proto"; -import "google/ads/googleads/v1/resources/group_placement_view.proto"; -import "google/ads/googleads/v1/resources/hotel_group_view.proto"; -import "google/ads/googleads/v1/resources/hotel_performance_view.proto"; -import "google/ads/googleads/v1/resources/keyword_plan.proto"; -import "google/ads/googleads/v1/resources/keyword_plan_ad_group.proto"; -import "google/ads/googleads/v1/resources/keyword_plan_campaign.proto"; -import "google/ads/googleads/v1/resources/keyword_plan_keyword.proto"; -import "google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto"; -import "google/ads/googleads/v1/resources/keyword_view.proto"; -import "google/ads/googleads/v1/resources/label.proto"; -import "google/ads/googleads/v1/resources/landing_page_view.proto"; -import "google/ads/googleads/v1/resources/language_constant.proto"; -import "google/ads/googleads/v1/resources/location_view.proto"; -import "google/ads/googleads/v1/resources/managed_placement_view.proto"; -import "google/ads/googleads/v1/resources/media_file.proto"; -import "google/ads/googleads/v1/resources/mobile_app_category_constant.proto"; -import "google/ads/googleads/v1/resources/mobile_device_constant.proto"; -import "google/ads/googleads/v1/resources/mutate_job.proto"; -import "google/ads/googleads/v1/resources/operating_system_version_constant.proto"; -import "google/ads/googleads/v1/resources/paid_organic_search_term_view.proto"; -import "google/ads/googleads/v1/resources/parental_status_view.proto"; -import "google/ads/googleads/v1/resources/product_bidding_category_constant.proto"; -import "google/ads/googleads/v1/resources/product_group_view.proto"; -import "google/ads/googleads/v1/resources/recommendation.proto"; -import "google/ads/googleads/v1/resources/remarketing_action.proto"; -import "google/ads/googleads/v1/resources/search_term_view.proto"; -import "google/ads/googleads/v1/resources/shared_criterion.proto"; -import "google/ads/googleads/v1/resources/shared_set.proto"; -import "google/ads/googleads/v1/resources/shopping_performance_view.proto"; -import "google/ads/googleads/v1/resources/topic_constant.proto"; -import "google/ads/googleads/v1/resources/topic_view.proto"; -import "google/ads/googleads/v1/resources/user_interest.proto"; -import "google/ads/googleads/v1/resources/user_list.proto"; -import "google/ads/googleads/v1/resources/video.proto"; -import "google/ads/googleads/v1/services/ad_group_ad_label_service.proto"; -import "google/ads/googleads/v1/services/ad_group_ad_service.proto"; -import "google/ads/googleads/v1/services/ad_group_bid_modifier_service.proto"; -import "google/ads/googleads/v1/services/ad_group_criterion_label_service.proto"; -import "google/ads/googleads/v1/services/ad_group_criterion_service.proto"; -import "google/ads/googleads/v1/services/ad_group_extension_setting_service.proto"; -import "google/ads/googleads/v1/services/ad_group_feed_service.proto"; -import "google/ads/googleads/v1/services/ad_group_label_service.proto"; -import "google/ads/googleads/v1/services/ad_group_service.proto"; -import "google/ads/googleads/v1/services/ad_parameter_service.proto"; -import "google/ads/googleads/v1/services/asset_service.proto"; -import "google/ads/googleads/v1/services/bidding_strategy_service.proto"; -import "google/ads/googleads/v1/services/campaign_bid_modifier_service.proto"; -import "google/ads/googleads/v1/services/campaign_budget_service.proto"; -import "google/ads/googleads/v1/services/campaign_criterion_service.proto"; -import "google/ads/googleads/v1/services/campaign_draft_service.proto"; -import "google/ads/googleads/v1/services/campaign_experiment_service.proto"; -import "google/ads/googleads/v1/services/campaign_extension_setting_service.proto"; -import "google/ads/googleads/v1/services/campaign_feed_service.proto"; -import "google/ads/googleads/v1/services/campaign_label_service.proto"; -import "google/ads/googleads/v1/services/campaign_service.proto"; -import "google/ads/googleads/v1/services/campaign_shared_set_service.proto"; -import "google/ads/googleads/v1/services/conversion_action_service.proto"; -import "google/ads/googleads/v1/services/customer_extension_setting_service.proto"; -import "google/ads/googleads/v1/services/customer_feed_service.proto"; -import "google/ads/googleads/v1/services/customer_label_service.proto"; -import "google/ads/googleads/v1/services/customer_negative_criterion_service.proto"; -import "google/ads/googleads/v1/services/customer_service.proto"; -import "google/ads/googleads/v1/services/extension_feed_item_service.proto"; -import "google/ads/googleads/v1/services/feed_item_service.proto"; -import "google/ads/googleads/v1/services/feed_item_target_service.proto"; -import "google/ads/googleads/v1/services/feed_mapping_service.proto"; -import "google/ads/googleads/v1/services/feed_service.proto"; -import "google/ads/googleads/v1/services/label_service.proto"; -import "google/ads/googleads/v1/services/media_file_service.proto"; -import "google/ads/googleads/v1/services/remarketing_action_service.proto"; -import "google/ads/googleads/v1/services/shared_criterion_service.proto"; -import "google/ads/googleads/v1/services/shared_set_service.proto"; -import "google/ads/googleads/v1/services/user_list_service.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the GoogleAdsService. - -// Service to fetch data and metrics across resources. -service GoogleAdsService { - // Returns all rows that match the search query. - rpc Search(SearchGoogleAdsRequest) returns (SearchGoogleAdsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/googleAds:search" - body: "*" - }; - } - - // 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 desired 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. - rpc Mutate(MutateGoogleAdsRequest) returns (MutateGoogleAdsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/googleAds:mutate" - body: "*" - }; - } -} - -// Request message for -// [GoogleAdsService.Search][google.ads.googleads.v1.services.GoogleAdsService.Search]. -message SearchGoogleAdsRequest { - // The ID of the customer being queried. - string customer_id = 1; - - // The query string. - string query = 2; - - // 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; -} - -// Response message for -// [GoogleAdsService.Search][google.ads.googleads.v1.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; -} - -// A returned row from the query. -message GoogleAdsRow { - // The account budget in the query. - google.ads.googleads.v1.resources.AccountBudget account_budget = 42; - - // The account budget proposal referenced in the query. - google.ads.googleads.v1.resources.AccountBudgetProposal - account_budget_proposal = 43; - - // The ad group referenced in the query. - google.ads.googleads.v1.resources.AdGroup ad_group = 3; - - // The ad referenced in the query. - google.ads.googleads.v1.resources.AdGroupAd ad_group_ad = 16; - - // The ad group ad label referenced in the query. - google.ads.googleads.v1.resources.AdGroupAdLabel ad_group_ad_label = 120; - - // The ad group audience view referenced in the query. - google.ads.googleads.v1.resources.AdGroupAudienceView ad_group_audience_view = - 57; - - // The bid modifier referenced in the query. - google.ads.googleads.v1.resources.AdGroupBidModifier ad_group_bid_modifier = - 24; - - // The criterion referenced in the query. - google.ads.googleads.v1.resources.AdGroupCriterion ad_group_criterion = 17; - - // The ad group criterion label referenced in the query. - google.ads.googleads.v1.resources.AdGroupCriterionLabel - ad_group_criterion_label = 121; - - // The ad group criterion simulation referenced in the query. - google.ads.googleads.v1.resources.AdGroupCriterionSimulation - ad_group_criterion_simulation = 110; - - // The ad group extension setting referenced in the query. - google.ads.googleads.v1.resources.AdGroupExtensionSetting - ad_group_extension_setting = 112; - - // The ad group feed referenced in the query. - google.ads.googleads.v1.resources.AdGroupFeed ad_group_feed = 67; - - // The ad group label referenced in the query. - google.ads.googleads.v1.resources.AdGroupLabel ad_group_label = 115; - - // The ad group simulation referenced in the query. - google.ads.googleads.v1.resources.AdGroupSimulation ad_group_simulation = 107; - - // The ad parameter referenced in the query. - google.ads.googleads.v1.resources.AdParameter ad_parameter = 130; - - // The age range view referenced in the query. - google.ads.googleads.v1.resources.AgeRangeView age_range_view = 48; - - // The ad schedule view referenced in the query. - google.ads.googleads.v1.resources.AdScheduleView ad_schedule_view = 89; - - // The domain category referenced in the query. - google.ads.googleads.v1.resources.DomainCategory domain_category = 91; - - // The asset referenced in the query. - google.ads.googleads.v1.resources.Asset asset = 105; - - // The bidding strategy referenced in the query. - google.ads.googleads.v1.resources.BiddingStrategy bidding_strategy = 18; - - // The billing setup referenced in the query. - google.ads.googleads.v1.resources.BillingSetup billing_setup = 41; - - // The campaign budget referenced in the query. - google.ads.googleads.v1.resources.CampaignBudget campaign_budget = 19; - - // The campaign referenced in the query. - google.ads.googleads.v1.resources.Campaign campaign = 2; - - // The campaign audience view referenced in the query. - google.ads.googleads.v1.resources.CampaignAudienceView - campaign_audience_view = 69; - - // The campaign bid modifier referenced in the query. - google.ads.googleads.v1.resources.CampaignBidModifier campaign_bid_modifier = - 26; - - // The campaign criterion referenced in the query. - google.ads.googleads.v1.resources.CampaignCriterion campaign_criterion = 20; - - // The campaign criterion simulation referenced in the query. - google.ads.googleads.v1.resources.CampaignCriterionSimulation - campaign_criterion_simulation = 111; - - // The campaign draft referenced in the query. - google.ads.googleads.v1.resources.CampaignDraft campaign_draft = 49; - - // The campaign experiment referenced in the query. - google.ads.googleads.v1.resources.CampaignExperiment campaign_experiment = 84; - - // The campaign extension setting referenced in the query. - google.ads.googleads.v1.resources.CampaignExtensionSetting - campaign_extension_setting = 113; - - // The campaign feed referenced in the query. - google.ads.googleads.v1.resources.CampaignFeed campaign_feed = 63; - - // The campaign label referenced in the query. - google.ads.googleads.v1.resources.CampaignLabel campaign_label = 108; - - // Campaign Shared Set referenced in AWQL query. - google.ads.googleads.v1.resources.CampaignSharedSet campaign_shared_set = 30; - - // The carrier constant referenced in the query. - google.ads.googleads.v1.resources.CarrierConstant carrier_constant = 66; - - // The ChangeStatus referenced in the query. - google.ads.googleads.v1.resources.ChangeStatus change_status = 37; - - // The conversion action referenced in the query. - google.ads.googleads.v1.resources.ConversionAction conversion_action = 103; - - // The ClickView referenced in the query. - google.ads.googleads.v1.resources.ClickView click_view = 122; - - // The CustomInterest referenced in the query. - google.ads.googleads.v1.resources.CustomInterest custom_interest = 104; - - // The customer referenced in the query. - google.ads.googleads.v1.resources.Customer customer = 1; - - // The CustomerManagerLink referenced in the query. - google.ads.googleads.v1.resources.CustomerManagerLink customer_manager_link = - 61; - - // The CustomerClientLink referenced in the query. - google.ads.googleads.v1.resources.CustomerClientLink customer_client_link = - 62; - - // The CustomerClient referenced in the query. - google.ads.googleads.v1.resources.CustomerClient customer_client = 70; - - // The customer extension setting referenced in the query. - google.ads.googleads.v1.resources.CustomerExtensionSetting - customer_extension_setting = 114; - - // The customer feed referenced in the query. - google.ads.googleads.v1.resources.CustomerFeed customer_feed = 64; - - // The customer label referenced in the query. - google.ads.googleads.v1.resources.CustomerLabel customer_label = 124; - - // The customer negative criterion referenced in the query. - google.ads.googleads.v1.resources.CustomerNegativeCriterion - customer_negative_criterion = 88; - - // The detail placement view referenced in the query. - google.ads.googleads.v1.resources.DetailPlacementView detail_placement_view = - 118; - - // The display keyword view referenced in the query. - google.ads.googleads.v1.resources.DisplayKeywordView display_keyword_view = - 47; - - // The dynamic search ads search term view referenced in the query. - google.ads.googleads.v1.resources.DynamicSearchAdsSearchTermView - dynamic_search_ads_search_term_view = 106; - - // The expanded landing page view referenced in the query. - google.ads.googleads.v1.resources.ExpandedLandingPageView - expanded_landing_page_view = 128; - - // The extension feed item referenced in the query. - google.ads.googleads.v1.resources.ExtensionFeedItem extension_feed_item = 85; - - // The feed referenced in the query. - google.ads.googleads.v1.resources.Feed feed = 46; - - // The feed item referenced in the query. - google.ads.googleads.v1.resources.FeedItem feed_item = 50; - - // The feed item target referenced in the query. - google.ads.googleads.v1.resources.FeedItemTarget feed_item_target = 116; - - // The feed mapping referenced in the query. - google.ads.googleads.v1.resources.FeedMapping feed_mapping = 58; - - // The feed placeholder view referenced in the query. - google.ads.googleads.v1.resources.FeedPlaceholderView feed_placeholder_view = - 97; - - // The gender view referenced in the query. - google.ads.googleads.v1.resources.GenderView gender_view = 40; - - // The geo target constant referenced in the query. - google.ads.googleads.v1.resources.GeoTargetConstant geo_target_constant = 23; - - // The geographic view referenced in the query. - google.ads.googleads.v1.resources.GeographicView geographic_view = 125; - - // The group placement view referenced in the query. - google.ads.googleads.v1.resources.GroupPlacementView group_placement_view = - 119; - - // The hotel group view referenced in the query. - google.ads.googleads.v1.resources.HotelGroupView hotel_group_view = 51; - - // The hotel performance view referenced in the query. - google.ads.googleads.v1.resources.HotelPerformanceView - hotel_performance_view = 71; - - // The keyword view referenced in the query. - google.ads.googleads.v1.resources.KeywordView keyword_view = 21; - - // The keyword plan referenced in the query. - google.ads.googleads.v1.resources.KeywordPlan keyword_plan = 32; - - // The keyword plan campaign referenced in the query. - google.ads.googleads.v1.resources.KeywordPlanCampaign keyword_plan_campaign = - 33; - - // The keyword plan negative keyword referenced in the query. - google.ads.googleads.v1.resources.KeywordPlanNegativeKeyword - keyword_plan_negative_keyword = 34; - - // The keyword plan ad group referenced in the query. - google.ads.googleads.v1.resources.KeywordPlanAdGroup keyword_plan_ad_group = - 35; - - // The keyword plan keyword referenced in the query. - google.ads.googleads.v1.resources.KeywordPlanKeyword keyword_plan_keyword = - 36; - - // The label referenced in the query. - google.ads.googleads.v1.resources.Label label = 52; - - // The landing page view referenced in the query. - google.ads.googleads.v1.resources.LandingPageView landing_page_view = 126; - - // The language constant referenced in the query. - google.ads.googleads.v1.resources.LanguageConstant language_constant = 55; - - // The location view referenced in the query. - google.ads.googleads.v1.resources.LocationView location_view = 123; - - // The managed placement view referenced in the query. - google.ads.googleads.v1.resources.ManagedPlacementView - managed_placement_view = 53; - - // The media file referenced in the query. - google.ads.googleads.v1.resources.MediaFile media_file = 90; - - // The mobile app category constant referenced in the query. - google.ads.googleads.v1.resources.MobileAppCategoryConstant - mobile_app_category_constant = 87; - - // The mobile device constant referenced in the query. - google.ads.googleads.v1.resources.MobileDeviceConstant - mobile_device_constant = 98; - - // The mutate job referenced in the query. - google.ads.googleads.v1.resources.MutateJob mutate_job = 127; - - // The operating system version constant referenced in the query. - google.ads.googleads.v1.resources.OperatingSystemVersionConstant - operating_system_version_constant = 86; - - // The paid organic search term view referenced in the query. - google.ads.googleads.v1.resources.PaidOrganicSearchTermView - paid_organic_search_term_view = 129; - - // The parental status view referenced in the query. - google.ads.googleads.v1.resources.ParentalStatusView parental_status_view = - 45; - - // The Product Bidding Category referenced in the query. - google.ads.googleads.v1.resources.ProductBiddingCategoryConstant - product_bidding_category_constant = 109; - - // The product group view referenced in the query. - google.ads.googleads.v1.resources.ProductGroupView product_group_view = 54; - - // The recommendation referenced in the query. - google.ads.googleads.v1.resources.Recommendation recommendation = 22; - - // The search term view referenced in the query. - google.ads.googleads.v1.resources.SearchTermView search_term_view = 68; - - // The shared set referenced in the query. - google.ads.googleads.v1.resources.SharedCriterion shared_criterion = 29; - - // The shared set referenced in the query. - google.ads.googleads.v1.resources.SharedSet shared_set = 27; - - // The shopping performance view referenced in the query. - google.ads.googleads.v1.resources.ShoppingPerformanceView - shopping_performance_view = 117; - - // The topic view referenced in the query. - google.ads.googleads.v1.resources.TopicView topic_view = 44; - - // The user interest referenced in the query. - google.ads.googleads.v1.resources.UserInterest user_interest = 59; - - // The user list referenced in the query. - google.ads.googleads.v1.resources.UserList user_list = 38; - - // The remarketing action referenced in the query. - google.ads.googleads.v1.resources.RemarketingAction remarketing_action = 60; - - // The topic constant referenced in the query. - google.ads.googleads.v1.resources.TopicConstant topic_constant = 31; - - // The video referenced in the query. - google.ads.googleads.v1.resources.Video video = 39; - - // The metrics. - google.ads.googleads.v1.common.Metrics metrics = 4; - - // The segments. - google.ads.googleads.v1.common.Segments segments = 102; -} - -// Request message for -// [GoogleAdsService.Mutate][google.ads.googleads.v1.services.GoogleAdsService.Mutate]. -message MutateGoogleAdsRequest { - // The ID of the customer whose resources are being modified. - string customer_id = 1; - - // The list of operations to perform on individual resources. - repeated MutateOperation mutate_operations = 2; - - // 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; -} - -// Response message for -// [GoogleAdsService.Mutate][google.ads.googleads.v1.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 (e.g. 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 bid modifier mutate operation. - AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2; - - // 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 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 parameter mutate operation. - AdParameterOperation ad_parameter_operation = 22; - - // An asset mutate operation. - AssetOperation asset_operation = 23; - - // A bidding strategy mutate operation. - BiddingStrategyOperation bidding_strategy_operation = 6; - - // A campaign bid modifier mutate operation. - CampaignBidModifierOperation campaign_bid_modifier_operation = 7; - - // A campaign budget mutate operation. - CampaignBudgetOperation campaign_budget_operation = 8; - - // A campaign criterion mutate operation. - CampaignCriterionOperation campaign_criterion_operation = 13; - - // A campaign draft mutate operation. - CampaignDraftOperation campaign_draft_operation = 24; - - // A campaign experiment mutate operation. - CampaignExperimentOperation campaign_experiment_operation = 25; - - // A campaign extension setting mutate operation. - CampaignExtensionSettingOperation campaign_extension_setting_operation = 26; - - // A campaign feed mutate operation. - CampaignFeedOperation campaign_feed_operation = 27; - - // 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 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; - - // 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 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 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 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 bid modifier mutate. - MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2; - - // 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 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 asset mutate. - MutateAssetResult asset_result = 23; - - // The result for the bidding strategy mutate. - MutateBiddingStrategyResult bidding_strategy_result = 6; - - // 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 criterion mutate. - MutateCampaignCriterionResult campaign_criterion_result = 13; - - // The result for the campaign draft mutate. - MutateCampaignDraftResult campaign_draft_result = 24; - - // The result for the campaign experiment mutate. - MutateCampaignExperimentResult campaign_experiment_result = 25; - - // 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 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 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 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 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 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 user list mutate. - MutateUserListResult user_list_result = 16; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/group_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/group_placement_view_service.proto deleted file mode 100644 index f6071e88..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/group_placement_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/group_placement_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GroupPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Group Placement View service. - -// Service to fetch Group Placement views. -service GroupPlacementViewService { - // Returns the requested Group Placement view in full detail. - rpc GetGroupPlacementView(GetGroupPlacementViewRequest) - returns (google.ads.googleads.v1.resources.GroupPlacementView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/groupPlacementViews/*}" - }; - } -} - -// Request message for -// [GroupPlacementViewService.GetGroupPlacementView][google.ads.googleads.v1.services.GroupPlacementViewService.GetGroupPlacementView]. -message GetGroupPlacementViewRequest { - // The resource name of the Group Placement view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/hotel_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/hotel_group_view_service.proto deleted file mode 100644 index 745035c3..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/hotel_group_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/hotel_group_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "HotelGroupViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Hotel Group View Service. - -// Service to manage Hotel Group Views. -service HotelGroupViewService { - // Returns the requested Hotel Group View in full detail. - rpc GetHotelGroupView(GetHotelGroupViewRequest) - returns (google.ads.googleads.v1.resources.HotelGroupView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/hotelGroupViews/*}" - }; - } -} - -// Request message for -// [HotelGroupViewService.GetHotelGroupView][google.ads.googleads.v1.services.HotelGroupViewService.GetHotelGroupView]. -message GetHotelGroupViewRequest { - // Resource name of the Hotel Group View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/hotel_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/hotel_performance_view_service.proto deleted file mode 100644 index 08344d7e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/hotel_performance_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/hotel_performance_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "HotelPerformanceViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Hotel Performance View Service. - -// Service to manage Hotel Performance Views. -service HotelPerformanceViewService { - // Returns the requested Hotel Performance View in full detail. - rpc GetHotelPerformanceView(GetHotelPerformanceViewRequest) - returns (google.ads.googleads.v1.resources.HotelPerformanceView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/hotelPerformanceView}" - }; - } -} - -// Request message for -// [HotelPerformanceViewService.GetHotelPerformanceView][google.ads.googleads.v1.services.HotelPerformanceViewService.GetHotelPerformanceView]. -message GetHotelPerformanceViewRequest { - // Resource name of the Hotel Performance View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_ad_group_service.proto deleted file mode 100644 index b40a603b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_ad_group_service.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/keyword_plan_ad_group.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan ad group service. - -// Service to manage Keyword Plan ad groups. -service KeywordPlanAdGroupService { - // Returns the requested Keyword Plan ad group in full detail. - rpc GetKeywordPlanAdGroup(GetKeywordPlanAdGroupRequest) - returns (google.ads.googleads.v1.resources.KeywordPlanAdGroup) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordPlanAdGroups/*}" - }; - } - - // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are - // returned. - rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) - returns (MutateKeywordPlanAdGroupsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/keywordPlanAdGroups:mutate" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanAdGroupService.GetKeywordPlanAdGroup][google.ads.googleads.v1.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup]. -message GetKeywordPlanAdGroupRequest { - // The resource name of the Keyword Plan ad group to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v1.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. -message MutateKeywordPlanAdGroupsRequest { - // The ID of the customer whose Keyword Plan ad groups are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan ad groups. - repeated KeywordPlanAdGroupOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update, remove) on a Keyword Plan ad group. -message KeywordPlanAdGroupOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // ad group. - google.ads.googleads.v1.resources.KeywordPlanAdGroup create = 1; - - // Update operation: The Keyword Plan ad group is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.KeywordPlanAdGroup update = 2; - - // Remove operation: A resource name for the removed Keyword Plan ad group - // is expected, in this format: - // - // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` - string remove = 3; - } -} - -// 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 (e.g. auth errors), - // we return an RPC level error. - google.rpc.Status partial_failure_error = 3; - - // All results for the mutate. - repeated MutateKeywordPlanAdGroupResult results = 2; -} - -// The result for the Keyword Plan ad group mutate. -message MutateKeywordPlanAdGroupResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_campaign_service.proto deleted file mode 100644 index bb1e301a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_campaign_service.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/keyword_plan_campaign.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan campaign service. - -// Service to manage Keyword Plan campaigns. -service KeywordPlanCampaignService { - // Returns the requested Keyword Plan campaign in full detail. - rpc GetKeywordPlanCampaign(GetKeywordPlanCampaignRequest) - returns (google.ads.googleads.v1.resources.KeywordPlanCampaign) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordPlanCampaigns/*}" - }; - } - - // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are - // returned. - rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) - returns (MutateKeywordPlanCampaignsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/keywordPlanCampaigns:mutate" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanCampaignService.GetKeywordPlanCampaign][google.ads.googleads.v1.services.KeywordPlanCampaignService.GetKeywordPlanCampaign]. -message GetKeywordPlanCampaignRequest { - // The resource name of the Keyword Plan campaign to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v1.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. -message MutateKeywordPlanCampaignsRequest { - // The ID of the customer whose Keyword Plan campaigns are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan campaigns. - repeated KeywordPlanCampaignOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update, remove) on a Keyword Plan campaign. -message KeywordPlanCampaignOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // campaign. - google.ads.googleads.v1.resources.KeywordPlanCampaign create = 1; - - // Update operation: The Keyword Plan campaign is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.KeywordPlanCampaign update = 2; - - // Remove operation: A resource name for the removed Keyword Plan campaign - // is expected, in this format: - // - // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_idea_service.proto deleted file mode 100644 index f009288c..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_idea_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/keyword_plan_common.proto"; -import "google/ads/googleads/v1/enums/keyword_plan_network.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanIdeaServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan idea service. - -// Service to generate keyword ideas. -service KeywordPlanIdeaService { - // Returns a list of keyword ideas. - rpc GenerateKeywordIdeas(GenerateKeywordIdeasRequest) - returns (GenerateKeywordIdeaResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}:generateKeywordIdeas" - body: "*" - }; - } -} - -// Request message for [KeywordIdeaService.GenerateKeywordIdeas][]. -message GenerateKeywordIdeasRequest { - // The ID of the customer with the recommendation. - string customer_id = 1; - - // The resource name of the language to target. - // Required - google.protobuf.StringValue language = 7; - - // The resource names of the location to target. - // Max 10 - repeated google.protobuf.StringValue geo_target_constants = 8; - - // Targeting network. - google.ads.googleads.v1.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork - keyword_plan_network = 9; - - // The type of seed to generate keyword ideas. - oneof seed { - // A Keyword and a specific Url to generate ideas from - // e.g. cars, www.example.com/cars. - KeywordAndUrlSeed keyword_and_url_seed = 2; - - // A Keyword or phrase to generate ideas from, e.g. cars. - KeywordSeed keyword_seed = 3; - - // A specific url to generate ideas from, e.g. www.example.com/cars. - UrlSeed url_seed = 5; - } -} - -// Keyword And Url Seed -message KeywordAndUrlSeed { - // The URL to crawl in order to generate keyword ideas. - google.protobuf.StringValue url = 1; - - // Requires at least one keyword. - repeated google.protobuf.StringValue keywords = 2; -} - -// Keyword Seed -message KeywordSeed { - // Requires at least one keyword. - repeated google.protobuf.StringValue keywords = 1; -} - -// Url Seed -message UrlSeed { - // The URL to crawl in order to generate keyword ideas. - google.protobuf.StringValue url = 1; -} - -// Response message for [KeywordIdeaService.GenerateKeywordIdeas][]. -message GenerateKeywordIdeaResponse { - // Results of generating keyword ideas. - repeated GenerateKeywordIdeaResult results = 1; -} - -// 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. - google.protobuf.StringValue text = 2; - - // The historical metrics for the keyword - google.ads.googleads.v1.common.KeywordPlanHistoricalMetrics - keyword_idea_metrics = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_keyword_service.proto deleted file mode 100644 index 63b0ced1..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_keyword_service.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/keyword_plan_keyword.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan keyword service. - -// Service to manage Keyword Plan ad group keywords. -service KeywordPlanKeywordService { - // Returns the requested Keyword Plan keyword in full detail. - rpc GetKeywordPlanKeyword(GetKeywordPlanKeywordRequest) - returns (google.ads.googleads.v1.resources.KeywordPlanKeyword) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordPlanKeywords/*}" - }; - } - - // Creates, updates, or removes Keyword Plan keywords. Operation statuses are - // returned. - rpc MutateKeywordPlanKeywords(MutateKeywordPlanKeywordsRequest) - returns (MutateKeywordPlanKeywordsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/keywordPlanKeywords:mutate" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanKeywordService.GetKeywordPlanKeyword][google.ads.googleads.v1.services.KeywordPlanKeywordService.GetKeywordPlanKeyword]. -message GetKeywordPlanKeywordRequest { - // The resource name of the ad group keyword to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanKeywordService.MutateKeywordPlanKeywords][google.ads.googleads.v1.services.KeywordPlanKeywordService.MutateKeywordPlanKeywords]. -message MutateKeywordPlanKeywordsRequest { - // The ID of the customer whose Keyword Plan keywords are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan keywords. - repeated KeywordPlanKeywordOperation operations = 2; - - // 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 keyword. -message KeywordPlanKeywordOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // ad group keyword. - google.ads.googleads.v1.resources.KeywordPlanKeyword create = 1; - - // Update operation: The Keyword Plan keyword is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.KeywordPlanKeyword update = 2; - - // Remove operation: A resource name for the removed Keyword Plan keyword is - // expected, in this format: - // - // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}` - string remove = 3; - } -} - -// Response message for a Keyword Plan keyword mutate. -message MutateKeywordPlanKeywordsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateKeywordPlanKeywordResult results = 2; -} - -// The result for the Keyword Plan keyword mutate. -message MutateKeywordPlanKeywordResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_negative_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_negative_keyword_service.proto deleted file mode 100644 index baa1fe24..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_negative_keyword_service.proto +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan negative keyword service. - -// Service to manage Keyword Plan negative keywords. -service KeywordPlanNegativeKeywordService { - // Returns the requested plan in full detail. - rpc GetKeywordPlanNegativeKeyword(GetKeywordPlanNegativeKeywordRequest) - returns (google.ads.googleads.v1.resources.KeywordPlanNegativeKeyword) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordPlanNegativeKeywords/*}" - }; - } - - // Creates, updates, or removes Keyword Plan negative keywords. Operation - // statuses are returned. - rpc MutateKeywordPlanNegativeKeywords( - MutateKeywordPlanNegativeKeywordsRequest) - returns (MutateKeywordPlanNegativeKeywordsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/keywordPlanNegativeKeywords:mutate" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword][google.ads.googleads.v1.services.KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword]. -message GetKeywordPlanNegativeKeywordRequest { - // The resource name of the plan to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords][google.ads.googleads.v1.services.KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords]. -message MutateKeywordPlanNegativeKeywordsRequest { - // The ID of the customer whose negative keywords are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan negative - // keywords. - repeated KeywordPlanNegativeKeywordOperation operations = 2; - - // 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 negative -// keyword. -message KeywordPlanNegativeKeywordOperation { - // 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 - // negative keyword. - google.ads.googleads.v1.resources.KeywordPlanNegativeKeyword create = 1; - - // Update operation: The Keyword Plan negative keyword expected to have a - // valid resource name. - google.ads.googleads.v1.resources.KeywordPlanNegativeKeyword update = 2; - - // Remove operation: A resource name for the removed Keyword Plan negative - // keywords expected in this format: - // - // - // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}` - string remove = 3; - } -} - -// Response message for a Keyword Plan negative keyword mutate. -message MutateKeywordPlanNegativeKeywordsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateKeywordPlanNegativeKeywordResult results = 2; -} - -// The result for the Keyword Plan negative keyword mutate. -message MutateKeywordPlanNegativeKeywordResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_service.proto deleted file mode 100644 index eb5b3161..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_plan_service.proto +++ /dev/null @@ -1,248 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/keyword_plan_common.proto"; -import "google/ads/googleads/v1/resources/keyword_plan.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the keyword plan service. - -// Service to manage keyword plans. -service KeywordPlanService { - // Returns the requested plan in full detail. - rpc GetKeywordPlan(GetKeywordPlanRequest) - returns (google.ads.googleads.v1.resources.KeywordPlan) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordPlans/*}" - }; - } - - // Creates, updates, or removes keyword plans. Operation statuses are - // returned. - rpc MutateKeywordPlans(MutateKeywordPlansRequest) - returns (MutateKeywordPlansResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/keywordPlans:mutate" - body: "*" - }; - } - - // Returns the requested Keyword Plan forecasts. - rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) - returns (GenerateForecastMetricsResponse) { - option (google.api.http) = { - post: "/v1/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" - body: "*" - }; - } - - // Returns the requested Keyword Plan historical metrics. - rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) - returns (GenerateHistoricalMetricsResponse) { - option (google.api.http) = { - post: "/v1/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanService.GetKeywordPlan][google.ads.googleads.v1.services.KeywordPlanService.GetKeywordPlan]. -message GetKeywordPlanRequest { - // The resource name of the plan to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v1.services.KeywordPlanService.MutateKeywordPlans]. -message MutateKeywordPlansRequest { - // The ID of the customer whose keyword plans are being modified. - string customer_id = 1; - - // The list of operations to perform on individual keyword plans. - repeated KeywordPlanOperation operations = 2; - - // 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.v1.resources.KeywordPlan create = 1; - - // Update operation: The keyword plan is expected to have a valid resource - // name. - google.ads.googleads.v1.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; - } -} - -// 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 (e.g. 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; -} - -// Request message for -// [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v1.services.KeywordPlanService.GenerateForecastMetrics]. -message GenerateForecastMetricsRequest { - // The resource name of the keyword plan to be forecasted. - string keyword_plan = 1; -} - -// Response message for -// [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v1.services.KeywordPlanService.GenerateForecastMetrics]. -message GenerateForecastMetricsResponse { - // List of campaign forecasts. - // One maximum. - repeated KeywordPlanCampaignForecast campaign_forecasts = 1; - - // List of ad group forecasts. - repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; - - // List of keyword forecasts. - repeated KeywordPlanKeywordForecast keyword_forecasts = 3; -} - -// A campaign forecast. -message KeywordPlanCampaignForecast { - // The resource name of the Keyword Plan campaign related to the forecast. - // - // `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}` - google.protobuf.StringValue keyword_plan_campaign = 1; - - // The forecast for the Keyword Plan campaign. - ForecastMetrics campaign_forecast = 2; -} - -// An ad group forecast. -message KeywordPlanAdGroupForecast { - // The resource name of the Keyword Plan ad group related to the forecast. - // - // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` - google.protobuf.StringValue keyword_plan_ad_group = 1; - - // The forecast for the Keyword Plan ad group. - ForecastMetrics ad_group_forecast = 2; -} - -// A keyword forecast. -message KeywordPlanKeywordForecast { - // The resource name of the Keyword Plan keyword related to the forecast. - // - // - // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` - google.protobuf.StringValue keyword_plan_ad_group_keyword = 1; - - // The forecast for the Keyword Plan keyword. - ForecastMetrics keyword_forecast = 2; -} - -// Forecast metrics. -message ForecastMetrics { - // Impressions - google.protobuf.DoubleValue impressions = 1; - - // Ctr - google.protobuf.DoubleValue ctr = 2; - - // AVG cpc - google.protobuf.Int64Value average_cpc = 3; - - // Clicks - google.protobuf.DoubleValue clicks = 5; - - // Cost - google.protobuf.Int64Value cost_micros = 6; -} - -// Request message for -// [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v1.services.KeywordPlanService.GenerateHistoricalMetrics]. -message GenerateHistoricalMetricsRequest { - // The resource name of the keyword plan of which historical metrics are - // requested. - string keyword_plan = 1; -} - -// Response message for -// [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v1.services.KeywordPlanService.GenerateHistoricalMetrics]. -message GenerateHistoricalMetricsResponse { - // List of keyword historical metrics. - repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; -} - -// A keyword historical metrics. -message KeywordPlanKeywordHistoricalMetrics { - // The text of the query associated with one or more ad_group_keywords in the - // plan. - // - // Note that we de-dupe your keywords list, eliminating close variants before - // returning the plan's keywords as text. For example, if your plan originally - // contained the keywords 'car' and 'cars', the returned search query will - // only contain 'car'. - google.protobuf.StringValue search_query = 1; - - // The historical metrics for the query associated with one or more - // ad_group_keywords in the plan. - google.ads.googleads.v1.common.KeywordPlanHistoricalMetrics keyword_metrics = - 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/keyword_view_service.proto deleted file mode 100644 index 82034112..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/keyword_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/keyword_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Keyword View service. - -// Service to manage keyword views. -service KeywordViewService { - // Returns the requested keyword view in full detail. - rpc GetKeywordView(GetKeywordViewRequest) - returns (google.ads.googleads.v1.resources.KeywordView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/keywordViews/*}" - }; - } -} - -// Request message for -// [KeywordViewService.GetKeywordView][google.ads.googleads.v1.services.KeywordViewService.GetKeywordView]. -message GetKeywordViewRequest { - // The resource name of the keyword view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/label_service.proto deleted file mode 100644 index f5f6f878..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/label_service.proto +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LabelServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to manage labels. -service LabelService { - // Returns the requested label in full detail. - rpc GetLabel(GetLabelRequest) - returns (google.ads.googleads.v1.resources.Label) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/labels/*}" - }; - } - - // Creates, updates, or removes labels. Operation statuses are returned. - rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/labels:mutate" - body: "*" - }; - } -} - -// Request message for -// [LabelService.GetLabel][google.ads.googleads.v1.services.LabelService.GetLabel]. -message GetLabelRequest { - // The resource name of the label to fetch. - string resource_name = 1; -} - -// Request message for -// [LabelService.MutateLabels][google.ads.googleads.v1.services.LabelService.MutateLabels]. -message MutateLabelsRequest { - // ID of the customer whose labels are being modified. - string customer_id = 1; - - // The list of operations to perform on labels. - repeated LabelOperation operations = 2; - - // 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, update) on a label. -message LabelOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new label. - google.ads.googleads.v1.resources.Label create = 1; - - // Update operation: The label is expected to have a valid resource name. - google.ads.googleads.v1.resources.Label update = 2; - - // Remove operation: A resource name for the label being removed, in - // this format: - // - // `customers/{customer_id}/labels/{label_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/landing_page_view_service.proto deleted file mode 100644 index 0d703e82..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/landing_page_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/landing_page_view.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LandingPageViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the landing page view service. - -// Service to fetch landing page views. -service LandingPageViewService { - // Returns the requested landing page view in full detail. - rpc GetLandingPageView(GetLandingPageViewRequest) - returns (google.ads.googleads.v1.resources.LandingPageView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/landingPageViews/*}" - }; - } -} - -// Request message for -// [LandingPageViewService.GetLandingPageView][google.ads.googleads.v1.services.LandingPageViewService.GetLandingPageView]. -message GetLandingPageViewRequest { - // The resource name of the landing page view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/language_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/language_constant_service.proto deleted file mode 100644 index cdd76ea7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/language_constant_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/language_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LanguageConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the language constant service. - -// Service to fetch language constants. -service LanguageConstantService { - // Returns the requested language constant. - rpc GetLanguageConstant(GetLanguageConstantRequest) - returns (google.ads.googleads.v1.resources.LanguageConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=languageConstants/*}" - }; - } -} - -// Request message for -// [LanguageConstantService.GetLanguageConstant][google.ads.googleads.v1.services.LanguageConstantService.GetLanguageConstant]. -message GetLanguageConstantRequest { - // Resource name of the language constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/location_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/location_view_service.proto deleted file mode 100644 index a7eae73b..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/location_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/location_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LocationViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Location View service. - -// Service to fetch location views. -service LocationViewService { - // Returns the requested location view in full detail. - rpc GetLocationView(GetLocationViewRequest) - returns (google.ads.googleads.v1.resources.LocationView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/locationViews/*}" - }; - } -} - -// Request message for -// [LocationViewService.GetLocationView][google.ads.googleads.v1.services.LocationViewService.GetLocationView]. -message GetLocationViewRequest { - // The resource name of the location view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/managed_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/managed_placement_view_service.proto deleted file mode 100644 index 49aef4d5..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/managed_placement_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/managed_placement_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ManagedPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Managed Placement View service. - -// Service to manage Managed Placement views. -service ManagedPlacementViewService { - // Returns the requested Managed Placement view in full detail. - rpc GetManagedPlacementView(GetManagedPlacementViewRequest) - returns (google.ads.googleads.v1.resources.ManagedPlacementView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/managedPlacementViews/*}" - }; - } -} - -// Request message for -// [ManagedPlacementViewService.GetManagedPlacementView][google.ads.googleads.v1.services.ManagedPlacementViewService.GetManagedPlacementView]. -message GetManagedPlacementViewRequest { - // The resource name of the Managed Placement View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/media_file_service.proto deleted file mode 100644 index a34073fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/media_file_service.proto +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/media_file.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Media File service. - -// Service to manage media files. -service MediaFileService { - // Returns the requested media file in full detail. - rpc GetMediaFile(GetMediaFileRequest) - returns (google.ads.googleads.v1.resources.MediaFile) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/mediaFiles/*}" - }; - } - - // Creates media files. Operation statuses are returned. - rpc MutateMediaFiles(MutateMediaFilesRequest) - returns (MutateMediaFilesResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/mediaFiles:mutate" - body: "*" - }; - } -} - -// Request message for -// [MediaFileService.GetMediaFile][google.ads.googleads.v1.services.MediaFileService.GetMediaFile] -message GetMediaFileRequest { - // The resource name of the media file to fetch. - string resource_name = 1; -} - -// Request message for -// [MediaFileService.MutateMediaFiles][google.ads.googleads.v1.services.MediaFileService.MutateMediaFiles] -message MutateMediaFilesRequest { - // The ID of the customer whose media files are being modified. - string customer_id = 1; - - // The list of operations to perform on individual media file. - repeated MediaFileOperation operations = 2; - - // 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 to create media file. -message MediaFileOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new media file. - google.ads.googleads.v1.resources.MediaFile create = 1; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/merchant_center_link_service.proto deleted file mode 100644 index 10ea4dbd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/merchant_center_link_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/merchant_center_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the MerchantCenterLink service. - -// This service allows management of links between Google Ads and Google -// Merchant Center. -service MerchantCenterLinkService { - // Returns Merchant Center links available tor this customer. - rpc ListMerchantCenterLinks(ListMerchantCenterLinksRequest) - returns (ListMerchantCenterLinksResponse) { - option (google.api.http) = { - get: "/v1/customers/{customer_id=*}/merchantCenterLinks" - }; - } - - // Returns the Merchant Center link in full detail. - rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) - returns (google.ads.googleads.v1.resources.MerchantCenterLink) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/merchantCenterLinks/*}" - }; - } - - // Updates status or removes a Merchant Center link. - rpc MutateMerchantCenterLink(MutateMerchantCenterLinkRequest) - returns (MutateMerchantCenterLinkResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/merchantCenterLinks:mutate" - body: "*" - }; - } -} - -// Request message for -// [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v1.services.MerchantCenterLinkService.ListMerchantCenterLinks]. -message ListMerchantCenterLinksRequest { - // The ID of the customer onto which to apply the Merchant Center link list - // operation. - string customer_id = 1; -} - -// Response message for -// [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v1.services.MerchantCenterLinkService.ListMerchantCenterLinks]. -message ListMerchantCenterLinksResponse { - // Merchant Center links available for the requested customer - repeated google.ads.googleads.v1.resources.MerchantCenterLink - merchant_center_links = 1; -} - -// Request message for -// [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v1.services.MerchantCenterLinkService.GetMerchantCenterLink]. -message GetMerchantCenterLinkRequest { - // Resource name of the Merchant Center link. - string resource_name = 1; -} - -// Request message for -// [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v1.services.MerchantCenterLinkService.MutateMerchantCenterLink]. -message MutateMerchantCenterLinkRequest { - // The ID of the customer being modified. - string customer_id = 1; - - // The operation to perform on the link - MerchantCenterLinkOperation operation = 2; -} - -// 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. - google.ads.googleads.v1.resources.MerchantCenterLink update = 1; - - // 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; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/mobile_app_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/mobile_app_category_constant_service.proto deleted file mode 100644 index 3cfae7ae..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/mobile_app_category_constant_service.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/mobile_app_category_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MobileAppCategoryConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Service to fetch mobile app category constants. -service MobileAppCategoryConstantService { - // Returns the requested mobile app category constant. - rpc GetMobileAppCategoryConstant(GetMobileAppCategoryConstantRequest) - returns (google.ads.googleads.v1.resources.MobileAppCategoryConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=mobileAppCategoryConstants/*}" - }; - } -} - -// Request message for -// [MobileAppCategoryConstantService.GetMobileAppCategoryConstant][google.ads.googleads.v1.services.MobileAppCategoryConstantService.GetMobileAppCategoryConstant]. -message GetMobileAppCategoryConstantRequest { - // Resource name of the mobile app category constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/mobile_device_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/mobile_device_constant_service.proto deleted file mode 100644 index e269b404..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/mobile_device_constant_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/mobile_device_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the mobile device constant service. - -// Service to fetch mobile device constants. -service MobileDeviceConstantService { - // Returns the requested mobile device constant in full detail. - rpc GetMobileDeviceConstant(GetMobileDeviceConstantRequest) - returns (google.ads.googleads.v1.resources.MobileDeviceConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=mobileDeviceConstants/*}" - }; - } -} - -// Request message for -// [MobileDeviceConstantService.GetMobileDeviceConstant][google.ads.googleads.v1.services.MobileDeviceConstantService.GetMobileDeviceConstant]. -message GetMobileDeviceConstantRequest { - // Resource name of the mobile device to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/mutate_job_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/mutate_job_service.proto deleted file mode 100644 index 06dd654e..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/mutate_job_service.proto +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/mutate_job.proto"; -import "google/ads/googleads/v1/services/google_ads_service.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the MutateJobService. - -// Service to manage mutate jobs. -service MutateJobService { - // Creates a mutate job. - rpc CreateMutateJob(CreateMutateJobRequest) - returns (CreateMutateJobResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/mutateJobs:create" - body: "*" - }; - } - - // Returns the mutate job. - rpc GetMutateJob(GetMutateJobRequest) - returns (google.ads.googleads.v1.resources.MutateJob) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/mutateJobs/*}" - }; - } - - // Returns the results of the mutate job. The job must be done. - // Supports standard list paging. - rpc ListMutateJobResults(ListMutateJobResultsRequest) - returns (ListMutateJobResultsResponse) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/mutateJobs/*}:listResults" - }; - } - - // Runs the mutate job. - // - // The Operation.metadata field type is MutateJobMetadata. When finished, the - // long running operation will not contain errors or a response. Instead, use - // ListMutateJobResults to get the results of the job. - rpc RunMutateJob(RunMutateJobRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{resource_name=customers/*/mutateJobs/*}:run" - body: "*" - }; - } - - // Add operations to the mutate job. - rpc AddMutateJobOperations(AddMutateJobOperationsRequest) - returns (AddMutateJobOperationsResponse) { - option (google.api.http) = { - post: "/v1/{resource_name=customers/*/mutateJobs/*}:addOperations" - body: "*" - }; - } -} - -// Request message for [MutateJobService.CreateMutateJobRequest][] -message CreateMutateJobRequest { - // The ID of the customer for which to create a mutate job. - string customer_id = 1; -} - -// Response message for [MutateJobService.CreateMutateJobResponse][] -message CreateMutateJobResponse { - // The resource name of the MutateJob. - string resource_name = 1; -} - -// Request message for -// [MutateJobService.GetMutateJob][google.ads.googleads.v1.services.MutateJobService.GetMutateJob] -message GetMutateJobRequest { - // The resource name of the MutateJob to get. - string resource_name = 1; -} - -// Request message for -// [MutateJobService.RunMutateJob][google.ads.googleads.v1.services.MutateJobService.RunMutateJob] -message RunMutateJobRequest { - // The resource name of the MutateJob to run. - string resource_name = 1; -} - -// Request message for -// [MutateJobService.AddMutateJobOperations][google.ads.googleads.v1.services.MutateJobService.AddMutateJobOperations] -message AddMutateJobOperationsRequest { - // The resource name of the MutateJob. - string resource_name = 1; - - // A token used to enforce sequencing. - // - // The first AddMutateJobOperations request for a MutateJob should not set - // sequence_token. Subsequent requests must set sequence_token to the value of - // next_sequence_token received in the previous AddMutateJobOperations - // response. - string sequence_token = 2; - - // The list of mutates being added. - // - // Operations can use negative integers as temp ids to signify dependencies - // between entities created in this MutateJob. 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; -} - -// Response message for -// [MutateJobService.AddMutateJobOperations][google.ads.googleads.v1.services.MutateJobService.AddMutateJobOperations] -message AddMutateJobOperationsResponse { - // The total number of operations added so far for this job. - int64 total_operations = 1; - - // The sequence token to be used when calling AddMutateJobOperations again if - // more operations need to be added. The next AddMutateJobOperations request - // must set the sequence_token field to the value of this field. - string next_sequence_token = 2; -} - -// Request message for -// [MutateJobService.ListMutateJobResults][google.ads.googleads.v1.services.MutateJobService.ListMutateJobResults]. -message ListMutateJobResultsRequest { - // The resource name of the MutateJob whose results are being listed. - string resource_name = 1; - - // 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 -// [MutateJobService.ListMutateJobResults][google.ads.googleads.v1.services.MutateJobService.ListMutateJobResults]. -message ListMutateJobResultsResponse { - // The list of rows that matched the query. - repeated MutateJobResult 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; -} - -// MutateJob result. -message MutateJobResult { - // 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/google-cloud/protos/google/ads/googleads/v1/services/operating_system_version_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/operating_system_version_constant_service.proto deleted file mode 100644 index 66c447fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/operating_system_version_constant_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/operating_system_version_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the OS version constant service - -// Service to fetch Operating System Version constants. -service OperatingSystemVersionConstantService { - // Returns the requested OS version constant in full detail. - rpc GetOperatingSystemVersionConstant( - GetOperatingSystemVersionConstantRequest) - returns ( - google.ads.googleads.v1.resources.OperatingSystemVersionConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=operatingSystemVersionConstants/*}" - }; - } -} - -// Request message for -// [OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant][google.ads.googleads.v1.services.OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant]. -message GetOperatingSystemVersionConstantRequest { - // Resource name of the OS version to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/paid_organic_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/paid_organic_search_term_view_service.proto deleted file mode 100644 index 420cc830..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/paid_organic_search_term_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/paid_organic_search_term_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "PaidOrganicSearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Paid Organic Search Term View service. - -// Service to fetch paid organic search term views. -service PaidOrganicSearchTermViewService { - // Returns the requested paid organic search term view in full detail. - rpc GetPaidOrganicSearchTermView(GetPaidOrganicSearchTermViewRequest) - returns (google.ads.googleads.v1.resources.PaidOrganicSearchTermView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/paidOrganicSearchTermViews/*}" - }; - } -} - -// Request message for -// [PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView][google.ads.googleads.v1.services.PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView]. -message GetPaidOrganicSearchTermViewRequest { - // The resource name of the paid organic search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/parental_status_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/parental_status_view_service.proto deleted file mode 100644 index 0e4e97ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/parental_status_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/parental_status_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ParentalStatusViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Parental Status View service. - -// Service to manage parental status views. -service ParentalStatusViewService { - // Returns the requested parental status view in full detail. - rpc GetParentalStatusView(GetParentalStatusViewRequest) - returns (google.ads.googleads.v1.resources.ParentalStatusView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/parentalStatusViews/*}" - }; - } -} - -// Request message for -// [ParentalStatusViewService.GetParentalStatusView][google.ads.googleads.v1.services.ParentalStatusViewService.GetParentalStatusView]. -message GetParentalStatusViewRequest { - // The resource name of the parental status view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/payments_account_service.proto deleted file mode 100644 index 6633099a..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/payments_account_service.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/payments_account.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "PaymentsAccountServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Payments account service. - -// Service to provide Payments accounts that can be used to set up consolidated -// billing. -service PaymentsAccountService { - // Returns all Payments accounts associated with all managers - // between the login customer ID and specified serving customer in the - // hierarchy, inclusive. - rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) - returns (ListPaymentsAccountsResponse) { - option (google.api.http) = { - get: "/v1/customers/{customer_id=*}/paymentsAccounts" - }; - } -} - -// Request message for fetching all accessible Payments accounts. -message ListPaymentsAccountsRequest { - // The ID of the customer to apply the PaymentsAccount list operation to. - string customer_id = 1; -} - -// Response message for -// [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v1.services.PaymentsAccountService.ListPaymentsAccounts]. -message ListPaymentsAccountsResponse { - // The list of accessible Payments accounts. - repeated google.ads.googleads.v1.resources.PaymentsAccount payments_accounts = - 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/product_bidding_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/product_bidding_category_constant_service.proto deleted file mode 100644 index f51258df..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/product_bidding_category_constant_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/product_bidding_category_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Product Bidding Category constant service - -// Service to fetch Product Bidding Categories. -service ProductBiddingCategoryConstantService { - // Returns the requested Product Bidding Category in full detail. - rpc GetProductBiddingCategoryConstant( - GetProductBiddingCategoryConstantRequest) - returns ( - google.ads.googleads.v1.resources.ProductBiddingCategoryConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=productBiddingCategoryConstants/*}" - }; - } -} - -// Request message for -// [ProductBiddingCategoryService.GetProductBiddingCategory][]. -message GetProductBiddingCategoryConstantRequest { - // Resource name of the Product Bidding Category to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/product_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/product_group_view_service.proto deleted file mode 100644 index 041afda9..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/product_group_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/product_group_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ProductGroupViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the ProductGroup View service. - -// Service to manage product group views. -service ProductGroupViewService { - // Returns the requested product group view in full detail. - rpc GetProductGroupView(GetProductGroupViewRequest) - returns (google.ads.googleads.v1.resources.ProductGroupView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/productGroupViews/*}" - }; - } -} - -// Request message for -// [ProductGroupViewService.GetProductGroupView][google.ads.googleads.v1.services.ProductGroupViewService.GetProductGroupView]. -message GetProductGroupViewRequest { - // The resource name of the product group view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/recommendation_service.proto deleted file mode 100644 index b94934ca..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/recommendation_service.proto +++ /dev/null @@ -1,254 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/common/extensions.proto"; -import "google/ads/googleads/v1/enums/keyword_match_type.proto"; -import "google/ads/googleads/v1/resources/ad.proto"; -import "google/ads/googleads/v1/resources/recommendation.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Recommendation service. - -// Service to manage recommendations. -service RecommendationService { - // Returns the requested recommendation in full detail. - rpc GetRecommendation(GetRecommendationRequest) - returns (google.ads.googleads.v1.resources.Recommendation) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/recommendations/*}" - }; - } - - // Applies given recommendations with corresponding apply parameters. - rpc ApplyRecommendation(ApplyRecommendationRequest) - returns (ApplyRecommendationResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/recommendations:apply" - body: "*" - }; - } - - // Dismisses given recommendations. - rpc DismissRecommendation(DismissRecommendationRequest) - returns (DismissRecommendationResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/recommendations:dismiss" - body: "*" - }; - } -} - -// Request message for -// [RecommendationService.GetRecommendation][google.ads.googleads.v1.services.RecommendationService.GetRecommendation]. -message GetRecommendationRequest { - // The resource name of the recommendation to fetch. - string resource_name = 1; -} - -// Request message for -// [RecommendationService.ApplyRecommendation][google.ads.googleads.v1.services.RecommendationService.ApplyRecommendation]. -message ApplyRecommendationRequest { - // The ID of the customer with the recommendation. - string customer_id = 1; - - // 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; - - // 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. - google.protobuf.Int64Value new_budget_amount_micros = 1; - } - - // 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.v1.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. - google.protobuf.StringValue ad_group = 1; - - // The match type of the keyword. This is a required field. - google.ads.googleads.v1.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. - google.protobuf.Int64Value cpc_bid_micros = 3; - } - - // Parameters to use when applying Target CPA recommendation. - message TargetCpaOptInParameters { - // Average CPA to use for Target CPA bidding strategy. This is a required - // field. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Optional, budget amount to set for the campaign. - google.protobuf.Int64Value 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.v1.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.v1.common.CallFeedItem call_extensions = 1; - } - - // Parameters to use when applying sitelink extension recommendation. - message SitelinkExtensionParameters { - // Sitelink extensions to be added. This is a required field. - repeated google.ads.googleads.v1.common.SitelinkFeedItem - sitelink_extensions = 1; - } - - // 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. - google.protobuf.Int64Value budget_micros_to_move = 1; - } - - // The resource name of the recommendation to apply. - string resource_name = 1; - - // 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; - - // 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 extension recommendation. - SitelinkExtensionParameters sitelink_extension = 8; - - // Parameters to use when applying move unused budget recommendation. - MoveUnusedBudgetParameters move_unused_budget = 9; - } -} - -// Response message for -// [RecommendationService.ApplyRecommendation][google.ads.googleads.v1.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 (e.g. 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; -} - -// Request message for -// [RecommendationService.DismissRecommendation][google.ads.googleads.v1.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; - } - - // The ID of the customer with the recommendation. - string customer_id = 1; - - // 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; - - // 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.v1.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 (e.g. auth errors) - // we return the RPC level error. - google.rpc.Status partial_failure_error = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/remarketing_action_service.proto deleted file mode 100644 index fcd4119d..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/remarketing_action_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/remarketing_action.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "RemarketingActionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Remarketing Action service. - -// Service to manage remarketing actions. -service RemarketingActionService { - // Returns the requested remarketing action in full detail. - rpc GetRemarketingAction(GetRemarketingActionRequest) - returns (google.ads.googleads.v1.resources.RemarketingAction) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/remarketingActions/*}" - }; - } - - // Creates or updates remarketing actions. Operation statuses are returned. - rpc MutateRemarketingActions(MutateRemarketingActionsRequest) - returns (MutateRemarketingActionsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/remarketingActions:mutate" - body: "*" - }; - } -} - -// Request message for -// [RemarketingActionService.GetRemarketingAction][google.ads.googleads.v1.services.RemarketingActionService.GetRemarketingAction]. -message GetRemarketingActionRequest { - // The resource name of the remarketing action to fetch. - string resource_name = 1; -} - -// Request message for -// [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v1.services.RemarketingActionService.MutateRemarketingActions]. -message MutateRemarketingActionsRequest { - // The ID of the customer whose remarketing actions are being modified. - string customer_id = 1; - - // The list of operations to perform on individual remarketing actions. - repeated RemarketingActionOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a remarketing action. -message RemarketingActionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new remarketing - // action. - google.ads.googleads.v1.resources.RemarketingAction create = 1; - - // Update operation: The remarketing action is expected to have a valid - // resource name. - google.ads.googleads.v1.resources.RemarketingAction update = 2; - } -} - -// Response message for remarketing action mutate. -message MutateRemarketingActionsResponse { - // Errors that pertain to operation failures in the partial failure mode. - // Returned only when partial_failure = true and all errors occur inside the - // operations. If any errors occur outside the operations (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/search_term_view_service.proto deleted file mode 100644 index 947faab8..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/search_term_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/search_term_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Search Term View service. - -// Service to manage search term views. -service SearchTermViewService { - // Returns the attributes of the requested search term view. - rpc GetSearchTermView(GetSearchTermViewRequest) - returns (google.ads.googleads.v1.resources.SearchTermView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/searchTermViews/*}" - }; - } -} - -// Request message for -// [SearchTermViewService.GetSearchTermView][google.ads.googleads.v1.services.SearchTermViewService.GetSearchTermView]. -message GetSearchTermViewRequest { - // The resource name of the search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/shared_criterion_service.proto deleted file mode 100644 index 2ef8b122..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/shared_criterion_service.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/shared_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SharedCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Shared Criterion service. - -// Service to manage shared criteria. -service SharedCriterionService { - // Returns the requested shared criterion in full detail. - rpc GetSharedCriterion(GetSharedCriterionRequest) - returns (google.ads.googleads.v1.resources.SharedCriterion) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/sharedCriteria/*}" - }; - } - - // Creates or removes shared criteria. Operation statuses are returned. - rpc MutateSharedCriteria(MutateSharedCriteriaRequest) - returns (MutateSharedCriteriaResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/sharedCriteria:mutate" - body: "*" - }; - } -} - -// Request message for -// [SharedCriterionService.GetSharedCriterion][google.ads.googleads.v1.services.SharedCriterionService.GetSharedCriterion]. -message GetSharedCriterionRequest { - // The resource name of the shared criterion to fetch. - string resource_name = 1; -} - -// Request message for -// [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v1.services.SharedCriterionService.MutateSharedCriteria]. -message MutateSharedCriteriaRequest { - // The ID of the customer whose shared criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual shared criteria. - repeated SharedCriterionOperation operations = 2; - - // 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 shared criterion. -message SharedCriterionOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new shared - // criterion. - google.ads.googleads.v1.resources.SharedCriterion create = 1; - - // Remove operation: A resource name for the removed shared criterion is - // expected, in this format: - // - // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/shared_set_service.proto deleted file mode 100644 index 54d9bda7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/shared_set_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/shared_set.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Shared Set service. - -// Service to manage shared sets. -service SharedSetService { - // Returns the requested shared set in full detail. - rpc GetSharedSet(GetSharedSetRequest) - returns (google.ads.googleads.v1.resources.SharedSet) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/sharedSets/*}" - }; - } - - // Creates, updates, or removes shared sets. Operation statuses are returned. - rpc MutateSharedSets(MutateSharedSetsRequest) - returns (MutateSharedSetsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/sharedSets:mutate" - body: "*" - }; - } -} - -// Request message for -// [SharedSetService.GetSharedSet][google.ads.googleads.v1.services.SharedSetService.GetSharedSet]. -message GetSharedSetRequest { - // The resource name of the shared set to fetch. - string resource_name = 1; -} - -// Request message for -// [SharedSetService.MutateSharedSets][google.ads.googleads.v1.services.SharedSetService.MutateSharedSets]. -message MutateSharedSetsRequest { - // The ID of the customer whose shared sets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual shared sets. - repeated SharedSetOperation operations = 2; - - // 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 shared set. -message SharedSetOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new shared set. - google.ads.googleads.v1.resources.SharedSet create = 1; - - // Update operation: The shared set is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.SharedSet update = 2; - - // Remove operation: A resource name for the removed shared set is expected, - // in this format: - // - // `customers/{customer_id}/sharedSets/{shared_set_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/shopping_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/shopping_performance_view_service.proto deleted file mode 100644 index 22b4633f..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/shopping_performance_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/shopping_performance_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ShoppingPerformanceViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the ShoppingPerformanceView service. - -// Service to fetch Shopping performance views. -service ShoppingPerformanceViewService { - // Returns the requested Shopping performance view in full detail. - rpc GetShoppingPerformanceView(GetShoppingPerformanceViewRequest) - returns (google.ads.googleads.v1.resources.ShoppingPerformanceView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/shoppingPerformanceView}" - }; - } -} - -// Request message for -// [ShoppingPerformanceViewService.GetShoppingPerformanceView][google.ads.googleads.v1.services.ShoppingPerformanceViewService.GetShoppingPerformanceView]. -message GetShoppingPerformanceViewRequest { - // The resource name of the Shopping performance view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/topic_constant_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/topic_constant_service.proto deleted file mode 100644 index 3211fcfd..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/topic_constant_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/topic_constant.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "TopicConstantServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Topic constant service - -// Service to fetch topic constants. -service TopicConstantService { - // Returns the requested topic constant in full detail. - rpc GetTopicConstant(GetTopicConstantRequest) - returns (google.ads.googleads.v1.resources.TopicConstant) { - option (google.api.http) = { - get: "/v1/{resource_name=topicConstants/*}" - }; - } -} - -// Request message for -// [TopicConstantService.GetTopicConstant][google.ads.googleads.v1.services.TopicConstantService.GetTopicConstant]. -message GetTopicConstantRequest { - // Resource name of the Topic to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/topic_view_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/topic_view_service.proto deleted file mode 100644 index dad38e45..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/topic_view_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/topic_view.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "TopicViewServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Topic View service. - -// Service to manage topic views. -service TopicViewService { - // Returns the requested topic view in full detail. - rpc GetTopicView(GetTopicViewRequest) - returns (google.ads.googleads.v1.resources.TopicView) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/topicViews/*}" - }; - } -} - -// Request message for -// [TopicViewService.GetTopicView][google.ads.googleads.v1.services.TopicViewService.GetTopicView]. -message GetTopicViewRequest { - // The resource name of the topic view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/user_interest_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/user_interest_service.proto deleted file mode 100644 index 56dba8c7..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/user_interest_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/user_interest.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the user interest service - -// Service to fetch Google Ads User Interest. -service UserInterestService { - // Returns the requested user interest in full detail - rpc GetUserInterest(GetUserInterestRequest) - returns (google.ads.googleads.v1.resources.UserInterest) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/userInterests/*}" - }; - } -} - -// Request message for -// [UserInterestService.GetUserInterest][google.ads.googleads.v1.services.UserInterestService.GetUserInterest]. -message GetUserInterestRequest { - // Resource name of the UserInterest to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/user_list_service.proto deleted file mode 100644 index 2af44cda..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/user_list_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/user_list.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "UserListServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the User List service. - -// Service to manage user lists. -service UserListService { - // Returns the requested user list. - rpc GetUserList(GetUserListRequest) - returns (google.ads.googleads.v1.resources.UserList) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/userLists/*}" - }; - } - - // Creates or updates user lists. Operation statuses are returned. - rpc MutateUserLists(MutateUserListsRequest) - returns (MutateUserListsResponse) { - option (google.api.http) = { - post: "/v1/customers/{customer_id=*}/userLists:mutate" - body: "*" - }; - } -} - -// Request message for -// [UserListService.GetUserList][google.ads.googleads.v1.services.UserListService.GetUserList]. -message GetUserListRequest { - // The resource name of the user list to fetch. - string resource_name = 1; -} - -// Request message for -// [UserListService.MutateUserLists][google.ads.googleads.v1.services.UserListService.MutateUserLists]. -message MutateUserListsRequest { - // The ID of the customer whose user lists are being modified. - string customer_id = 1; - - // The list of operations to perform on individual user lists. - repeated UserListOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a user list. -message UserListOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new user list. - google.ads.googleads.v1.resources.UserList create = 1; - - // Update operation: The user list is expected to have a valid resource - // name. - google.ads.googleads.v1.resources.UserList update = 2; - - // Remove operation: A resource name for the removed user list is expected, - // in this format: - // - // `customers/{customer_id}/userLists/{user_list_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v1/services/video_service.proto b/google-cloud/protos/google/ads/googleads/v1/services/video_service.proto deleted file mode 100644 index 5c03a6a4..00000000 --- a/google-cloud/protos/google/ads/googleads/v1/services/video_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v1.services; - -import "google/ads/googleads/v1/resources/video.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V1.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/services;services"; -option java_multiple_files = true; -option java_outer_classname = "VideoServiceProto"; -option java_package = "com.google.ads.googleads.v1.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V1::Services"; - -// Proto file describing the Video service. - -// Service to manage videos. -service VideoService { - // Returns the requested video in full detail. - rpc GetVideo(GetVideoRequest) - returns (google.ads.googleads.v1.resources.Video) { - option (google.api.http) = { - get: "/v1/{resource_name=customers/*/videos/*}" - }; - } -} - -// Request message for -// [VideoService.GetVideo][google.ads.googleads.v1.services.VideoService.GetVideo]. -message GetVideoRequest { - // The resource name of the video to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v10/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/BUILD.bazel new file mode 100644 index 00000000..df7dd527 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/BUILD.bazel @@ -0,0 +1,266 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "googleads_proto", + srcs = [], + deps = [ + "//google/ads/googleads/v10/common:common_proto", + "//google/ads/googleads/v10/enums:enums_proto", + "//google/ads/googleads/v10/errors:errors_proto", + "//google/ads/googleads/v10/resources:resources_proto", + "//google/ads/googleads/v10/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", + deps = [ + "//google/ads/googleads/v10/common:common_java_proto", + "//google/ads/googleads/v10/enums:enums_java_proto", + "//google/ads/googleads/v10/resources:resources_java_proto", + "//google/ads/googleads/v10/services:services_java_grpc", + "//google/ads/googleads/v10/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.v10.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//google/ads/googleads/v10:googleads_proto", + "//google/ads/googleads/v10/common:common_java_proto", + "//google/ads/googleads/v10/enums:enums_java_proto", + "//google/ads/googleads/v10/errors:errors_java_proto", + "//google/ads/googleads/v10/resources:resources_java_proto", + "//google/ads/googleads/v10/services:services_java_grpc", + "//google/ads/googleads/v10/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_v10.yaml", + 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", + deps = [ + "//google/ads/googleads/v10/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//google/ads/googleads/v10/common:common_csharp_proto", + "//google/ads/googleads/v10/enums:enums_csharp_proto", + "//google/ads/googleads/v10/errors:errors_csharp_proto", + "//google/ads/googleads/v10/resources:resources_csharp_proto", + "//google/ads/googleads/v10/services:services_csharp_grpc", + "//google/ads/googleads/v10/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", +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//google/ads/googleads/v10/common:common_ruby_proto", + "//google/ads/googleads/v10/enums:enums_ruby_proto", + "//google/ads/googleads/v10/errors:errors_ruby_proto", + "//google/ads/googleads/v10/resources:resources_ruby_proto", + "//google/ads/googleads/v10/services:services_ruby_grpc", + "//google/ads/googleads/v10/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"], + grpc_service_config = "googleads_grpc_service_config.json", + opt_args = [ + "old-naming", + "lazy-import", + "python-gapic-name=googleads", + "python-gapic-templates=ads-templates", + "warehouse-package-name=google-ads", + ], +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", + "//google/ads/googleads/v10/common:common_py_proto", + "//google/ads/googleads/v10/enums:enums_py_proto", + "//google/ads/googleads/v10/errors:errors_py_proto", + "//google/ads/googleads/v10/resources:resources_py_proto", + "//google/ads/googleads/v10/services:services_py_grpc", + "//google/ads/googleads/v10/services:services_py_proto", + ], +) + +############################################################################## +# 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.v10", + service_yaml = "googleads_v10.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/google-cloud/protos/google/ads/googleads/v10/common/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/common/BUILD.bazel new file mode 100644 index 00000000..226401bf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "common_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v10/enums:enums_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "common_java_proto", + deps = [":common_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "common_csharp_proto", + deps = [":common_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "common_ruby_proto", + deps = [":common_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "common_py_proto", + deps = [":common_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v10/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v10/common/ad_asset.proto new file mode 100644 index 00000000..5324d786 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/ad_asset.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/asset_policy.proto"; +import "google/ads/googleads/v10/enums/asset_performance_label.proto"; +import "google/ads/googleads/v10/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing assets used inside an ad. + +// A text asset used inside an ad. +message AdTextAsset { + // Asset text. + optional string text = 4; + + // The pinned field of the asset. This restricts the asset to only serve + // within this field. Multiple assets can be pinned to the same field. An + // asset that is unpinned or pinned to a different field will not serve in a + // field where some other asset has been pinned. + google.ads.googleads.v10.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v10.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel asset_performance_label = 5; + + // The policy summary of this text asset. + AdAssetPolicySummary policy_summary_info = 6; +} + +// An image asset used inside an ad. +message AdImageAsset { + // The Asset resource name of this image. + optional string asset = 2; +} + +// A video asset used inside an ad. +message AdVideoAsset { + // The Asset resource name of this video. + optional string asset = 2; +} + +// A media bundle asset used inside an ad. +message AdMediaBundleAsset { + // The Asset resource name of this media bundle. + optional string asset = 2; +} + +// A discovery carousel card asset used inside an ad. +message AdDiscoveryCarouselCardAsset { + // The Asset resource name of this discovery carousel card. + optional string asset = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v10/common/ad_type_infos.proto new file mode 100644 index 00000000..160c43c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/ad_type_infos.proto @@ -0,0 +1,796 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/ad_asset.proto"; +import "google/ads/googleads/v10/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v10/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v10/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v10/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v10/enums/mime_type.proto"; +import "google/ads/googleads/v10/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file containing info messages for specific ad types. + +// A text ad. +message TextAdInfo { + // The headline of the ad. + optional string headline = 4; + + // The first line of the ad's description. + optional string description1 = 5; + + // The second line of the ad's description. + optional string description2 = 6; +} + +// An expanded text ad. +message ExpandedTextAdInfo { + // The first part of the ad's headline. + optional string headline_part1 = 8; + + // The second part of the ad's headline. + optional string headline_part2 = 9; + + // The third part of the ad's headline. + optional string headline_part3 = 10; + + // The description of the ad. + optional string description = 11; + + // The second description of the ad. + optional string description2 = 12; + + // The text that can appear alongside the ad's displayed URL. + optional string path1 = 13; + + // Additional text that can appear alongside the ad's displayed URL. + optional string path2 = 14; +} + +// An expanded dynamic search ad. +message ExpandedDynamicSearchAdInfo { + // The description of the ad. + optional string description = 3; + + // The second description of the ad. + optional string description2 = 4; +} + +// A hotel ad. +message HotelAdInfo { + +} + +// A 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; +} + +// A Gmail ad. +message GmailAdInfo { + // The Gmail teaser. + GmailTeaser teaser = 1; + + // The MediaFile resource name of the header image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must + // be between 3:1 and 5:1 (+-1%). + optional string header_image = 10; + + // The MediaFile resource name of the marketing image. Valid image types are + // GIF, JPEG and PNG. The image must either be landscape with a minimum size + // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a + // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) + optional string marketing_image = 11; + + // Headline of the marketing image. + optional string marketing_image_headline = 12; + + // Description of the marketing image. + optional string marketing_image_description = 13; + + // Display-call-to-action of the marketing image. + DisplayCallToAction marketing_image_display_call_to_action = 6; + + // Product images. Up to 15 images are supported. + repeated ProductImage product_images = 7; + + // Product videos. Up to 7 videos are supported. At least one product video + // or a marketing image must be specified. + repeated ProductVideo product_videos = 8; +} + +// Gmail teaser data. The teaser is a small header that acts as an invitation +// to view the rest of the ad (the body). +message GmailTeaser { + // Headline of the teaser. + optional string headline = 5; + + // Description of the teaser. + optional string description = 6; + + // Business name of the advertiser. + optional string business_name = 7; + + // The MediaFile resource name of the logo image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must + // be 1:1 (+-1%). + optional string logo_image = 8; +} + +// Data for display call to action. The call to action is a piece of the ad +// that prompts the user to do something. Like clicking a link or making a phone +// call. +message DisplayCallToAction { + // Text for the display-call-to-action. + optional string text = 5; + + // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for + // white. + optional string text_color = 6; + + // Identifies the URL collection in the `ad.url_collections` field. If not + // set, the URL defaults to `final_url`. + optional string url_collection_id = 7; +} + +// Product image specific data. +message ProductImage { + // The MediaFile resource name of the product image. Valid image types are + // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio + // must be 1:1 (+-1%). + optional string product_image = 4; + + // Description of the product. + optional string description = 5; + + // Display-call-to-action of the product image. + DisplayCallToAction display_call_to_action = 3; +} + +// Product video specific data. +message ProductVideo { + // The MediaFile resource name of a video which must be hosted on YouTube. + optional string product_video = 2; +} + +// An image ad. +message ImageAdInfo { + // Width in pixels of the full size image. + optional int64 pixel_width = 15; + + // Height in pixels of the full size image. + optional int64 pixel_height = 16; + + // URL of the full size image. + optional string image_url = 17; + + // Width in pixels of the preview size image. + optional int64 preview_pixel_width = 18; + + // Height in pixels of the preview size image. + optional int64 preview_pixel_height = 19; + + // URL of the preview size image. + optional string preview_image_url = 20; + + // The mime type of the image. + google.ads.googleads.v10.enums.MimeTypeEnum.MimeType mime_type = 10; + + // The name of the image. If the image was created from a MediaFile, this is + // the MediaFile's name. If the image was created from bytes, this is empty. + optional string name = 21; + + // The image to create the ImageAd from. This can be specified in one of + // two ways. + // 1. An existing MediaFile resource. + // 2. The raw image data as bytes. + oneof image { + // The 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; +} + +// Representation of video non-skippable in-stream ad format (15 second +// in-stream non-skippable video ad). +message VideoNonSkippableInStreamAdInfo { + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 5; + + // Label on the "Call To Action" button taking the user to the video ad's + // final URL. + string action_button_label = 3; + + // Additional text displayed with the "Call To Action" button to give + // context and encourage clicking on the button. + string action_headline = 4; +} + +// Representation of video TrueView in-stream ad format (ad shown during video +// playback, often at beginning, which displays a skip button a few seconds into +// the video). +message VideoTrueViewInStreamAdInfo { + // Label on the CTA (call-to-action) button taking the user to the video ad's + // final URL. + // Required for TrueView for action campaigns, optional otherwise. + string action_button_label = 4; + + // Additional text displayed with the CTA (call-to-action) button to give + // context and encourage clicking on the button. + string action_headline = 5; + + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 7; +} + +// Representation of video out-stream ad format (ad shown alongside a feed +// with automatic playback, without sound). +message VideoOutstreamAdInfo { + // The headline of the ad. + string headline = 3; + + // The description line. + string description = 4; +} + +// Representation of In-feed video ad format. +message InFeedVideoAdInfo { + // The headline of the ad. + string headline = 1; + + // First text line for the ad. + string description1 = 2; + + // Second text line for the ad. + string description2 = 3; + + // Video thumbnail image to use. + google.ads.googleads.v10.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = 4; +} + +// A video ad. +message VideoAdInfo { + // The YouTube video assets used for the ad. + AdVideoAsset video = 8; + + // Format-specific schema for the different video formats. + oneof format { + // Video TrueView in-stream ad format. + VideoTrueViewInStreamAdInfo in_stream = 2; + + // Video bumper in-stream ad format. + VideoBumperInStreamAdInfo bumper = 3; + + // Video out-stream ad format. + VideoOutstreamAdInfo out_stream = 4; + + // Video non-skippable in-stream ad format. + VideoNonSkippableInStreamAdInfo non_skippable = 5; + + // In-feed video ad format. + InFeedVideoAdInfo in_feed = 9; + } +} + +// A video responsive ad. +message VideoResponsiveAdInfo { + // List of text assets used for the short headline, e.g. 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, e.g. 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, e.g. #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, e.g. #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 22; + + // The call-to-action text for the ad. + optional string call_to_action_text = 23; + + // The MediaFile resource name of the logo image used in the ad. + optional string logo_image = 24; + + // The MediaFile resource name of the square logo image used in the ad. + optional string square_logo_image = 25; + + // The MediaFile resource name of the marketing image used in the ad. + optional string marketing_image = 26; + + // The MediaFile resource name of the square marketing image used in the ad. + optional string square_marketing_image = 27; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v10.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; + + // Prefix before price. E.g. 'as low as'. + optional string price_prefix = 28; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 29; +} + +// An app ad. +message AppAdInfo { + // Mandatory ad text. + AdTextAsset mandatory_ad_text = 1; + + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 2; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 3; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 4; + + // List of YouTube video assets that may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 5; + + // List of media bundle assets that may be used with the ad. + repeated AdMediaBundleAsset html5_media_bundles = 6; +} + +// App engagement ads allow you to write text encouraging a specific action in +// the app, like checking in, making a purchase, or booking a flight. +// They allow you to send users to a specific part of your app where they can +// find what they're looking for easier and faster. +message AppEngagementAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of video assets that may be displayed with the ad. + repeated AdVideoAsset videos = 4; +} + +// App pre-registration ads link to your app or game listing on Google Play, and +// can run on Google Play, on YouTube (in-stream only), and within other apps +// and mobile websites on the Display Network. It will help capture people's +// interest in your app or game and generate an early install base for your app +// or game before a launch. +message AppPreRegistrationAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image asset IDs whose images may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of YouTube video asset IDs whose videos may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 4; +} + +// A legacy app install ad that only can be used by a few select customers. +message LegacyAppInstallAdInfo { + // The ID of the mobile app. + optional string app_id = 6; + + // The app store the mobile app is available in. + google.ads.googleads.v10.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; + + // The headline of the ad. + optional string headline = 7; + + // The first description line of the ad. + optional string description1 = 8; + + // The second description line of the ad. + optional string description2 = 9; +} + +// A responsive display ad. +message ResponsiveDisplayAdInfo { + // Marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined + // with `square_marketing_images`, the maximum is 15. + repeated AdImageAsset marketing_images = 1; + + // Square marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). At least one square `marketing_image` is required. Combined + // with `marketing_images`, the maximum is 15. + repeated AdImageAsset square_marketing_images = 2; + + // Logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must + // be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset logo_images = 3; + + // Square logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must + // be 1:1 (+-1%). Combined with `square_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, e.g. #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, e.g. #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. E.g. 'as low as'. + optional string price_prefix = 22; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 23; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v10.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; + + // Specification for various creative controls. + ResponsiveDisplayAdControlSpec control_spec = 24; +} + +// A local ad. +message LocalAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. At least 1 and at most 5 headlines must be + // specified. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. At least 1 and at most 5 descriptions must + // be specified. + repeated AdTextAsset descriptions = 2; + + // List of text assets for call-to-actions. When the ad serves the + // call-to-actions will be selected from this list. Call-to-actions are + // optional and at most 5 can 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. Videos + // are optional and at most 20 can be specified. + repeated AdVideoAsset videos = 6; + + // First part of optional text that can be appended to the URL in the ad. + optional string path1 = 9; + + // Second part of optional text that can be appended to the URL in the ad. + // This field can only be set when `path1` is also set. + optional string path2 = 10; +} + +// A generic type of display ad. The exact ad format is controlled by the +// `display_upload_product_type` field, which determines what kinds of data +// need to be included with the ad. +message DisplayUploadAdInfo { + // The product type of this ad. See comments on the enum for details. + google.ads.googleads.v10.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; + + // The asset data that makes up the ad. + oneof media_asset { + // A media bundle asset to be used in the ad. For information about the + // media bundle for HTML5_UPLOAD_AD, see + // https://support.google.com/google-ads/answer/1722096 + // Media bundles that are part of dynamic product types use a special format + // that needs to be created through the Google Web Designer. See + // https://support.google.com/webdesigner/answer/7543898 for more + // information. + AdMediaBundleAsset media_bundle = 2; + } +} + +// Specification for various creative controls for a responsive display ad. +message ResponsiveDisplayAdControlSpec { + // Whether the advertiser has opted into the asset enhancements feature. + bool enable_asset_enhancements = 1; + + // Whether the advertiser has opted into auto-gen video feature. + bool enable_autogen_video = 2; +} + +// A Smart campaign ad. +message SmartCampaignAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. 3 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. 2 descriptions must be specified. + repeated AdTextAsset descriptions = 2; +} + +// A call ad. +message CallAdInfo { + // The country code in the ad. + string country_code = 1; + + // The phone number in the ad. + string phone_number = 2; + + // The business name in the ad. + string business_name = 3; + + // First headline in the ad. + string headline1 = 11; + + // Second headline in the ad. + string headline2 = 12; + + // The first line of the ad's description. + string description1 = 4; + + // The second line of the ad's description. + string description2 = 5; + + // Whether to enable call tracking for the creative. Enabling call + // tracking also enables call conversions. + bool call_tracked = 6; + + // Whether to disable call conversion for the creative. + // If set to `true`, disables call conversions even when `call_tracked` is + // `true`. + // If `call_tracked` is `false`, this field is ignored. + bool disable_call_conversion = 7; + + // The URL to be used for phone number verification. + string phone_number_verification_url = 8; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // `call_tracked` is set to `true`. Otherwise this field is ignored. + string conversion_action = 9; + + // The call conversion behavior of this call ad. It can use its own call + // conversion setting, inherit the account level setting, or be disabled. + google.ads.googleads.v10.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; + + // First part of text that can be appended to the URL in the ad. Optional. + string path1 = 13; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. Optional. + string path2 = 14; +} + +// A discovery multi asset ad. +message DiscoveryMultiAssetAdInfo { + // Marketing image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). Required if square_marketing_images is + // not present. Combined with `square_marketing_images` and + // `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset marketing_images = 1; + + // Square marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). Required if marketing_images is not present. Combined with + // `marketing_images` and `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset square_marketing_images = 2; + + // Portrait marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must + // be 4:5 (+-1%). Combined with `marketing_images` and + // `square_marketing_images` the maximum is 20. + repeated AdImageAsset portrait_marketing_images = 3; + + // Logo image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be + // 1:1(+-1%). At least 1 and max 5 logo images can be specified. + repeated AdImageAsset logo_images = 4; + + // Headline text asset of the ad. Maximum display width is 30. At least 1 and + // max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // The descriptive text of the ad. Maximum display width is 90. At least 1 and + // max 5 descriptions can be specified. + repeated AdTextAsset descriptions = 6; + + // The Advertiser/brand name. Maximum display width is 25. Required. + optional string business_name = 7; + + // Call to action text. + optional string call_to_action_text = 8; + + // Boolean flag 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/asset_policy.proto b/google-cloud/protos/google/ads/googleads/v10/common/asset_policy.proto new file mode 100644 index 00000000..554f6029 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/asset_policy.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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.v10.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v10/common/asset_types.proto new file mode 100644 index 00000000..4c29c35e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/asset_types.proto @@ -0,0 +1,979 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/common/feed_common.proto"; +import "google/ads/googleads/v10/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v10/enums/call_to_action_type.proto"; +import "google/ads/googleads/v10/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v10/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v10/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v10/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v10/enums/mime_type.proto"; +import "google/ads/googleads/v10/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v10/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v10/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v10/enums/price_extension_type.proto"; +import "google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v10/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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.v10.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. + repeated LeadFormField fields = 8; + + // Ordered list of custom question fields. + 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.v10.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; + + // Desired intent for the lead form, e.g. more volume or more qualified. + google.ads.googleads.v10.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 "Do you own a car?". + google.ads.googleads.v10.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; + } +} + +// One custom question input field instance within a form. +message LeadFormCustomQuestionField { + // The exact custom question field text (e.g. "Do you own a car?"). + 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; + } +} + +// 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.v10.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.v10.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, e.g. Nursing. Required. + string program_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Subject of study, e.g. Health. + string subject = 4; + + // Program description, e.g. Nursing Certification. + string program_description = 5; + + // School name, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403 + string address = 7; + + // Contextual keywords, e.g. Nursing certification, Health, Mountain View. + repeated string contextual_keywords = 8; + + // Android deep link, e.g. + // 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, e.g. 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, e.g. http://www.example.com/thumbnail.png. The + // thumbnail image will not be uploaded as image asset. + string thumbnail_image_url = 13; + + // Image url, e.g. 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.v10.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.v10.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.v10.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v10.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.v10.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.v10.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, e.g. Boulevard Bungalow. Required. + string listing_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // City name, e.g. Mountain View, California. + string city_name = 3; + + // Description, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 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. e.g. 200,000.00 USD. + string price = 6; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 7; + + // Property type, e.g. House. + string property_type = 8; + + // Listing type, e.g. For sale. + string listing_type = 9; + + // Contextual keywords, e.g. 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', e.g. Starting at $200,000.00. + string formatted_price = 11; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 12; + + // iOS deep link, e.g. 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, e.g. sedan. Required. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // ID2 which can be any sequence of letters and digits, e.g. red. ID sequence + // (ID + ID2) must be unique. + string id2 = 2; + + // Required. Item title, e.g. Mid-size sedan. Required. + string item_title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Item subtitle, e.g. At your Mountain View dealership. + string item_subtitle = 4; + + // Item description, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403 + string item_address = 6; + + // Item category, e.g. Sedans. + string item_category = 7; + + // Price which can be number followed by the alphabetic currency code, + // ISO 4217 standard. Use '.' as the decimal mark, e.g. 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, e.g. 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', e.g. 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', e.g. On sale for $15,000.00. + string formatted_sale_price = 11; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 12; + + // Contextual keywords, e.g. Sedans, 4 door sedans. + repeated string contextual_keywords = 13; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 14; + + // iOS deep link, e.g. 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, e.g. Mountain View Hotel. Required. + string property_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 3; + + // Destination name, e.g. Downtown Mountain View. + string destination_name = 4; + + // Description, e.g. 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, e.g. 100.00 USD. + string price = 6; + + // ISO 4217 standard. Use '.' as the decimal mark, e.g. 80.00 USD. + // Must be less than the 'price' field. + string sale_price = 7; + + // Star rating. Must be a number between 1–5, inclusive. + int64 star_rating = 8; + + // Category, e.g. Hotel suite. + string category = 9; + + // Contextual keywords, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403 + string address = 11; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 12; + + // iOS deep link, e.g. 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', e.g. 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', e.g. 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, e.g. Book your ticket. Required. + string flight_description = 3 [(google.api.field_behavior) = REQUIRED]; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 4; + + // Destination name, e.g. Paris. + string destination_name = 5; + + // Origin name, e.g. 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. e.g. 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, e.g. 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', e.g. 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', e.g. On sale for $80.00. + string formatted_sale_price = 10; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 11; + + // iOS deep link, e.g. 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, e.g. 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 + // ": , , ... , | : , ... + // , | ... | : , ... ," e.g. 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, e.g. Book your train ticket. Required. + string title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Destination name, e.g. Paris. + string destination_name = 4; + + // Destination address which can be specified in one of the following formats. + // (1) City, state, code, country, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403. + string destination_address = 5; + + // Origin name, e.g. 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. e.g. 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, e.g. 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', e.g. 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', e.g. On sale for $80.00. + string formatted_sale_price = 10; + + // Category, e.g. Express. + string category = 11; + + // Contextual keywords, e.g. Paris trains. + repeated string contextual_keywords = 12; + + // Similar destination IDs, e.g. NYC. + repeated string similar_destination_ids = 13; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 14; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 15; + + // iOS deep link, e.g. 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, e.g. 50% off at Mountain View Grocers. Required. + string deal_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Subtitle, e.g. Groceries. + string subtitle = 3; + + // Description, e.g. 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, e.g. 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, e.g. 80.00 USD. + // Must be less than the 'price' field. + string sale_price = 6; + + // Image URL, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403. + string address = 8; + + // Category, e.g. Food. + string category = 9; + + // Contextual keywords, e.g. 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', e.g. 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', e.g. On sale for $80.00. + string formatted_sale_price = 12; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 13; + + // Similar deal IDs, e.g. 1275. + repeated string similar_deal_ids = 14; + + // iOS deep link, e.g. 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, e.g. Software engineer. Required. + string job_title = 3 [(google.api.field_behavior) = REQUIRED]; + + // Job subtitle, e.g. Level II. + string job_subtitle = 4; + + // Description, e.g. Apply your technical skills. + string description = 5; + + // Image URL, e.g. http://www.example.com/image.png. The image will not be + // uploaded as image asset. + string image_url = 6; + + // Job category, e.g. Technical. + string job_category = 7; + + // Contextual keywords, e.g. Software engineering job. + repeated string contextual_keywords = 8; + + // Address which can be specified in one of the following formats. + // (1) City, state, code, country, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403. + string address = 9; + + // Salary, e.g. $100,000. + string salary = 10; + + // Android deep link, e.g. + // android-app://com.example.android/http/example.com/gizmos?1234. + string android_app_link = 11; + + // Similar job IDs, e.g. 1275. + repeated string similar_job_ids = 12; + + // iOS deep link, e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/asset_usage.proto b/google-cloud/protos/google/ads/googleads/v10/common/asset_usage.proto new file mode 100644 index 00000000..fed3ed5f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/asset_usage.proto @@ -0,0 +1,39 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType served_asset_field_type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/audiences.proto b/google-cloud/protos/google/ads/googleads/v10/common/audiences.proto new file mode 100644 index 00000000..126955c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/audiences.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/gender_type.proto"; +import "google/ads/googleads/v10/enums/income_range_type.proto"; +import "google/ads/googleads/v10/enums/parental_status_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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.v10.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.v10.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. +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/google-cloud/protos/google/ads/googleads/v10/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v10/common/bidding.proto new file mode 100644 index 00000000..66c84ea0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/bidding.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing bidding schemes. + +// Commission is an automatic bidding strategy in which the advertiser pays a +// certain portion of the conversion value. +message Commission { + // Commission rate defines the portion of the conversion value that the + // advertiser will be billed. A commission rate of x should be passed into + // this field as (x * 1,000,000). For example, 106,000 represents a commission + // rate of 0.106 (10.6%). + optional int64 commission_rate_micros = 2; +} + +// An automated bidding strategy that raises bids for clicks +// that seem more likely to lead to a conversion and lowers +// them for clicks where they seem less likely. +message EnhancedCpc { + +} + +// 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 { + // 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 = 1; + + // 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; +} + +// 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 { + +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v10.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; + + // The desired fraction of ads to be shown in the targeted location in micros. + // E.g. 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 desired 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/google-cloud/protos/google/ads/googleads/v10/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v10/common/click_location.proto new file mode 100644 index 00000000..8fe94caf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/click_location.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing a ClickLocation. + +// Location criteria associated with a click. +message ClickLocation { + // The city location criterion associated with the impression. + optional string city = 6; + + // The country location criterion associated with the impression. + optional string country = 7; + + // The metro location criterion associated with the impression. + optional string metro = 8; + + // The most specific location criterion associated with the impression. + optional string most_specific = 9; + + // The region location criterion associated with the impression. + optional string region = 10; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v10/common/criteria.proto new file mode 100644 index 00000000..abdfa931 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/criteria.proto @@ -0,0 +1,696 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/age_range_type.proto"; +import "google/ads/googleads/v10/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v10/enums/content_label_type.proto"; +import "google/ads/googleads/v10/enums/day_of_week.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/gender_type.proto"; +import "google/ads/googleads/v10/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v10/enums/income_range_type.proto"; +import "google/ads/googleads/v10/enums/interaction_type.proto"; +import "google/ads/googleads/v10/enums/keyword_match_type.proto"; +import "google/ads/googleads/v10/enums/listing_group_type.proto"; +import "google/ads/googleads/v10/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v10/enums/minute_of_hour.proto"; +import "google/ads/googleads/v10/enums/parental_status_type.proto"; +import "google/ads/googleads/v10/enums/preferred_content_type.proto"; +import "google/ads/googleads/v10/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v10/enums/product_channel.proto"; +import "google/ads/googleads/v10/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v10/enums/product_condition.proto"; +import "google/ads/googleads/v10/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v10/enums/product_type_level.proto"; +import "google/ads/googleads/v10/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v10/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v10/enums/webpage_condition_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing criteria types. + +// A keyword criterion. +message KeywordInfo { + // The text of the keyword (at most 80 characters and 10 words). + optional string text = 3; + + // The match type of the keyword. + google.ads.googleads.v10.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +} + +// A placement criterion. This can be used to modify bids for sites when +// targeting the content network. +message PlacementInfo { + // URL of the placement. + // + // For example, "http://www.domain.com". + optional string url = 2; +} + +// A 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 (e.g., "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 + // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link + // "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). + // A well formed app id for Google Ads API would thus be "1-476943146" for iOS + // and "2-com.labpixies.colordrips" for Android. + // This field is required and must be set in CREATE operations. + optional string app_id = 4; + + // Name of this mobile application. + optional string name = 5; +} + +// A location criterion. +message LocationInfo { + // The geo target constant resource name. + optional string geo_target_constant = 2; +} + +// A device criterion. +message DeviceInfo { + // Type of the device. + google.ads.googleads.v10.enums.DeviceEnum.Device type = 1; +} + +// A preferred content criterion. +message PreferredContentInfo { + // Type of the preferred content. + google.ads.googleads.v10.enums.PreferredContentTypeEnum.PreferredContentType type = 2; +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. + google.ads.googleads.v10.enums.ListingGroupTypeEnum.ListingGroupType type = 1; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingDimensionInfo case_value = 2; + + // Resource name of ad group criterion which is the parent listing group + // subdivision. Null for the root group. + optional string parent_ad_group_criterion = 4; +} + +// 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. + ProductGroupingInfo product_grouping = 17; + + // Labels of a product offer. + ProductLabelsInfo product_labels = 18; + + // Legacy condition of a product offer. + ProductLegacyConditionInfo product_legacy_condition = 19; + + // Full type of a product offer. + ProductTypeFullInfo product_type_full = 20; + + // 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; + + // Two-letter upper-case country code of the product bidding category. It must + // match the campaign.shopping_setting.sales_country field. + optional string country_code = 5; + + // Level of the product bidding category. + google.ads.googleads.v10.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; +} + +// Brand of the product. +message ProductBrandInfo { + // String value of the product brand. + optional string value = 2; +} + +// Locality of a product offer. +message ProductChannelInfo { + // Value of the locality. + google.ads.googleads.v10.enums.ProductChannelEnum.ProductChannel channel = 1; +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. + google.ads.googleads.v10.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. + google.ads.googleads.v10.enums.ProductConditionEnum.ProductCondition condition = 1; +} + +// Custom attribute of a product offer. +message ProductCustomAttributeInfo { + // String value of the product custom attribute. + optional string value = 3; + + // Indicates the index of the custom attribute. + google.ads.googleads.v10.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; +} + +// Item id of a product offer. +message ProductItemIdInfo { + // Value of the id. + optional string value = 2; +} + +// Type of a product offer. +message ProductTypeInfo { + // Value of the type. + optional string value = 3; + + // Level of the type. + google.ads.googleads.v10.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; +} + +// Grouping of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductGroupingInfo { + // String value of the product grouping. + optional string value = 1; +} + +// Labels of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductLabelsInfo { + // String value of the product labels. + optional string value = 1; +} + +// Legacy condition of a product offer. This listing dimension is deprecated and +// it is supported only in Display campaigns. +message ProductLegacyConditionInfo { + // String value of the product legacy condition. + optional string value = 1; +} + +// Full type of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductTypeFullInfo { + // String value of the product full type. + optional string value = 1; +} + +// Unknown listing dimension. +message UnknownListingDimensionInfo { + +} + +// Criterion for hotel date selection (default dates vs. user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v10.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; +} + +// Criterion for number of days prior to the stay the booking is being made. +message HotelAdvanceBookingWindowInfo { + // Low end of the number of days prior to the stay. + optional int64 min_days = 3; + + // High end of the number of days prior to the stay. + optional int64 max_days = 4; +} + +// Criterion for length of hotel stay in nights. +message HotelLengthOfStayInfo { + // Low end of the number of nights in the stay. + optional int64 min_nights = 3; + + // High end of the number of nights in the stay. + optional int64 max_nights = 4; +} + +// Criterion for a check-in date range. +message HotelCheckInDateRangeInfo { + // Start date in the YYYY-MM-DD format. + string start_date = 1; + + // End date in the YYYY-MM-DD format. + string end_date = 2; +} + +// Criterion for day of the week the booking is for. +message HotelCheckInDayInfo { + // The day of the week. + google.ads.googleads.v10.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. + google.ads.googleads.v10.enums.InteractionTypeEnum.InteractionType type = 1; +} + +// Represents an AdSchedule criterion. +// +// AdSchedule is specified as the day of the week and a time interval +// within which ads will be shown. +// +// No more than six AdSchedules can be added for the same day. +message AdScheduleInfo { + // Minutes after the start hour at which this schedule starts. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v10.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; + + // Minutes after the end hour at which this schedule ends. The schedule is + // exclusive of the end minute. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v10.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; + + // Starting hour in 24 hour time. + // This field must be between 0 and 23, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 start_hour = 6; + + // Ending hour in 24 hour time; 24 signifies end of the day. + // This field must be between 0 and 24, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 end_hour = 7; + + // Day of the week the schedule applies to. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v10.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. + google.ads.googleads.v10.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. + google.ads.googleads.v10.enums.GenderTypeEnum.GenderType type = 1; +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. + google.ads.googleads.v10.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. + google.ads.googleads.v10.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; +} + +// A YouTube Video criterion. +message YouTubeVideoInfo { + // YouTube video id as it appears on the YouTube watch page. + optional string video_id = 2; +} + +// A YouTube Channel criterion. +message YouTubeChannelInfo { + // The YouTube uploader channel id or the channel code of a YouTube channel. + optional string channel_id = 2; +} + +// A User List criterion. Represents a user list that is defined by the +// advertiser to be targeted. +message UserListInfo { + // The User List resource name. + optional string user_list = 2; +} + +// A Proximity criterion. The geo point and radius determine what geographical +// area is included. The address is a description of the geo point that does +// not affect ad serving. +// +// There are two ways to create a proximity. First, by setting an address +// and radius. The geo point will be automatically computed. Second, by +// setting a geo point and radius. The address is an optional label that won't +// be validated. +message ProximityInfo { + // Latitude and longitude. + GeoPointInfo geo_point = 1; + + // The radius of the proximity. + optional double radius = 5; + + // The unit of measurement of the radius. Default is KILOMETERS. + google.ads.googleads.v10.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; + + // Full address. + AddressInfo address = 4; +} + +// Geo point for proximity criterion. +message GeoPointInfo { + // Micro degrees for the longitude. + optional int32 longitude_in_micro_degrees = 3; + + // Micro degrees for the latitude. + optional int32 latitude_in_micro_degrees = 4; +} + +// Address for proximity criterion. +message AddressInfo { + // Postal code. + optional string postal_code = 8; + + // Province or state code. + optional string province_code = 9; + + // Country code. + optional string country_code = 10; + + // Province or state name. + optional string province_name = 11; + + // Street address line 1. + optional string street_address = 12; + + // Street address line 2. This field is write-only. It is only used for + // calculating the longitude and latitude of an address when geo_point is + // empty. + optional string street_address2 = 13; + + // Name of the city. + optional string city_name = 14; +} + +// A topic criterion. Use topics to target or exclude placements in the +// Google Display Network based on the category into which the placement falls +// (for example, "Pets & Animals/Pets/Dogs"). +message TopicInfo { + // The Topic Constant resource name. + optional string topic_constant = 3; + + // The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" + // category. + repeated string path = 4; +} + +// A language criterion. +message LanguageInfo { + // The language constant resource name. + optional string language_constant = 2; +} + +// An IpBlock criterion used for IP exclusions. We allow: +// - IPv4 and IPv6 addresses +// - individual addresses (192.168.0.1) +// - masks for individual addresses (192.168.0.1/32) +// - masks for Class C networks (192.168.0.1/24) +message IpBlockInfo { + // The IP address of this IP block. + optional string ip_address = 2; +} + +// Content Label for category exclusion. +message ContentLabelInfo { + // Content label type, required for CREATE operations. + google.ads.googleads.v10.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +} + +// 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. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + repeated WebpageConditionInfo conditions = 2; + + // Website criteria coverage percentage. This is the computed percentage + // of website coverage based on the website target, negative website target + // and negative keywords in the ad group and campaign. For instance, when + // coverage returns as 1, it indicates it has 100% coverage. This field is + // read-only. + double coverage_percentage = 4; + + // List of sample urls that match the website target. This field is read-only. + WebpageSampleInfo sample = 5; +} + +// Logical expression for targeting webpages of an advertiser's website. +message WebpageConditionInfo { + // Operand of webpage targeting condition. + google.ads.googleads.v10.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v10.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; + + // Argument of webpage targeting condition. + optional string argument = 4; +} + +// List of sample urls that match the website target +message WebpageSampleInfo { + // Webpage sample urls + repeated string sample_urls = 1; +} + +// Represents an operating system version to be targeted. +message OperatingSystemVersionInfo { + // The operating system version constant resource name. + optional string operating_system_version_constant = 2; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. + google.ads.googleads.v10.enums.AppPaymentModelTypeEnum.AppPaymentModelType 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 via a feed. +message LocationGroupInfo { + // Feed specifying locations for targeting. + // 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. + 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. + // This is required and must be set in CREATE operations. + google.ads.googleads.v10.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; + + // FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, + // then all items that appear in at least one set are targeted. This field + // cannot be used with geo_target_constants. This is optional and can only be + // set in CREATE operations. + repeated string feed_item_sets = 8; +} + +// 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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v10/common/criterion_category_availability.proto new file mode 100644 index 00000000..dd6f5165 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/criterion_category_availability.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v10/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v10/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v10/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing criterion category availability information. + +// Information of category availability, per advertising channel. +message CriterionCategoryAvailability { + // Channel types and subtypes that are available to the category. + CriterionCategoryChannelAvailability channel = 1; + + // Locales that are available to the category for the channel. + repeated CriterionCategoryLocaleAvailability locale = 2; +} + +// Information of advertising channel type and subtypes a category is available +// in. +message CriterionCategoryChannelAvailability { + // Format of the channel availability. Can be ALL_CHANNELS (the rest of the + // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type + // will be set, the category is available to all sub types under it) or + // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, + // advertising_channel_sub_type, and include_default_channel_sub_type will all + // be set). + google.ads.googleads.v10.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v10.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v10.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3; + + // Whether default channel sub type is included. For example, + // advertising_channel_type being DISPLAY and include_default_channel_sub_type + // being false means that the default display campaign where channel sub type + // is not set is not included in this availability configuration. + optional bool include_default_channel_sub_type = 5; +} + +// Information about which locales a category is available in. +message CriterionCategoryLocaleAvailability { + // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and + // language will be empty), COUNTRY (only country will be set), LANGUAGE (only + // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will + // be set). + google.ads.googleads.v10.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; + + // Code of the country. + optional string country_code = 4; + + // Code of the language. + optional string language_code = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v10/common/custom_parameter.proto new file mode 100644 index 00000000..b7ee8e67 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/custom_parameter.proto @@ -0,0 +1,38 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing CustomParameter and operation + +// A mapping that can be used by custom parameter tags in a +// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. +message CustomParameter { + // The key matching the parameter tag name. + optional string key = 3; + + // The value to be substituted. + optional string value = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/customizer_value.proto b/google-cloud/protos/google/ads/googleads/v10/common/customizer_value.proto new file mode 100644 index 00000000..cce67426 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/customizer_value.proto @@ -0,0 +1,44 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { + // Required. The data type for the customizer value. It must match the attribute type. + // The string_value content must match the constraints associated with the + // type. + google.ads.googleads.v10.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Value to insert in creative text. Customizer values of all types are stored + // as string to make formatting unambiguous. + string string_value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/dates.proto b/google-cloud/protos/google/ads/googleads/v10/common/dates.proto new file mode 100644 index 00000000..2796d68c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/dates.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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing date range message. + +// A date range. +message DateRange { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 3; + + // The end date, in yyyy-mm-dd format. This date is inclusive. + optional string end_date = 4; +} + +// The year month range inclusive of the start and end months. +// Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). +message YearMonthRange { + // The inclusive start year month. + YearMonth start = 1; + + // The inclusive end year month. + YearMonth end = 2; +} + +// Year month. +message YearMonth { + // The year (e.g. 2020). + int64 year = 1; + + // The month of the year. (e.g. FEBRUARY). + google.ads.googleads.v10.enums.MonthOfYearEnum.MonthOfYear month = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v10/common/explorer_auto_optimizer_setting.proto new file mode 100644 index 00000000..670ca966 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/explorer_auto_optimizer_setting.proto @@ -0,0 +1,36 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExplorerAutoOptimizerSettingProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing ExplorerAutoOptimizerSetting + +// Settings for the Display Campaign Optimizer, initially named "Explorer". +// Learn more about +// [automatic targeting](https://support.google.com/google-ads/answer/190596). +message ExplorerAutoOptimizerSetting { + // Indicates whether the optimizer is turned on. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v10/common/extensions.proto new file mode 100644 index 00000000..ea856320 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/extensions.proto @@ -0,0 +1,367 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/feed_common.proto"; +import "google/ads/googleads/v10/enums/app_store.proto"; +import "google/ads/googleads/v10/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v10/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v10/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v10/enums/price_extension_type.proto"; +import "google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v10/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing extension types. + +// Represents an App extension. +message AppFeedItem { + // The visible text displayed when the link is rendered in an ad. + // This string must not be empty, and the length of this string should + // be between 1 and 25, inclusive. + optional string link_text = 9; + + // The store-specific ID for the target application. + // This string must not be empty. + optional string app_id = 10; + + // The application store that the target application belongs to. + // This field is required. + google.ads.googleads.v10.enums.AppStoreEnum.AppStore app_store = 3; + + // A list of possible final URLs after all cross domain redirects. + // This list must not be empty. + repeated string final_urls = 11; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 12; + + // URL template for constructing a tracking URL. Default value is "{lpurl}". + optional string tracking_url_template = 13; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 14; +} + +// Represents a Call extension. +message CallFeedItem { + // The advertiser's phone number to append to the ad. + // This string must not be empty. + optional string phone_number = 7; + + // Uppercase two-letter country code of the advertiser's phone number. + // This string must not be empty. + optional string country_code = 8; + + // Indicates whether call tracking is enabled. By default, call tracking is + // not enabled. + optional bool call_tracking_enabled = 9; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // call_tracking_enabled is set to true. Otherwise this field is ignored. + optional string call_conversion_action = 10; + + // If true, disable call conversion tracking. call_conversion_action should + // not be set if this is true. Optional. + optional bool call_conversion_tracking_disabled = 11; + + // Enum value that indicates whether this call extension uses its own call + // conversion setting (or just have call conversion disabled), or following + // the account level setting. + google.ads.googleads.v10.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; +} + +// Represents a callout extension. +message CalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string callout_text = 2; +} + +// Represents a location extension. +message LocationFeedItem { + // The name of the business. + optional string business_name = 9; + + // Line 1 of the business address. + optional string address_line_1 = 10; + + // Line 2 of the business address. + optional string address_line_2 = 11; + + // City of the business address. + optional string city = 12; + + // Province of the business address. + optional string province = 13; + + // Postal code of the business address. + optional string postal_code = 14; + + // Country code of the business address. + optional string country_code = 15; + + // Phone number of the business. + optional string phone_number = 16; +} + +// Represents an affiliate location extension. +message AffiliateLocationFeedItem { + // The name of the business. + optional string business_name = 11; + + // Line 1 of the business address. + optional string address_line_1 = 12; + + // Line 2 of the business address. + optional string address_line_2 = 13; + + // City of the business address. + optional string city = 14; + + // Province of the business address. + optional string province = 15; + + // Postal code of the business address. + optional string postal_code = 16; + + // Country code of the business address. + optional string country_code = 17; + + // Phone number of the business. + optional string phone_number = 18; + + // Id of the retail chain that is advertised as a seller of your product. + optional int64 chain_id = 19; + + // Name of chain. + optional string chain_name = 20; +} + +// An extension that users can click on to send a text message to the +// advertiser. +message TextMessageFeedItem { + // The business name to prepend to the message text. + // This field is required. + optional string business_name = 6; + + // Uppercase two-letter country code of the advertiser's phone number. + // This field is required. + optional string country_code = 7; + + // The advertiser's phone number the message will be sent to. Required. + optional string phone_number = 8; + + // The text to show in the ad. + // This field is required. + optional string text = 9; + + // The message extension_text populated in the messaging app. + optional string extension_text = 10; +} + +// Represents a Price extension. +message PriceFeedItem { + // Price extension type of this extension. + google.ads.googleads.v10.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v10.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; + + // Tracking URL template for all offers of this price extension. + optional string tracking_url_template = 7; + + // The code of the language used for this price extension. + optional string language_code = 8; + + // The price offerings in this price extension. + repeated PriceOffer price_offerings = 5; + + // Tracking URL template for all offers of this price extension. + optional string final_url_suffix = 9; +} + +// Represents one price offer in a price extension. +message PriceOffer { + // Header text of this offer. + optional string header = 7; + + // Description text of this offer. + optional string description = 8; + + // Price value of this offer. + Money price = 3; + + // Price unit for this offer. + google.ads.googleads.v10.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 9; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 10; +} + +// Represents a Promotion extension. +message PromotionFeedItem { + // A freeform description of what the promotion is targeting. + // This field is required. + optional string promotion_target = 16; + + // Enum that modifies the qualification of the discount. + google.ads.googleads.v10.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed. + optional string promotion_start_date = 19; + + // Last date when the promotion is eligible to be redeemed. + optional string promotion_end_date = 20; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within + // the date range associated with the occasion. + google.ads.googleads.v10.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; + + // A list of possible final URLs after all cross domain redirects. + // This field is required. + repeated string final_urls = 21; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 22; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 23; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 13; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 24; + + // The language of the promotion. + // Represented as BCP 47 language tag. + optional string language_code = 25; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion in micros. + // One million is equivalent to one percent. + // Either this or money_off_amount is required. + int64 percent_off = 17; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 18; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// Represents a structured snippet extension. +message StructuredSnippetFeedItem { + // The header of the snippet. + // This string must not be empty. + optional string header = 3; + + // The values in the snippet. + // The maximum size of this collection is 10. + repeated string values = 4; +} + +// Represents a sitelink extension. +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/google-cloud/protos/google/ads/googleads/v10/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v10/common/feed_common.proto new file mode 100644 index 00000000..207364de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/feed_common.proto @@ -0,0 +1,37 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing common feed proto messages. + +// Represents a price in a particular currency. +message Money { + // Three-character ISO 4217 currency code. + optional string currency_code = 3; + + // Amount in micros. One million is equivalent to one unit. + optional int64 amount_micros = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/feed_item_set_filter_type_infos.proto b/google-cloud/protos/google/ads/googleads/v10/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 00000000..92069455 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Represents a filter on locations in a feed item set. +// Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. +message DynamicLocationSetFilter { + // If multiple labels are set, then only feeditems marked with all the labels + // will be added to the FeedItemSet. + repeated string labels = 1; + + // Business name filter. + BusinessNameFilter business_name_filter = 2; +} + +// Represents a business name filter on locations in a FeedItemSet. +message BusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v10.enums.FeedItemSetStringFilterTypeEnum.FeedItemSetStringFilterType filter_type = 2; +} + +// Represents a filter on affiliate locations in a FeedItemSet. +// Only applicable if the parent Feed of the FeedItemSet is an +// AFFILIATE_LOCATION feed. +message DynamicAffiliateLocationSetFilter { + // Used to filter affiliate locations by chain ids. Only affiliate locations + // that belong to the specified chain(s) will be added to the FeedItemSet. + repeated int64 chain_ids = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v10/common/final_app_url.proto new file mode 100644 index 00000000..e72d4768 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/final_app_url.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.googleads.v10.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v10/common/frequency_cap.proto new file mode 100644 index 00000000..7f75aadb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/frequency_cap.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v10/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v10/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing frequency caps. + +// A rule specifying the maximum number of times an ad (or some set of ads) can +// be shown to a user over a particular time period. +message FrequencyCapEntry { + // The key of a particular frequency cap. There can be no more + // than one frequency cap with the same key. + FrequencyCapKey key = 1; + + // Maximum number of events allowed during the time range by this cap. + optional int32 cap = 3; +} + +// A group of fields used as keys for a frequency cap. +// There can be no more than one frequency cap with the same key. +message FrequencyCapKey { + // The level on which the cap is to be applied (e.g. ad group ad, ad group). + // The cap is applied to all the entities of this level. + google.ads.googleads.v10.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1; + + // The type of event that the cap applies to (e.g. impression). + google.ads.googleads.v10.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3; + + // Unit of time the cap is defined at (e.g. day, week). + google.ads.googleads.v10.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v10/common/keyword_plan_common.proto new file mode 100644 index 00000000..0f4fd175 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/keyword_plan_common.proto @@ -0,0 +1,148 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/dates.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v10/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing Keyword Planner messages. + +// Historical metrics specific to the targeting options selected. +// Targeting options include geographies, network, etc. +// Refer to https://support.google.com/google-ads/answer/3022575 for more +// details. +message KeywordPlanHistoricalMetrics { + // Approximate number of monthly searches on this query averaged + // for the past 12 months. + optional int64 avg_monthly_searches = 7; + + // Approximate number of searches on this query for the past twelve months. + repeated MonthlySearchVolume monthly_search_volumes = 6; + + // The competition level for the query. + google.ads.googleads.v10.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; + + // The competition index for the query in the range [0, 100]. + // Shows how competitive ad placement is for a keyword. + // The level of competition from 0-100 is determined by the number of ad slots + // filled divided by the total number of ad slots available. If not enough + // data is available, null is returned. + optional int64 competition_index = 8; + + // Top of page bid low range (20th percentile) in micros for the keyword. + optional int64 low_top_of_page_bid_micros = 9; + + // Top of page bid high range (80th percentile) in micros for the keyword. + optional int64 high_top_of_page_bid_micros = 10; + + // Average Cost Per Click in micros for the keyword. + optional int64 average_cpc_micros = 11; +} + +// Historical metrics options. +message HistoricalMetricsOptions { + // The year month range for historical metrics. If not specified the searches + // will be returned for past 12 months. + // Searches data is 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 will be returned. + optional YearMonthRange year_month_range = 1; + + // Indicates whether to include average cost per click value. + // 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. + bool include_average_cpc = 2; +} + +// Monthly search volume. +message MonthlySearchVolume { + // The year of the search volume (e.g. 2020). + optional int64 year = 4; + + // The month of the search volume. + google.ads.googleads.v10.enums.MonthOfYearEnum.MonthOfYear month = 2; + + // Approximate number of searches for the month. + // A null value indicates the search volume is unavailable for + // that month. + optional int64 monthly_searches = 5; +} + +// The aggregate metrics specification of the request. +message KeywordPlanAggregateMetrics { + // The list of aggregate metrics to fetch data. + repeated google.ads.googleads.v10.enums.KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType aggregate_metric_types = 1; +} + +// The aggregated historical metrics for keyword plan keywords. +message KeywordPlanAggregateMetricResults { + // The aggregate searches for all the keywords segmented by device + // for the specified time. + // Supports the following device types: MOBILE, TABLET, DESKTOP. + // + // This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set + // in the KeywordPlanAggregateMetrics field in the request. + repeated KeywordPlanDeviceSearches device_searches = 1; +} + +// The total searches for the device type during the specified time period. +message KeywordPlanDeviceSearches { + // The device type. + google.ads.googleads.v10.enums.DeviceEnum.Device device = 1; + + // The total searches for the device. + optional int64 search_count = 2; +} + +// The Annotations for the Keyword plan keywords. +message KeywordAnnotations { + // The list of concepts for the keyword. + repeated KeywordConcept concepts = 1; +} + +// The concept for the keyword. +message KeywordConcept { + // The concept name for the keyword in the concept_group. + string name = 1; + + // The concept group of the concept details. + ConceptGroup concept_group = 2; +} + +// The concept group for the keyword concept. +message ConceptGroup { + // The concept group name. + string name = 1; + + // The concept group type. + google.ads.googleads.v10.enums.KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v10/common/matching_function.proto new file mode 100644 index 00000000..92c296e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/matching_function.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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v10/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing a matching function. + +// Matching function associated with a +// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used +// to filter the set of feed items selected. +message MatchingFunction { + // String representation of the Function. + // + // Examples: + // + // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. + // 2. EQUALS(CONTEXT.DEVICE,"Mobile") + // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) + // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) + // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) + // + // For more details, visit + // https://developers.google.com/adwords/api/docs/guides/feed-matching-functions + // + // Note that because multiple strings may represent the same underlying + // function (whitespace and single versus double quotation marks, for + // example), the value returned may not be identical to the string sent in a + // mutate request. + optional string function_string = 5; + + // Operator for a function. + google.ads.googleads.v10.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; + + // The operands on the left hand side of the equation. This is also the + // operand to be used for single operand expressions such as NOT. + repeated Operand left_operands = 2; + + // The operands on the right hand side of the equation. + repeated Operand right_operands = 3; +} + +// An operand in a matching function. +message Operand { + // A constant operand in a matching function. + message ConstantOperand { + // Constant operand values. Required. + oneof constant_operand_value { + // String value of the operand if it is a string type. + string string_value = 5; + + // Int64 value of the operand if it is a int64 type. + int64 long_value = 6; + + // Boolean value of the operand if it is a boolean type. + bool boolean_value = 7; + + // Double value of the operand if it is a double type. + double double_value = 8; + } + } + + // A feed attribute operand in a matching function. + // Used to represent a feed attribute in feed. + message FeedAttributeOperand { + // The associated feed. Required. + optional int64 feed_id = 3; + + // Id of the referenced feed attribute. Required. + optional int64 feed_attribute_id = 4; + } + + // A function operand in a matching function. + // Used to represent nested functions. + message FunctionOperand { + // The matching function held in this operand. + MatchingFunction matching_function = 1; + } + + // An operand in a function referring to a value in the request context. + message RequestContextOperand { + // Type of value to be referred in the request context. + google.ads.googleads.v10.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; + } + + // Different operands that can be used in a matching function. Required. + oneof function_argument_operand { + // A constant operand in a matching function. + ConstantOperand constant_operand = 1; + + // This operand specifies a feed attribute in feed. + FeedAttributeOperand feed_attribute_operand = 2; + + // A function operand in a matching function. + // Used to represent nested functions. + FunctionOperand function_operand = 3; + + // An operand in a function referring to a value in the request context. + RequestContextOperand request_context_operand = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/metric_goal.proto b/google-cloud/protos/google/ads/googleads/v10/common/metric_goal.proto new file mode 100644 index 00000000..cb63aa63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/metric_goal.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/experiment_metric.proto"; +import "google/ads/googleads/v10/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.ExperimentMetricEnum.ExperimentMetric metric = 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v10.enums.ExperimentMetricDirectionEnum.ExperimentMetricDirection direction = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v10/common/metrics.proto new file mode 100644 index 00000000..2a4f6b08 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/metrics.proto @@ -0,0 +1,632 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/interaction_event_type.proto"; +import "google/ads/googleads/v10/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing metrics. + +// Metrics data. +message Metrics { + // The percent of your ad impressions that are shown as the very first ad + // above the organic search results. + optional double absolute_top_impression_percentage = 183; + + // Average cost of viewable impressions (`active_view_impressions`). + optional double active_view_cpm = 184; + + // Active view measurable clicks divided by active view viewable impressions. + // This metric is reported only for 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; + + // 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; + + // 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 (e.g. 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; + + // 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. + google.ads.googleads.v10.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v10.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). + google.ads.googleads.v10.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; + + // The number of times the ad was forwarded to someone else as a message. + optional int64 gmail_forwards = 217; + + // The number of times someone has saved your Gmail ad to their inbox as a + // message. + optional int64 gmail_saves = 218; + + // The number of clicks to the landing page on the expanded state of Gmail + // ads. + optional int64 gmail_secondary_clicks = 219; + + // The number of times a store's location-based ad was shown. + // This metric applies to feed items only. + optional int64 impressions_from_store_reach = 220; + + // Count of how often your ad has appeared on a search results page or + // website on the Google Network. + optional int64 impressions = 221; + + // How often people interact with your ad after it is shown to them. + // This is the number of interactions divided by the number of times your ad + // is shown. + optional double interaction_rate = 222; + + // The number of interactions. + // An interaction is the main user action associated with an ad format-clicks + // for text and shopping ads, views for video ads, and so on. + optional int64 interactions = 223; + + // The types of payable and free interactions. + repeated google.ads.googleads.v10.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; + + // The percentage of clicks filtered out of your total number of clicks + // (filtered + non-filtered clicks) during the reporting period. + optional double invalid_click_rate = 224; + + // Number of clicks Google considers illegitimate and doesn't charge you for. + optional int64 invalid_clicks = 225; + + // Number of message chats initiated for Click To Message impressions that + // were message tracking eligible. + optional int64 message_chats = 226; + + // Number of Click To Message impressions that were message tracking eligible. + optional int64 message_impressions = 227; + + // Number of message chats initiated (message_chats) divided by the number + // of message impressions (message_impressions). + // Rate at which a user initiates a message chat from an ad impression with + // a messaging option and message tracking enabled. + // Note that this rate can be more than 1.0 for a given message impression. + optional double message_chat_rate = 228; + + // The percentage of mobile clicks that go to a mobile-friendly page. + optional double mobile_friendly_clicks_percentage = 229; + + // Total optimization score uplift of all recommendations. + optional double optimization_score_uplift = 247; + + // URL for the optimization score page in the Google Ads web interface. + // This metric can be selected from `customer` or `campaign`, and can be + // segmented by `segments.recommendation_type`. For example, `SELECT + // metrics.optimization_score_url, segments.recommendation_type FROM + // customer` will return a URL for each unique (customer, recommendation_type) + // combination. + optional string optimization_score_url = 248; + + // The number of times someone clicked your site's listing in the unpaid + // results for a particular query. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_clicks = 230; + + // The number of times someone clicked your site's listing in the unpaid + // results (organic_clicks) divided by the total number of searches that + // returned pages from your site (organic_queries). See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_clicks_per_query = 231; + + // The number of listings for your site in the unpaid search results. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional int64 organic_impressions = 232; + + // The number of times a page from your site was listed in the unpaid search + // results (organic_impressions) divided by the number of searches returning + // your site's listing in the unpaid results (organic_queries). See the help + // page at https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_impressions_per_query = 233; + + // The total number of searches that returned your site's listing in the + // unpaid results. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_queries = 234; + + // Percentage of first-time sessions (from people who had never visited your + // site before). Imported from Google Analytics. + optional double percent_new_visitors = 235; + + // Number of offline phone calls. + optional int64 phone_calls = 236; + + // Number of offline phone impressions. + optional int64 phone_impressions = 237; + + // Number of phone calls received (phone_calls) divided by the number of + // times your phone number is shown (phone_impressions). + optional double phone_through_rate = 238; + + // Your clickthrough rate (Ctr) divided by the average clickthrough rate of + // all advertisers on the websites that show your ads. Measures how your ads + // perform on Display Network sites compared to other ads on the same sites. + optional double relative_ctr = 239; + + // The percentage of the customer's Shopping or Search ad impressions that are + // shown in the most prominent Shopping position. See + // https://support.google.com/google-ads/answer/7501826 + // for details. Any value below 0.1 is reported as 0.0999. + optional double search_absolute_top_impression_share = 136; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to a low budget. Note: Search + // budget lost absolute top impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_budget_lost_absolute_top_impression_share = 137; + + // The estimated percent of times that your ad was eligible to show on the + // Search Network but didn't because your budget was too low. Note: Search + // budget lost impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_impression_share = 138; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to a low budget. Note: Search + // budget lost top impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_top_impression_share = 139; + + // The number of clicks you've received on the Search Network + // divided by the estimated number of clicks you were eligible to receive. + // Note: Search click share is reported in the range of 0.1 to 1. Any value + // below 0.1 is reported as 0.0999. + optional double search_click_share = 140; + + // The impressions you've received divided by the estimated number of + // impressions you were eligible to receive on the Search Network for search + // terms that matched your keywords exactly (or were close variants of your + // keyword), regardless of your keyword match types. Note: Search exact match + // impression share is reported in the range of 0.1 to 1. Any value below 0.1 + // is reported as 0.0999. + optional double search_exact_match_impression_share = 141; + + // The impressions you've received on the Search Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Search impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_impression_share = 142; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost absolute top impression share is reported in the + // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_absolute_top_impression_share = 143; + + // The estimated percentage of impressions on the Search Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Search rank lost impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_impression_share = 144; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost top impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_top_impression_share = 145; + + // The impressions you've received in the top location (anywhere above the + // organic search results) compared to the estimated number of impressions you + // were eligible to receive in the top location. + // Note: Search top impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_top_impression_share = 146; + + // 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 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 (e.g., + // 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/offline_user_data.proto b/google-cloud/protos/google/ads/googleads/v10/common/offline_user_data.proto new file mode 100644 index 00000000..6d5fe9c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/offline_user_data.proto @@ -0,0 +1,295 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/user_identifier_source.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing offline user data. + +// Address identifier of offline data. +message OfflineUserAddressInfo { + // First name of the user, which is hashed as SHA-256 after normalized + // (Lowercase all characters; Remove any extra spaces before, after, and in + // between). + optional string hashed_first_name = 7; + + // Last name of the user, which is hashed as SHA-256 after normalized (lower + // case only and no punctuation). + optional string hashed_last_name = 8; + + // City of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string city = 9; + + // State code of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string state = 10; + + // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + optional string country_code = 11; + + // Postal code of the user's address. + optional string postal_code = 12; + + // The street address of the user hashed using SHA-256 hash function after + // normalization (lower case only). Only accepted for + // ConversionAdjustmentUploadService. + optional string hashed_street_address = 13; +} + +// User identifying information. +message UserIdentifier { + // Source of the user identifier when the upload is from Store Sales, + // ConversionUploadService, or ConversionAdjustmentUploadService. + google.ads.googleads.v10.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; + + // Exactly one must be specified. For OfflineUserDataJobService, Customer + // Match accepts hashed_email, hashed_phone_number, mobile_id, + // third_party_user_id, and address_info; Store Sales accepts hashed_email, + // hashed_phone_number, third_party_user_id, and address_info. + // ConversionUploadService accepts hashed_email and hashed_phone_number. + // ConversionAdjustmentUploadService accepts hashed_email, + // hashed_phone_number, and address_info. + oneof identifier { + // Hashed email address using SHA-256 hash function after normalization. + // Accepted for Customer Match, Store Sales, ConversionUploadService, and + // ConversionAdjustmentUploadService. + string hashed_email = 7; + + // Hashed phone number using SHA-256 hash function after normalization + // (E164 standard). Accepted for Customer Match, Store Sales, + // ConversionUploadService, and ConversionAdjustmentUploadService. + string hashed_phone_number = 8; + + // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. + string mobile_id = 9; + + // Advertiser-assigned user ID for Customer Match upload, or + // third-party-assigned user ID for Store Sales. Accepted only for Customer + // Match and Store Sales. + string third_party_user_id = 10; + + // Address information. Accepted only for Customer Match, Store Sales, and + // ConversionAdjustmentUploadService. + OfflineUserAddressInfo address_info = 5; + } +} + +// Attribute of the store sales transaction. +message TransactionAttribute { + // Timestamp when transaction occurred. Required. + // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + optional string transaction_date_time = 8; + + // Transaction amount in micros. Required. + // Transaction amount in micros needs to be greater than 1000. + // If item Attributes are provided, it represents the total value of the + // items, after multiplying the unit price per item by the quantity provided + // in the ItemAttributes. + optional double transaction_amount_micros = 9; + + // Transaction currency code. ISO 4217 three-letter code is used. Required. + optional string currency_code = 10; + + // The resource name of conversion action to report conversions to. + // Required. + optional string conversion_action = 11; + + // Transaction order id. + // Accessible only to customers on the allow-list. + optional string order_id = 12; + + // Store attributes of the transaction. + // Accessible only to customers on the allow-list. + StoreAttribute store_attribute = 6; + + // Value of the custom variable for each transaction. + // Accessible only to customers on the allow-list. + optional string custom_value = 13; + + // Item attributes of the transaction. + ItemAttribute item_attribute = 14; +} + +// Store attributes of the transaction. +message StoreAttribute { + // Store code from + // https://support.google.com/business/answer/3370250#storecode + optional string store_code = 2; +} + +// Item attributes of the transaction. +message ItemAttribute { + // A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). + string item_id = 1; + + // ID of the Merchant Center Account. + optional int64 merchant_id = 2; + + // Common Locale Data Repository (CLDR) territory code of the country + // associated with the feed where your items are uploaded. See + // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes + // for more information. + string country_code = 3; + + // ISO 639-1 code of the language associated with the feed where your items + // are uploaded + string language_code = 4; + + // The number of items sold. Defaults to 1 if not set. + int64 quantity = 5; +} + +// User data holding user identifiers and attributes. +message UserData { + // User identification info. Required. + repeated UserIdentifier user_identifiers = 1; + + // Additional transactions/attributes associated with the user. + // Required when updating store sales data. + TransactionAttribute transaction_attribute = 2; + + // Additional attributes associated with the user. Required when updating + // customer match attributes. These have an expiration of 540 days. + UserAttribute user_attribute = 3; +} + +// 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; +} + +// 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 (i.e., + // 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. Please 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/google-cloud/protos/google/ads/googleads/v10/common/policy.proto b/google-cloud/protos/google/ads/googleads/v10/common/policy.proto new file mode 100644 index 00000000..193a2515 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/policy.proto @@ -0,0 +1,219 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v10/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing policy information. + +// Key of the violation. The key is used for referring to a violation +// when filing an exemption request. +message PolicyViolationKey { + // Unique ID of the violated policy. + optional string policy_name = 3; + + // The text that violates the policy if specified. + // Otherwise, refers to the policy in general + // (e.g., 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, please 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 (e.g. alcohol policy associated with +// a site that sells alcohol). +// +// Each PolicyTopicEntry has a topic that indicates the specific ads policy +// the entry is about and a type to indicate the effect that the entry will have +// on serving. It may optionally have one or more evidences that indicate the +// reason for the finding. It may also optionally have one or more constraints +// that provide details about how serving may be restricted. +message PolicyTopicEntry { + // Policy topic this finding refers to. For example, "ALCOHOL", + // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible + // policy topics is not fixed for a particular API version and may change + // at any time. + optional string topic = 5; + + // Describes the negative or positive effect this policy will have on serving. + google.ads.googleads.v10.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; + + // Additional information that explains policy finding + // (e.g. the brand name for a trademark finding). + repeated PolicyTopicEvidence evidences = 3; + + // Indicates how serving of this resource may be affected (e.g. not serving + // in a country). + repeated PolicyTopicConstraint constraints = 4; +} + +// Additional information that explains a policy finding. +message PolicyTopicEvidence { + // A list of fragments of text that violated a policy. + message TextList { + // The fragments of text from the resource that caused the policy finding. + repeated string texts = 2; + } + + // A list of websites that caused a policy finding. Used for + // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more + // than five websites, only the top five (those that appear in resources the + // most) will be listed here. + message WebsiteList { + // Websites that caused the policy finding. + repeated string websites = 2; + } + + // A list of strings found in a destination page that caused a policy + // finding. + message DestinationTextList { + // List of text found in the resource's destination page. + repeated string destination_texts = 2; + } + + // Evidence of mismatches between the URLs of a resource. + message DestinationMismatch { + // The set of URLs that did not match each other. + repeated google.ads.googleads.v10.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; + } + + // Evidence details when the destination is returning an HTTP error + // code or isn't functional in all locations for commonly used devices. + message DestinationNotWorking { + // The full URL that didn't work. + optional string expanded_url = 7; + + // The type of device that failed to load the URL. + google.ads.googleads.v10.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; + + // The time the URL was last checked. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string last_checked_date_time = 8; + + // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. + oneof reason { + // The type of DNS error. + google.ads.googleads.v10.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; + + // The HTTP error code. + int64 http_error_code = 6; + } + } + + // Specific evidence information depending on the evidence type. + oneof value { + // List of websites linked with this resource. + WebsiteList website_list = 3; + + // List of evidence found in the text of a resource. + TextList text_list = 4; + + // The language the resource was detected to be written in. + // This is an IETF language tag such as "en-US". + string language_code = 9; + + // The text in the destination of the resource that is causing a policy + // finding. + DestinationTextList destination_text_list = 6; + + // Mismatch between the destinations of a resource's URLs. + DestinationMismatch destination_mismatch = 7; + + // Details when the destination is returning an HTTP error code or isn't + // functional in all locations for commonly used devices. + DestinationNotWorking destination_not_working = 8; + } +} + +// Describes the effect on serving that a policy topic entry will have. +message PolicyTopicConstraint { + // A list of countries where a resource's serving is constrained. + message CountryConstraintList { + // Total number of countries targeted by the resource. + optional int32 total_targeted_countries = 3; + + // Countries in which serving is restricted. + repeated CountryConstraint countries = 2; + } + + // Indicates that a policy topic was constrained due to disapproval of the + // website for reseller purposes. + message ResellerConstraint { + + } + + // Indicates that a resource's ability to serve in a particular country is + // constrained. + message CountryConstraint { + // Geo target constant resource name of the country in which serving is + // constrained. + optional string country_criterion = 2; + } + + // Specific information about the constraint. + oneof value { + // Countries where the resource cannot serve. + CountryConstraintList country_constraint_list = 1; + + // Reseller constraint. + ResellerConstraint reseller_constraint = 2; + + // Countries where a certificate is required for serving. + CountryConstraintList certificate_missing_in_country_list = 3; + + // Countries where the resource's domain is not covered by the + // certificates associated with it. + CountryConstraintList certificate_domain_mismatch_in_country_list = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/policy_summary.proto b/google-cloud/protos/google/ads/googleads/v10/common/policy_summary.proto new file mode 100644 index 00000000..a496cac3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/policy_summary.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing policy summary. + +// Contains policy summary information. +message PolicySummary { + // The list of policy findings. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process the resource is. + google.ads.googleads.v10.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.v10.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v10/common/real_time_bidding_setting.proto new file mode 100644 index 00000000..7d4ce91a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/real_time_bidding_setting.proto @@ -0,0 +1,35 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing RealTimeBiddingSetting + +// Settings for Real-Time Bidding, a feature only available for campaigns +// targeting the Ad Exchange network. +message RealTimeBiddingSetting { + // Whether the campaign is opted in to real-time bidding. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/segments.proto b/google-cloud/protos/google/ads/googleads/v10/common/segments.proto new file mode 100644 index 00000000..fc30c4ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/segments.proto @@ -0,0 +1,392 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/ad_destination_type.proto"; +import "google/ads/googleads/v10/enums/ad_network_type.proto"; +import "google/ads/googleads/v10/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v10/enums/click_type.proto"; +import "google/ads/googleads/v10/enums/conversion_action_category.proto"; +import "google/ads/googleads/v10/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v10/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v10/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v10/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v10/enums/day_of_week.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/external_conversion_source.proto"; +import "google/ads/googleads/v10/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v10/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v10/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v10/enums/month_of_year.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/ads/googleads/v10/enums/product_channel.proto"; +import "google/ads/googleads/v10/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v10/enums/product_condition.proto"; +import "google/ads/googleads/v10/enums/recommendation_type.proto"; +import "google/ads/googleads/v10/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v10/enums/search_term_match_type.proto"; +import "google/ads/googleads/v10/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v10/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v10/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v10/enums/slot.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Ad Destination type. + google.ads.googleads.v10.enums.AdDestinationTypeEnum.AdDestinationType ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v10.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3; + + // Budget campaign association status. + BudgetCampaignAssociationStatus budget_campaign_association_status = 134; + + // Click type. + google.ads.googleads.v10.enums.ClickTypeEnum.ClickType click_type = 26; + + // Resource name of the conversion action. + optional string conversion_action = 113; + + // Conversion action category. + google.ads.googleads.v10.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 vs. 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.v10.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.v10.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.v10.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; + + // Date to which metrics apply. + // yyyy-MM-dd format, e.g., 2018-04-17. + optional string date = 79; + + // Day of the week, e.g., MONDAY. + google.ads.googleads.v10.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v10.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v10.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.v10.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.v10.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.v10.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v10.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, e.g., January. + google.ads.googleads.v10.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.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; + + // 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. + google.ads.googleads.v10.enums.ProductChannelEnum.ProductChannel product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v10.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v10.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; + + // 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, e.g., the second quarter of 2018 + // starts on 2018-04-01. Formatted as yyyy-MM-dd. + optional string quarter = 128; + + // Recommendation type. + google.ads.googleads.v10.enums.RecommendationTypeEnum.RecommendationType recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v10.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70; + + // Match type of the keyword that triggered the ad, including variants. + google.ads.googleads.v10.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v10.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.v10.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, e.g. non-iOS campaign. + optional int64 sk_ad_network_conversion_value = 137; + + // iOS Store Kit Ad Network user type. + google.ads.googleads.v10.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v10.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, e.g. 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.v10.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; + + // 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 (e.g. clicks) are counted across all the parts of the served + // ad (e.g. 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; +} + +// 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.v10.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/google-cloud/protos/google/ads/googleads/v10/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v10/common/simulation.proto new file mode 100644 index 00000000..fbb3f259 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/simulation.proto @@ -0,0 +1,356 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing simulation points. + +// A container for simulation points for simulations of type BID_MODIFIER. +message BidModifierSimulationPointList { + // Projected metrics for a series of bid modifier amounts. + repeated BidModifierSimulationPoint points = 1; +} + +// 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 bid modifier amount. +message BidModifierSimulationPoint { + // The simulated bid modifier upon which projected metrics are based. + optional double bid_modifier = 15; + + // Projected number of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions = 16; + + // Projected total value of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions_value = 17; + + // Projected number of clicks. + optional int64 clicks = 18; + + // Projected cost in micros. + optional int64 cost_micros = 19; + + // Projected number of impressions. + optional int64 impressions = 20; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 21; + + // Projected number of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions = 22; + + // Projected total value of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions_value = 23; + + // Projected number of clicks for the parent resource. + optional int64 parent_clicks = 24; + + // Projected cost in micros for the parent resource. + optional int64 parent_cost_micros = 25; + + // Projected number of impressions for the parent resource. + optional int64 parent_impressions = 26; + + // Projected number of top slot impressions for the parent resource. + // Only search advertising channel type supports this field. + optional int64 parent_top_slot_impressions = 27; + + // Projected minimum daily budget that must be available to the parent + // resource to realize this simulation. + optional int64 parent_required_budget_micros = 28; +} + +// 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. + // E.g. 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/google-cloud/protos/google/ads/googleads/v10/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v10/common/tag_snippet.proto new file mode 100644 index 00000000..b8063f75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/tag_snippet.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v10/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing TagSnippet + +// The site tag and event snippet pair for a TrackingCodeType. +message TagSnippet { + // The type of the generated tag snippets for tracking conversions. + google.ads.googleads.v10.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1; + + // The format of the web page where the tracking tag and snippet will be + // installed, e.g. HTML. + google.ads.googleads.v10.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2; + + // The site tag that adds visitors to your basic remarketing lists and sets + // new cookies on your domain. + optional string global_site_tag = 5; + + // The event snippet that works with the site tag to track actions that + // should be counted as conversions. + optional string event_snippet = 6; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v10/common/targeting_setting.proto new file mode 100644 index 00000000..bd7dc471 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/targeting_setting.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing TargetingSetting + +// Settings for the targeting-related features, at the campaign and ad group +// levels. For more details about the targeting setting, visit +// https://support.google.com/google-ads/answer/7365594 +message TargetingSetting { + // The per-targeting-dimension setting to restrict the reach of your campaign + // or ad group. + repeated TargetRestriction target_restrictions = 1; + + // The list of operations changing the target restrictions. + // + // Adding a target restriction with a targeting dimension that already exists + // causes the existing target restriction to be replaced with the new value. + repeated TargetRestrictionOperation target_restriction_operations = 2; +} + +// The list of per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.googleads.v10.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; + + // Indicates whether to restrict your ads to show only for the criteria you + // have selected for this targeting_dimension, or to target all values for + // this targeting_dimension and show ads based on your targeting in other + // TargetingDimensions. A value of `true` means that these criteria will only + // apply bid modifiers, and not affect targeting. A value of `false` means + // that these criteria will restrict targeting as well as applying bid + // modifiers. + optional bool bid_only = 3; +} + +// Operation to be performed on a target restriction list in a mutate. +message TargetRestrictionOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the restriction to the existing restrictions. + ADD = 2; + + // Remove the restriction from the existing restrictions. + REMOVE = 3; + } + + // Type of list operation to perform. + Operator operator = 1; + + // The target restriction being added to or removed from the list. + TargetRestriction value = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v10/common/text_label.proto new file mode 100644 index 00000000..bea75462 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/text_label.proto @@ -0,0 +1,38 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v10/common/url_collection.proto new file mode 100644 index 00000000..37c8feee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/url_collection.proto @@ -0,0 +1,43 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file UrlCollection type. + +// Collection of urls that is tagged with a unique identifier. +message UrlCollection { + // Unique identifier for this UrlCollection instance. + optional string url_collection_id = 5; + + // A list of possible final URLs. + repeated string final_urls = 6; + + // A list of possible final mobile URLs. + repeated string final_mobile_urls = 7; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v10/common/user_lists.proto new file mode 100644 index 00000000..56db4cf3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/user_lists.proto @@ -0,0 +1,290 @@ +// 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.ads.googleads.v10.common; + +import "google/ads/googleads/v10/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v10/enums/user_list_combined_rule_operator.proto"; +import "google/ads/googleads/v10/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v10/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v10/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v10/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v10/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v10/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v10/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// 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 (e.g., "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 + // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link + // https://play.google.com/store/apps/details?id=com.labpixies.colordrips). + // Required when creating CrmBasedUserList for uploading mobile advertising + // IDs. + optional string app_id = 4; + + // Matching key type of the list. + // Mixed data types are not allowed on the same list. + // This field is required for an ADD operation. + google.ads.googleads.v10.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.v10.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; +} + +// A client defined rule based on custom parameters sent by web sites or +// uploaded by the advertiser. +message UserListRuleInfo { + // Rule type is used to determine how to group rule items. + // + // The default is OR of ANDs (disjunctive normal form). + // That is, rule items will be ANDed together within rule item groups and the + // groups themselves will be ORed together. + // + // Currently AND of ORs (conjunctive normal form) is only supported for + // ExpressionRuleUserList. + google.ads.googleads.v10.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; + + // List of rule item groups that defines this rule. + // Rule item groups are grouped together based on rule_type. + repeated UserListRuleItemGroupInfo rule_item_groups = 2; +} + +// A group of rule items. +message UserListRuleItemGroupInfo { + // Rule items that will be grouped together based on rule_type. + repeated UserListRuleItemInfo rule_items = 1; +} + +// An atomic rule item. +message UserListRuleItemInfo { + // Rule variable name. It should match the corresponding key name fired + // by the pixel. + // A name must begin with US-ascii letters or underscore or UTF8 code that is + // greater than 127 and consist of US-ascii letters or digits or underscore or + // UTF8 code that is greater than 127. + // For websites, there are two built-in variable URL (name = 'url__') and + // referrer URL (name = 'ref_url__'). + // This field must be populated when creating a new rule item. + optional string name = 5; + + // An atomic rule item. + oneof rule_item { + // An atomic rule item composed of a number operation. + UserListNumberRuleItemInfo number_rule_item = 2; + + // An atomic rule item composed of a string operation. + UserListStringRuleItemInfo string_rule_item = 3; + + // An atomic rule item composed of a date operation. + UserListDateRuleItemInfo date_rule_item = 4; + } +} + +// A rule item composed of a date operation. +message UserListDateRuleItemInfo { + // Date comparison operator. + // This field is required and must be populated when creating new date + // rule item. + google.ads.googleads.v10.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; + + // String representing date value to be compared with the rule variable. + // Supported date format is YYYY-MM-DD. + // Times are reported in the customer's time zone. + optional string value = 4; + + // The relative date value of the right hand side denoted by number of days + // offset from now. The value field will override this field when both are + // present. + optional int64 offset_in_days = 5; +} + +// A rule item composed of a number operation. +message UserListNumberRuleItemInfo { + // Number comparison operator. + // This field is required and must be populated when creating a new number + // rule item. + google.ads.googleads.v10.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; + + // Number value to be compared with the variable. + // This field is required and must be populated when creating a new number + // rule item. + optional double value = 3; +} + +// A rule item composed of a string operation. +message UserListStringRuleItemInfo { + // String comparison operator. + // This field is required and must be populated when creating a new string + // rule item. + google.ads.googleads.v10.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; + + // The right hand side of the string rule item. For URLs or referrer URLs, + // the value can not contain illegal URL chars such as newlines, quotes, + // tabs, or parentheses. This field is required and must be populated when + // creating a new string rule item. + optional string value = 3; +} + +// 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.v10.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3; +} + +// Visitors of a page during specific dates. +message DateSpecificRuleUserListInfo { + // Boolean rule that defines visitor of a page. + // + // Required for creating a date specific rule user list. + UserListRuleInfo rule = 1; + + // Start date of users visit. If set to 2000-01-01, then the list includes all + // users before end_date. The date's format should be YYYY-MM-DD. + // + // Required for creating a data specific rule user list. + optional string start_date = 4; + + // Last date of users visit. If set to 2037-12-30, then the list includes all + // users after start_date. The date's format should be YYYY-MM-DD. + // + // Required for creating a data specific rule user list. + optional string end_date = 5; +} + +// Visitors of a page. The page visit is defined by one boolean rule expression. +message ExpressionRuleUserListInfo { + // Boolean rule that defines this user list. The rule consists of a list of + // rule item groups and each rule item group consists of a list of rule items. + // All the rule item groups are ORed or ANDed together for evaluation based on + // rule.rule_type. + // + // Required for creating an expression rule user list. + UserListRuleInfo rule = 1; +} + +// Representation of a userlist that is generated by a rule. +message RuleBasedUserListInfo { + // The status of pre-population. The field is default to NONE if not set which + // means the previous users will not be considered. If set to REQUESTED, past + // site visitors or app users who match the list definition will be included + // in the list (works on the Display Network only). This will only + // add past users from within the last 30 days, depending on the + // list's membership duration and the date when the remarketing tag is added. + // The status will be updated to FINISHED once request is processed, or FAILED + // if the request fails. + google.ads.googleads.v10.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1; + + // 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 during specific dates. The visiting periods are + // defined as follows: + // Between start_date (inclusive) and end_date (inclusive); + // Before end_date (exclusive) with start_date = 2000-01-01; + // After start_date (exclusive) with end_date = 2037-12-30. + DateSpecificRuleUserListInfo date_specific_rule_user_list = 3; + + // Visitors of a page. The page visit is defined by one boolean rule + // expression. + ExpressionRuleUserListInfo expression_rule_user_list = 4; + } +} + +// Represents a user list that is a custom combination of user lists. +message LogicalUserListInfo { + // Logical list rules that define this user list. The rules are defined as a + // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are + // ANDed when they are evaluated. + // + // Required for creating a logical user list. + repeated UserListLogicalRuleInfo rules = 1; +} + +// A user list logical rule. A rule has a logical operator (and/or/not) and a +// list of user lists as operands. +message UserListLogicalRuleInfo { + // The logical operator of the rule. + google.ads.googleads.v10.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; + + // The list of operands of the rule. + repeated LogicalUserListOperandInfo rule_operands = 2; +} + +// Operand of logical user list that consists of a user list. +message LogicalUserListOperandInfo { + // Resource name of a user list as an operand. + optional string user_list = 2; +} + +// User list targeting as a collection of conversions or remarketing actions. +message BasicUserListInfo { + // Actions associated with this user list. + repeated UserListActionInfo actions = 1; +} + +// Represents an action type used for building remarketing user lists. +message UserListActionInfo { + // Subtypes of user list action. + oneof user_list_action { + // A conversion action that's not generated from remarketing. + string conversion_action = 3; + + // A remarketing action. + string remarketing_action = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/common/value.proto b/google-cloud/protos/google/ads/googleads/v10/common/value.proto new file mode 100644 index 00000000..a141fc27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/common/value.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v10.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V10::Common"; + +// Proto file describing value types. + +// A generic data container. +message Value { + // A value. + oneof value { + // A boolean. + bool boolean_value = 1; + + // An int64. + int64 int64_value = 2; + + // A float. + float float_value = 3; + + // A double. + double double_value = 4; + + // A string. + string string_value = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/enums/BUILD.bazel new file mode 100644 index 00000000..01a51ee0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/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/google-cloud/protos/google/ads/googleads/v10/enums/access_invitation_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/access_invitation_status.proto new file mode 100644 index 00000000..65533f17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/access_invitation_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing AccessInvitationStatus enum. + +// Container for enum for identifying the status of access invitation +message AccessInvitationStatusEnum { + // Possible access invitation status of a user + enum AccessInvitationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The initial state of an invitation, before being acted upon by anyone. + PENDING = 2; + + // Invitation process was terminated by the email recipient. No new user was + // created. + DECLINED = 3; + + // Invitation URLs expired without being acted upon. No new user can be + // created. Invitations expire 20 days after creation. + EXPIRED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v10/enums/access_reason.proto new file mode 100644 index 00000000..6c1420d4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/access_reason.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Indicates the way the resource such as user list is related to a user. +message AccessReasonEnum { + // Enum describing possible access reasons. + enum AccessReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The resource is owned by the user. + OWNED = 2; + + // The resource is shared to the user. + SHARED = 3; + + // The resource is licensed to the user. + LICENSED = 4; + + // The user subscribed to the resource. + SUBSCRIBED = 5; + + // The resource is accessible to the user. + AFFILIATED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/access_role.proto b/google-cloud/protos/google/ads/googleads/v10/enums/access_role.proto new file mode 100644 index 00000000..9eefaa97 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/access_role.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing possible access role for user. +message AccessRoleEnum { + // Possible access role of a user. + enum AccessRole { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Owns its account and can control the addition of other users. + ADMIN = 2; + + // Can modify campaigns, but can't affect other users. + STANDARD = 3; + + // Can view campaigns and account changes, but cannot make edits. + READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_status.proto new file mode 100644 index 00000000..e548db4b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing AccountBudgetProposal statuses. + +// Message describing AccountBudgetProposal statuses. +message AccountBudgetProposalStatusEnum { + // The possible statuses of an AccountBudgetProposal. + enum AccountBudgetProposalStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The proposal is pending approval. + PENDING = 2; + + // The proposal has been approved but the corresponding billing setup + // has not. This can occur for proposals that set up the first budget + // when signing up for billing or when performing a change of bill-to + // operation. + APPROVED_HELD = 3; + + // The proposal has been approved. + APPROVED = 4; + + // The proposal has been cancelled by the user. + CANCELLED = 5; + + // The proposal has been rejected by the user, e.g. by rejecting an + // acceptance email. + REJECTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_type.proto new file mode 100644 index 00000000..acce9805 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_proposal_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing AccountBudgetProposal types. + +// Message describing AccountBudgetProposal types. +message AccountBudgetProposalTypeEnum { + // The possible types of an AccountBudgetProposal. + enum AccountBudgetProposalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Identifies a request to create a new budget. + CREATE = 2; + + // Identifies a request to edit an existing budget. + UPDATE = 3; + + // Identifies a request to end a budget that has already started. + END = 4; + + // Identifies a request to remove a budget that hasn't started yet. + REMOVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_status.proto new file mode 100644 index 00000000..81cc346b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/account_budget_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing AccountBudget statuses. + +// Message describing AccountBudget statuses. +message AccountBudgetStatusEnum { + // The possible statuses of an AccountBudget. + enum AccountBudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The account budget is pending approval. + PENDING = 2; + + // The account budget has been approved. + APPROVED = 3; + + // The account budget has been cancelled by the user. + CANCELLED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/account_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/account_link_status.proto new file mode 100644 index 00000000..78b8dc17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/account_link_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing possible statuses of an account link. +message AccountLinkStatusEnum { + // Describes the possible statuses for a link between a Google Ads customer + // and another account. + enum AccountLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The link is enabled. + ENABLED = 2; + + // The link is removed/disabled. + REMOVED = 3; + + // The link to the other account has been requested. A user on the other + // account may now approve the link by setting the status to ENABLED. + REQUESTED = 4; + + // This link has been requested by a user on the other account. It may be + // approved by a user on this account by setting the status to ENABLED. + PENDING_APPROVAL = 5; + + // The link is rejected by the approver. + REJECTED = 6; + + // The link is revoked by the user who requested the link. + REVOKED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 00000000..991565fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Ad Customizer placeholder fields. + +// Values for Ad Customizer placeholder fields. +message AdCustomizerPlaceholderFieldEnum { + // Possible values for Ad Customizers placeholder fields. + enum AdCustomizerPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. Integer value to be inserted. + INTEGER = 2; + + // Data Type: STRING. Price value to be inserted. + PRICE = 3; + + // Data Type: DATE_TIME. Date value to be inserted. + DATE = 4; + + // Data Type: STRING. String value to be inserted. + STRING = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_destination_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_destination_type.proto new file mode 100644 index 00000000..3d30e9ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_destination_type.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad destination types. + +// Container for enumeration of Google Ads destination types. +message AdDestinationTypeEnum { + // Enumerates Google Ads destination types + enum AdDestinationType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Ads that don't intend to drive users off from ads to other destinations + NOT_APPLICABLE = 2; + + // Website + WEBSITE = 3; + + // App Deep Link + APP_DEEP_LINK = 4; + + // iOS App Store or Play Store + APP_STORE = 5; + + // Call Dialer + PHONE_CALL = 6; + + // Map App + MAP_DIRECTIONS = 7; + + // Location Dedicated Page + LOCATION_LISTING = 8; + + // Text Message + MESSAGE = 9; + + // Lead Generation Form + LEAD_FORM = 10; + + // YouTube + YOUTUBE = 11; + + // Ad Destination for Conversions with keys unknown + UNMODELED_FOR_CONVERSIONS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 00000000..ed10c892 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad group ad rotation mode. + +// Container for enum describing possible ad rotation modes of ads within an +// ad group. +message AdGroupAdRotationModeEnum { + // The possible ad rotation modes of an ad group. + enum AdGroupAdRotationMode { + // The ad rotation mode has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Optimize ad group ads based on clicks or conversions. + OPTIMIZE = 2; + + // Rotate evenly forever. + ROTATE_FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_status.proto new file mode 100644 index 00000000..32e49628 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_ad_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 00000000..a93ce1f4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible AdGroupCriterion approval statuses. +message AdGroupCriterionApprovalStatusEnum { + // Enumerates AdGroupCriterion approval statuses. + enum AdGroupCriterionApprovalStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Approved. + APPROVED = 2; + + // Disapproved. + DISAPPROVED = 3; + + // Pending Review. + PENDING_REVIEW = 4; + + // Under review. + UNDER_REVIEW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_status.proto new file mode 100644 index 00000000..fff8f004 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing AdGroupCriterion statuses. + +// Message describing AdGroupCriterion statuses. +message AdGroupCriterionStatusEnum { + // The possible statuses of an AdGroupCriterion. + enum AdGroupCriterionStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group criterion is enabled. + ENABLED = 2; + + // The ad group criterion is paused. + PAUSED = 3; + + // The ad group criterion is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_status.proto new file mode 100644 index 00000000..159a27f4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad group status. + +// Container for enum describing possible statuses of an ad group. +message AdGroupStatusEnum { + // The possible statuses of an ad group. + enum AdGroupStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group is enabled. + ENABLED = 2; + + // The ad group is paused. + PAUSED = 3; + + // The ad group is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_type.proto new file mode 100644 index 00000000..1105e54b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_group_type.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad group types. + +// Defines types of an ad group, specific to a particular campaign channel +// type. This type drives validations that restrict which entities can be +// added to the ad group. +message AdGroupTypeEnum { + // Enum listing the possible types of an ad group. + enum AdGroupType { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The default ad group type for Search campaigns. + SEARCH_STANDARD = 2; + + // The default ad group type for Display campaigns. + DISPLAY_STANDARD = 3; + + // The ad group type for Shopping campaigns serving standard product ads. + SHOPPING_PRODUCT_ADS = 4; + + // The default ad group type for Hotel campaigns. + HOTEL_ADS = 6; + + // The type for ad groups in Smart Shopping campaigns. + SHOPPING_SMART_ADS = 7; + + // Short unskippable in-stream video ads. + VIDEO_BUMPER = 8; + + // TrueView (skippable) in-stream video ads. + VIDEO_TRUE_VIEW_IN_STREAM = 9; + + // TrueView in-display video ads. + VIDEO_TRUE_VIEW_IN_DISPLAY = 10; + + // Unskippable in-stream video ads. + VIDEO_NON_SKIPPABLE_IN_STREAM = 11; + + // Outstream video ads. + VIDEO_OUTSTREAM = 12; + + // Ad group type for Dynamic Search Ads ad groups. + SEARCH_DYNAMIC_ADS = 13; + + // The type for ad groups in Shopping Comparison Listing campaigns. + SHOPPING_COMPARISON_LISTING_ADS = 14; + + // The ad group type for Promoted Hotel ad groups. + PROMOTED_HOTEL_ADS = 15; + + // Video responsive ad groups. + VIDEO_RESPONSIVE = 16; + + // Video efficient reach ad groups. + VIDEO_EFFICIENT_REACH = 17; + + // Ad group type for Smart campaigns. + SMART_CAMPAIGN_ADS = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_network_type.proto new file mode 100644 index 00000000..69d81191 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_network_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_serving_optimization_status.proto new file mode 100644 index 00000000..b00eb942 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_serving_optimization_status.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad serving statuses. + +// Possible ad serving statuses of a campaign. +message AdServingOptimizationStatusEnum { + // Enum describing possible serving statuses. + enum AdServingOptimizationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Ad serving is optimized based on CTR for the campaign. + OPTIMIZE = 2; + + // Ad serving is optimized based on CTR * Conversion for the campaign. If + // the campaign is not in the conversion optimizer bidding strategy, it will + // default to OPTIMIZED. + CONVERSION_OPTIMIZE = 3; + + // Ads are rotated evenly for 90 days, then optimized for clicks. + ROTATE = 4; + + // Show lower performing ads more evenly with higher performing ads, and do + // not optimize. + ROTATE_INDEFINITELY = 5; + + // Ad serving optimization status is not available. + UNAVAILABLE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_strength.proto new file mode 100644 index 00000000..ca879ebe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_strength.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/ad_type.proto new file mode 100644 index 00000000..02c7b429 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/ad_type.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the ad type. + +// Container for enum describing possible types of an ad. +message AdTypeEnum { + // The possible types of an ad. + enum AdType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad is a text ad. + TEXT_AD = 2; + + // The ad is an expanded text ad. + EXPANDED_TEXT_AD = 3; + + // The ad is an expanded dynamic search ad. + EXPANDED_DYNAMIC_SEARCH_AD = 7; + + // The ad is a hotel ad. + HOTEL_AD = 8; + + // The ad is a Smart Shopping ad. + SHOPPING_SMART_AD = 9; + + // The ad is a standard Shopping ad. + SHOPPING_PRODUCT_AD = 10; + + // The ad is a video ad. + VIDEO_AD = 12; + + // This ad is 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-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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_sub_type.proto new file mode 100644 index 00000000..5b4bac1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_sub_type.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing advertising channel subtypes. + +// An immutable specialization of an Advertising Channel. +message AdvertisingChannelSubTypeEnum { + // Enum describing the different channel subtypes. + enum AdvertisingChannelSubType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile app campaigns for Search. + SEARCH_MOBILE_APP = 2; + + // Mobile app campaigns for Display. + DISPLAY_MOBILE_APP = 3; + + // AdWords express campaigns for search. + SEARCH_EXPRESS = 4; + + // AdWords Express campaigns for display. + DISPLAY_EXPRESS = 5; + + // Smart Shopping campaigns. + SHOPPING_SMART_ADS = 6; + + // Gmail Ad campaigns. + DISPLAY_GMAIL_AD = 7; + + // Smart display campaigns. + 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 allows you to 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_type.proto new file mode 100644 index 00000000..b3ca13ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/advertising_channel_type.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing advertising channel types + +// The channel type a campaign may target to serve on. +message AdvertisingChannelTypeEnum { + // Enum describing the various advertising channel types. + enum AdvertisingChannelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search Network. Includes display bundled, and Search+ campaigns. + SEARCH = 2; + + // Google Display Network only. + DISPLAY = 3; + + // Shopping campaigns serve on the shopping property + // and on google.com search results. + SHOPPING = 4; + + // Hotel Ads campaigns. + HOTEL = 5; + + // Video campaigns. + VIDEO = 6; + + // App Campaigns, and App Campaigns for Engagement, that run + // across multiple channels. + MULTI_CHANNEL = 7; + + // Local ads campaigns. + LOCAL = 8; + + // Smart campaigns. + SMART = 9; + + // Performance Max campaigns. + PERFORMANCE_MAX = 10; + + // Local services campaigns. + LOCAL_SERVICES = 11; + + // Discovery campaigns. + DISCOVERY = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 00000000..770becea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing relation type for affiliate location feeds. + +// Container for enum describing possible values for a relationship type for +// an affiliate location feed. +message AffiliateLocationFeedRelationshipTypeEnum { + // Possible values for a relationship type for an affiliate location feed. + enum AffiliateLocationFeedRelationshipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // General retailer relationship. + GENERAL_RETAILER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 00000000..03219d50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Affiliate Location placeholder fields. + +// Values for Affiliate Location placeholder fields. +message AffiliateLocationPlaceholderFieldEnum { + // Possible values for Affiliate Location placeholder fields. + enum AffiliateLocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + + // Data Type: STRING. Language code of the business. + LANGUAGE_CODE = 10; + + // Data Type: INT64. ID of the chain. + CHAIN_ID = 11; + + // Data Type: STRING. Name of the chain. + CHAIN_NAME = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/age_range_type.proto new file mode 100644 index 00000000..5d1444b8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/age_range_type.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing age range types. + +// Container for enum describing the type of demographic age ranges. +message AgeRangeTypeEnum { + // The type of demographic age ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_app_store.proto new file mode 100644 index 00000000..595ede59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing App Campaign app store. + +// The application store that distributes mobile applications. +message AppCampaignAppStoreEnum { + // Enum describing app campaign app store. + enum AppCampaignAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple app store. + APPLE_APP_STORE = 2; + + // Google play. + GOOGLE_APP_STORE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 00000000..b33287e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing App Campaign bidding strategy goal types. + +// Container for enum describing goal towards which the bidding strategy of an +// app campaign should optimize for. +message AppCampaignBiddingStrategyGoalTypeEnum { + // Goal type of App campaign BiddingStrategy. + enum AppCampaignBiddingStrategyGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Aim to maximize the number of app installs. The cpa bid is the + // target cost per install. + OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per install. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per in-app conversion. Note + // that the actual cpa may seem higher than the target cpa at first, since + // the long term conversions haven't happened yet. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; + + // Aim to maximize all conversions' value, i.e. 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/google-cloud/protos/google/ads/googleads/v10/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_payment_model_type.proto new file mode 100644 index 00000000..4e54fb83 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_payment_model_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing criteria types. + +// Represents a criterion for targeting paid apps. +message AppPaymentModelTypeEnum { + // Enum describing possible app payment models. + enum AppPaymentModelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents paid-for apps. + PAID = 30; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_placeholder_field.proto new file mode 100644 index 00000000..e8dcd3d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_placeholder_field.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing App placeholder fields. + +// Values for App placeholder fields. +message AppPlaceholderFieldEnum { + // Possible values for App placeholder fields. + enum AppPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The application store that the target application + // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play + // Store. + STORE = 2; + + // Data Type: STRING. The store-specific ID for the target application. + ID = 3; + + // Data Type: STRING. The visible text displayed when the link is rendered + // in an ad. + LINK_TEXT = 4; + + // Data Type: STRING. The destination URL of the in-app link. + URL = 5; + + // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded + // URLs. + FINAL_URLS = 6; + + // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 7; + + // Data Type: URL. Tracking template for the in-app link when using Upgraded + // URLs. + TRACKING_URL = 8; + + // Data Type: STRING. Final URL suffix for the in-app link when using + // parallel tracking. + FINAL_URL_SUFFIX = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_store.proto new file mode 100644 index 00000000..86fc3555 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing app store types for an app extension. + +// Container for enum describing app store type in an app extension. +message AppStoreEnum { + // App store type in an app extension. + enum AppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_ITUNES = 2; + + // Google Play. + GOOGLE_PLAY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/app_url_operating_system_type.proto new file mode 100644 index 00000000..cce44ae3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/app_url_operating_system_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing operating system for a deeplink app URL. + +// The possible OS types for a deeplink AppUrl. +message AppUrlOperatingSystemTypeEnum { + // Operating System + enum AppUrlOperatingSystemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Apple IOS operating system. + IOS = 2; + + // The Android operating system. + ANDROID = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_field_type.proto new file mode 100644 index 00000000..60278140 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_field_type.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing asset type. + +// Container for enum describing the possible placements of an asset. +message AssetFieldTypeEnum { + // Enum describing the possible placements of an asset. + enum AssetFieldType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is linked for use as a headline. + HEADLINE = 2; + + // The asset is linked for use as a description. + DESCRIPTION = 3; + + // The asset is linked for use as mandatory ad text. + MANDATORY_AD_TEXT = 4; + + // The asset is linked for use as a marketing image. + MARKETING_IMAGE = 5; + + // The asset is linked for use as a media bundle. + MEDIA_BUNDLE = 6; + + // The asset is linked for use as a YouTube video. + YOUTUBE_VIDEO = 7; + + // The asset is linked to indicate that a hotels campaign is "Book on + // Google" enabled. + BOOK_ON_GOOGLE = 8; + + // The asset is linked for use as a Lead Form extension. + LEAD_FORM = 9; + + // The asset is linked for use as a Promotion extension. + PROMOTION = 10; + + // The asset is linked for use as a Callout extension. + CALLOUT = 11; + + // The asset is linked for use as a Structured Snippet extension. + STRUCTURED_SNIPPET = 12; + + // The asset is linked for use as a Sitelink extension. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/asset_group_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_group_status.proto new file mode 100644 index 00000000..f973d6cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_group_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/asset_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_link_status.proto new file mode 100644 index 00000000..21459003 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/asset_performance_label.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_performance_label.proto new file mode 100644 index 00000000..0518a051 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_performance_label.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the performance label of an asset. + +// Container for enum describing the performance label of an asset. +message AssetPerformanceLabelEnum { + // Enum describing the possible performance labels of an asset, usually + // computed in the context of a linkage. + enum AssetPerformanceLabel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This asset does not yet have any performance informantion. This may be + // because it is still under review. + PENDING = 2; + + // The asset has started getting impressions but the stats are not + // statistically significant enough to get an asset performance label. + LEARNING = 3; + + // Worst performing assets. + LOW = 4; + + // Good performing assets. + GOOD = 5; + + // Best performing assets. + BEST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_asset_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_asset_status.proto new file mode 100644 index 00000000..314d8232 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_asset_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_link_status.proto new file mode 100644 index 00000000..e1ad1f3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_link_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 he 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/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_status.proto new file mode 100644 index 00000000..fb367168 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of an asset set. +message AssetSetStatusEnum { + // The possible statuses of an asset set. + enum AssetSetStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The asset set is enabled. + ENABLED = 2; + + // The asset set is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_type.proto new file mode 100644 index 00000000..9528e760 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_set_type.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/asset_type.proto new file mode 100644 index 00000000..98045441 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/asset_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/async_action_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/async_action_status.proto new file mode 100644 index 00000000..6c3c3ee7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/async_action_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v10/enums/attribution_model.proto new file mode 100644 index 00000000..54f1aa78 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/attribution_model.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum representing the attribution model that describes how to +// distribute credit for a particular conversion across potentially many prior +// interactions. +message AttributionModelEnum { + // The attribution model that describes how to distribute credit for a + // particular conversion across potentially many prior interactions. + enum AttributionModel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Uses external attribution. + EXTERNAL = 100; + + // Attributes all credit for a conversion to its last click. + GOOGLE_ADS_LAST_CLICK = 101; + + // Attributes all credit for a conversion to its first click using Google + // Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; + + // Attributes credit for a conversion equally across all of its clicks using + // Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; + + // Attributes exponentially more credit for a conversion to its more recent + // clicks using Google Search attribution (half-life is 1 week). + GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; + + // Attributes 40% of the credit for a conversion to its first and last + // clicks. Remaining 20% is evenly distributed across all other clicks. This + // uses Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; + + // Flexible model that uses machine learning to determine the appropriate + // distribution of credit among clicks using Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/audience_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/audience_status.proto new file mode 100644 index 00000000..3e7be28c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/batch_job_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/batch_job_status.proto new file mode 100644 index 00000000..706e6b79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/batch_job_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing batch job statuses. + +// Container for enum describing possible batch job statuses. +message BatchJobStatusEnum { + // The batch job statuses. + enum BatchJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job is not currently running. + PENDING = 2; + + // The job is running. + RUNNING = 3; + + // The job is done. + DONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v10/enums/bid_modifier_source.proto new file mode 100644 index 00000000..1ace5726 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/bid_modifier_source.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing bid modifier source. + +// Container for enum describing possible bid modifier sources. +message BidModifierSourceEnum { + // Enum describing possible bid modifier sources. + enum BidModifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The bid modifier is specified at the campaign level, on the campaign + // level criterion. + CAMPAIGN = 2; + + // The bid modifier is specified (overridden) at the ad group level. + AD_GROUP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_source.proto new file mode 100644 index 00000000..45b1b17d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_source.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing bidding sources. + +// Container for enum describing possible bidding sources. +message BiddingSourceEnum { + // Indicates where a bid or target is defined. For example, an ad group + // criterion may define a cpc bid directly, or it can inherit its cpc bid from + // the ad group. + enum BiddingSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Effective bid or target is inherited from campaign bidding strategy. + CAMPAIGN_BIDDING_STRATEGY = 5; + + // The bid or target is defined on the ad group. + AD_GROUP = 6; + + // The bid or target is defined on the ad group criterion. + AD_GROUP_CRITERION = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_status.proto new file mode 100644 index 00000000..ec7b6ddc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing BiddingStrategy statuses. + +// Message describing BiddingStrategy statuses. +message BiddingStrategyStatusEnum { + // The possible statuses of a BiddingStrategy. + enum BiddingStrategyStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The bidding strategy is enabled. + ENABLED = 2; + + // The bidding strategy is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_type.proto new file mode 100644 index 00000000..ba9aed1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/bidding_strategy_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing bidding schemes. + +// Container for enum describing possible bidding strategy types. +message BiddingStrategyTypeEnum { + // Enum describing possible bidding strategy types. + enum BiddingStrategyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Commission is an automatic bidding strategy in which the advertiser pays + // a certain portion of the conversion value. + COMMISSION = 16; + + // Enhanced CPC is a bidding strategy that raises bids for clicks + // that seem more likely to lead to a conversion and lowers + // them for clicks where they seem less likely. + ENHANCED_CPC = 2; + + // Used for return value only. Indicates that a campaign does not have a + // bidding strategy. This prevents the campaign from serving. For example, + // a campaign may be attached to a manager bidding strategy and the serving + // account is subsequently unlinked from the manager account. In this case + // the campaign will automatically be detached from the now inaccessible + // manager bidding strategy and transition to the INVALID bidding strategy + // type. + INVALID = 17; + + // Manual 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/google-cloud/protos/google/ads/googleads/v10/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/billing_setup_status.proto new file mode 100644 index 00000000..de3711cb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/billing_setup_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing BillingSetup statuses. + +// Message describing BillingSetup statuses. +message BillingSetupStatusEnum { + // The possible statuses of a BillingSetup. + enum BillingSetupStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The billing setup is pending approval. + PENDING = 2; + + // The billing setup has been approved but the corresponding first budget + // has not. This can only occur for billing setups configured for monthly + // invoicing. + APPROVED_HELD = 3; + + // The billing setup has been approved. + APPROVED = 4; + + // The billing setup was cancelled by the user prior to approval. + CANCELLED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v10/enums/brand_safety_suitability.proto new file mode 100644 index 00000000..bede19c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/brand_safety_suitability.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing brand safety suitability settings. + +// Container for enum with 3-Tier brand safety suitability control. +message BrandSafetySuitabilityEnum { + // 3-Tier brand safety suitability control. + enum BrandSafetySuitability { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This option lets you show ads across all inventory on YouTube and video + // partners that meet our standards for monetization. This option may be an + // appropriate choice for brands that want maximum access to the full + // breadth of videos eligible for ads, including, for example, videos that + // have strong profanity in the context of comedy or a documentary, or + // excessive violence as featured in video games. + EXPANDED_INVENTORY = 2; + + // This option lets you show ads across a wide range of content that's + // appropriate for most brands, such as popular music videos, documentaries, + // and movie trailers. The content you can show ads on is based on YouTube's + // advertiser-friendly content guidelines that take into account, for + // example, the strength or frequency of profanity, or the appropriateness + // of subject matter like sensitive events. Ads won't show, for example, on + // content with repeated strong profanity, strong sexual content, or graphic + // violence. + STANDARD_INVENTORY = 3; + + // This option lets you show ads on a reduced range of content that's + // appropriate for brands with particularly strict guidelines around + // inappropriate language and sexual suggestiveness; above and beyond what + // YouTube's advertiser-friendly content guidelines address. The videos + // accessible in this sensitive category meet heightened requirements, + // especially for inappropriate language and sexual suggestiveness. For + // example, your ads will be excluded from showing on some of YouTube's most + // popular music videos and other pop culture content across YouTube and + // Google video partners. + LIMITED_INVENTORY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/budget_campaign_association_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/budget_campaign_association_status.proto new file mode 100644 index 00000000..231dc97b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/budget_campaign_association_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Budget and Campaign association status. + +// Message describing the status of the association between the Budget and the +// Campaign. +message BudgetCampaignAssociationStatusEnum { + // Possible statuses of the association between the Budget and the Campaign. + enum BudgetCampaignAssociationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign is currently using the budget. + ENABLED = 2; + + // The campaign is no longer using the budget. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v10/enums/budget_delivery_method.proto new file mode 100644 index 00000000..0f8b1fa5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/budget_delivery_method.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget delivery methods. A delivery method determines the +// rate at which the Budget is spent. +message BudgetDeliveryMethodEnum { + // Possible delivery methods of a Budget. + enum BudgetDeliveryMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The budget server will throttle serving evenly across + // the entire time period. + STANDARD = 2; + + // The budget server will not throttle serving, + // and ads will serve as fast as possible. + ACCELERATED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v10/enums/budget_period.proto new file mode 100644 index 00000000..90d33ccf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/budget_period.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget period. +message BudgetPeriodEnum { + // Possible period of a Budget. + enum BudgetPeriod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Daily budget. + DAILY = 2; + + // Custom budget, added back in V5. + // Custom 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/google-cloud/protos/google/ads/googleads/v10/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/budget_status.proto new file mode 100644 index 00000000..c886abf1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/budget_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Budget statuses + +// Message describing a Budget status +message BudgetStatusEnum { + // Possible statuses of a Budget. + enum BudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget is enabled. + ENABLED = 2; + + // Budget is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/budget_type.proto new file mode 100644 index 00000000..887f9c4a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/budget_type.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Budget types. + +// Describes Budget types. +message BudgetTypeEnum { + // Possible Budget types. + enum BudgetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget type for standard Google Ads usage. + // Caps daily spend at two times the specified budget amount. + // Full details: https://support.google.com/google-ads/answer/6385083 + STANDARD = 2; + + // Budget type with a fixed cost-per-acquisition (conversion). + // Full details: https://support.google.com/google-ads/answer/7528254 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.DISPLAY (excluding + // AdvertisingChannelSubType.DISPLAY_GMAIL), + // BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS. + FIXED_CPA = 4; + + // Budget type for Smart Campaign. + // Full details: https://support.google.com/google-ads/answer/7653509 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.SMART and + // AdvertisingChannelSubType.SMART_CAMPAIGN. + SMART_CAMPAIGN = 5; + + // Budget type for Local Services Campaign. + // Full details: https://support.google.com/localservices/answer/7434558 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.LOCAL_SERVICES. + LOCAL_SERVICES = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v10/enums/call_conversion_reporting_state.proto new file mode 100644 index 00000000..e8ed00ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/call_conversion_reporting_state.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/call_placeholder_field.proto new file mode 100644 index 00000000..0596fbb6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/call_placeholder_field.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Call placeholder fields. + +// Values for Call placeholder fields. +message CallPlaceholderFieldEnum { + // Possible values for Call placeholder fields. + enum CallPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The advertiser's phone number to append to the ad. + PHONE_NUMBER = 2; + + // Data Type: STRING. Uppercase two-letter country code of the advertiser's + // phone number. + COUNTRY_CODE = 3; + + // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: + // true. + TRACKED = 4; + + // Data Type: INT64. The ID of an AdCallMetricsConversion object. This + // object contains the phoneCallDurationfield which is the minimum duration + // (in seconds) of a call to be considered a conversion. + CONVERSION_TYPE_ID = 5; + + // Data Type: STRING. Indicates whether this call extension uses its own + // call conversion setting or follows the account level setting. + // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and + // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + CONVERSION_REPORTING_STATE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/call_to_action_type.proto new file mode 100644 index 00000000..86653882 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/call_to_action_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/call_tracking_display_location.proto b/google-cloud/protos/google/ads/googleads/v10/enums/call_tracking_display_location.proto new file mode 100644 index 00000000..a2c7eaef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/call_tracking_display_location.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing call tracking display location. + +// Container for enum describing possible call tracking display locations. +message CallTrackingDisplayLocationEnum { + // Possible call tracking display locations. + enum CallTrackingDisplayLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call placed from the ad. + AD = 2; + + // The phone call placed from the landing page ad points to. + LANDING_PAGE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/call_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/call_type.proto new file mode 100644 index 00000000..1ab32373 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/call_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing call types. + +// Container for enum describing possible types of property from where the call +// was made. +message CallTypeEnum { + // Possible types of property from where the call was made. + enum CallType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call was manually dialed. + MANUALLY_DIALED = 2; + + // The phone call was a mobile click-to-call. + HIGH_END_MOBILE_SEARCH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/callout_placeholder_field.proto new file mode 100644 index 00000000..1df40061 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/callout_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Callout placeholder fields. + +// Values for Callout placeholder fields. +message CalloutPlaceholderFieldEnum { + // Possible values for Callout placeholder fields. + enum CalloutPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Callout text. + CALLOUT_TEXT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_criterion_status.proto new file mode 100644 index 00000000..03b96d1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_draft_status.proto new file mode 100644 index 00000000..abf6c336 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_draft_status.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign draft status. + +// Container for enum describing possible statuses of a campaign draft. +message CampaignDraftStatusEnum { + // Possible statuses of a campaign draft. + enum CampaignDraftStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Initial state of the draft, the advertiser can start adding changes with + // no effect on serving. + PROPOSED = 2; + + // The campaign draft is removed. + REMOVED = 3; + + // Advertiser requested to promote draft's changes back into the original + // campaign. Advertiser can poll the long running operation returned by + // the promote action to see the status of the promotion. + PROMOTING = 5; + + // The process to merge changes in the draft back to the original campaign + // has completed successfully. + PROMOTED = 4; + + // The promotion failed after it was partially applied. Promote cannot be + // attempted again safely, so the issue must be corrected in the original + // campaign. + PROMOTE_FAILED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_status.proto new file mode 100644 index 00000000..ea8d0843 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_status.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign experiment status. + +// Container for enum describing possible statuses of a campaign experiment. +message CampaignExperimentStatusEnum { + // Possible statuses of a campaign experiment. + enum CampaignExperimentStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The experiment campaign is being initialized. + INITIALIZING = 2; + + // Initialization of the experiment campaign failed. + INITIALIZATION_FAILED = 8; + + // The experiment campaign is fully initialized. The experiment is currently + // running, scheduled to run in the future or has ended based on its + // end date. An experiment with the status INITIALIZING will be updated to + // ENABLED when it is fully created. + ENABLED = 3; + + // The experiment campaign was graduated to a stand-alone + // campaign, existing independently of the experiment. + GRADUATED = 4; + + // The experiment is removed. + REMOVED = 5; + + // The experiment's changes are being applied to the original campaign. + // The long running operation returned by the promote method can be polled + // to see the status of the promotion. + PROMOTING = 6; + + // Promote of the experiment campaign failed. + PROMOTION_FAILED = 9; + + // The changes of the experiment are promoted to their original campaign. + PROMOTED = 7; + + // The experiment was ended manually. It did not end based on its end date. + ENDED_MANUALLY = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_traffic_split_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_traffic_split_type.proto new file mode 100644 index 00000000..8533057f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_traffic_split_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTrafficSplitTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign experiment traffic split type. + +// Container for enum describing campaign experiment traffic split type. +message CampaignExperimentTrafficSplitTypeEnum { + // Enum of strategies for splitting traffic between base and experiment + // campaigns in campaign experiment. + enum CampaignExperimentTrafficSplitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Traffic is randomly assigned to the base or experiment arm for each + // query, independent of previous assignments for the same user. + RANDOM_QUERY = 2; + + // Traffic is split using cookies to keep users in the same arm (base or + // experiment) of the experiment. + COOKIE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_type.proto new file mode 100644 index 00000000..c3ea8b1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_experiment_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign experiment type. + +// Container for enum describing campaign experiment type. +message CampaignExperimentTypeEnum { + // Indicates if this campaign is a normal campaign, + // a draft campaign, or an experiment campaign. + enum CampaignExperimentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This is a regular campaign. + BASE = 2; + + // This is a draft version of a campaign. + // It has some modifications from a base campaign, + // but it does not serve or accrue metrics. + DRAFT = 3; + + // This is an experiment version of a campaign. + // It has some modifications from a base campaign, + // and a percentage of traffic is being diverted + // from the BASE campaign to this experiment campaign. + EXPERIMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_group_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_group_status.proto new file mode 100644 index 00000000..79bc5265 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_group_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_serving_status.proto new file mode 100644 index 00000000..a1b83b79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_serving_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Campaign serving statuses. + +// Message describing Campaign serving statuses. +message CampaignServingStatusEnum { + // Possible serving statuses of a campaign. + enum CampaignServingStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Serving. + SERVING = 2; + + // None. + NONE = 3; + + // Ended. + ENDED = 4; + + // Pending. + PENDING = 5; + + // Suspended. + SUSPENDED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_shared_set_status.proto new file mode 100644 index 00000000..3fef1914 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign shared set statuses. + +// Container for enum describing types of campaign shared set statuses. +message CampaignSharedSetStatusEnum { + // Enum listing the possible campaign shared set statuses. + enum CampaignSharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign shared set is enabled. + ENABLED = 2; + + // The campaign shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_status.proto new file mode 100644 index 00000000..ab4285d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/campaign_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing campaign status. + +// Container for enum describing possible statuses of a campaign. +message CampaignStatusEnum { + // Possible statuses of a campaign. + enum CampaignStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Campaign is currently serving ads depending on budget information. + ENABLED = 2; + + // Campaign has been paused by the user. + PAUSED = 3; + + // Campaign has been removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/change_client_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/change_client_type.proto new file mode 100644 index 00000000..62dba501 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/change_client_type.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the sources that the change event resource was +// made through. + +// Container for enum describing the sources that the change event resource +// was made through. +message ChangeClientTypeEnum { + // The source that the change_event resource was made through. + enum ChangeClientType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified client type + // unknown in this version. + UNKNOWN = 1; + + // Changes made through the "ads.google.com". + // For example, changes made through campaign management. + GOOGLE_ADS_WEB_CLIENT = 2; + + // Changes made through Google Ads automated rules. + GOOGLE_ADS_AUTOMATED_RULE = 3; + + // Changes made through Google Ads scripts. + GOOGLE_ADS_SCRIPTS = 4; + + // Changes made by Google Ads bulk upload. + GOOGLE_ADS_BULK_UPLOAD = 5; + + // Changes made by Google Ads API. + GOOGLE_ADS_API = 6; + + // Changes made by Google Ads Editor. + 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/google-cloud/protos/google/ads/googleads/v10/enums/change_event_resource_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/change_event_resource_type.proto new file mode 100644 index 00000000..edd6e0cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/change_event_resource_type.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the resource types the ChangeEvent resource supports. + +// Container for enum describing supported resource types for the ChangeEvent +// resource. +message ChangeEventResourceTypeEnum { + // Enum listing the resource types support by the ChangeEvent resource. + enum ChangeEventResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An Ad resource change. + AD = 2; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 4; + + // A Campaign resource change. + CAMPAIGN = 5; + + // A CampaignBudget resource change. + CAMPAIGN_BUDGET = 6; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 7; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 8; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 11; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 12; + + // An AdGroupAd resource change. + AD_GROUP_AD = 13; + + // An Asset resource change. + ASSET = 14; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 15; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 16; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 17; + + // An AssetSet resource change. + ASSET_SET = 18; + + // An AssetSetAsset resource change. + ASSET_SET_ASSET = 19; + + // A CampaignAssetSet resource change. + CAMPAIGN_ASSET_SET = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v10/enums/change_status_operation.proto new file mode 100644 index 00000000..18d3ba87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/change_status_operation.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the change status operations. + +// Container for enum describing operations for the ChangeStatus resource. +message ChangeStatusOperationEnum { + // Status of the changed resource + enum ChangeStatusOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + ADDED = 2; + + // The resource was modified. + CHANGED = 3; + + // The resource was removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/change_status_resource_type.proto new file mode 100644 index 00000000..863b5bff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/change_status_resource_type.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the resource types the ChangeStatus resource supports. + +// Container for enum describing supported resource types for the ChangeStatus +// resource. +message ChangeStatusResourceTypeEnum { + // Enum listing the resource types support by the ChangeStatus resource. + enum ChangeStatusResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupAd resource change. + AD_GROUP_AD = 4; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 5; + + // A Campaign resource change. + CAMPAIGN = 6; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 7; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 11; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 12; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 13; + + // A SharedSet resource change. + SHARED_SET = 14; + + // A CampaignSharedSet resource change. + CAMPAIGN_SHARED_SET = 15; + + // An Asset resource change. + ASSET = 16; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 17; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 18; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/click_type.proto new file mode 100644 index 00000000..049574a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/click_type.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing click types. + +// Container for enumeration of Google Ads click types. +message ClickTypeEnum { + // Enumerates Google Ads click types. + enum ClickType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // App engagement ad deep link. + APP_DEEPLINK = 2; + + // Breadcrumbs. + BREADCRUMBS = 3; + + // Broadband Plan. + BROADBAND_PLAN = 4; + + // Manually dialed phone calls. + CALL_TRACKING = 5; + + // Phone calls. + CALLS = 6; + + // Click on engagement ad. + CLICK_ON_ENGAGEMENT_AD = 7; + + // Driving direction. + GET_DIRECTIONS = 8; + + // Get location details. + LOCATION_EXPANSION = 9; + + // Call. + LOCATION_FORMAT_CALL = 10; + + // Directions. + LOCATION_FORMAT_DIRECTIONS = 11; + + // Image(s). + LOCATION_FORMAT_IMAGE = 12; + + // Go to landing page. + LOCATION_FORMAT_LANDING_PAGE = 13; + + // Map. + LOCATION_FORMAT_MAP = 14; + + // Go to store info. + LOCATION_FORMAT_STORE_INFO = 15; + + // Text. + LOCATION_FORMAT_TEXT = 16; + + // Mobile phone calls. + MOBILE_CALL_TRACKING = 17; + + // Print offer. + OFFER_PRINTS = 18; + + // Other. + OTHER = 19; + + // Product plusbox offer. + PRODUCT_EXTENSION_CLICKS = 20; + + // Shopping - Product - Online. + PRODUCT_LISTING_AD_CLICKS = 21; + + // Sitelink. + SITELINKS = 22; + + // Show nearby locations. + STORE_LOCATOR = 23; + + // Headline. + URL_CLICKS = 25; + + // App store. + VIDEO_APP_STORE_CLICKS = 26; + + // Call-to-Action overlay. + VIDEO_CALL_TO_ACTION_CLICKS = 27; + + // Cards. + VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; + + // End cap. + VIDEO_END_CAP_CLICKS = 29; + + // Website. + VIDEO_WEBSITE_CLICKS = 30; + + // Visual Sitelinks. + VISUAL_SITELINKS = 31; + + // Wireless Plan. + WIRELESS_PLAN = 32; + + // Shopping - Product - Local. + PRODUCT_LISTING_AD_LOCAL = 33; + + // Shopping - Product - MultiChannel Local. + PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; + + // Shopping - Product - MultiChannel Online. + PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; + + // Shopping - Product - Coupon. + PRODUCT_LISTING_ADS_COUPON = 36; + + // Shopping - Product - Sell on Google. + PRODUCT_LISTING_AD_TRANSACTABLE = 37; + + // Shopping - Product - App engagement ad deep link. + PRODUCT_AD_APP_DEEPLINK = 38; + + // Shopping - Showcase - Category. + SHOWCASE_AD_CATEGORY_LINK = 39; + + // Shopping - Showcase - Local storefront. + SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; + + // Shopping - Showcase - Online product. + SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; + + // Shopping - Showcase - Local product. + SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; + + // Promotion Extension. + PROMOTION_EXTENSION = 44; + + // Ad Headline. + SWIPEABLE_GALLERY_AD_HEADLINE = 45; + + // Swipes. + SWIPEABLE_GALLERY_AD_SWIPES = 46; + + // See More. + SWIPEABLE_GALLERY_AD_SEE_MORE = 47; + + // Sitelink 1. + SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; + + // Sitelink 2. + SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; + + // Sitelink 3. + SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; + + // Sitelink 4. + SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; + + // Sitelink 5. + SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; + + // Hotel price. + HOTEL_PRICE = 53; + + // Price Extension. + PRICE_EXTENSION = 54; + + // Book on Google hotel room selection. + HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; + + // Shopping - Comparison Listing. + SHOPPING_COMPARISON_LISTING = 56; + + // Cross-network. From Performance Max and Discovery Campaigns. + CROSS_NETWORK = 57; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/combined_audience_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/combined_audience_status.proto new file mode 100644 index 00000000..3a4abf8c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/combined_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing combined audience status. + +// The status of combined audience. +message CombinedAudienceStatusEnum { + // Enum containing possible combined audience status types. + enum CombinedAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - combined audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - combined audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/content_label_type.proto new file mode 100644 index 00000000..1e211e6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/content_label_type.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing content label types. + +// Container for enum describing content label types in ContentLabel. +message ContentLabelTypeEnum { + // Enum listing the content label types supported by ContentLabel criterion. + enum ContentLabelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Sexually suggestive content. + SEXUALLY_SUGGESTIVE = 2; + + // Below the fold placement. + BELOW_THE_FOLD = 3; + + // Parked domain. + PARKED_DOMAIN = 4; + + // Juvenile, gross & bizarre content. + JUVENILE = 6; + + // Profanity & rough language. + PROFANITY = 7; + + // Death & tragedy. + TRAGEDY = 8; + + // Video. + VIDEO = 9; + + // Content rating: G. + VIDEO_RATING_DV_G = 10; + + // Content rating: PG. + VIDEO_RATING_DV_PG = 11; + + // Content rating: T. + VIDEO_RATING_DV_T = 12; + + // Content rating: MA. + VIDEO_RATING_DV_MA = 13; + + // Content rating: not yet rated. + VIDEO_NOT_YET_RATED = 14; + + // Embedded video. + EMBEDDED_VIDEO = 15; + + // Live streaming video. + LIVE_STREAMING_VIDEO = 16; + + // Sensitive social issues. + SOCIAL_ISSUES = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_category.proto new file mode 100644 index 00000000..5c7b3978 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_category.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing the category of conversions that are associated +// with a ConversionAction. +message ConversionActionCategoryEnum { + // The category of conversions that are associated with a ConversionAction. + enum ConversionActionCategory { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Default category. + DEFAULT = 2; + + // User visiting a page. + PAGE_VIEW = 3; + + // Purchase, sales, or "order placed" event. + PURCHASE = 4; + + // Signup user action. + SIGNUP = 5; + + // Software download action (as for an app). + DOWNLOAD = 7; + + // The addition of items to a shopping cart or bag on an advertiser site. + ADD_TO_CART = 8; + + // When someone enters the checkout flow on an advertiser site. + BEGIN_CHECKOUT = 9; + + // The start of a paid subscription for a product or service. + SUBSCRIBE_PAID = 10; + + // A call to indicate interest in an advertiser's offering. + PHONE_CALL_LEAD = 11; + + // A lead conversion imported from an external source into Google Ads. + IMPORTED_LEAD = 12; + + // A submission of a form on an advertiser site indicating business + // interest. + SUBMIT_LEAD_FORM = 13; + + // A booking of an appointment with an advertiser's business. + BOOK_APPOINTMENT = 14; + + // A quote or price estimate request. + REQUEST_QUOTE = 15; + + // A search for an advertiser's business location with intention to visit. + GET_DIRECTIONS = 16; + + // A click to an advertiser's partner's site. + OUTBOUND_CLICK = 17; + + // A call, SMS, email, chat or other type of contact to an advertiser. + CONTACT = 18; + + // A website engagement event such as long site time or a Google Analytics + // (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal + // imports. + ENGAGEMENT = 19; + + // A visit to a physical store location. + STORE_VISIT = 20; + + // A sale occurring in a physical store. + STORE_SALE = 21; + + // A lead conversion imported from an external source into Google Ads, + // that has been further qualified by the advertiser (marketing/sales team). + // In the lead-to-sale journey, advertisers get leads, then act on them + // by reaching out to the consumer. If the consumer is interested and + // may end up buying their product, the advertiser marks such leads as + // "qualified leads". + QUALIFIED_LEAD = 22; + + // A lead conversion imported from an external source into Google Ads, that + // has further completed a desired stage as defined by the lead gen + // advertiser. + CONVERTED_LEAD = 23; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_counting_type.proto new file mode 100644 index 00000000..7d658e1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_counting_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion action counting type. + +// Container for enum describing the conversion deduplication mode for +// conversion optimizer. +message ConversionActionCountingTypeEnum { + // Indicates how conversions for this action will be counted. For more + // information, see https://support.google.com/google-ads/answer/3438531. + enum ConversionActionCountingType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Count only one conversion per click. + ONE_PER_CLICK = 2; + + // Count all conversions per click. + MANY_PER_CLICK = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_status.proto new file mode 100644 index 00000000..9ee458b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_status.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion action status. + +// Container for enum describing possible statuses of a conversion action. +message ConversionActionStatusEnum { + // Possible statuses of a conversion action. + enum ConversionActionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions will be recorded. + ENABLED = 2; + + // Conversions will not be recorded. + REMOVED = 3; + + // Conversions will not be recorded and the conversion action will not + // appear in the UI. + HIDDEN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_type.proto new file mode 100644 index 00000000..3a98401a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_action_type.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion action type. + +// Container for enum describing possible types of a conversion action. +message ConversionActionTypeEnum { + // Possible types of a conversion action. + enum ConversionActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions that occur when a user clicks on an ad's call extension. + AD_CALL = 2; + + // Conversions that occur when a user on a mobile device clicks a phone + // number. + CLICK_TO_CALL = 3; + + // Conversions that occur when a user downloads a mobile app from the Google + // Play Store. + GOOGLE_PLAY_DOWNLOAD = 4; + + // Conversions that occur when a user makes a purchase in an app through + // Android billing. + GOOGLE_PLAY_IN_APP_PURCHASE = 5; + + // Call conversions that are tracked by the advertiser and uploaded. + UPLOAD_CALLS = 6; + + // Conversions that are tracked by the advertiser and uploaded with + // attributed clicks. + UPLOAD_CLICKS = 7; + + // Conversions that occur on a webpage. + WEBPAGE = 8; + + // Conversions that occur when a user calls a dynamically-generated phone + // number from an advertiser's website. + WEBSITE_CALL = 9; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads. + // Only customers on the allowlist can use store sales direct upload types. + STORE_SALES_DIRECT_UPLOAD = 10; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. + // Only customers on the allowlist can use store sales types. + // Read only. + STORE_SALES = 11; + + // Android app first open conversions tracked via Firebase. + FIREBASE_ANDROID_FIRST_OPEN = 12; + + // Android app in app purchase conversions tracked via Firebase. + FIREBASE_ANDROID_IN_APP_PURCHASE = 13; + + // Android app custom conversions tracked via Firebase. + FIREBASE_ANDROID_CUSTOM = 14; + + // iOS app first open conversions tracked via Firebase. + FIREBASE_IOS_FIRST_OPEN = 15; + + // iOS app in app purchase conversions tracked via Firebase. + FIREBASE_IOS_IN_APP_PURCHASE = 16; + + // iOS app custom conversions tracked via Firebase. + FIREBASE_IOS_CUSTOM = 17; + + // Android app first open conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN = 18; + + // Android app in app purchase conversions tracked via Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE = 19; + + // Android app custom conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM = 20; + + // iOS app first open conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN = 21; + + // iOS app in app purchase conversions tracked via Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE = 22; + + // iOS app custom conversions tracked via 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_adjustment_type.proto new file mode 100644 index 00000000..7b4f4d27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_adjustment_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion adjustment type. + +// Container for enum describing conversion adjustment types. +message ConversionAdjustmentTypeEnum { + // The different actions advertisers can take to adjust the conversions that + // they already reported. Retractions negate a conversion. Restatements change + // the value of a conversion. + enum ConversionAdjustmentType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Negates a conversion so that its total value and count are both zero. + RETRACTION = 2; + + // Changes the value of a conversion. + RESTATEMENT = 3; + + // Supplements an existing conversion with provided user identifiers and + // user agent, which can be used by Google to enhance the conversion count. + ENHANCEMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_attribution_event_type.proto new file mode 100644 index 00000000..f55c01e3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_attribution_event_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum indicating the event type the conversion is attributed to. +message ConversionAttributionEventTypeEnum { + // The event type of conversions that are attributed to. + enum ConversionAttributionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is attributed to an impression. + IMPRESSION = 2; + + // The conversion is attributed to an interaction. + INTERACTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_custom_variable_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_custom_variable_status.proto new file mode 100644 index 00000000..dd7be184 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_custom_variable_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/conversion_environment_enum.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_environment_enum.proto new file mode 100644 index 00000000..44a3c141 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_environment_enum.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum representing the conversion environment an uploaded +// conversion was recorded on. e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_lag_bucket.proto new file mode 100644 index 00000000..b858514f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_lag_bucket.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum representing the number of days between impression and +// conversion. +message ConversionLagBucketEnum { + // Enum representing the number of days between impression and conversion. + enum ConversionLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + SIXTY_TO_NINETY_DAYS = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 00000000..b2f5c412 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum representing the number of days between the impression and +// the conversion or between the impression and adjustments to the conversion. +message ConversionOrAdjustmentLagBucketEnum { + // Enum representing the number of days between the impression and the + // conversion or between the impression and adjustments to the conversion. + enum ConversionOrAdjustmentLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + CONVERSION_LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + CONVERSION_ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + CONVERSION_TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + CONVERSION_THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + CONVERSION_FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + CONVERSION_FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + CONVERSION_SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + CONVERSION_EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + CONVERSION_NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + CONVERSION_TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + CONVERSION_SIXTY_TO_NINETY_DAYS = 20; + + // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, + // 1 day is not. + ADJUSTMENT_LESS_THAN_ONE_DAY = 21; + + // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, + // 2 days is not. + ADJUSTMENT_ONE_TO_TWO_DAYS = 22; + + // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + ADJUSTMENT_TWO_TO_THREE_DAYS = 23; + + // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; + + // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; + + // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; + + // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; + + // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; + + // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; + + // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + ADJUSTMENT_NINE_TO_TEN_DAYS = 30; + + // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; + + // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; + + // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; + + // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; + + // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; + + // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; + + // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; + + // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; + + // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; + + // Conversion adjustment lag bucket from 90 to 145 days. 90 days is + // included, 145 days is not. + ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; + + // Conversion lag bucket UNKNOWN. This is for dates before conversion lag + // bucket was available in Google Ads. + CONVERSION_UNKNOWN = 41; + + // Conversion adjustment lag bucket UNKNOWN. This is for dates before + // conversion adjustment lag bucket was available in Google Ads. + ADJUSTMENT_UNKNOWN = 42; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_origin.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_origin.proto new file mode 100644 index 00000000..5b1cdf20 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_origin.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion origin. + +// Container for enum describing possible conversion origins. +message ConversionOriginEnum { + // The possible places where a conversion can occur. + enum ConversionOrigin { + // The conversion origin has not been specified. + UNSPECIFIED = 0; + + // The conversion origin is not known in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user visits a website or takes an action + // there after viewing an ad. + WEBSITE = 2; + + // Conversions reported by an offline pipeline which collects local actions + // from Google-hosted pages (e.g. 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 via 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/google-cloud/protos/google/ads/googleads/v10/enums/conversion_tracking_status_enum.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_tracking_status_enum.proto new file mode 100644 index 00000000..fe69f3df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_tracking_status_enum.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_primary_dimension.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 00000000..3e2b69d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule primary dimension. + +// Container for enum describing value rule primary dimension for stats. +message ConversionValueRulePrimaryDimensionEnum { + // Identifies the primary dimension for conversion value rule stats. + enum ConversionValueRulePrimaryDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // For no-value-rule-applied conversions after value rule is enabled. + NO_RULE_APPLIED = 2; + + // Below are for value-rule-applied conversions: + // The original stats. + ORIGINAL = 3; + + // When a new or returning customer condition is satisfied. + NEW_VS_RETURNING_USER = 4; + + // When a query-time Geo location condition is satisfied. + GEO_LOCATION = 5; + + // When a query-time browsing device condition is satisfied. + DEVICE = 6; + + // When a query-time audience condition is satisfied. + AUDIENCE = 7; + + // When multiple rules are applied. + MULTIPLE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_set_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_set_status.proto new file mode 100644 index 00000000..721d2164 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule set status. + +// Container for enum describing possible statuses of a conversion value rule +// set. +message ConversionValueRuleSetStatusEnum { + // Possible statuses of a conversion value rule set. + enum ConversionValueRuleSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule Set is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule Set is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule Set is paused and won't be applied. It can be + // enabled again. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_status.proto new file mode 100644 index 00000000..8244fb14 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/conversion_value_rule_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule status. + +// Container for enum describing possible statuses of a conversion value rule. +message ConversionValueRuleStatusEnum { + // Possible statuses of a conversion value rule. + enum ConversionValueRuleStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule is paused, but can be re-enabled. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 00000000..9d24212c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the criterion category channel availability mode. + +// Describes channel availability mode for a criterion availability - whether +// the availability is meant to include all advertising channels, or a +// particular channel with all its channel subtypes, or a channel with a certain +// subset of channel subtypes. +message CriterionCategoryChannelAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryChannelAvailabilityMode. + enum CriterionCategoryChannelAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all channel types and subtypes. + ALL_CHANNELS = 2; + + // The category is available to campaigns of a specific channel type, + // including all subtypes under it. + CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; + + // The category is available to campaigns of a specific channel type and + // subtype(s). + CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 00000000..ad985417 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the criterion category locale availability mode. + +// Describes locale availability mode for a criterion availability - whether +// it's available globally, or a particular country with all languages, or a +// particular language with all countries, or a country-language pair. +message CriterionCategoryLocaleAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryLocaleAvailabilityMode. + enum CriterionCategoryLocaleAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all locales. + ALL_LOCALES = 2; + + // The category is available to campaigns within a list of countries, + // regardless of language. + COUNTRY_AND_ALL_LANGUAGES = 3; + + // The category is available to campaigns within a list of languages, + // regardless of country. + LANGUAGE_AND_ALL_COUNTRIES = 4; + + // The category is available to campaigns within a list of country, language + // pairs. + COUNTRY_AND_LANGUAGE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_system_serving_status.proto new file mode 100644 index 00000000..f3942bb8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_system_serving_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible criterion system serving statuses. +message CriterionSystemServingStatusEnum { + // Enumerates criterion system serving statuses. + enum CriterionSystemServingStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Eligible. + ELIGIBLE = 2; + + // Low search volume. + RARELY_SERVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_type.proto new file mode 100644 index 00000000..a7bf3c6d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/criterion_type.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing criteria types. + +// The possible types of a criterion. +message CriterionTypeEnum { + // Enum describing possible criterion types. + enum CriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Keyword. e.g. 'mars cruise'. + KEYWORD = 2; + + // Placement, aka Website. e.g. '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 (e.g. "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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_member_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_member_type.proto new file mode 100644 index 00000000..6a5e3306 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_member_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom audience member type. + +// The type of custom audience member. +message CustomAudienceMemberTypeEnum { + // Enum containing possible custom audience member types. + enum CustomAudienceMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Users whose interests or actions are described by a keyword. + KEYWORD = 2; + + // Users who have interests related to the website's content. + URL = 3; + + // Users who visit place types described by a place category. + PLACE_CATEGORY = 4; + + // Users who have installed a mobile app. + APP = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_status.proto new file mode 100644 index 00000000..c1c0819b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom audience status. + +// The status of custom audience. +message CustomAudienceStatusEnum { + // Enum containing possible custom audience statuses. + enum CustomAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - custom audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_type.proto new file mode 100644 index 00000000..e63dea7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_audience_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom audience type. + +// The types of custom audience. +message CustomAudienceTypeEnum { + // Enum containing possible custom audience types. + enum CustomAudienceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Google Ads will auto-select the best interpretation at serving + // time. + AUTO = 2; + + // Matches users by their interests. + INTEREST = 3; + + // Matches users by topics they are researching or products they are + // considering for purchase. + PURCHASE_INTENT = 4; + + // Matches users by what they searched on Google Search. + SEARCH = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_conversion_goal_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_conversion_goal_status.proto new file mode 100644 index 00000000..b4e78a8b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_conversion_goal_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom conversion goal status. + +// Container for enum describing possible statuses of a custom conversion goal. +message CustomConversionGoalStatusEnum { + // The possible statuses of a custom conversion goal. + enum CustomConversionGoalStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The custom conversion goal is enabled. + ENABLED = 2; + + // The custom conversion goal is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_member_type.proto new file mode 100644 index 00000000..b0329724 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_member_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom interest member type. + +// The types of custom interest member, either KEYWORD or URL. +message CustomInterestMemberTypeEnum { + // Enum containing possible custom interest member types. + enum CustomInterestMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Custom interest member type KEYWORD. + KEYWORD = 2; + + // Custom interest member type URL. + URL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_status.proto new file mode 100644 index 00000000..2d3a373c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom interest status. + +// The status of custom interest. +message CustomInterestStatusEnum { + // Enum containing possible custom interest types. + enum CustomInterestStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom interest is enabled and can be targeted to. + ENABLED = 2; + + // Removed status - custom interest is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_type.proto new file mode 100644 index 00000000..26d39eae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_interest_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing custom interest type. + +// The types of custom interest. +message CustomInterestTypeEnum { + // Enum containing possible custom interest types. + enum CustomInterestType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows brand advertisers to define custom affinity audience lists. + CUSTOM_AFFINITY = 2; + + // Allows advertisers to define custom intent audience lists. + CUSTOM_INTENT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/custom_placeholder_field.proto new file mode 100644 index 00000000..5173b79f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/custom_placeholder_field.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Custom placeholder fields. + +// Values for Custom placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message CustomPlaceholderFieldEnum { + // Possible values for Custom placeholder fields. + enum CustomPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination ID and ID2 must be unique per + // offer. + ID = 2; + + // Data Type: STRING. Combination ID and ID2 must be unique per offer. + ID2 = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + ITEM_TITLE = 4; + + // Data Type: STRING. Optional text to be shown in the image ad. + ITEM_SUBTITLE = 5; + + // Data Type: STRING. Optional description of the product to be shown in the + // ad. + ITEM_DESCRIPTION = 6; + + // Data Type: STRING. Full address of your offer or service, including + // postal code. This will be used to identify the closest product to the + // user when there are multiple offers in the feed that are relevant to the + // user. + ITEM_ADDRESS = 7; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 8; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 9; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 10; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 11; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 12; + + // Data Type: STRING. Used as a recommendation engine signal to serve items + // in the same category. + ITEM_CATEGORY = 13; + + // Data Type: URL_LIST. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific product for ads that have multiple + // products. + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended IDs to show together with + // this item. + SIMILAR_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customer_match_upload_key_type.proto new file mode 100644 index 00000000..05bb5143 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customer_match_upload_key_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Indicates what type of data are the user list's members matched from. +message CustomerMatchUploadKeyTypeEnum { + // Enum describing possible customer match upload key types. + enum CustomerMatchUploadKeyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Members are matched from customer info such as email address, phone + // number or physical address. + CONTACT_INFO = 2; + + // Members are matched from a user id generated and assigned by the + // advertiser. + CRM_ID = 3; + + // Members are matched from mobile advertising ids. + MOBILE_ADVERTISING_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 00000000..88d01c55 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing pay per conversion eligibility failure reasons. + +// Container for enum describing reasons why a customer is not eligible to use +// PaymentMode.CONVERSIONS. +message CustomerPayPerConversionEligibilityFailureReasonEnum { + // Enum describing possible reasons a customer is not eligible to use + // PaymentMode.CONVERSIONS. + enum CustomerPayPerConversionEligibilityFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Customer does not have enough conversions. + NOT_ENOUGH_CONVERSIONS = 2; + + // Customer's conversion lag is too high. + CONVERSION_LAG_TOO_HIGH = 3; + + // Customer uses shared budgets. + HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; + + // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. + HAS_UPLOAD_CLICKS_CONVERSION = 5; + + // Customer's average daily spend is too high. + AVERAGE_DAILY_SPEND_TOO_HIGH = 6; + + // Customer's eligibility has not yet been calculated by the Google Ads + // backend. Check back soon. + ANALYSIS_NOT_COMPLETE = 7; + + // Customer is not eligible due to other reasons. + OTHER = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/customer_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customer_status.proto new file mode 100644 index 00000000..3712c8af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customer_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_status.proto new file mode 100644 index 00000000..ac79b1ab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing customizer attribute status. + +// Container for enum describing possible statuses of a customizer attribute. +message CustomizerAttributeStatusEnum { + // The possible statuses of a customizer attribute. + enum CustomizerAttributeStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer attribute is enabled. + ENABLED = 2; + + // The customizer attribute is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_type.proto new file mode 100644 index 00000000..8b315afe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_attribute_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing customizer attribute type. + +// Container for enum describing possible types of a customizer attribute. +message CustomizerAttributeTypeEnum { + // The possible types of a customizer attribute. + enum CustomizerAttributeType { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // Text customizer. + TEXT = 2; + + // Number customizer. + NUMBER = 3; + + // Price customizer consisting of a number and a currency. + PRICE = 4; + + // Percentage customizer consisting of a number and a '%'. + PERCENT = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/customizer_value_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_value_status.proto new file mode 100644 index 00000000..6a09e5be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/customizer_value_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing customizer value status. + +// Container for enum describing possible statuses of a customizer value. +message CustomizerValueStatusEnum { + // The possible statuses of a customizer value. + enum CustomizerValueStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer value is enabled. + ENABLED = 2; + + // The customizer value is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/data_driven_model_status.proto new file mode 100644 index 00000000..15aa7be1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/data_driven_model_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing data-driven model status. + +// Container for enum indicating data driven model status. +message DataDrivenModelStatusEnum { + // Enumerates data driven model statuses. + enum DataDrivenModelStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The data driven model is available. + AVAILABLE = 2; + + // The data driven model is stale. It hasn't been updated for at least 7 + // days. It is still being used, but will become expired if it does not get + // updated for 30 days. + STALE = 3; + + // The data driven model expired. It hasn't been updated for at least 30 + // days and cannot be used. Most commonly this is because there hasn't been + // the required number of events in a recent 30-day period. + EXPIRED = 4; + + // The data driven model has never been generated. Most commonly this is + // because there has never been the required number of events in any 30-day + // period. + NEVER_GENERATED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v10/enums/day_of_week.proto new file mode 100644 index 00000000..fa489e2f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/day_of_week.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of days of the week, e.g., "Monday". +message DayOfWeekEnum { + // Enumerates days of the week, e.g., "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/google-cloud/protos/google/ads/googleads/v10/enums/device.proto b/google-cloud/protos/google/ads/googleads/v10/enums/device.proto new file mode 100644 index 00000000..18a6220d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/device.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing devices. + +// Container for enumeration of Google Ads devices available for targeting. +message DeviceEnum { + // Enumerates Google Ads devices available for targeting. + enum Device { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile devices with full browsers. + MOBILE = 2; + + // Tablets with full browsers. + TABLET = 3; + + // Computers. + DESKTOP = 4; + + // Smart TVs and game consoles. + CONNECTED_TV = 6; + + // Other device types. + OTHER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v10/enums/display_ad_format_setting.proto new file mode 100644 index 00000000..dfa1fd59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/display_ad_format_setting.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing display ad format settings. + +// Container for display ad format settings. +message DisplayAdFormatSettingEnum { + // Enumerates display ad format settings. + enum DisplayAdFormatSetting { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Text, image and native formats. + ALL_FORMATS = 2; + + // Text and image formats. + NON_NATIVE = 3; + + // Native format, i.e. the format rendering is controlled by the publisher + // and not by Google. + NATIVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/display_upload_product_type.proto new file mode 100644 index 00000000..197acf82 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/display_upload_product_type.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing display upload product types. + +// Container for display upload product types. Product types that have the word +// "DYNAMIC" in them must be associated with a campaign that has a dynamic +// remarketing feed. See https://support.google.com/google-ads/answer/6053288 +// for more info about dynamic remarketing. Other product types are regarded +// as "static" and do not have this requirement. +message DisplayUploadProductTypeEnum { + // Enumerates display upload product types. + enum DisplayUploadProductType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // HTML5 upload ad. This product type requires the upload_media_bundle + // field in DisplayUploadAdInfo to be set. + HTML5_UPLOAD_AD = 2; + + // Dynamic HTML5 education ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in an education campaign. + DYNAMIC_HTML5_EDUCATION_AD = 3; + + // Dynamic HTML5 flight ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a flight campaign. + DYNAMIC_HTML5_FLIGHT_AD = 4; + + // Dynamic HTML5 hotel and rental ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; + + // Dynamic HTML5 job ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a job campaign. + DYNAMIC_HTML5_JOB_AD = 6; + + // Dynamic HTML5 local ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a local campaign. + DYNAMIC_HTML5_LOCAL_AD = 7; + + // Dynamic HTML5 real estate ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a real estate campaign. + DYNAMIC_HTML5_REAL_ESTATE_AD = 8; + + // Dynamic HTML5 custom ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a custom campaign. + DYNAMIC_HTML5_CUSTOM_AD = 9; + + // Dynamic HTML5 travel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a travel campaign. + DYNAMIC_HTML5_TRAVEL_AD = 10; + + // Dynamic HTML5 hotel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_AD = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/distance_bucket.proto b/google-cloud/protos/google/ads/googleads/v10/enums/distance_bucket.proto new file mode 100644 index 00000000..3ad59c38 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/distance_bucket.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing distance buckets. + +// Container for distance buckets of a user's distance from an advertiser's +// location extension. +message DistanceBucketEnum { + // The distance bucket for a user's distance from an advertiser's location + // extension. + enum DistanceBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User was within 700m of the location. + WITHIN_700M = 2; + + // User was within 1KM of the location. + WITHIN_1KM = 3; + + // User was within 5KM of the location. + WITHIN_5KM = 4; + + // User was within 10KM of the location. + WITHIN_10KM = 5; + + // User was within 15KM of the location. + WITHIN_15KM = 6; + + // User was within 20KM of the location. + WITHIN_20KM = 7; + + // User was within 25KM of the location. + WITHIN_25KM = 8; + + // User was within 30KM of the location. + WITHIN_30KM = 9; + + // User was within 35KM of the location. + WITHIN_35KM = 10; + + // User was within 40KM of the location. + WITHIN_40KM = 11; + + // User was within 45KM of the location. + WITHIN_45KM = 12; + + // User was within 50KM of the location. + WITHIN_50KM = 13; + + // User was within 55KM of the location. + WITHIN_55KM = 14; + + // User was within 60KM of the location. + WITHIN_60KM = 15; + + // User was within 65KM of the location. + WITHIN_65KM = 16; + + // User was beyond 65KM of the location. + BEYOND_65KM = 17; + + // User was within 0.7 miles of the location. + WITHIN_0_7MILES = 18; + + // User was within 1 mile of the location. + WITHIN_1MILE = 19; + + // User was within 5 miles of the location. + WITHIN_5MILES = 20; + + // User was within 10 miles of the location. + WITHIN_10MILES = 21; + + // User was within 15 miles of the location. + WITHIN_15MILES = 22; + + // User was within 20 miles of the location. + WITHIN_20MILES = 23; + + // User was within 25 miles of the location. + WITHIN_25MILES = 24; + + // User was within 30 miles of the location. + WITHIN_30MILES = 25; + + // User was within 35 miles of the location. + WITHIN_35MILES = 26; + + // User was within 40 miles of the location. + WITHIN_40MILES = 27; + + // User was beyond 40 miles of the location. + BEYOND_40MILES = 28; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 00000000..0530bba0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Dynamic Search Ad Page Feed criterion fields. + +// Values for Dynamic Search Ad Page Feed criterion fields. +message DsaPageFeedCriterionFieldEnum { + // Possible values for Dynamic Search Ad Page Feed criterion fields. + enum DsaPageFeedCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: URL or URL_LIST. URL of the web page you want to target. + PAGE_URL = 2; + + // Data Type: STRING_LIST. The labels that will help you target ads within + // your page feed. + LABEL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/education_placeholder_field.proto new file mode 100644 index 00000000..4e9672aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/education_placeholder_field.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Education placeholder fields. + +// Values for Education placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message EducationPlaceholderFieldEnum { + // Possible values for Education placeholder fields. + enum EducationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID + // must be unique per offer. + PROGRAM_ID = 2; + + // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be + // unique per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with program name to be shown + // in dynamic ad. + PROGRAM_NAME = 4; + + // Data Type: STRING. Area of study that can be shown in dynamic ad. + AREA_OF_STUDY = 5; + + // Data Type: STRING. Description of program that can be shown in dynamic + // ad. + PROGRAM_DESCRIPTION = 6; + + // Data Type: STRING. Name of school that can be shown in dynamic ad. + SCHOOL_NAME = 7; + + // Data Type: STRING. Complete school address, including postal code. + ADDRESS = 8; + + // Data Type: URL. Image to be displayed in ads. + THUMBNAIL_IMAGE_URL = 9; + + // Data Type: URL. Alternative hosted file of image to be used in the ad. + ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric.proto b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric.proto new file mode 100644 index 00000000..0df2664b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric_direction.proto b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric_direction.proto new file mode 100644 index 00000000..64f966f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_metric_direction.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/experiment_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_status.proto new file mode 100644 index 00000000..cee57c22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_status.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/experiment_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_type.proto new file mode 100644 index 00000000..e938ccb0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/experiment_type.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + + // This is a smart display experiment. + SMART_DISPLAY = 4; + + // 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/google-cloud/protos/google/ads/googleads/v10/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v10/enums/extension_setting_device.proto new file mode 100644 index 00000000..df81d6b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/extension_setting_device.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing extension setting device type. + +// Container for enum describing extension setting device types. +message ExtensionSettingDeviceEnum { + // Possible device types for an extension setting. + enum ExtensionSettingDevice { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile. The extensions in the extension setting will only serve on + // mobile devices. + MOBILE = 2; + + // Desktop. The extensions in the extension setting will only serve on + // desktop devices. + DESKTOP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/extension_type.proto new file mode 100644 index 00000000..ce98bdcd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/extension_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing extension type. + +// Container for enum describing possible data types for an extension in an +// extension setting. +message ExtensionTypeEnum { + // Possible data types for an extension in an extension setting. + enum ExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // None. + NONE = 2; + + // App. + APP = 3; + + // Call. + CALL = 4; + + // Callout. + CALLOUT = 5; + + // Message. + MESSAGE = 6; + + // Price. + PRICE = 7; + + // Promotion. + PROMOTION = 8; + + // Sitelink. + SITELINK = 10; + + // Structured snippet. + STRUCTURED_SNIPPET = 11; + + // Location. + LOCATION = 12; + + // Affiliate location. + AFFILIATE_LOCATION = 13; + + // Hotel callout + HOTEL_CALLOUT = 15; + + // Image. + IMAGE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v10/enums/external_conversion_source.proto new file mode 100644 index 00000000..e67dab06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/external_conversion_source.proto @@ -0,0 +1,153 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing the external conversion source that is +// associated with a ConversionAction. +message ExternalConversionSourceEnum { + // The external conversion source that is associated with a ConversionAction. + enum ExternalConversionSource { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user navigates to a particular webpage + // after viewing an ad; Displayed in Google Ads UI as 'Website'. + WEBPAGE = 2; + + // Conversion that comes from linked Google Analytics goal or transaction; + // Displayed in Google Ads UI as 'Analytics'. + ANALYTICS = 3; + + // Website conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from clicks'. + UPLOAD = 4; + + // Conversion that occurs when a user clicks on a call extension directly on + // an ad; Displayed in Google Ads UI as 'Calls from ads'. + AD_CALL_METRICS = 5; + + // Conversion that occurs when a user calls a dynamically-generated phone + // number (by installed javascript) from an advertiser's website after + // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. + WEBSITE_CALL_METRICS = 6; + + // Conversion that occurs when a user visits an advertiser's retail store + // after clicking on a Google ad; + // Displayed in Google Ads UI as 'Store visits'. + STORE_VISITS = 7; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an Android app; + // Displayed in Google Ads UI as 'Android in-app action'. + ANDROID_IN_APP = 8; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an iOS app; + // Displayed in Google Ads UI as 'iOS in-app action'. + IOS_IN_APP = 9; + + // Conversion that occurs when a user opens an iOS app for the first time; + // Displayed in Google Ads UI as 'iOS app install (first open)'. + IOS_FIRST_OPEN = 10; + + // Legacy app conversions that do not have an AppPlatform provided; + // Displayed in Google Ads UI as 'Mobile app'. + APP_UNSPECIFIED = 11; + + // Conversion that occurs when a user opens an Android app for the first + // time; Displayed in Google Ads UI as 'Android app install (first open)'. + ANDROID_FIRST_OPEN = 12; + + // Call conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from calls'. + UPLOAD_CALLS = 13; + + // Conversion that comes from a linked Firebase event; + // Displayed in Google Ads UI as 'Firebase'. + FIREBASE = 14; + + // Conversion that occurs when a user clicks on a mobile phone number; + // Displayed in Google Ads UI as 'Phone number clicks'. + CLICK_TO_CALL = 15; + + // Conversion that comes from Salesforce; + // Displayed in Google Ads UI as 'Salesforce.com'. + SALESFORCE = 16; + + // Conversion that comes from in-store purchases recorded by CRM; + // Displayed in Google Ads UI as 'Store sales (data partner)'. + STORE_SALES_CRM = 17; + + // Conversion that comes from in-store purchases from payment network; + // Displayed in Google Ads UI as 'Store sales (payment network)'. + STORE_SALES_PAYMENT_NETWORK = 18; + + // Codeless Google Play conversion; + // Displayed in Google Ads UI as 'Google Play'. + GOOGLE_PLAY = 19; + + // Conversion that comes from a linked third-party app analytics event; + // Displayed in Google Ads UI as 'Third-party app analytics'. + THIRD_PARTY_APP_ANALYTICS = 20; + + // Conversion that is controlled by Google Attribution. + GOOGLE_ATTRIBUTION = 21; + + // Store Sales conversion based on first-party or third-party merchant data + // uploads. Displayed in Google Ads UI as 'Store sales (direct upload)'. + STORE_SALES_DIRECT_UPLOAD = 23; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. Displayed in Google Ads UI as 'Store sales'. + STORE_SALES = 24; + + // Conversions imported from Search Ads 360 Floodlight data. + SEARCH_ADS_360 = 25; + + // Conversions that track local actions from Google's products and services + // after interacting with an ad. + GOOGLE_HOSTED = 27; + + // Conversions reported by Floodlight tags. + FLOODLIGHT = 29; + + // Conversions that come from Google Analytics specifically for Search Ads + // 360. Displayed in Google Ads UI as Analytics (SA360). + ANALYTICS_SEARCH_ADS_360 = 31; + + // Conversion that comes from a linked Firebase event for Search Ads 360. + FIREBASE_SEARCH_ADS_360 = 33; + + // Conversion that is reported by Floodlight for DV360. + DISPLAY_AND_VIDEO_360_FLOODLIGHT = 34; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_attribute_type.proto new file mode 100644 index 00000000..4b3b31bf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_attribute_type.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed attribute type. + +// Container for enum describing possible data types for a feed attribute. +message FeedAttributeTypeEnum { + // Possible data types for a feed attribute. + enum FeedAttributeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Int64. + INT64 = 2; + + // Double. + DOUBLE = 3; + + // String. + STRING = 4; + + // Boolean. + BOOLEAN = 5; + + // Url. + URL = 6; + + // Datetime. + DATE_TIME = 7; + + // Int64 list. + INT64_LIST = 8; + + // Double (8 bytes) list. + DOUBLE_LIST = 9; + + // String list. + STRING_LIST = 10; + + // Boolean list. + BOOLEAN_LIST = 11; + + // Url list. + URL_LIST = 12; + + // Datetime list. + DATE_TIME_LIST = 13; + + // Price. + PRICE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_approval_status.proto new file mode 100644 index 00000000..37549122 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item quality evaluation approval statuses. + +// Container for enum describing possible quality evaluation approval statuses +// of a feed item. +message FeedItemQualityApprovalStatusEnum { + // The possible quality evaluation approval statuses of a feed item. + enum FeedItemQualityApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meets all quality expectations. + APPROVED = 2; + + // Does not meet some quality expectations. The specific reason is found in + // the quality_disapproval_reasons field. + DISAPPROVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 00000000..c7a859b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item quality disapproval reasons. + +// Container for enum describing possible quality evaluation disapproval reasons +// of a feed item. +message FeedItemQualityDisapprovalReasonEnum { + // The possible quality evaluation disapproval reasons of a feed item. + enum FeedItemQualityDisapprovalReason { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Price contains repetitive headers. + PRICE_TABLE_REPETITIVE_HEADERS = 2; + + // Price contains repetitive description. + PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; + + // Price contains inconsistent items. + PRICE_TABLE_INCONSISTENT_ROWS = 4; + + // Price contains qualifiers in description. + PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; + + // Price contains an unsupported language. + PRICE_UNSUPPORTED_LANGUAGE = 6; + + // Price item header is not relevant to the price type. + PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; + + // Price item header has promotional text. + PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; + + // Price item description is not relevant to the item header. + PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; + + // Price item description contains promotional text. + PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; + + // Price item header and description are repetitive. + PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; + + // Price item is in a foreign language, nonsense, or can't be rated. + PRICE_TABLE_ROW_UNRATEABLE = 12; + + // Price item price is invalid or inaccurate. + PRICE_TABLE_ROW_PRICE_INVALID = 13; + + // Price item URL is invalid or irrelevant. + PRICE_TABLE_ROW_URL_INVALID = 14; + + // Price item header or description has price. + PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; + + // Structured snippet values do not match the header. + STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; + + // Structured snippet values are repeated. + STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; + + // Structured snippet values violate editorial guidelines like punctuation. + STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; + + // Structured snippet contain promotional text. + STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_status.proto new file mode 100644 index 00000000..069785c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item set status. + +// Container for enum describing possible statuses of a feed item set. +message FeedItemSetStatusEnum { + // Possible statuses of a feed item set. + enum FeedItemSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item set is enabled. + ENABLED = 2; + + // Feed item set has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_string_filter_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 00000000..b98df0b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,43 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// The type of string matching to be used for a dynamic FeedItemSet filter. +message FeedItemSetStringFilterTypeEnum { + // describe the possible types for a FeedItemSetStringFilter. + enum FeedItemSetStringFilterType { + // Not specified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The dynamic set filter will use exact string matching. + EXACT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_status.proto new file mode 100644 index 00000000..b265dc92 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item status. + +// Container for enum describing possible statuses of a feed item. +message FeedItemStatusEnum { + // Possible statuses of a feed item. + enum FeedItemStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item is enabled. + ENABLED = 2; + + // Feed item has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_device.proto new file mode 100644 index 00000000..99ddc819 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_device.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item target device type. + +// Container for enum describing possible data types for a feed item target +// device. +message FeedItemTargetDeviceEnum { + // Possible data types for a feed item target device. + enum FeedItemTargetDevice { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile. + MOBILE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_status.proto new file mode 100644 index 00000000..1bda4ab1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item target status. + +// Container for enum describing possible statuses of a feed item target. +message FeedItemTargetStatusEnum { + // Possible statuses of a feed item target. + enum FeedItemTargetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item target is enabled. + ENABLED = 2; + + // Feed item target has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_type.proto new file mode 100644 index 00000000..609f84fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_target_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item target type status. + +// Container for enum describing possible types of a feed item target. +message FeedItemTargetTypeEnum { + // Possible type of a feed item target. + enum FeedItemTargetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item targets a campaign. + CAMPAIGN = 2; + + // Feed item targets an ad group. + AD_GROUP = 3; + + // Feed item targets a criterion. + CRITERION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_validation_status.proto new file mode 100644 index 00000000..739b996a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_item_validation_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed item validation statuses. + +// Container for enum describing possible validation statuses of a feed item. +message FeedItemValidationStatusEnum { + // The possible validation statuses of a feed item. + enum FeedItemValidationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Validation pending. + PENDING = 2; + + // An error was found. + INVALID = 3; + + // Feed item is semantically well-formed. + VALID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_link_status.proto new file mode 100644 index 00000000..23817d90 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_link_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing status of a feed link. + +// Container for an enum describing possible statuses of a feed link. +message FeedLinkStatusEnum { + // Possible statuses of a feed link. + enum FeedLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed link is enabled. + ENABLED = 2; + + // Feed link has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_criterion_type.proto new file mode 100644 index 00000000..b5c54f79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing criterion types for feed mappings. + +// Container for enum describing possible criterion types for a feed mapping. +message FeedMappingCriterionTypeEnum { + // Possible placeholder types for a feed mapping. + enum FeedMappingCriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows campaign targeting at locations within a location feed. + LOCATION_EXTENSION_TARGETING = 4; + + // Allows url targeting for your dynamic search ads within a page feed. + DSA_PAGE_FEED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_status.proto new file mode 100644 index 00000000..6d9d6604 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_mapping_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed mapping status. + +// Container for enum describing possible statuses of a feed mapping. +message FeedMappingStatusEnum { + // Possible statuses of a feed mapping. + enum FeedMappingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed mapping is enabled. + ENABLED = 2; + + // Feed mapping has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_origin.proto new file mode 100644 index 00000000..31536d41 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_origin.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed origin. + +// Container for enum describing possible values for a feed origin. +message FeedOriginEnum { + // Possible values for a feed origin. + enum FeedOrigin { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The FeedAttributes for this Feed are managed by the + // user. Users can add FeedAttributes to this Feed. + USER = 2; + + // The FeedAttributes for 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/google-cloud/protos/google/ads/googleads/v10/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/feed_status.proto new file mode 100644 index 00000000..865e9c04 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/feed_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed status. + +// Container for enum describing possible statuses of a feed. +message FeedStatusEnum { + // Possible statuses of a feed. + enum FeedStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed is enabled. + ENABLED = 2; + + // Feed has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/flight_placeholder_field.proto new file mode 100644 index 00000000..e3b37b48 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/flight_placeholder_field.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Flight placeholder fields. + +// Values for Flight placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message FlightPlaceholderFieldEnum { + // Possible values for Flight placeholder fields. + enum FlightPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Optional. Combination of destination id and origin id must be unique per + // offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + FLIGHT_DESCRIPTION = 4; + + // Data Type: STRING. Shorter names are recommended. + ORIGIN_NAME = 5; + + // Data Type: STRING. Shorter names are recommended. + DESTINATION_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + FLIGHT_PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + FLIGHT_SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 13; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_event_type.proto new file mode 100644 index 00000000..ca9d9966 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_event_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the type of event that the cap applies to. +message FrequencyCapEventTypeEnum { + // The type of event that the cap applies to (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_level.proto new file mode 100644 index 00000000..98335ee2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_level.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the level on which the cap is to be applied. +message FrequencyCapLevelEnum { + // The level on which the cap is to be applied (e.g ad group ad, ad group). + // Cap is applied to all the resources of this level. + enum FrequencyCapLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap is applied at the ad group ad level. + AD_GROUP_AD = 2; + + // The cap is applied at the ad group level. + AD_GROUP = 3; + + // The cap is applied at the campaign level. + CAMPAIGN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_time_unit.proto new file mode 100644 index 00000000..0be209f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/frequency_cap_time_unit.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the unit of time the cap is defined at. +message FrequencyCapTimeUnitEnum { + // Unit of time the cap is defined at (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/gender_type.proto new file mode 100644 index 00000000..d33c7485 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/gender_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing gender types. + +// Container for enum describing the type of demographic genders. +message GenderTypeEnum { + // The type of demographic genders (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/geo_target_constant_status.proto new file mode 100644 index 00000000..3d72398b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/geo_target_constant_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_restriction.proto new file mode 100644 index 00000000..4fb38cfe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_restriction.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing GeoTargetingRestriction. + +// Message describing feed item geo targeting restriction. +message GeoTargetingRestrictionEnum { + // A restriction used to determine if the request context's + // geo should be matched. + enum GeoTargetingRestriction { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates that request context should match the physical location of + // the user. + LOCATION_OF_PRESENCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_type.proto new file mode 100644 index 00000000..2f9a7fef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/geo_targeting_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing geo targeting types. + +// Container for enum describing possible geo targeting types. +message GeoTargetingTypeEnum { + // The possible geo targeting types. + enum GeoTargetingType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Location the user is interested in while making the query. + AREA_OF_INTEREST = 2; + + // Location of the user issuing the query. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/goal_config_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/goal_config_level.proto new file mode 100644 index 00000000..4fff1858 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/goal_config_level.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing goal config level. + +// Container for enum describing possible goal config levels. +message GoalConfigLevelEnum { + // The possible goal config levels. Campaigns automatically inherit the + // effective conversion account's customer goals unless they have been + // configured with their own set of campaign goals. + enum GoalConfigLevel { + // The goal config level has not been specified. + UNSPECIFIED = 0; + + // The goal config level is not known in this version. + UNKNOWN = 1; + + // The goal config is defined at the customer level. + CUSTOMER = 2; + + // The goal config is defined at the campaign level. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_category.proto new file mode 100644 index 00000000..a3b90ce9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_category.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing GoogleAdsField categories. + +// Container for enum that determines if the described artifact is a resource +// or a field, and if it is a field, when it segments search queries. +message GoogleAdsFieldCategoryEnum { + // The category of the artifact. + enum GoogleAdsFieldCategory { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // The described artifact is a resource. + RESOURCE = 2; + + // The described artifact is a field and is an attribute of a resource. + // Including a resource attribute field in a query may segment the query if + // the resource to which it is attributed segments the resource found in + // the FROM clause. + ATTRIBUTE = 3; + + // The described artifact is a field and always segments search queries. + SEGMENT = 5; + + // The described artifact is a field and is a metric. It never segments + // search queries. + METRIC = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_data_type.proto new file mode 100644 index 00000000..7da3fac8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/google_ads_field_data_type.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing GoogleAdsField data types. + +// Container holding the various data types. +message GoogleAdsFieldDataTypeEnum { + // These are the various types a GoogleAdsService artifact may take on. + enum GoogleAdsFieldDataType { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // Maps to google.protobuf.BoolValue + // + // Applicable operators: =, != + BOOLEAN = 2; + + // Maps to google.protobuf.StringValue. It can be compared using the set of + // operators specific to dates however. + // + // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN + DATE = 3; + + // Maps to google.protobuf.DoubleValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + DOUBLE = 4; + + // Maps to an enum. It's specific definition can be found at type_url. + // + // Applicable operators: =, !=, IN, NOT IN + ENUM = 5; + + // Maps to google.protobuf.FloatValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + FLOAT = 6; + + // Maps to google.protobuf.Int32Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT32 = 7; + + // Maps to google.protobuf.Int64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT64 = 8; + + // Maps to a protocol buffer message type. The data type's details can be + // found in type_url. + // + // No operators work with MESSAGE fields. + MESSAGE = 9; + + // Maps to google.protobuf.StringValue. Represents the resource name + // (unique id) of a resource or one of its foreign keys. + // + // No operators work with RESOURCE_NAME fields. + RESOURCE_NAME = 10; + + // Maps to google.protobuf.StringValue. + // + // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN + STRING = 11; + + // Maps to google.protobuf.UInt64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + UINT64 = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/google_voice_call_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/google_voice_call_status.proto new file mode 100644 index 00000000..22c2550c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/google_voice_call_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing google voice call status. + +// Container for enum describing possible statuses of a google voice call. +message GoogleVoiceCallStatusEnum { + // Possible statuses of a google voice call. + enum GoogleVoiceCallStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The call was missed. + MISSED = 2; + + // The call was received. + RECEIVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_date_selection_type.proto new file mode 100644 index 00000000..32b6de00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_date_selection_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing hotel date selection types. + +// Container for enum describing possible hotel date selection types +message HotelDateSelectionTypeEnum { + // Enum describing possible hotel date selection types. + enum HotelDateSelectionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dates selected by default. + DEFAULT_SELECTION = 50; + + // Dates selected by the user. + USER_SELECTED = 51; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_placeholder_field.proto new file mode 100644 index 00000000..b3ce3331 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_placeholder_field.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Hotel placeholder fields. + +// Values for Hotel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message HotelPlaceholderFieldEnum { + // Possible values for Hotel placeholder fields. + enum HotelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + PROPERTY_ID = 2; + + // Data Type: STRING. Required. Main headline with property name to be shown + // in dynamic ad. + PROPERTY_NAME = 3; + + // Data Type: STRING. Name of destination to be shown in dynamic ad. + DESTINATION_NAME = 4; + + // Data Type: STRING. Description of destination to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 12; + + // Data Type: INT64. Star rating (1 to 5) used to group like items + // together for recommendation engine. + STAR_RATING = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended property IDs to show together + // with this item. + SIMILAR_PROPERTY_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/hotel_price_bucket.proto b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_price_bucket.proto new file mode 100644 index 00000000..25b90373 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_price_bucket.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing hotel price buckets. + +// Container for enum describing hotel price bucket for a hotel itinerary. +message HotelPriceBucketEnum { + // Enum describing possible hotel price buckets. + enum HotelPriceBucket { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Uniquely lowest price. Partner has the lowest price, and no other + // partners are within a small variance of that price. + LOWEST_UNIQUE = 2; + + // Tied for lowest price. Partner is within a small variance of the lowest + // price. + LOWEST_TIED = 3; + + // Not lowest price. Partner is not within a small variance of the lowest + // price. + NOT_LOWEST = 4; + + // Partner was the only one shown. + ONLY_PARTNER_SHOWN = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_rate_type.proto new file mode 100644 index 00000000..e12bea3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_rate_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing hotel rate types. + +// Container for enum describing possible hotel rate types. +message HotelRateTypeEnum { + // Enum describing possible hotel rate types. + enum HotelRateType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Rate type information is unavailable. + UNAVAILABLE = 2; + + // Rates available to everyone. + PUBLIC_RATE = 3; + + // A membership program rate is available and satisfies basic requirements + // like having a public rate available. UI treatment will strikethrough the + // public rate and indicate that a discount is available to the user. For + // more on Qualified Rates, visit + // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates + QUALIFIED_RATE = 4; + + // Rates available to users that satisfy some eligibility criteria. e.g. + // all signed-in users, 20% of mobile users, all mobile users in Canada, + // etc. + PRIVATE_RATE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/hotel_reconciliation_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_reconciliation_status.proto new file mode 100644 index 00000000..84d802b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/hotel_reconciliation_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing hotel reconciliation row status. + +// Container for HotelReconciliationStatus. +message HotelReconciliationStatusEnum { + // Status of the hotel booking reconciliation. + enum HotelReconciliationStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Bookings are for a future date, or a stay is underway but the check-out + // date hasn't passed. An active reservation can't be reconciled. + RESERVATION_ENABLED = 2; + + // Check-out has already taken place, or the booked dates have passed + // without cancellation. Bookings that are not reconciled within 45 days of + // the check-out date are billed based on the original booking price. + RECONCILIATION_NEEDED = 3; + + // These bookings have been reconciled. Reconciled bookings are billed 45 + // days after the check-out date. + RECONCILED = 4; + + // This booking was marked as canceled. Canceled stays with a value greater + // than zero (due to minimum stay rules or cancellation fees) are billed 45 + // days after the check-out date. + CANCELED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/image_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/image_placeholder_field.proto new file mode 100644 index 00000000..0290e8e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/image_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Advertiser Provided Image placeholder fields. + +// Values for Advertiser Provided Image placeholder fields. +message ImagePlaceholderFieldEnum { + // Possible values for Advertiser Provided Image placeholder fields. + enum ImagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The asset ID of the image. + ASSET_ID = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/income_range_type.proto new file mode 100644 index 00000000..2ebabb3a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/income_range_type.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing income range types. + +// Container for enum describing the type of demographic income ranges. +message IncomeRangeTypeEnum { + // The type of demographic income ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/interaction_event_type.proto new file mode 100644 index 00000000..1168243c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/interaction_event_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing types of payable and free interactions. + +// Container for enum describing types of payable and free interactions. +message InteractionEventTypeEnum { + // Enum describing possible types of payable and free interactions. + enum InteractionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Click to site. In most cases, this interaction navigates to an external + // location, usually the advertiser's landing page. This is also the default + // InteractionEventType for click events. + CLICK = 2; + + // The user's expressed intent to engage with the ad in-place. + ENGAGEMENT = 3; + + // User viewed a video ad. + VIDEO_VIEW = 4; + + // The default InteractionEventType for ad conversion events. + // This is used when an ad conversion row does NOT indicate + // that the free interactions (i.e., 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/google-cloud/protos/google/ads/googleads/v10/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/interaction_type.proto new file mode 100644 index 00000000..d3cb3164 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/interaction_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing interaction types. + +// Container for enum describing possible interaction types. +message InteractionTypeEnum { + // Enum describing possible interaction types. + enum InteractionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Calls. + CALLS = 8000; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/invoice_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/invoice_type.proto new file mode 100644 index 00000000..d4f92391 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/invoice_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing invoice types. + +// Container for enum describing the type of invoices. +message InvoiceTypeEnum { + // The possible type of invoices. + enum InvoiceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // An invoice with a negative amount. The account receives a credit. + CREDIT_MEMO = 2; + + // An invoice with a positive amount. The account owes a balance. + INVOICE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/job_placeholder_field.proto new file mode 100644 index 00000000..f1c5d994 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/job_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Job placeholder fields. + +// Values for Job placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message JobPlaceholderFieldEnum { + // Possible values for Job placeholder fields. + enum JobPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. If only JOB_ID is specified, then it must be + // unique. If both JOB_ID and LOCATION_ID are specified, then the + // pair must be unique. + // ID) pair must be unique. + JOB_ID = 2; + + // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique + // per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with job title to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. Job subtitle to be shown in dynamic ad. + SUBTITLE = 5; + + // Data Type: STRING. Description of job to be shown in dynamic ad. + DESCRIPTION = 6; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 7; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 8; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 9; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 10; + + // Data Type: STRING. Salary or salary range of job to be shown in dynamic + // ad. + SALARY = 11; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_match_type.proto new file mode 100644 index 00000000..3d90fa49 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_match_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Keyword match types. + +// Message describing Keyword match types. +message KeywordMatchTypeEnum { + // Possible Keyword match types. + enum KeywordMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Exact match. + EXACT = 2; + + // Phrase match. + PHRASE = 3; + + // Broad match. + BROAD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_aggregate_metric_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 00000000..36c71243 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing keyword plan aggregate metric types. + +// The enumeration of keyword plan aggregate metric types. +message KeywordPlanAggregateMetricTypeEnum { + // Aggregate fields. + enum KeywordPlanAggregateMetricType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The device breakdown of aggregate search volume. + DEVICE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_competition_level.proto new file mode 100644 index 00000000..765ab35a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_competition_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Keyword Planner competition levels. + +// Container for enumeration of keyword competition levels. The competition +// level indicates how competitive ad placement is for a keyword and +// is determined by the number of advertisers bidding on that keyword relative +// to all keywords across Google. The competition level can depend on the +// location and Search Network targeting options you've selected. +message KeywordPlanCompetitionLevelEnum { + // Competition level of a keyword. + enum KeywordPlanCompetitionLevel { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Low competition. The Competition Index range for this is [0, 33]. + LOW = 2; + + // Medium competition. The Competition Index range for this is [34, 66]. + MEDIUM = 3; + + // High competition. The Competition Index range for this is [67, 100]. + HIGH = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_concept_group_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 00000000..df2b4db3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Keyword Planner Concept Group types. + +// Container for enumeration of keyword plan concept group types. +message KeywordPlanConceptGroupTypeEnum { + // Enumerates keyword plan concept group types. + enum KeywordPlanConceptGroupType { + // The concept group classification different from brand/non-brand. + // This is a catch all bucket for all classifications that are none of the + // below. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The concept group classification is based on BRAND. + BRAND = 2; + + // The concept group classification based on BRAND, that didn't fit well + // with the BRAND classifications. These are generally outliers and can have + // very few keywords in this type of classification. + OTHER_BRANDS = 3; + + // These concept group classification is not based on BRAND. This is + // returned for generic keywords that don't have a brand association. + NON_BRAND = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 00000000..1d793b1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing keyword plan forecast intervals. + +// Container for enumeration of forecast intervals. +message KeywordPlanForecastIntervalEnum { + // Forecast intervals. + enum KeywordPlanForecastInterval { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The next week date range for keyword plan. The next week is based + // on the default locale of the user's account and is mostly SUN-SAT or + // MON-SUN. + // This can be different from next-7 days. + NEXT_WEEK = 3; + + // The next month date range for keyword plan. + NEXT_MONTH = 4; + + // The next quarter date range for keyword plan. + NEXT_QUARTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_keyword_annotation.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 00000000..1c745781 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Keyword Planner Keyword annotation types. + +// Container for enumeration of keyword plan keyword annotations. +message KeywordPlanKeywordAnnotationEnum { + // Enumerates keyword plan annotations that can be requested. + enum KeywordPlanKeywordAnnotation { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Return the keyword concept and concept group data. + KEYWORD_CONCEPT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_network.proto new file mode 100644 index 00000000..92f78c58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/keyword_plan_network.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Keyword Planner forecastable network types. + +// Container for enumeration of keyword plan forecastable network types. +message KeywordPlanNetworkEnum { + // Enumerates keyword plan forecastable network types. + enum KeywordPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google Search. + GOOGLE_SEARCH = 2; + + // Google Search + Search partners. + GOOGLE_SEARCH_AND_PARTNERS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/label_status.proto new file mode 100644 index 00000000..1ae1162e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/label_status.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_call_to_action_type.proto new file mode 100644 index 00000000..5446efd3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Describes the type of call-to-action phrases in a lead form. +message LeadFormCallToActionTypeEnum { + // Enum describing the type of call-to-action phrases in a lead form. + enum LeadFormCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Learn more. + LEARN_MORE = 2; + + // Get quote. + GET_QUOTE = 3; + + // Apply now. + APPLY_NOW = 4; + + // Sign Up. + SIGN_UP = 5; + + // Contact us. + CONTACT_US = 6; + + // Subscribe. + SUBSCRIBE = 7; + + // Download. + DOWNLOAD = 8; + + // Book now. + BOOK_NOW = 9; + + // Get offer. + GET_OFFER = 10; + + // Register. + REGISTER = 11; + + // Get info. + GET_INFO = 12; + + // Request a demo. + REQUEST_DEMO = 13; + + // Join now. + JOIN_NOW = 14; + + // Get started. + GET_STARTED = 15; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_desired_intent.proto b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_desired_intent.proto new file mode 100644 index 00000000..5a5c81b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_desired_intent.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Describes the desired level of intent of generated leads. +message LeadFormDesiredIntentEnum { + // Enum describing the desired 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/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_field_user_input_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_field_user_input_type.proto new file mode 100644 index 00000000..42e7d2f2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_field_user_input_type.proto @@ -0,0 +1,292 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 city. + CITY = 9; + + // The user will be asked to fill in their region part of the address (e.g. + // 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" + VEHICLE_MODEL = 1001; + + // Question: "Which type of vehicle are you interested in?" + // Category: "Auto" + VEHICLE_TYPE = 1002; + + // Question: "What is your preferred dealership?" + // Category: "Auto" + PREFERRED_DEALERSHIP = 1003; + + // Question: "When do you plan on purchasing a vehicle?" + // Category: "Auto" + VEHICLE_PURCHASE_TIMELINE = 1004; + + // Question: "Do you own a vehicle?" + // Category: "Auto" + VEHICLE_OWNERSHIP = 1005; + + // Question: "What vehicle ownership option are you interested in?" + // Category: "Auto" + VEHICLE_PAYMENT_TYPE = 1009; + + // Question: "What type of vehicle condition are you interested in?" + // Category: "Auto" + VEHICLE_CONDITION = 1010; + + // Question: "What size is your company?" + // Category: "Business" + COMPANY_SIZE = 1006; + + // Question: "What is your annual sales volume?" + // Category: "Business" + ANNUAL_SALES = 1007; + + // Question: "How many years have you been in business?" + // Category: "Business" + YEARS_IN_BUSINESS = 1008; + + // Question: "What is your job department?" + // Category: "Business" + JOB_DEPARTMENT = 1011; + + // Question: "What is your job role?" + // Category: "Business" + JOB_ROLE = 1012; + + // Question: "Which program are you interested in?" + // Category: "Education" + EDUCATION_PROGRAM = 1013; + + // Question: "Which course are you interested in?" + // Category: "Education" + EDUCATION_COURSE = 1014; + + // Question: "Which product are you interested in?" + // Category: "General" + PRODUCT = 1016; + + // Question: "Which service are you interested in?" + // Category: "General" + SERVICE = 1017; + + // Question: "Which offer are you interested in?" + // Category: "General" + OFFER = 1018; + + // Question: "Which category are you interested in?" + // Category: "General" + CATEGORY = 1019; + + // Question: "What is your preferred method of contact?" + // Category: "General" + PREFERRED_CONTACT_METHOD = 1020; + + // Question: "What is your preferred location?" + // Category: "General" + PREFERRED_LOCATION = 1021; + + // Question: "What is the best time to contact you?" + // Category: "General" + PREFERRED_CONTACT_TIME = 1022; + + // Question: "When are you looking to make a purchase?" + // Category: "General" + PURCHASE_TIMELINE = 1023; + + // Question: "How many years of work experience do you have?" + // Category: "Jobs" + YEARS_OF_EXPERIENCE = 1048; + + // Question: "What industry do you work in?" + // Category: "Jobs" + JOB_INDUSTRY = 1049; + + // Question: "What is your highest level of education?" + // Category: "Jobs" + LEVEL_OF_EDUCATION = 1050; + + // Question: "What type of property are you looking for?" + // Category: "Real Estate" + PROPERTY_TYPE = 1024; + + // Question: "What do you need a realtor's help with?" + // Category: "Real Estate" + REALTOR_HELP_GOAL = 1025; + + // Question: "What neighborhood are you interested in?" + // Category: "Real Estate" + PROPERTY_COMMUNITY = 1026; + + // Question: "What price range are you looking for?" + // Category: "Real Estate" + PRICE_RANGE = 1027; + + // Question: "How many bedrooms are you looking for?" + // Category: "Real Estate" + NUMBER_OF_BEDROOMS = 1028; + + // Question: "Are you looking for a fully furnished property?" + // Category: "Real Estate" + FURNISHED_PROPERTY = 1029; + + // Question: "Are you looking for properties that allow pets?" + // Category: "Real Estate" + PETS_ALLOWED_PROPERTY = 1030; + + // Question: "What is the next product you plan to purchase?" + // Category: "Retail" + NEXT_PLANNED_PURCHASE = 1031; + + // Question: "Would you like to sign up for an event?" + // Category: "Retail" + EVENT_SIGNUP_INTEREST = 1033; + + // Question: "Where are you interested in shopping?" + // Category: "Retail" + PREFERRED_SHOPPING_PLACES = 1034; + + // Question: "What is your favorite brand?" + // Category: "Retail" + FAVORITE_BRAND = 1035; + + // Question: "Which type of valid commercial license do you have?" + // Category: "Transportation" + TRANSPORTATION_COMMERCIAL_LICENSE_TYPE = 1036; + + // Question: "Interested in booking an event?" + // Category: "Travel" + EVENT_BOOKING_INTEREST = 1038; + + // Question: "What is your destination country?" + // Category: "Travel" + DESTINATION_COUNTRY = 1039; + + // Question: "What is your destination city?" + // Category: "Travel" + DESTINATION_CITY = 1040; + + // Question: "What is your departure country?" + // Category: "Travel" + DEPARTURE_COUNTRY = 1041; + + // Question: "What is your departure city?" + // Category: "Travel" + DEPARTURE_CITY = 1042; + + // Question: "What is your departure date?" + // Category: "Travel" + DEPARTURE_DATE = 1043; + + // Question: "What is your return date?" + // Category: "Travel" + RETURN_DATE = 1044; + + // Question: "How many people are you traveling with?" + // Category: "Travel" + NUMBER_OF_TRAVELERS = 1045; + + // Question: "What is your travel budget?" + // Category: "Travel" + TRAVEL_BUDGET = 1046; + + // Question: "Where do you want to stay during your travel?" + // Category: "Travel" + TRAVEL_ACCOMMODATION = 1047; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_post_submit_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 00000000..7dcf79e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Describes the type of post-submit call-to-action phrases for a lead form. +message LeadFormPostSubmitCallToActionTypeEnum { + // Enum describing the type of post-submit call-to-action phrases for a lead + // form. + enum LeadFormPostSubmitCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Visit site. + VISIT_SITE = 2; + + // Download. + DOWNLOAD = 3; + + // Learn more. + LEARN_MORE = 4; + + // Shop now. + SHOP_NOW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v10/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 00000000..d25299ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing app store types for a legacy app install ad. + +// Container for enum describing app store type in a legacy app install ad. +message LegacyAppInstallAdAppStoreEnum { + // App store type in a legacy app install ad. + enum LegacyAppInstallAdAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_APP_STORE = 2; + + // Google Play. + GOOGLE_PLAY = 3; + + // Windows Store. + WINDOWS_STORE = 4; + + // Windows Phone Store. + WINDOWS_PHONE_STORE = 5; + + // The app is hosted in a Chinese app store. + CN_APP_STORE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/linked_account_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/linked_account_type.proto new file mode 100644 index 00000000..44c016de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/linked_account_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing different types of Linked accounts. +message LinkedAccountTypeEnum { + // Describes the possible link types between a Google Ads customer + // and another account. + enum LinkedAccountType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A link to provide third party app analytics data. + THIRD_PARTY_APP_ANALYTICS = 2; + + // A link to Data partner. + DATA_PARTNER = 3; + + // A link to Google Ads. + GOOGLE_ADS = 4; + + // A link to Hotel Center. + HOTEL_CENTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 00000000..e88df09e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_bidding_category_level.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 00000000..f81d1a40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_custom_attribute_index.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_channel.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_channel.proto new file mode 100644 index 00000000..26419f23 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_condition.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_condition.proto new file mode 100644 index 00000000..cd114cbd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_type_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 00000000..8c7ecb2a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_type_enum.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_type_enum.proto new file mode 100644 index 00000000..bcb8a5e1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_vertical.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_vertical.proto new file mode 100644 index 00000000..efcd165b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_filter_vertical.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_type.proto new file mode 100644 index 00000000..06ff0368 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/listing_group_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the type of the listing group. +message ListingGroupTypeEnum { + // The type of the listing group. + enum ListingGroupType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Subdivision of products along some listing dimension. These nodes + // are not used by serving to target listing entries, but is purely + // to define the structure of the tree. + SUBDIVISION = 2; + + // Listing group unit that defines a bid. + UNIT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/local_placeholder_field.proto new file mode 100644 index 00000000..b3b44493 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/local_placeholder_field.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Local placeholder fields. + +// Values for Local placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message LocalPlaceholderFieldEnum { + // Possible values for Local placeholder fields. + enum LocalPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + DEAL_ID = 2; + + // Data Type: STRING. Required. Main headline with local deal title to be + // shown in dynamic ad. + DEAL_NAME = 3; + + // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. + SUBTITLE = 4; + + // Data Type: STRING. Description of local deal to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. Example: "100.00 USD" + PRICE = 6; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 7; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 8; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 9; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 10; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 11; + + // Data Type: STRING. Category of local deal used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 00000000..12163ae4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Location Extension Targeting criterion fields. + +// Values for Location Extension Targeting criterion fields. +message LocationExtensionTargetingCriterionFieldEnum { + // Possible values for Location Extension Targeting criterion fields. + enum LocationExtensionTargetingCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 2; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 3; + + // Data Type: STRING. City of the business address. + CITY = 4; + + // Data Type: STRING. Province of the business address. + PROVINCE = 5; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 6; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v10/enums/location_group_radius_units.proto new file mode 100644 index 00000000..c8c35b58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/location_group_radius_units.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing location group radius units. + +// Container for enum describing unit of radius in location group. +message LocationGroupRadiusUnitsEnum { + // The unit of radius distance in location group (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/location_placeholder_field.proto new file mode 100644 index 00000000..bfc97465 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/location_placeholder_field.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Location placeholder fields. + +// Values for Location placeholder fields. +message LocationPlaceholderFieldEnum { + // Possible values for Location placeholder fields. + enum LocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/location_source_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/location_source_type.proto new file mode 100644 index 00000000..e46671e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/location_source_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing location source types. + +// Used to distinguish the location source type. +message LocationSourceTypeEnum { + // The possible types of a location source. + enum LocationSourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Locations associated with the customer's linked Business Profile. + GOOGLE_MY_BUSINESS = 2; + + // Affiliate (chain) store locations. For example, Best Buy store locations. + AFFILIATE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/manager_link_status.proto new file mode 100644 index 00000000..cd6ceb07 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/manager_link_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing possible status of a manager and client link. +message ManagerLinkStatusEnum { + // Possible statuses of a link. + enum ManagerLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates current in-effect relationship + ACTIVE = 2; + + // Indicates terminated relationship + INACTIVE = 3; + + // Indicates relationship has been requested by manager, but the client + // hasn't accepted yet. + PENDING = 4; + + // Relationship was requested by the manager, but the client has refused. + REFUSED = 5; + + // Indicates relationship has been requested by manager, but manager + // canceled it. + CANCELED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_context_type.proto new file mode 100644 index 00000000..31c0a244 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_context_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing matching function context types. + +// Container for context types for an operand in a matching function. +message MatchingFunctionContextTypeEnum { + // Possible context types for an operand in a matching function. + enum MatchingFunctionContextType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item id in the request context. + FEED_ITEM_ID = 2; + + // The device being used (possible values are 'Desktop' or 'Mobile'). + DEVICE_NAME = 3; + + // Feed item set id in the request context. + FEED_ITEM_SET_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_operator.proto new file mode 100644 index 00000000..cebe3e65 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/matching_function_operator.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing matching function operators. + +// Container for enum describing matching function operator. +message MatchingFunctionOperatorEnum { + // Possible operators in a matching function. + enum MatchingFunctionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The IN operator. + IN = 2; + + // The IDENTITY operator. + IDENTITY = 3; + + // The EQUALS operator + EQUALS = 4; + + // Operator that takes two or more operands that are of type + // FunctionOperand and checks that all the operands evaluate to true. + // For functions related to ad formats, all the operands must be in + // left_operands. + AND = 5; + + // Operator that returns true if the elements in left_operands contain any + // of the elements in right_operands. Otherwise, return false. The + // right_operands must contain at least 1 and no more than 3 + // ConstantOperands. + CONTAINS_ANY = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/media_type.proto new file mode 100644 index 00000000..fa724f3e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/media_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing media types. + +// Container for enum describing the types of media. +message MediaTypeEnum { + // The type of media. + enum MediaType { + // The media type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Static image, used for image ad. + IMAGE = 2; + + // Small image, used for map ad. + ICON = 3; + + // ZIP file, used in fields of template ads. + MEDIA_BUNDLE = 4; + + // Audio file. + AUDIO = 5; + + // Video file. + VIDEO = 6; + + // Animated image, such as animated GIF. + DYNAMIC_IMAGE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/merchant_center_link_status.proto new file mode 100644 index 00000000..01056e08 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/merchant_center_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v10/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/message_placeholder_field.proto new file mode 100644 index 00000000..e5cabec8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/message_placeholder_field.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Message placeholder fields. + +// Values for Message placeholder fields. +message MessagePlaceholderFieldEnum { + // Possible values for Message placeholder fields. + enum MessagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of your business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Country code of phone number. + COUNTRY_CODE = 3; + + // Data Type: STRING. A phone number that's capable of sending and receiving + // text messages. + PHONE_NUMBER = 4; + + // Data Type: STRING. The text that will go in your click-to-message ad. + MESSAGE_EXTENSION_TEXT = 5; + + // Data Type: STRING. The message text automatically shows in people's + // messaging apps when they tap to send you a message. + MESSAGE_TEXT = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/mime_type.proto new file mode 100644 index 00000000..641dc3b8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/mime_type.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v10/enums/minute_of_hour.proto new file mode 100644 index 00000000..51ae76b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/minute_of_hour.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of quarter-hours. +message MinuteOfHourEnum { + // Enumerates of quarter-hours. E.g. "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/google-cloud/protos/google/ads/googleads/v10/enums/mobile_app_vendor.proto b/google-cloud/protos/google/ads/googleads/v10/enums/mobile_app_vendor.proto new file mode 100644 index 00000000..33f1a9e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/mobile_app_vendor.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/mobile_device_type.proto new file mode 100644 index 00000000..402b434a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/mobile_device_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing mobile device types. + +// Container for enum describing the types of mobile device. +message MobileDeviceTypeEnum { + // The type of mobile device. + enum MobileDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile phones. + MOBILE = 2; + + // Tablets. + TABLET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v10/enums/month_of_year.proto new file mode 100644 index 00000000..bd6bbaed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/month_of_year.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of months of the year, e.g., "January". +message MonthOfYearEnum { + // Enumerates months of the year, e.g., "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/google-cloud/protos/google/ads/googleads/v10/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/negative_geo_target_type.proto new file mode 100644 index 00000000..434e76d7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/negative_geo_target_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing negative geo target types. + +// Container for enum describing possible negative geo target types. +message NegativeGeoTargetTypeEnum { + // The possible negative geo target types. + enum NegativeGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that a user is excluded from seeing the ad if they + // are in, or show interest in, advertiser's excluded locations. + PRESENCE_OR_INTEREST = 4; + + // Specifies that a user is excluded from seeing the ad if they + // are in advertiser's excluded locations. + PRESENCE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 00000000..1607d4b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing offline user data job failure reasons. + +// Container for enum describing reasons why an offline user data job +// failed to be processed. +message OfflineUserDataJobFailureReasonEnum { + // The failure reason of an offline user data job. + enum OfflineUserDataJobFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The matched transactions are insufficient. + INSUFFICIENT_MATCHED_TRANSACTIONS = 2; + + // The uploaded transactions are insufficient. + INSUFFICIENT_TRANSACTIONS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_match_rate_range.proto b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 00000000..98cc0a88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing reasons match rate ranges for a customer match +// list upload. +message OfflineUserDataJobMatchRateRangeEnum { + // The match rate range of an offline user data job. + enum OfflineUserDataJobMatchRateRange { + // Not specified. + UNSPECIFIED = 0; + + // Default value for match rate range. + UNKNOWN = 1; + + // Match rate range for offline data upload entity is between 0% and 19%. + MATCH_RANGE_LESS_THAN_20 = 2; + + // Match rate range for offline data upload entity is between 20% and 30%. + MATCH_RANGE_20_TO_30 = 3; + + // Match rate range for offline data upload entity is between 31% and 40%. + MATCH_RANGE_31_TO_40 = 4; + + // Match rate range for offline data upload entity is between 41% and 50%. + MATCH_RANGE_41_TO_50 = 5; + + // Match rate range for offline data upload entity is between 51% and 60%. + MATCH_RANGE_51_TO_60 = 6; + + // Match rate range for offline data upload entity is between 61% and 70%. + MATCH_RANGE_61_TO_70 = 7; + + // Match rate range for offline data upload entity is between 71% and 80%. + MATCH_RANGE_71_TO_80 = 8; + + // Match rate range for offline data upload entity is between 81% and 90%. + MATCH_RANGE_81_TO_90 = 9; + + // Match rate range for offline data upload entity more than or equal to + // 91%. + MATCH_RANGE_91_TO_100 = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_status.proto new file mode 100644 index 00000000..1df6dfa6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing offline user data job status. + +// Container for enum describing status of an offline user data job. +message OfflineUserDataJobStatusEnum { + // The status of an offline user data job. + enum OfflineUserDataJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job has been successfully created and pending for uploading. + PENDING = 2; + + // Upload(s) have been accepted and data is being processed. + RUNNING = 3; + + // Uploaded data has been successfully processed. + SUCCESS = 4; + + // Uploaded data has failed to be processed. + FAILED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_type.proto new file mode 100644 index 00000000..d6893c3f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/offline_user_data_job_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing offline user data job types. + +// Container for enum describing types of an offline user data job. +message OfflineUserDataJobTypeEnum { + // The type of an offline user data job. + enum OfflineUserDataJobType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Store Sales Direct data for self service. + STORE_SALES_UPLOAD_FIRST_PARTY = 2; + + // Store Sales Direct data for third party. + STORE_SALES_UPLOAD_THIRD_PARTY = 3; + + // Customer Match user list data. + CUSTOMER_MATCH_USER_LIST = 4; + + // Customer Match with attribute data. + CUSTOMER_MATCH_WITH_ATTRIBUTES = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/operating_system_version_operator_type.proto new file mode 100644 index 00000000..d9435aa9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/operating_system_version_operator_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing operating system version operator types. + +// Container for enum describing the type of OS operators. +message OperatingSystemVersionOperatorTypeEnum { + // The type of operating system version. + enum OperatingSystemVersionOperatorType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals to the specified version. + EQUALS_TO = 2; + + // Greater than or equals to the specified version. + GREATER_THAN_EQUALS_TO = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/optimization_goal_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/optimization_goal_type.proto new file mode 100644 index 00000000..85388c94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/optimization_goal_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing optimization goal type. + +// Container for enum describing the type of optimization goal. +message OptimizationGoalTypeEnum { + // The type of optimization goal + enum OptimizationGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Optimize for call clicks. Call click conversions are times people + // selected 'Call' to contact a store after viewing an ad. + CALL_CLICKS = 2; + + // Optimize for driving directions. Driving directions conversions are + // times people selected 'Get directions' to navigate to a store after + // viewing an ad. + DRIVING_DIRECTIONS = 3; + + // Optimize for pre-registration. Pre-registration conversions are the + // number of pre-registration signups to receive a notification when the app + // is released. + APP_PRE_REGISTRATION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/parental_status_type.proto new file mode 100644 index 00000000..ef499d21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/parental_status_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing parenal status types. + +// Container for enum describing the type of demographic parental statuses. +message ParentalStatusTypeEnum { + // The type of parental statuses (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v10/enums/payment_mode.proto new file mode 100644 index 00000000..9e162d79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/payment_mode.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing payment modes. + +// Container for enum describing possible payment modes. +message PaymentModeEnum { + // Enum describing possible payment modes. + enum PaymentMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Pay per click. + CLICKS = 4; + + // Pay per conversion value. This mode is only supported by campaigns with + // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and + // BudgetType.HOTEL_ADS_COMMISSION. + 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/google-cloud/protos/google/ads/googleads/v10/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/placeholder_type.proto new file mode 100644 index 00000000..c3759fa6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/placeholder_type.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing feed placeholder types. + +// Container for enum describing possible placeholder types for a feed mapping. +message PlaceholderTypeEnum { + // Possible placeholder types for a feed mapping. + enum PlaceholderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Lets you show links in your ad to pages from your website, including the + // main landing page. + SITELINK = 2; + + // Lets you attach a phone number to an ad, allowing customers to call + // directly from the ad. + CALL = 3; + + // Lets you provide users with a link that points to a mobile app in + // addition to a website. + APP = 4; + + // Lets you show locations of businesses from your Business Profile + // in your ad. This helps people find your locations by showing your + // ads with your address, a map to your location, or the distance to your + // business. This extension type is useful to draw customers to your + // brick-and-mortar location. + LOCATION = 5; + + // If you sell your product through retail chains, affiliate location + // extensions let you show nearby stores that carry your products. + AFFILIATE_LOCATION = 6; + + // Lets you include additional text with your search ads that provide + // detailed information about your business, including products and services + // you offer. Callouts appear in ads at the top and bottom of Google search + // results. + CALLOUT = 7; + + // Lets you add more info to your ad, specific to some predefined categories + // such as types, brands, styles, etc. A minimum of 3 text (SNIPPETS) values + // are required. + STRUCTURED_SNIPPET = 8; + + // Allows users to see your ad, click an icon, and contact you directly by + // text message. With one tap on your ad, people can contact you to book an + // appointment, get a quote, ask for information, or request a service. + MESSAGE = 9; + + // Lets you display prices for a list of items along with your ads. A price + // feed is composed of three to eight price table rows. + PRICE = 10; + + // Allows you to 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/google-cloud/protos/google/ads/googleads/v10/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/placement_type.proto new file mode 100644 index 00000000..e89e45cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/placement_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing placement types. + +// Container for enum describing possible placement types. +message PlacementTypeEnum { + // Possible placement types for a feed mapping. + enum PlacementType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Websites(e.g. 'www.flowers4sale.com'). + WEBSITE = 2; + + // Mobile application categories(e.g. 'Games'). + MOBILE_APP_CATEGORY = 3; + + // mobile applications(e.g. 'mobileapp::2-com.whatsthewordanswers'). + MOBILE_APPLICATION = 4; + + // YouTube videos(e.g. 'youtube.com/video/wtLJPvx7-ys'). + YOUTUBE_VIDEO = 5; + + // YouTube channels(e.g. 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). + YOUTUBE_CHANNEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_approval_status.proto new file mode 100644 index 00000000..1bf5723d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_approval_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing policy approval statuses. + +// Container for enum describing possible policy approval statuses. +message PolicyApprovalStatusEnum { + // The possible policy approval statuses. When there are several approval + // statuses available the most severe one will be used. The order of severity + // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. + enum PolicyApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Will not serve. + DISAPPROVED = 2; + + // Serves with restrictions. + APPROVED_LIMITED = 3; + + // Serves without restrictions. + APPROVED = 4; + + // Will not serve in targeted countries, but may serve for users who are + // searching for information about the targeted countries. + AREA_OF_INTEREST_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_review_status.proto new file mode 100644 index 00000000..3475e4fa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_review_status.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing policy review statuses. + +// Container for enum describing possible policy review statuses. +message PolicyReviewStatusEnum { + // The possible policy review statuses. + enum PolicyReviewStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Currently under review. + REVIEW_IN_PROGRESS = 2; + + // Primary review complete. Other reviews may be continuing. + REVIEWED = 3; + + // The resource has been resubmitted for approval or its policy decision has + // been appealed. + UNDER_APPEAL = 4; + + // The resource is eligible and may be serving but could still undergo + // further review. + ELIGIBLE_MAY_SERVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_entry_type.proto new file mode 100644 index 00000000..1a8a0a21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_entry_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing policy topic entry types. + +// Container for enum describing possible policy topic entry types. +message PolicyTopicEntryTypeEnum { + // The possible policy topic entry types. + enum PolicyTopicEntryType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The resource will not be served. + PROHIBITED = 2; + + // The resource will not be served under some circumstances. + LIMITED = 4; + + // The resource cannot serve at all because of the current targeting + // criteria. + FULLY_LIMITED = 8; + + // May be of interest, but does not limit how the resource is served. + DESCRIPTIVE = 5; + + // Could increase coverage beyond normal. + BROADENING = 6; + + // Constrained for all targeted countries, but may serve in other countries + // through area of interest. + AREA_OF_INTEREST_ONLY = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 00000000..221d7b25 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing policy topic evidence destination mismatch url types. + +// Container for enum describing possible policy topic evidence destination +// mismatch url types. +message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { + // The possible policy topic evidence destination mismatch url types. + enum PolicyTopicEvidenceDestinationMismatchUrlType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The display url. + DISPLAY_URL = 2; + + // The final url. + FINAL_URL = 3; + + // The final mobile url. + FINAL_MOBILE_URL = 4; + + // The tracking url template, with substituted desktop url. + TRACKING_URL = 5; + + // The tracking url template, with substituted mobile url. + MOBILE_TRACKING_URL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 00000000..65eee4b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_device.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing device of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working devices. +message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { + // The possible policy topic evidence destination not working devices. + enum PolicyTopicEvidenceDestinationNotWorkingDevice { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Landing page doesn't work on desktop device. + DESKTOP = 2; + + // Landing page doesn't work on Android device. + ANDROID = 3; + + // Landing page doesn't work on iOS device. + IOS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 00000000..89ca8e40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing DNS error types of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working DNS error types. +message PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum { + // The possible policy topic evidence destination not working DNS error types. + enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Host name not found in DNS when fetching landing page. + HOSTNAME_NOT_FOUND = 2; + + // Google internal crawler issue when communicating with DNS. This error + // doesn't mean the landing page doesn't work. Google will recrawl the + // landing page. + GOOGLE_CRAWLER_DNS_ISSUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/positive_geo_target_type.proto new file mode 100644 index 00000000..b687a7dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/positive_geo_target_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing positive geo target types. + +// Container for enum describing possible positive geo target types. +message PositiveGeoTargetTypeEnum { + // The possible positive geo target types. + enum PositiveGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that an ad is triggered if the user is in, + // or shows interest in, advertiser's targeted locations. + PRESENCE_OR_INTEREST = 5; + + // Specifies that an ad is triggered if the user + // searches for advertiser's targeted locations. + // This can only be used with Search and standard + // Shopping campaigns. + SEARCH_INTEREST = 6; + + // Specifies that an ad is triggered if the user is in + // or regularly in advertiser's targeted locations. + PRESENCE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/preferred_content_type.proto new file mode 100644 index 00000000..fb765037 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/preferred_content_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PreferredContentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing preferred content criterion type. + +// Container for enumeration of preferred content criterion type. +message PreferredContentTypeEnum { + // Enumerates preferred content criterion type. + enum PreferredContentType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Represents top content on YouTube. + YOUTUBE_TOP_CONTENT = 400; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_qualifier.proto new file mode 100644 index 00000000..a041d469 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_qualifier.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing price extension price qualifier type. + +// Container for enum describing a price extension price qualifier. +message PriceExtensionPriceQualifierEnum { + // Enums of price extension price qualifier. + enum PriceExtensionPriceQualifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'From' qualifier for the price. + FROM = 2; + + // 'Up to' qualifier for the price. + UP_TO = 3; + + // 'Average' qualifier for the price. + AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_unit.proto new file mode 100644 index 00000000..1ae283de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_price_unit.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing price extension price unit. + +// Container for enum describing price extension price unit. +message PriceExtensionPriceUnitEnum { + // Price extension price unit. + enum PriceExtensionPriceUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per hour. + PER_HOUR = 2; + + // Per day. + PER_DAY = 3; + + // Per week. + PER_WEEK = 4; + + // Per month. + PER_MONTH = 5; + + // Per year. + PER_YEAR = 6; + + // Per night. + PER_NIGHT = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_type.proto new file mode 100644 index 00000000..938ad7aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/price_extension_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing price extension type. + +// Container for enum describing types for a price extension. +message PriceExtensionTypeEnum { + // Price extension type. + enum PriceExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The type for showing a list of brands. + BRANDS = 2; + + // The type for showing a list of events. + EVENTS = 3; + + // The type for showing locations relevant to your business. + LOCATIONS = 4; + + // The type for showing sub-regions or districts within a city or region. + NEIGHBORHOODS = 5; + + // The type for showing a collection of product categories. + PRODUCT_CATEGORIES = 6; + + // The type for showing a collection of related product tiers. + PRODUCT_TIERS = 7; + + // The type for showing a collection of services offered by your business. + SERVICES = 8; + + // The type for showing a collection of service categories. + SERVICE_CATEGORIES = 9; + + // The type for showing a collection of related service tiers. + SERVICE_TIERS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/price_placeholder_field.proto new file mode 100644 index 00000000..86b891ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/price_placeholder_field.proto @@ -0,0 +1,238 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Price placeholder fields. + +// Values for Price placeholder fields. +message PricePlaceholderFieldEnum { + // Possible values for Price placeholder fields. + enum PricePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The type of your price feed. Must match one of the + // predefined price feed type exactly. + TYPE = 2; + + // Data Type: STRING. The qualifier of each price. Must match one of the + // predefined price qualifiers exactly. + PRICE_QUALIFIER = 3; + + // Data Type: URL. Tracking template for the price feed when using Upgraded + // URLs. + TRACKING_TEMPLATE = 4; + + // Data Type: STRING. Language of the price feed. Must match one of the + // available available locale codes exactly. + LANGUAGE = 5; + + // Data Type: STRING. Final URL suffix for the price feed when using + // parallel tracking. + FINAL_URL_SUFFIX = 6; + + // Data Type: STRING. The header of item 1 of the table. + ITEM_1_HEADER = 100; + + // Data Type: STRING. The description of item 1 of the table. + ITEM_1_DESCRIPTION = 101; + + // Data Type: MONEY. The price (money with currency) of item 1 of the table, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_level.proto new file mode 100644 index 00000000..cddc8334 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_status.proto new file mode 100644 index 00000000..66122b75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_bidding_category_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v10/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_channel.proto new file mode 100644 index 00000000..0e5273c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_channel_exclusivity.proto new file mode 100644 index 00000000..1538a9b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_channel_exclusivity.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_condition.proto new file mode 100644 index 00000000..6ea2532f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing bidding schemes. + +// Condition of a product offer. +message ProductConditionEnum { + // Enum describing the condition of a product offer. + enum ProductCondition { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The product condition is new. + NEW = 3; + + // The product condition is refurbished. + REFURBISHED = 4; + + // The product condition is used. + USED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/product_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_custom_attribute_index.proto new file mode 100644 index 00000000..f267dfa2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_custom_attribute_index.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing product custom attributes. + +// Container for enum describing the index of the product custom attribute. +message ProductCustomAttributeIndexEnum { + // The index of the product custom attribute. + enum ProductCustomAttributeIndex { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // First product custom attribute. + INDEX0 = 7; + + // Second product custom attribute. + INDEX1 = 8; + + // Third product custom attribute. + INDEX2 = 9; + + // Fourth product custom attribute. + INDEX3 = 10; + + // Fifth product custom attribute. + INDEX4 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v10/enums/product_type_level.proto new file mode 100644 index 00000000..98d42767 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing bidding schemes. + +// Level of the type of a product offer. +message ProductTypeLevelEnum { + // Enum describing the level of the type of a product offer. + enum ProductTypeLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 7; + + // Level 2. + LEVEL2 = 8; + + // Level 3. + LEVEL3 = 9; + + // Level 4. + LEVEL4 = 10; + + // Level 5. + LEVEL5 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 00000000..159c592c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing promotion extension discount modifier. + +// Container for enum describing possible a promotion extension +// discount modifier. +message PromotionExtensionDiscountModifierEnum { + // A promotion extension discount modifier. + enum PromotionExtensionDiscountModifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'Up to'. + UP_TO = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_occasion.proto new file mode 100644 index 00000000..9be881da --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_extension_occasion.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing promotion extension occasion. + +// Container for enum describing a promotion extension occasion. +// For more information about the occasions please 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/google-cloud/protos/google/ads/googleads/v10/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_placeholder_field.proto new file mode 100644 index 00000000..b3c6354d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/promotion_placeholder_field.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Promotion placeholder fields. + +// Values for Promotion placeholder fields. +message PromotionPlaceholderFieldEnum { + // Possible values for Promotion placeholder fields. + enum PromotionPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The text that appears on the ad when the extension is + // shown. + PROMOTION_TARGET = 2; + + // Data Type: STRING. Allows you to 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/google-cloud/protos/google/ads/googleads/v10/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v10/enums/proximity_radius_units.proto new file mode 100644 index 00000000..97c32f84 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/proximity_radius_units.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing proximity radius units. + +// Container for enum describing unit of radius in proximity. +message ProximityRadiusUnitsEnum { + // The unit of radius distance in proximity (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v10/enums/quality_score_bucket.proto new file mode 100644 index 00000000..be3abbf2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/quality_score_bucket.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing quality score buckets. + +// The relative performance compared to other advertisers. +message QualityScoreBucketEnum { + // Enum listing the possible quality score buckets. + enum QualityScoreBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Quality of the creative is below average. + BELOW_AVERAGE = 2; + + // Quality of the creative is average. + AVERAGE = 3; + + // Quality of the creative is above average. + ABOVE_AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_ad_length.proto b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_ad_length.proto new file mode 100644 index 00000000..56c5da45 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_ad_length.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAdLengthProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing ad lengths of a plannable video ad. + +// Message describing length of a plannable video ad. +message ReachPlanAdLengthEnum { + // Possible ad length values. + enum ReachPlanAdLength { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // 6 seconds long ad. + SIX_SECONDS = 2; + + // 15 or 20 seconds long ad. + FIFTEEN_OR_TWENTY_SECONDS = 3; + + // More than 20 seconds long ad. + TWENTY_SECONDS_OR_MORE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_age_range.proto b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_age_range.proto new file mode 100644 index 00000000..57f02b90 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_age_range.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing a plannable age range. + +// Message describing plannable age ranges. +message ReachPlanAgeRangeEnum { + // Possible plannable age range values. + enum ReachPlanAgeRange { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 18 and 34 years old. + AGE_RANGE_18_34 = 2; + + // Between 18 and 44 years old. + AGE_RANGE_18_44 = 3; + + // Between 18 and 49 years old. + AGE_RANGE_18_49 = 4; + + // Between 18 and 54 years old. + AGE_RANGE_18_54 = 5; + + // Between 18 and 64 years old. + AGE_RANGE_18_64 = 6; + + // Between 18 and 65+ years old. + AGE_RANGE_18_65_UP = 7; + + // Between 21 and 34 years old. + AGE_RANGE_21_34 = 8; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 25 and 44 years old. + AGE_RANGE_25_44 = 9; + + // Between 25 and 49 years old. + AGE_RANGE_25_49 = 10; + + // Between 25 and 54 years old. + AGE_RANGE_25_54 = 11; + + // Between 25 and 64 years old. + AGE_RANGE_25_64 = 12; + + // Between 25 and 65+ years old. + AGE_RANGE_25_65_UP = 13; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 35 and 49 years old. + AGE_RANGE_35_49 = 14; + + // Between 35 and 54 years old. + AGE_RANGE_35_54 = 15; + + // Between 35 and 64 years old. + AGE_RANGE_35_64 = 16; + + // Between 35 and 65+ years old. + AGE_RANGE_35_65_UP = 17; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 45 and 64 years old. + AGE_RANGE_45_64 = 18; + + // Between 45 and 65+ years old. + AGE_RANGE_45_65_UP = 19; + + // Between 50 and 65+ years old. + AGE_RANGE_50_65_UP = 20; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // Between 55 and 65+ years old. + AGE_RANGE_55_65_UP = 21; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_network.proto b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_network.proto new file mode 100644 index 00000000..c8965f70 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/reach_plan_network.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing a plannable network. + +// Container for enum describing plannable networks. +message ReachPlanNetworkEnum { + // Possible plannable network values. + enum ReachPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // YouTube network. + YOUTUBE = 2; + + // Google Video Partners (GVP) network. + GOOGLE_VIDEO_PARTNERS = 3; + + // A combination of the YouTube network and the Google Video Partners + // network. + YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/real_estate_placeholder_field.proto new file mode 100644 index 00000000..5a9ec63e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/real_estate_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Real Estate placeholder fields. + +// Values for Real Estate placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message RealEstatePlaceholderFieldEnum { + // Possible values for Real Estate placeholder fields. + enum RealEstatePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Unique ID. + LISTING_ID = 2; + + // Data Type: STRING. Main headline with listing name to be shown in dynamic + // ad. + LISTING_NAME = 3; + + // Data Type: STRING. City name to be shown in dynamic ad. + CITY_NAME = 4; + + // Data Type: STRING. Description of listing to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete listing address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 9; + + // Data Type: STRING. Type of property (house, condo, apartment, etc.) used + // to group like items together for recommendation engine. + PROPERTY_TYPE = 10; + + // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) + // used to group like items together for recommendation engine. + LISTING_TYPE = 11; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 12; + + // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded + // URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/recommendation_type.proto new file mode 100644 index 00000000..9d42fe07 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/recommendation_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 add callout extensions to a campaign. + CALLOUT_EXTENSION = 11; + + // Recommendation to add sitelink extensions to a campaign. + SITELINK_EXTENSION = 12; + + // Recommendation to add call extensions to a campaign. + CALL_EXTENSION = 13; + + // 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 expand keywords to broad match 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/resource_change_operation.proto b/google-cloud/protos/google/ads/googleads/v10/enums/resource_change_operation.proto new file mode 100644 index 00000000..483bcc75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/resource_change_operation.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the resource change operations in change event. + +// Container for enum describing resource change operations +// in the ChangeEvent resource. +message ResourceChangeOperationEnum { + // The operation on the changed resource in change_event resource. + enum ResourceChangeOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + CREATE = 2; + + // The resource was modified. + UPDATE = 3; + + // The resource was removed. + REMOVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/resource_limit_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/resource_limit_type.proto new file mode 100644 index 00000000..59b01cff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/resource_limit_type.proto @@ -0,0 +1,461 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing possible resource limit types. +message ResourceLimitTypeEnum { + // Resource limit type. + enum ResourceLimitType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // Number of ENABLED and PAUSED campaigns per customer. + CAMPAIGNS_PER_CUSTOMER = 2; + + // Number of ENABLED and PAUSED base campaigns per customer. + BASE_CAMPAIGNS_PER_CUSTOMER = 3; + + // Number of ENABLED and PAUSED experiment campaigns per customer. + EXPERIMENT_CAMPAIGNS_PER_CUSTOMER = 105; + + // Number of ENABLED and PAUSED Hotel campaigns per customer. + HOTEL_CAMPAIGNS_PER_CUSTOMER = 4; + + // Number of ENABLED and PAUSED Smart Shopping campaigns per customer. + SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER = 5; + + // Number of ENABLED ad groups per campaign. + AD_GROUPS_PER_CAMPAIGN = 6; + + // Number of ENABLED ad groups per Shopping campaign. + AD_GROUPS_PER_SHOPPING_CAMPAIGN = 8; + + // Number of ENABLED ad groups per Hotel campaign. + AD_GROUPS_PER_HOTEL_CAMPAIGN = 9; + + // Number of ENABLED reporting ad groups per local campaign. + REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN = 10; + + // Number of ENABLED reporting ad groups per App campaign. It includes app + // campaign and app campaign for engagement. + REPORTING_AD_GROUPS_PER_APP_CAMPAIGN = 11; + + // Number of ENABLED managed ad groups per smart campaign. + MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN = 52; + + // Number of ENABLED ad group criteria per customer. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED + // 3. its campaign is not REMOVED. + AD_GROUP_CRITERIA_PER_CUSTOMER = 12; + + // Number of ad group criteria across all base campaigns for a customer. + BASE_AD_GROUP_CRITERIA_PER_CUSTOMER = 13; + + // Number of ad group criteria across all experiment campaigns for a + // customer. + EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER = 107; + + // Number of ENABLED ad group criteria per campaign. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED. + AD_GROUP_CRITERIA_PER_CAMPAIGN = 14; + + // Number of ENABLED campaign criteria per customer. + CAMPAIGN_CRITERIA_PER_CUSTOMER = 15; + + // Number of ENABLED campaign criteria across all base campaigns for a + // customer. + BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER = 16; + + // Number of ENABLED campaign criteria across all experiment campaigns for a + // customer. + EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER = 108; + + // Number of ENABLED webpage criteria per customer, including + // campaign level and ad group level. + WEBPAGE_CRITERIA_PER_CUSTOMER = 17; + + // Number of ENABLED webpage criteria across all base campaigns for + // a customer. + BASE_WEBPAGE_CRITERIA_PER_CUSTOMER = 18; + + // Meximum number of ENABLED webpage criteria across all experiment + // campaigns for a customer. + EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER = 19; + + // Number of combined audience criteria per ad group. + COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP = 20; + + // Limit for placement criterion type group in customer negative criterion. + CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER = 21; + + // Limit for YouTube TV channels in customer negative criterion. + CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER = 22; + + // Number of ENABLED criteria per ad group. + CRITERIA_PER_AD_GROUP = 23; + + // Number of listing group criteria per ad group. + LISTING_GROUPS_PER_AD_GROUP = 24; + + // Number of ENABLED explicitly shared budgets per customer. + EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 25; + + // Number of ENABLED implicitly shared budgets per customer. + IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 26; + + // Number of combined audience criteria per campaign. + COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN = 27; + + // Number of negative keywords per campaign. + NEGATIVE_KEYWORDS_PER_CAMPAIGN = 28; + + // Number of excluded campaign criteria in placement dimension, e.g. + // 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 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 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 his or + // her 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/response_content_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/response_content_type.proto new file mode 100644 index 00000000..7188282d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/response_content_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the response content types used in mutate operations. + +// Container for possible response content types. +message ResponseContentTypeEnum { + // Possible response content types. + enum ResponseContentType { + // Not specified. Will return the resource name only in the response. + UNSPECIFIED = 0; + + // The mutate response will be the resource name. + RESOURCE_NAME_ONLY = 1; + + // The mutate response will be the resource name and the resource with + // all mutable fields. + MUTABLE_RESOURCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/search_engine_results_page_type.proto new file mode 100644 index 00000000..ea2c4e04 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/search_engine_results_page_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing search engine results page types. + +// The type of the search engine results page. +message SearchEngineResultsPageTypeEnum { + // The type of the search engine results page. + enum SearchEngineResultsPageType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Only ads were contained in the search engine results page. + ADS_ONLY = 2; + + // Only organic results were contained in the search engine results page. + ORGANIC_ONLY = 3; + + // Both ads and organic results were contained in the search engine results + // page. + ADS_AND_ORGANIC = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/search_term_match_type.proto new file mode 100644 index 00000000..7d990e3f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/search_term_match_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing search term match types. + +// Container for enum describing match types for a keyword triggering an ad. +message SearchTermMatchTypeEnum { + // Possible match types for a keyword triggering an ad, including variants. + enum SearchTermMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Broad match. + BROAD = 2; + + // Exact match. + EXACT = 3; + + // Phrase match. + PHRASE = 4; + + // Exact match (close variant). + NEAR_EXACT = 5; + + // Phrase match (close variant). + NEAR_PHRASE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/search_term_targeting_status.proto new file mode 100644 index 00000000..19ac9053 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/search_term_targeting_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing search term targeting statuses. + +// Container for enum indicating whether a search term is one of your targeted +// or excluded keywords. +message SearchTermTargetingStatusEnum { + // Indicates whether the search term is one of your targeted or excluded + // keywords. + enum SearchTermTargetingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search term is added to targeted keywords. + ADDED = 2; + + // Search term matches a negative keyword. + EXCLUDED = 3; + + // Search term has been both added and excluded. + ADDED_EXCLUDED = 4; + + // Search term is neither targeted nor excluded. + NONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_scope.proto b/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_scope.proto new file mode 100644 index 00000000..312b155b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_scope.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event scopes. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventScopeEnum { + // The possible scopes of a Seasonality Event. + enum SeasonalityEventScope { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is applied to all the customer's traffic for + // supported advertising channel types and device types. The CUSTOMER scope + // cannot be used in mutates. + CUSTOMER = 2; + + // The seasonality event is applied to all specified campaigns. + CAMPAIGN = 4; + + // The seasonality event is applied to all campaigns that belong to + // specified channel types. + CHANNEL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_status.proto new file mode 100644 index 00000000..73ab078e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/seasonality_event_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event statuses. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventStatusEnum { + // The possible statuses of a Seasonality Event. + enum SeasonalityEventStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is enabled. + ENABLED = 2; + + // The seasonality event is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/served_asset_field_type.proto new file mode 100644 index 00000000..f8879b0f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/served_asset_field_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_status.proto new file mode 100644 index 00000000..f770ddfc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing shared set statuses. + +// Container for enum describing types of shared set statuses. +message SharedSetStatusEnum { + // Enum listing the possible shared set statuses. + enum SharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The shared set is enabled. + ENABLED = 2; + + // The shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_type.proto new file mode 100644 index 00000000..50d8e453 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/shared_set_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing shared set types. + +// Container for enum describing types of shared sets. +message SharedSetTypeEnum { + // Enum listing the possible shared set types. + enum SharedSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A set of keywords that can be excluded from targeting. + NEGATIVE_KEYWORDS = 2; + + // A set of placements that can be excluded from targeting. + NEGATIVE_PLACEMENTS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v10/enums/simulation_modification_method.proto new file mode 100644 index 00000000..4ec3dd08 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/simulation_modification_method.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing simulation modification methods. + +// Container for enum describing the method by which a simulation modifies +// a field. +message SimulationModificationMethodEnum { + // Enum describing the method by which a simulation modifies a field. + enum SimulationModificationMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The values in a simulation were applied to all children of a given + // resource uniformly. Overrides on child resources were not respected. + UNIFORM = 2; + + // The values in a simulation were applied to the given resource. + // Overrides on child resources were respected, and traffic estimates + // do not include these resources. + DEFAULT = 3; + + // The values in a simulation were all scaled by the same factor. + // For example, in a simulated TargetCpa campaign, the campaign target and + // all ad group targets were scaled by a factor of X. + SCALING = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/simulation_type.proto new file mode 100644 index 00000000..dd907a36 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/simulation_type.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing simulation types. + +// Container for enum describing the field a simulation modifies. +message SimulationTypeEnum { + // Enum describing the field a simulation modifies. + enum SimulationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The simulation is for a CPC bid. + CPC_BID = 2; + + // The simulation is for a CPV bid. + CPV_BID = 3; + + // The simulation is for a CPA target. + TARGET_CPA = 4; + + // The simulation is for a bid modifier. + BID_MODIFIER = 5; + + // The simulation is for a ROAS target. + TARGET_ROAS = 6; + + // The simulation is for a percent CPC bid. + PERCENT_CPC_BID = 7; + + // The simulation is for an impression share target. + TARGET_IMPRESSION_SHARE = 8; + + // The simulation is for a budget. + BUDGET = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/sitelink_placeholder_field.proto new file mode 100644 index 00000000..9cec7749 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/sitelink_placeholder_field.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Sitelink placeholder fields. + +// Values for Sitelink placeholder fields. +message SitelinkPlaceholderFieldEnum { + // Possible values for Sitelink placeholder fields. + enum SitelinkPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The link text for your sitelink. + TEXT = 2; + + // Data Type: STRING. First line of the sitelink description. + LINE_1 = 3; + + // Data Type: STRING. Second line of the sitelink description. + LINE_2 = 4; + + // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded + // URLs. + FINAL_URLS = 5; + + // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 6; + + // Data Type: URL. Tracking template for the sitelink when using Upgraded + // URLs. + TRACKING_URL = 7; + + // Data Type: STRING. Final URL suffix for sitelink when using parallel + // tracking. + FINAL_URL_SUFFIX = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_ad_event_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 00000000..ea31f4f7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_ad_event_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_attribution_credit.proto b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 00000000..e265242d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_attribution_credit.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_user_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_user_type.proto new file mode 100644 index 00000000..ad2b6c2d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/sk_ad_network_user_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v10/enums/slot.proto new file mode 100644 index 00000000..dbdf79ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/slot.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing slots. + +// Container for enumeration of possible positions of the Ad. +message SlotEnum { + // Enumerates possible positions of the Ad. + enum Slot { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google search: Side. + SEARCH_SIDE = 2; + + // Google search: Top. + SEARCH_TOP = 3; + + // Google search: Other. + SEARCH_OTHER = 4; + + // Google Display Network. + CONTENT = 5; + + // Search partners: Top. + SEARCH_PARTNER_TOP = 6; + + // Search partners: Other. + SEARCH_PARTNER_OTHER = 7; + + // Cross-network. + MIXED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/spending_limit_type.proto new file mode 100644 index 00000000..ae83b6c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/spending_limit_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing SpendingLimit types. + +// Message describing spending limit types. +message SpendingLimitTypeEnum { + // The possible spending limit types used by certain resources as an + // alternative to absolute money values in micros. + enum SpendingLimitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Infinite, indicates unlimited spending power. + INFINITE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 00000000..01b7ae84 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Structured Snippet placeholder fields. + +// Values for Structured Snippet placeholder fields. +message StructuredSnippetPlaceholderFieldEnum { + // Possible values for Structured Snippet placeholder fields. + enum StructuredSnippetPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The category of snippet of your products/services. + // Must match exactly one of the predefined structured snippets headers. + // For a list, visit + // https://developers.google.com/adwords/api/docs/appendix/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/google-cloud/protos/google/ads/googleads/v10/enums/summary_row_setting.proto b/google-cloud/protos/google/ads/googleads/v10/enums/summary_row_setting.proto new file mode 100644 index 00000000..b7c3907b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/summary_row_setting.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing summary row setting. + +// Indicates summary row setting in request parameter. +message SummaryRowSettingEnum { + // Enum describing return summary row settings. + enum SummaryRowSetting { + // Not specified. + UNSPECIFIED = 0; + + // Represent unknown values of return summary row. + UNKNOWN = 1; + + // Do not return summary row. + NO_SUMMARY_ROW = 2; + + // Return summary row along with results. The summary row will be returned + // in the last batch alone (last batch will contain no results). + SUMMARY_ROW_WITH_RESULTS = 3; + + // Return summary row only and return no results. + SUMMARY_ROW_ONLY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v10/enums/system_managed_entity_source.proto new file mode 100644 index 00000000..aa96fff7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/system_managed_entity_source.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing system managed entity sources. + +// Container for enum describing possible system managed entity sources. +message SystemManagedResourceSourceEnum { + // Enum listing the possible system managed entity sources. + enum SystemManagedResourceSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Generated ad variations experiment ad. + AD_VARIATIONS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v10/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 00000000..c4480bf3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/target_cpa_opt_in_recommendation_goal.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing TargetCpaOptIn recommendation goals. + +// Container for enum describing goals for TargetCpaOptIn recommendation. +message TargetCpaOptInRecommendationGoalEnum { + // Goal of TargetCpaOptIn recommendation. + enum TargetCpaOptInRecommendationGoal { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Recommendation to set Target CPA to maintain the same cost. + SAME_COST = 2; + + // Recommendation to set Target CPA to maintain the same conversions. + SAME_CONVERSIONS = 3; + + // Recommendation to set Target CPA to maintain the same CPA. + SAME_CPA = 4; + + // Recommendation to set Target CPA to a value that is as close as possible + // to, yet lower than, the actual CPA (computed for past 28 days). + CLOSEST_CPA = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v10/enums/target_impression_share_location.proto new file mode 100644 index 00000000..c1c723a7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/target_impression_share_location.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing target impression share goal. + +// Container for enum describing where on the first search results page the +// automated bidding system should target impressions for the +// TargetImpressionShare bidding strategy. +message TargetImpressionShareLocationEnum { + // Enum describing possible goals. + enum TargetImpressionShareLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Any location on the web page. + ANYWHERE_ON_PAGE = 2; + + // Top box of ads. + TOP_OF_PAGE = 3; + + // Top slot in the top box of ads. + ABSOLUTE_TOP_OF_PAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v10/enums/targeting_dimension.proto new file mode 100644 index 00000000..eb6554e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/targeting_dimension.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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, e.g. '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, e.g. + // '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/google-cloud/protos/google/ads/googleads/v10/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/time_type.proto new file mode 100644 index 00000000..64b46c62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/time_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing TimeType types. + +// Message describing time types. +message TimeTypeEnum { + // The possible time types used by certain resources as an alternative to + // absolute timestamps. + enum TimeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // As soon as possible. + NOW = 2; + + // An infinite point in the future. + FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_page_format.proto new file mode 100644 index 00000000..8cde8595 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_page_format.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing the format of the web page where the tracking +// tag and snippet will be installed. +message TrackingCodePageFormatEnum { + // The format of the web page where the tracking tag and snippet will be + // installed. + enum TrackingCodePageFormat { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Standard HTML page format. + HTML = 2; + + // Google AMP page format. + AMP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_type.proto new file mode 100644 index 00000000..2a31d00f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/tracking_code_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Container for enum describing the type of the generated tag snippets for +// tracking conversions. +message TrackingCodeTypeEnum { + // The type of the generated tag snippets for tracking conversions. + enum TrackingCodeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The snippet that is fired as a result of a website page loading. + WEBPAGE = 2; + + // The snippet contains a JavaScript function which fires the tag. This + // function is typically called from an onClick handler added to a link or + // button element on the page. + WEBPAGE_ONCLICK = 3; + + // For embedding on a mobile webpage. The snippet contains a JavaScript + // function which fires the tag. + CLICK_TO_CALL = 4; + + // The snippet that is used to replace the phone number on your website with + // a Google forwarding number for call tracking purposes. + WEBSITE_CALL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v10/enums/travel_placeholder_field.proto new file mode 100644 index 00000000..1f7c55da --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/travel_placeholder_field.proto @@ -0,0 +1,126 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing Travel placeholder fields. + +// Values for Travel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message TravelPlaceholderFieldEnum { + // Possible values for Travel placeholder fields. + enum TravelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Combination of DESTINATION_ID and ORIGIN_ID must be + // unique per offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with name to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. The destination name. Shorter names are recommended. + DESTINATION_NAME = 5; + + // Data Type: STRING. Origin name. Shorter names are recommended. + ORIGIN_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of travel offer used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: STRING. Address of travel offer, including postal code. + DESTINATION_ADDRESS = 14; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v10/enums/user_identifier_source.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_identifier_source.proto new file mode 100644 index 00000000..9f31232c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_identifier_source.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing user identifier source + +// Container for enum describing the source of the user identifier for offline +// Store Sales, click conversion, and conversion adjustment uploads. +message UserIdentifierSourceEnum { + // The type of user identifier source for offline Store Sales, click + // conversion, and conversion adjustment uploads. + enum UserIdentifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version + UNKNOWN = 1; + + // Indicates that the user identifier was provided by the first party + // (advertiser). + FIRST_PARTY = 2; + + // Indicates that the user identifier was provided by the third party + // (partner). + THIRD_PARTY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_interest_taxonomy_type.proto new file mode 100644 index 00000000..2362d084 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing the UserInterest taxonomy type + +// Message describing a UserInterestTaxonomyType. +message UserInterestTaxonomyTypeEnum { + // Enum containing the possible UserInterestTaxonomyTypes. + enum UserInterestTaxonomyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The affinity for this user interest. + AFFINITY = 2; + + // The market for this user interest. + IN_MARKET = 3; + + // Users known to have installed applications in the specified categories. + MOBILE_APP_INSTALL_USER = 4; + + // The geographical location of the interest-based vertical. + VERTICAL_GEO = 5; + + // User interest criteria for new smart phone users. + NEW_SMART_PHONE_USER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_access_status.proto new file mode 100644 index 00000000..ae062455 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_access_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing user list access status. + +// Indicates if this client still has access to the list. +message UserListAccessStatusEnum { + // Enum containing possible user list access statuses. + enum UserListAccessStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The access is enabled. + ENABLED = 2; + + // The access is disabled. + DISABLED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_closing_reason.proto new file mode 100644 index 00000000..35bf665c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_closing_reason.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing user list closing reason. + +// Indicates the reason why the userlist was closed. +// This enum is only used when a list is auto-closed by the system. +message UserListClosingReasonEnum { + // Enum describing possible user list closing reasons. + enum UserListClosingReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The userlist was closed because of not being used for over one year. + UNUSED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_combined_rule_operator.proto new file mode 100644 index 00000000..a148b48d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_combined_rule_operator.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCombinedRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Logical operator connecting two rules. +message UserListCombinedRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListCombinedRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A AND NOT B. + AND_NOT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_crm_data_source_type.proto new file mode 100644 index 00000000..6e600181 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Indicates source of Crm upload data. +message UserListCrmDataSourceTypeEnum { + // Enum describing possible user list crm data source type. + enum UserListCrmDataSourceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The uploaded data is first-party data. + FIRST_PARTY = 2; + + // The uploaded data is from a third-party credit bureau. + THIRD_PARTY_CREDIT_BUREAU = 3; + + // The uploaded data is from a third-party voter file. + THIRD_PARTY_VOTER_FILE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 00000000..8be9f633 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_date_rule_item_operator.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Supported rule operator for date type. +message UserListDateRuleItemOperatorEnum { + // Enum describing possible user list date rule item operators. + enum UserListDateRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals. + EQUALS = 2; + + // Not Equals. + NOT_EQUALS = 3; + + // Before. + BEFORE = 4; + + // After. + AFTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_logical_rule_operator.proto new file mode 100644 index 00000000..73ce9fd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// The logical operator of the rule. +message UserListLogicalRuleOperatorEnum { + // Enum describing possible user list logical rule operators. + enum UserListLogicalRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // And - all of the operands. + ALL = 2; + + // Or - at least one of the operands. + ANY = 3; + + // Not - none of the operands. + NONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_membership_status.proto new file mode 100644 index 00000000..02850ed5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_membership_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing user list membership status. + +// Membership status of this user list. Indicates whether a user list is open +// or active. Only open user lists can accumulate more users and can be used for +// targeting. +message UserListMembershipStatusEnum { + // Enum containing possible user list membership statuses. + enum UserListMembershipStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Open status - List is accruing members and can be targeted to. + OPEN = 2; + + // Closed status - No new members being added. Cannot be used for targeting. + CLOSED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 00000000..f0e2c0ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_number_rule_item_operator.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Supported rule operator for number type. +message UserListNumberRuleItemOperatorEnum { + // Enum describing possible user list number rule item operators. + enum UserListNumberRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Greater than. + GREATER_THAN = 2; + + // Greater than or equal. + GREATER_THAN_OR_EQUAL = 3; + + // Equals. + EQUALS = 4; + + // Not equals. + NOT_EQUALS = 5; + + // Less than. + LESS_THAN = 6; + + // Less than or equal. + LESS_THAN_OR_EQUAL = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_prepopulation_status.proto new file mode 100644 index 00000000..3df0f109 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_prepopulation_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Indicates status of prepopulation based on the rule. +message UserListPrepopulationStatusEnum { + // Enum describing possible user list prepopulation status. + enum UserListPrepopulationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prepopoulation is being requested. + REQUESTED = 2; + + // Prepopulation is finished. + FINISHED = 3; + + // Prepopulation failed. + FAILED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_rule_type.proto new file mode 100644 index 00000000..35b65a98 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_rule_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Rule based user list rule type. +message UserListRuleTypeEnum { + // Enum describing possible user list rule types. + enum UserListRuleType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conjunctive normal form. + AND_OF_ORS = 2; + + // Disjunctive normal form. + OR_OF_ANDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_size_range.proto new file mode 100644 index 00000000..b1399dcb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_size_range.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing user list size range. + +// Size range in terms of number of users of a UserList. +message UserListSizeRangeEnum { + // Enum containing possible user list size ranges. + enum UserListSizeRange { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User list has less than 500 users. + LESS_THAN_FIVE_HUNDRED = 2; + + // User list has number of users in range of 500 to 1000. + LESS_THAN_ONE_THOUSAND = 3; + + // User list has number of users in range of 1000 to 10000. + ONE_THOUSAND_TO_TEN_THOUSAND = 4; + + // User list has number of users in range of 10000 to 50000. + TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; + + // User list has number of users in range of 50000 to 100000. + FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; + + // User list has number of users in range of 100000 to 300000. + ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; + + // User list has number of users in range of 300000 to 500000. + THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; + + // User list has number of users in range of 500000 to 1 million. + FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; + + // User list has number of users in range of 1 to 2 millions. + ONE_MILLION_TO_TWO_MILLION = 10; + + // User list has number of users in range of 2 to 3 millions. + TWO_MILLION_TO_THREE_MILLION = 11; + + // User list has number of users in range of 3 to 5 millions. + THREE_MILLION_TO_FIVE_MILLION = 12; + + // User list has number of users in range of 5 to 10 millions. + FIVE_MILLION_TO_TEN_MILLION = 13; + + // User list has number of users in range of 10 to 20 millions. + TEN_MILLION_TO_TWENTY_MILLION = 14; + + // User list has number of users in range of 20 to 30 millions. + TWENTY_MILLION_TO_THIRTY_MILLION = 15; + + // User list has number of users in range of 30 to 50 millions. + THIRTY_MILLION_TO_FIFTY_MILLION = 16; + + // User list has over 50 million users. + OVER_FIFTY_MILLION = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 00000000..efc3ca05 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Supported rule operator for string type. +message UserListStringRuleItemOperatorEnum { + // Enum describing possible user list string rule item operators. + enum UserListStringRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Contains. + CONTAINS = 2; + + // Equals. + EQUALS = 3; + + // Starts with. + STARTS_WITH = 4; + + // Ends with. + ENDS_WITH = 5; + + // Not equals. + NOT_EQUALS = 6; + + // Not contains. + NOT_CONTAINS = 7; + + // Not starts with. + NOT_STARTS_WITH = 8; + + // Not ends with. + NOT_ENDS_WITH = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_type.proto new file mode 100644 index 00000000..905cabab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/user_list_type.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_device_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_device_type.proto new file mode 100644 index 00000000..74511fa7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_device_type.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule device type. + +// Container for enum describing possible device types used in a conversion +// value rule. +message ValueRuleDeviceTypeEnum { + // Possible device types used in conversion value rule. + enum ValueRuleDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile device. + MOBILE = 2; + + // Desktop device. + DESKTOP = 3; + + // Tablet device. + TABLET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_geo_location_match_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 00000000..3cbae36b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule geo location match type. + +// Container for enum describing possible geographic location matching types +// used in a conversion value rule. +message ValueRuleGeoLocationMatchTypeEnum { + // Possible geographic location matching types. + enum ValueRuleGeoLocationMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Either Area of Interest or Location of Presence can be used to match. + ANY = 2; + + // Only Location of Presence can be used to match. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_operation.proto b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_operation.proto new file mode 100644 index 00000000..98d0ebd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_operation.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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule operation. + +// Container for enum describing possible operations for value rules which are +// executed when rules are triggered. +message ValueRuleOperationEnum { + // Possible operations of the action of a conversion value rule. + enum ValueRuleOperation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add provided value to conversion value. + ADD = 2; + + // Multiply conversion value by provided value. + MULTIPLY = 3; + + // Set conversion value to provided value. + SET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_attachment_type.proto b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_attachment_type.proto new file mode 100644 index 00000000..75977509 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing where the conversion value rule is attached. + +// Container for enum describing where a value rule set is attached. +message ValueRuleSetAttachmentTypeEnum { + // Possible level where a value rule set is attached. + enum ValueRuleSetAttachmentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Attached to the customer. + CUSTOMER = 2; + + // Attached to a campaign. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_dimension.proto b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_dimension.proto new file mode 100644 index 00000000..8697b19e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/value_rule_set_dimension.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing conversion value rule set dimension. + +// Container for enum describing possible dimensions of a conversion value rule +// set. +message ValueRuleSetDimensionEnum { + // Possible dimensions of a conversion value rule set. + enum ValueRuleSetDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dimension for geo location. + GEO_LOCATION = 2; + + // Dimension for device type. + DEVICE = 3; + + // Dimension for audience. + AUDIENCE = 4; + + // This dimension implies the rule will always apply. + NO_CONDITION = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 00000000..c19a7ed0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing vanity pharma display url modes. + +// The display mode for vanity pharma URLs. +message VanityPharmaDisplayUrlModeEnum { + // Enum describing possible display modes for vanity pharma URLs. + enum VanityPharmaDisplayUrlMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Replace vanity pharma URL with manufacturer website url. + MANUFACTURER_WEBSITE_URL = 2; + + // Replace vanity pharma URL with description of the website. + WEBSITE_DESCRIPTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_text.proto new file mode 100644 index 00000000..7c6e8a94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/vanity_pharma_text.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing vanity pharma texts. + +// The text that will be displayed in display URL of the text ad when website +// description is the selected display mode for vanity pharma URLs. +message VanityPharmaTextEnum { + // Enum describing possible text. + enum VanityPharmaText { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prescription treatment website with website content in English. + PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; + + // Prescription treatment website with website content in Spanish + // (Sitio de tratamientos con receta). + PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; + + // Prescription device website with website content in English. + PRESCRIPTION_DEVICE_WEBSITE_EN = 4; + + // Prescription device website with website content in Spanish (Sitio de + // dispositivos con receta). + PRESCRIPTION_DEVICE_WEBSITE_ES = 5; + + // Medical device website with website content in English. + MEDICAL_DEVICE_WEBSITE_EN = 6; + + // Medical device website with website content in Spanish (Sitio de + // dispositivos médicos). + MEDICAL_DEVICE_WEBSITE_ES = 7; + + // Preventative treatment website with website content in English. + PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; + + // Preventative treatment website with website content in Spanish (Sitio de + // tratamientos preventivos). + PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; + + // Prescription contraception website with website content in English. + PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; + + // Prescription contraception website with website content in Spanish (Sitio + // de anticonceptivos con receta). + PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; + + // Prescription vaccine website with website content in English. + PRESCRIPTION_VACCINE_WEBSITE_EN = 12; + + // Prescription vaccine website with website content in Spanish (Sitio de + // vacunas con receta). + PRESCRIPTION_VACCINE_WEBSITE_ES = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/video_thumbnail.proto b/google-cloud/protos/google/ads/googleads/v10/enums/video_thumbnail.proto new file mode 100644 index 00000000..601bff72 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/video_thumbnail.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing video thumbnails. + +// Defines the thumbnail to use for In-Display video ads. Note that +// DEFAULT_THUMBNAIL may have been uploaded by the user while thumbnails 1-3 are +// auto-generated from the video. +message VideoThumbnailEnum { + // Enum listing the possible types of a video thumbnail. + enum VideoThumbnail { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The default thumbnail. Can be auto-generated or user-uploaded. + DEFAULT_THUMBNAIL = 2; + + // Thumbnail 1, generated from the video. + THUMBNAIL_1 = 3; + + // Thumbnail 2, generated from the video. + THUMBNAIL_2 = 4; + + // Thumbnail 3, generated from the video. + THUMBNAIL_3 = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operand.proto new file mode 100644 index 00000000..fcf11e11 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operand.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing webpage condition operand. + +// Container for enum describing webpage condition operand in webpage criterion. +message WebpageConditionOperandEnum { + // The webpage condition operand in webpage criterion. + enum WebpageConditionOperand { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Operand denoting a webpage URL targeting condition. + URL = 2; + + // Operand denoting a webpage category targeting condition. + CATEGORY = 3; + + // Operand denoting a webpage title targeting condition. + PAGE_TITLE = 4; + + // Operand denoting a webpage content targeting condition. + PAGE_CONTENT = 5; + + // Operand denoting a webpage custom label targeting condition. + CUSTOM_LABEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operator.proto new file mode 100644 index 00000000..376e4655 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/enums/webpage_condition_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v10.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V10::Enums"; + +// Proto file describing webpage condition operator. + +// Container for enum describing webpage condition operator in webpage +// criterion. +message WebpageConditionOperatorEnum { + // The webpage condition operator in webpage criterion. + enum WebpageConditionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The argument web condition is equal to the compared web condition. + EQUALS = 2; + + // The argument web condition is part of the compared web condition. + CONTAINS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/errors/BUILD.bazel new file mode 100644 index 00000000..a7453217 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "errors_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v10/common:common_proto", + "//google/ads/googleads/v10/enums:enums_proto", + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "errors_java_proto", + deps = [":errors_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "errors_csharp_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "errors_ruby_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "errors_py_proto", + deps = [":errors_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/access_invitation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/access_invitation_error.proto new file mode 100644 index 00000000..5abb15e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/access_invitation_error.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing AccessInvitation errors. + +// Container for enum describing possible AccessInvitation errors. +message AccessInvitationErrorEnum { + // Enum describing possible AccessInvitation errors. + enum AccessInvitationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The email address is invalid for sending an invitation. + INVALID_EMAIL_ADDRESS = 2; + + // Email address already has access to this customer. + EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3; + + // Invalid invitation status for the operation. + INVALID_INVITATION_STATUS = 4; + + // Email address cannot be like abc+foo@google.com. + GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED = 5; + + // Invalid invitation id. + INVALID_INVITATION_ID = 6; + + // Email address already has a pending invitation. + EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION = 7; + + // Pending invitation limit exceeded for the customer. + PENDING_INVITATIONS_LIMIT_EXCEEDED = 8; + + // Email address doesn't conform to the email domain policy. Please see + // https://support.google.com/google-ads/answer/2375456 + EMAIL_DOMAIN_POLICY_VIOLATED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/account_budget_proposal_error.proto new file mode 100644 index 00000000..02c743d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/account_budget_proposal_error.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing account budget proposal errors. + +// Container for enum describing possible account budget proposal errors. +message AccountBudgetProposalErrorEnum { + // Enum describing possible account budget proposal errors. + enum AccountBudgetProposalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be empty for create/end/remove proposals. + FIELD_MASK_NOT_ALLOWED = 2; + + // The field cannot be set because of the proposal type. + IMMUTABLE_FIELD = 3; + + // The field is required because of the proposal type. + REQUIRED_FIELD_MISSING = 4; + + // Proposals that have been approved cannot be cancelled. + CANNOT_CANCEL_APPROVED_PROPOSAL = 5; + + // Budgets that haven't been approved cannot be removed. + CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; + + // Budgets that are currently running cannot be removed. + CANNOT_REMOVE_RUNNING_BUDGET = 7; + + // Budgets that haven't been approved cannot be truncated. + CANNOT_END_UNAPPROVED_BUDGET = 8; + + // Only budgets that are currently running can be truncated. + CANNOT_END_INACTIVE_BUDGET = 9; + + // All budgets must have names. + BUDGET_NAME_REQUIRED = 10; + + // Expired budgets cannot be edited after a sufficient amount of time has + // passed. + CANNOT_UPDATE_OLD_BUDGET = 11; + + // It is not permissible a propose a new budget that ends in the past. + CANNOT_END_IN_PAST = 12; + + // An expired budget cannot be extended to overlap with the running budget. + CANNOT_EXTEND_END_TIME = 13; + + // A purchase order number is required. + PURCHASE_ORDER_NUMBER_REQUIRED = 14; + + // Budgets that have a pending update cannot be updated. + PENDING_UPDATE_PROPOSAL_EXISTS = 15; + + // Cannot propose more than one budget when the corresponding billing setup + // hasn't been approved. + MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; + + // Cannot update the start time of a budget that has already started. + CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; + + // Cannot update the spending limit of a budget with an amount lower than + // what has already been spent. + SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; + + // Cannot propose a budget update without actually changing any fields. + UPDATE_IS_NO_OP = 19; + + // The end time must come after the start time. + END_TIME_MUST_FOLLOW_START_TIME = 20; + + // The budget's date range must fall within the date range of its billing + // setup. + BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; + + // The user is not authorized to mutate budgets for the given billing setup. + NOT_AUTHORIZED = 22; + + // Mutates are not allowed for the given billing setup. + INVALID_BILLING_SETUP = 23; + + // Budget creation failed as it overlaps with an 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/account_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/account_link_error.proto new file mode 100644 index 00000000..b465b171 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/account_link_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing AccountLink errors. + +// Container for enum describing possible account link errors. +message AccountLinkErrorEnum { + // Enum describing possible account link errors. + enum AccountLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The new link status is invalid. + INVALID_STATUS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_customizer_error.proto new file mode 100644 index 00000000..5d0bb95e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_customizer_error.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad customizer errors. + +// Container for enum describing possible ad customizer errors. +message AdCustomizerErrorEnum { + // Enum describing possible ad customizer errors. + enum AdCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date argument in countdown function. + COUNTDOWN_INVALID_DATE_FORMAT = 2; + + // Countdown end date is in the past. + COUNTDOWN_DATE_IN_PAST = 3; + + // Invalid locale string in countdown function. + COUNTDOWN_INVALID_LOCALE = 4; + + // Days-before argument to countdown function is not positive. + COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; + + // A user list referenced in an IF function does not exist. + UNKNOWN_USER_LIST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_error.proto new file mode 100644 index 00000000..bd52a7c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_error.proto @@ -0,0 +1,528 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad errors. + +// Container for enum describing possible ad errors. +message AdErrorEnum { + // Enum describing possible ad errors. + enum AdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ad customizers are not supported for ad type. + AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; + + // Estimating character sizes the string is too long. + APPROXIMATELY_TOO_LONG = 3; + + // Estimating character sizes the string is too short. + APPROXIMATELY_TOO_SHORT = 4; + + // There is a problem with the snippet. + BAD_SNIPPET = 5; + + // Cannot modify an ad. + CANNOT_MODIFY_AD = 6; + + // business name and url cannot be set at the same time + CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; + + // The specified field is incompatible with this ad's type or settings. + CANNOT_SET_FIELD = 8; + + // Cannot set field when originAdId is set. + CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; + + // Cannot set field when an existing ad id is set for sharing. + CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; + + // Cannot set allowFlexibleColor false if no color is provided by user. + CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; + + // When user select native, no color control is allowed because we will + // always respect publisher color for native format serving. + CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; + + // Cannot specify a url for the ad type + CANNOT_SET_URL = 13; + + // Cannot specify a tracking or mobile url without also setting final urls + CANNOT_SET_WITHOUT_FINAL_URLS = 14; + + // Cannot specify a legacy url and a final url simultaneously + CANNOT_SET_WITH_FINAL_URLS = 15; + + // Cannot specify a urls in UrlData and in template fields simultaneously. + CANNOT_SET_WITH_URL_DATA = 17; + + // This operator cannot be used with a subclass of Ad. + CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; + + // Customer is not approved for mobile ads. + CUSTOMER_NOT_APPROVED_MOBILEADS = 19; + + // Customer is not approved for 3PAS richmedia ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; + + // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; + + // Not an eligible customer + CUSTOMER_NOT_ELIGIBLE = 22; + + // Customer is not eligible for updating beacon url + CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; + + // There already exists an ad with the same dimensions in the union. + DIMENSION_ALREADY_IN_UNION = 24; + + // Ad's dimension must be set before setting union dimension. + DIMENSION_MUST_BE_SET = 25; + + // Ad's dimension must be included in the union dimensions. + DIMENSION_NOT_IN_UNION = 26; + + // Display Url cannot be specified (applies to Ad Exchange Ads) + DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; + + // Telephone number contains invalid characters or invalid format. Please + // re-enter your number using digits (0-9), dashes (-), and parentheses + // only. + DOMESTIC_PHONE_NUMBER_FORMAT = 28; + + // Emergency telephone numbers are not allowed. Please 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. Please 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 (e.g. {lpurl}) + MISSING_DESTINATION_URL_TAG = 65; + + // The tracking url template of ExpandedDynamicSearchAd must contain at + // least one tag. (e.g. {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 + // (e.g. 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. Please 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/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_ad_error.proto new file mode 100644 index 00000000..1243c147 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_ad_error.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group ad errors. + +// Container for enum describing possible ad group ad errors. +message AdGroupAdErrorEnum { + // Enum describing possible ad group ad errors. + enum AdGroupAdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the adgroup ad and the label. + AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the adgroup ad. + AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; + + // The specified ad was not found in the adgroup + AD_NOT_UNDER_ADGROUP = 4; + + // Removed ads may not be modified + CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; + + // An ad of this type is deprecated and cannot be created. Only deletions + // are permitted. + CANNOT_CREATE_DEPRECATED_ADS = 6; + + // Text ads are deprecated and cannot be created. Use expanded text ads + // instead. + CANNOT_CREATE_TEXT_ADS = 7; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 8; + + // An ad may only be modified once per call + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; + + // AdGroupAds with the given ad type cannot be paused. + AD_TYPE_CANNOT_BE_PAUSED = 10; + + // AdGroupAds with the given ad type cannot be removed. + AD_TYPE_CANNOT_BE_REMOVED = 11; + + // An ad of this type is deprecated and cannot be updated. Only removals + // are permitted. + CANNOT_UPDATE_DEPRECATED_ADS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 00000000..fbdc4480 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group bid modifier errors. + +// Container for enum describing possible ad group bid modifier errors. +message AdGroupBidModifierErrorEnum { + // Enum describing possible ad group bid modifier errors. + enum AdGroupBidModifierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion ID does not support bid modification. + CRITERION_ID_NOT_SUPPORTED = 2; + + // Cannot override the bid modifier for the given criterion ID if the parent + // campaign is opted out of the same criterion. + CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 00000000..76005555 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group criterion customizer errors. + +// Container for enum describing possible ad group criterion customizer errors. +message AdGroupCriterionCustomizerErrorEnum { + // Enum describing possible ad group criterion customizer errors. + enum AdGroupCriterionCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Only keyword type criterion is allowed to link customizer attribute. + CRITERION_IS_NOT_KEYWORD = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_error.proto new file mode 100644 index 00000000..9a878721 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_criterion_error.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group criterion errors. + +// Container for enum describing possible ad group criterion errors. +message AdGroupCriterionErrorEnum { + // Enum describing possible ad group criterion errors. + enum AdGroupCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the AdGroupCriterion and the label. + AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the AdGroupCriterion. + AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; + + // Negative AdGroupCriterion cannot have labels. + CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; + + // Too many operations for a single call. + TOO_MANY_OPERATIONS = 5; + + // Negative ad group criteria are not updateable. + CANT_UPDATE_NEGATIVE = 6; + + // Concrete type of criterion (keyword v.s. placement) is required for ADD + // and SET operations. + CONCRETE_TYPE_REQUIRED = 7; + + // Bid is incompatible with ad group's bidding settings. + BID_INCOMPATIBLE_WITH_ADGROUP = 8; + + // Cannot target and exclude the same criterion at once. + CANNOT_TARGET_AND_EXCLUDE = 9; + + // The URL of a placement is invalid. + ILLEGAL_URL = 10; + + // Keyword text was invalid. + INVALID_KEYWORD_TEXT = 11; + + // Destination URL was invalid. + INVALID_DESTINATION_URL = 12; + + // The destination url must contain at least one tag (e.g. {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. + // Please 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/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_customizer_error.proto new file mode 100644 index 00000000..83ac4b2d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group customizer errors. + +// Container for enum describing possible ad group customizer errors. +message AdGroupCustomizerErrorEnum { + // Enum describing possible ad group customizer errors. + enum AdGroupCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_error.proto new file mode 100644 index 00000000..adf02bca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_error.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group errors. + +// Container for enum describing possible ad group errors. +message AdGroupErrorEnum { + // Enum describing possible ad group errors. + enum AdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // AdGroup with the same name already exists for the campaign. + DUPLICATE_ADGROUP_NAME = 2; + + // AdGroup name is not valid. + INVALID_ADGROUP_NAME = 3; + + // Advertiser is not allowed to target sites or set site bids that are not + // on the Google Search Network. + ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; + + // Bid amount is too big. + BID_TOO_BIG = 6; + + // AdGroup bid does not match the campaign's bidding strategy. + BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; + + // AdGroup name is required for Add. + MISSING_ADGROUP_NAME = 8; + + // No link found between the ad group and the label. + ADGROUP_LABEL_DOES_NOT_EXIST = 9; + + // The label has already been attached to the ad group. + ADGROUP_LABEL_ALREADY_EXISTS = 10; + + // The CriterionTypeGroup is not supported for the content bid dimension. + INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; + + // The ad group type is not compatible with the campaign channel type. + AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; + + // The ad group type is not supported in the country of sale of the + // campaign. + ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; + + // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to + // campaigns that have DynamicSearchAdsSetting attached. + CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; + + // Promoted hotels ad groups are only available to customers on the + // allow-list. + PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; + + // The field type cannot be excluded because an active ad group-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_feed_error.proto new file mode 100644 index 00000000..bc36bb22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_group_feed_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad group feed errors. + +// Container for enum describing possible ad group feed errors. +message AdGroupFeedErrorEnum { + // Enum describing possible ad group feed errors. + enum AdGroupFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this ad group and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The AdGroupFeed already exists. UPDATE operation should be used to modify + // the existing AdGroupFeed. + ADGROUP_FEED_ALREADY_EXISTS = 4; + + // Cannot operate on removed AdGroupFeed. + CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Location AdGroupFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_parameter_error.proto new file mode 100644 index 00000000..ffe5089b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_parameter_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad parameter errors. + +// Container for enum describing possible ad parameter errors. +message AdParameterErrorEnum { + // Enum describing possible ad parameter errors. + enum AdParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The ad group criterion must be a keyword criterion. + AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; + + // The insertion text is invalid. + INVALID_INSERTION_TEXT_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/ad_sharing_error.proto new file mode 100644 index 00000000..781018c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/ad_sharing_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ad sharing errors. + +// Container for enum describing possible ad sharing errors. +message AdSharingErrorEnum { + // Enum describing possible ad sharing errors. + enum AdSharingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error resulting in attempting to add an Ad to an AdGroup that already + // contains the Ad. + AD_GROUP_ALREADY_CONTAINS_AD = 2; + + // Ad is not compatible with the AdGroup it is being shared with. + INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; + + // Cannot add AdGroupAd on inactive Ad. + CANNOT_SHARE_INACTIVE_AD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/adx_error.proto new file mode 100644 index 00000000..1170ec66 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/adx_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing adx errors. + +// Container for enum describing possible adx errors. +message AdxErrorEnum { + // Enum describing possible adx errors. + enum AdxError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Attempt to use non-AdX feature by AdX customer. + UNSUPPORTED_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_error.proto new file mode 100644 index 00000000..872c9c36 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_error.proto @@ -0,0 +1,148 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset errors. + +// Container for enum describing possible asset errors. +message AssetErrorEnum { + // Enum describing possible asset errors. + enum AssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer is not is not on the allow-list for this asset type. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE = 13; + + // Assets are duplicated across operations. + DUPLICATE_ASSET = 3; + + // The asset name is duplicated, either across operations or with an + // existing asset. + DUPLICATE_ASSET_NAME = 4; + + // The Asset.asset_data oneof is empty. + ASSET_DATA_IS_MISSING = 5; + + // The asset has a name which is different from an existing duplicate that + // represents the same content. + CANNOT_MODIFY_ASSET_NAME = 6; + + // The field cannot be set for this asset type. + FIELD_INCOMPATIBLE_WITH_ASSET_TYPE = 7; + + // Call to action must come from the list of supported values. + INVALID_CALL_TO_ACTION_TEXT = 8; + + // A lead form asset is created with an invalid combination of input fields. + LEAD_FORM_INVALID_FIELDS_COMBINATION = 9; + + // Lead forms require that the Terms of Service have been agreed to before + // mutates can be executed. + LEAD_FORM_MISSING_AGREEMENT = 10; + + // Asset status is invalid in this operation. + INVALID_ASSET_STATUS = 11; + + // The field cannot be modified by this asset type. + FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE = 12; + + // Ad schedules for the same asset cannot overlap. + SCHEDULES_CANNOT_OVERLAP = 14; + + // Cannot set both percent off and money amount off fields of promotion + // asset. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 15; + + // Cannot set both promotion code and orders over amount fields of promotion + // asset. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 16; + + // The field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 17; + + // Duplicate assets across operations, which have identical Asset.asset_data + // oneof, cannot have different asset level fields for asset types which are + // deduped. + DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE = 18; + + // Carrier specific short number is not allowed. + CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 19; + + // Customer consent required for call recording Terms of Service. + CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 20; + + // The type of the specified phone number is not allowed. + CALL_DISALLOWED_NUMBER_TYPE = 21; + + // If the default call_conversion_action is not used, the customer must have + // a ConversionAction with the same id and the ConversionAction must be call + // conversion type. + CALL_INVALID_CONVERSION_ACTION = 22; + + // The country code of the phone number is invalid. + CALL_INVALID_COUNTRY_CODE = 23; + + // The format of the phone number is incorrect. + CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 24; + + // The input phone number is not a valid phone number. + CALL_INVALID_PHONE_NUMBER = 25; + + // The phone number is not supported for country. + CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 26; + + // Premium rate phone number is not allowed. + CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED = 27; + + // Vanity phone number is not allowed. + CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED = 28; + + // PriceOffering cannot have the same value for header and description. + PRICE_HEADER_SAME_AS_DESCRIPTION = 29; + + // AppId is invalid. + MOBILE_APP_INVALID_APP_ID = 30; + + // Invalid App download URL in final URLs. + MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 31; + + // Asset name is required for the asset type. + NAME_REQUIRED_FOR_ASSET_TYPE = 32; + + // Legacy qualifying questions cannot be in the same Lead Form as + // custom questions. + LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED = 33; + + // Unique name is required for this asset type. + NAME_CONFLICT_FOR_ASSET_TYPE = 34; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_asset_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_asset_error.proto new file mode 100644 index 00000000..a5908c2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_asset_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group asset errors. +message AssetGroupAssetErrorEnum { + // Enum describing possible asset group asset errors. + enum AssetGroupAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot add duplicated asset group asset. + DUPLICATE_RESOURCE = 2; + + // Expandable tags are not allowed in description assets. + EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION = 3; + + // Ad customizers are not supported in assetgroup's text assets. + AD_CUSTOMIZER_NOT_SUPPORTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_error.proto new file mode 100644 index 00000000..108c3594 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset group errors. + +// Container for enum describing possible asset group errors. +message AssetGroupErrorEnum { + // Enum describing possible asset group errors. + enum AssetGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each asset group in a single campaign must have a unique name. + DUPLICATE_NAME = 2; + + // Cannot add asset group for the campaign type. + CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE = 3; + + // Not enough headline asset for a valid asset group. + NOT_ENOUGH_HEADLINE_ASSET = 4; + + // Not enough long headline asset for a valid asset group. + NOT_ENOUGH_LONG_HEADLINE_ASSET = 5; + + // Not enough description headline asset for a valid asset group. + NOT_ENOUGH_DESCRIPTION_ASSET = 6; + + // Not enough business name asset for a valid asset group. + NOT_ENOUGH_BUSINESS_NAME_ASSET = 7; + + // Not enough marketing image asset for a valid asset group. + NOT_ENOUGH_MARKETING_IMAGE_ASSET = 8; + + // Not enough square marketing image asset for a valid asset group. + NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET = 9; + + // Not enough logo asset for a valid asset group. + NOT_ENOUGH_LOGO_ASSET = 10; + + // Final url and shopping merchant url does not have the same domain. + FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_listing_group_filter_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 00000000..d4adb928 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group listing group filter +// errors. +message AssetGroupListingGroupFilterErrorEnum { + // Enum describing possible asset group listing group filter errors. + enum AssetGroupListingGroupFilterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Listing group tree is too deep. + TREE_TOO_DEEP = 2; + + // Listing Group UNIT node cannot have children. + UNIT_CANNOT_HAVE_CHILDREN = 3; + + // Listing Group SUBDIVISION node must have everything else child. + SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD = 4; + + // Dimension type of Listing Group must be the same as that of its siblings. + DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS = 5; + + // The sibling Listing Groups target exactly the same dimension value. + SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS = 6; + + // The dimension type is the same as one of the ancestor Listing Groups. + SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS = 7; + + // Each Listing Group tree must have a single root. + MULTIPLE_ROOTS = 8; + + // Invalid Listing Group dimension value. + INVALID_DIMENSION_VALUE = 9; + + // Hierarchical dimension must refine a dimension of the same type. + MUST_REFINE_HIERARCHICAL_PARENT_TYPE = 10; + + // Invalid Product Bidding Category. + INVALID_PRODUCT_BIDDING_CATEGORY = 11; + + // Modifying case value is allowed only while updating the entire subtree at + // the same time. + CHANGING_CASE_VALUE_WITH_CHILDREN = 12; + + // Subdivision node has children which must be removed first. + SUBDIVISION_HAS_CHILDREN = 13; + + // Dimension can't subdivide everything-else node in its own hierarchy. + CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_link_error.proto new file mode 100644 index 00000000..1f6ace50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_link_error.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset link errors. + +// Container for enum describing possible asset link errors. +message AssetLinkErrorEnum { + // Enum describing possible asset link errors. + enum AssetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Pinning is not supported for the given asset link field. + PINNING_UNSUPPORTED = 2; + + // The given field type is not supported to be added directly via 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 (e.g. 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 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_asset_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_asset_error.proto new file mode 100644 index 00000000..9f0d6f6d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_asset_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset set asset errors. + +// Container for enum describing possible asset set asset errors. +message AssetSetAssetErrorEnum { + // Enum describing possible asset set asset errors. + enum AssetSetAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The asset type is not eligible to be linked to the specific type of asset + // set. + INVALID_ASSET_TYPE = 2; + + // The asset set type is not eligible to contain the specified type of + // assets. + INVALID_ASSET_SET_TYPE = 3; + + // The asset contains duplicate external key with another asset in the asset + // set. + DUPLICATE_EXTERNAL_KEY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_error.proto new file mode 100644 index 00000000..9ff363a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_link_error.proto new file mode 100644 index 00000000..a486ffe1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/asset_set_link_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing asset set link errors. + +// Container for enum describing possible asset set link errors. +message AssetSetLinkErrorEnum { + // Enum describing possible asset set link errors. + enum AssetSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Advertising channel type cannot be attached to the asset set due to + // channel-based restrictions. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 2; + + // For this asset set type, only one campaign to feed linkage is allowed. + DUPLICATE_FEED_LINK = 3; + + // The asset set type and campaign type are incompatible. + INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE = 4; + + // Cannot link duplicate asset sets to the same campaign. + DUPLICATE_ASSET_SET_LINK = 5; + + // Cannot remove the asset set link. If a campaign is linked with only one + // asset set and you attempt to unlink them, this error will be triggered. + ASSET_SET_LINK_CANNOT_BE_REMOVED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/audience_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/audience_error.proto new file mode 100644 index 00000000..1317485f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/audience_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/authentication_error.proto new file mode 100644 index 00000000..8de6db5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/authentication_error.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing authentication errors. + +// Container for enum describing possible authentication errors. +message AuthenticationErrorEnum { + // Enum describing possible authentication errors. + enum AuthenticationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Authentication of the request failed. + AUTHENTICATION_ERROR = 2; + + // Client Customer ID is not a number. + CLIENT_CUSTOMER_ID_INVALID = 5; + + // No customer found for the provided customer ID. + CUSTOMER_NOT_FOUND = 8; + + // Client's Google Account is deleted. + GOOGLE_ACCOUNT_DELETED = 9; + + // Google account login token in the cookie is invalid. + GOOGLE_ACCOUNT_COOKIE_INVALID = 10; + + // A problem occurred during Google account authentication. + GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; + + // The user in the Google account login token does not match the user ID in + // the cookie. + GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12; + + // Login cookie is required for authentication. + LOGIN_COOKIE_REQUIRED = 13; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/authorization_error.proto new file mode 100644 index 00000000..aca006d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/authorization_error.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing authorization errors. + +// Container for enum describing possible authorization errors. +message AuthorizationErrorEnum { + // Enum describing possible authorization errors. + enum AuthorizationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User doesn't have permission to access customer. Note: If you're + // accessing a client customer, the manager's customer ID must be set in the + // `login-customer-id` header. Learn more at + // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid + USER_PERMISSION_DENIED = 2; + + // The developer token is not on the allow-list. + DEVELOPER_TOKEN_NOT_ON_ALLOWLIST = 13; + + // The developer token is not allowed with the project sent in the request. + DEVELOPER_TOKEN_PROHIBITED = 4; + + // The Google Cloud project sent in the request does not have permission to + // access the api. + PROJECT_DISABLED = 5; + + // Authorization of the client failed. + AUTHORIZATION_ERROR = 6; + + // The user does not have permission to perform this action + // (e.g., ADD, UPDATE, REMOVE) on the resource or call a method. + ACTION_NOT_PERMITTED = 7; + + // Signup not complete. + INCOMPLETE_SIGNUP = 8; + + // The customer can't be used because it isn't enabled. + 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 not approved. Non-approved developer tokens can + // only be used with test accounts. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/batch_job_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/batch_job_error.proto new file mode 100644 index 00000000..7aa9b515 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/batch_job_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing batch job errors. + +// Container for enum describing possible batch job errors. +message BatchJobErrorEnum { + // Enum describing possible request errors. + enum BatchJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The batch job cannot add more operations or run after it has started + // running. + CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; + + // The operations for an AddBatchJobOperations request were empty. + EMPTY_OPERATIONS = 3; + + // The sequence token for an AddBatchJobOperations request was invalid. + INVALID_SEQUENCE_TOKEN = 4; + + // Batch job results can only be retrieved once the job is finished. + RESULTS_NOT_READY = 5; + + // The page size for ListBatchJobResults was invalid. + INVALID_PAGE_SIZE = 6; + + // The batch job cannot be removed because it has started running. + CAN_ONLY_REMOVE_PENDING_JOB = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/bidding_error.proto new file mode 100644 index 00000000..7fa0ad9b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/bidding_error.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing bidding errors. + +// Container for enum describing possible bidding errors. +message BiddingErrorEnum { + // Enum describing possible bidding errors. + enum BiddingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot transition to new bidding strategy. + BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; + + // Cannot attach bidding strategy to campaign. + CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; + + // Bidding strategy is not supported or cannot be used as anonymous. + INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; + + // The type does not match the named strategy's type. + INVALID_BIDDING_STRATEGY_TYPE = 14; + + // The bid is invalid. + INVALID_BID = 17; + + // Bidding strategy is not available for the account type. + BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; + + // Conversion tracking is not enabled in the campaign that has value-based + // bidding transitions. + CONVERSION_TRACKING_NOT_ENABLED = 19; + + // Not enough conversions tracked for value-based bidding transitions. + NOT_ENOUGH_CONVERSIONS = 20; + + // 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; + + // The field is not compatible with the budget type. + NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; + + // The field is not compatible with the bidding strategy type. + NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/bidding_strategy_error.proto new file mode 100644 index 00000000..8d5a682f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/bidding_strategy_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing bidding strategy errors. + +// Container for enum describing possible bidding strategy errors. +message BiddingStrategyErrorEnum { + // Enum describing possible bidding strategy errors. + enum BiddingStrategyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each bidding strategy must have a unique name. + DUPLICATE_NAME = 2; + + // Bidding strategy type is immutable. + CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; + + // Only bidding strategies not linked to campaigns, adgroups or adgroup + // criteria can be removed. + CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; + + // The specified bidding strategy is not supported. + BIDDING_STRATEGY_NOT_SUPPORTED = 5; + + // The bidding strategy is incompatible with the campaign's bidding + // strategy goal type. + INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/billing_setup_error.proto new file mode 100644 index 00000000..6d277878 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/billing_setup_error.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing billing setup errors. + +// Container for enum describing possible billing setup errors. +message BillingSetupErrorEnum { + // Enum describing possible billing setup errors. + enum BillingSetupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot specify both an existing payments account and a new payments + // account when setting up billing. + CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2; + + // Cannot cancel an approved billing setup whose start time has passed. + CANNOT_REMOVE_STARTED_BILLING_SETUP = 3; + + // Cannot perform a Change of Bill-To (CBT) to the same payments account. + CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4; + + // Billing setups can only be used by customers with ENABLED or DRAFT + // status. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5; + + // Billing setups must either include a correctly formatted existing + // payments account id, or a non-empty new payments account name. + INVALID_PAYMENTS_ACCOUNT = 6; + + // Only billable and third-party customers can create billing setups. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7; + + // Billing setup creations can only use NOW for start time type. + INVALID_START_TIME_TYPE = 8; + + // Billing setups can only be created for a third-party customer if they do + // not already have a setup. + THIRD_PARTY_ALREADY_HAS_BILLING = 9; + + // Billing setups cannot be created if there is already a pending billing in + // progress. + BILLING_SETUP_IN_PROGRESS = 10; + + // Billing setups can only be created by customers who have permission to + // setup billings. Users can contact a representative for help setting up + // permissions. + NO_SIGNUP_PERMISSION = 11; + + // Billing setups cannot be created if there is already a future-approved + // billing. + CHANGE_OF_BILL_TO_IN_PROGRESS = 12; + + // Requested payments profile not found. + PAYMENTS_PROFILE_NOT_FOUND = 13; + + // Requested payments account not found. + PAYMENTS_ACCOUNT_NOT_FOUND = 14; + + // Billing setup creation failed because the payments profile is ineligible. + PAYMENTS_PROFILE_INELIGIBLE = 15; + + // Billing setup creation failed because the payments account is ineligible. + PAYMENTS_ACCOUNT_INELIGIBLE = 16; + + // Billing setup creation failed because the payments profile needs internal + // approval. + CUSTOMER_NEEDS_INTERNAL_APPROVAL = 17; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_budget_error.proto new file mode 100644 index 00000000..52e6e5fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_budget_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign budget errors. + +// Container for enum describing possible campaign budget errors. +message CampaignBudgetErrorEnum { + // Enum describing possible campaign budget errors. + enum CampaignBudgetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign budget cannot be shared. + CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; + + // The requested campaign budget no longer exists. + CAMPAIGN_BUDGET_REMOVED = 2; + + // The campaign budget is associated with at least one campaign, and so the + // campaign budget cannot be removed. + CAMPAIGN_BUDGET_IN_USE = 3; + + // Customer is not on the allow-list for this campaign budget period. + CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; + + // This field is not mutable on implicitly shared campaign budgets + CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6; + + // Cannot change explicitly shared campaign budgets back to implicitly + // shared ones. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7; + + // An implicit campaign budget without a name cannot be changed to + // explicitly shared campaign budget. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8; + + // Cannot change an implicitly shared campaign budget to an explicitly + // shared one. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9; + + // Only explicitly shared campaign budgets can be used with multiple + // campaigns. + CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10; + + // A campaign budget with this name already exists. + DUPLICATE_NAME = 11; + + // A money amount was not in the expected currency. + MONEY_AMOUNT_IN_WRONG_CURRENCY = 12; + + // A money amount was less than the minimum CPC for currency. + MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13; + + // A money amount was greater than the maximum allowed. + MONEY_AMOUNT_TOO_LARGE = 14; + + // A money amount was negative. + NEGATIVE_MONEY_AMOUNT = 15; + + // A money amount was not a multiple of a minimum unit. + NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16; + + // Total budget amount must be unset when BudgetPeriod is DAILY. + TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY = 18; + + // The period of the budget is not allowed. + INVALID_PERIOD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_conversion_goal_error.proto new file mode 100644 index 00000000..37198d63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_conversion_goal_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_criterion_error.proto new file mode 100644 index 00000000..706a55d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_criterion_error.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign criterion errors. + +// Container for enum describing possible campaign criterion errors. +message CampaignCriterionErrorEnum { + // Enum describing possible campaign criterion errors. + enum CampaignCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion (keyword v.s. placement) is required for + // CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 3; + + // Criteria type can not be excluded for the campaign by the customer. like + // AOL account type cannot target site type criteria + CANNOT_EXCLUDE_CRITERIA_TYPE = 4; + + // Cannot set the campaign criterion status for this criteria type. + CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; + + // Cannot set the campaign criterion status for an excluded criteria. + CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; + + // Cannot target and exclude the same criterion. + CANNOT_TARGET_AND_EXCLUDE = 7; + + // The mutate contained too many operations. + TOO_MANY_OPERATIONS = 8; + + // This operator cannot be applied to a criterion of this type. + OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; + + // The Shopping campaign sales country is not supported for + // ProductSalesChannel targeting. + SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; + + // The existing field can't be updated with CREATE operation. It can be + // updated with UPDATE operation only. + CANNOT_ADD_EXISTING_FIELD = 11; + + // Negative criteria are immutable, so updates are not allowed. + CANNOT_UPDATE_NEGATIVE_CRITERION = 12; + + // Only free form names are allowed for negative Smart campaign keyword + // theme. + CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION = 13; + + // Invalid Smart campaign keyword theme constant criterion. + INVALID_KEYWORD_THEME_CONSTANT = 14; + + // A Smart campaign keyword theme constant or free-form Smart campaign + // keyword theme is required. + MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME = 15; + + // A Smart campaign may not target proximity and location criteria + // simultaneously. + CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN = 16; + + // A Smart campaign may not target multiple proximity criteria. + CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_customizer_error.proto new file mode 100644 index 00000000..3b24303e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign customizer errors. + +// Container for enum describing possible campaign customizer errors. +message CampaignCustomizerErrorEnum { + // Enum describing possible campaign customizer errors. + enum CampaignCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_draft_error.proto new file mode 100644 index 00000000..1138aab0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_draft_error.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign draft errors. + +// Container for enum describing possible campaign draft errors. +message CampaignDraftErrorEnum { + // Enum describing possible campaign draft errors. + enum CampaignDraftError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A draft with this name already exists for this campaign. + DUPLICATE_DRAFT_NAME = 2; + + // The draft is removed and cannot be transitioned to another status. + INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; + + // The draft has been promoted and cannot be transitioned to the specified + // status. + INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; + + // The draft has failed to be promoted and cannot be transitioned to the + // specified status. + INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; + + // This customer is not allowed to create drafts. + CUSTOMER_CANNOT_CREATE_DRAFT = 6; + + // This campaign is not allowed to create drafts. + CAMPAIGN_CANNOT_CREATE_DRAFT = 7; + + // This modification cannot be made on a draft. + INVALID_DRAFT_CHANGE = 8; + + // The draft cannot be transitioned to the specified status from its + // current status. + INVALID_STATUS_TRANSITION = 9; + + // The campaign has reached the maximum number of drafts that can be created + // for a campaign throughout its lifetime. No additional drafts can be + // created for this campaign. Removed drafts also count towards this limit. + MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; + + // ListAsyncErrors was called without first promoting the draft. + LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_error.proto new file mode 100644 index 00000000..12da45cf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_error.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign errors. + +// Container for enum describing possible campaign errors. +message CampaignErrorEnum { + // Enum describing possible campaign errors. + enum CampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot target content network. + CANNOT_TARGET_CONTENT_NETWORK = 3; + + // Cannot target search network. + CANNOT_TARGET_SEARCH_NETWORK = 4; + + // Cannot cover search network without google search network. + CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; + + // Cannot target Google Search network for a CPM campaign. + CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; + + // Must target at least one network. + CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; + + // Only some Google partners are allowed to target partner search network. + CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; + + // Cannot target content network only as campaign has criteria-level bidding + // strategy. + CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; + + // Cannot modify the start or end date such that the campaign duration would + // not contain the durations of all runnable trials. + CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; + + // Cannot modify dates, budget or status of a trial campaign. + CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11; + + // Trying to modify the name of an active or paused campaign, where the name + // is already assigned to another active or paused campaign. + DUPLICATE_CAMPAIGN_NAME = 12; + + // Two fields are in conflicting modes. + INCOMPATIBLE_CAMPAIGN_FIELD = 13; + + // Campaign name cannot be used. + INVALID_CAMPAIGN_NAME = 14; + + // Given status is invalid. + INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15; + + // Error in the campaign level tracking URL. + INVALID_TRACKING_URL = 16; + + // Cannot set both tracking URL template and tracking setting. A user has + // to clear legacy tracking setting in order to add tracking URL template. + CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17; + + // The maximum number of impressions for Frequency Cap should be an integer + // greater than 0. + MAX_IMPRESSIONS_NOT_IN_RANGE = 18; + + // Only the Day, Week and Month time units are supported. + TIME_UNIT_NOT_SUPPORTED = 19; + + // Operation not allowed on a campaign whose serving status has ended + INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20; + + // This budget is exclusively linked to a Campaign that is using experiments + // so it cannot be shared. + BUDGET_CANNOT_BE_SHARED = 21; + + // Campaigns using experiments cannot use a shared budget. + CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22; + + // A different budget cannot be assigned to a campaign when there are + // running or scheduled trials. + CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23; + + // No link found between the campaign and the label. + CAMPAIGN_LABEL_DOES_NOT_EXIST = 24; + + // The label has already been attached to the campaign. + CAMPAIGN_LABEL_ALREADY_EXISTS = 25; + + // A ShoppingSetting was not found when creating a shopping campaign. + MISSING_SHOPPING_SETTING = 26; + + // The country in shopping setting is not an allowed country. + INVALID_SHOPPING_SALES_COUNTRY = 27; + + // The requested channel type is not available according to the customer's + // account setting. + ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31; + + // The AdvertisingChannelSubType is not a valid subtype of the primary + // channel type. + INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32; + + // At least one conversion must be selected. + AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33; + + // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode + // at campaign is deprecated. + CANNOT_SET_AD_ROTATION_MODE = 34; + + // Trying to change start date on a campaign that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35; + + // Trying to modify a date into the past. + CANNOT_SET_DATE_TO_PAST = 36; + + // Hotel center id in the hotel setting does not match any customer links. + MISSING_HOTEL_CUSTOMER_LINK = 37; + + // Hotel center id in the hotel setting must match an active customer link. + INVALID_HOTEL_CUSTOMER_LINK = 38; + + // Hotel setting was not found when creating a hotel ads campaign. + MISSING_HOTEL_SETTING = 39; + + // A Campaign cannot use shared campaign budgets and be part of a campaign + // group. + CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40; + + // The app ID was not found. + APP_NOT_FOUND = 41; + + // Campaign.shopping_setting.enable_local is not supported for the specified + // campaign type. + SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42; + + // The merchant does not support the creation of campaigns for Shopping + // Comparison Listing Ads. + MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43; + + // The App campaign for engagement cannot be created because there aren't + // enough installs. + INSUFFICIENT_APP_INSTALLS_COUNT = 44; + + // The App campaign for engagement cannot be created because the app is + // sensitive. + SENSITIVE_CATEGORY_APP = 45; + + // Customers with Housing, Employment, or Credit ads must accept updated + // personalized ads policy to continue creating campaigns. + HEC_AGREEMENT_REQUIRED = 46; + + // The field is not compatible with view through conversion optimization. + NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION = 49; + + // The field type cannot be excluded because an active campaign-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 48; + + // The app pre-registration campaign cannot be created for non-Android + // applications. + CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP = 50; + + // The campaign cannot be created since the app is not available for + // pre-registration in any country. + APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN = 51; + + // The type of the Budget is not compatible with this Campaign. + INCOMPATIBLE_BUDGET_TYPE = 52; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_experiment_error.proto new file mode 100644 index 00000000..ec2610dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_experiment_error.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign experiment errors. + +// Container for enum describing possible campaign experiment errors. +message CampaignExperimentErrorEnum { + // Enum describing possible campaign experiment errors. + enum CampaignExperimentError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active campaign or experiment with this name already exists. + DUPLICATE_NAME = 2; + + // Experiment cannot be updated from the current state to the + // requested target state. For example, an experiment can only graduate + // if its status is ENABLED. + INVALID_TRANSITION = 3; + + // Cannot create an experiment from a campaign using an explicitly shared + // budget. + CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; + + // Cannot create an experiment for a removed base campaign. + CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; + + // Cannot create an experiment from a draft, which has a status other than + // proposed. + CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; + + // This customer is not allowed to create an experiment. + CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; + + // This campaign is not allowed to create an experiment. + CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; + + // Trying to set an experiment duration which overlaps with another + // experiment. + EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; + + // All non-removed experiments must start and end within their campaign's + // duration. + EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; + + // The experiment cannot be modified because its status is in a terminal + // state, such as REMOVED. + CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_feed_error.proto new file mode 100644 index 00000000..1dc949cf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_feed_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign feed errors. + +// Container for enum describing possible campaign feed errors. +message CampaignFeedErrorEnum { + // Enum describing possible campaign feed errors. + enum CampaignFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this campaign and placeholder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 4; + + // The CampaignFeed already exists. UPDATE should be used to modify the + // existing CampaignFeed. + CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; + + // Cannot update removed campaign feed. + CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 7; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; + + // Location CampaignFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_shared_set_error.proto new file mode 100644 index 00000000..ce056087 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/campaign_shared_set_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing campaign shared set errors. + +// Container for enum describing possible campaign shared set errors. +message CampaignSharedSetErrorEnum { + // Enum describing possible campaign shared set errors. + enum CampaignSharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The shared set belongs to another customer and permission isn't granted. + SHARED_SET_ACCESS_DENIED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/change_event_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/change_event_error.proto new file mode 100644 index 00000000..e1353c0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/change_event_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing change event errors. + +// Container for enum describing possible change event errors. +message ChangeEventErrorEnum { + // Enum describing possible change event errors. + enum ChangeEventError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. It cannot be older than 30 days. + START_DATE_TOO_OLD = 2; + + // The change_event search request must specify a finite range filter + // on change_date_time. + CHANGE_DATE_RANGE_INFINITE = 3; + + // The change event search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 4; + + // The change_event search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 5; + + // The LIMIT specified by change_event request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/change_status_error.proto new file mode 100644 index 00000000..9c733abf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/change_status_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing change status errors. + +// Container for enum describing possible change status errors. +message ChangeStatusErrorEnum { + // Enum describing possible change status errors. + enum ChangeStatusError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. + START_DATE_TOO_OLD = 3; + + // The change_status search request must specify a finite range filter + // on last_change_date_time. + CHANGE_DATE_RANGE_INFINITE = 4; + + // The change status search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 5; + + // The change_status search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 6; + + // The LIMIT specified by change_status request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/collection_size_error.proto new file mode 100644 index 00000000..e079d17a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/collection_size_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing collection size errors. + +// Container for enum describing possible collection size errors. +message CollectionSizeErrorEnum { + // Enum describing possible collection size errors. + enum CollectionSizeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too few. + TOO_FEW = 2; + + // Too many. + TOO_MANY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/context_error.proto new file mode 100644 index 00000000..fa78b40b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/context_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing context errors. + +// Container for enum describing possible context errors. +message ContextErrorEnum { + // Enum describing possible context errors. + enum ContextError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The operation is not allowed for the given context. + OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; + + // The operation is not allowed for removed resources. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_action_error.proto new file mode 100644 index 00000000..fa0e3bcd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_action_error.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing conversion action errors. + +// Container for enum describing possible conversion action errors. +message ConversionActionErrorEnum { + // Enum describing possible conversion action errors. + enum ConversionActionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action name already exists. + DUPLICATE_NAME = 2; + + // Another conversion action with the specified app id already exists. + DUPLICATE_APP_ID = 3; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; + + // The attribution model cannot be set to DATA_DRIVEN because a data-driven + // model has never been generated. + DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is expired. + DATA_DRIVEN_MODEL_EXPIRED = 7; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is stale. + DATA_DRIVEN_MODEL_STALE = 8; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is unavailable or the conversion action was newly + // added. + DATA_DRIVEN_MODEL_UNKNOWN = 9; + + // Creation of this conversion action type isn't supported by Google + // Ads API. + CREATION_NOT_SUPPORTED = 10; + + // Update of this conversion action isn't supported by Google Ads API. + UPDATE_NOT_SUPPORTED = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 00000000..2f28b747 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_adjustment_upload_error.proto @@ -0,0 +1,130 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action was created too recently. + // Please try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 2; + + // No conversion action of a supported ConversionActionType that matches the + // provided information can be found for the customer. + INVALID_CONVERSION_ACTION = 3; + + // A retraction was already reported for this conversion. + CONVERSION_ALREADY_RETRACTED = 4; + + // A conversion for the supplied combination of conversion + // action and conversion identifier could not be found. + CONVERSION_NOT_FOUND = 5; + + // The specified conversion has already expired. Conversions expire after 55 + // days, after which adjustments cannot be reported against them. + CONVERSION_EXPIRED = 6; + + // The supplied adjustment date time precedes that of the original + // conversion. + ADJUSTMENT_PRECEDES_CONVERSION = 7; + + // A restatement with a more recent adjustment date time was already + // reported for this conversion. + MORE_RECENT_RESTATEMENT_FOUND = 8; + + // The conversion was created too recently. + TOO_RECENT_CONVERSION = 9; + + // Restatements cannot be reported for a conversion action that always uses + // the default value. + CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10; + + // The request contained more than 2000 adjustments. + TOO_MANY_ADJUSTMENTS_IN_REQUEST = 11; + + // The conversion has been adjusted too many times. + TOO_MANY_ADJUSTMENTS = 12; + + // A restatement with this timestamp already exists for this conversion. To + // upload another adjustment, please use a different timestamp. + RESTATEMENT_ALREADY_EXISTS = 13; + + // This adjustment has the same timestamp as another adjustment in the + // request for this conversion. To upload another adjustment, please use a + // different timestamp. + DUPLICATE_ADJUSTMENT_IN_REQUEST = 14; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 15; + + // The enhanced conversion settings of the conversion action supplied is + // not eligible for enhancements. + CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT = 16; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 17; + + // The provided user identifier is not supported. + // ConversionAdjustmentUploadService only supports hashed_email, + // hashed_phone_number, and address_info. + UNSUPPORTED_USER_IDENTIFIER = 18; + + // Cannot set both gclid_date_time_pair and order_id. + GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET = 20; + + // An enhancement with this conversion action and order_id already exists + // for this conversion. + CONVERSION_ALREADY_ENHANCED = 21; + + // This enhancement has the same conversion action and order_id as + // another enhancement in the request. + DUPLICATE_ENHANCEMENT_IN_REQUEST = 22; + + // Per our customer data policies, enhancement has been prohibited in your + // account. If you have any questions, please contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT = 23; + + // The conversion adjustment is for a conversion action of type WEBPAGE, but + // does not have an order_id. The order_id is required for an adjustment for + // a WEBPAGE conversion action. + MISSING_ORDER_ID_FOR_WEBPAGE = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_custom_variable_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_custom_variable_error.proto new file mode 100644 index 00000000..bd5edc52 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_custom_variable_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing conversion custom variable errors. + +// Container for enum describing possible conversion custom variable errors. +message ConversionCustomVariableErrorEnum { + // Enum describing possible conversion custom variable errors. + enum ConversionCustomVariableError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A conversion custom variable with the specified name already exists. + DUPLICATE_NAME = 2; + + // A conversion custom variable with the specified tag already exists. + DUPLICATE_TAG = 3; + + // A conversion custom variable with the specified tag is reserved for other + // uses. + RESERVED_TAG = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_goal_campaign_config_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 00000000..abed434e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_goal_campaign_config_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_upload_error.proto new file mode 100644 index 00000000..3d50f3ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_upload_error.proto @@ -0,0 +1,209 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The request contained more than 2000 conversions. + TOO_MANY_CONVERSIONS_IN_REQUEST = 2; + + // The specified gclid could not be decoded. + UNPARSEABLE_GCLID = 3; + + // The specified conversion_date_time is before the event time + // associated with the given identifier or iOS URL parameter. + CONVERSION_PRECEDES_EVENT = 42; + + // The click associated with the given identifier or iOS URL parameter is + // either too old to be imported or occurred outside of the click through + // lookback window for the specified conversion action. + EXPIRED_EVENT = 43; + + // The click associated with the given identifier or iOS URL parameter + // occurred too recently. Please try uploading again after 6 hours have + // passed since the click occurred. + TOO_RECENT_EVENT = 44; + + // The click associated with the given identifier or iOS URL parameter could + // not be found in the system. This can happen if the identifier or iOS URL + // parameter are collected for non Google Ads clicks. + EVENT_NOT_FOUND = 45; + + // The click associated with the given identifier or iOS URL parameter is + // owned by a customer account that the uploading customer does not manage. + UNAUTHORIZED_CUSTOMER = 8; + + // No upload eligible conversion action that matches the provided + // information can be found for the customer. + INVALID_CONVERSION_ACTION = 9; + + // The specified conversion action was created too recently. + // Please try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 10; + + // The click associated with the given identifier does not contain + // conversion tracking information. + CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; + + // The specified conversion action does not use an external attribution + // model, but external_attribution_data was set. + EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12; + + // The specified conversion action uses an external attribution model, but + // external_attribution_data or one of its contained fields was not set. + // Both external_attribution_credit and external_attribution_model must be + // set for externally attributed conversion actions. + EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13; + + // Order IDs are not supported for conversion actions which use an external + // attribution model. + ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; + + // A conversion with the same order id and conversion action combination + // already exists in our system. + ORDER_ID_ALREADY_IN_USE = 15; + + // The request contained two or more conversions with the same order id and + // conversion action combination. + DUPLICATE_ORDER_ID = 16; + + // The call occurred too recently. Please try uploading again after 12 hours + // have passed since the call occurred. + TOO_RECENT_CALL = 17; + + // The click that initiated the call is too old for this conversion to be + // imported. + EXPIRED_CALL = 18; + + // The call or the click leading to the call was not found. + CALL_NOT_FOUND = 19; + + // The specified conversion_date_time is before the call_start_date_time. + CONVERSION_PRECEDES_CALL = 20; + + // The click associated with the call does not contain conversion tracking + // information. + CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; + + // The caller's phone number cannot be parsed. It should be formatted either + // as E.164 "+16502531234", International "+64 3-331 6005" or US national + // number "6502531234". + UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; + + // A conversion with this timestamp already exists for this click. To upload + // another conversion, please use a different timestamp. + CLICK_CONVERSION_ALREADY_EXISTS = 23; + + // A conversion with this timestamp already exists for this call. To upload + // another conversion, please use a different timestamp. + CALL_CONVERSION_ALREADY_EXISTS = 24; + + // This conversion has the same click and timestamp as another conversion in + // the request. To upload another conversion for this click, please use a + // different timestamp. + DUPLICATE_CLICK_CONVERSION_IN_REQUEST = 25; + + // This conversion has the same call and timestamp as another conversion in + // the request. To upload another conversion for this call, please use a + // different timestamp. + DUPLICATE_CALL_CONVERSION_IN_REQUEST = 26; + + // The custom variable is not enabled. + CUSTOM_VARIABLE_NOT_ENABLED = 28; + + // The value of the custom variable contains personally identifiable + // information (PII), such as an email address or phone number. + CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 29; + + // The click associated with the given identifier or iOS URL parameter isn't + // from the account where conversion tracking is set up. + INVALID_CUSTOMER_FOR_CLICK = 30; + + // The click associated with the given call isn't from the account where + // conversion tracking is set up. + INVALID_CUSTOMER_FOR_CALL = 31; + + // The conversion can't be uploaded because the conversion source didn't + // comply with the App Tracking Transparency (ATT) policy or the person who + // converted didn't consent to tracking. + CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY = 32; + + // No click was found for the provided user identifiers that could be + // applied to the specified conversion action. + CLICK_NOT_FOUND = 33; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 34; + + // Conversion actions which use an external attribution model cannot be used + // with UserIdentifier. + EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER = 35; + + // The provided user identifier is not supported. ConversionUploadService + // only supports hashed_email and hashed_phone_number. + UNSUPPORTED_USER_IDENTIFIER = 36; + + // gbraid and wbraid are both set in the request. Only one is allowed. + GBRAID_WBRAID_BOTH_SET = 38; + + // The specified wbraid could not be decoded. + UNPARSEABLE_WBRAID = 39; + + // The specified gbraid could not be decoded. + UNPARSEABLE_GBRAID = 40; + + // Conversion types which use an external attribution model cannot be used + // with gbraid or wbraid. + EXTERNALLY_ATTRIBUTED_CONVERSION_TYPE_NOT_PERMITTED_WITH_BRAID = 41; + + // Conversion actions which use the one-per-click counting type cannot be + // used with gbraid or wbraid. + ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 46; + + // Per our customer data policies, enhanced conversions have been prohibited + // in your account. If you have any questions, please contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS = 47; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 48; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_error.proto new file mode 100644 index 00000000..2d575405 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_error.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing conversion value rule errors. + +// Container for enum describing possible conversion value rule errors. +message ConversionValueRuleErrorEnum { + // Enum describing possible conversion value rule errors. + enum ConversionValueRuleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The value rule's geo location condition contains invalid geo target + // constant(s), i.e. 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/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_set_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_set_error.proto new file mode 100644 index 00000000..d4f70873 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing conversion value rule set errors. + +// Container for enum describing possible conversion value rule set errors. +message ConversionValueRuleSetErrorEnum { + // Enum describing possible conversion value rule set errors. + enum ConversionValueRuleSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Two value rules in this value rule set contain conflicting conditions. + CONFLICTING_VALUE_RULE_CONDITIONS = 2; + + // This value rule set includes a value rule that cannot be found, has been + // permanently removed or belongs to a different customer. + INVALID_VALUE_RULE = 3; + + // An error that's thrown when a mutate operation is trying to + // replace/remove some existing elements in the dimensions field. In other + // words, ADD op is always fine and UPDATE op is fine if it's only appending + // new elements into dimensions list. + DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND = 4; + + // An error that's thrown when a mutate is adding new value rule(s) into a + // value rule set and the added value rule(s) include conditions that are + // not specified in the dimensions of the value rule set. + CONDITION_TYPE_NOT_ALLOWED = 5; + + // The dimensions field contains duplicate elements. + DUPLICATE_DIMENSIONS = 6; + + // This value rule set is attached to an invalid campaign id. Either a + // campaign with this campaign id doesn't exist or it belongs to a different + // customer. + INVALID_CAMPAIGN_ID = 7; + + // When a mutate request tries to pause a value rule set, the enabled + // value rules in this set must be paused in the same command, or this error + // will be thrown. + CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED = 8; + + // When a mutate request tries to pause all the value rules in a value rule + // set, the value rule set must be paused, or this error will be thrown. + SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED = 9; + + // This value rule set is attached to a campaign that does not support value + // rules. Currently, campaign level value rule sets can only be created on + // Search, or Display campaigns. + VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 10; + + // To add a value rule set that applies on Store Visits/Store Sales + // conversion action categories, the customer must have valid Store Visits/ + // Store Sales conversion actions. + INELIGIBLE_CONVERSION_ACTION_CATEGORIES = 11; + + // If NO_CONDITION is used as a dimension of a value rule set, it must be + // the only dimension. + DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS = 12; + + // Dimension NO_CONDITION can only be used by Store Visits/Store Sales value + // rule set. + DIMENSION_NO_CONDITION_NOT_ALLOWED = 13; + + // Value rule sets defined on the specified conversion action categories are + // not supported. The list of conversion action categories must be an empty + // list, only STORE_VISIT, or only STORE_SALE. + UNSUPPORTED_CONVERSION_ACTION_CATEGORIES = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/country_code_error.proto new file mode 100644 index 00000000..99c888d8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/country_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing country code errors. + +// Container for enum describing country code errors. +message CountryCodeErrorEnum { + // Enum describing country code errors. + enum CountryCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/criterion_error.proto new file mode 100644 index 00000000..86fe6d66 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/criterion_error.proto @@ -0,0 +1,469 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing criterion errors. + +// Container for enum describing possible criterion errors. +message CriterionErrorEnum { + // Enum describing possible criterion errors. + enum CriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion is required for CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // The category requested for exclusion is invalid. + INVALID_EXCLUDED_CATEGORY = 3; + + // Invalid keyword criteria text. + INVALID_KEYWORD_TEXT = 4; + + // Keyword text should be less than 80 chars. + KEYWORD_TEXT_TOO_LONG = 5; + + // Keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 7; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 8; + + // Invalid user list criterion. + INVALID_USER_LIST = 9; + + // Invalid user interest criterion. + INVALID_USER_INTEREST = 10; + + // Placement URL has wrong format. + INVALID_FORMAT_FOR_PLACEMENT_URL = 11; + + // Placement URL is too long. + PLACEMENT_URL_IS_TOO_LONG = 12; + + // Indicates the URL contains an illegal character. + PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; + + // Indicates the URL contains multiple comma separated URLs. + PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; + + // Indicates the domain is blocked. + PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; + + // Invalid topic path. + INVALID_TOPIC_PATH = 16; + + // The YouTube Channel Id is invalid. + INVALID_YOUTUBE_CHANNEL_ID = 17; + + // The YouTube Video Id is invalid. + INVALID_YOUTUBE_VIDEO_ID = 18; + + // Indicates the placement is a YouTube vertical channel, which is no longer + // supported. + YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19; + + // Indicates the placement is a YouTube demographic channel, which is no + // longer supported. + YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20; + + // YouTube urls are not supported in Placement criterion. Use YouTubeChannel + // and YouTubeVideo criterion instead. + YOUTUBE_URL_UNSUPPORTED = 21; + + // Criteria type can not be excluded by the customer, like AOL account type + // cannot target site type criteria. + CANNOT_EXCLUDE_CRITERIA_TYPE = 22; + + // Criteria type can not be targeted. + CANNOT_ADD_CRITERIA_TYPE = 23; + + // Not allowed to exclude similar user list. + CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26; + + // Not allowed to target a closed user list. + CANNOT_ADD_CLOSED_USER_LIST = 27; + + // Not allowed to add display only UserLists to search only campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28; + + // Not allowed to add display only UserLists to search plus campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29; + + // Not allowed to add display only UserLists to shopping campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30; + + // Not allowed to add User interests to search only campaigns. + CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31; + + // Not allowed to set bids for this criterion type in search campaigns + CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32; + + // Final URLs, URL Templates and CustomParameters cannot be set for the + // criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and + // MobileAppCategory in search campaigns and shopping campaigns. + CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33; + + // Invalid combined audience criterion. + INVALID_COMBINED_AUDIENCE = 122; + + // Invalid custom affinity criterion. + INVALID_CUSTOM_AFFINITY = 96; + + // Invalid custom intent criterion. + INVALID_CUSTOM_INTENT = 97; + + // Invalid custom audience criterion. + INVALID_CUSTOM_AUDIENCE = 121; + + // IP address is not valid. + INVALID_IP_ADDRESS = 34; + + // IP format is not valid. + INVALID_IP_FORMAT = 35; + + // Mobile application is not valid. + INVALID_MOBILE_APP = 36; + + // Mobile application category is not valid. + INVALID_MOBILE_APP_CATEGORY = 37; + + // The CriterionId does not exist or is of the incorrect type. + INVALID_CRITERION_ID = 38; + + // The Criterion is not allowed to be targeted. + CANNOT_TARGET_CRITERION = 39; + + // The criterion is not allowed to be targeted as it is deprecated. + CANNOT_TARGET_OBSOLETE_CRITERION = 40; + + // The CriterionId is not valid for the type. + CRITERION_ID_AND_TYPE_MISMATCH = 41; + + // Distance for the radius for the proximity criterion is invalid. + INVALID_PROXIMITY_RADIUS = 42; + + // Units for the distance for the radius for the proximity criterion is + // invalid. + INVALID_PROXIMITY_RADIUS_UNITS = 43; + + // Street address in the address is not valid. + INVALID_STREETADDRESS_LENGTH = 44; + + // City name in the address is not valid. + INVALID_CITYNAME_LENGTH = 45; + + // Region code in the address is not valid. + INVALID_REGIONCODE_LENGTH = 46; + + // Region name in the address is not valid. + INVALID_REGIONNAME_LENGTH = 47; + + // Postal code in the address is not valid. + INVALID_POSTALCODE_LENGTH = 48; + + // Country code in the address is not valid. + INVALID_COUNTRY_CODE = 49; + + // Latitude for the GeoPoint is not valid. + INVALID_LATITUDE = 50; + + // Longitude for the GeoPoint is not valid. + INVALID_LONGITUDE = 51; + + // The Proximity input is not valid. Both address and geoPoint cannot be + // null. + PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52; + + // The Proximity address cannot be geocoded to a valid lat/long. + INVALID_PROXIMITY_ADDRESS = 53; + + // User domain name is not valid. + INVALID_USER_DOMAIN_NAME = 54; + + // Length of serialized criterion parameter exceeded size limit. + CRITERION_PARAMETER_TOO_LONG = 55; + + // Time interval in the AdSchedule overlaps with another AdSchedule. + AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56; + + // AdSchedule time interval cannot span multiple days. + AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57; + + // AdSchedule time interval specified is invalid, endTime cannot be earlier + // than startTime. + AD_SCHEDULE_INVALID_TIME_INTERVAL = 58; + + // The number of AdSchedule entries in a day exceeds the limit. + AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59; + + // CriteriaId does not match the interval of the AdSchedule specified. + AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60; + + // Cannot set bid modifier for this criterion type. + CANNOT_BID_MODIFY_CRITERION_TYPE = 61; + + // Cannot bid modify criterion, since it is opted out of the campaign. + CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62; + + // Cannot set bid modifier for a negative criterion. + CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63; + + // Bid Modifier already exists. Use SET operation to update. + BID_MODIFIER_ALREADY_EXISTS = 64; + + // Feed Id is not allowed in these Location Groups. + FEED_ID_NOT_ALLOWED = 65; + + // The account may not use the requested criteria type. For example, some + // accounts are restricted to keywords only. + ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66; + + // The requested criteria type cannot be used with campaign or ad group + // bidding strategy. + CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67; + + // The Criterion is not allowed to be excluded. + CANNOT_EXCLUDE_CRITERION = 68; + + // The criterion is not allowed to be removed. For example, we cannot remove + // any of the device criterion. + CANNOT_REMOVE_CRITERION = 69; + + // Bidding categories do not form a valid path in the Shopping bidding + // category taxonomy. + INVALID_PRODUCT_BIDDING_CATEGORY = 76; + + // ShoppingSetting must be added to the campaign before ProductScope + // criteria can be added. + MISSING_SHOPPING_SETTING = 77; + + // Matching function is invalid. + INVALID_MATCHING_FUNCTION = 78; + + // Filter parameters not allowed for location groups targeting. + LOCATION_FILTER_NOT_ALLOWED = 79; + + // Feed not found, or the feed is not an enabled location feed. + INVALID_FEED_FOR_LOCATION_FILTER = 98; + + // Given location filter parameter is invalid for location groups targeting. + LOCATION_FILTER_INVALID = 80; + + // Cannot set geo target constants and feed item sets at the same time. + CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS = 123; + + // 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, e.g. 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 (e.g. 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. Please 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. Please see + // https://support.google.com/google-ads/answer/6299717. + CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST = 139; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/currency_code_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/currency_code_error.proto new file mode 100644 index 00000000..bc1331e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/currency_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing currency code errors. + +// Container for enum describing possible currency code errors. +message CurrencyCodeErrorEnum { + // Enum describing possible currency code errors. + enum CurrencyCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The currency code is not supported. + UNSUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/custom_audience_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/custom_audience_error.proto new file mode 100644 index 00000000..3f57f6c6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/custom_audience_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing custom audience errors. + +// Container for enum describing possible custom audience errors. +message CustomAudienceErrorEnum { + // Enum describing possible custom audience errors. + enum CustomAudienceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // New name in the custom audience is duplicated ignoring cases. + NAME_ALREADY_USED = 2; + + // Cannot remove a custom audience while it's still being used as targeting. + CANNOT_REMOVE_WHILE_IN_USE = 3; + + // Cannot update or remove a custom audience that is already removed. + RESOURCE_ALREADY_REMOVED = 4; + + // The pair of [type, value] already exists in members. + MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Member type is invalid. + INVALID_MEMBER_TYPE = 6; + + // Member type does not have associated value. + MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH = 7; + + // Custom audience contains a member that violates policy. + POLICY_VIOLATION = 8; + + // Change in custom audience type is not allowed. + INVALID_TYPE_CHANGE = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/custom_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/custom_conversion_goal_error.proto new file mode 100644 index 00000000..f323b577 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/custom_conversion_goal_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing CustomConversionGoal errors. + +// Container for enum describing possible custom conversion goal errors. +message CustomConversionGoalErrorEnum { + // Enum describing possible custom conversion goal errors. + enum CustomConversionGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot find a conversion action with the specified id. + INVALID_CONVERSION_ACTION = 2; + + // The conversion action is not enabled so it cannot be included in a custom + // conversion goal. + CONVERSION_ACTION_NOT_ENABLED = 3; + + // The custom conversion goal cannot be removed because it's linked to a + // campaign. + CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL = 4; + + // Custom goal with the same name already exists. + CUSTOM_GOAL_DUPLICATE_NAME = 5; + + // Custom goal with the same conversion action list already exists. + DUPLICATE_CONVERSION_ACTION_LIST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/custom_interest_error.proto new file mode 100644 index 00000000..eb40427d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/custom_interest_error.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing custom interest errors. + +// Container for enum describing possible custom interest errors. +message CustomInterestErrorEnum { + // Enum describing possible custom interest errors. + enum CustomInterestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate custom interest name ignoring case. + NAME_ALREADY_USED = 2; + + // In the remove custom interest member operation, both member ID and + // pair [type, parameter] are not present. + CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; + + // The pair of [type, parameter] does not exist. + TYPE_AND_PARAMETER_NOT_FOUND = 4; + + // The pair of [type, parameter] already exists. + TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Unsupported custom interest member type. + INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; + + // Cannot remove a custom interest while it's still being targeted. + CANNOT_REMOVE_WHILE_IN_USE = 7; + + // Cannot mutate custom interest type. + CANNOT_CHANGE_TYPE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_client_link_error.proto new file mode 100644 index 00000000..a0538233 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_client_link_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing CustomerClientLink errors. + +// Container for enum describing possible CustomeClientLink errors. +message CustomerClientLinkErrorEnum { + // Enum describing possible CustomerClientLink errors. + enum CustomerClientLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Trying to manage a client that already in being managed by customer. + CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; + + // Already managed by some other manager in the hierarchy. + CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; + + // Attempt to create a cycle in the hierarchy. + CYCLIC_LINK_NOT_ALLOWED = 4; + + // Managed accounts has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; + + // Invitor has the maximum pending invitations. + CLIENT_HAS_TOO_MANY_INVITATIONS = 6; + + // Attempt to change hidden status of a link that is not active. + CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; + + // Parent manager account has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; + + // Client has too many managers. + CLIENT_HAS_TOO_MANY_MANAGERS = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_customizer_error.proto new file mode 100644 index 00000000..a59548e3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing customer customizer errors. + +// Container for enum describing possible customer customizer errors. +message CustomerCustomizerErrorEnum { + // Enum describing possible customer customizer errors. + enum CustomerCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_error.proto new file mode 100644 index 00000000..c578078f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Container for enum describing possible customer errors. +message CustomerErrorEnum { + // Set of errors that are related to requests dealing with Customer. + enum CustomerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer status is not allowed to be changed from DRAFT and CLOSED. + // Currency code and at least one of country code and time zone needs to be + // set when status is changed to ENABLED. + STATUS_CHANGE_DISALLOWED = 2; + + // CustomerService cannot get a customer that has not been fully set up. + ACCOUNT_NOT_SET_UP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_feed_error.proto new file mode 100644 index 00000000..9e55ff18 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_feed_error.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing customer feed errors. + +// Container for enum describing possible customer feed errors. +message CustomerFeedErrorEnum { + // Enum describing possible customer feed errors. + enum CustomerFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this customer and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The CustomerFeed already exists. Update should be used to modify the + // existing CustomerFeed. + CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; + + // Cannot update removed customer feed. + CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Placeholder not allowed at the account level. + PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_manager_link_error.proto new file mode 100644 index 00000000..baf640a7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_manager_link_error.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing CustomerManagerLink errors. + +// Container for enum describing possible CustomerManagerLink errors. +message CustomerManagerLinkErrorEnum { + // Enum describing possible CustomerManagerLink errors. + enum CustomerManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No pending invitation. + NO_PENDING_INVITE = 2; + + // Attempt to operate on the same client more than once in the same call. + SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; + + // Manager account has the maximum number of linked accounts. + MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; + + // If no active user on account it cannot be unlinked from its manager. + CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; + + // Account should have at least one active owner on it before being + // unlinked. + CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; + + // Only account owners may change their permission role. + CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; + + // When a client's link to its manager is not active, the link role cannot + // be changed. + CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; + + // Attempt to link a child to a parent that contains or will contain + // duplicate children. + DUPLICATE_CHILD_FOUND = 9; + + // The authorized customer is a test account. It can add no more than the + // allowed number of accounts + TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customer_user_access_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customer_user_access_error.proto new file mode 100644 index 00000000..2cf62ec1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customer_user_access_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing CustomerUserAccess errors. + +// Container for enum describing possible CustomerUserAccess errors. +message CustomerUserAccessErrorEnum { + // Enum describing possible customer user access errors. + enum CustomerUserAccessError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There is no user associated with the user id specified. + INVALID_USER_ID = 2; + + // Unable to remove the access between the user and customer. + REMOVAL_DISALLOWED = 3; + + // Unable to add or update the access role as specified. + DISALLOWED_ACCESS_ROLE = 4; + + // The user can't remove itself from an active serving customer if it's the + // last admin user and the customer doesn't have any owner manager + LAST_ADMIN_USER_OF_SERVING_CUSTOMER = 5; + + // Last admin user cannot be removed from a manager. + LAST_ADMIN_USER_OF_MANAGER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/customizer_attribute_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/customizer_attribute_error.proto new file mode 100644 index 00000000..5c2bcafa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/customizer_attribute_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing customizer attribute errors. + +// Container for enum describing possible customizer attribute errors. +message CustomizerAttributeErrorEnum { + // Enum describing possible customizer attribute errors. + enum CustomizerAttributeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // CustomizerAttribute name matches that of another active + // CustomizerAttribute. + DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/database_error.proto new file mode 100644 index 00000000..be948f4f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/database_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing database errors. + +// Container for enum describing possible database errors. +message DatabaseErrorEnum { + // Enum describing possible database errors. + enum DatabaseError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiple requests were attempting to modify the same resource at once. + // Please 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. Please split the request into smaller + // requests. + REQUEST_TOO_LARGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/date_error.proto new file mode 100644 index 00000000..ce62f178 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/date_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing date errors. + +// Container for enum describing possible date errors. +message DateErrorEnum { + // Enum describing possible date errors. + enum DateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Given field values do not correspond to a valid date. + INVALID_FIELD_VALUES_IN_DATE = 2; + + // Given field values do not correspond to a valid date time. + INVALID_FIELD_VALUES_IN_DATE_TIME = 3; + + // The string date's format should be yyyy-mm-dd. + INVALID_STRING_DATE = 4; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. + INVALID_STRING_DATE_TIME_MICROS = 6; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss. + INVALID_STRING_DATE_TIME_SECONDS = 11; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. + INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; + + // Date is before allowed minimum. + EARLIER_THAN_MINIMUM_DATE = 7; + + // Date is after allowed maximum. + LATER_THAN_MAXIMUM_DATE = 8; + + // Date range bounds are not in order. + DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; + + // Both dates in range are null. + DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/date_range_error.proto new file mode 100644 index 00000000..d14e4152 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/date_range_error.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing date range errors. + +// Container for enum describing possible date range errors. +message DateRangeErrorEnum { + // Enum describing possible date range errors. + enum DateRangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date. + INVALID_DATE = 2; + + // The start date was after the end date. + START_DATE_AFTER_END_DATE = 3; + + // Cannot set date to past time + CANNOT_SET_DATE_TO_PAST = 4; + + // A date was used that is past the system "last" date. + AFTER_MAXIMUM_ALLOWABLE_DATE = 5; + + // Trying to change start date on a resource that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/distinct_error.proto new file mode 100644 index 00000000..3058b38e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/distinct_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing distinct errors. + +// Container for enum describing possible distinct errors. +message DistinctErrorEnum { + // Enum describing possible distinct errors. + enum DistinctError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate element. + DUPLICATE_ELEMENT = 2; + + // Duplicate type. + DUPLICATE_TYPE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/enum_error.proto new file mode 100644 index 00000000..3ae108f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/enum_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing enum errors. + +// Container for enum describing possible enum errors. +message EnumErrorEnum { + // Enum describing possible enum errors. + enum EnumError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The enum value is not permitted. + ENUM_VALUE_NOT_PERMITTED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v10/errors/errors.proto new file mode 100644 index 00000000..9480008a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/errors.proto @@ -0,0 +1,735 @@ +// 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.ads.googleads.v10.errors; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/common/value.proto"; +import "google/ads/googleads/v10/enums/resource_limit_type.proto"; +import "google/ads/googleads/v10/errors/access_invitation_error.proto"; +import "google/ads/googleads/v10/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v10/errors/account_link_error.proto"; +import "google/ads/googleads/v10/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v10/errors/ad_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_error.proto"; +import "google/ads/googleads/v10/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v10/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v10/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v10/errors/adx_error.proto"; +import "google/ads/googleads/v10/errors/asset_error.proto"; +import "google/ads/googleads/v10/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v10/errors/asset_group_error.proto"; +import "google/ads/googleads/v10/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v10/errors/asset_link_error.proto"; +import "google/ads/googleads/v10/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v10/errors/asset_set_error.proto"; +import "google/ads/googleads/v10/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v10/errors/audience_error.proto"; +import "google/ads/googleads/v10/errors/authentication_error.proto"; +import "google/ads/googleads/v10/errors/authorization_error.proto"; +import "google/ads/googleads/v10/errors/batch_job_error.proto"; +import "google/ads/googleads/v10/errors/bidding_error.proto"; +import "google/ads/googleads/v10/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v10/errors/billing_setup_error.proto"; +import "google/ads/googleads/v10/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v10/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v10/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v10/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v10/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v10/errors/campaign_error.proto"; +import "google/ads/googleads/v10/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v10/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v10/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v10/errors/change_event_error.proto"; +import "google/ads/googleads/v10/errors/change_status_error.proto"; +import "google/ads/googleads/v10/errors/collection_size_error.proto"; +import "google/ads/googleads/v10/errors/context_error.proto"; +import "google/ads/googleads/v10/errors/conversion_action_error.proto"; +import "google/ads/googleads/v10/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v10/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v10/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v10/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v10/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v10/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v10/errors/country_code_error.proto"; +import "google/ads/googleads/v10/errors/criterion_error.proto"; +import "google/ads/googleads/v10/errors/currency_code_error.proto"; +import "google/ads/googleads/v10/errors/custom_audience_error.proto"; +import "google/ads/googleads/v10/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v10/errors/custom_interest_error.proto"; +import "google/ads/googleads/v10/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v10/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v10/errors/customer_error.proto"; +import "google/ads/googleads/v10/errors/customer_feed_error.proto"; +import "google/ads/googleads/v10/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v10/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v10/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v10/errors/database_error.proto"; +import "google/ads/googleads/v10/errors/date_error.proto"; +import "google/ads/googleads/v10/errors/date_range_error.proto"; +import "google/ads/googleads/v10/errors/distinct_error.proto"; +import "google/ads/googleads/v10/errors/enum_error.proto"; +import "google/ads/googleads/v10/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v10/errors/experiment_error.proto"; +import "google/ads/googleads/v10/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v10/errors/extension_setting_error.proto"; +import "google/ads/googleads/v10/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v10/errors/feed_error.proto"; +import "google/ads/googleads/v10/errors/feed_item_error.proto"; +import "google/ads/googleads/v10/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v10/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v10/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v10/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v10/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v10/errors/field_error.proto"; +import "google/ads/googleads/v10/errors/field_mask_error.proto"; +import "google/ads/googleads/v10/errors/function_error.proto"; +import "google/ads/googleads/v10/errors/function_parsing_error.proto"; +import "google/ads/googleads/v10/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v10/errors/header_error.proto"; +import "google/ads/googleads/v10/errors/id_error.proto"; +import "google/ads/googleads/v10/errors/image_error.proto"; +import "google/ads/googleads/v10/errors/internal_error.proto"; +import "google/ads/googleads/v10/errors/invoice_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v10/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v10/errors/label_error.proto"; +import "google/ads/googleads/v10/errors/language_code_error.proto"; +import "google/ads/googleads/v10/errors/list_operation_error.proto"; +import "google/ads/googleads/v10/errors/manager_link_error.proto"; +import "google/ads/googleads/v10/errors/media_bundle_error.proto"; +import "google/ads/googleads/v10/errors/media_file_error.proto"; +import "google/ads/googleads/v10/errors/media_upload_error.proto"; +import "google/ads/googleads/v10/errors/merchant_center_error.proto"; +import "google/ads/googleads/v10/errors/multiplier_error.proto"; +import "google/ads/googleads/v10/errors/mutate_error.proto"; +import "google/ads/googleads/v10/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v10/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v10/errors/not_empty_error.proto"; +import "google/ads/googleads/v10/errors/null_error.proto"; +import "google/ads/googleads/v10/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v10/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v10/errors/operator_error.proto"; +import "google/ads/googleads/v10/errors/partial_failure_error.proto"; +import "google/ads/googleads/v10/errors/payments_account_error.proto"; +import "google/ads/googleads/v10/errors/policy_finding_error.proto"; +import "google/ads/googleads/v10/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v10/errors/policy_violation_error.proto"; +import "google/ads/googleads/v10/errors/query_error.proto"; +import "google/ads/googleads/v10/errors/quota_error.proto"; +import "google/ads/googleads/v10/errors/range_error.proto"; +import "google/ads/googleads/v10/errors/reach_plan_error.proto"; +import "google/ads/googleads/v10/errors/recommendation_error.proto"; +import "google/ads/googleads/v10/errors/region_code_error.proto"; +import "google/ads/googleads/v10/errors/request_error.proto"; +import "google/ads/googleads/v10/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v10/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v10/errors/setting_error.proto"; +import "google/ads/googleads/v10/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v10/errors/shared_set_error.proto"; +import "google/ads/googleads/v10/errors/size_limit_error.proto"; +import "google/ads/googleads/v10/errors/string_format_error.proto"; +import "google/ads/googleads/v10/errors/string_length_error.proto"; +import "google/ads/googleads/v10/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v10/errors/time_zone_error.proto"; +import "google/ads/googleads/v10/errors/url_field_error.proto"; +import "google/ads/googleads/v10/errors/user_data_error.proto"; +import "google/ads/googleads/v10/errors/user_list_error.proto"; +import "google/ads/googleads/v10/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing the common error protos + +// Describes how a GoogleAds API call failed. It's returned inside +// google.rpc.Status.details when a call fails. +message GoogleAdsFailure { + // The list of errors that occurred. + repeated GoogleAdsError errors = 1; + + // The unique ID of the request that is used for debugging purposes. + string request_id = 2; +} + +// GoogleAds-specific error. +message GoogleAdsError { + // An enum value that indicates which error occurred. + ErrorCode error_code = 1; + + // A human-readable description of the error. + string message = 2; + + // The value that triggered the error. + google.ads.googleads.v10.common.Value trigger = 3; + + // Describes the part of the request proto that caused the error. + ErrorLocation location = 4; + + // Additional error details, which are returned by certain error codes. Most + // error codes do not include details. + ErrorDetails details = 5; +} + +// The error reason represented by type and enum. +message ErrorCode { + // The list of error enums + oneof error_code { + // An error caused by the request + RequestErrorEnum.RequestError request_error = 1; + + // An error with a Bidding Strategy mutate. + BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; + + // An error with a URL field mutate. + UrlFieldErrorEnum.UrlFieldError url_field_error = 3; + + // An error with a list operation. + ListOperationErrorEnum.ListOperationError list_operation_error = 4; + + // An error with an AWQL query + QueryErrorEnum.QueryError query_error = 5; + + // An error with a mutate + MutateErrorEnum.MutateError mutate_error = 7; + + // An error with a field mask + FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; + + // An error encountered when trying to authorize a user. + AuthorizationErrorEnum.AuthorizationError authorization_error = 9; + + // An unexpected server-side error. + InternalErrorEnum.InternalError internal_error = 10; + + // An error with the 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; + + // The reasons for the experiment arm error + ExperimentArmErrorEnum.ExperimentArmError experiment_arm_error = 156; + } +} + +// Describes the part of the request proto that caused the error. +message ErrorLocation { + // A part of a field path. + message FieldPathElement { + // The name of a field or a oneof + string field_name = 1; + + // If field_name is a repeated field, this is the element that failed + optional int32 index = 3; + } + + // A field path that indicates which field was invalid in the request. + repeated FieldPathElement field_path_elements = 2; +} + +// Additional error details. +message ErrorDetails { + // The error code that should have been returned, but wasn't. This is used + // when the error code is not published in the client specified version. + string unpublished_error_code = 1; + + // Describes an ad policy violation. + PolicyViolationDetails policy_violation_details = 2; + + // Describes policy violation findings. + PolicyFindingDetails policy_finding_details = 3; + + // Details on the quota error, including the scope (account or developer), the + // rate bucket name and the retry delay. + QuotaErrorDetails quota_error_details = 4; + + // Details for a resource count limit exceeded error. + ResourceCountDetails resource_count_details = 5; +} + +// Error returned as part of a mutate response. +// This error indicates single policy violation by some text +// in one of the fields. +message PolicyViolationDetails { + // Human readable description of policy violation. + string external_policy_description = 2; + + // Unique identifier for this violation. + // If policy is exemptible, this key may be used to request exemption. + google.ads.googleads.v10.common.PolicyViolationKey key = 4; + + // Human readable name of the policy. + string external_policy_name = 5; + + // Whether user can file an exemption request for this violation. + bool is_exemptible = 6; +} + +// Error returned as part of a mutate response. +// This error indicates one or more policy findings in the fields of a +// resource. +message PolicyFindingDetails { + // The list of policy topics for the resource. Contains the PROHIBITED or + // FULLY_LIMITED policy topic entries that prevented the resource from being + // saved (among any other entries the resource may also have). + repeated google.ads.googleads.v10.common.PolicyTopicEntry policy_topic_entries = 1; +} + +// Additional quota error details when there is QuotaError. +message QuotaErrorDetails { + // Enum of possible scopes that quota buckets belong to. + enum QuotaRateScope { + // Unspecified enum + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per customer account quota + ACCOUNT = 2; + + // Per project or DevToken quota + DEVELOPER = 3; + } + + // The rate scope of the quota limit. + QuotaRateScope rate_scope = 1; + + // The high level description of the quota bucket. + // Examples are "Get requests for standard access" or "Requests per account". + string rate_name = 2; + + // Backoff period that customers should wait before sending next request. + google.protobuf.Duration retry_delay = 3; +} + +// Error details returned when an resource count limit was exceeded. +message ResourceCountDetails { + // The ID of the resource whose limit was exceeded. + // External customer ID if the limit is for a customer. + string enclosing_id = 1; + + // The name of the resource (Customer, Campaign etc.) whose limit was + // exceeded. + string enclosing_resource = 5; + + // The limit which was exceeded. + int32 limit = 2; + + // The resource limit type which was exceeded. + google.ads.googleads.v10.enums.ResourceLimitTypeEnum.ResourceLimitType limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/experiment_arm_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/experiment_arm_error.proto new file mode 100644 index 00000000..e58ca5a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/experiment_arm_error.proto @@ -0,0 +1,86 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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/google-cloud/protos/google/ads/googleads/v10/errors/experiment_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/experiment_error.proto new file mode 100644 index 00000000..18444c5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/experiment_error.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::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. + // Please 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. + // Please 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. + // Please 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/extension_feed_item_error.proto new file mode 100644 index 00000000..69031805 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/extension_feed_item_error.proto @@ -0,0 +1,193 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing extension feed item errors. + +// Container for enum describing possible extension feed item error. +message ExtensionFeedItemErrorEnum { + // Enum describing possible extension feed item errors. + enum ExtensionFeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 2; + + // Url list is too long. + URL_LIST_TOO_LONG = 3; + + // Cannot have a geo targeting restriction without having geo targeting. + CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; + + // Cannot simultaneously set sitelink field with final urls. + CANNOT_SET_WITH_FINAL_URLS = 5; + + // Must set field with final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 6; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 7; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; + + // Phone number type for a call extension is not allowed. + // For example, personal number is not allowed for a call extension in + // most regions. + DISALLOWED_NUMBER_TYPE = 11; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; + + // Vanity phone numbers (i.e. 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. Please 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 (i.e., 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 i.e. 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/google-cloud/protos/google/ads/googleads/v10/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/extension_setting_error.proto new file mode 100644 index 00000000..4e76d482 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/extension_setting_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing extension setting validation errors. + +// Container for enum describing validation errors of extension settings. +message ExtensionSettingErrorEnum { + // Enum describing possible extension setting errors. + enum ExtensionSettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A platform restriction was provided without input extensions or existing + // extensions. + EXTENSIONS_REQUIRED = 2; + + // The provided feed type does not correspond to the provided extensions. + FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; + + // The provided feed type cannot be used. + INVALID_FEED_TYPE = 4; + + // The provided feed type cannot be used at the customer level. + INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; + + // Cannot change a feed item field on a CREATE operation. + CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; + + // Cannot update an extension that is not already in this setting. + CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; + + // There is no existing AdGroupExtensionSetting for this type. + NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; + + // There is no existing CampaignExtensionSetting for this type. + NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; + + // There is no existing CustomerExtensionSetting for this type. + NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; + + // The AdGroupExtensionSetting already exists. UPDATE should be used to + // modify the existing AdGroupExtensionSetting. + AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; + + // The CampaignExtensionSetting already exists. UPDATE should be used to + // modify the existing CampaignExtensionSetting. + CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; + + // The CustomerExtensionSetting already exists. UPDATE should be used to + // modify the existing CustomerExtensionSetting. + CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; + + // An active ad group feed already exists for this place holder type. + AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; + + // An active campaign feed already exists for this place holder type. + CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; + + // An active customer feed already exists for this place holder type. + CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 17; + + // Cannot simultaneously set specified field with final urls. + CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; + + // Must set field with final urls. + FINAL_URLS_NOT_SET = 19; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 20; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; + + // Phone number type for a call extension is not allowed. + DISALLOWED_NUMBER_TYPE = 24; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; + + // Vanity phone numbers (i.e. 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 (i.e., 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 (e.g., 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. Please 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/google-cloud/protos/google/ads/googleads/v10/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_attribute_reference_error.proto new file mode 100644 index 00000000..7af8d9dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_attribute_reference_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed attribute reference errors. + +// Container for enum describing possible feed attribute reference errors. +message FeedAttributeReferenceErrorEnum { + // Enum describing possible feed attribute reference errors. + enum FeedAttributeReferenceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A feed referenced by ID has been removed. + CANNOT_REFERENCE_REMOVED_FEED = 2; + + // There is no enabled feed with the given name. + INVALID_FEED_NAME = 3; + + // There is no feed attribute in an enabled feed with the given name. + INVALID_FEED_ATTRIBUTE_NAME = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_error.proto new file mode 100644 index 00000000..bd914854 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_error.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed errors. + +// Container for enum describing possible feed errors. +message FeedErrorEnum { + // Enum describing possible feed errors. + enum FeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The names of the FeedAttributes must be unique. + ATTRIBUTE_NAMES_NOT_UNIQUE = 2; + + // The attribute list must be an exact copy of the existing list if the + // attribute ID's are present. + ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; + + // Cannot specify USER origin for a system generated feed. + CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; + + // Cannot specify GOOGLE origin for a non-system generated feed. + CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; + + // Cannot specify feed attributes for system feed. + CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; + + // Cannot update FeedAttributes on feed with origin GOOGLE. + CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; + + // The given ID refers to a removed Feed. Removed Feeds are immutable. + FEED_REMOVED = 8; + + // The origin of the feed is not valid for the client. + INVALID_ORIGIN_VALUE = 9; + + // A user can only create and modify feeds with USER origin. + FEED_ORIGIN_IS_NOT_USER = 10; + + // Invalid auth token for the given email. + INVALID_AUTH_TOKEN_FOR_EMAIL = 11; + + // Invalid email specified. + INVALID_EMAIL = 12; + + // Feed name matches that of another active Feed. + DUPLICATE_FEED_NAME = 13; + + // Name of feed is not allowed. + INVALID_FEED_NAME = 14; + + // Missing OAuthInfo. + MISSING_OAUTH_INFO = 15; + + // New FeedAttributes must not affect the unique key. + NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; + + // Too many FeedAttributes for a Feed. + TOO_MANY_ATTRIBUTES = 17; + + // The business account is not valid. + INVALID_BUSINESS_ACCOUNT = 18; + + // Business account cannot access Business Profile. + BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19; + + // Invalid chain ID provided for affiliate location feed. + INVALID_AFFILIATE_CHAIN_ID = 20; + + // There is already a feed with the given system feed generation data. + DUPLICATE_SYSTEM_FEED = 21; + + // An error occurred accessing Business Profile. + GMB_ACCESS_ERROR = 22; + + // A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds. + CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS = 23; + + // Feed-based extension is read-only for this extension type. + LEGACY_EXTENSION_TYPE_READ_ONLY = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_error.proto new file mode 100644 index 00000000..066abbb8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_error.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedItemErrorEnum { + // Enum describing possible feed item errors. + enum FeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot convert the feed attribute value from string to its real type. + CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; + + // Feed item with the key attributes could not be found. + KEY_ATTRIBUTES_NOT_FOUND = 5; + + // Url feed attribute value is not valid. + INVALID_URL = 6; + + // Some key attributes are missing. + MISSING_KEY_ATTRIBUTES = 7; + + // Feed item has same key attributes as another feed item. + KEY_ATTRIBUTES_NOT_UNIQUE = 8; + + // Cannot modify key attributes on an existing feed item. + CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; + + // The feed attribute value is too large. + SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_error.proto new file mode 100644 index 00000000..be2dabff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_error.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item set errors. + +// Container for enum describing possible feed item set errors. +message FeedItemSetErrorEnum { + // Enum describing possible feed item set errors. + enum FeedItemSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given ID refers to a removed FeedItemSet. + FEED_ITEM_SET_REMOVED = 2; + + // The dynamic filter of a feed item set cannot be cleared on UPDATE if it + // exists. A set is either static or dynamic once added, and that cannot + // change. + CANNOT_CLEAR_DYNAMIC_FILTER = 3; + + // The dynamic filter of a feed item set cannot be created on UPDATE if it + // does not exist. A set is either static or dynamic once added, and that + // cannot change. + CANNOT_CREATE_DYNAMIC_FILTER = 4; + + // FeedItemSets can only be made for location or affiliate location feeds. + INVALID_FEED_TYPE = 5; + + // FeedItemSets duplicate name. Name should be unique within an account. + DUPLICATE_NAME = 6; + + // The feed type of the parent Feed is not compatible with the type of + // dynamic filter being set. For example, you can only set + // dynamic_location_set_filter for LOCATION feed item sets. + WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE = 7; + + // Chain ID specified for AffiliateLocationFeedData is invalid. + DYNAMIC_FILTER_INVALID_CHAIN_IDS = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_link_error.proto new file mode 100644 index 00000000..29bd732b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_set_link_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item set link errors. + +// Container for enum describing possible feed item set link errors. +message FeedItemSetLinkErrorEnum { + // Enum describing possible feed item set link errors. + enum FeedItemSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems + // in a given Feed can be linked to a FeedItemSet in that Feed. + FEED_ID_MISMATCH = 2; + + // Cannot add or remove links to a dynamic set. + NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_target_error.proto new file mode 100644 index 00000000..79dd4826 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_target_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item target errors. + +// Container for enum describing possible feed item target errors. +message FeedItemTargetErrorEnum { + // Enum describing possible feed item target errors. + enum FeedItemTargetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // On CREATE, the FeedItemTarget must have a populated field in the oneof + // target. + MUST_SET_TARGET_ONEOF_ON_CREATE = 2; + + // The specified feed item target already exists, so it cannot be added. + FEED_ITEM_TARGET_ALREADY_EXISTS = 3; + + // The schedules for a given feed item cannot overlap. + FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; + + // Too many targets of a given type were added for a single feed item. + TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; + + // Too many AdSchedules are enabled for the feed item for the given day. + TOO_MANY_SCHEDULES_PER_DAY = 6; + + // A feed item may either have an enabled campaign target or an enabled ad + // group target. + CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; + + // Duplicate ad schedules aren't allowed. + DUPLICATE_AD_SCHEDULE = 8; + + // Duplicate keywords aren't allowed. + DUPLICATE_KEYWORD = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_validation_error.proto new file mode 100644 index 00000000..43fc2430 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_item_validation_error.proto @@ -0,0 +1,375 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item validation errors. + +// Container for enum describing possible validation errors of a feed item. +message FeedItemValidationErrorEnum { + // The possible validation errors of a feed item. + enum FeedItemValidationError { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // String is too short. + STRING_TOO_SHORT = 2; + + // String is too long. + STRING_TOO_LONG = 3; + + // Value is not provided. + VALUE_NOT_SPECIFIED = 4; + + // Phone number format is invalid for region. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; + + // String does not represent a phone number. + INVALID_PHONE_NUMBER = 6; + + // Phone number format is not compatible with country code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; + + // Premium rate number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; + + // Phone number type is not allowed. + DISALLOWED_NUMBER_TYPE = 9; + + // Specified value is outside of the valid range. + VALUE_OUT_OF_RANGE = 10; + + // Call tracking is not supported in the selected country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; + + // Customer is not on the allow-list for call tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 99; + + // Country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // The specified mobile app id is invalid. + INVALID_APP_ID = 14; + + // Some required field attributes are missing. + MISSING_ATTRIBUTES_FOR_FIELDS = 15; + + // Invalid email button type for email extension. + INVALID_TYPE_ID = 16; + + // Email address is invalid. + INVALID_EMAIL_ADDRESS = 17; + + // The HTTPS URL in email extension is invalid. + INVALID_HTTPS_URL = 18; + + // Delivery address is missing from email extension. + MISSING_DELIVERY_ADDRESS = 19; + + // FeedItem scheduling start date comes after end date. + START_DATE_AFTER_END_DATE = 20; + + // FeedItem scheduling start time is missing. + MISSING_FEED_ITEM_START_TIME = 21; + + // FeedItem scheduling end time is missing. + MISSING_FEED_ITEM_END_TIME = 22; + + // Cannot compute system attributes on a FeedItem that has no FeedItemId. + MISSING_FEED_ITEM_ID = 23; + + // Call extension vanity phone numbers are not supported. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 24; + + // Invalid review text. + INVALID_REVIEW_EXTENSION_SNIPPET = 25; + + // Invalid format for numeric value in ad parameter. + INVALID_NUMBER_FORMAT = 26; + + // Invalid format for date value in ad parameter. + INVALID_DATE_FORMAT = 27; + + // Invalid format for price value in ad parameter. + INVALID_PRICE_FORMAT = 28; + + // Unrecognized type given for value in ad parameter. + UNKNOWN_PLACEHOLDER_FIELD = 29; + + // Enhanced sitelinks must have both description lines specified. + MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30; + + // Review source is ineligible. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31; + + // Review text cannot contain hyphens or dashes. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Review text cannot contain double quote characters. + DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // Review text cannot contain quote characters. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34; + + // Parameters are encoded in the wrong format. + INVALID_FORM_ENCODED_PARAMS = 35; + + // URL parameter name must contain only letters, numbers, underscores, and + // dashes. + INVALID_URL_PARAMETER_NAME = 36; + + // Cannot find address location. + NO_GEOCODING_RESULT = 37; + + // Review extension text has source name. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38; + + // Some phone numbers can be shorter than usual. Some of these short numbers + // are carrier-specific, and we disallow those in ad extensions because they + // will not be available to all users. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39; + + // Triggered when a request references a placeholder field id that does not + // exist. + INVALID_PLACEHOLDER_FIELD_ID = 40; + + // URL contains invalid ValueTrack tags or format. + INVALID_URL_TAG = 41; + + // Provided list exceeds acceptable size. + LIST_TOO_LONG = 42; + + // Certain combinations of attributes aren't allowed to be specified in the + // same feed item. + INVALID_ATTRIBUTES_COMBINATION = 43; + + // An attribute has the same value repeatedly. + DUPLICATE_VALUES = 44; + + // Advertisers can link a conversion action with a phone number to indicate + // that sufficiently long calls forwarded to that phone number should be + // counted as conversions of the specified type. This is an error message + // indicating that the conversion action specified is invalid (e.g., 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. Please 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/google-cloud/protos/google/ads/googleads/v10/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/feed_mapping_error.proto new file mode 100644 index 00000000..f3e8d38f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/feed_mapping_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedMappingErrorEnum { + // Enum describing possible feed item errors. + enum FeedMappingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given placeholder field does not exist. + INVALID_PLACEHOLDER_FIELD = 2; + + // The given criterion field does not exist. + INVALID_CRITERION_FIELD = 3; + + // The given placeholder type does not exist. + INVALID_PLACEHOLDER_TYPE = 4; + + // The given criterion type does not exist. + INVALID_CRITERION_TYPE = 5; + + // A feed mapping must contain at least one attribute field mapping. + NO_ATTRIBUTE_FIELD_MAPPINGS = 7; + + // The type of the feed attribute referenced in the attribute field mapping + // must match the type of the placeholder field. + FEED_ATTRIBUTE_TYPE_MISMATCH = 8; + + // A feed mapping for a system generated feed cannot be operated on. + CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; + + // Only one feed mapping for a placeholder type is allowed per feed or + // customer (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; + + // Only one feed mapping for a criterion type is allowed per customer. + MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; + + // Only one feed attribute mapping for a placeholder field is allowed + // (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; + + // Only one feed attribute mapping for a criterion field is allowed + // (depending on the criterion type). + MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; + + // This feed mapping may not contain any explicit attribute field mappings. + UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; + + // Location placeholder feed mappings can only be created for Places feeds. + LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; + + // Mappings for typed feeds cannot be modified. + CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; + + // The given placeholder type can only be mapped to system generated feeds. + INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; + + // The given placeholder type cannot be mapped to a system generated feed + // with the given type. + INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; + + // The "field" oneof was not set in an AttributeFieldMapping. + ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/field_error.proto new file mode 100644 index 00000000..93a9d853 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/field_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing field errors. + +// Container for enum describing possible field errors. +message FieldErrorEnum { + // Enum describing possible field errors. + enum FieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The required field was not present. + REQUIRED = 2; + + // The field attempted to be mutated is immutable. + IMMUTABLE_FIELD = 3; + + // The field's value is invalid. + INVALID_VALUE = 4; + + // The field cannot be set. + VALUE_MUST_BE_UNSET = 5; + + // The required repeated field was empty. + REQUIRED_NONEMPTY_LIST = 6; + + // The field cannot be cleared. + FIELD_CANNOT_BE_CLEARED = 7; + + // The field's value is on a deny-list for this field. + BLOCKED_VALUE = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/field_mask_error.proto new file mode 100644 index 00000000..616468e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/field_mask_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing field mask errors. + +// Container for enum describing possible field mask errors. +message FieldMaskErrorEnum { + // Enum describing possible field mask errors. + enum FieldMaskError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be provided for update operations. + FIELD_MASK_MISSING = 5; + + // The field mask must be empty for create and remove operations. + FIELD_MASK_NOT_ALLOWED = 4; + + // The field mask contained an invalid field. + FIELD_NOT_FOUND = 2; + + // The field mask updated a field with subfields. Fields with subfields may + // be cleared, but not updated. To fix this, the field mask should select + // all the subfields of the invalid field. + FIELD_HAS_SUBFIELDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/function_error.proto new file mode 100644 index 00000000..f0b9ab88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/function_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing function errors. + +// Container for enum describing possible function errors. +message FunctionErrorEnum { + // Enum describing possible function errors. + enum FunctionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The format of the function is not recognized as a supported function + // format. + INVALID_FUNCTION_FORMAT = 2; + + // Operand data types do not match. + DATA_TYPE_MISMATCH = 3; + + // The operands cannot be used together in a conjunction. + INVALID_CONJUNCTION_OPERANDS = 4; + + // Invalid numer of Operands. + INVALID_NUMBER_OF_OPERANDS = 5; + + // Operand Type not supported. + INVALID_OPERAND_TYPE = 6; + + // Operator not supported. + INVALID_OPERATOR = 7; + + // Request context type not supported. + INVALID_REQUEST_CONTEXT_TYPE = 8; + + // The matching function is not allowed for call placeholders + INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; + + // The matching function is not allowed for the specified placeholder + INVALID_FUNCTION_FOR_PLACEHOLDER = 10; + + // Invalid operand. + INVALID_OPERAND = 11; + + // Missing value for the constant operand. + MISSING_CONSTANT_OPERAND_VALUE = 12; + + // The value of the constant operand is invalid. + INVALID_CONSTANT_OPERAND_VALUE = 13; + + // Invalid function nesting. + INVALID_NESTING = 14; + + // The Feed ID was different from another Feed ID in the same function. + MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; + + // The matching function is invalid for use with a feed with a fixed schema. + INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; + + // Invalid attribute name. + INVALID_ATTRIBUTE_NAME = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/function_parsing_error.proto new file mode 100644 index 00000000..905b4566 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/function_parsing_error.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing function parsing errors. + +// Container for enum describing possible function parsing errors. +message FunctionParsingErrorEnum { + // Enum describing possible function parsing errors. + enum FunctionParsingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unexpected end of function string. + NO_MORE_INPUT = 2; + + // Could not find an expected character. + EXPECTED_CHARACTER = 3; + + // Unexpected separator character. + UNEXPECTED_SEPARATOR = 4; + + // Unmatched left bracket or parenthesis. + UNMATCHED_LEFT_BRACKET = 5; + + // Unmatched right bracket or parenthesis. + UNMATCHED_RIGHT_BRACKET = 6; + + // Functions are nested too deeply. + TOO_MANY_NESTED_FUNCTIONS = 7; + + // Missing right-hand-side operand. + MISSING_RIGHT_HAND_OPERAND = 8; + + // Invalid operator/function name. + INVALID_OPERATOR_NAME = 9; + + // Feed attribute operand's argument is not an integer. + FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; + + // Missing function operands. + NO_OPERANDS = 11; + + // Function had too many operands. + TOO_MANY_OPERANDS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 00000000..034b2f8f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Container for enum describing possible geo target constant suggestion errors. +message GeoTargetConstantSuggestionErrorEnum { + // Enum describing possible geo target constant suggestion errors. + enum GeoTargetConstantSuggestionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A location name cannot be greater than 300 characters. + LOCATION_NAME_SIZE_LIMIT = 2; + + // At most 25 location names can be specified in a SuggestGeoTargetConstants + // method. + LOCATION_NAME_LIMIT = 3; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 4; + + // Geo target constant resource names or location names must be provided in + // the request. + REQUEST_PARAMETERS_UNSET = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/header_error.proto new file mode 100644 index 00000000..0e8d09af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/header_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing header errors. + +// Container for enum describing possible header errors. +message HeaderErrorEnum { + // Enum describing possible header errors. + enum HeaderError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The login customer ID could not be validated. + INVALID_LOGIN_CUSTOMER_ID = 3; + + // The linked customer ID could not be validated. + INVALID_LINKED_CUSTOMER_ID = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/id_error.proto new file mode 100644 index 00000000..ebffe268 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/id_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing id errors. + +// Container for enum describing possible id errors. +message IdErrorEnum { + // Enum describing possible id errors. + enum IdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Id not found + NOT_FOUND = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/image_error.proto new file mode 100644 index 00000000..298d3733 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/image_error.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing image errors. + +// Container for enum describing possible image errors. +message ImageErrorEnum { + // Enum describing possible image errors. + enum ImageError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The image is not valid. + INVALID_IMAGE = 2; + + // The image could not be stored. + STORAGE_ERROR = 3; + + // There was a problem with the request. + BAD_REQUEST = 4; + + // The image is not of legal dimensions. + UNEXPECTED_SIZE = 5; + + // Animated image are not permitted. + ANIMATED_NOT_ALLOWED = 6; + + // Animation is too long. + ANIMATION_TOO_LONG = 7; + + // There was an error on the server. + SERVER_ERROR = 8; + + // Image cannot be in CMYK color format. + CMYK_JPEG_NOT_ALLOWED = 9; + + // Flash images are not permitted. + FLASH_NOT_ALLOWED = 10; + + // Flash images must support clickTag. + FLASH_WITHOUT_CLICKTAG = 11; + + // A flash error has occurred after fixing the click tag. + FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; + + // Unacceptable visual effects. + ANIMATED_VISUAL_EFFECT = 13; + + // There was a problem with the flash image. + FLASH_ERROR = 14; + + // Incorrect image layout. + LAYOUT_PROBLEM = 15; + + // There was a problem reading the image file. + PROBLEM_READING_IMAGE_FILE = 16; + + // There was an error storing the image. + ERROR_STORING_IMAGE = 17; + + // The aspect ratio of the image is not allowed. + ASPECT_RATIO_NOT_ALLOWED = 18; + + // Flash cannot have network objects. + FLASH_HAS_NETWORK_OBJECTS = 19; + + // Flash cannot have network methods. + FLASH_HAS_NETWORK_METHODS = 20; + + // Flash cannot have a Url. + FLASH_HAS_URL = 21; + + // Flash cannot use mouse tracking. + FLASH_HAS_MOUSE_TRACKING = 22; + + // Flash cannot have a random number. + FLASH_HAS_RANDOM_NUM = 23; + + // Ad click target cannot be '_self'. + FLASH_SELF_TARGETS = 24; + + // GetUrl method should only use '_blank'. + FLASH_BAD_GETURL_TARGET = 25; + + // Flash version is not supported. + FLASH_VERSION_NOT_SUPPORTED = 26; + + // Flash movies need to have hard coded click URL or clickTAG + FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; + + // Uploaded flash file is corrupted. + INVALID_FLASH_FILE = 28; + + // Uploaded flash file can be parsed, but the click tag can not be fixed + // properly. + FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; + + // Flash movie accesses network resources + FLASH_ACCESSES_NETWORK_RESOURCES = 30; + + // Flash movie attempts to call external javascript code + FLASH_EXTERNAL_JS_CALL = 31; + + // Flash movie attempts to call flash system commands + FLASH_EXTERNAL_FS_CALL = 32; + + // Image file is too large. + FILE_TOO_LARGE = 33; + + // Image data is too large. + IMAGE_DATA_TOO_LARGE = 34; + + // Error while processing the image. + IMAGE_PROCESSING_ERROR = 35; + + // Image is too small. + IMAGE_TOO_SMALL = 36; + + // Input was invalid. + INVALID_INPUT = 37; + + // There was a problem reading the image file. + PROBLEM_READING_FILE = 38; + + // Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED + // can't be provided. This happens when asset spec contains more than one + // constraint and different criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 39; + + // Image format is not allowed. + FORMAT_NOT_ALLOWED = 40; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/internal_error.proto new file mode 100644 index 00000000..c44c1f94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/internal_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing internal errors. + +// Container for enum describing possible internal errors. +message InternalErrorEnum { + // Enum describing possible internal errors. + enum InternalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Google Ads API encountered unexpected internal error. + INTERNAL_ERROR = 2; + + // The intended error code doesn't exist in specified API version. It will + // be released in a future API version. + ERROR_CODE_NOT_PUBLISHED = 3; + + // Google Ads API encountered an unexpected transient error. The user + // should retry their request in these cases. + TRANSIENT_ERROR = 4; + + // The request took longer than a deadline. + DEADLINE_EXCEEDED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/invoice_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/invoice_error.proto new file mode 100644 index 00000000..cf52d7b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/invoice_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing invoice errors. + +// Container for enum describing possible invoice errors. +message InvoiceErrorEnum { + // Enum describing possible invoice errors. + enum InvoiceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot request invoices issued before 2019-01-01. + YEAR_MONTH_TOO_OLD = 2; + + // Cannot request invoices for customer who doesn't receive invoices. + NOT_INVOICED_CUSTOMER = 3; + + // Cannot request invoices for a non approved billing setup. + BILLING_SETUP_NOT_APPROVED = 4; + + // Cannot request invoices for a billing setup that is not on monthly + // invoicing. + BILLING_SETUP_NOT_ON_MONTHLY_INVOICING = 5; + + // Cannot request invoices for a non serving customer. + NON_SERVING_CUSTOMER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 00000000..770f544d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying a keyword plan ad group. + +// Container for enum describing possible errors from applying a keyword plan +// ad group. +message KeywordPlanAdGroupErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group. + enum KeywordPlanAdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The keyword plan ad group name is missing, empty, longer than allowed + // limit or contains invalid chars. + INVALID_NAME = 2; + + // The keyword plan ad group name is duplicate to an existing keyword plan + // AdGroup name or other keyword plan AdGroup name in the request. + DUPLICATE_NAME = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 00000000..ed8bfabc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying a keyword plan ad group keyword or +// keyword plan campaign keyword. + +// Container for enum describing possible errors from applying an ad group +// keyword or a campaign keyword from a keyword plan. +message KeywordPlanAdGroupKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group + // keyword or keyword plan campaign keyword. + enum KeywordPlanAdGroupKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword or negative keyword has invalid match type. + INVALID_KEYWORD_MATCH_TYPE = 2; + + // A keyword or negative keyword with same text and match type already + // exists. + DUPLICATE_KEYWORD = 3; + + // Keyword or negative keyword text exceeds the allowed limit. + KEYWORD_TEXT_TOO_LONG = 4; + + // Keyword or negative keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 5; + + // Keyword or negative keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword or negative keyword has invalid text. + INVALID_KEYWORD_TEXT = 7; + + // Cpc Bid set for negative keyword. + NEGATIVE_KEYWORD_HAS_CPC_BID = 8; + + // New broad match modifier (BMM) KpAdGroupKeywords are not allowed. + NEW_BMM_KEYWORDS_NOT_ALLOWED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_error.proto new file mode 100644 index 00000000..cce2f80d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying a keyword plan campaign. + +// Container for enum describing possible errors from applying a keyword plan +// campaign. +message KeywordPlanCampaignErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign. + enum KeywordPlanCampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword plan campaign name is missing, empty, longer than allowed limit + // or contains invalid chars. + INVALID_NAME = 2; + + // A keyword plan campaign contains one or more untargetable languages. + INVALID_LANGUAGES = 3; + + // A keyword plan campaign contains one or more invalid geo targets. + INVALID_GEOS = 4; + + // The keyword plan campaign name is duplicate to an existing keyword plan + // campaign name or other keyword plan campaign name in the request. + DUPLICATE_NAME = 5; + + // The number of geo targets in the keyword plan campaign exceeds limits. + MAX_GEOS_EXCEEDED = 6; + + // The number of languages in the keyword plan campaign exceeds limits. + MAX_LANGUAGES_EXCEEDED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 00000000..7ad85de1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying a keyword plan campaign keyword. + +// Container for enum describing possible errors from applying a keyword plan +// campaign keyword. +message KeywordPlanCampaignKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign + // keyword. + enum KeywordPlanCampaignKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Keyword plan campaign keyword is positive. + CAMPAIGN_KEYWORD_IS_POSITIVE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_error.proto new file mode 100644 index 00000000..27675088 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_error.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying keyword plan resources (keyword +// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) +// or KeywordPlanService RPC. + +// Container for enum describing possible errors from applying a keyword plan +// resource (keyword plan, keyword plan campaign, keyword plan ad group or +// keyword plan keyword) or KeywordPlanService RPC. +message KeywordPlanErrorEnum { + // Enum describing possible errors from applying a keyword plan. + enum KeywordPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The plan's bid multiplier value is outside the valid range. + BID_MULTIPLIER_OUT_OF_RANGE = 2; + + // The plan's bid value is too high. + BID_TOO_HIGH = 3; + + // The plan's bid value is too low. + BID_TOO_LOW = 4; + + // The plan's cpc bid is not a multiple of the minimum billable unit. + BID_TOO_MANY_FRACTIONAL_DIGITS = 5; + + // The plan's daily budget value is too low. + DAILY_BUDGET_TOO_LOW = 6; + + // The plan's daily budget is not a multiple of the minimum billable unit. + DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; + + // The input has an invalid value. + INVALID_VALUE = 8; + + // The plan has no keyword. + KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; + + // The plan is not enabled and API cannot provide mutation, forecast or + // stats. + KEYWORD_PLAN_NOT_ENABLED = 10; + + // The requested plan cannot be found for providing forecast or stats. + KEYWORD_PLAN_NOT_FOUND = 11; + + // The plan is missing a cpc bid. + MISSING_BID = 13; + + // The plan is missing required forecast_period field. + MISSING_FORECAST_PERIOD = 14; + + // The plan's forecast_period has invalid forecast date range. + INVALID_FORECAST_DATE_RANGE = 15; + + // The plan's name is invalid. + INVALID_NAME = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_idea_error.proto new file mode 100644 index 00000000..8e2c8ebd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/keyword_plan_idea_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from KeywordPlanIdeaService. + +// Container for enum describing possible errors from KeywordPlanIdeaService. +message KeywordPlanIdeaErrorEnum { + // Enum describing possible errors from KeywordPlanIdeaService. + enum KeywordPlanIdeaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error when crawling the input URL. + URL_CRAWL_ERROR = 2; + + // The input has an invalid value. + INVALID_VALUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/label_error.proto new file mode 100644 index 00000000..dfeefa17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/label_error.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing label errors. + +// Container for enum describing possible label errors. +message LabelErrorEnum { + // Enum describing possible label errors. + enum LabelError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An inactive label cannot be applied. + CANNOT_APPLY_INACTIVE_LABEL = 2; + + // A label cannot be applied to a disabled ad group criterion. + CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; + + // A label cannot be applied to a negative ad group criterion. + CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; + + // Cannot apply more than 50 labels per resource. + EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; + + // Labels from a manager account cannot be applied to campaign, ad group, + // ad group ad, or ad group criterion resources. + INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; + + // Label names must be unique. + DUPLICATE_NAME = 7; + + // Label names cannot be empty. + INVALID_LABEL_NAME = 8; + + // Labels cannot be applied to a draft. + CANNOT_ATTACH_LABEL_TO_DRAFT = 9; + + // Labels not from a manager account cannot be applied to the customer + // resource. + CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/language_code_error.proto new file mode 100644 index 00000000..d8754bc0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/language_code_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing language code errors. + +// Container for enum describing language code errors. +message LanguageCodeErrorEnum { + // Enum describing language code errors. + enum LanguageCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input language code is not recognized. + LANGUAGE_CODE_NOT_FOUND = 2; + + // The language code is not supported. + INVALID_LANGUAGE_CODE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/list_operation_error.proto new file mode 100644 index 00000000..c51524ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/list_operation_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing list operation errors. + +// Container for enum describing possible list operation errors. +message ListOperationErrorEnum { + // Enum describing possible list operation errors. + enum ListOperationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Field required in value is missing. + REQUIRED_FIELD_MISSING = 7; + + // Duplicate or identical value is sent in multiple list operations. + DUPLICATE_VALUES = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/manager_link_error.proto new file mode 100644 index 00000000..ccdf831c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/manager_link_error.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ManagerLink errors. + +// Container for enum describing possible ManagerLink errors. +message ManagerLinkErrorEnum { + // Enum describing possible ManagerLink errors. + enum ManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The manager and client have incompatible account types. + ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; + + // Client is already linked to too many managers. + TOO_MANY_MANAGERS = 3; + + // Manager has too many pending invitations. + TOO_MANY_INVITES = 4; + + // Client is already invited by this manager. + ALREADY_INVITED_BY_THIS_MANAGER = 5; + + // The client is already managed by this manager. + ALREADY_MANAGED_BY_THIS_MANAGER = 6; + + // Client is already managed in hierarchy. + ALREADY_MANAGED_IN_HIERARCHY = 7; + + // Manager and sub-manager to be linked have duplicate client. + DUPLICATE_CHILD_FOUND = 8; + + // Client has no active user that can access the client account. + CLIENT_HAS_NO_ADMIN_USER = 9; + + // Adding this link would exceed the maximum hierarchy depth. + MAX_DEPTH_EXCEEDED = 10; + + // Adding this link will create a cycle. + CYCLE_NOT_ALLOWED = 11; + + // Manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS = 12; + + // Parent manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS_AT_MANAGER = 13; + + // The account is not authorized owner. + NON_OWNER_USER_CANNOT_MODIFY_LINK = 14; + + // Your manager account is suspended, and you are no longer allowed to link + // to clients. + SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15; + + // You are not allowed to move a client to a manager that is not under your + // current hierarchy. + CLIENT_OUTSIDE_TREE = 16; + + // The changed status for mutate link is invalid. + INVALID_STATUS_CHANGE = 17; + + // The change for mutate link is invalid. + INVALID_CHANGE = 18; + + // You are not allowed to link a manager account to itself. + CUSTOMER_CANNOT_MANAGE_SELF = 19; + + // The link was created with status ACTIVE and not PENDING. + CREATING_ENABLED_LINK_NOT_ALLOWED = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/media_bundle_error.proto new file mode 100644 index 00000000..e8ce7f3c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/media_bundle_error.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing media bundle errors. + +// Container for enum describing possible media bundle errors. +message MediaBundleErrorEnum { + // Enum describing possible media bundle errors. + enum MediaBundleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There was a problem with the request. + BAD_REQUEST = 3; + + // HTML5 ads using DoubleClick Studio created ZIP files are not supported. + DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 5; + + // Media bundle file is too large. + FILE_TOO_LARGE = 6; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; + + // Input was invalid. + INVALID_INPUT = 8; + + // There was a problem with the media bundle. + INVALID_MEDIA_BUNDLE = 9; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 10; + + // The media bundle contains a file with an unknown mime type + INVALID_MIME_TYPE = 11; + + // The media bundle contain an invalid asset path. + INVALID_PATH = 12; + + // HTML5 ad is trying to reference an asset not in .ZIP file + INVALID_URL_REFERENCE = 13; + + // Media data is too large. + MEDIA_DATA_TOO_LARGE = 14; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; + + // There was an error on the server. + SERVER_ERROR = 16; + + // The image could not be stored. + STORAGE_ERROR = 17; + + // Media bundle created with the Swiffy tool is not allowed. + SWIFFY_BUNDLE_NOT_ALLOWED = 18; + + // The media bundle contains too many files. + TOO_MANY_FILES = 19; + + // The media bundle is not of legal dimensions. + UNEXPECTED_SIZE = 20; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 22; + + // URL in HTML5 entry is not ssl compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; + + // Custom exits not allowed in HTML5 entry. + CUSTOM_EXIT_NOT_ALLOWED = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/media_file_error.proto new file mode 100644 index 00000000..32b85d58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/media_file_error.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing media file errors. + +// Container for enum describing possible media file errors. +message MediaFileErrorEnum { + // Enum describing possible media file errors. + enum MediaFileError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot create a standard icon type. + CANNOT_CREATE_STANDARD_ICON = 2; + + // May only select Standard Icons alone. + CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; + + // Image contains both a media file ID and data. + CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; + + // A media file with given type and reference ID already exists. + DUPLICATE_MEDIA = 5; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 6; + + // A media file may only be modified once per call. + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; + + // Field is not supported for the media sub type. + FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; + + // The media file ID is invalid. + INVALID_MEDIA_FILE_ID = 9; + + // The media subtype is invalid. + INVALID_MEDIA_SUB_TYPE = 10; + + // The media file type is invalid. + INVALID_MEDIA_FILE_TYPE = 11; + + // The mimetype is invalid. + INVALID_MIME_TYPE = 12; + + // The media reference ID is invalid. + INVALID_REFERENCE_ID = 13; + + // The YouTube video ID is invalid. + INVALID_YOU_TUBE_ID = 14; + + // Media file has failed transcoding + MEDIA_FILE_FAILED_TRANSCODING = 15; + + // Media file has not been transcoded. + MEDIA_NOT_TRANSCODED = 16; + + // The media type does not match the actual media file's type. + MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; + + // None of the fields have been specified. + NO_FIELDS_SPECIFIED = 18; + + // One of reference ID or media file ID must be specified. + NULL_REFERENCE_ID_AND_MEDIA_ID = 19; + + // The string has too many characters. + TOO_LONG = 20; + + // The specified type is not supported. + UNSUPPORTED_TYPE = 21; + + // YouTube is unavailable for requesting video data. + YOU_TUBE_SERVICE_UNAVAILABLE = 22; + + // The YouTube video has a non positive duration. + YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; + + // The YouTube video ID is syntactically valid but the video was not found. + YOU_TUBE_VIDEO_NOT_FOUND = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/media_upload_error.proto new file mode 100644 index 00000000..75ddf57f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/media_upload_error.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing media uploading errors. + +// Container for enum describing possible media uploading errors. +message MediaUploadErrorEnum { + // Enum describing possible media uploading errors. + enum MediaUploadError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The uploaded file is too big. + FILE_TOO_BIG = 2; + + // Image data is unparseable. + UNPARSEABLE_IMAGE = 3; + + // Animated images are not allowed. + ANIMATED_IMAGE_NOT_ALLOWED = 4; + + // The image or media bundle format is not allowed. + FORMAT_NOT_ALLOWED = 5; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 6; + + // HTML5 ad is trying to reference an asset not in .ZIP file. + INVALID_URL_REFERENCE = 7; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 8; + + // Animation has disallowed visual effects. + ANIMATED_VISUAL_EFFECT = 9; + + // Animation longer than the allowed 30 second limit. + ANIMATION_TOO_LONG = 10; + + // The aspect ratio of the image does not match the expected aspect ratios + // provided in the asset spec. + ASPECT_RATIO_NOT_ALLOWED = 11; + + // Audio files are not allowed in bundle. + AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 12; + + // CMYK jpegs are not supported. + CMYK_JPEG_NOT_ALLOWED = 13; + + // Flash movies are not allowed. + FLASH_NOT_ALLOWED = 14; + + // The frame rate of the video is higher than the allowed 5fps. + FRAME_RATE_TOO_HIGH = 15; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 16; + + // Image constraints are violated, but more details (like + // DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. + // This happens when asset spec contains more than one constraint and + // criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 17; + + // Media bundle data is unrecognizable. + INVALID_MEDIA_BUNDLE = 18; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 19; + + // The asset has an invalid mime type. + INVALID_MIME_TYPE = 20; + + // The media bundle contains an invalid asset path. + INVALID_PATH = 21; + + // Image has layout problem. + LAYOUT_PROBLEM = 22; + + // An asset had a URL reference that is malformed per RFC 1738 convention. + MALFORMED_URL = 23; + + // The uploaded media bundle format is not allowed. + MEDIA_BUNDLE_NOT_ALLOWED = 24; + + // The media bundle is not compatible with the asset spec product type. + // (E.g. 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/google-cloud/protos/google/ads/googleads/v10/errors/merchant_center_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/merchant_center_error.proto new file mode 100644 index 00000000..62cf00be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/merchant_center_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing merchant center errors. + +// Container for enum describing possible merchant center errors. +message MerchantCenterErrorEnum { + // Enum describing Merchant Center errors. + enum MerchantCenterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Merchant ID is either not found or not linked to the Google Ads customer. + MERCHANT_ID_CANNOT_BE_ACCESSED = 2; + + // Customer not allowlisted for Shopping in Performance Max Campaign. + CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/multiplier_error.proto new file mode 100644 index 00000000..6bd8589e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/multiplier_error.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing multiplier errors. + +// Container for enum describing possible multiplier errors. +message MultiplierErrorEnum { + // Enum describing possible multiplier errors. + enum MultiplierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiplier value is too high + MULTIPLIER_TOO_HIGH = 2; + + // Multiplier value is too low + MULTIPLIER_TOO_LOW = 3; + + // Too many fractional digits + TOO_MANY_FRACTIONAL_DIGITS = 4; + + // A multiplier cannot be set for this bidding strategy + MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; + + // A multiplier cannot be set when there is no base bid (e.g., 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 vs. cpm) needs to match campaign's bidding strategy + MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/mutate_error.proto new file mode 100644 index 00000000..69d2e65f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/mutate_error.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing mutate errors. + +// Container for enum describing possible mutate errors. +message MutateErrorEnum { + // Enum describing possible mutate errors. + enum MutateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Requested resource was not found. + RESOURCE_NOT_FOUND = 3; + + // Cannot mutate the same resource twice in one request. + ID_EXISTS_IN_MULTIPLE_MUTATES = 7; + + // The field's contents don't match another field that represents the same + // data. + INCONSISTENT_FIELD_VALUES = 8; + + // Mutates are not allowed for the requested resource. + MUTATE_NOT_ALLOWED = 9; + + // The resource isn't in Google Ads. It belongs to another ads system. + RESOURCE_NOT_IN_GOOGLE_ADS = 10; + + // The resource being created already exists. + RESOURCE_ALREADY_EXISTS = 11; + + // This resource cannot be used with "validate_only". + RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY = 12; + + // This operation cannot be used with "partial_failure". + OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE = 16; + + // Attempt to write to read-only fields. + RESOURCE_READ_ONLY = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/new_resource_creation_error.proto new file mode 100644 index 00000000..86194df3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/new_resource_creation_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing new resource creation errors. + +// Container for enum describing possible new resource creation errors. +message NewResourceCreationErrorEnum { + // Enum describing possible new resource creation errors. + enum NewResourceCreationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Do not set the id field while creating new resources. + CANNOT_SET_ID_FOR_CREATE = 2; + + // Creating more than one resource with the same temp ID is not allowed. + DUPLICATE_TEMP_IDS = 3; + + // Parent resource with specified temp ID failed validation, so no + // validation will be done for this child resource. + TEMP_ID_RESOURCE_HAD_ERRORS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/not_allowlisted_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/not_allowlisted_error.proto new file mode 100644 index 00000000..a36e972e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/not_allowlisted_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing not allowlisted errors. + +// Container for enum describing possible not allowlisted errors. +message NotAllowlistedErrorEnum { + // Enum describing possible not allowlisted errors. + enum NotAllowlistedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowlisted for accessing this feature. + CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/not_empty_error.proto new file mode 100644 index 00000000..3a73e0e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/not_empty_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing not empty errors. + +// Container for enum describing possible not empty errors. +message NotEmptyErrorEnum { + // Enum describing possible not empty errors. + enum NotEmptyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Empty list. + EMPTY_LIST = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/null_error.proto new file mode 100644 index 00000000..15e3b810 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/null_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing null errors. + +// Container for enum describing possible null errors. +message NullErrorEnum { + // Enum describing possible null errors. + enum NullError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Specified list/container must not contain any null elements + NULL_CONTENT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/offline_user_data_job_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/offline_user_data_job_error.proto new file mode 100644 index 00000000..3a5fa5c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/offline_user_data_job_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing offline user data job errors. + +// Container for enum describing possible offline user data job errors. +message OfflineUserDataJobErrorEnum { + // Enum describing possible request errors. + enum OfflineUserDataJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The user list ID provided for the job is invalid. + INVALID_USER_LIST_ID = 3; + + // Type of the user list is not applicable for the job. + INVALID_USER_LIST_TYPE = 4; + + // Customer is not allowisted for using user ID in upload data. + NOT_ON_ALLOWLIST_FOR_USER_ID = 33; + + // Upload data is not compatible with the upload key type of the associated + // user list. + INCOMPATIBLE_UPLOAD_KEY_TYPE = 6; + + // The user identifier is missing valid data. + MISSING_USER_IDENTIFIER = 7; + + // The mobile ID is malformed. + INVALID_MOBILE_ID_FORMAT = 8; + + // Maximum number of user identifiers allowed per request is 100,000 and per + // operation is 20. + TOO_MANY_USER_IDENTIFIERS = 9; + + // Customer is not on the allow-list for store sales direct data. + NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT = 31; + + // Customer is not on the allow-list for unified store sales data. + NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES = 32; + + // The partner ID in store sales direct metadata is invalid. + INVALID_PARTNER_ID = 11; + + // The data in user identifier should not be encoded. + INVALID_ENCODING = 12; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // Incompatible user identifier when using third_party_user_id for store + // sales direct first party data or not using third_party_user_id for store + // sales third party data. + INCOMPATIBLE_USER_IDENTIFIER = 14; + + // A transaction time in the future is not allowed. + FUTURE_TRANSACTION_TIME = 15; + + // The conversion_action specified in transaction_attributes is used to + // report conversions to a conversion action configured in Google Ads. This + // error indicates there is no such conversion action in the account. + INVALID_CONVERSION_ACTION = 16; + + // Mobile ID is not supported for store sales direct data. + MOBILE_ID_NOT_SUPPORTED = 17; + + // When a remove-all operation is provided, it has to be the first operation + // of the operation list. + INVALID_OPERATION_ORDER = 18; + + // Mixing creation and removal of offline data in the same job is not + // allowed. + CONFLICTING_OPERATION = 19; + + // The external update ID already exists. + EXTERNAL_UPDATE_ID_ALREADY_EXISTS = 21; + + // Once the upload job is started, new operations cannot be added. + JOB_ALREADY_STARTED = 22; + + // Remove operation is not allowed for store sales direct updates. + REMOVE_NOT_SUPPORTED = 23; + + // Remove-all is not supported for certain offline user data job types. + REMOVE_ALL_NOT_SUPPORTED = 24; + + // The SHA256 encoded value is malformed. + INVALID_SHA256_FORMAT = 25; + + // The custom key specified is not enabled for the unified store sales + // upload. + CUSTOM_KEY_DISABLED = 26; + + // The custom key specified is not predefined through the Google Ads UI. + CUSTOM_KEY_NOT_PREDEFINED = 27; + + // The custom key specified is not set in the upload. + CUSTOM_KEY_NOT_SET = 29; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 30; + + // User attributes cannot be uploaded into a user list. + ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST = 34; + + // Lifetime value bucket must be a number from 1-10, except for remove + // operation where 0 will be accepted. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/operation_access_denied_error.proto new file mode 100644 index 00000000..9623857a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/operation_access_denied_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing operation access denied errors. + +// Container for enum describing possible operation access denied errors. +message OperationAccessDeniedErrorEnum { + // Enum describing possible operation access denied errors. + enum OperationAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unauthorized invocation of a service's method (get, mutate, etc.) + ACTION_NOT_PERMITTED = 2; + + // Unauthorized CREATE operation in invoking a service's mutate method. + CREATE_OPERATION_NOT_PERMITTED = 3; + + // Unauthorized REMOVE operation in invoking a service's mutate method. + REMOVE_OPERATION_NOT_PERMITTED = 4; + + // Unauthorized UPDATE operation in invoking a service's mutate method. + UPDATE_OPERATION_NOT_PERMITTED = 5; + + // A mutate action is not allowed on this resource, from this client. + MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6; + + // This operation is not permitted on this campaign type + OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7; + + // A CREATE operation may not set status to REMOVED. + CREATE_AS_REMOVED_NOT_PERMITTED = 8; + + // This operation is not allowed because the resource is removed. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9; + + // This operation is not permitted on this ad group type. + OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10; + + // The mutate is not allowed for this customer. + MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/operator_error.proto new file mode 100644 index 00000000..bd3cefe6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/operator_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing operator errors. + +// Container for enum describing possible operator errors. +message OperatorErrorEnum { + // Enum describing possible operator errors. + enum OperatorError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Operator not supported. + OPERATOR_NOT_SUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/partial_failure_error.proto new file mode 100644 index 00000000..75286f73 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/partial_failure_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing partial failure errors. + +// Container for enum describing possible partial failure errors. +message PartialFailureErrorEnum { + // Enum describing possible partial failure errors. + enum PartialFailureError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The partial failure field was false in the request. + // This method requires this field be set to true. + PARTIAL_FAILURE_MODE_REQUIRED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/payments_account_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/payments_account_error.proto new file mode 100644 index 00000000..c4317bdf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/payments_account_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing payments account service errors. + +// Container for enum describing possible errors in payments account service. +message PaymentsAccountErrorEnum { + // Enum describing possible errors in payments account service. + enum PaymentsAccountError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Manager customers are not supported for payments account service. + NOT_SUPPORTED_FOR_MANAGER_CUSTOMER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/policy_finding_error.proto new file mode 100644 index 00000000..983927d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/policy_finding_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing policy finding errors. + +// Container for enum describing possible policy finding errors. +message PolicyFindingErrorEnum { + // Enum describing possible policy finding errors. + enum PolicyFindingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The resource has been disapproved since the policy summary includes + // policy topics of type PROHIBITED. + POLICY_FINDING = 2; + + // The given policy topic does not exist. + POLICY_TOPIC_NOT_FOUND = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/policy_validation_parameter_error.proto new file mode 100644 index 00000000..8e99615a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/policy_validation_parameter_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing policy validation parameter errors. + +// Container for enum describing possible policy validation parameter errors. +message PolicyValidationParameterErrorEnum { + // Enum describing possible policy validation parameter errors. + enum PolicyValidationParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ignorable policy topics are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; + + // Exempt policy violation keys are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; + + // Cannot set ignorable policy topics and exempt policy violation keys in + // the same policy violation parameter. + CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/policy_violation_error.proto new file mode 100644 index 00000000..12db62c2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/policy_violation_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing policy violation errors. + +// Container for enum describing possible policy violation errors. +message PolicyViolationErrorEnum { + // Enum describing possible policy violation errors. + enum PolicyViolationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A policy was violated. See PolicyViolationDetails for more detail. + POLICY_ERROR = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/query_error.proto new file mode 100644 index 00000000..3515b72a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/query_error.proto @@ -0,0 +1,225 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing query errors. + +// Container for enum describing possible query errors. +message QueryErrorEnum { + // Enum describing possible query errors. + enum QueryError { + // Name unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Returned if all other query error reasons are not applicable. + QUERY_ERROR = 50; + + // A condition used in the query references an invalid enum constant. + BAD_ENUM_CONSTANT = 18; + + // Query contains an invalid escape sequence. + BAD_ESCAPE_SEQUENCE = 7; + + // Field name is invalid. + BAD_FIELD_NAME = 12; + + // Limit value is invalid (i.e. 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. I.e., 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/google-cloud/protos/google/ads/googleads/v10/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/quota_error.proto new file mode 100644 index 00000000..af29dc47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/quota_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing quota errors. + +// Container for enum describing possible quota errors. +message QuotaErrorEnum { + // Enum describing possible quota errors. + enum QuotaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too many requests. + RESOURCE_EXHAUSTED = 2; + + // Access is prohibited. + ACCESS_PROHIBITED = 3; + + // Too many requests in a short amount of time. + RESOURCE_TEMPORARILY_EXHAUSTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/range_error.proto new file mode 100644 index 00000000..f27edd67 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/range_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing range errors. + +// Container for enum describing possible range errors. +message RangeErrorEnum { + // Enum describing possible range errors. + enum RangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too low. + TOO_LOW = 2; + + // Too high. + TOO_HIGH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/reach_plan_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/reach_plan_error.proto new file mode 100644 index 00000000..1febb521 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/reach_plan_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors generated from ReachPlanService. + +// Container for enum describing possible errors returned from +// the ReachPlanService. +message ReachPlanErrorEnum { + // Enum describing possible errors from ReachPlanService. + enum ReachPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Not forecastable due to missing rate card data. + NOT_FORECASTABLE_MISSING_RATE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/recommendation_error.proto new file mode 100644 index 00000000..f3476a6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/recommendation_error.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing errors from applying a recommendation. + +// Container for enum describing possible errors from applying a recommendation. +message RecommendationErrorEnum { + // Enum describing possible errors from applying a recommendation. + enum RecommendationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified budget amount is too low e.g. 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. e.g. 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. e.g. 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/region_code_error.proto new file mode 100644 index 00000000..e3d998b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/region_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing region code errors. + +// Container for enum describing possible region code errors. +message RegionCodeErrorEnum { + // Enum describing possible region code errors. + enum RegionCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid region code. + INVALID_REGION_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/request_error.proto new file mode 100644 index 00000000..7d15f8a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/request_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing request errors. + +// Container for enum describing possible request errors. +message RequestErrorEnum { + // Enum describing possible request errors. + enum RequestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Resource name is required for this request. + RESOURCE_NAME_MISSING = 3; + + // Resource name provided is malformed. + RESOURCE_NAME_MALFORMED = 4; + + // Resource name provided is malformed. + BAD_RESOURCE_ID = 17; + + // Customer ID is invalid. + INVALID_CUSTOMER_ID = 16; + + // Mutate operation should have either create, update, or remove specified. + OPERATION_REQUIRED = 5; + + // Requested resource not found. + RESOURCE_NOT_FOUND = 6; + + // Next page token specified in user request is invalid. + INVALID_PAGE_TOKEN = 7; + + // Next page token specified in user request has expired. + EXPIRED_PAGE_TOKEN = 8; + + // Page size specified in user request is invalid. + INVALID_PAGE_SIZE = 22; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/resource_access_denied_error.proto new file mode 100644 index 00000000..26f4042c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/resource_access_denied_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing resource access denied errors. + +// Container for enum describing possible resource access denied errors. +message ResourceAccessDeniedErrorEnum { + // Enum describing possible resource access denied errors. + enum ResourceAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User did not have write access. + WRITE_ACCESS_DENIED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 00000000..31f8c382 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing resource count limit exceeded errors. + +// Container for enum describing possible resource count limit exceeded errors. +message ResourceCountLimitExceededErrorEnum { + // Enum describing possible resource count limit exceeded errors. + enum ResourceCountLimitExceededError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Indicates that this request would exceed the number of allowed resources + // for the Google Ads account. The exact resource type and limit being + // checked can be inferred from accountLimitType. + ACCOUNT_LIMIT = 2; + + // Indicates that this request would exceed the number of allowed resources + // in a Campaign. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // Campaign involved is given by enclosingId. + CAMPAIGN_LIMIT = 3; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // ad group involved is given by enclosingId. + ADGROUP_LIMIT = 4; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group ad. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the enclosingId + // contains the ad group id followed by the ad id, separated by a single + // comma (,). + AD_GROUP_AD_LIMIT = 5; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group criterion. The exact resource type and limit being checked + // can be inferred from accountLimitType, and the + // enclosingId contains the ad group id followed by the + // criterion id, separated by a single comma (,). + AD_GROUP_CRITERION_LIMIT = 6; + + // Indicates that this request would exceed the number of allowed resources + // in this shared set. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the numeric id of the + // shared set involved is given by enclosingId. + SHARED_SET_LIMIT = 7; + + // Exceeds a limit related to a matching function. + MATCHING_FUNCTION_LIMIT = 8; + + // The response for this request would exceed the maximum number of rows + // that can be returned. + RESPONSE_ROW_LIMIT_EXCEEDED = 9; + + // This request would exceed a limit on the number of allowed resources. + // The details of which type of limit was exceeded will eventually be + // returned in ErrorDetails. + RESOURCE_LIMIT = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/setting_error.proto new file mode 100644 index 00000000..f5dc32a2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/setting_error.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing setting errors. + +// Container for enum describing possible setting errors. +message SettingErrorEnum { + // Enum describing possible setting errors. + enum SettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign setting is not available for this Google Ads account. + SETTING_TYPE_IS_NOT_AVAILABLE = 3; + + // The setting is not compatible with the campaign. + SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; + + // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See + // CriterionTypeGroup documentation for CriterionTypeGroups allowed + // in Campaign or AdGroup TargetingSettings. + TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; + + // TargetingSetting must not explicitly + // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, + // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in + // which case the system will set them to true automatically). + TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6; + + // TargetingSetting cannot change any of + // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, + // INCOME_RANGE) from true to false. + TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7; + + // At least one feed id should be present. + DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; + + // The supplied DynamicSearchAdsSetting contains an invalid domain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; + + // The supplied DynamicSearchAdsSetting contains a subdomain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; + + // The supplied DynamicSearchAdsSetting contains an invalid language code. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; + + // TargetingSettings in search campaigns should not have + // CriterionTypeGroup.PLACEMENT set to targetAll. + TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; + + // The setting value is not compatible with the campaign type. + SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/shared_criterion_error.proto new file mode 100644 index 00000000..30c5dc94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/shared_criterion_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing shared criterion errors. + +// Container for enum describing possible shared criterion errors. +message SharedCriterionErrorEnum { + // Enum describing possible shared criterion errors. + enum SharedCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion is not appropriate for the shared set type. + CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/shared_set_error.proto new file mode 100644 index 00000000..b181eb21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/shared_set_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing shared set errors. + +// Container for enum describing possible shared set errors. +message SharedSetErrorEnum { + // Enum describing possible shared set errors. + enum SharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer cannot create this type of shared set. + CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; + + // A shared set with this name already exists. + DUPLICATE_NAME = 3; + + // Removed shared sets cannot be mutated. + SHARED_SET_REMOVED = 4; + + // The shared set cannot be removed because it is in use. + SHARED_SET_IN_USE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/size_limit_error.proto new file mode 100644 index 00000000..de13f455 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/size_limit_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing size limit errors. + +// Container for enum describing possible size limit errors. +message SizeLimitErrorEnum { + // Enum describing possible size limit errors. + enum SizeLimitError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The number of entries in the request exceeds the system limit. + REQUEST_SIZE_LIMIT_EXCEEDED = 2; + + // The number of entries in the response exceeds the system limit. + RESPONSE_SIZE_LIMIT_EXCEEDED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/string_format_error.proto new file mode 100644 index 00000000..cdeb8def --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/string_format_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing string format errors. + +// Container for enum describing possible string format errors. +message StringFormatErrorEnum { + // Enum describing possible string format errors. + enum StringFormatError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input string value contains disallowed characters. + ILLEGAL_CHARS = 2; + + // The input string value is invalid for the associated field. + INVALID_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/string_length_error.proto new file mode 100644 index 00000000..57f115e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/string_length_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing string length errors. + +// Container for enum describing possible string length errors. +message StringLengthErrorEnum { + // Enum describing possible string length errors. + enum StringLengthError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified field should have a least one non-whitespace character in + // it. + EMPTY = 4; + + // Too short. + TOO_SHORT = 2; + + // Too long. + TOO_LONG = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/third_party_app_analytics_link_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 00000000..4abc72af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/third_party_app_analytics_link_error.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing ThirdPartyAppAnalyticsLink errors. + +// Container for enum describing possible third party app analytics link errors. +message ThirdPartyAppAnalyticsLinkErrorEnum { + // Enum describing possible third party app analytics link errors. + enum ThirdPartyAppAnalyticsLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The provided analytics provider ID is invalid. + INVALID_ANALYTICS_PROVIDER_ID = 2; + + // The provided mobile app ID is invalid. + INVALID_MOBILE_APP_ID = 3; + + // The mobile app corresponding to the provided app ID is not + // active/enabled. + MOBILE_APP_IS_NOT_ENABLED = 4; + + // Regenerating shareable link ID is only allowed on active links + CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/time_zone_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/time_zone_error.proto new file mode 100644 index 00000000..152ee780 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/time_zone_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing time zone errors. + +// Container for enum describing possible time zone errors. +message TimeZoneErrorEnum { + // Enum describing possible currency code errors. + enum TimeZoneError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Time zone is not valid. + INVALID_TIME_ZONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/url_field_error.proto new file mode 100644 index 00000000..48f60f35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/url_field_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing url field errors. + +// Container for enum describing possible url field errors. +message UrlFieldErrorEnum { + // Enum describing possible url field errors. + enum UrlFieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The tracking url template is invalid. + INVALID_TRACKING_URL_TEMPLATE = 2; + + // The tracking url template contains invalid tag. + INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; + + // The tracking url template must contain at least one tag (e.g. {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 (i.e. {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 + // (i.e. {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 (i.e. {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 + // (i.e. {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. (E.g. "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 (i.e. {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 (e.g. {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, e.g. 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/google-cloud/protos/google/ads/googleads/v10/errors/user_data_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/user_data_error.proto new file mode 100644 index 00000000..05a3cd1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/user_data_error.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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing user data errors. + +// Container for enum describing possible user data errors. +message UserDataErrorEnum { + // Enum describing possible request errors. + enum UserDataError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowed to perform operations related to Customer Match. + OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED = 2; + + // Maximum number of user identifiers allowed for each request is 100 and + // for each operation is 20. + TOO_MANY_USER_IDENTIFIERS = 3; + + // Current user list is not applicable for the given customer. + USER_LIST_NOT_APPLICABLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/user_list_error.proto new file mode 100644 index 00000000..e6356202 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/user_list_error.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing user list errors. + +// Container for enum describing possible user list errors. +message UserListErrorEnum { + // Enum describing possible user list errors. + enum UserListError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Creating and updating external remarketing user lists is not supported. + EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; + + // Concrete type of user list is required. + CONCRETE_TYPE_REQUIRED = 3; + + // Creating/updating user list conversion types requires specifying the + // conversion type Id. + CONVERSION_TYPE_ID_REQUIRED = 4; + + // Remarketing user list cannot have duplicate conversion types. + DUPLICATE_CONVERSION_TYPES = 5; + + // Conversion type is invalid/unknown. + INVALID_CONVERSION_TYPE = 6; + + // User list description is empty or invalid. + INVALID_DESCRIPTION = 7; + + // User list name is empty or invalid. + INVALID_NAME = 8; + + // Type of the UserList does not match. + INVALID_TYPE = 9; + + // Embedded logical user lists are not allowed. + CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; + + // User list rule operand is invalid. + INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; + + // Name is already being used for another user list for the account. + NAME_ALREADY_USED = 12; + + // Name is required when creating a new conversion type. + NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; + + // The given conversion type name has been used. + CONVERSION_TYPE_NAME_ALREADY_USED = 14; + + // Only an owner account may edit a user list. + OWNERSHIP_REQUIRED_FOR_SET = 15; + + // Creating user list without setting type in oneof user_list field, or + // creating/updating read-only user list types is not allowed. + USER_LIST_MUTATE_NOT_SUPPORTED = 16; + + // Rule is invalid. + INVALID_RULE = 17; + + // The specified date range is empty. + INVALID_DATE_RANGE = 27; + + // A UserList which is privacy sensitive or legal rejected cannot be mutated + // by external users. + CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; + + // Maximum number of rulebased user lists a customer can have. + MAX_NUM_RULEBASED_USERLISTS = 29; + + // BasicUserList's billable record field cannot be modified once it is set. + CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; + + // crm_based_user_list.app_id field must be set when upload_key_type is + // MOBILE_ADVERTISING_ID. + APP_ID_NOT_SET = 31; + + // Name of the user list is reserved for system generated lists and cannot + // be used. + USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; + + // Advertiser needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (e.g., 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v10/errors/youtube_video_registration_error.proto new file mode 100644 index 00000000..2e75a3b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/errors/youtube_video_registration_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v10.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V10::Errors"; + +// Proto file describing YouTube video registration errors. + +// Container for enum describing YouTube video registration errors. +message YoutubeVideoRegistrationErrorEnum { + // Enum describing YouTube video registration errors. + enum YoutubeVideoRegistrationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Video to be registered wasn't found. + VIDEO_NOT_FOUND = 2; + + // Video to be registered is not accessible (e.g. private). + VIDEO_NOT_ACCESSIBLE = 3; + + // Video to be registered is not eligible (e.g. mature content). + VIDEO_NOT_ELIGIBLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/googleads_gapic.yaml b/google-cloud/protos/google/ads/googleads/v10/googleads_gapic.yaml new file mode 100644 index 00000000..743a2073 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/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.V10.Services + go: + package_name: google.golang.org/google/ads/googleads/v10/services + java: + package_name: com.google.ads.googleads.v10.services + nodejs: + package_name: v10.services + php: + package_name: Google\Ads\GoogleAds\V10\Services + python: + package_name: google.ads.googleads_v10.gapic.services + ruby: + package_name: Google::Ads::Googleads::V10::Services +interfaces: +- name: google.ads.googleads.v10.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/google-cloud/protos/google/ads/googleads/v10/googleads_grpc_service_config.json b/google-cloud/protos/google/ads/googleads/v10/googleads_grpc_service_config.json new file mode 100755 index 00000000..499de42f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/googleads_grpc_service_config.json @@ -0,0 +1,324 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v10.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v10.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v10.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v10.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v10.services.AdService" + }, + { + "service": "google.ads.googleads.v10.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v10.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v10.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v10.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v10.services.AssetService" + }, + { + "service": "google.ads.googleads.v10.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v10.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v10.services.AudienceService" + }, + { + "service": "google.ads.googleads.v10.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v10.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v10.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v10.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignExperimentService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignService" + }, + { + "service": "google.ads.googleads.v10.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v10.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v10.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v10.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v10.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v10.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v10.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v10.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v10.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v10.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v10.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v10.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v10.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v10.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v10.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v10.services.FeedService" + }, + { + "service": "google.ads.googleads.v10.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v10.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v10.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v10.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v10.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v10.services.LabelService" + }, + { + "service": "google.ads.googleads.v10.services.MediaFileService" + }, + { + "service": "google.ads.googleads.v10.services.MerchantCenterLinkService" + }, + { + "service": "google.ads.googleads.v10.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v10.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v10.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v10.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v10.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v10.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v10.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v10.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v10.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v10.services.UserDataService" + }, + { + "service": "google.ads.googleads.v10.services.UserListService" + } + ], + "timeout": "14400s", + "retryPolicy": { + "initialBackoff": "5s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/ads/googleads/v10/googleads_v10.yaml b/google-cloud/protos/google/ads/googleads/v10/googleads_v10.yaml new file mode 100644 index 00000000..40a6933d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/googleads_v10.yaml @@ -0,0 +1,810 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v10.services.AccountBudgetProposalService +- name: google.ads.googleads.v10.services.AccountLinkService +- name: google.ads.googleads.v10.services.AdGroupAdLabelService +- name: google.ads.googleads.v10.services.AdGroupAdService +- name: google.ads.googleads.v10.services.AdGroupAssetService +- name: google.ads.googleads.v10.services.AdGroupBidModifierService +- name: google.ads.googleads.v10.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v10.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v10.services.AdGroupCriterionService +- name: google.ads.googleads.v10.services.AdGroupCustomizerService +- name: google.ads.googleads.v10.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v10.services.AdGroupFeedService +- name: google.ads.googleads.v10.services.AdGroupLabelService +- name: google.ads.googleads.v10.services.AdGroupService +- name: google.ads.googleads.v10.services.AdParameterService +- name: google.ads.googleads.v10.services.AdService +- name: google.ads.googleads.v10.services.AssetGroupAssetService +- name: google.ads.googleads.v10.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v10.services.AssetGroupService +- name: google.ads.googleads.v10.services.AssetGroupSignalService +- name: google.ads.googleads.v10.services.AssetService +- name: google.ads.googleads.v10.services.AssetSetAssetService +- name: google.ads.googleads.v10.services.AssetSetService +- name: google.ads.googleads.v10.services.AudienceService +- name: google.ads.googleads.v10.services.BatchJobService +- name: google.ads.googleads.v10.services.BiddingDataExclusionService +- name: google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v10.services.BiddingStrategyService +- name: google.ads.googleads.v10.services.BillingSetupService +- name: google.ads.googleads.v10.services.CampaignAssetService +- name: google.ads.googleads.v10.services.CampaignAssetSetService +- name: google.ads.googleads.v10.services.CampaignBidModifierService +- name: google.ads.googleads.v10.services.CampaignBudgetService +- name: google.ads.googleads.v10.services.CampaignConversionGoalService +- name: google.ads.googleads.v10.services.CampaignCriterionService +- name: google.ads.googleads.v10.services.CampaignCustomizerService +- name: google.ads.googleads.v10.services.CampaignDraftService +- name: google.ads.googleads.v10.services.CampaignExperimentService +- name: google.ads.googleads.v10.services.CampaignExtensionSettingService +- name: google.ads.googleads.v10.services.CampaignFeedService +- name: google.ads.googleads.v10.services.CampaignGroupService +- name: google.ads.googleads.v10.services.CampaignLabelService +- name: google.ads.googleads.v10.services.CampaignService +- name: google.ads.googleads.v10.services.CampaignSharedSetService +- name: google.ads.googleads.v10.services.ConversionActionService +- name: google.ads.googleads.v10.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v10.services.ConversionCustomVariableService +- name: google.ads.googleads.v10.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v10.services.ConversionUploadService +- name: google.ads.googleads.v10.services.ConversionValueRuleService +- name: google.ads.googleads.v10.services.ConversionValueRuleSetService +- name: google.ads.googleads.v10.services.CustomAudienceService +- name: google.ads.googleads.v10.services.CustomConversionGoalService +- name: google.ads.googleads.v10.services.CustomInterestService +- name: google.ads.googleads.v10.services.CustomerAssetService +- name: google.ads.googleads.v10.services.CustomerClientLinkService +- name: google.ads.googleads.v10.services.CustomerConversionGoalService +- name: google.ads.googleads.v10.services.CustomerCustomizerService +- name: google.ads.googleads.v10.services.CustomerExtensionSettingService +- name: google.ads.googleads.v10.services.CustomerFeedService +- name: google.ads.googleads.v10.services.CustomerLabelService +- name: google.ads.googleads.v10.services.CustomerManagerLinkService +- name: google.ads.googleads.v10.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v10.services.CustomerService +- name: google.ads.googleads.v10.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v10.services.CustomerUserAccessService +- name: google.ads.googleads.v10.services.CustomizerAttributeService +- name: google.ads.googleads.v10.services.ExperimentArmService +- name: google.ads.googleads.v10.services.ExperimentService +- name: google.ads.googleads.v10.services.ExtensionFeedItemService +- name: google.ads.googleads.v10.services.FeedItemService +- name: google.ads.googleads.v10.services.FeedItemSetLinkService +- name: google.ads.googleads.v10.services.FeedItemSetService +- name: google.ads.googleads.v10.services.FeedItemTargetService +- name: google.ads.googleads.v10.services.FeedMappingService +- name: google.ads.googleads.v10.services.FeedService +- name: google.ads.googleads.v10.services.GeoTargetConstantService +- name: google.ads.googleads.v10.services.GoogleAdsFieldService +- name: google.ads.googleads.v10.services.GoogleAdsService +- name: google.ads.googleads.v10.services.InvoiceService +- name: google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v10.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v10.services.KeywordPlanCampaignService +- name: google.ads.googleads.v10.services.KeywordPlanIdeaService +- name: google.ads.googleads.v10.services.KeywordPlanService +- name: google.ads.googleads.v10.services.KeywordThemeConstantService +- name: google.ads.googleads.v10.services.LabelService +- name: google.ads.googleads.v10.services.MediaFileService +- name: google.ads.googleads.v10.services.MerchantCenterLinkService +- name: google.ads.googleads.v10.services.OfflineUserDataJobService +- name: google.ads.googleads.v10.services.PaymentsAccountService +- name: google.ads.googleads.v10.services.ReachPlanService +- name: google.ads.googleads.v10.services.RecommendationService +- name: google.ads.googleads.v10.services.RemarketingActionService +- name: google.ads.googleads.v10.services.SharedCriterionService +- name: google.ads.googleads.v10.services.SharedSetService +- name: google.ads.googleads.v10.services.SmartCampaignSettingService +- name: google.ads.googleads.v10.services.SmartCampaignSuggestService +- name: google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v10.services.UserDataService +- name: google.ads.googleads.v10.services.UserListService + +types: +- name: google.ads.googleads.v10.errors.GoogleAdsFailure +- name: google.ads.googleads.v10.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v10.services.CreateCampaignExperimentMetadata +- name: google.ads.googleads.v10.services.PromoteExperimentMetadata +- name: google.ads.googleads.v10.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.v10.services.AccountBudgetProposalService.MutateAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AccountLinkService.CreateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v10.services.AccountLinkService.MutateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v10.services.AdGroupAdLabelService.MutateAdGroupAdLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupAdService.MutateAdGroupAds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupAssetService.MutateAdGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupCriterionService.MutateAdGroupCriteria + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupCustomizerService.MutateAdGroupCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupFeedService.MutateAdGroupFeeds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupLabelService.MutateAdGroupLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdGroupService.MutateAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdParameterService.MutateAdParameters + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdService.GetAd + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AdService.MutateAds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetGroupAssetService.MutateAssetGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetGroupService.MutateAssetGroups + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetGroupSignalService.MutateAssetGroupSignals + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetService.MutateAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetSetAssetService.MutateAssetSetAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AssetSetService.MutateAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.AudienceService.MutateAudiences + deadline: 600.0 + - selector: 'google.ads.googleads.v10.services.BatchJobService.*' + deadline: 60.0 + - selector: google.ads.googleads.v10.services.BiddingDataExclusionService.MutateBiddingDataExclusions + deadline: 60.0 + - selector: google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + deadline: 60.0 + - selector: google.ads.googleads.v10.services.BiddingStrategyService.MutateBiddingStrategies + deadline: 60.0 + - selector: google.ads.googleads.v10.services.BillingSetupService.MutateBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignAssetService.MutateCampaignAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignAssetSetService.MutateCampaignAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignBidModifierService.MutateCampaignBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignBudgetService.MutateCampaignBudgets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignConversionGoalService.MutateCampaignConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignCriterionService.MutateCampaignCriteria + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignCustomizerService.MutateCampaignCustomizers + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.CampaignDraftService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.CampaignExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignFeedService.MutateCampaignFeeds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignGroupService.MutateCampaignGroups + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignLabelService.MutateCampaignLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignService.MutateCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CampaignSharedSetService.MutateCampaignSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ConversionActionService.MutateConversionActions + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + deadline: 600.0 + - selector: google.ads.googleads.v10.services.ConversionCustomVariableService.MutateConversionCustomVariables + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ConversionUploadService.UploadCallConversions + deadline: 600.0 + - selector: google.ads.googleads.v10.services.ConversionUploadService.UploadClickConversions + deadline: 600.0 + - selector: google.ads.googleads.v10.services.ConversionValueRuleService.MutateConversionValueRules + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomAudienceService.MutateCustomAudiences + deadline: 600.0 + - selector: google.ads.googleads.v10.services.CustomConversionGoalService.MutateCustomConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomInterestService.MutateCustomInterests + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerAssetService.MutateCustomerAssets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerClientLinkService.MutateCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerConversionGoalService.MutateCustomerConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerCustomizerService.MutateCustomerCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerFeedService.MutateCustomerFeeds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerLabelService.MutateCustomerLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerManagerLinkService.MoveManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerManagerLinkService.MutateCustomerManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.CustomerService.*' + deadline: 60.0 + - selector: google.ads.googleads.v10.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v10.services.CustomerUserAccessService.MutateCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v10.services.CustomizerAttributeService.MutateCustomizerAttributes + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ExperimentArmService.MutateExperimentArms + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.ExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ExtensionFeedItemService.MutateExtensionFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedItemService.MutateFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedItemSetLinkService.MutateFeedItemSetLinks + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedItemSetService.MutateFeedItemSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedItemTargetService.MutateFeedItemTargets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedMappingService.MutateFeedMappings + deadline: 60.0 + - selector: google.ads.googleads.v10.services.FeedService.MutateFeeds + deadline: 60.0 + - selector: google.ads.googleads.v10.services.GeoTargetConstantService.SuggestGeoTargetConstants + deadline: 60.0 + - selector: google.ads.googleads.v10.services.GoogleAdsFieldService.GetGoogleAdsField + deadline: 600.0 + - selector: google.ads.googleads.v10.services.GoogleAdsFieldService.SearchGoogleAdsFields + deadline: 600.0 + - selector: google.ads.googleads.v10.services.GoogleAdsService.Mutate + deadline: 600.0 + - selector: google.ads.googleads.v10.services.GoogleAdsService.Search + deadline: 7200.0 + - selector: google.ads.googleads.v10.services.GoogleAdsService.SearchStream + deadline: 7200.0 + - selector: google.ads.googleads.v10.services.InvoiceService.ListInvoices + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics + deadline: 600.0 + - selector: google.ads.googleads.v10.services.KeywordPlanIdeaService.GenerateKeywordIdeas + deadline: 600.0 + - selector: 'google.ads.googleads.v10.services.KeywordPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v10.services.KeywordPlanService.MutateKeywordPlans + deadline: 60.0 + - selector: google.ads.googleads.v10.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + deadline: 60.0 + - selector: google.ads.googleads.v10.services.LabelService.MutateLabels + deadline: 60.0 + - selector: google.ads.googleads.v10.services.MediaFileService.MutateMediaFiles + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.MerchantCenterLinkService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.OfflineUserDataJobService.*' + deadline: 600.0 + - selector: google.ads.googleads.v10.services.PaymentsAccountService.ListPaymentsAccounts + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.ReachPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v10.services.RecommendationService.ApplyRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v10.services.RecommendationService.DismissRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v10.services.RemarketingActionService.MutateRemarketingActions + deadline: 60.0 + - selector: google.ads.googleads.v10.services.SharedCriterionService.MutateSharedCriteria + deadline: 60.0 + - selector: google.ads.googleads.v10.services.SharedSetService.MutateSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v10.services.SmartCampaignSettingService.MutateSmartCampaignSettings + deadline: 60.0 + - selector: 'google.ads.googleads.v10.services.SmartCampaignSuggestService.*' + deadline: 60.0 + - selector: google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + deadline: 600.0 + - selector: google.ads.googleads.v10.services.UserDataService.UploadUserData + deadline: 600.0 + - selector: google.ads.googleads.v10.services.UserListService.MutateUserLists + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v10/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v10/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v10/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v10/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v10/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v10.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.CampaignExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordPlanIdeaService.GenerateKeywordIdeas + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.KeywordPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.MediaFileService.MutateMediaFiles + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.MerchantCenterLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.RecommendationService.ApplyRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.RecommendationService.DismissRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v10.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v10.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/google-cloud/protos/google/ads/googleads/v10/resources/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/resources/BUILD.bazel new file mode 100644 index 00000000..26ca619d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/BUILD.bazel @@ -0,0 +1,97 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "resources_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v10/common:common_proto", + "//google/ads/googleads/v10/enums:enums_proto", + "//google/ads/googleads/v10/errors:errors_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "resources_java_proto", + deps = [":resources_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "resources_csharp_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "resources_ruby_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "resources_py_proto", + deps = [":resources_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/accessible_bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v10/resources/accessible_bidding_strategy.proto new file mode 100644 index 00000000..1f53b84a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/accessible_bidding_strategy.proto @@ -0,0 +1,171 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v10/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Represents a view of BiddingStrategies owned by and shared with the customer. +// +// In contrast to BiddingStrategy, this resource includes strategies owned by +// managers of the customer and shared with this customer - in addition to +// strategies owned by this customer. This resource does not provide metrics and +// only exposes a limited subset of the BiddingStrategy attributes. +message AccessibleBiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + pattern: "customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}" + }; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + message MaximizeConversionValue { + // Output only. The target return on ad spend (ROAS) option. If set, the bid strategy + // will maximize revenue while averaging the target return on ad spend. If + // the target ROAS is high, the bid strategy may not be able to spend the + // full budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + message MaximizeConversions { + // Output only. The target cost per acquisition (CPA) option. This is the average amount + // that you would like to spend per acquisition. + int64 target_cpa = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + message TargetCpa { + // Output only. Average CPA target. + // This target should be greater than or equal to minimum billable unit + // based on the currency for the account. + optional int64 target_cpa_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + message TargetImpressionShare { + // Output only. The targeted location on the search results page. + google.ads.googleads.v10.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The desired fraction of ads to be shown in the targeted location in + // micros. E.g. 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 desired revenue (based on conversion data) per unit of spend. + optional double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets your bids to help get as many clicks + // as possible within your budget. + message TargetSpend { + // Output only. The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 1 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the accessible bidding strategy. + // AccessibleBiddingStrategy resource names have the form: + // + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the bidding strategy. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + google.ads.googleads.v10.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the Customer which owns the bidding strategy. + int64 owner_customer_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. descriptive_name of the Customer which owns the bidding strategy. + string owner_descriptive_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // Output only. An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + MaximizeConversionValue maximize_conversion_value = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + MaximizeConversions maximize_conversions = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + TargetCpa target_cpa = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that automatically optimizes towards a desired + // 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/google-cloud/protos/google/ads/googleads/v10/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v10/resources/account_budget.proto new file mode 100644 index 00000000..458df6d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/account_budget.proto @@ -0,0 +1,251 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v10/enums/account_budget_status.proto"; +import "google/ads/googleads/v10/enums/spending_limit_type.proto"; +import "google/ads/googleads/v10/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (e.g. spending limit), these differences are +// juxtaposed via '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, e.g. END to end the budget associated + // with this proposal. + google.ads.googleads.v10.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name to assign to the account-level budget. + optional string name = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + optional string start_date_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with this budget. + optional string notes = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this account-level budget proposal was created. + // Formatted as yyyy-MM-dd HH:mm:ss. + optional string creation_date_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The end time of the account-level budget. + oneof end_time { + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + string end_date_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit. + oneof spending_limit { + // Output only. The spending limit in micros. One million is equivalent to + // one unit. + int64 spending_limit_micros = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v10.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Output only. The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Output only. The ID of the account-level budget. + optional int64 id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the billing setup associated with this account-level + // budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The status of this account-level budget. + google.ads.googleads.v10.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account-level budget. + optional string name = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + optional string proposed_start_date_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + optional string approved_start_date_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + int64 total_adjustments_micros = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + int64 amount_served_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with the budget. + optional string notes = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + string proposed_end_date_time = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + string approved_end_date_time = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Output only. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v10.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. This will only be populated if the proposed spending limit + // is finite, and will always be greater than or equal to the + // proposed spending limit. + int64 approved_spending_limit_micros = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. This + // will only be populated if the approved spending limit is INFINITE. + google.ads.googleads.v10.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // Output only. The adjusted spending limit in micros. One million is equivalent to + // one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + int64 adjusted_spending_limit_micros = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted spending limit as a well-defined type, e.g. 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.v10.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v10/resources/account_budget_proposal.proto new file mode 100644 index 00000000..ff6ad62e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/account_budget_proposal.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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v10/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v10/enums/spending_limit_type.proto"; +import "google/ads/googleads/v10/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AccountBudgetProposal resource. + +// An account-level budget proposal. +// +// All fields prefixed with 'proposed' may not necessarily be applied directly. +// For example, proposed spending limits may be adjusted before their +// application. This is true if the 'proposed' field has an 'approved' +// counterpart, e.g. spending limits. +// +// Please 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, e.g. END to end the budget associated with this + // proposal. + google.ads.googleads.v10.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.v10.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name to assign to the account-level budget. + optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + optional string approved_start_date_time = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A purchase order number is a value that enables the user to help them + // reference this budget in their monthly invoices. + optional string proposed_purchase_order_number = 35 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Notes associated with this budget. + optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The date time when this account-level budget proposal was created, which is + // not the same as its approval date time, if applicable. + optional string creation_date_time = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time when this account-level budget was approved, if applicable. + optional string approval_date_time = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed start date time of the account-level budget, which cannot be + // in the past. + oneof proposed_start_time { + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + string proposed_start_date_time = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed start date time as a well-defined type, e.g. NOW. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The proposed end date time of the account-level budget, which cannot be in + // the past. + oneof proposed_end_time { + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + string proposed_end_date_time = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved end date time of the account-level budget. + oneof approved_end_time { + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + string approved_end_date_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Immutable. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v10.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved spending limit. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. + int64 approved_spending_limit_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v10.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/account_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/account_link.proto new file mode 100644 index 00000000..0d137095 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/account_link.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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/account_link_status.proto"; +import "google/ads/googleads/v10/enums/linked_account_type.proto"; +import "google/ads/googleads/v10/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Represents the data sharing connection between a Google Ads account and +// another account +message AccountLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountLink" + pattern: "customers/{customer_id}/accountLinks/{account_link_id}" + }; + + // Immutable. Resource name of the account link. + // AccountLink resource names have the form: + // `customers/{customer_id}/accountLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 account_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. + google.ads.googleads.v10.enums.AccountLinkStatusEnum.AccountLinkStatus status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v10.enums.LinkedAccountTypeEnum.LinkedAccountType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // An account linked to this Google Ads account. + oneof linked_account { + // Immutable. A third party app analytics link. + ThirdPartyAppAnalyticsLinkIdentifier third_party_app_analytics = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // 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 + HotelCenterLinkIdentifier hotel_center = 9 [(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 (e.g., "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 (e.g., + // "com.google.android.gm" for "Gmail" given Google Play link + // https://play.google.com/store/apps/details?id=com.google.android.gm) + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional string app_id = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vendor of the app. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + google.ads.googleads.v10.enums.MobileAppVendorEnum.MobileAppVendor 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" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad.proto new file mode 100644 index 00000000..7f2a6e61 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad.proto @@ -0,0 +1,196 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/ad_type_infos.proto"; +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/final_app_url.proto"; +import "google/ads/googleads/v10/common/url_collection.proto"; +import "google/ads/googleads/v10/enums/ad_type.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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, please use url custom parameter operations. + repeated google.ads.googleads.v10.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.v10.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, e.g. 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.v10.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.v10.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.v10.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.v10.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v10.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v10.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.v10.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v10.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v10.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v10.common.ShoppingProductAdInfo shopping_product_ad = 18; + + // Immutable. Details pertaining to a Gmail ad. + google.ads.googleads.v10.common.GmailAdInfo gmail_ad = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v10.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v10.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v10.common.VideoResponsiveAdInfo video_responsive_ad = 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v10.common.ResponsiveSearchAdInfo responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v10.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v10.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v10.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v10.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v10.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v10.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v10.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v10.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v10.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v10.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v10.common.DiscoveryMultiAssetAdInfo discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v10.common.DiscoveryCarouselAdInfo discovery_carousel_ad = 52; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group.proto new file mode 100644 index 00000000..19f48373 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group.proto @@ -0,0 +1,201 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/explorer_auto_optimizer_setting.proto"; +import "google/ads/googleads/v10/common/targeting_setting.proto"; +import "google/ads/googleads/v10/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v10/enums/ad_group_status.proto"; +import "google/ads/googleads/v10/enums/ad_group_type.proto"; +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/bidding_source.proto"; +import "google/ads/googleads/v10/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group resource. + +// An ad group. +message AdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroup" + pattern: "customers/{customer_id}/adGroups/{ad_group_id}" + }; + + // Settings for the audience targeting. + message AudienceSetting { + // Immutable. If true, this ad group uses an Audience resource for audience targeting. + // If false, this ad group may use audience segment criteria instead. + bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Immutable. The resource name of the ad group. + // Ad group resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the ad group. + optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the ad group. + // + // This field is required and should not be empty when creating new ad + // groups. + // + // It must contain fewer than 255 UTF-8 full-width characters. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 35; + + // The status of the ad group. + google.ads.googleads.v10.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v10.enums.AdGroupTypeEnum.AdGroupType type = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v10.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; + + // Output only. For draft or experiment ad groups, this field is the resource name of the + // base ad group from which this ad group was created. If a draft or + // experiment ad group does not have a base ad group, then this field is null. + // + // For base ad groups, this field equals the ad group resource name. + // + // This field is read-only. + optional string base_ad_group = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v10.common.CustomParameter url_custom_parameters = 6; + + // Immutable. The campaign to which the ad group belongs. + optional string campaign = 38 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The maximum CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 39; + + // Output only. Value will be same as that of the CPC (cost-per-click) bid value when the + // bidding strategy is one of manual cpc, enhanced cpc, page one promoted or + // target outrank share, otherwise the value will be null. + optional int64 effective_cpc_bid_micros = 57 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The maximum CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 40; + + // The target CPA (cost-per-acquisition). If the ad group's campaign + // bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa + // field set), then this field overrides the target CPA specified in the + // campaign's bidding strategy. + // Otherwise, this value is ignored. + optional int64 target_cpa_micros = 41; + + // Output only. The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 42 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // 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; + + // Settings for the Display Campaign Optimizer, initially termed "Explorer". + google.ads.googleads.v10.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; + + // Allows advertisers to specify a targeting dimension on which to place + // absolute bids. This is only applicable for campaigns that target only the + // display network and not search. + google.ads.googleads.v10.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. + google.ads.googleads.v10.common.TargetingSetting targeting_setting = 25; + + // Immutable. Setting for audience related features. + AudienceSetting audience_setting = 56 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The effective target CPA (cost-per-acquisition). + // This field is read-only. + optional int64 effective_target_cpa_micros = 47 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target CPA. + // This field is read-only. + google.ads.googleads.v10.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective target ROAS (return-on-ad-spend). + // This field is read-only. + optional double effective_target_roas = 48 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target ROAS. + // This field is read-only. + google.ads.googleads.v10.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group. + repeated string labels = 49 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // The asset field types that should be excluded from this ad group. Asset + // links with these field types will not be inherited by this ad group from + // the upper levels. + repeated google.ads.googleads.v10.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 54; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad.proto new file mode 100644 index 00000000..35b197d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v10/enums/ad_strength.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; +import "google/ads/googleads/v10/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAd" + pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad group ad resource names have the form: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.googleads.v10.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; + + // Immutable. The ad group to which the ad belongs. + optional string ad_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v10.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For example, a + // recommendation could be "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. + repeated google.ads.googleads.v10.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.v10.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.v10.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_combination_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 00000000..9edd4256 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_combination_view.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_view.proto new file mode 100644 index 00000000..d2b753ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/asset_performance_label.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group ad asset view resource. + +// A link between an AdGroupAd and an Asset. +// Currently we only support AdGroupAdAssetView for AppAds. +message AdGroupAdAssetView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + pattern: "customers/{customer_id}/adGroupAdAssetViews/{ad_group_id}~{ad_id}~{asset_id}~{field_type}" + }; + + // Output only. The resource name of the ad group ad asset view. + // Ad group ad asset view resource names have the form (Before V4): + // + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; + + // Output only. The ad group ad to which the asset is linked. + optional string ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The asset which is linked to the ad group ad. + optional string asset = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset and the latest version of the ad. If true, the + // asset is linked to the latest version of the ad. If false, it means the + // link once existed but has been removed and is no longer present in the + // latest version of the ad. + optional bool enabled = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance of an asset linkage. + google.ads.googleads.v10.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.v10.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.v10.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.v10.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_label.proto new file mode 100644 index 00000000..fafffaf2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_ad_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group ad label resource. + +// A relationship between an ad group ad and a label. +message AdGroupAdLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group ad label. + // Ad group ad label resource names have the form: + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; + + // Immutable. The ad group ad to which the label is attached. + optional string ad_group_ad = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Immutable. The label assigned to the ad group ad. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_asset.proto new file mode 100644 index 00000000..a345353a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_asset.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Status of the ad group asset. + google.ads.googleads.v10.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_audience_view.proto new file mode 100644 index 00000000..ae78ff2e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_audience_view.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group audience view resource. + +// An ad group audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated at the audience level. +message AdGroupAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + pattern: "customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad group audience view. + // Ad group audience view resource names have the form: + // + // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_bid_modifier.proto new file mode 100644 index 00000000..504cc285 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_bid_modifier.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group bid modifier resource. + +// Represents an ad group bid modifier. +message AdGroupBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + pattern: "customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the ad group bid modifier. + // Ad group bid modifier resource names have the form: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Immutable. The ad group to which this criterion belongs. + optional string ad_group = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. + // Use 0 to opt out of a Device type. + optional double bid_modifier = 15; + + // Output only. The base ad group from which this draft/trial adgroup bid modifier was + // created. If ad_group is a base ad group then this field will be equal to + // ad_group. If the ad group was created in the draft or trial and has no + // corresponding base ad group, then this field will be null. + // This field is readonly. + optional string base_ad_group = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Bid modifier source. + google.ads.googleads.v10.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for hotel date selection (default dates vs. user selected). + google.ads.googleads.v10.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.v10.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v10.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.v10.common.HotelCheckInDayInfo hotel_check_in_day = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v10.common.DeviceInfo device = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A preferred content criterion. + google.ads.googleads.v10.common.PreferredContentInfo preferred_content = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v10.common.HotelCheckInDateRangeInfo hotel_check_in_date_range = 17 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion.proto new file mode 100644 index 00000000..f77c97af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion.proto @@ -0,0 +1,293 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v10/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v10/enums/bidding_source.proto"; +import "google/ads/googleads/v10/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v10/enums/criterion_type.proto"; +import "google/ads/googleads/v10/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group criterion resource. + +// An ad group criterion. +message AdGroupCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterion" + pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}" + }; + + // A container for ad group criterion quality information. + message QualityInfo { + // Output only. The quality score. + // + // This field may not be populated if Google does not have enough + // information to determine a value. + optional int32 quality_score = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.v10.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.v10.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.v10.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Estimates for criterion bids at various positions. + message PositionEstimates { + // Output only. The estimate of the CPC bid required for ad to be shown on first + // page of search results. + optional int64 first_page_cpc_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed in first + // position, at the top of the first page of search results. + optional int64 first_position_cpc_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed at the top + // of the first page of search results. + optional int64 top_of_page_cpc_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how many clicks per week you might get by changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_clicks_at_first_position_cpc = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how your cost per week might change when changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_cost_at_first_position_cpc = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the ad group criterion. + // Ad group criterion resource names have the form: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. + google.ads.googleads.v10.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; + + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The ad group to which the criterion belongs. + optional string ad_group = 57 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The type of the criterion. + google.ads.googleads.v10.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + // + // This field is immutable. To switch a criterion from positive to negative, + // remove then re-add it. + optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Serving status of the criterion. + google.ads.googleads.v10.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v10.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of disapproval reasons of the criterion. + // + // The different reasons for disapproving a criterion can be found here: + // https://support.google.com/adspolicy/answer/6008942 + // + // This field is read-only. + repeated string disapproval_reasons = 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group criterion. + repeated string labels = 60 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + optional double bid_modifier = 61; + + // The CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 62; + + // The CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 63; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 64; + + // The CPC bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 65; + + // Output only. The effective CPC (cost-per-click) bid. + optional int64 effective_cpc_bid_micros = 66 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + optional int64 effective_cpm_bid_micros = 67 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPV (cost-per-view) bid. + optional int64 effective_cpv_bid_micros = 68 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective Percent CPC bid amount. + optional int64 effective_percent_cpc_bid_micros = 69 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPC bid. + google.ads.googleads.v10.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.v10.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.v10.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.v10.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 70; + + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + + // URL template for appending params to final URL. + optional string final_url_suffix = 72; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 73; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v10.common.CustomParameter url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v10.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v10.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v10.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v10.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v10.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v10.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v10.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v10.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v10.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v10.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v10.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v10.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v10.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v10.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v10.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v10.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v10.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v10.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v10.common.CustomAudienceInfo custom_audience = 74 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v10.common.CombinedAudienceInfo combined_audience = 75 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v10.common.AudienceInfo audience = 79 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto new file mode 100644 index 00000000..119f1edc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/customizer_value.proto"; +import "google/ads/googleads/v10/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A customizer value for the associated CustomizerAttribute at the +// AdGroupCriterion level. +message AdGroupCriterionCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + pattern: "customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group criterion customizer. + // Ad group criterion customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + } + ]; + + // Immutable. The ad group criterion to which the customizer attribute is linked. + // It must be a keyword criterion. + optional string ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group criterion. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group criterion customizer. + google.ads.googleads.v10.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.v10.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_label.proto new file mode 100644 index 00000000..d946d51a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group criterion label resource. + +// A relationship between an ad group criterion and a label. +message AdGroupCriterionLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group criterion label. + // Ad group criterion label resource names have the form: + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // Immutable. The ad group criterion to which the label is attached. + optional string ad_group_criterion = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The label assigned to the ad group criterion. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_simulation.proto new file mode 100644 index 00000000..0bdbd71f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/simulation.proto"; +import "google/ads/googleads/v10/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v10/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group criterion simulation resource. + +// An ad group criterion simulation. Supported combinations of advertising +// channel type, criterion type, simulation type, and simulation modification +// method are detailed below respectively. Hotel AdGroupCriterion simulation +// operations starting in V5. +// +// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM +// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM +// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM +// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM +// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM +message AdGroupCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + pattern: "customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group criterion simulation. + // Ad group criterion simulation resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; + + // Output only. AdGroup ID of the simulation. + optional int64 ad_group_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v10.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v10.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v10.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.v10.common.PercentCpcBidSimulationPointList percent_cpc_bid_point_list = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_customizer.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_customizer.proto new file mode 100644 index 00000000..bd969d59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_customizer.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/customizer_value.proto"; +import "google/ads/googleads/v10/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A customizer value for the associated CustomizerAttribute at the AdGroup +// level. +message AdGroupCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + pattern: "customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group customizer. + // Ad group customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + } + ]; + + // Immutable. The ad group to which the customizer attribute is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group customizer. + google.ads.googleads.v10.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.v10.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_extension_setting.proto new file mode 100644 index 00000000..cace6d64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/extension_setting_device.proto"; +import "google/ads/googleads/v10/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AdGroupExtensionSetting resource. + +// An ad group extension setting. +message AdGroupExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + pattern: "customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}" + }; + + // Immutable. The resource name of the ad group extension setting. + // AdGroupExtensionSetting resource names have the form: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; + + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v10.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the ad group. The linked extension feed items will + // serve under this ad group. + // AdGroup resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + optional string ad_group = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The resource names of the extension feed items to serve under the ad group. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v10.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_feed.proto new file mode 100644 index 00000000..1e9f864e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_feed.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/matching_function.proto"; +import "google/ads/googleads/v10/enums/feed_link_status.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AdGroupFeed resource. + +// An ad group feed. +message AdGroupFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupFeed" + pattern: "customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}" + }; + + // Immutable. The resource name of the ad group feed. + // Ad group feed resource names have the form: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Immutable. The feed being linked to the ad group. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The ad group being linked to the feed. + optional string ad_group = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // ad group. Required. + repeated google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v10.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v10.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_label.proto new file mode 100644 index 00000000..4f72eb24 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group label resource. + +// A relationship between an ad group and a label. +message AdGroupLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupLabel" + pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group label. + // Ad group label resource names have the form: + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // Immutable. The ad group to which the label is attached. + optional string ad_group = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The label assigned to the ad group. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_simulation.proto new file mode 100644 index 00000000..82da61c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_group_simulation.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/simulation.proto"; +import "google/ads/googleads/v10/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v10/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad group simulation resource. + +// An ad group simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification method is +// detailed below respectively. +// +// 1. SEARCH - CPC_BID - DEFAULT +// 2. SEARCH - CPC_BID - UNIFORM +// 3. SEARCH - TARGET_CPA - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +message AdGroupSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupSimulation" + pattern: "customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group simulation. + // Ad group simulation resource names have the form: + // + // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; + + // Output only. Ad group id of the simulation. + optional int64 ad_group_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v10.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v10.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + optional string end_date = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v10.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.v10.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.v10.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.v10.common.TargetRoasSimulationPointList target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_parameter.proto new file mode 100644 index 00000000..1219a5d8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_parameter.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad parameter resource. + +// An ad parameter that is used to update numeric values (such as prices or +// inventory levels) in any text line of an ad (including URLs). There can +// be a maximum of two AdParameters per ad group criterion. (One with +// parameter_index = 1 and one with parameter_index = 2.) +// In the ad the parameters are referenced by a placeholder of the form +// "{param#:value}". E.g. "{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/google-cloud/protos/google/ads/googleads/v10/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/ad_schedule_view.proto new file mode 100644 index 00000000..dc08ad4d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/ad_schedule_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ad schedule view resource. + +// An ad schedule view summarizes the performance of campaigns by +// AdSchedule criteria. +message AdScheduleView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdScheduleView" + pattern: "customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad schedule view. + // AdSchedule view resource names have the form: + // + // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/age_range_view.proto new file mode 100644 index 00000000..d3f3445b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/age_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the age range view resource. + +// An age range view. +message AgeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AgeRangeView" + pattern: "customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the age range view. + // Age range view resource names have the form: + // + // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset.proto new file mode 100644 index 00000000..3b6e5457 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset.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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/asset_types.proto"; +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/asset_type.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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.v10.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. Policy information for the asset. + AssetPolicySummary policy_summary = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.googleads.v10.common.YoutubeVideoAsset youtube_video_asset = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v10.common.MediaBundleAsset media_bundle_asset = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v10.common.ImageAsset image_asset = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v10.common.TextAsset text_asset = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v10.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v10.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v10.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v10.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v10.common.StructuredSnippetAsset structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v10.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v10.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v10.common.DynamicEducationAsset dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v10.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v10.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v10.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v10.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v10.common.CallToActionAsset call_to_action_asset = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v10.common.DynamicRealEstateAsset dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v10.common.DynamicCustomAsset dynamic_custom_asset = 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v10.common.DynamicHotelsAndRentalsAsset dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v10.common.DynamicFlightsAsset dynamic_flights_asset = 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v10.common.DiscoveryCarouselCardAsset discovery_carousel_card_asset = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v10.common.DynamicTravelAsset dynamic_travel_asset = 35; + + // A dynamic local asset. + google.ads.googleads.v10.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v10.common.DynamicJobsAsset dynamic_jobs_asset = 37; + } +} + +// Contains policy information for an asset. +message AssetPolicySummary { + // Output only. The list of policy findings for this asset. + repeated google.ads.googleads.v10.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.v10.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.v10.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_field_type_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_field_type_view.proto new file mode 100644 index 00000000..b9432b68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_field_type_view.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AssetFieldTypeView resource. + +// An asset field type view. +// This view reports non-overcounted metrics for each asset field type when the +// asset is used as extension. +message AssetFieldTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + pattern: "customers/{customer_id}/assetFieldTypeViews/{field_type}" + }; + + // Output only. The resource name of the asset field type view. + // Asset field type view resource names have the form: + // + // `customers/{customer_id}/assetFieldTypeViews/{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; + + // Output only. The asset field type of the asset field type view. + google.ads.googleads.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_group.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group.proto new file mode 100644 index 00000000..8677cde9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.AssetGroupStatusEnum.AssetGroupStatus status = 6; + + // 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_asset.proto new file mode 100644 index 00000000..6b47c38e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_asset.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/policy_summary.proto"; +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/asset_link_status.proto"; +import "google/ads/googleads/v10/enums/asset_performance_label.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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. E.g.: + // HEADLINE, YOUTUBE_VIDEO etc + google.ads.googleads.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v10.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v10.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.v10.common.PolicySummary policy_summary = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto new file mode 100644 index 00000000..27ede626 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v10/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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.v10.enums.ListingGroupFilterVerticalEnum.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: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} + +// 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. + google.ads.googleads.v10.enums.ListingGroupFilterBiddingCategoryLevelEnum.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. + google.ads.googleads.v10.enums.ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v10.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.v10.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.v10.enums.ListingGroupFilterProductTypeLevelEnum.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/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_product_group_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_product_group_view.proto new file mode 100644 index 00000000..9687deb0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_product_group_view.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the AssetGroupProductGroupView resource. + +// An asset group product group view. +message AssetGroupProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + pattern: "customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}" + }; + + // Output only. The resource name of the asset group product group view. + // Asset group product group view resource names have the form: + // + // `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + } + ]; + + // Output only. The asset group associated with the listing group filter. + string asset_group = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. The resource name of the asset group listing group filter. + string asset_group_listing_group_filter = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_signal.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_signal.proto new file mode 100644 index 00000000..693d74c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_group_signal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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" + } + ]; + + // Immutable. The signal(audience criterion) to be used by the performance max campaign. + google.ads.googleads.v10.common.AudienceInfo audience = 3 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_set.proto new file mode 100644 index 00000000..3dde31ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_set.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_set_status.proto"; +import "google/ads/googleads/v10/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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]; + } + + // 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.v10.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.v10.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/asset_set_asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/asset_set_asset.proto new file mode 100644 index 00000000..1a09c833 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/asset_set_asset.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// AssetSetAsset is the link between an asset and an asset set. +// Adding an AssetSetAsset links an asset with an asset set. +message AssetSetAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetAsset" + pattern: "customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}" + }; + + // Immutable. The resource name of the asset set asset. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + } + ]; + + // Immutable. The asset set which this asset set asset is linking to. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The asset which this asset set asset is linking to. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.googleads.v10.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/audience.proto b/google-cloud/protos/google/ads/googleads/v10/resources/audience.proto new file mode 100644 index 00000000..08065edc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/audience.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/audiences.proto"; +import "google/ads/googleads/v10/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Audience resource. + +// Audience is an effective targeting option that allows you to +// 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.v10.enums.AudienceStatusEnum.AudienceStatus status = 3 [(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; + + // Positive dimensions specifying the audience composition. + repeated google.ads.googleads.v10.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v10.common.AudienceExclusionDimension exclusion_dimension = 7; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/batch_job.proto b/google-cloud/protos/google/ads/googleads/v10/resources/batch_job.proto new file mode 100644 index 00000000..4540b727 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/batch_job.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the batch job resource. + +// A list of mutates being processed asynchronously. The mutates are uploaded +// by the user. The mutates themselves aren't readable and the results of the +// job can only be read using BatchJobService.ListBatchJobResults. +message BatchJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/BatchJob" + pattern: "customers/{customer_id}/batchJobs/{batch_job_id}" + }; + + // Additional information about the batch job. This message is also used as + // metadata returned in batch job Long Running Operations. + message BatchJobMetadata { + // Output only. The time when this batch job was created. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" + optional string creation_date_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job started running. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" + optional string start_date_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job was completed. + // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" + optional string completion_date_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. + // This is empty if the job hasn't started running yet. + optional double estimated_completion_ratio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations in the batch job. + optional int64 operation_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations executed by the batch job. + // Present only if the job has started running. + optional int64 executed_operation_count = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the batch job. + // Batch job resource names have the form: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Output only. ID of this batch job. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The next sequence token to use when adding operations. Only set when the + // batch job status is PENDING. + optional string next_add_sequence_token = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains additional information about this batch job. + BatchJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this batch job. + google.ads.googleads.v10.enums.BatchJobStatusEnum.BatchJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion. Only set when the batch job status is RUNNING or DONE. + optional string long_running_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/bidding_data_exclusion.proto b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_data_exclusion.proto new file mode 100644 index 00000000..2d8903dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_data_exclusion.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v10/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Represents a bidding data exclusion. +// +// See "About data exclusions" at +// https://support.google.com/google-ads/answer/10370710. +message BiddingDataExclusion { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + pattern: "customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}" + }; + + // Immutable. The resource name of the data exclusion. + // Data exclusion resource names have the form: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; + + // Output only. The ID of the data exclusion. + int64 data_exclusion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the data exclusion. + google.ads.googleads.v10.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v10.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss + // format. + // + // A data exclusion is backward looking and should be used for events that + // start in the past and end either in the past or future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the data exclusion. The name can be at most 255 + // characters. + string name = 7; + + // The description of the data exclusion. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this exclusion. + // Otherwise, only the specified targeted devices will be included in this + // exclusion. + repeated google.ads.googleads.v10.enums.DeviceEnum.Device devices = 9; + + // The data exclusion will apply to the campaigns listed when the scope of + // this exclusion is CAMPAIGN. The maximum number of campaigns per event is + // 2000. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 10 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The data_exclusion will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // exclusion is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v10.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 00000000..ecc9b6dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v10/enums/device.proto"; +import "google/ads/googleads/v10/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v10/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Represents a bidding seasonality adjustment. +// +// See "About seasonality adjustments" at +// https://support.google.com/google-ads/answer/10369906. +message BiddingSeasonalityAdjustment { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + pattern: "customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}" + }; + + // Immutable. The resource name of the seasonality adjustment. + // Seasonality adjustment resource names have the form: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; + + // Output only. The ID of the seasonality adjustment. + int64 seasonality_adjustment_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the seasonality adjustment. + google.ads.googleads.v10.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v10.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd + // HH:mm:ss format. + // + // A seasonality adjustment is forward looking and should be used for events + // that start and end in the future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss + // format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the seasonality adjustment. The name can be at most 255 + // characters. + string name = 7; + + // The description of the seasonality adjustment. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this adjustment. + // Otherwise, only the specified targeted devices will be included in this + // adjustment. + repeated google.ads.googleads.v10.enums.DeviceEnum.Device devices = 9; + + // Conversion rate modifier estimated based on expected conversion rate + // changes. When this field is unset or set to 1.0 no adjustment will be + // applied to traffic. The allowed range is 0.1 to 10.0. + double conversion_rate_modifier = 10; + + // The seasonality adjustment will apply to the campaigns listed when the + // scope of this adjustment is CAMPAIGN. The maximum number of campaigns per + // event is 2000. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 11 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The seasonality adjustment will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // adjustment is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v10.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy.proto new file mode 100644 index 00000000..9fa73b31 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/bidding.proto"; +import "google/ads/googleads/v10/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v10/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategy" + pattern: "customers/{customer_id}/biddingStrategies/{bidding_strategy_id}" + }; + + // Immutable. The resource name of the bidding strategy. + // Bidding strategy resource names have the form: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + optional int64 id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the bidding strategy. + // All bidding strategies within an account must be named distinctly. + // + // The length of this string should be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 17; + + // Output only. The status of the bidding strategy. + // + // This field is read-only. + google.ads.googleads.v10.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. + google.ads.googleads.v10.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this currency can be set on + // creation and defaults to the manager customer's currency. For serving + // customers, this field cannot be set; all strategies in a serving customer + // implicitly use the serving customer's currency. In all cases the + // effective_currency_code field returns the currency used by the strategy. + string currency_code = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this is the currency set by + // the advertiser when creating the strategy. For serving customers, this is + // the customer's currency_code. + // + // Bidding strategy metrics are reported in this currency. + // + // This field is read-only. + optional string effective_currency_code = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 campaign_count = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of non-removed campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 non_removed_campaign_count = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // A bidding strategy that raises bids for clicks that seem more likely to + // lead to a conversion and lowers them for clicks where they seem less + // likely. + google.ads.googleads.v10.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.v10.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.v10.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.v10.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a desired + // percentage of impressions. + google.ads.googleads.v10.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.v10.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.v10.common.TargetSpend target_spend = 12; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy_simulation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy_simulation.proto new file mode 100644 index 00000000..3726d607 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/bidding_strategy_simulation.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/simulation.proto"; +import "google/ads/googleads/v10/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v10/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the bidding strategy simulation resource. + +// A bidding strategy simulation. Supported combinations of simulation type +// and simulation modification method are detailed below respectively. +// +// 1. TARGET_CPA - UNIFORM +// 2. TARGET_ROAS - UNIFORM +message BiddingStrategySimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + pattern: "customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the bidding strategy simulation. + // Bidding strategy simulation resource names have the form: + // + // `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; + + // Output only. Bidding strategy shared set id of the simulation. + int64 bidding_strategy_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v10.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v10.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v10.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.v10.common.TargetRoasSimulationPointList target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v10/resources/billing_setup.proto new file mode 100644 index 00000000..e664760b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/billing_setup.proto @@ -0,0 +1,137 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/billing_setup_status.proto"; +import "google/ads/googleads/v10/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the BillingSetup resource. + +// A billing setup, which associates a payments account and an advertiser. A +// billing setup is specific to one advertiser. +message BillingSetup { + option (google.api.resource) = { + type: "googleads.googleapis.com/BillingSetup" + pattern: "customers/{customer_id}/billingSetups/{billing_setup_id}" + }; + + // Container of payments account information for this billing. + message PaymentsAccountInfo { + // Output only. A 16 digit id used to identify the payments account associated with the + // billing setup. + // + // This must be passed as a string with dashes, e.g. "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, e.g. "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, e.g. + // when a sequential liability agreement has been arranged. + optional string secondary_payments_profile_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the billing setup. + // BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The ID of the billing setup. + optional int64 id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the billing setup. + google.ads.googleads.v10.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the payments account associated with this billing + // setup. Payments resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + // When setting up billing, this is used to signup with an existing payments + // account (and then payments_account_info should not be set). + // When getting a billing setup, this and payments_account_info will be + // populated. + optional string payments_account = 18 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Immutable. The payments account information associated with this billing setup. + // When setting up billing, this is used to signup with a new payments account + // (and then payments_account should not be set). + // When getting a billing setup, this and payments_account will be + // populated. + PaymentsAccountInfo payments_account_info = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // When creating a new billing setup, this is when the setup should take + // effect. NOW is the only acceptable start time if the customer doesn't have + // any approved setups. + // + // When fetching an existing billing setup, this is the requested start time. + // However, if the setup was approved (see status) after the requested start + // time, then this is the approval time. + oneof start_time { + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a + // future time is allowed. + string start_date_time = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; + } + + // When the billing setup ends / ended. This is either FOREVER or the start + // time of the next scheduled billing setup. + oneof end_time { + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + string end_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v10.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/call_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/call_view.proto new file mode 100644 index 00000000..b64371d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/call_view.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v10/enums/call_type.proto"; +import "google/ads/googleads/v10/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the call view resource. + +// A call view that includes data for call tracking of call-only ads or call +// extensions. +message CallView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CallView" + pattern: "customers/{customer_id}/callViews/{call_detail_id}" + }; + + // Output only. The resource name of the call view. + // Call view resource names have the form: + // + // `customers/{customer_id}/callViews/{call_detail_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CallView" + } + ]; + + // Output only. Country code of the caller. + string caller_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Area code of the caller. Null if the call duration is shorter than 15 + // seconds. + string caller_area_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call duration in seconds. + int64 call_duration_seconds = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call start date time. + string start_call_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call end date time. + string end_call_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call tracking display location. + google.ads.googleads.v10.enums.CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation call_tracking_display_location = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v10.enums.CallTypeEnum.CallType type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v10.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign.proto new file mode 100644 index 00000000..a0970bca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign.proto @@ -0,0 +1,468 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/bidding.proto"; +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/frequency_cap.proto"; +import "google/ads/googleads/v10/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v10/common/targeting_setting.proto"; +import "google/ads/googleads/v10/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v10/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v10/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v10/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v10/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v10/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v10/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v10/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v10/enums/campaign_status.proto"; +import "google/ads/googleads/v10/enums/location_source_type.proto"; +import "google/ads/googleads/v10/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v10/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v10/enums/payment_mode.proto"; +import "google/ads/googleads/v10/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v10/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v10/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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}" + }; + + // 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, e.g., "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, e.g., "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. + // This field is required for Shopping campaigns. + // This field is optional for non-Shopping campaigns, but it must be equal + // to 'ZZ' if set. + optional string sales_country = 6; + + // 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. + bool use_vehicle_inventory = 9 [(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.v10.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v10.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.v10.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.v10.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.v10.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.v10.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.v10.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. + 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.v10.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]; + } + + // 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; + + // The status of the campaign. + // + // When a new campaign is added, the status defaults to ENABLED. + google.ads.googleads.v10.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v10.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ad serving optimization status of the campaign. + google.ads.googleads.v10.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.v10.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.v10.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.v10.common.CustomParameter url_custom_parameters = 12; + + // Settings for Real-Time Bidding, a feature only available for campaigns + // targeting the Ad Exchange network. + google.ads.googleads.v10.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.v10.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.v10.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.v10.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. + 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.v10.common.FrequencyCapEntry frequency_caps = 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v10.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. + 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.v10.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.v10.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 69; + + // 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; + + // The bidding strategy for the campaign. + // + // Must be either portfolio (created via 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.v10.common.Commission commission = 49; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v10.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v10.common.ManualCpm manual_cpm = 25; + + // Output only. A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v10.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v10.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.v10.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.v10.common.TargetCpa target_cpa = 26; + + // Target Impression Share bidding strategy. An automated bidding strategy + // that sets bids to achieve a desired percentage of impressions. + google.ads.googleads.v10.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.v10.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.v10.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.v10.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v10.common.TargetCpm target_cpm = 41; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset.proto new file mode 100644 index 00000000..f68891d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Status of the campaign asset. + google.ads.googleads.v10.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset_set.proto new file mode 100644 index 00000000..e2e3761d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_asset_set.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CampaignAsset resource. + +// CampaignAssetSet is the linkage between a campaign and an asset set. +// Adding a CampaignAssetSet links an asset set with a campaign. +message CampaignAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAssetSet" + pattern: "customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the campaign asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + } + ]; + + // Immutable. The campaign to which this asset set is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset set which is linked to the campaign. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.googleads.v10.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_audience_view.proto new file mode 100644 index 00000000..dd406a6d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_audience_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the campaign audience view resource. + +// A campaign audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated by campaign and audience criterion. This view only includes +// audiences attached at the campaign level. +message CampaignAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAudienceView" + pattern: "customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the campaign audience view. + // Campaign audience view resource names have the form: + // + // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_bid_modifier.proto new file mode 100644 index 00000000..2e711c9a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_bid_modifier.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Campaign Bid Modifier resource. + +// Represents a bid-modifiable only criterion at the campaign level. +message CampaignBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBidModifier" + pattern: "customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign bid modifier. + // Campaign bid modifier resource names have the form: + // + // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; + + // Output only. The campaign to which this criterion belongs. + optional string campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. + optional double bid_modifier = 8; + + // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v10.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_budget.proto new file mode 100644 index 00000000..8febd40e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_budget.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v10/enums/budget_period.proto"; +import "google/ads/googleads/v10/enums/budget_status.proto"; +import "google/ads/googleads/v10/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Budget resource. + +// A campaign budget. +message CampaignBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBudget" + pattern: "customers/{customer_id}/campaignBudgets/{campaign_budget_id}" + }; + + // Immutable. The resource name of the campaign budget. + // Campaign budget resource names have the form: + // + // `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The ID of the campaign budget. + // + // A campaign budget is created using the CampaignBudgetService create + // operation and is assigned a budget ID. A budget ID can be shared across + // different campaigns; the system will then allocate the campaign budget + // among different campaigns to get optimum results. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign budget. + // + // When creating a campaign budget through CampaignBudgetService, every + // explicitly shared campaign budget must have a non-null, non-empty name. + // Campaign budgets that are not explicitly shared derive their name from the + // attached campaign's name. + // + // The length of this string must be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 20; + + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. Monthly spend is capped at 30.4 times this amount. + optional int64 amount_micros = 21; + + // The lifetime amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + optional int64 total_amount_micros = 22; + + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v10.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. + google.ads.googleads.v10.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; + + // Specifies whether the budget is explicitly shared. Defaults to true if + // unspecified in a create operation. + // + // If true, the budget was created with the purpose of sharing + // across one or more campaigns. + // + // If false, the budget was created with the intention of only being used + // with a single campaign. The budget's name and status will stay in sync + // with the campaign's name and status. Attempting to share the budget with a + // second campaign will result in an error. + // + // A non-shared budget can become an explicitly shared. The same operation + // must also assign the budget a name. + // + // A shared campaign budget can never become non-shared. + optional bool explicitly_shared = 23; + + // Output only. The number of campaigns actively using the budget. + // + // This field is read-only. + optional int64 reference_count = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether there is a recommended budget for this campaign budget. + // + // This field is read-only. + optional bool has_recommended_budget = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount. If no recommendation is available, this will + // be set to the budget amount. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + // + // This field is read-only. + optional int64 recommended_budget_amount_micros = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v10.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The estimated change in weekly clicks if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_clicks = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly cost in micros if the recommended budget is + // applied. One million is equivalent to one currency unit. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly interactions if the recommended budget is + // applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_interactions = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly views if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_views = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of the campaign budget. + google.ads.googleads.v10.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_conversion_goal.proto new file mode 100644 index 00000000..2b6a85cc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_conversion_goal.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_action_category.proto"; +import "google/ads/googleads/v10/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// The biddability setting for the specified campaign only for all +// conversion actions with a matching category and origin. +message CampaignConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + pattern: "customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}" + }; + + // Immutable. The resource name of the campaign conversion goal. + // Campaign conversion goal resource names have the form: + // + // `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + } + ]; + + // Immutable. The campaign with which this campaign conversion goal is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The conversion category of this campaign conversion goal. + google.ads.googleads.v10.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v10.enums.ConversionOriginEnum.ConversionOrigin origin = 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion.proto new file mode 100644 index 00000000..595e8643 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v10/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.CriterionTypeEnum.CriterionType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v10.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v10.common.KeywordInfo keyword = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v10.common.PlacementInfo placement = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v10.common.MobileAppCategoryInfo mobile_app_category = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v10.common.MobileApplicationInfo mobile_application = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v10.common.LocationInfo location = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v10.common.DeviceInfo device = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v10.common.AdScheduleInfo ad_schedule = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v10.common.AgeRangeInfo age_range = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v10.common.GenderInfo gender = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v10.common.IncomeRangeInfo income_range = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v10.common.ParentalStatusInfo parental_status = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v10.common.UserListInfo user_list = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v10.common.YouTubeVideoInfo youtube_video = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v10.common.YouTubeChannelInfo youtube_channel = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v10.common.ProximityInfo proximity = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v10.common.TopicInfo topic = 24 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v10.common.ListingScopeInfo listing_scope = 25 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v10.common.LanguageInfo language = 26 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v10.common.IpBlockInfo ip_block = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v10.common.ContentLabelInfo content_label = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v10.common.CarrierInfo carrier = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v10.common.UserInterestInfo user_interest = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v10.common.WebpageInfo webpage = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v10.common.OperatingSystemVersionInfo operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v10.common.MobileDeviceInfo mobile_device = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v10.common.LocationGroupInfo location_group = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v10.common.CustomAffinityInfo custom_affinity = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v10.common.CustomAudienceInfo custom_audience = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v10.common.CombinedAudienceInfo combined_audience = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v10.common.KeywordThemeInfo keyword_theme = 45 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion_simulation.proto new file mode 100644 index 00000000..81f5f4fa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_criterion_simulation.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/simulation.proto"; +import "google/ads/googleads/v10/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v10/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the campaign criterion simulation resource. + +// A campaign criterion simulation. Supported combinations of advertising +// channel type, criterion ids, simulation type and simulation modification +// method is detailed below respectively. +// +// 1. SEARCH - 30000,30001,30002 - BID_MODIFIER - UNIFORM +// 2. DISPLAY - 30001 - BID_MODIFIER - UNIFORM +message CampaignCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + pattern: "customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign criterion simulation. + // Campaign criterion simulation resource names have the form: + // + // `customers/{customer_id}/campaignCriterionSimulations/{campaign_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/CampaignCriterionSimulation" + } + ]; + + // Output only. Campaign ID of the simulation. + optional int64 campaign_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v10.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v10.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is BID_MODIFIER. + google.ads.googleads.v10.common.BidModifierSimulationPointList bid_modifier_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_customizer.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_customizer.proto new file mode 100644 index 00000000..6a3002ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_customizer.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/customizer_value.proto"; +import "google/ads/googleads/v10/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Campaign +// level. +message CampaignCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCustomizer" + pattern: "customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the campaign customizer. + // Campaign customizer resource names have the form: + // + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + } + ]; + + // Immutable. The campaign to which the customizer attribute is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the campaign. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the campaign customizer. + google.ads.googleads.v10.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.v10.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_draft.proto new file mode 100644 index 00000000..0ec53921 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_draft.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Campaign Draft resource. + +// A campaign draft. +message CampaignDraft { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignDraft" + pattern: "customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}" + }; + + // Immutable. The resource name of the campaign draft. + // Campaign draft resource names have the form: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Output only. The ID of the draft. + // + // This field is read-only. + optional int64 draft_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The base campaign to which the draft belongs. + optional string base_campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The name of the campaign draft. + // + // This field is required and should not be empty when creating new + // campaign drafts. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 11; + + // Output only. Resource name of the Campaign that results from overlaying the draft + // changes onto the base campaign. + // + // This field is read-only. + optional string draft_campaign = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign draft. This field is read-only. + // + // When a new campaign draft is added, the status defaults to PROPOSED. + google.ads.googleads.v10.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether there is an experiment based on this draft currently serving. + optional bool has_experiment_running = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion of draft promotion. This is only set if the draft promotion + // is in progress or finished. + optional string long_running_operation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_experiment.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_experiment.proto new file mode 100644 index 00000000..f2ca0b65 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_experiment.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/campaign_experiment_status.proto"; +import "google/ads/googleads/v10/enums/campaign_experiment_traffic_split_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Campaign Experiment resource. + +// An A/B experiment that compares the performance of the base campaign +// (the control) and a variation of that campaign (the experiment). +message CampaignExperiment { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExperiment" + pattern: "customers/{customer_id}/campaignExperiments/{campaign_experiment_id}" + }; + + // Immutable. The resource name of the campaign experiment. + // Campaign experiment resource names have the form: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // Output only. The ID of the campaign experiment. + // + // This field is read-only. + optional int64 id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The campaign draft with staged changes to the base campaign. + optional string campaign_draft = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // The name of the campaign experiment. + // + // This field is required when creating new campaign experiments + // and must not conflict with the name of another non-removed + // campaign experiment or campaign. + // + // 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 = 15; + + // The description of the experiment. + optional string description = 16; + + // Immutable. Share of traffic directed to experiment as a percent (must be between 1 and + // 99 inclusive. Base campaign receives the remainder of the traffic + // (100 - traffic_split_percent). Required for create. + optional int64 traffic_split_percent = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Determines the behavior of the traffic split. + google.ads.googleads.v10.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The experiment campaign, as opposed to the base campaign. + optional string experiment_campaign = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign experiment. This field is read-only. + google.ads.googleads.v10.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9 [(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 experiment create or promote. The most recent long + // running operation is returned. + optional string long_running_operation = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Date when the campaign 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. Cannot be changed once the experiment starts. + // + // Format: YYYY-MM-DD + // Example: 2019-03-14 + optional string start_date = 20; + + // The last day of the campaign experiment. 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 = 21; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_extension_setting.proto new file mode 100644 index 00000000..613a8a28 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/extension_setting_device.proto"; +import "google/ads/googleads/v10/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CampaignExtensionSetting resource. + +// A campaign extension setting. +message CampaignExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + pattern: "customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}" + }; + + // Immutable. The resource name of the campaign extension setting. + // CampaignExtensionSetting resource names have the form: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v10.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the campaign. The linked extension feed items will + // serve under this campaign. + // Campaign resource names have the form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The resource names of the extension feed items to serve under the campaign. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v10.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_feed.proto new file mode 100644 index 00000000..2dd70118 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_feed.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/matching_function.proto"; +import "google/ads/googleads/v10/enums/feed_link_status.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CampaignFeed resource. + +// A campaign feed. +message CampaignFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignFeed" + pattern: "customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}" + }; + + // Immutable. The resource name of the campaign feed. + // Campaign feed resource names have the form: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Immutable. The feed to which the CampaignFeed belongs. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The campaign to which the CampaignFeed belongs. + optional string campaign = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // campaign. Required. + repeated google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v10.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v10.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_group.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_group.proto new file mode 100644 index 00000000..6f4a9d7b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_group.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.CampaignGroupStatusEnum.CampaignGroupStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_label.proto new file mode 100644 index 00000000..c5abc4b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the campaign label resource. + +// Represents a relationship between a campaign and a label. +message CampaignLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignLabel" + pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}" + }; + + // Immutable. Name of the resource. + // Campaign label resource names have the form: + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; + + // Immutable. The campaign to which the label is attached. + optional string campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The label assigned to the campaign. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_shared_set.proto new file mode 100644 index 00000000..1cf5034e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_shared_set.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CampaignSharedSet resource. + +// CampaignSharedSets are used for managing the shared sets associated with a +// campaign. +message CampaignSharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSharedSet" + pattern: "customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}" + }; + + // Immutable. The resource name of the campaign shared set. + // Campaign shared set resource names have the form: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Immutable. The campaign to which the campaign shared set belongs. + optional string campaign = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The shared set associated with the campaign. This may be a negative keyword + // shared set of another customer. This customer should be a manager of the + // other customer, otherwise the campaign shared set will exist but have no + // serving effect. Only negative keyword shared sets can be associated with + // Shopping campaigns. Only negative placement shared sets can be associated + // with Display mobile app campaigns. + optional string shared_set = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v10.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/campaign_simulation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_simulation.proto new file mode 100644 index 00000000..27145cd8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/campaign_simulation.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/simulation.proto"; +import "google/ads/googleads/v10/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v10/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the campaign simulation resource. + +// A campaign simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification +// method is detailed below respectively. +// +// SEARCH - CPC_BID - UNIFORM +// SEARCH - CPC_BID - SCALING +// SEARCH - TARGET_CPA - UNIFORM +// SEARCH - TARGET_CPA - SCALING +// SEARCH - TARGET_ROAS - UNIFORM +// SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM +// SEARCH - BUDGET - UNIFORM +// SHOPPING - BUDGET - UNIFORM +// SHOPPING - TARGET_ROAS - UNIFORM +// MULTIPLE - TARGET_CPA - UNIFORM +// OWNED_AND_OPERATED - TARGET_CPA - DEFAULT +// DISPLAY - TARGET_CPA - UNIFORM +message CampaignSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSimulation" + pattern: "customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign simulation. + // Campaign simulation resource names have the form: + // + // `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; + + // Output only. Campaign id of the simulation. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v10.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v10.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v10.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.v10.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.v10.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.v10.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.v10.common.BudgetSimulationPointList budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/carrier_constant.proto new file mode 100644 index 00000000..a9b73cf4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/carrier_constant.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Carrier constant resource. + +// A carrier criterion that can be used in campaign targeting. +message CarrierConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CarrierConstant" + pattern: "carrierConstants/{criterion_id}" + }; + + // Output only. The resource name of the carrier criterion. + // Carrier criterion resource names have the form: + // + // `carrierConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; + + // Output only. The ID of the carrier criterion. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the carrier in English. + optional string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country code of the country where the carrier is located, e.g., "AR", + // "FR", etc. + optional string country_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/change_event.proto b/google-cloud/protos/google/ads/googleads/v10/resources/change_event.proto new file mode 100644 index 00000000..4fecc938 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/change_event.proto @@ -0,0 +1,208 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/change_client_type.proto"; +import "google/ads/googleads/v10/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v10/enums/resource_change_operation.proto"; +import "google/ads/googleads/v10/resources/ad.proto"; +import "google/ads/googleads/v10/resources/ad_group.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad.proto"; +import "google/ads/googleads/v10/resources/ad_group_asset.proto"; +import "google/ads/googleads/v10/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v10/resources/ad_group_feed.proto"; +import "google/ads/googleads/v10/resources/asset.proto"; +import "google/ads/googleads/v10/resources/asset_set.proto"; +import "google/ads/googleads/v10/resources/asset_set_asset.proto"; +import "google/ads/googleads/v10/resources/campaign.proto"; +import "google/ads/googleads/v10/resources/campaign_asset.proto"; +import "google/ads/googleads/v10/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v10/resources/campaign_budget.proto"; +import "google/ads/googleads/v10/resources/campaign_criterion.proto"; +import "google/ads/googleads/v10/resources/campaign_feed.proto"; +import "google/ads/googleads/v10/resources/customer_asset.proto"; +import "google/ads/googleads/v10/resources/feed.proto"; +import "google/ads/googleads/v10/resources/feed_item.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Change Event resource. + +// Describes the granular change of returned resource of certain resource types. +// Changes made through UI, API and new versions of Editor +// by external users (including external users, and internal users that can be +// shown externally) in the past 30 days will be shown. The change shows the old +// values of the changed fields before the change and the new values right after +// the change. ChangeEvent could have up to 3 minutes delay to reflect a new +// change. +message ChangeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeEvent" + pattern: "customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}" + }; + + // A wrapper proto presenting all supported resources. + // Only the resource of the change_resource_type will be set. + message ChangedResource { + // Output only. Set if change_resource_type == AD. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP. + AdGroup ad_group = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_CRITERION. + AdGroupCriterion ad_group_criterion = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN. + Campaign campaign = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_BUDGET. + CampaignBudget campaign_budget = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. + AdGroupBidModifier ad_group_bid_modifier = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_CRITERION. + CampaignCriterion campaign_criterion = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED. + Feed feed = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED_ITEM. + FeedItem feed_item = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_FEED. + CampaignFeed campaign_feed = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_FEED. + AdGroupFeed ad_group_feed = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_AD. + AdGroupAd ad_group_ad = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET. + Asset asset = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CUSTOMER_ASSET. + CustomerAsset customer_asset = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET. + CampaignAsset campaign_asset = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_ASSET. + AdGroupAsset ad_group_asset = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET. + AssetSet asset_set = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET_ASSET. + AssetSetAsset asset_set_asset = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. + CampaignAssetSet campaign_asset_set = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the change event. + // Change event resource names have the form: + // + // `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeEvent" + } + ]; + + // Output only. Time at which the change was committed on this resource. + string change_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the changed resource. This dictates what resource + // will be set in old_resource and new_resource. + google.ads.googleads.v10.enums.ChangeEventResourceTypeEnum.ChangeEventResourceType change_resource_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Simply resource this change occurred on. + string change_resource_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the change was made through. + google.ads.googleads.v10.enums.ChangeClientTypeEnum.ChangeClientType client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the user who made this change. + string user_email = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The old resource before the change. Only changed fields will be populated. + ChangedResource old_resource = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The new resource after the change. Only changed fields will be populated. + ChangedResource new_resource = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operation on the changed resource. + google.ads.googleads.v10.enums.ResourceChangeOperationEnum.ResourceChangeOperation resource_change_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of fields that are changed in the returned resource. + google.protobuf.FieldMask changed_fields = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + string ad_group = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The Feed affected by this change. + string feed = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + string feed_item = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 20 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v10/resources/change_status.proto new file mode 100644 index 00000000..6a675afb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/change_status.proto @@ -0,0 +1,192 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/change_status_operation.proto"; +import "google/ads/googleads/v10/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Change Status resource. + +// Describes the status of returned resource. ChangeStatus could have up to 3 +// minutes delay to reflect a new change. +message ChangeStatus { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeStatus" + pattern: "customers/{customer_id}/changeStatus/{change_status_id}" + }; + + // Output only. The resource name of the change status. + // Change status resource names have the form: + // + // `customers/{customer_id}/changeStatus/{change_status_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; + + // Output only. Time at which the most recent change has occurred on this resource. + optional string last_change_date_time = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the type of the changed resource. This dictates what fields + // will be set. For example, for AD_GROUP, campaign and ad_group fields will + // be set. + google.ads.googleads.v10.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + optional string campaign = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + optional string ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Represents the status of the changed resource. + google.ads.googleads.v10.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The AdGroupAd affected by this change. + optional string ad_group_ad = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The AdGroupCriterion affected by this change. + optional string ad_group_criterion = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The CampaignCriterion affected by this change. + optional string campaign_criterion = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Output only. The Feed affected by this change. + optional string feed = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + optional string feed_item = 29 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The AdGroupFeed affected by this change. + optional string ad_group_feed = 30 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Output only. The CampaignFeed affected by this change. + optional string campaign_feed = 31 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Output only. The AdGroupBidModifier affected by this change. + optional string ad_group_bid_modifier = 32 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Output only. The SharedSet affected by this change. + string shared_set = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The CampaignSharedSet affected by this change. + string campaign_shared_set = 34 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 35 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The CustomerAsset affected by this change. + string customer_asset = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Output only. The CampaignAsset affected by this change. + string campaign_asset = 37 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Output only. The AdGroupAsset affected by this change. + string ad_group_asset = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/click_view.proto new file mode 100644 index 00000000..dd4f9b09 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/click_view.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/click_location.proto"; +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ClickView resource. + +// A click view with metrics aggregated at each click level, including both +// valid and invalid clicks. For non-Search campaigns, metrics.clicks +// represents the number of valid and invalid interactions. +// Queries including ClickView must have a filter limiting the results to one +// day and can be requested for dates back to 90 days before the time of the +// request. +message ClickView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ClickView" + pattern: "customers/{customer_id}/clickViews/{date}~{gclid}" + }; + + // Output only. The resource name of the click view. + // Click view resource names have the form: + // + // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; + + // Output only. The Google Click ID. + optional string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the area of interest associated with the + // impression. + google.ads.googleads.v10.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.v10.common.ClickLocation location_of_presence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Page number in search results where the ad was shown. + optional int64 page_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The associated ad. + optional string ad_group_ad = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The associated campaign location target, if one exists. + optional string campaign_location_target = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The associated user list, if one exists. + optional string user_list = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. The associated keyword, if one exists and the click corresponds to the + // SEARCH channel. + string keyword = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. Basic information about the associated keyword, if it exists. + google.ads.googleads.v10.common.KeywordInfo keyword_info = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/combined_audience.proto b/google-cloud/protos/google/ads/googleads/v10/resources/combined_audience.proto new file mode 100644 index 00000000..2bf695e6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/combined_audience.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Combined Audience resource. + +// Describe a resource for combined audiences which includes different +// audiences. +message CombinedAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CombinedAudience" + pattern: "customers/{customer_id}/combinedAudiences/{combined_audience_id}" + }; + + // Immutable. The resource name of the combined audience. + // Combined audience names have the form: + // + // `customers/{customer_id}/combinedAudience/{combined_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; + + // Output only. ID of the combined audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this combined audience. Indicates whether the combined audience + // is enabled or removed. + google.ads.googleads.v10.enums.CombinedAudienceStatusEnum.CombinedAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the combined audience. It should be unique across all combined + // audiences. + string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of this combined audience. + string description = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_action.proto new file mode 100644 index 00000000..7296f354 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_action.proto @@ -0,0 +1,191 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/tag_snippet.proto"; +import "google/ads/googleads/v10/enums/attribution_model.proto"; +import "google/ads/googleads/v10/enums/conversion_action_category.proto"; +import "google/ads/googleads/v10/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v10/enums/conversion_action_status.proto"; +import "google/ads/googleads/v10/enums/conversion_action_type.proto"; +import "google/ads/googleads/v10/enums/conversion_origin.proto"; +import "google/ads/googleads/v10/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v10/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Conversion Action resource. + +// A conversion action. +message ConversionAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionAction" + pattern: "customers/{customer_id}/conversionActions/{conversion_action_id}" + }; + + // Settings related to this conversion action's attribution model. + message AttributionModelSettings { + // The attribution model type of this conversion action. + google.ads.googleads.v10.enums.AttributionModelEnum.AttributionModel attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the conversion + // action. + google.ads.googleads.v10.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to the value for conversion events associated with this + // conversion action. + message ValueSettings { + // The value to use when conversion events for this conversion action are + // sent with an invalid, disallowed or missing value, or when + // this conversion action is configured to always use the default value. + optional double default_value = 4; + + // The currency code to use when conversion events for this conversion + // action are sent with an invalid or missing currency code, or when this + // conversion action is configured to always use the default value. + optional string default_currency_code = 5; + + // Controls whether the default value and default currency code are used in + // place of the value and currency code specified in conversion events for + // this conversion action. + optional bool always_use_default_value = 6; + } + + // Settings related to a third party app analytics conversion action. + message ThirdPartyAppAnalyticsSettings { + // Output only. The event name of a third-party app analytics conversion. + optional string event_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the third-party app analytics provider. + string provider_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to a Firebase conversion action. + message FirebaseSettings { + // Output only. The event name of a Firebase conversion. + optional string event_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Firebase project ID of the conversion. + optional string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the conversion action. + // Conversion action resource names have the form: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; + + // Output only. The ID of the conversion action. + optional int64 id = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the conversion action. + // + // This field is required and should not be empty when creating new + // conversion actions. + optional string name = 22; + + // The status of this conversion action for conversion event accrual. + google.ads.googleads.v10.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v10.enums.ConversionActionTypeEnum.ConversionActionType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v10.enums.ConversionOriginEnum.ConversionOrigin origin = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If a conversion action's primary_for_goal bit is false, the conversion + // action is non-biddable for all campaigns regardless of their customer + // conversion goal or campaign conversion goal. + // However, custom conversion goals do not respect primary_for_goal, so if + // a campaign has a custom conversion goal configured with a + // primary_for_goal = false conversion action, that conversion action is + // still biddable. + // By default, primary_for_goal will be true if not set. In V9, + // primary_for_goal can only be set to false after creation via an 'update' + // operation because it's not declared as optional. + optional bool primary_for_goal = 31; + + // The category of conversions reported for this conversion action. + google.ads.googleads.v10.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; + + // Output only. The resource name of the conversion action owner customer, or null if this + // is a system-defined conversion action. + optional string owner_customer = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Whether this conversion action should be included in the "conversions" + // metric. + optional bool include_in_conversions_metric = 24; + + // The maximum number of days that may elapse between an interaction + // (e.g., a click) and a conversion event. + optional int64 click_through_lookback_window_days = 25; + + // The maximum number of days which may elapse between an impression and a + // conversion without an interaction. + optional int64 view_through_lookback_window_days = 26; + + // Settings related to the value for conversion events associated with this + // conversion action. + ValueSettings value_settings = 11; + + // How to count conversion events for the conversion action. + google.ads.googleads.v10.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v10.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The phone call duration in seconds after which a conversion should be + // reported for this conversion action. + // + // The value must be between 0 and 10000, inclusive. + optional int64 phone_call_duration_seconds = 27; + + // App ID for an app conversion action. + optional string app_id = 28; + + // Output only. Mobile app vendor for an app conversion action. + google.ads.googleads.v10.enums.MobileAppVendorEnum.MobileAppVendor mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Firebase settings for Firebase conversion types. + FirebaseSettings firebase_settings = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Third Party App Analytics settings for third party conversion types. + ThirdPartyAppAnalyticsSettings third_party_app_analytics_settings = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/conversion_custom_variable.proto b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_custom_variable.proto new file mode 100644 index 00000000..f42cc2e2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_custom_variable.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable +// See "About custom variables for conversions" at +// https://support.google.com/google-ads/answer/9964350 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Immutable. The resource name of the conversion custom variable. + // Conversion custom variable resource names have the form: + // + // `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; + + // Output only. The ID of the conversion custom variable. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the conversion custom variable. + // Name should be unique. The maximum length of name is 100 characters. + // There should not be any extra spaces before and after. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The tag of the conversion custom variable. It is used in the event snippet + // and sent to Google Ads along with conversion pings. For conversion uploads + // in Google Ads API, the resource name of the conversion custom variable is + // used. + // Tag should be unique. The maximum size of tag is 100 bytes. + // There should not be any extra spaces before and after. + // Currently only lowercase letters, numbers and underscores are allowed in + // the tag. + string tag = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The status of the conversion custom variable for conversion event accrual. + google.ads.googleads.v10.enums.ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus status = 5; + + // Output only. The resource name of the customer that owns the conversion custom variable. + string owner_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto new file mode 100644 index 00000000..d7118d64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Conversion goal settings for a Campaign. +message ConversionGoalCampaignConfig { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + pattern: "customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}" + }; + + // Immutable. The resource name of the conversion goal campaign config. + // Conversion goal campaign config resource names have the form: + // + // `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + } + ]; + + // Immutable. The campaign with which this conversion goal campaign config is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The level of goal config the campaign is using. + google.ads.googleads.v10.enums.GoalConfigLevelEnum.GoalConfigLevel goal_config_level = 3; + + // The custom conversion goal the campaign is using for optimization. + string custom_conversion_goal = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule.proto b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule.proto new file mode 100644 index 00000000..87d85f1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule.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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v10/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v10/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v10/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Conversion Value Rule resource. + +// A conversion value rule +message ConversionValueRule { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRule" + pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}" + }; + + // Action applied when rule is applied. + message ValueRuleAction { + // Specifies applied operation. + google.ads.googleads.v10.enums.ValueRuleOperationEnum.ValueRuleOperation operation = 1; + + // Specifies applied value. + double value = 2; + } + + // Condition on Geo dimension. + message ValueRuleGeoLocationCondition { + // Geo locations that advertisers want to exclude. + repeated string excluded_geo_target_constants = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Excluded Geo location match type. + google.ads.googleads.v10.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; + + // Geo locations that advertisers want to include. + repeated string geo_target_constants = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Included Geo location match type. + google.ads.googleads.v10.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. + repeated google.ads.googleads.v10.enums.ValueRuleDeviceTypeEnum.ValueRuleDeviceType device_types = 1; + } + + // Condition on Audience dimension. + message ValueRuleAudienceCondition { + // User Lists. + repeated string user_lists = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + + // User Interests. + repeated string user_interests = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + }]; + } + + // Immutable. The resource name of the conversion value rule. + // Conversion value rule resource names have the form: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; + + // Output only. The ID of the conversion value rule. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Action applied when the rule is triggered. + ValueRuleAction action = 3; + + // Condition for Geo location that must be satisfied for the value rule to + // apply. + ValueRuleGeoLocationCondition geo_location_condition = 4; + + // Condition for device type that must be satisfied for the value rule to + // apply. + ValueRuleDeviceCondition device_condition = 5; + + // Condition for audience that must be satisfied for the value rule to apply. + ValueRuleAudienceCondition audience_condition = 6; + + // Output only. The resource name of the conversion value rule's owner customer. + // When the value rule is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // The status of the conversion value rule. + google.ads.googleads.v10.enums.ConversionValueRuleStatusEnum.ConversionValueRuleStatus status = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule_set.proto new file mode 100644 index 00000000..c8d9da75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/conversion_value_rule_set.proto @@ -0,0 +1,99 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_action_category.proto"; +import "google/ads/googleads/v10/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v10/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v10/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Conversion Value Rule Set resource. + +// A conversion value rule set +message ConversionValueRuleSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + pattern: "customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}" + }; + + // Immutable. The resource name of the conversion value rule set. + // Conversion value rule set resource names have the form: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; + + // Output only. The ID of the conversion value rule set. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource names of rules within the rule set. + repeated string conversion_value_rules = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // Defines dimensions for Value Rule conditions. The condition types of value + // rules within this value rule set must be of these dimensions. The first + // entry in this list is the primary dimension of the included value rules. + // When using value rule primary dimension segmentation, conversion values + // will be segmented into the values adjusted by value rules and the original + // values, if some value rules apply. + repeated google.ads.googleads.v10.enums.ValueRuleSetDimensionEnum.ValueRuleSetDimension dimensions = 4; + + // Output only. The resource name of the conversion value rule set's owner customer. + // When the value rule set is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Immutable. Defines the scope where the conversion value rule set is attached. + google.ads.googleads.v10.enums.ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType attachment_type = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource name of the campaign when the conversion value rule + // set is attached to a campaign. + string campaign = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The status of the conversion value rule set. + // ** Read-only ** + google.ads.googleads.v10.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.v10.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_categories = 9 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/currency_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/currency_constant.proto new file mode 100644 index 00000000..1c3b001e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/currency_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Currency Constant resource. + +// A currency constant. +message CurrencyConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CurrencyConstant" + pattern: "currencyConstants/{code}" + }; + + // Output only. The resource name of the currency constant. + // Currency constant resource names have the form: + // + // `currencyConstants/{code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; + + // Output only. ISO 4217 three-letter currency code, e.g. "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, e.g. '$' 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/google-cloud/protos/google/ads/googleads/v10/resources/custom_audience.proto b/google-cloud/protos/google/ads/googleads/v10/resources/custom_audience.proto new file mode 100644 index 00000000..71cef4f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/custom_audience.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v10/enums/custom_audience_status.proto"; +import "google/ads/googleads/v10/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Custom Audience resource. + +// A custom audience. This is a list of users by interest. +message CustomAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomAudience" + pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}" + }; + + // Immutable. The resource name of the custom audience. + // Custom audience resource names have the form: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; + + // Output only. ID of the custom audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this custom audience. Indicates whether the custom audience is + // enabled or removed. + google.ads.googleads.v10.enums.CustomAudienceStatusEnum.CustomAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the custom audience. It should be unique for all custom audiences + // created by a customer. + // This field is required for creating operations. + string name = 4; + + // Type of the custom audience. + // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom + // audience but kept for existing audiences) + google.ads.googleads.v10.enums.CustomAudienceTypeEnum.CustomAudienceType type = 5; + + // Description of this custom audience. + string description = 6; + + // List of custom audience members that this custom audience is composed of. + // Members can be added during CustomAudience creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomAudienceMember members = 7; +} + +// A member of custom audience. A member can be a KEYWORD, URL, +// PLACE_CATEGORY or APP. It can only be created or removed but not changed. +message CustomAudienceMember { + // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + google.ads.googleads.v10.enums.CustomAudienceMemberTypeEnum.CustomAudienceMemberType member_type = 1; + + // The CustomAudienceMember value. One field is populated depending on the + // member type. + oneof value { + // A keyword or keyword phrase — at most 10 words and 80 characters. + // Languages with double-width characters such as Chinese, Japanese, + // or Korean, are allowed 40 characters, which describes the user's + // interests or actions. + string keyword = 2; + + // An HTTP URL, protocol-included — at most 2048 characters, which includes + // contents users have interests in. + string url = 3; + + // A place type described by a place category users visit. + int64 place_category = 4; + + // A package name of Android apps which users installed such as + // com.google.example. + string app = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/custom_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v10/resources/custom_conversion_goal.proto new file mode 100644 index 00000000..b2347c5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/custom_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Custom conversion goal that can make arbitrary conversion actions biddable. +message CustomConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomConversionGoal" + pattern: "customers/{customer_id}/customConversionGoals/{goal_id}" + }; + + // Immutable. The resource name of the custom conversion goal. + // Custom conversion goal resource names have the form: + // + // `customers/{customer_id}/customConversionGoals/{goal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + } + ]; + + // Immutable. The ID for this custom conversion goal. + int64 id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The name for this custom conversion goal. + string name = 3; + + // Conversion actions that the custom conversion goal makes biddable. + repeated string conversion_actions = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The status of the custom conversion goal. + google.ads.googleads.v10.enums.CustomConversionGoalStatusEnum.CustomConversionGoalStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v10/resources/custom_interest.proto new file mode 100644 index 00000000..2fe77eb5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/custom_interest.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v10/enums/custom_interest_status.proto"; +import "google/ads/googleads/v10/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Custom Interest resource. + +// A custom interest. This is a list of users by interest. +message CustomInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomInterest" + pattern: "customers/{customer_id}/customInterests/{custom_interest_id}" + }; + + // Immutable. The resource name of the custom interest. + // Custom interest resource names have the form: + // + // `customers/{customer_id}/customInterests/{custom_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; + + // Output only. Id of the custom interest. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this custom interest. Indicates whether the custom interest is + // enabled or removed. + google.ads.googleads.v10.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; + + // Name of the custom interest. It should be unique across the same custom + // affinity audience. + // This field is required for create operations. + optional string name = 9; + + // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. + // By default the type is set to CUSTOM_AFFINITY. + google.ads.googleads.v10.enums.CustomInterestTypeEnum.CustomInterestType type = 5; + + // Description of this custom interest audience. + optional string description = 10; + + // List of custom interest members that this custom interest is composed of. + // Members can be added during CustomInterest creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomInterestMember members = 7; +} + +// A member of custom interest audience. A member can be a keyword or url. +// It is immutable, that is, it can only be created or removed but not changed. +message CustomInterestMember { + // The type of custom interest member, KEYWORD or URL. + google.ads.googleads.v10.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; + + // Keyword text when member_type is KEYWORD or URL string when + // member_type is URL. + optional string parameter = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer.proto new file mode 100644 index 00000000..9d582115 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer.proto @@ -0,0 +1,187 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v10/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/ads/googleads/v10/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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. + optional string tracking_url_template = 23; + + // The URL template for appending params to the final URL + 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. + 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.v10.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.v10.enums.CustomerStatusEnum.CustomerStatus status = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Call reporting setting for a customer. +message CallReportingSetting { + // Enable reporting of phone call events by redirecting them via 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 is automatically + // assigned after any conversion tracking feature is used. If the customer + // doesn't use conversion tracking, this is 0. 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.v10.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_asset.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_asset.proto new file mode 100644 index 00000000..118b7cbd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_asset.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/asset_field_type.proto"; +import "google/ads/googleads/v10/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Status of the customer asset. + google.ads.googleads.v10.enums.AssetLinkStatusEnum.AssetLinkStatus status = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_client.proto new file mode 100644 index 00000000..5e142edb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_client.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerClient resource. + +// A link between the given customer and a client customer. CustomerClients only +// exist for manager customers. All direct and indirect client customers are +// included, as well as the manager itself. +message CustomerClient { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClient" + pattern: "customers/{customer_id}/customerClients/{client_customer_id}" + }; + + // Output only. The resource name of the customer client. + // CustomerClient resource names have the form: + // `customers/{customer_id}/customerClients/{client_customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; + + // Output only. The resource name of the client-customer which is linked to + // the given customer. Read only. + optional string client_customer = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. Specifies whether this is a + // [hidden account](https://support.google.com/google-ads/answer/7519830). + // Read only. + optional bool hidden = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distance between given customer and client. For self link, the level value + // will be 0. Read only. + optional int64 level = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Common Locale Data Repository (CLDR) string representation of the + // time zone of the client, e.g. 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 (e.g. 'USD', 'EUR') for the client. Read only. + optional string currency_code = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the client customer. Read only. + optional int64 id = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of the labels owned by the requesting customer that are + // applied to the client customer. + // Label resource names have the form: + // + // `customers/{customer_id}/labels/{label_id}` + repeated string applied_labels = 21 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. The status of the client customer. Read only. + google.ads.googleads.v10.enums.CustomerStatusEnum.CustomerStatus status = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_client_link.proto new file mode 100644 index 00000000..7f769aaf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_client_link.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerClientLink resource. + +// Represents customer client link relationship. +message CustomerClientLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClientLink" + pattern: "customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerClientLink resource names have the form: + // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; + + // Immutable. The client customer linked to this customer. + optional string client_customer = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. This is uniquely identifies a customer client link. Read only. + optional int64 manager_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This is the status of the link between client and manager. + google.ads.googleads.v10.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; + + // The visibility of the link. Users can choose whether or not to see hidden + // links in the Google Ads UI. + // Default value is false + optional bool hidden = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_conversion_goal.proto new file mode 100644 index 00000000..3e9b2074 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/conversion_action_category.proto"; +import "google/ads/googleads/v10/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Biddability control for conversion actions with a matching category and +// origin. +message CustomerConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + pattern: "customers/{customer_id}/customerConversionGoals/{category}~{source}" + }; + + // Immutable. The resource name of the customer conversion goal. + // Customer conversion goal resource names have the form: + // + // `customers/{customer_id}/customerConversionGoals/{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + } + ]; + + // The conversion category of this customer conversion goal. Only + // conversion actions that have this category will be included in this goal. + google.ads.googleads.v10.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 2; + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. + google.ads.googleads.v10.enums.ConversionOriginEnum.ConversionOrigin origin = 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_customizer.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_customizer.proto new file mode 100644 index 00000000..7b5d8d7c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_customizer.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/customizer_value.proto"; +import "google/ads/googleads/v10/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Customer +// level. +message CustomerCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerCustomizer" + pattern: "customers/{customer_id}/customerCustomizers/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customer customizer. + // Customer customizer resource names have the form: + // + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the customer. + string customizer_attribute = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the customer customizer attribute. + google.ads.googleads.v10.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.v10.common.CustomizerValue value = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_extension_setting.proto new file mode 100644 index 00000000..b17980bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_extension_setting.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/extension_setting_device.proto"; +import "google/ads/googleads/v10/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerExtensionSetting resource. + +// A customer extension setting. +message CustomerExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + pattern: "customers/{customer_id}/customerExtensionSettings/{extension_type}" + }; + + // Immutable. The resource name of the customer extension setting. + // CustomerExtensionSetting resource names have the form: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v10.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource names of the extension feed items to serve under the customer. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v10.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_feed.proto new file mode 100644 index 00000000..746c335d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_feed.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/matching_function.proto"; +import "google/ads/googleads/v10/enums/feed_link_status.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerFeed resource. + +// A customer feed. +message CustomerFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerFeed" + pattern: "customers/{customer_id}/customerFeeds/{feed_id}" + }; + + // Immutable. The resource name of the customer feed. + // Customer feed resource names have the form: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; + + // Immutable. The feed being linked to the customer. + optional string feed = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // customer. Required. + repeated google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v10.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v10.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_label.proto new file mode 100644 index 00000000..7ae9ab54 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_label.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the customer label resource. + +// Represents a relationship between a customer and a label. This customer may +// not have access to all the labels attached to it. Additional CustomerLabels +// may be returned by increasing permissions with login-customer-id. +message CustomerLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerLabel" + pattern: "customers/{customer_id}/customerLabels/{label_id}" + }; + + // Immutable. Name of the resource. + // Customer label resource names have the form: + // `customers/{customer_id}/customerLabels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; + + // Output only. The resource name of the customer to which the label is attached. + // Read only. + optional string customer = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The resource name of the label assigned to the customer. + // + // Note: the Customer ID portion of the label resource name is not + // validated when creating a new CustomerLabel. + optional string label = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_manager_link.proto new file mode 100644 index 00000000..e4aebf83 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_manager_link.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerManagerLink resource. + +// Represents customer-manager link relationship. +message CustomerManagerLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerManagerLink" + pattern: "customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerManagerLink resource names have the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; + + // Output only. The manager customer linked to the customer. + optional string manager_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. ID of the customer-manager link. This field is read only. + optional int64 manager_link_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the link between the customer and the manager. + google.ads.googleads.v10.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_negative_criterion.proto new file mode 100644 index 00000000..b17b4d49 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_negative_criterion.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Customer Negative Criterion resource. + +// A negative criterion for exclusions at the customer level. +message CustomerNegativeCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + pattern: "customers/{customer_id}/customerNegativeCriteria/{criterion_id}" + }; + + // Immutable. The resource name of the customer negative criterion. + // Customer negative criterion resource names have the form: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; + + // Output only. The ID of the criterion. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v10.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. + google.ads.googleads.v10.common.ContentLabelInfo content_label = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v10.common.MobileApplicationInfo mobile_application = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v10.common.MobileAppCategoryInfo mobile_app_category = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v10.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v10.common.YouTubeVideoInfo youtube_video = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v10.common.YouTubeChannelInfo youtube_channel = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access.proto new file mode 100644 index 00000000..4a950bb2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerUserAccess resource. + +// Represents the permission of a single user onto a single customer. +message CustomerUserAccess { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccess" + pattern: "customers/{customer_id}/customerUserAccesses/{user_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccesses/{user_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; + + // Output only. User id of the user with the customer access. + // Read only field + int64 user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user. + // Read only field + optional string email_address = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Access role of the user. + google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole access_role = 4; + + // Output only. The customer user access creation time. + // Read only field + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string access_creation_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the inviter user. + // Read only field + optional string inviter_user_email_address = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access_invitation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access_invitation.proto new file mode 100644 index 00000000..eb074bc7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customer_user_access_invitation.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/access_invitation_status.proto"; +import "google/ads/googleads/v10/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the CustomerUserAccessInvitation resource. + +// Represent an invitation to a new user on this customer account. +message CustomerUserAccessInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + pattern: "customers/{customer_id}/customerUserAccessInvitations/{invitation_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; + + // Output only. The ID of the invitation. + // This field is read-only. + int64 invitation_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Access role of the user. + google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole access_role = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Email address the invitation was sent to. + // This can differ from the email address of the account + // that accepts the invite. + string email_address = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time invitation was created. + // This field is read-only. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invitation status of the user. + google.ads.googleads.v10.enums.AccessInvitationStatusEnum.AccessInvitationStatus invitation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/customizer_attribute.proto b/google-cloud/protos/google/ads/googleads/v10/resources/customizer_attribute.proto new file mode 100644 index 00000000..fdfd8150 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/customizer_attribute.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v10/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A customizer attribute. +// Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or +// AdGroupCriterionCustomizer to associate a customizer attribute and +// set its value at the customer, campaign, ad group, or ad group criterion +// level, respectively. +message CustomizerAttribute { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomizerAttribute" + pattern: "customers/{customer_id}/customizerAttributes/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customizer attribute. + // Customizer Attribute resource names have the form: + // + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The ID of the customizer attribute. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length + // of 1 and maximum length of 40. Name of an enabled customizer attribute must + // be unique (case insensitive). + string name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The type of the customizer attribute. + google.ads.googleads.v10.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v10.enums.CustomizerAttributeStatusEnum.CustomizerAttributeStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/detail_placement_view.proto new file mode 100644 index 00000000..bdd4a47d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/detail_placement_view.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the detail placement view resource. + +// A view with metrics aggregated by ad group and URL or YouTube video. +message DetailPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailPlacementView" + pattern: "customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the detail placement view. + // Detail placement view resource names have the form: + // + // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; + + // Output only. The automatic placement string at detail level, e. g. website URL, mobile + // application ID, or a YouTube video ID. + optional string placement = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name is URL name for websites, YouTube video name for YouTube + // videos, and translated mobile app name for mobile apps. + optional string display_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, e.g. 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, e.g. 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, e.g. Website, YouTube Video, and Mobile Application. + google.ads.googleads.v10.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/detailed_demographic.proto b/google-cloud/protos/google/ads/googleads/v10/resources/detailed_demographic.proto new file mode 100644 index 00000000..29bcf636 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/detailed_demographic.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Detailed Demographic resource. + +// A detailed demographic: a particular interest-based vertical to be targeted +// to reach users based on long-term life facts. +message DetailedDemographic { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailedDemographic" + pattern: "customers/{customer_id}/detailedDemographics/{detailed_demographic_id}" + }; + + // Output only. The resource name of the detailed demographic. + // Detailed demographic resource names have the form: + // + // `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. The ID of the detailed demographic. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the detailed demographic. E.g."Highest Level of Educational + // Attainment" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the detailed_demographic. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. True if the detailed demographic is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the detailed demographic. + repeated google.ads.googleads.v10.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/display_keyword_view.proto new file mode 100644 index 00000000..46dd72bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/display_keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the display keyword view resource. + +// A display keyword view. +message DisplayKeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DisplayKeywordView" + pattern: "customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the display keyword view. + // Display Keyword view resource names have the form: + // + // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/distance_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/distance_view.proto new file mode 100644 index 00000000..61a94d2e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/distance_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the DistanceView resource. + +// A distance view with metrics aggregated by the user's distance from an +// advertiser's location extensions. Each DistanceBucket includes all +// impressions that fall within its distance and a single impression will +// contribute to the metrics for all DistanceBuckets that include the user's +// distance. +message DistanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DistanceView" + pattern: "customers/{customer_id}/distanceViews/{placeholder_chain_id}~{distance_bucket}" + }; + + // Output only. The resource name of the distance view. + // Distance view resource names have the form: + // + // `customers/{customer_id}/distanceViews/1~{distance_bucket}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; + + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v10.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the DistanceBucket is using the metric system, false otherwise. + optional bool metric_system = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v10/resources/domain_category.proto new file mode 100644 index 00000000..2cf74eed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/domain_category.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Domain Category resource. + +// A category generated automatically by crawling a domain. If a campaign uses +// the DynamicSearchAdsSetting, then domain categories will be generated for +// the domain. The categories can be targeted using WebpageConditionInfo. +// See: https://support.google.com/google-ads/answer/2471185 +message DomainCategory { + option (google.api.resource) = { + type: "googleads.googleapis.com/DomainCategory" + pattern: "customers/{customer_id}/domainCategories/{campaign_id}~{base64_category}~{language_code}" + }; + + // Output only. The resource name of the domain category. + // Domain category resource names have the form: + // + // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; + + // Output only. The campaign this category is recommended for. + optional string campaign = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Recommended category for the website domain. e.g. 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. e.g. "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/google-cloud/protos/google/ads/googleads/v10/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 00000000..b7f6fef7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Dynamic Search Ads Search Term View resource. + +// A dynamic search ads search term view. +message DynamicSearchAdsSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + pattern: "customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}" + }; + + // Output only. The resource name of the dynamic search ads search term view. + // Dynamic search ads search term view resource names have the form: + // + // `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; + + // Output only. Search term + // + // This field is read-only. + optional string search_term = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically generated headline of the Dynamic Search Ad. + // + // This field is read-only. + optional string headline = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically selected landing page URL of the impression. + // + // This field is read-only. + optional string landing_page = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of page feed item served for the impression. + // + // This field is read-only. + optional string page_url = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative keyword. + // + // This field is read-only. + optional bool has_negative_keyword = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query is added to targeted keywords. + // + // This field is read-only. + optional bool has_matching_keyword = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative url. + // + // This field is read-only. + optional bool has_negative_url = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/expanded_landing_page_view.proto new file mode 100644 index 00000000..4db8994e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/expanded_landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the expanded landing page view resource. + +// A landing page view with metrics aggregated at the expanded final URL +// level. +message ExpandedLandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + pattern: "customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the expanded landing page view. + // Expanded landing page view resource names have the form: + // + // `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; + + // Output only. The final URL that clicks are directed to. + optional string expanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/experiment.proto b/google-cloud/protos/google/ads/googleads/v10/resources/experiment.proto new file mode 100644 index 00000000..421484f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/experiment.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/metric_goal.proto"; +import "google/ads/googleads/v10/enums/async_action_status.proto"; +import "google/ads/googleads/v10/enums/experiment_status.proto"; +import "google/ads/googleads/v10/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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; + + // The product/feature that uses this experiment. + google.ads.googleads.v10.enums.ExperimentTypeEnum.ExperimentType type = 13; + + // The Advertiser-desired status of this experiment. + google.ads.googleads.v10.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.v10.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.v10.enums.AsyncActionStatusEnum.AsyncActionStatus promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/experiment_arm.proto b/google-cloud/protos/google/ads/googleads/v10/resources/experiment_arm.proto new file mode 100644 index 00000000..f47afcf6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/experiment_arm.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 trial = 2 [ + (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/google-cloud/protos/google/ads/googleads/v10/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v10/resources/extension_feed_item.proto new file mode 100644 index 00000000..1ea8e35c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/extension_feed_item.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/common/extensions.proto"; +import "google/ads/googleads/v10/enums/extension_type.proto"; +import "google/ads/googleads/v10/enums/feed_item_status.proto"; +import "google/ads/googleads/v10/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ExtensionFeedItem resource. + +// An extension feed item. +message ExtensionFeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + pattern: "customers/{customer_id}/extensionFeedItems/{feed_item_id}" + }; + + // Immutable. The resource name of the extension feed item. + // Extension feed item resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; + + // Output only. The ID of this feed item. Read-only. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The extension type of the extension feed item. + // This field is read-only. + google.ads.googleads.v10.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 26; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 27; + + // List of non-overlapping schedules specifying all time intervals + // for which the feed item may serve. There can be a maximum of 6 schedules + // per day. + repeated google.ads.googleads.v10.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v10.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. + google.ads.googleads.v10.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v10.enums.FeedItemStatusEnum.FeedItemStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink extension. + google.ads.googleads.v10.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v10.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v10.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v10.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v10.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v10.common.TextMessageFeedItem text_message_feed_item = 10; + + // Price extension. + google.ads.googleads.v10.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v10.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.v10.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.v10.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v10.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v10.common.ImageFeedItem image_feed_item = 31 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Targeting at either the campaign or ad group level. Feed items that target + // a campaign or ad group will only serve with that resource. + oneof serving_resource_targeting { + // The targeted campaign. + string targeted_campaign = 28 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The targeted ad group. + string targeted_ad_group = 29 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed.proto new file mode 100644 index 00000000..2aea8efc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed.proto @@ -0,0 +1,189 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v10/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v10/enums/feed_origin.proto"; +import "google/ads/googleads/v10/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Feed resource. + +// A feed. +message Feed { + option (google.api.resource) = { + type: "googleads.googleapis.com/Feed" + pattern: "customers/{customer_id}/feeds/{feed_id}" + }; + + // Data used to configure a location feed populated from Business Profile. + message PlacesLocationFeedData { + // Data used for authorization using OAuth. + message OAuthInfo { + // The HTTP method used to obtain authorization. + optional string http_method = 4; + + // The HTTP request URL used to obtain authorization. + optional string http_request_url = 5; + + // The HTTP authorization header used to obtain authorization. + optional string http_authorization_header = 6; + } + + // Immutable. Required authentication token (from OAuth API) for the email. + // This field can only be specified in a create request. All its subfields + // are not selectable. + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Email address of a Business Profile or email address of a + // manager of the Business Profile. Required. + optional string email_address = 7; + + // Plus page ID of the managed business whose locations should be used. If + // this field is not set, then all businesses accessible by the user + // (specified by email_address) are used. + // This field is mutate-only and is not selectable. + string business_account_id = 8; + + // Used to filter Business Profile listings by business name. If + // business_name_filter is set, only listings with a matching business name + // are candidates to be sync'd into FeedItems. + optional string business_name_filter = 9; + + // Used to filter Business Profile listings by categories. If entries + // exist in category_filters, only listings that belong to any of the + // categories are candidates to be sync'd into FeedItems. If no entries + // exist in category_filters, then all listings are candidates for syncing. + repeated string category_filters = 11; + + // Used to filter Business Profile listings by labels. If entries exist in + // label_filters, only listings that has any of the labels set are + // candidates to be synchronized into FeedItems. If no entries exist in + // label_filters, then all listings are candidates for syncing. + repeated string label_filters = 12; + } + + // Data used to configure an affiliate location feed populated with the + // specified chains. + message AffiliateLocationFeedData { + // The list of chains that the affiliate location feed will sync the + // locations from. + repeated int64 chain_ids = 3; + + // The relationship the chains have with the advertiser. + google.ads.googleads.v10.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; + } + + // Immutable. The resource name of the feed. + // Feed resource names have the form: + // + // `customers/{customer_id}/feeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of the feed. + // This field is read-only. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Name of the feed. Required. + optional string name = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The Feed's attributes. Required on CREATE, unless + // system_feed_generation_data is provided, in which case Google Ads will + // update the feed with the correct attributes. + // Disallowed on UPDATE. Use attribute_operations to add new attributes. + repeated FeedAttribute attributes = 4; + + // The list of operations changing the feed attributes. Attributes can only + // be added, not removed. + repeated FeedAttributeOperation attribute_operations = 9; + + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.v10.enums.FeedOriginEnum.FeedOrigin origin = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v10.enums.FeedStatusEnum.FeedStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The system data for the Feed. This data specifies information for + // generating the feed items of the system generated feed. + oneof system_feed_generation_data { + // Data used to configure a location feed populated from Business Profile. + PlacesLocationFeedData places_location_feed_data = 6; + + // Data used to configure an affiliate location feed populated with + // the specified chains. + AffiliateLocationFeedData affiliate_location_feed_data = 7; + } +} + +// FeedAttributes define the types of data expected to be present in a Feed. A +// single FeedAttribute specifies the expected type of the FeedItemAttributes +// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as +// being part of a FeedItem's unique key. +message FeedAttribute { + // ID of the attribute. + optional int64 id = 5; + + // The name of the attribute. Required. + optional string name = 6; + + // Data type for feed attribute. Required. + google.ads.googleads.v10.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; + + // Indicates that data corresponding to this attribute is part of a + // FeedItem's unique key. It defaults to false if it is unspecified. Note + // that a unique key is not required in a Feed's schema, in which case the + // FeedItems must be referenced by their feed_item_id. + optional bool is_part_of_key = 7; +} + +// Operation to be performed on a feed attribute list in a mutate. +message FeedAttributeOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the attribute to the existing attributes. + ADD = 2; + } + + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item.proto new file mode 100644 index 00000000..28bcc96d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item.proto @@ -0,0 +1,213 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/custom_parameter.proto"; +import "google/ads/googleads/v10/common/feed_common.proto"; +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v10/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v10/enums/feed_item_status.proto"; +import "google/ads/googleads/v10/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v10/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/ads/googleads/v10/enums/policy_approval_status.proto"; +import "google/ads/googleads/v10/enums/policy_review_status.proto"; +import "google/ads/googleads/v10/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the FeedItem resource. + +// A feed item. +message FeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItem" + pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item. + // Feed item resource names have the form: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The feed to which this feed item belongs. + optional string feed = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of this feed item. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 13; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 14; + + // The feed item's attribute values. + repeated FeedItemAttributeValue attribute_values = 6; + + // Geo targeting restriction specifies the type of location that can be used + // for targeting. + google.ads.googleads.v10.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.v10.common.CustomParameter url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v10.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, e.g. a feed with a sitelink and a call + // feed mapping would cause every feed item associated with that feed to have + // an entry in this list for both sitelink and call. + // This field is read-only. + repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A feed item attribute value. +message FeedItemAttributeValue { + // Id of the feed attribute for which the value is associated with. + optional int64 feed_attribute_id = 11; + + // Int64 value. Should be set if feed_attribute_id refers to a feed attribute + // of type INT64. + optional int64 integer_value = 12; + + // Bool value. Should be set if feed_attribute_id refers to a feed attribute + // of type BOOLEAN. + optional bool boolean_value = 13; + + // String value. Should be set if feed_attribute_id refers to a feed attribute + // of type STRING, URL or DATE_TIME. + // For STRING the maximum length is 1500 characters. For URL the maximum + // length is 2076 characters. For DATE_TIME the string must be in the format + // "YYYYMMDD HHMMSS". + optional string string_value = 14; + + // Double value. Should be set if feed_attribute_id refers to a feed attribute + // of type DOUBLE. + optional double double_value = 15; + + // Price value. Should be set if feed_attribute_id refers to a feed attribute + // of type PRICE. + google.ads.googleads.v10.common.Money price_value = 6; + + // Repeated int64 value. Should be set if feed_attribute_id refers to a feed + // attribute of type INT64_LIST. + repeated int64 integer_values = 16; + + // Repeated bool value. Should be set if feed_attribute_id refers to a feed + // attribute of type BOOLEAN_LIST. + repeated bool boolean_values = 17; + + // Repeated string value. Should be set if feed_attribute_id refers to a feed + // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. + // For STRING_LIST and URL_LIST the total size of the list in bytes may not + // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. + // + // For STRING_LIST the maximum length of each string element is 1500 + // characters. For URL_LIST the maximum length is 2076 characters. For + // DATE_TIME the format of the string must be the same as start and end time + // for the feed item. + repeated string string_values = 18; + + // Repeated double value. Should be set if feed_attribute_id refers to a feed + // attribute of type DOUBLE_LIST. + repeated double double_values = 19; +} + +// Policy, validation, and quality approval info for a feed item for the +// specified placeholder type. +message FeedItemPlaceholderPolicyInfo { + // Output only. The placeholder type. + google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The FeedMapping that contains the placeholder type. + optional string feed_mapping_resource_name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.v10.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.v10.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.v10.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v10.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.v10.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.v10.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { + // Output only. Error code indicating what validation error was triggered. The description + // of the error can be found in the 'description' field. + google.ads.googleads.v10.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of feed attributes in the feed item flagged during validation. If + // empty, no specific feed attributes can be associated with the error + // (e.g. 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 (e.g. 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/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set.proto new file mode 100644 index 00000000..be177c81 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v10/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Represents a set of feed items. The set can be used and shared among certain +// feed item features. For instance, the set can be referenced within the +// matching functions of CustomerFeed, CampaignFeed, and AdGroupFeed. +message FeedItemSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSet" + pattern: "customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}" + }; + + // Immutable. The resource name of the feed item set. + // Feed item set resource names have the form: + // `customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; + + // Immutable. The resource name of the feed containing the feed items in the set. + // Immutable. Required. + string feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. ID of the set. + int64 feed_item_set_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the set. Must be unique within the account. + string display_name = 4; + + // Output only. Status of the feed item set. + // This field is read-only. + google.ads.googleads.v10.enums.FeedItemSetStatusEnum.FeedItemSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Represents a filter on locations in a feed item set. + // Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. + oneof dynamic_set_filter { + // Filter for dynamic location set. + // It is only used for sets of locations. + google.ads.googleads.v10.common.DynamicLocationSetFilter dynamic_location_set_filter = 5; + + // Filter for dynamic affiliate location set. + // This field doesn't apply generally to feed item sets. It is only used for + // sets of affiliate locations. + google.ads.googleads.v10.common.DynamicAffiliateLocationSetFilter dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set_link.proto new file mode 100644 index 00000000..086475f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_set_link.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the FeedItemSetLink resource. + +// Represents a link between a FeedItem and a FeedItemSet. +message FeedItemSetLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSetLink" + pattern: "customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item set link. + // Feed item set link resource names have the form: + // `customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + } + ]; + + // Immutable. The linked FeedItem. + string feed_item = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The linked FeedItemSet. + string feed_item_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_target.proto new file mode 100644 index 00000000..9bfacf16 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_item_target.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v10/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v10/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the FeedItemTarget resource. + +// A feed item target. +message FeedItemTarget { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemTarget" + pattern: "customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}" + }; + + // Immutable. The resource name of the feed item target. + // Feed item target resource names have the form: + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; + + // Immutable. The feed item to which this feed item target belongs. + optional string feed_item = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v10.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the targeted resource. This field is read-only. + optional int64 feed_item_target_id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the feed item target. + // This field is read-only. + google.ads.googleads.v10.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The targeted resource. + oneof target { + // Immutable. The targeted campaign. + string campaign = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The targeted ad group. + string ad_group = 15 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The targeted keyword. + google.ads.googleads.v10.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted geo target constant resource name. + string geo_target_constant = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Immutable. The targeted device. + google.ads.googleads.v10.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v10.common.AdScheduleInfo ad_schedule = 10 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_mapping.proto new file mode 100644 index 00000000..37ee7cee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_mapping.proto @@ -0,0 +1,188 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v10/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v10/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v10/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v10/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/ads/googleads/v10/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v10/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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.v10.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 (i.e., if the mapping maps feed + // attributes to placeholder fields). + google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The criterion type of this mapping (i.e., if the mapping maps feed + // attributes to criterion fields). + google.ads.googleads.v10.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.v10.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v10.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v10.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v10.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.v10.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v10.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v10.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v10.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v10.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v10.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v10.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v10.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v10.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v10.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v10.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v10.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v10.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v10.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v10.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v10.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v10.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v10.enums.ImagePlaceholderFieldEnum.ImagePlaceholderField image_field = 26 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/feed_placeholder_view.proto new file mode 100644 index 00000000..30226139 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/feed_placeholder_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the FeedPlaceholderView resource. + +// A feed placeholder view. +message FeedPlaceholderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + pattern: "customers/{customer_id}/feedPlaceholderViews/{placeholder_type}" + }; + + // Output only. The resource name of the feed placeholder view. + // Feed placeholder view resource names have the form: + // + // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; + + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v10.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/gender_view.proto new file mode 100644 index 00000000..519f169d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/gender_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the gender view resource. + +// A gender view. +message GenderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GenderView" + pattern: "customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the gender view. + // Gender view resource names have the form: + // + // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/geo_target_constant.proto new file mode 100644 index 00000000..02f4b76f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/geo_target_constant.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeoTargetConstant" + pattern: "geoTargetConstants/{criterion_id}" + }; + + // Output only. The resource name of the geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{geo_target_constant_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The ID of the geo target constant. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant English name. + optional string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + optional string country_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant target type. + optional string target_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant status. + google.ads.googleads.v10.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fully qualified English name, consisting of the target's name and that + // of its parent and country. + optional string canonical_name = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the parent geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{parent_geo_target_constant_id}` + optional string parent_geo_target = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/geographic_view.proto new file mode 100644 index 00000000..10366267 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/geographic_view.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the geographic view resource. + +// A geographic view. +// +// Geographic View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at either actual physical location of +// the user or an area of interest. If other segment fields are used, you may +// get more than one row per country. +message GeographicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeographicView" + pattern: "customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}" + }; + + // Output only. The resource name of the geographic view. + // Geographic view resource names have the form: + // + // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; + + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v10.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v10/resources/google_ads_field.proto new file mode 100644 index 00000000..84956dc3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/google_ads_field.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v10/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Google Ads Field resource. + +// A field or resource (artifact) used by GoogleAdsService. +message GoogleAdsField { + option (google.api.resource) = { + type: "googleads.googleapis.com/GoogleAdsField" + pattern: "googleAdsFields/{google_ads_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `googleAdsFields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. + google.ads.googleads.v10.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a SELECT clause in search + // queries. + optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a WHERE clause in search + // queries. + optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a ORDER BY clause in search + // queries. + optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources, segments, and metrics that are selectable with + // the described artifact. + repeated string selectable_with = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources that are selectable with the described + // artifact. Fields from these resources do not segment metrics when included + // in search queries. + // + // This field is only set for artifacts whose category is RESOURCE. + repeated string attribute_resources = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all metrics that are selectable with the + // described artifact when it is used in the FROM clause. + // It is only set for artifacts whose category is RESOURCE. + repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all artifacts, whether a segment or another + // resource, that segment metrics when included in search queries and when the + // described artifact is used in the FROM clause. It is only set for artifacts + // whose category is RESOURCE. + repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Values the artifact can assume if it is a field of type ENUM. + // + // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.googleads.v10.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of proto describing the artifact's data type. + optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the field artifact is repeated. + optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/group_placement_view.proto new file mode 100644 index 00000000..830681df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/group_placement_view.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the group placement view resource. + +// A group placement view. +message GroupPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GroupPlacementView" + pattern: "customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the group placement view. + // Group placement view resource names have the form: + // + // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; + + // Output only. The automatic placement string at group level, e. g. web domain, mobile + // app ID, or a YouTube channel ID. + optional string placement = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Domain name for websites and YouTube channel name for YouTube channels. + optional string display_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, e.g. 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, e.g. Website, YouTube Channel, Mobile Application. + google.ads.googleads.v10.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_group_view.proto new file mode 100644 index 00000000..0c6c5778 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the hotel group view resource. + +// A hotel group view. +message HotelGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelGroupView" + pattern: "customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the hotel group view. + // Hotel Group view resource names have the form: + // + // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_performance_view.proto new file mode 100644 index 00000000..c4a81293 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_performance_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the hotel performance view resource. + +// A hotel performance view. +message HotelPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelPerformanceView" + pattern: "customers/{customer_id}/hotelPerformanceView" + }; + + // Output only. The resource name of the hotel performance view. + // Hotel performance view resource names have the form: + // + // `customers/{customer_id}/hotelPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/hotel_reconciliation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_reconciliation.proto new file mode 100644 index 00000000..1d9e7d96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/hotel_reconciliation.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the hotel reconciliation resource. + +// A hotel reconciliation. It contains conversion information from Hotel +// bookings to reconcile with advertiser records. These rows may be updated +// or canceled before billing via Bulk Uploads. +message HotelReconciliation { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelReconciliation" + pattern: "customers/{customer_id}/hotelReconciliations/{commission_id}" + }; + + // Immutable. The resource name of the hotel reconciliation. + // Hotel reconciliation resource names have the form: + // + // `customers/{customer_id}/hotelReconciliations/{commission_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelReconciliation" + } + ]; + + // Required. Output only. The commission ID is Google's ID for this booking. Every booking event is + // assigned a Commission ID to help you match it to a guest stay. + string commission_id = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. The order ID is the identifier for this booking as provided in the + // 'transaction_id' parameter of the conversion tracking tag. + string order_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name for the Campaign associated with the conversion. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Identifier for the Hotel Center account which provides the rates for the + // Hotel campaign. + int64 hotel_center_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier for the booked property, as provided in the Hotel Center + // feed. The hotel ID comes from the 'ID' parameter of the conversion tracking + // tag. + string hotel_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-in date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_in_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-out date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_out_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If + // original booking value changes for any reason, such as itinerary changes or + // room upsells, the reconciled value should be the full final amount + // collected. If a booking is canceled, the reconciled value should include + // the value of any cancellation fees or non-refundable nights charged. Value + // is in millionths of the base unit currency. For example, $12.35 would be + // represented as 12350000. Currency unit is in the default customer currency. + int64 reconciled_value_micros = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Whether a given booking has been billed. Once billed, a booking can't be + // modified. + bool billed = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Current status of a booking with regards to reconciliation and billing. + // Bookings should be reconciled within 45 days after the check-out date. + // Any booking not reconciled within 45 days will be billed at its original + // value. + google.ads.googleads.v10.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/income_range_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/income_range_view.proto new file mode 100644 index 00000000..211cf3f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/income_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the income range view resource. + +// An income range view. +message IncomeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/IncomeRangeView" + pattern: "customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the income range view. + // Income range view resource names have the form: + // + // `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/IncomeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/invoice.proto b/google-cloud/protos/google/ads/googleads/v10/resources/invoice.proto new file mode 100644 index 00000000..c914f1c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/invoice.proto @@ -0,0 +1,202 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/dates.proto"; +import "google/ads/googleads/v10/enums/invoice_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 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.v10.common.DateRange billable_activity_date_range = 9 [(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.v10.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, e.g. "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, e.g. "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.v10.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, in micros. This equals the + // sum of the AccountBudgetSummary subtotal amounts, + // Invoice.adjustments_subtotal_amount_micros, and + // Invoice.regulatory_costs_subtotal_amount_micros. + // Starting with v6, the Invoice.regulatory_costs_subtotal_amount_micros is no + // longer included. + 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 and Invoice.tax_amount_micros. + // Starting with v6, Invoice.regulatory_costs_subtotal_amount_micros is + // also added as it is no longer already included in + // Invoice.tax_amount_micros. + 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan.proto new file mode 100644 index 00000000..6e381b31 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/dates.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword plan resource. + +// A Keyword Planner plan. +// Max number of saved keyword plans: 10000. +// It's possible to remove plans if limit is reached. +message KeywordPlan { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlan" + pattern: "customers/{customer_id}/keywordPlans/{keyword_plan_id}" + }; + + // Immutable. The resource name of the Keyword Planner plan. + // KeywordPlan resource names have the form: + // + // `customers/{customer_id}/keywordPlans/{kp_plan_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // Output only. The ID of the keyword plan. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan. + // + // This field is required and should not be empty when creating new keyword + // plans. + optional string name = 6; + + // The date period used for forecasting the plan. + KeywordPlanForecastPeriod forecast_period = 4; +} + +// The forecasting period associated with the keyword plan. +message KeywordPlanForecastPeriod { + // Required. The date used for forecasting the Plan. + oneof interval { + // A future date range relative to the current date used for forecasting. + google.ads.googleads.v10.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; + + // The custom date range used for forecasting. + // The start and end dates must be in the future. Otherwise, an error will + // be returned when the forecasting action is performed. + // The start and end dates are inclusive. + google.ads.googleads.v10.common.DateRange date_range = 2; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group.proto new file mode 100644 index 00000000..f0e36f5f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword plan ad group resource. + +// A Keyword Planner ad group. +// Max number of keyword plan ad groups per plan: 200. +message KeywordPlanAdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + pattern: "customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}" + }; + + // Immutable. The resource name of the Keyword Planner ad group. + // KeywordPlanAdGroup resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; + + // The keyword plan campaign to which this ad group belongs. + optional string keyword_plan_campaign = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the keyword plan ad group. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan ad group. + // + // This field is required and should not be empty when creating keyword plan + // ad group. + optional string name = 8; + + // A default ad group max cpc bid in micros in account currency for all + // biddable keywords under the keyword plan ad group. + // If not set, will inherit from parent campaign. + optional int64 cpc_bid_micros = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 00000000..578337f5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword plan ad group keyword resource. + +// A Keyword Plan ad group keyword. +// Max number of keyword plan keywords per plan: 10000. +message KeywordPlanAdGroupKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + pattern: "customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan ad group keyword. + // KeywordPlanAdGroupKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; + + // The Keyword Plan ad group to which this keyword belongs. + optional string keyword_plan_ad_group = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + + // Output only. The ID of the Keyword Plan keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v10.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // A keyword level max cpc bid in micros (e.g. $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/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign.proto new file mode 100644 index 00000000..e53e2dfd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword plan campaign resource. + +// A Keyword Plan campaign. +// Max number of keyword plan campaigns per plan allowed: 1. +message KeywordPlanCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + pattern: "customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}" + }; + + // Immutable. The resource name of the Keyword Plan campaign. + // KeywordPlanCampaign resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; + + // The keyword plan this campaign belongs to. + optional string keyword_plan = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + + // Output only. The ID of the Keyword Plan campaign. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the Keyword Plan campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional string name = 11; + + // The languages targeted for the Keyword Plan campaign. + // Max allowed: 1. + repeated string language_constants = 12 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; + + // Targeting network. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + google.ads.googleads.v10.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; + + // A default max cpc bid in micros, and in the account currency, for all ad + // groups under the campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional int64 cpc_bid_micros = 13; + + // The geo targets. + // Max number allowed: 20. + repeated KeywordPlanGeoTarget geo_targets = 8; +} + +// A geo target. +message KeywordPlanGeoTarget { + // Required. The resource name of the geo target. + optional string geo_target_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 00000000..33a539a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword plan negative keyword resource. + +// A Keyword Plan Campaign keyword. +// Only negative keywords are supported for Campaign Keyword. +message KeywordPlanCampaignKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + pattern: "customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan Campaign keyword. + // KeywordPlanCampaignKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; + + // The Keyword Plan campaign to which this negative keyword belongs. + optional string keyword_plan_campaign = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the Keyword Plan negative keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v10.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // Immutable. If true, the keyword is negative. + // Must be set to true. Only negative campaign keywords are supported. + optional bool negative = 11 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_theme_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_theme_constant.proto new file mode 100644 index 00000000..ab85f7bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_theme_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Smart Campaign keyword theme constant resource. + +// A Smart Campaign keyword theme constant. +message KeywordThemeConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + pattern: "keywordThemeConstants/{express_category_id}~{express_sub_category_id}" + }; + + // Output only. The resource name of the keyword theme constant. + // Keyword theme constant resource names have the form: + // + // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + } + ]; + + // Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string language_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the keyword theme or sub keyword theme. + optional string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_view.proto new file mode 100644 index 00000000..b4fa7de5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the keyword view resource. + +// A keyword view. +message KeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordView" + pattern: "customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the keyword view. + // Keyword view resource names have the form: + // + // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/label.proto b/google-cloud/protos/google/ads/googleads/v10/resources/label.proto new file mode 100644 index 00000000..dcc68f77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/text_label.proto"; +import "google/ads/googleads/v10/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A label. +message Label { + option (google.api.resource) = { + type: "googleads.googleapis.com/Label" + pattern: "customers/{customer_id}/labels/{label_id}" + }; + + // Immutable. Name of the resource. + // Label resource names have the form: + // `customers/{customer_id}/labels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. Id of the label. Read only. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the label. + // + // This field is required and should not be empty when creating a new label. + // + // The length of this string should be between 1 and 80, inclusive. + optional string name = 7; + + // Output only. Status of the label. Read only. + google.ads.googleads.v10.enums.LabelStatusEnum.LabelStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v10.common.TextLabel text_label = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/landing_page_view.proto new file mode 100644 index 00000000..ae0365f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the landing page view resource. + +// A landing page view with metrics aggregated at the unexpanded final URL +// level. +message LandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LandingPageView" + pattern: "customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the landing page view. + // Landing page view resource names have the form: + // + // `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; + + // Output only. The advertiser-specified final URL. + optional string unexpanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/language_constant.proto new file mode 100644 index 00000000..c0ba053a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/language_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the language constant resource. + +// A language. +message LanguageConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/LanguageConstant" + pattern: "languageConstants/{criterion_id}" + }; + + // Output only. The resource name of the language constant. + // Language constant resource names have the form: + // + // `languageConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; + + // Output only. The ID of the language constant. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code, e.g. "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, e.g., "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/google-cloud/protos/google/ads/googleads/v10/resources/lead_form_submission_data.proto b/google-cloud/protos/google/ads/googleads/v10/resources/lead_form_submission_data.proto new file mode 100644 index 00000000..2249ceb4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/lead_form_submission_data.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/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.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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. 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", e.g. "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.v10.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/life_event.proto b/google-cloud/protos/google/ads/googleads/v10/resources/life_event.proto new file mode 100644 index 00000000..efe8bc01 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/life_event.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Life Event resource. + +// A life event: a particular interest-based vertical to be targeted to reach +// users when they are in the midst of important life milestones. +message LifeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/LifeEvent" + pattern: "customers/{customer_id}/lifeEvents/{life_event_id}" + }; + + // Output only. The resource name of the life event. + // Life event resource names have the form: + // + // `customers/{customer_id}/lifeEvents/{life_event_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. The ID of the life event. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the life event. E.g.,"Recently Moved" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the life_event. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. True if the life event is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the life event. + repeated google.ads.googleads.v10.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/location_view.proto new file mode 100644 index 00000000..7da30fac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/location_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the location view resource. + +// A location view summarizes the performance of campaigns by +// Location criteria. +message LocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocationView" + pattern: "customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the location view. + // Location view resource names have the form: + // + // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/managed_placement_view.proto new file mode 100644 index 00000000..18afabba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/managed_placement_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Managed Placement view resource. + +// A managed placement view. +message ManagedPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ManagedPlacementView" + pattern: "customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the Managed Placement view. + // Managed placement view resource names have the form: + // + // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v10/resources/media_file.proto new file mode 100644 index 00000000..e7f6d5dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/media_file.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/media_type.proto"; +import "google/ads/googleads/v10/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the media file resource. + +// A media file. +message MediaFile { + option (google.api.resource) = { + type: "googleads.googleapis.com/MediaFile" + pattern: "customers/{customer_id}/mediaFiles/{media_file_id}" + }; + + // Immutable. The resource name of the media file. + // Media file resource names have the form: + // + // `customers/{customer_id}/mediaFiles/{media_file_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; + + // Output only. The ID of the media file. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of the media file. + google.ads.googleads.v10.enums.MediaTypeEnum.MediaType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v10.enums.MimeTypeEnum.MimeType mime_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The URL of where the original media file was downloaded from (or a file + // name). Only used for media of type AUDIO and IMAGE. + optional string source_url = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The name of the media file. The name can be used by clients to help + // identify previously uploaded media. + optional string name = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The size of the media file in bytes. + optional int64 file_size = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the media file. + oneof mediatype { + // Immutable. Encapsulates an Image. + MediaImage image = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A ZIP archive media the content of which contains HTML5 assets. + MediaBundle media_bundle = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Encapsulates an Audio. + MediaAudio audio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Encapsulates a Video. + MediaVideo video = 11 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Encapsulates an Image. +message MediaImage { + // Immutable. Raw image data. + optional bytes data = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to the full size version of the image. + optional string full_size_image_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The url to the preview size version of the image. + optional string preview_size_image_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents a ZIP archive media the content of which contains HTML5 assets. +message MediaBundle { + // Immutable. Raw zipped data. + optional bytes data = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to access the uploaded zipped data. + // E.g. 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/google-cloud/protos/google/ads/googleads/v10/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/merchant_center_link.proto new file mode 100644 index 00000000..f23a16f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/merchant_center_link.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// 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. + google.ads.googleads.v10.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/mobile_app_category_constant.proto new file mode 100644 index 00000000..5a20d3d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/mobile_app_category_constant.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Mobile App Category Constant resource. + +// A mobile application category constant. +message MobileAppCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + pattern: "mobileAppCategoryConstants/{mobile_app_category_id}" + }; + + // Output only. The resource name of the mobile app category constant. + // Mobile app category constant resource names have the form: + // + // `mobileAppCategoryConstants/{mobile_app_category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; + + // Output only. The ID of the mobile app category constant. + optional int32 id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mobile app category name. + optional string name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/mobile_device_constant.proto new file mode 100644 index 00000000..fe2dcee9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/mobile_device_constant.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the mobile device constant resource. + +// A mobile device constant. +message MobileDeviceConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + pattern: "mobileDeviceConstants/{criterion_id}" + }; + + // Output only. The resource name of the mobile device constant. + // Mobile device constant resource names have the form: + // + // `mobileDeviceConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; + + // Output only. The ID of the mobile device constant. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the mobile device. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The manufacturer of the mobile device. + optional string manufacturer_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operating system of the mobile device. + optional string operating_system_name = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of mobile device. + google.ads.googleads.v10.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/offline_user_data_job.proto b/google-cloud/protos/google/ads/googleads/v10/resources/offline_user_data_job.proto new file mode 100644 index 00000000..d00f61fb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/offline_user_data_job.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/offline_user_data.proto"; +import "google/ads/googleads/v10/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v10/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v10/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v10/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the offline user data job resource. + +// A job containing offline user data of store visitors, or user list members +// that will be processed asynchronously. The uploaded data isn't readable and +// the processing results of the job can only be read using +// GoogleAdsService.Search/SearchStream. +message OfflineUserDataJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + pattern: "customers/{customer_id}/offlineUserDataJobs/{offline_user_data_update_id}" + }; + + // Immutable. The resource name of the offline user data job. + // Offline user data job resource names have the form: + // + // `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // Output only. ID of this offline user data job. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. User specified job ID. + optional int64 external_id = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Type of the job. + google.ads.googleads.v10.enums.OfflineUserDataJobTypeEnum.OfflineUserDataJobType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v10.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.v10.enums.OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason failure_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata of offline user data job depicting match rate range. + OfflineUserDataJobMetadata operation_metadata = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata of the job. + oneof metadata { + // Immutable. Metadata for data updates to a CRM-based user list. + google.ads.googleads.v10.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v10.common.StoreSalesMetadata store_sales_metadata = 8 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { + // Output only. Match rate of the Customer Match user list upload. Describes the estimated + // match rate when the status of the job is "RUNNING" and final match rate + // when the final match rate is available after the status of the job is + // "SUCCESS/FAILED". + google.ads.googleads.v10.enums.OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange match_rate_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/operating_system_version_constant.proto new file mode 100644 index 00000000..98165ec9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/operating_system_version_constant.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the operating system version constant resource. + +// A mobile operating system version or a range of versions, depending on +// `operator_type`. List of available mobile platforms at +// https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms +message OperatingSystemVersionConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + pattern: "operatingSystemVersionConstants/{criterion_id}" + }; + + // Output only. The resource name of the operating system version constant. + // Operating system version constant resource names have the form: + // + // `operatingSystemVersionConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; + + // Output only. The ID of the operating system version. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the operating system. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Major Version number. + optional int32 os_major_version = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Minor Version number. + optional int32 os_minor_version = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines whether this constant represents a single version or a range of + // versions. + google.ads.googleads.v10.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/paid_organic_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/paid_organic_search_term_view.proto new file mode 100644 index 00000000..2dd6d606 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/paid_organic_search_term_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the PaidOrganicSearchTermView resource. + +// A paid organic search term view providing a view of search stats across +// ads and organic listings aggregated by search term at the ad group level. +message PaidOrganicSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + pattern: "customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~{ad_group_id}~{base64_search_term}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ + // {ad_group_id}~{URL-base64 search term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/parental_status_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/parental_status_view.proto new file mode 100644 index 00000000..e06c5732 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/parental_status_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the parental status view resource. + +// A parental status view. +message ParentalStatusView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ParentalStatusView" + pattern: "customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the parental status view. + // Parental Status view resource names have the form: + // + // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/payments_account.proto b/google-cloud/protos/google/ads/googleads/v10/resources/payments_account.proto new file mode 100644 index 00000000..c4da0d41 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/payments_account.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the PaymentsAccount resource. + +// A payments account, which can be used to set up billing for an Ads customer. +message PaymentsAccount { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaymentsAccount" + pattern: "customers/{customer_id}/paymentsAccounts/{payments_account_id}" + }; + + // Output only. The resource name of the payments account. + // PaymentsAccount resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Output only. A 16 digit ID used to identify a payments account. + optional string payments_account_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the payments account. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The currency code of the payments account. + // A subset of the currency codes derived from the ISO 4217 standard is + // supported. + optional string currency_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 12 digit ID used to identify the payments profile associated with the + // payments account. + optional string payments_profile_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile ID present in uncommon situations, e.g. + // 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/google-cloud/protos/google/ads/googleads/v10/resources/product_bidding_category_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/product_bidding_category_constant.proto new file mode 100644 index 00000000..3785cdf0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/product_bidding_category_constant.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v10/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// 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. + google.ads.googleads.v10.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. + google.ads.googleads.v10.enums.ProductBiddingCategoryStatusEnum.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/google-cloud/protos/google/ads/googleads/v10/resources/product_group_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/product_group_view.proto new file mode 100644 index 00000000..f7e266fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/product_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ProductGroup View resource. + +// A product group view. +message ProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductGroupView" + pattern: "customers/{customer_id}/productGroupViews/{adgroup_id}~{criterion_id}" + }; + + // Output only. The resource name of the product group view. + // Product group view resource names have the form: + // + // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/recommendation.proto b/google-cloud/protos/google/ads/googleads/v10/resources/recommendation.proto new file mode 100644 index 00000000..076ce11b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/recommendation.proto @@ -0,0 +1,386 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/common/extensions.proto"; +import "google/ads/googleads/v10/enums/keyword_match_type.proto"; +import "google/ads/googleads/v10/enums/recommendation_type.proto"; +import "google/ads/googleads/v10/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v10/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::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 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 { + // Output only. The recommended keyword. + google.ads.googleads.v10.common.KeywordInfo keyword = 1 [(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, e.g., 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, e.g., 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.v10.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 extension recommendation. + message CalloutExtensionRecommendation { + // Output only. Callout extensions recommended to be added. + repeated google.ads.googleads.v10.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v10.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v10.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v10.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v10.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 = 1 [(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 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.v10.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]; + } + + // 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.v10.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 will be set only when + // the recommendation affects a single campaign. + // + // 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, + // MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, + // RESPONSIVE_SEARCH_AD, RESPONSIVE_SEARCH_AD_ASSET, SEARCH_PARTNERS_OPT_IN, + // SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD + 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]; + + // 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 Callout extension recommendation. + CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Sitelink extension recommendation. + SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Call extension recommendation. + CallExtensionRecommendation call_extension_recommendation = 19 [(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 add responsive search ad asset recommendation. + ResponsiveSearchAdAssetRecommendation responsive_search_ad_asset_recommendation = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/remarketing_action.proto b/google-cloud/protos/google/ads/googleads/v10/resources/remarketing_action.proto new file mode 100644 index 00000000..231e6bf4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/remarketing_action.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Remarketing Action resource. + +// A remarketing action. A snippet of JavaScript code that will collect the +// product id and the type of page people visited (product page, shopping cart +// page, purchase page, general site visit) on an advertiser's website. +message RemarketingAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/RemarketingAction" + pattern: "customers/{customer_id}/remarketingActions/{remarketing_action_id}" + }; + + // Immutable. The resource name of the remarketing action. + // Remarketing action resource names have the form: + // + // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; + + // Output only. Id of the remarketing action. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the remarketing action. + // + // This field is required and should not be empty when creating new + // remarketing actions. + optional string name = 6; + + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v10.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/search_term_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/search_term_view.proto new file mode 100644 index 00000000..ffc46cd9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/search_term_view.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the SearchTermView resource. + +// A search term view with metrics aggregated by search term at the ad group +// level. +message SearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SearchTermView" + pattern: "customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{query}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group the search term served in. + optional string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Indicates whether the search term is currently one of your + // targeted or excluded keywords. + google.ads.googleads.v10.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/shared_criterion.proto b/google-cloud/protos/google/ads/googleads/v10/resources/shared_criterion.proto new file mode 100644 index 00000000..4d70c8e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/shared_criterion.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the SharedCriterion resource. + +// A criterion belonging to a shared set. +message SharedCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedCriterion" + pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}" + }; + + // Immutable. The resource name of the shared criterion. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; + + // Immutable. The shared set to which the shared criterion belongs. + optional string shared_set = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v10.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v10.common.KeywordInfo keyword = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v10.common.YouTubeVideoInfo youtube_video = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v10.common.YouTubeChannelInfo youtube_channel = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v10.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v10.common.MobileAppCategoryInfo mobile_app_category = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v10.common.MobileApplicationInfo mobile_application = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/shared_set.proto b/google-cloud/protos/google/ads/googleads/v10/resources/shared_set.proto new file mode 100644 index 00000000..70c75ec8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/shared_set.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/enums/shared_set_status.proto"; +import "google/ads/googleads/v10/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the SharedSet resource. + +// SharedSets are used for sharing criterion exclusions across multiple +// campaigns. +message SharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedSet" + pattern: "customers/{customer_id}/sharedSets/{shared_set_id}" + }; + + // Immutable. The resource name of the shared set. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of this shared set. Read only. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of this shared set: each shared set holds only a single kind + // of resource. Required. Immutable. + google.ads.googleads.v10.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // The name of this shared set. Required. + // Shared Sets must have names that are unique among active shared sets of + // the same type. + // The length of this string should be between 1 and 255 UTF-8 bytes, + // inclusive. + optional string name = 9; + + // Output only. The status of this shared set. Read only. + google.ads.googleads.v10.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shared criteria within this shared set. Read only. + optional int64 member_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns associated with this shared set. Read only. + optional int64 reference_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/shopping_performance_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/shopping_performance_view.proto new file mode 100644 index 00000000..e9a74052 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/shopping_performance_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the ShoppingPerformanceView resource. + +// Shopping performance view. +// Provides Shopping campaign statistics aggregated at several product dimension +// levels. Product dimension values from Merchant Center such as brand, +// category, custom attributes, product condition and product type will reflect +// the state of each dimension as of the date and time when the corresponding +// event was recorded. +message ShoppingPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + pattern: "customers/{customer_id}/shoppingPerformanceView" + }; + + // Output only. The resource name of the Shopping performance view. + // Shopping performance view resource names have the form: + // `customers/{customer_id}/shoppingPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_search_term_view.proto new file mode 100644 index 00000000..84b67a3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the SmartCampaignSearchTermView resource. + +// A Smart campaign search term view. +message SmartCampaignSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + pattern: "customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{query}" + }; + + // Output only. The resource name of the Smart campaign search term view. + // Smart campaign search term view resource names have the form: + // + // `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + } + ]; + + // Output only. The search term. + string search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Smart campaign the search term served in. + string campaign = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_setting.proto b/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_setting.proto new file mode 100644 index 00000000..677b8329 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/smart_campaign_setting.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Smart campaign setting resource. + +// Settings for configuring Smart campaigns. +message SmartCampaignSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + pattern: "customers/{customer_id}/smartCampaignSettings/{campaign_id}" + }; + + // Phone number and country code in smart campaign settings. + message PhoneNumber { + // Phone number of the smart campaign. + optional string phone_number = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. + optional string country_code = 2; + } + + // 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; + + // Landing page url given by user for this Campaign. + string final_url = 4; + + // The ISO-639-1 language code to advertise in. + string advertising_language_code = 7; + + // The business setting of this campaign. + oneof business_setting { + // The name of the business. + string business_name = 5; + + // The ID of the Business Profile location. + // The location ID can be fetched by Business Profile API with its form: + // accounts/{accountId}/locations/{locationId}. The last {locationId} + // component from the Business Profile API represents the + // business_location_id. See the [Business Profile API] + // (https://developers.google.com/my-business/reference/rest/v4/accounts.locations) + int64 business_location_id = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/third_party_app_analytics_link.proto b/google-cloud/protos/google/ads/googleads/v10/resources/third_party_app_analytics_link.proto new file mode 100644 index 00000000..fd92680a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/third_party_app_analytics_link.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// A data sharing connection, allowing the import of third party app analytics +// into a Google Ads Customer. +message ThirdPartyAppAnalyticsLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + pattern: "customers/{customer_id}/thirdPartyAppAnalyticsLinks/{customer_link_id}" + }; + + // Immutable. The resource name of the third party app analytics link. + // Third party app analytics link resource names have the form: + // + // `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + } + ]; + + // Output only. The shareable link ID that should be provided to the third party when + // setting up app analytics. This is able to be regenerated using regenerate + // method in the ThirdPartyAppAnalyticsLinkService. + optional string shareable_link_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/topic_constant.proto b/google-cloud/protos/google/ads/googleads/v10/resources/topic_constant.proto new file mode 100644 index 00000000..052e097c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/topic_constant.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the Topic Constant resource. + +// Use topics to target or exclude placements in the Google Display Network +// based on the category into which the placement falls (for example, +// "Pets & Animals/Pets/Dogs"). +message TopicConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicConstant" + pattern: "topicConstants/{topic_id}" + }; + + // Output only. The resource name of the topic constant. + // topic constant resource names have the form: + // + // `topicConstants/{topic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The ID of the topic. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of parent of the topic constant. + optional string topic_constant_parent = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // {"Pets & Animals", "Pets", "Dogs"} represents the + // "Pets & Animals/Pets/Dogs" category. List of available topic categories at + // https://developers.google.com/adwords/api/docs/appendix/verticals + repeated string path = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/topic_view.proto new file mode 100644 index 00000000..aead6be6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/topic_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the topic view resource. + +// A topic view. +message TopicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicView" + pattern: "customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the topic view. + // Topic view resource names have the form: + // + // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v10/resources/user_interest.proto new file mode 100644 index 00000000..af352355 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/user_interest.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/criterion_category_availability.proto"; +import "google/ads/googleads/v10/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the User Interest resource. + +// A user interest: a particular interest-based vertical to be targeted. +message UserInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserInterest" + pattern: "customers/{customer_id}/userInterests/{user_interest_id}" + }; + + // Output only. The resource name of the user interest. + // User interest resource names have the form: + // + // `customers/{customer_id}/userInterests/{user_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v10.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the user interest. + optional int64 user_interest_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the user interest. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the user interest. + optional string user_interest_parent = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. True if the user interest is launched to all channels and locales. + optional bool launched_to_all = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v10.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v10/resources/user_list.proto new file mode 100644 index 00000000..4fb4ea0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/user_list.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v10.resources; + +import "google/ads/googleads/v10/common/user_lists.proto"; +import "google/ads/googleads/v10/enums/access_reason.proto"; +import "google/ads/googleads/v10/enums/user_list_access_status.proto"; +import "google/ads/googleads/v10/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v10/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v10/enums/user_list_size_range.proto"; +import "google/ads/googleads/v10/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the User List resource. + +// A user list. This is a list of users a customer may target. +message UserList { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserList" + pattern: "customers/{customer_id}/userLists/{user_list_id}" + }; + + // Immutable. The resource name of the user list. + // User list resource names have the form: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A flag 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 (e.g. if access_reason=SHARED) + optional string name = 27; + + // Description of this user list. + optional string description = 28; + + // Membership status of this user list. Indicates whether a user list is open + // or active. Only open user lists can accumulate more users and can be + // targeted to. + google.ads.googleads.v10.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; + + // An ID from external system. It is used by user list sellers to correlate + // IDs on their systems. + optional string integration_code = 29; + + // Number of days a user's cookie stays on your list since its most recent + // addition to the list. This field must be between 0 and 540 inclusive. + // However, for CRM based userlists, this field can be set to 10000 which + // means no expiration. + // + // 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.v10.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.v10.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.googleads.v10.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicating the reason why this user list membership status is closed. It is + // only populated on lists that were automatically closed due to inactivity, + // and will be cleared once the list membership status becomes open. + google.ads.googleads.v10.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; + + // Output only. Indicates the reason this account has been granted access to the list. + // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. + // + // This field is read-only. + google.ads.googleads.v10.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicates if this share is still enabled. When a UserList is shared with + // the user this field is set to ENABLED. Later the userList owner can decide + // to revoke the share and make it DISABLED. + // The default value of this field is set to ENABLED. + google.ads.googleads.v10.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; + + // Indicates if this user list is eligible for Google Search Network. + optional bool eligible_for_search = 33; + + // Output only. Indicates this user list is eligible for Google Display Network. + // + // This field is read-only. + optional bool eligible_for_display = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates match rate for Customer Match lists. The range of this field is + // [0-100]. This will be null for other list types or when it's not possible + // to calculate the match rate. + // + // This field is read-only. + optional int32 match_rate_percentage = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user list. + // + // Exactly one must be set. + oneof user_list { + // User list of CRM users provided by the advertiser. + google.ads.googleads.v10.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.v10.common.SimilarUserListInfo similar_user_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v10.common.RuleBasedUserListInfo rule_based_user_list = 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v10.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v10.common.BasicUserListInfo basic_user_list = 23; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/user_location_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/user_location_view.proto new file mode 100644 index 00000000..9ca210fb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/user_location_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the user location view resource. + +// A user location view. +// +// User Location View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at the actual physical location of +// the user by targeted or not targeted location. If other segment fields are +// used, you may get more than one row per country. +message UserLocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserLocationView" + pattern: "customers/{customer_id}/userLocationViews/{country_criterion_id}~{is_targeting_location}" + }; + + // Output only. The resource name of the user location view. + // UserLocation view resource names have the form: + // + // `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether location was targeted or not. + optional bool targeting_location = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/video.proto b/google-cloud/protos/google/ads/googleads/v10/resources/video.proto new file mode 100644 index 00000000..64a7d0bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/video.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the video resource. + +// A video. +message Video { + option (google.api.resource) = { + type: "googleads.googleapis.com/Video" + pattern: "customers/{customer_id}/videos/{video_id}" + }; + + // Output only. The resource name of the video. + // Video resource names have the form: + // + // `customers/{customer_id}/videos/{video_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Video" + } + ]; + + // Output only. The ID of the video. + optional string id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The owner channel id of the video. + optional string channel_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The duration of the video in milliseconds. + optional int64 duration_millis = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The title of the video. + optional string title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/resources/webpage_view.proto b/google-cloud/protos/google/ads/googleads/v10/resources/webpage_view.proto new file mode 100644 index 00000000..9c7b7366 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/resources/webpage_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v10.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v10.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V10::Resources"; + +// Proto file describing the webpage view resource. + +// A webpage view. +message WebpageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/WebpageView" + pattern: "customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the webpage view. + // Webpage view resource names have the form: + // + // `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/WebpageView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v10/services/BUILD.bazel new file mode 100644 index 00000000..e66fe59a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/BUILD.bazel @@ -0,0 +1,138 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "services_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v10/common:common_proto", + "//google/ads/googleads/v10/enums:enums_proto", + "//google/ads/googleads/v10/errors:errors_proto", + "//google/ads/googleads/v10/resources:resources_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "services_proto_with_info", + deps = [ + ":services_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "services_java_proto", + deps = [":services_proto"], +) + +java_grpc_library( + name = "services_java_grpc", + srcs = [":services_proto"], + deps = [":services_java_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "services_csharp_proto", + deps = [":services_proto"], +) + +csharp_grpc_library( + name = "services_csharp_grpc", + srcs = [":services_proto"], + deps = [":services_csharp_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "services_ruby_proto", + deps = [":services_proto"], +) + +ruby_grpc_library( + name = "services_ruby_grpc", + srcs = [":services_proto"], + deps = [":services_ruby_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_grpc_library", + "py_proto_library", +) + +py_proto_library( + name = "services_py_proto", + deps = [":services_proto"], +) + +py_grpc_library( + name = "services_py_grpc", + srcs = [":services_proto"], + deps = [":services_py_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v10/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/account_budget_proposal_service.proto new file mode 100644 index 00000000..fd47d767 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/account_budget_proposal_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/account_budget_proposal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AccountBudgetProposal service. + +// A service for managing account-level budgets via proposals. +// +// A proposal is a request to create a new budget or make changes to an +// existing one. +// +// Mutates: +// The CREATE operation creates a new proposal. +// UPDATE operations aren't supported. +// The REMOVE operation cancels a pending proposal. +service AccountBudgetProposalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes account budget proposals. Operation statuses + // are returned. + // + // List of thrown errors: + // [AccountBudgetProposalError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/accountBudgetProposals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v10.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +message MutateAccountBudgetProposalRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual account-level budget proposal. + AccountBudgetProposalOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation to propose the creation of a new account-level budget or +// edit/end/remove an existing one. +message AccountBudgetProposalOperation { + // FieldMask that determines which budget fields are modified. While budgets + // may be modified, proposals that propose such modifications are final. + // Therefore, update operations are not supported for proposals. + // + // Proposals that modify budgets have the 'update' proposal type. Specifying + // a mask for any other proposal type is considered an error. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: A new proposal to create a new budget, edit an + // existing budget, end an actively running budget, or remove an approved + // budget scheduled to start in the future. + // No resource name is expected for the new proposal. + google.ads.googleads.v10.resources.AccountBudgetProposal create = 2; + + // Remove operation: A resource name for the removed proposal is expected, + // in this format: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + // A request may be cancelled iff it is pending. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; + } +} + +// Response message for account-level budget mutate operations. +message MutateAccountBudgetProposalResponse { + // The result of the mutate. + MutateAccountBudgetProposalResult result = 2; +} + +// The result for the account budget proposal mutate. +message MutateAccountBudgetProposalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/account_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/account_link_service.proto new file mode 100644 index 00000000..4ec6c56d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/account_link_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/account_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// This service allows management of links between Google Ads accounts and other +// accounts. +service AccountLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an account link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ThirdPartyAppAnalyticsLinkError]() + rpc CreateAccountLink(CreateAccountLinkRequest) returns (CreateAccountLinkResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/accountLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,account_link"; + } + + // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Please use + // AccountLinkService.CreateAccountLink instead. + // + // List of thrown errors: + // [AccountLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAccountLink(MutateAccountLinkRequest) returns (MutateAccountLinkResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/accountLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v10.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkRequest { + // Required. The ID of the customer for which the account link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account link to be created. + google.ads.googleads.v10.resources.AccountLink account_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v10.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkResponse { + // Returned for successful operations. Resource name of the account link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} + +// Request message for [AccountLinkService.MutateAccountLink][google.ads.googleads.v10.services.AccountLinkService.MutateAccountLink]. +message MutateAccountLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the link. + AccountLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single update on an account link. +message AccountLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The operation to perform. + oneof operation { + // Update operation: The account link is expected to have + // a valid resource name. + google.ads.googleads.v10.resources.AccountLink update = 2; + + // Remove operation: A resource name for the account link to remove is + // expected, in this format: + // + // `customers/{customer_id}/accountLinks/{account_link_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; + } +} + +// Response message for account link mutate. +message MutateAccountLinkResponse { + // Result for the mutate. + MutateAccountLinkResult result = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_label_service.proto new file mode 100644 index 00000000..a2f62385 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_label_service.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/ad_group_ad_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Ad Label service. + +// Service to manage labels on ad group ads. +service AdGroupAdLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group ad labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) returns (MutateAdGroupAdLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupAdLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v10.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +message MutateAdGroupAdLabelsRequest { + // Required. ID of the customer whose ad group ad labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group ad labels. + repeated AdGroupAdLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group ad label. +message AdGroupAdLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group ad + // label. + google.ads.googleads.v10.resources.AdGroupAdLabel create = 1; + + // Remove operation: A resource name for the ad group ad label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}_{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; + } +} + +// Response message for an ad group ad labels mutate. +message MutateAdGroupAdLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_service.proto new file mode 100644 index 00000000..4d0cb7b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_ad_service.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Ad service. + +// Service to manage ads in an ad group. +service AdGroupAdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ads. Operation statuses are returned. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyValidationParameterError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v10.services.AdGroupAdService.MutateAdGroupAds]. +message MutateAdGroupAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdGroupAdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group ad. +message AdGroupAdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // Configuration for how policies are validated. + google.ads.googleads.v10.common.PolicyValidationParameter policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. + google.ads.googleads.v10.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v10.resources.AdGroupAd update = 2; + + // Remove operation: A resource name for the removed ad is expected, + // in this format: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + } +} + +// Response message for an ad group ad mutate. +message MutateAdGroupAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdGroupAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + + // The mutated ad group ad with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupAd ad_group_ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_asset_service.proto new file mode 100644 index 00000000..eb484ab1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_asset_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AdGroupAsset service. + +// Service to manage ad group assets. +service AdGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAssets(MutateAdGroupAssetsRequest) returns (MutateAdGroupAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v10.services.AdGroupAssetService.MutateAdGroupAssets]. +message MutateAdGroupAssetsRequest { + // Required. The ID of the customer whose ad group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group assets. + repeated AdGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group asset. +message AdGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // asset. + google.ads.googleads.v10.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AdGroupAsset update = 3; + + // Remove operation: A resource name for the removed ad group asset is + // expected, in this format: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + } +} + +// Response message for an ad group asset mutate. +message MutateAdGroupAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateAdGroupAssetResult results = 2; +} + +// The result for the ad group asset mutate. +message MutateAdGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + + // The mutated ad group asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupAsset ad_group_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_bid_modifier_service.proto new file mode 100644 index 00000000..0df5cea6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Bid Modifier service. + +// Service to manage ad group bid modifiers. +service AdGroupBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupBidModifierError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v10.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +message MutateAdGroupBidModifiersRequest { + // Required. ID of the customer whose ad group bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group bid modifiers. + repeated AdGroupBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group bid modifier. +message AdGroupBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group bid + // modifier. + google.ads.googleads.v10.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.AdGroupBidModifier update = 2; + + // Remove operation: A resource name for the removed ad group bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + } +} + +// Response message for ad group bid modifiers mutate. +message MutateAdGroupBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + + // The mutated ad group bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupBidModifier ad_group_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 00000000..c0d5f62e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_customizer_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AdGroupCriterionCustomizer service. + +// Service to manage ad group criterion customizer +service AdGroupCriterionCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group criterion customizers. Operation + // statuses are returned. + rpc MutateAdGroupCriterionCustomizers(MutateAdGroupCriterionCustomizersRequest) returns (MutateAdGroupCriterionCustomizersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v10.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +message MutateAdGroupCriterionCustomizersRequest { + // Required. The ID of the customer whose ad group criterion customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group criterion + // customizers. + repeated AdGroupCriterionCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCriterionCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // criterion customizer. + google.ads.googleads.v10.resources.AdGroupCriterionCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group criterion + // customizer is expected, in this format: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + } +} + +// Response message for an ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCriterionCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + + // The mutated AdGroupCriterionCustomizer with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_label_service.proto new file mode 100644 index 00000000..92096d61 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/ad_group_criterion_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Criterion Label service. + +// Service to manage labels on ad group criteria. +service AdGroupCriterionLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group criterion labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) returns (MutateAdGroupCriterionLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v10.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +message MutateAdGroupCriterionLabelsRequest { + // Required. ID of the customer whose ad group criterion labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group criterion labels. + repeated AdGroupCriterionLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group criterion label. +message AdGroupCriterionLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v10.resources.AdGroupCriterionLabel create = 1; + + // Remove operation: A resource name for the ad group criterion label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; + } +} + +// Response message for an ad group criterion labels mutate. +message MutateAdGroupCriterionLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_service.proto new file mode 100644 index 00000000..1666fe0c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_criterion_service.proto @@ -0,0 +1,171 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Criterion service. + +// Service to manage ad group criteria. +service AdGroupCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupCriterionError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v10.services.AdGroupCriterionService.MutateAdGroupCriteria]. +message MutateAdGroupCriteriaRequest { + // Required. ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated AdGroupCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group criterion. +message AdGroupCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, please 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.v10.common.PolicyViolationKey exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v10.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AdGroupCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + } +} + +// Response message for an ad group criterion mutate. +message MutateAdGroupCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + + // The mutated ad group criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupCriterion ad_group_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_customizer_service.proto new file mode 100644 index 00000000..dd9740e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AdGroupCustomizer service. + +// Service to manage ad group customizer +service AdGroupCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group customizers. Operation statuses are + // returned. + rpc MutateAdGroupCustomizers(MutateAdGroupCustomizersRequest) returns (MutateAdGroupCustomizersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v10.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +message MutateAdGroupCustomizersRequest { + // Required. The ID of the customer whose ad group customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group customizers. + repeated AdGroupCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // customizer + google.ads.googleads.v10.resources.AdGroupCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group customizer is + // expected, in this format: + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + } +} + +// Response message for an ad group customizer mutate. +message MutateAdGroupCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group customizer mutate. +message MutateAdGroupCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + + // The mutated AdGroupCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupCustomizer ad_group_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_extension_setting_service.proto new file mode 100644 index 00000000..81d0dbc5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_extension_setting_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AdGroupExtensionSetting service. + +// Service to manage ad group extension settings. +service AdGroupExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) returns (MutateAdGroupExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v10.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +message MutateAdGroupExtensionSettingsRequest { + // Required. The ID of the customer whose ad group extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group extension + // settings. + repeated AdGroupExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on an ad group extension setting. +message AdGroupExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. + google.ads.googleads.v10.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.AdGroupExtensionSetting update = 2; + + // Remove operation: A resource name for the removed ad group extension + // setting is expected, in this format: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + } +} + +// Response message for an ad group extension setting mutate. +message MutateAdGroupExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupExtensionSettingResult results = 2; +} + +// The result for the ad group extension setting mutate. +message MutateAdGroupExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + + // The mutated AdGroupExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupExtensionSetting ad_group_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_feed_service.proto new file mode 100644 index 00000000..ede0b347 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AdGroupFeed service. + +// Service to manage ad group feeds. +service AdGroupFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdGroupFeedError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v10.services.AdGroupFeedService.MutateAdGroupFeeds]. +message MutateAdGroupFeedsRequest { + // Required. The ID of the customer whose ad group feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group feeds. + repeated AdGroupFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group feed. +message AdGroupFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group feed. + google.ads.googleads.v10.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AdGroupFeed update = 2; + + // Remove operation: A resource name for the removed ad group feed is + // expected, in this format: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + } +} + +// Response message for an ad group feed mutate. +message MutateAdGroupFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupFeedResult results = 2; +} + +// The result for the ad group feed mutate. +message MutateAdGroupFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + + // The mutated ad group feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroupFeed ad_group_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_label_service.proto new file mode 100644 index 00000000..6e334fc2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_label_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/ad_group_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group Label service. + +// Service to manage labels on ad groups. +service AdGroupLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) returns (MutateAdGroupLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroupLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v10.services.AdGroupLabelService.MutateAdGroupLabels]. +message MutateAdGroupLabelsRequest { + // Required. ID of the customer whose ad group labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group labels. + repeated AdGroupLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group label. +message AdGroupLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v10.resources.AdGroupLabel create = 1; + + // Remove operation: A resource name for the ad group label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; + } +} + +// Response message for an ad group labels mutate. +message MutateAdGroupLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_service.proto new file mode 100644 index 00000000..732efd25 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_group_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Group service. + +// Service to manage ad groups. +service AdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad groups. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v10.services.AdGroupService.MutateAdGroups]. +message MutateAdGroupsRequest { + // Required. The ID of the customer whose ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad groups. + repeated AdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group. +message AdGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group. + google.ads.googleads.v10.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v10.resources.AdGroup update = 2; + + // Remove operation: A resource name for the removed ad group is expected, + // in this format: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} + +// Response message for an ad group mutate. +message MutateAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupResult results = 2; +} + +// The result for the ad group mutate. +message MutateAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + + // The mutated ad group with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdGroup ad_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_parameter_service.proto new file mode 100644 index 00000000..d6e0a735 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_parameter_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad_parameter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad Parameter service. + +// Service to manage ad parameters. +service AdParameterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad parameters. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdParameterError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdParameters(MutateAdParametersRequest) returns (MutateAdParametersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/adParameters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v10.services.AdParameterService.MutateAdParameters] +message MutateAdParametersRequest { + // Required. The ID of the customer whose ad parameters are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad parameters. + repeated AdParameterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on ad parameter. +message AdParameterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad parameter. + google.ads.googleads.v10.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AdParameter update = 2; + + // Remove operation: A resource name for the ad parameter to remove is + // expected in this format: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + } +} + +// Response message for an ad parameter mutate. +message MutateAdParametersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdParameterResult results = 2; +} + +// The result for the ad parameter mutate. +message MutateAdParameterResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + + // The mutated AdParameter with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AdParameter ad_parameter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/ad_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/ad_service.proto new file mode 100644 index 00000000..495ec97f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/ad_service.proto @@ -0,0 +1,186 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/policy.proto"; +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Ad service. + +// Service to manage ads. +service AdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v10.resources.Ad) { + option (google.api.http) = { + get: "/v10/{resource_name=customers/*/ads/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/ads:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdService.GetAd][google.ads.googleads.v10.services.AdService.GetAd]. +message GetAdRequest { + // Required. The resource name of the ad to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + } + ]; +} + +// Request message for [AdService.MutateAds][google.ads.googleads.v10.services.AdService.MutateAds]. +message MutateAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single update operation on an ad. +message AdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // Configuration for how policies are validated. + google.ads.googleads.v10.common.PolicyValidationParameter policy_validation_parameter = 3; + + // The mutate operation. + oneof operation { + // Update operation: The ad is expected to have a valid resource name + // in this format: + // + // `customers/{customer_id}/ads/{ad_id}` + google.ads.googleads.v10.resources.Ad update = 1; + } +} + +// Response message for an ad mutate. +message MutateAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + }]; + + // The mutated ad with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Ad ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/asset_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_asset_service.proto new file mode 100644 index 00000000..2b2ff261 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_asset_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/asset_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AssetGroupAsset service. + +// Service to manage asset group asset. +service AssetGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group assets. Operation statuses are + // returned. + rpc MutateAssetGroupAssets(MutateAssetGroupAssetsRequest) returns (MutateAssetGroupAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assetGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v10.services.AssetGroupAssetService.MutateAssetGroupAssets]. +message MutateAssetGroupAssetsRequest { + // Required. The ID of the customer whose asset group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group assets. + repeated AssetGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group asset. +message AssetGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // asset + google.ads.googleads.v10.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset sis expected to have a valid + // resource name. + google.ads.googleads.v10.resources.AssetGroupAsset update = 2; + + // Remove operation: A resource name for the removed asset group asset is + // expected, in this format: + // `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + }]; + } +} + +// Response message for an asset group asset mutate. +message MutateAssetGroupAssetsResponse { + // All results for the mutate. + repeated MutateAssetGroupAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/asset_group_listing_group_filter_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 00000000..1e4e577b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AssetGroupListingGroupFilter service. + +// Service to manage asset group listing group filter. +service AssetGroupListingGroupFilterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group listing group filters. Operation + // statuses are returned. + rpc MutateAssetGroupListingGroupFilters(MutateAssetGroupListingGroupFiltersRequest) returns (MutateAssetGroupListingGroupFiltersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v10.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +// partial_failure is not supported because the tree needs to be validated +// together. +message MutateAssetGroupListingGroupFiltersRequest { + // Required. The ID of the customer whose asset group listing group filters are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group listing group + // filters. + repeated AssetGroupListingGroupFilterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on an asset group listing group filter. +message AssetGroupListingGroupFilterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // listing group filter. + google.ads.googleads.v10.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v10.resources.AssetGroupListingGroupFilter update = 2; + + // Remove operation: A resource name for the removed asset group listing + // group filter is expected, in this format: + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + // An entity can be removed only if it's not referenced by other + // parent_listing_group_id. If multiple entities are being deleted, the + // mutates must be in the correct order. + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + } +} + +// Response message for an asset group listing group filter mutate. +message MutateAssetGroupListingGroupFiltersResponse { + // All results for the mutate. + repeated MutateAssetGroupListingGroupFilterResult results = 1; +} + +// The result for the asset group listing group filter mutate. +message MutateAssetGroupListingGroupFilterResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + + // The mutated AssetGroupListingGroupFilter with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/asset_group_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_service.proto new file mode 100644 index 00000000..fcbd5426 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_service.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/asset_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AssetGroup service. + +// Service to manage asset group +service AssetGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset groups. Operation statuses are + // returned. + rpc MutateAssetGroups(MutateAssetGroupsRequest) returns (MutateAssetGroupsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assetGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupService.MutateAssetGroups][google.ads.googleads.v10.services.AssetGroupService.MutateAssetGroups]. +message MutateAssetGroupsRequest { + // Required. The ID of the customer whose asset groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset groups. + repeated AssetGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group. +message AssetGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + google.ads.googleads.v10.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AssetGroup update = 2; + + // Remove operation: A resource name for the removed asset group is + // expected, in this format: + // `customers/{customer_id}/assetGroups/{asset_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + }]; + } +} + +// Response message for an asset group mutate. +message MutateAssetGroupsResponse { + // All results for the mutate. + repeated MutateAssetGroupResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/asset_group_signal_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_signal_service.proto new file mode 100644 index 00000000..80132413 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_group_signal_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/customers/{customer_id=*}/assetGroupSignals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v10.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.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v10.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 (e.g. 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.v10.resources.AssetGroupSignal asset_group_signal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_service.proto new file mode 100644 index 00000000..f64fae9b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Asset service. + +// Service to manage assets. Asset types can be created with AssetService are +// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be +// created with Ad inline. +service AssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates assets. Operation statuses are returned. + // + // List of thrown errors: + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [YoutubeVideoRegistrationError]() + rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetService.MutateAssets][google.ads.googleads.v10.services.AssetService.MutateAssets] +message MutateAssetsRequest { + // Required. The ID of the customer whose assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual assets. + repeated AssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation to create an asset. Supported asset types are +// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, and LeadFormAsset. TextAsset +// should be created with Ad inline. +message AssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset. + google.ads.googleads.v10.resources.Asset create = 1; + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` + google.ads.googleads.v10.resources.Asset update = 2; + } +} + +// Response message for an asset mutate. +message MutateAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAssetResult results = 2; +} + +// The result for the asset mutate. +message MutateAssetResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + }]; + + // The mutated asset with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Asset asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/asset_set_asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_set_asset_service.proto new file mode 100644 index 00000000..35f1b88a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_set_asset_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/asset_set_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AssetSetAsset service. + +// Service to manage asset set asset. +service AssetSetAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset set assets. Operation statuses are + // returned. + rpc MutateAssetSetAssets(MutateAssetSetAssetsRequest) returns (MutateAssetSetAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assetSetAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v10.services.AssetSetAssetService.MutateAssetSetAssets]. +message MutateAssetSetAssetsRequest { + // Required. The ID of the customer whose asset set assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset set assets. + repeated AssetSetAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set asset. +message AssetSetAssetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + // asset + google.ads.googleads.v10.resources.AssetSetAsset create = 1; + + // Remove operation: A resource name for the removed asset set asset is + // expected, in this format: + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + } +} + +// Response message for an asset set asset mutate. +message MutateAssetSetAssetsResponse { + // All results for the mutate. + repeated MutateAssetSetAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set asset mutate. +message MutateAssetSetAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + + // The mutated asset set asset with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AssetSetAsset asset_set_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/asset_set_service.proto new file mode 100644 index 00000000..a795ed57 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/asset_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the AssetSet service. + +// Service to manage asset set +service AssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset sets. Operation statuses are + // returned. + rpc MutateAssetSets(MutateAssetSetsRequest) returns (MutateAssetSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/assetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetService.MutateAssetSets][google.ads.googleads.v10.services.AssetSetService.MutateAssetSets]. +message MutateAssetSetsRequest { + // Required. The ID of the customer whose asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset sets. + repeated AssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set. +message AssetSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + google.ads.googleads.v10.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.AssetSet update = 2; + + // Remove operation: A resource name for the removed asset set is + // expected, in this format: + // `customers/{customer_id}/assetSets/{asset_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + } +} + +// Response message for an asset set mutate. +message MutateAssetSetsResponse { + // All results for the mutate. + repeated MutateAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set mutate. +message MutateAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + + // The mutated asset set with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.AssetSet asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/audience_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/audience_service.proto new file mode 100644 index 00000000..c2da858a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/audience_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/customers/{customer_id=*}/audiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AudienceService.MutateAudiences][google.ads.googleads.v10.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.v10.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 (e.g. 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.v10.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v10.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.v10.resources.Audience audience = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/batch_job_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/batch_job_service.proto new file mode 100644 index 00000000..42d9c673 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/batch_job_service.proto @@ -0,0 +1,269 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/batch_job.proto"; +import "google/ads/googleads/v10/services/google_ads_service.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the BatchJobService. + +// Service to manage batch jobs. +service BatchJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates a batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateBatchJob(MutateBatchJobRequest) returns (MutateBatchJobResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/batchJobs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns the results of the batch job. The job must be done. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListBatchJobResults(ListBatchJobResultsRequest) returns (ListBatchJobResultsResponse) { + option (google.api.http) = { + get: "/v10/{resource_name=customers/*/batchJobs/*}:listResults" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Runs the batch job. + // + // The Operation.metadata field type is BatchJobMetadata. When finished, the + // long running operation will not contain errors or a response. Instead, use + // ListBatchJobResults to get the results of the job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RunBatchJob(RunBatchJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v10/{resource_name=customers/*/batchJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v10.resources.BatchJob.BatchJobMetadata" + }; + } + + // Add operations to the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc AddBatchJobOperations(AddBatchJobOperationsRequest) returns (AddBatchJobOperationsResponse) { + option (google.api.http) = { + post: "/v10/{resource_name=customers/*/batchJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v10.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobRequest { + // Required. The ID of the customer for which to create a batch job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual batch job. + BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a batch job. +message BatchJobOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new batch job. + google.ads.googleads.v10.resources.BatchJob create = 1; + + // Remove operation: The batch job must not have been run. A resource name + // for the removed batch job is expected, in this format: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string remove = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; + } +} + +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v10.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobResponse { + // The result for the mutate. + MutateBatchJobResult result = 1; +} + +// The result for the batch job mutate. +message MutateBatchJobResult { + // The resource name of the batch job. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; +} + +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v10.services.BatchJobService.RunBatchJob]. +message RunBatchJobRequest { + // Required. The resource name of the BatchJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v10.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsRequest { + // Required. The resource name of the batch job. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // A token used to enforce sequencing. + // + // The first AddBatchJobOperations request for a batch job should not set + // sequence_token. Subsequent requests must set sequence_token to the value of + // next_sequence_token received in the previous AddBatchJobOperations + // response. + string sequence_token = 2; + + // Required. The list of mutates being added. + // + // Operations can use negative integers as temp ids to signify dependencies + // between entities created in this batch job. For example, a customer with + // id = 1234 can create a campaign and an ad group in that same campaign by + // creating a campaign in the first operation with the resource name + // explicitly set to "customers/1234/campaigns/-1", and creating an ad group + // in the second operation with the campaign field also set to + // "customers/1234/campaigns/-1". + repeated MutateOperation mutate_operations = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v10.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsResponse { + // The total number of operations added so far for this batch job. + int64 total_operations = 1; + + // The sequence token to be used when calling AddBatchJobOperations again if + // more operations need to be added. The next AddBatchJobOperations request + // must set the sequence_token field to the value of this field. + string next_sequence_token = 2; +} + +// Request message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v10.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsRequest { + // Required. The resource name of the batch job whose results are being listed. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// Response message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v10.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsResponse { + // The list of rows that matched the query. + repeated BatchJobResult results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// An individual batch job result. +message BatchJobResult { + // Index of the mutate operation. + int64 operation_index = 1; + + // Response for the mutate. + // May be empty if errors occurred. + MutateOperationResponse mutate_operation_response = 2; + + // Details of the errors when processing the operation. + google.rpc.Status status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/bidding_data_exclusion_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/bidding_data_exclusion_service.proto new file mode 100644 index 00000000..6c24a2e3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/bidding_data_exclusion_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/bidding_data_exclusion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to manage bidding data exclusions. +service BiddingDataExclusionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes data exclusions. + // Operation statuses are returned. + rpc MutateBiddingDataExclusions(MutateBiddingDataExclusionsRequest) returns (MutateBiddingDataExclusionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/biddingDataExclusions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v10.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +message MutateBiddingDataExclusionsRequest { + // Required. ID of the customer whose data exclusions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual data exclusions. + repeated BiddingDataExclusionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a data exclusion. +message BiddingDataExclusionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new data + // exclusion. + google.ads.googleads.v10.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.BiddingDataExclusion update = 2; + + // Remove operation: A resource name for the removed data exclusion + // is expected, in this format: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + } +} + +// Response message for data exlusions mutate. +message MutateBiddingDataExclusionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingDataExclusionsResult results = 2; +} + +// The result for the data exclusion mutate. +message MutateBiddingDataExclusionsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + + // The mutated bidding data exclusion with only mutable fields after mutate. + // The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.BiddingDataExclusion bidding_data_exclusion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/bidding_seasonality_adjustment_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 00000000..1baecdb7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/bidding_seasonality_adjustment_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to manage bidding seasonality adjustments. +service BiddingSeasonalityAdjustmentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes seasonality adjustments. + // Operation statuses are returned. + rpc MutateBiddingSeasonalityAdjustments(MutateBiddingSeasonalityAdjustmentsRequest) returns (MutateBiddingSeasonalityAdjustmentsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v10.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +message MutateBiddingSeasonalityAdjustmentsRequest { + // Required. ID of the customer whose seasonality adjustments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual seasonality adjustments. + repeated BiddingSeasonalityAdjustmentOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a seasonality adjustment. +message BiddingSeasonalityAdjustmentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new seasonality + // adjustment. + google.ads.googleads.v10.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.BiddingSeasonalityAdjustment update = 2; + + // Remove operation: A resource name for the removed seasonality adjustment + // is expected, in this format: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + } +} + +// Response message for seasonality adjustments mutate. +message MutateBiddingSeasonalityAdjustmentsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingSeasonalityAdjustmentsResult results = 2; +} + +// The result for the seasonality adjustment mutate. +message MutateBiddingSeasonalityAdjustmentsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + + // The mutated bidding seasonality adjustment with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/bidding_strategy_service.proto new file mode 100644 index 00000000..3306a9d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/bidding_strategy_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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/bidding_strategy.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Bidding Strategy service. + +// Service to manage bidding strategies. +service BiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes bidding strategies. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/biddingStrategies:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v10.services.BiddingStrategyService.MutateBiddingStrategies]. +message MutateBiddingStrategiesRequest { + // Required. The ID of the customer whose bidding strategies are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual bidding strategies. + repeated BiddingStrategyOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a bidding strategy. +message BiddingStrategyOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new bidding + // strategy. + google.ads.googleads.v10.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.BiddingStrategy update = 2; + + // Remove operation: A resource name for the removed bidding strategy is + // expected, in this format: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + } +} + +// Response message for bidding strategy mutate. +message MutateBiddingStrategiesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingStrategyResult results = 2; +} + +// The result for the bidding strategy mutate. +message MutateBiddingStrategyResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + + // The mutated bidding strategy with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.BiddingStrategy bidding_strategy = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/billing_setup_service.proto new file mode 100644 index 00000000..1c07a982 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/billing_setup_service.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/billing_setup.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the BillingSetup service. + +// A service for designating the business entity responsible for accrued costs. +// +// A billing setup is associated with a payments account. Billing-related +// activity for all billing setups associated with a particular payments account +// will appear on a single invoice generated monthly. +// +// Mutates: +// The REMOVE operation cancels a pending billing setup. +// The CREATE operation creates a new billing setup. +service BillingSetupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a billing setup, or cancels an existing billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BillingSetupError]() + // [DateError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/billingSetups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for billing setup mutate operations. +message MutateBillingSetupRequest { + // Required. Id of the customer to apply the billing setup mutate operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform. + BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a billing setup, which describes the cancellation of an +// existing billing setup. +message BillingSetupOperation { + // Only one of these operations can be set. "Update" operations are not + // supported. + oneof operation { + // Creates a billing setup. No resource name is expected for the new billing + // setup. + google.ads.googleads.v10.resources.BillingSetup create = 2; + + // Resource name of the billing setup to remove. A setup cannot be + // removed unless it is in a pending state or its scheduled start time is in + // the future. The resource name looks like + // `customers/{customer_id}/billingSetups/{billing_id}`. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; + } +} + +// Response message for a billing setup operation. +message MutateBillingSetupResponse { + // A result that identifies the resource affected by the mutate request. + MutateBillingSetupResult result = 1; +} + +// Result for a single billing setup mutate. +message MutateBillingSetupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_service.proto new file mode 100644 index 00000000..a0a84cbd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_service.proto @@ -0,0 +1,140 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignAsset service. + +// Service to manage campaign assets. +service CampaignAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignAssets(MutateCampaignAssetsRequest) returns (MutateCampaignAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v10.services.CampaignAssetService.MutateCampaignAssets]. +message MutateCampaignAssetsRequest { + // Required. The ID of the customer whose campaign assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign assets. + repeated CampaignAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign asset. +message CampaignAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // asset. + google.ads.googleads.v10.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.CampaignAsset update = 3; + + // Remove operation: A resource name for the removed campaign asset is + // expected, in this format: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + } +} + +// Response message for a campaign asset mutate. +message MutateCampaignAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCampaignAssetResult results = 2; +} + +// The result for the campaign asset mutate. +message MutateCampaignAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + + // The mutated campaign asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignAsset campaign_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_set_service.proto new file mode 100644 index 00000000..dfca6830 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_asset_set_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignAssetSet service. + +// Service to manage campaign asset set +service CampaignAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign asset sets. Operation statuses are + // returned. + rpc MutateCampaignAssetSets(MutateCampaignAssetSetsRequest) returns (MutateCampaignAssetSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v10.services.CampaignAssetSetService.MutateCampaignAssetSets]. +message MutateCampaignAssetSetsRequest { + // Required. The ID of the customer whose campaign asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign asset sets. + repeated CampaignAssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a campaign asset set. +message CampaignAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign asset + // set. + google.ads.googleads.v10.resources.CampaignAssetSet create = 1; + + // Remove operation: A resource name for the removed campaign asset set is + // expected, in this format: + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + } +} + +// Response message for a campaign asset set mutate. +message MutateCampaignAssetSetsResponse { + // All results for the mutate. + repeated MutateCampaignAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign asset set mutate. +message MutateCampaignAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + + // The mutated campaign asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignAssetSet campaign_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_bid_modifier_service.proto new file mode 100644 index 00000000..d1448589 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Bid Modifier service. + +// Service to manage campaign bid modifiers. +service CampaignBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v10.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +message MutateCampaignBidModifiersRequest { + // Required. ID of the customer whose campaign bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign bid modifiers. + repeated CampaignBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a campaign bid modifier. +message CampaignBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign bid + // modifier. + google.ads.googleads.v10.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CampaignBidModifier update = 2; + + // Remove operation: A resource name for the removed campaign bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + } +} + +// Response message for campaign bid modifiers mutate. +message MutateCampaignBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + + // The mutated campaign bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignBidModifier campaign_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_budget_service.proto new file mode 100644 index 00000000..0f37eb1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_budget_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_budget.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Budget service. + +// Service to manage campaign budgets. +service CampaignBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign budgets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignBudgetError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignBudgets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v10.services.CampaignBudgetService.MutateCampaignBudgets]. +message MutateCampaignBudgetsRequest { + // Required. The ID of the customer whose campaign budgets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign budgets. + repeated CampaignBudgetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign budget. +message CampaignBudgetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new budget. + google.ads.googleads.v10.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CampaignBudget update = 2; + + // Remove operation: A resource name for the removed budget is expected, in + // this format: + // + // `customers/{customer_id}/campaignBudgets/{budget_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + } +} + +// Response message for campaign budget mutate. +message MutateCampaignBudgetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBudgetResult results = 2; +} + +// The result for the campaign budget mutate. +message MutateCampaignBudgetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + + // The mutated campaign budget with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignBudget campaign_budget = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_conversion_goal_service.proto new file mode 100644 index 00000000..1c827c9a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/campaign_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignConversionGoal service. + +// Service to manage campaign conversion goal. +service CampaignConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign conversion goals. Operation statuses + // are returned. + rpc MutateCampaignConversionGoals(MutateCampaignConversionGoalsRequest) returns (MutateCampaignConversionGoalsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v10.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +message MutateCampaignConversionGoalsRequest { + // Required. The ID of the customer whose campaign conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign conversion goal. + repeated CampaignConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a campaign conversion goal. +message CampaignConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.CampaignConversionGoal update = 1; + } +} + +// Response message for a campaign conversion goal mutate. +message MutateCampaignConversionGoalsResponse { + // All results for the mutate. + repeated MutateCampaignConversionGoalResult results = 1; +} + +// The result for the campaign conversion goal mutate. +message MutateCampaignConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_criterion_service.proto new file mode 100644 index 00000000..1fc7a6ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_criterion_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Criterion service. + +// Service to manage campaign criteria. +service CampaignCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignCriterionError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v10.services.CampaignCriterionService.MutateCampaignCriteria]. +message MutateCampaignCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CampaignCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign criterion. +message CampaignCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v10.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.CampaignCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + } +} + +// Response message for campaign criterion mutate. +message MutateCampaignCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + + // The mutated campaign criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignCriterion campaign_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_customizer_service.proto new file mode 100644 index 00000000..91bfc664 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignCustomizer service. + +// Service to manage campaign customizer +service CampaignCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign customizers. Operation statuses are + // returned. + rpc MutateCampaignCustomizers(MutateCampaignCustomizersRequest) returns (MutateCampaignCustomizersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v10.services.CampaignCustomizerService.MutateCampaignCustomizers]. +message MutateCampaignCustomizersRequest { + // Required. The ID of the customer whose campaign customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign customizers. + repeated CampaignCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CampaignCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // customizer + google.ads.googleads.v10.resources.CampaignCustomizer create = 1; + + // Remove operation: A resource name for the removed campaign customizer is + // expected, in this format: + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + } +} + +// Response message for an 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 (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign customizer mutate. +message MutateCampaignCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + + // The mutated CampaignCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignCustomizer campaign_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_draft_service.proto new file mode 100644 index 00000000..4eb2e045 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_draft_service.proto @@ -0,0 +1,236 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_draft.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Draft service. + +// Service to manage campaign drafts. +service CampaignDraftService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign drafts. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignDrafts:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Promotes the changes in a draft back to the base campaign. + // + // This method returns a Long Running Operation (LRO) indicating if the + // Promote is done. Use [Operations.GetOperation] to poll the LRO until it + // is done. Only a done status is returned in the response. See the status + // in the Campaign Draft resource to determine if the promotion was + // successful. If the LRO failed, use + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v10.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of + // error reasons. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v10/{campaign_draft=customers/*/campaignDrafts/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_draft"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Returns all errors that occurred during CampaignDraft promote. Throws an + // error if called before campaign draft is promoted. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v10/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v10.services.CampaignDraftService.MutateCampaignDrafts]. +message MutateCampaignDraftsRequest { + // Required. The ID of the customer whose campaign drafts are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign drafts. + repeated CampaignDraftOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v10.services.CampaignDraftService.PromoteCampaignDraft]. +message PromoteCampaignDraftRequest { + // Required. The resource name of the campaign draft to promote. + string campaign_draft = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// A single operation (create, update, remove) on a campaign draft. +message CampaignDraftOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // draft. + google.ads.googleads.v10.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CampaignDraft update = 2; + + // Remove operation: The campaign draft is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + } +} + +// Response message for campaign draft mutate. +message MutateCampaignDraftsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignDraftResult results = 2; +} + +// The result for the campaign draft mutate. +message MutateCampaignDraftResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + + // The mutated campaign draft with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v10.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsRequest { + // Required. The name of the campaign draft from which to retrieve the async errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v10.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsResponse { + // Details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_experiment_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_experiment_service.proto new file mode 100644 index 00000000..b3908bdd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_experiment_service.proto @@ -0,0 +1,374 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Experiment service. + +// CampaignExperimentService manages the life cycle of campaign experiments. +// It is used to create new experiments from drafts, modify experiment +// properties, promote changes in an experiment back to its base campaign, +// graduate experiments into new stand-alone campaigns, and to remove an +// experiment. +// +// An experiment consists of two variants or arms - the base campaign and the +// experiment campaign, directing a fixed share of traffic to each arm. +// A campaign experiment is created from a draft of changes to the base campaign +// and will be a snapshot of changes in the draft at the time of creation. +service CampaignExperimentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a campaign experiment based on a campaign draft. The draft campaign + // will be forked into a real campaign (called the experiment campaign) that + // will begin serving ads if successfully created. + // + // The campaign experiment is created immediately with status INITIALIZING. + // This method return a long running operation that tracks the forking of the + // draft campaign. If the forking fails, a list of errors can be retrieved + // using the ListCampaignExperimentAsyncErrors method. The operation's + // metadata will be a StringValue containing the resource name of the created + // campaign experiment. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignExperiments:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v10.services.CreateCampaignExperimentMetadata" + }; + } + + // Updates campaign experiments. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignExperiments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Graduates a campaign experiment to a full campaign. The base and experiment + // campaigns will start running independently with their own budgets. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse) { + option (google.api.http) = { + post: "/v10/{campaign_experiment=customers/*/campaignExperiments/*}:graduate" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment,campaign_budget"; + } + + // Promotes the changes in a experiment campaign back to the base campaign. + // + // The campaign experiment is updated immediately with status PROMOTING. + // This method return a long running operation that tracks the promoting of + // the experiment campaign. If the promoting fails, a list of errors can be + // retrieved using the ListCampaignExperimentAsyncErrors method. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v10/{campaign_experiment=customers/*/campaignExperiments/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Immediately ends a campaign 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]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v10/{campaign_experiment=customers/*/campaignExperiments/*}:end" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + } + + // Returns all errors that occurred during CampaignExperiment create or + // promote (whichever occurred last). + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v10/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignExperimentService.MutateCampaignExperiments][google.ads.googleads.v10.services.CampaignExperimentService.MutateCampaignExperiments]. +message MutateCampaignExperimentsRequest { + // Required. The ID of the customer whose campaign experiments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign experiments. + repeated CampaignExperimentOperation 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.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single update operation on a campaign experiment. +message CampaignExperimentOperation { + // 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 campaign experiment is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CampaignExperiment update = 1; + + // Remove operation: The campaign experiment is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + }]; + } +} + +// Response message for campaign experiment mutate. +message MutateCampaignExperimentsResponse { + // 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 = 3; + + // All results for the mutate. + repeated MutateCampaignExperimentResult results = 2; +} + +// The result for the campaign experiment mutate. +message MutateCampaignExperimentResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + }]; + + // The mutated campaign experiment with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignExperiment campaign_experiment = 2; +} + +// Request message for [CampaignExperimentService.CreateCampaignExperiment][google.ads.googleads.v10.services.CampaignExperimentService.CreateCampaignExperiment]. +message CreateCampaignExperimentRequest { + // Required. The ID of the customer whose campaign experiment is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The campaign experiment to be created. + google.ads.googleads.v10.resources.CampaignExperiment campaign_experiment = 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; +} + +// Message used as metadata returned in Long Running Operations for +// CreateCampaignExperimentRequest +message CreateCampaignExperimentMetadata { + // Resource name of campaign experiment created. + string campaign_experiment = 1; +} + +// Request message for [CampaignExperimentService.GraduateCampaignExperiment][google.ads.googleads.v10.services.CampaignExperimentService.GraduateCampaignExperiment]. +message GraduateCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to graduate. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // Required. Resource name of the budget to attach to the campaign graduated from the + // experiment. + string campaign_budget = 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; +} + +// Response message for campaign experiment graduate. +message GraduateCampaignExperimentResponse { + // The resource name of the campaign from the graduated experiment. + // This campaign is the same one as CampaignExperiment.experiment_campaign. + string graduated_campaign = 1; +} + +// Request message for [CampaignExperimentService.PromoteCampaignExperiment][google.ads.googleads.v10.services.CampaignExperimentService.PromoteCampaignExperiment]. +message PromoteCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to promote. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// Request message for [CampaignExperimentService.EndCampaignExperiment][google.ads.googleads.v10.services.CampaignExperimentService.EndCampaignExperiment]. +message EndCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to end. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v10.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsRequest { + // Required. The name of the campaign 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/CampaignExperiment" + } + ]; + + // 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 +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v10.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsResponse { + // 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/google-cloud/protos/google/ads/googleads/v10/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_extension_setting_service.proto new file mode 100644 index 00000000..dbac6ea3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_extension_setting_service.proto @@ -0,0 +1,158 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignExtensionSetting service. + +// Service to manage campaign extension settings. +service CampaignExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) returns (MutateCampaignExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v10.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +message MutateCampaignExtensionSettingsRequest { + // Required. The ID of the customer whose campaign extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign extension + // settings. + repeated CampaignExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign extension setting. +message CampaignExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // extension setting. + google.ads.googleads.v10.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.CampaignExtensionSetting update = 2; + + // Remove operation: A resource name for the removed campaign extension + // setting is expected, in this format: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + } +} + +// Response message for a campaign extension setting mutate. +message MutateCampaignExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignExtensionSettingResult results = 2; +} + +// The result for the campaign extension setting mutate. +message MutateCampaignExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + + // The mutated campaign extension setting with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignExtensionSetting campaign_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_feed_service.proto new file mode 100644 index 00000000..6a0c1bdc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CampaignFeed service. + +// Service to manage campaign feeds. +service CampaignFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignFeedError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v10.services.CampaignFeedService.MutateCampaignFeeds]. +message MutateCampaignFeedsRequest { + // Required. The ID of the customer whose campaign feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign feeds. + repeated CampaignFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign feed. +message CampaignFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign feed. + google.ads.googleads.v10.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.CampaignFeed update = 2; + + // Remove operation: A resource name for the removed campaign feed is + // expected, in this format: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + } +} + +// Response message for a campaign feed mutate. +message MutateCampaignFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignFeedResult results = 2; +} + +// The result for the campaign feed mutate. +message MutateCampaignFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + + // The mutated campaign feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignFeed campaign_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_group_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_group_service.proto new file mode 100644 index 00000000..e6c6825c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_group_service.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/customers/{customer_id=*}/campaignGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v10.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.v10.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.v10.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v10.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 (e.g. 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.v10.resources.CampaignGroup campaign_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_label_service.proto new file mode 100644 index 00000000..7833c896 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_label_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/campaign_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Label service. + +// Service to manage labels on campaigns. +service CampaignLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes campaign-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignLabels(MutateCampaignLabelsRequest) returns (MutateCampaignLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v10.services.CampaignLabelService.MutateCampaignLabels]. +message MutateCampaignLabelsRequest { + // Required. ID of the customer whose campaign-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on campaign-label relationships. + repeated CampaignLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a campaign-label relationship. +message CampaignLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign-label + // relationship. + google.ads.googleads.v10.resources.CampaignLabel create = 1; + + // Remove operation: A resource name for the campaign-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; + } +} + +// Response message for a campaign labels mutate. +message MutateCampaignLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_service.proto new file mode 100644 index 00000000..4c32ea8b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign service. + +// Service to manage campaigns. +service CampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaigns. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CampaignBudgetError]() + // [CampaignError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v10.services.CampaignService.MutateCampaigns]. +message MutateCampaignsRequest { + // Required. The ID of the customer whose campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaigns. + repeated CampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign. +message CampaignOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign. + google.ads.googleads.v10.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.Campaign update = 2; + + // Remove operation: A resource name for the removed campaign is + // expected, in this format: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + } +} + +// Response message for campaign mutate. +message MutateCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignResult results = 2; +} + +// The result for the campaign mutate. +message MutateCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The mutated campaign with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Campaign campaign = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/campaign_shared_set_service.proto new file mode 100644 index 00000000..7ce8b977 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/campaign_shared_set_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/campaign_shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Campaign Shared Set service. + +// Service to manage campaign shared sets. +service CampaignSharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes campaign shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignSharedSetError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/campaignSharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v10.services.CampaignSharedSetService.MutateCampaignSharedSets]. +message MutateCampaignSharedSetsRequest { + // Required. The ID of the customer whose campaign shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign shared sets. + repeated CampaignSharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an campaign shared set. +message CampaignSharedSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // shared set. + google.ads.googleads.v10.resources.CampaignSharedSet create = 1; + + // Remove operation: A resource name for the removed campaign shared set is + // expected, in this format: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + } +} + +// Response message for a campaign shared set mutate. +message MutateCampaignSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignSharedSetResult results = 2; +} + +// The result for the campaign shared set mutate. +message MutateCampaignSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + + // The mutated campaign shared set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CampaignSharedSet campaign_shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_action_service.proto new file mode 100644 index 00000000..2c19affa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_action_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/conversion_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Conversion Action service. + +// Service to manage conversion actions. +service ConversionActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion actions. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/conversionActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v10.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsRequest { + // Required. The ID of the customer whose conversion actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion actions. + repeated ConversionActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a conversion action. +message ConversionActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // action. + google.ads.googleads.v10.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.ConversionAction update = 2; + + // Remove operation: A resource name for the removed conversion action is + // expected, in this format: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } +} + +// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v10.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateConversionActionResult results = 2; +} + +// The result for the conversion action mutate. +message MutateConversionActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The mutated conversion action with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ConversionAction conversion_action = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_adjustment_upload_service.proto new file mode 100644 index 00000000..3aa68eec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,200 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/offline_user_data.proto"; +import "google/ads/googleads/v10/enums/conversion_adjustment_type.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to upload conversion adjustments. +service ConversionAdjustmentUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given conversion adjustments. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) returns (UploadConversionAdjustmentsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:uploadConversionAdjustments" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v10.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversion adjustments that are being uploaded. + repeated ConversionAdjustment conversion_adjustments = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried out + // in one transaction if and only if they are all valid. This should always be + // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v10.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsResponse { + // Errors that pertain to conversion adjustment failures in the partial + // failure mode. Returned when all errors occur inside the adjustments. If any + // errors occur outside the adjustments (e.g. 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; +} + +// 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", e.g. "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 9; + + // The adjustment type. + google.ads.googleads.v10.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; + + // Information needed to restate the conversion's value. + // Required for restatements. Should not be supplied for retractions. An error + // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + RestatementValue restatement_value = 6; + + // The user identifiers to enhance the original conversion. + // ConversionAdjustmentUploadService only accepts user identifiers in + // enhancements. The maximum number of user identifiers for each + // enhancement is 5. + repeated google.ads.googleads.v10.common.UserIdentifier user_identifiers = 10; + + // The user agent to enhance the original conversion. This can be found in + // your user's HTTP request header when they convert on your web page. + // Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User + // agent can only be specified in enhancements with user identifiers. This + // should match the user agent of the request that sent the original + // conversion so the conversion and its enhancement are either both attributed + // as same-device or both attributed as cross-device. + optional string user_agent = 11; +} + +// Contains information needed to restate a conversion's value. +message RestatementValue { + // The restated conversion value. This is the value of the conversion after + // restatement. For example, to change the value of a conversion from 100 to + // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + optional double adjusted_value = 3; + + // The currency of the restated value. If not provided, then the default + // currency from the conversion action is used, and if that is not set then + // the account currency is used. This is the ISO 4217 3-character currency + // code e.g. 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", e.g. "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", e.g. "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 8; + + // The adjustment type. + google.ads.googleads.v10.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_custom_variable_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_custom_variable_service.proto new file mode 100644 index 00000000..22f28417 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_custom_variable_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/conversion_custom_variable.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Conversion Custom Variable service. + +// Service to manage conversion custom variables. +service ConversionCustomVariableService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates conversion custom variables. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionCustomVariableError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateConversionCustomVariables(MutateConversionCustomVariablesRequest) returns (MutateConversionCustomVariablesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/conversionCustomVariables:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v10.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesRequest { + // Required. The ID of the customer whose conversion custom variables are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion custom + // variables. + repeated ConversionCustomVariableOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update) on a conversion custom variable. +message ConversionCustomVariableOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // custom variable. + google.ads.googleads.v10.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.ConversionCustomVariable update = 2; + } +} + +// Response message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v10.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateConversionCustomVariableResult results = 2; +} + +// The result for the conversion custom variable mutate. +message MutateConversionCustomVariableResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The mutated conversion custom variable with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ConversionCustomVariable conversion_custom_variable = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_goal_campaign_config_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 00000000..d582a0af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,103 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the ConversionGoalCampaignConfig service. + +// Service to manage conversion goal campaign config. +service ConversionGoalCampaignConfigService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion goal campaign config. Operation + // statuses are returned. + rpc MutateConversionGoalCampaignConfigs(MutateConversionGoalCampaignConfigsRequest) returns (MutateConversionGoalCampaignConfigsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfig][]. +message MutateConversionGoalCampaignConfigsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion goal campaign + // config. + repeated ConversionGoalCampaignConfigOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (update) on a conversion goal campaign config. +message ConversionGoalCampaignConfigOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The conversion goal campaign config is expected to have + // a valid resource name. + google.ads.googleads.v10.resources.ConversionGoalCampaignConfig update = 1; + } +} + +// Response message for a conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigsResponse { + // All results for the mutate. + repeated MutateConversionGoalCampaignConfigResult results = 1; +} + +// The result for the conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + }]; + + // The mutated ConversionGoalCampaignConfig with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_upload_service.proto new file mode 100644 index 00000000..70740714 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_upload_service.proto @@ -0,0 +1,347 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/offline_user_data.proto"; +import "google/ads/googleads/v10/enums/conversion_environment_enum.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to upload conversions. +service ConversionUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given click conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionUploadError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadClickConversions(UploadClickConversionsRequest) returns (UploadClickConversionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:uploadClickConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } + + // Processes the given call conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadCallConversions(UploadCallConversionsRequest) returns (UploadCallConversionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:uploadCallConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } +} + +// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v10.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated ClickConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v10.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (e.g. 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; +} + +// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v10.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated CallConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v10.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (e.g. 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", e.g. "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 11; + + // The value of the conversion for the advertiser. + optional double conversion_value = 12; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 13; + + // The order ID associated with the conversion. An order id can only be used + // for one conversion per conversion action. + optional string order_id = 14; + + // Additional data about externally attributed conversions. This field + // is required for conversions with an externally attributed conversion + // action, but should not be set otherwise. + ExternalAttributionData external_attribution_data = 7; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 15; + + // The cart data associated with this conversion. + CartData cart_data = 16; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v10.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on. e.g. App or Web. + google.ads.googleads.v10.enums.ConversionEnvironmentEnum.ConversionEnvironment conversion_environment = 20; +} + +// 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. e.g. "+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", + // e.g. "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", e.g. "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", e.g. "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 6; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v10.common.UserIdentifier user_identifiers = 7; +} + +// Identifying information for a successfully processed CallConversionUpload. +message CallConversionResult { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign. + optional string caller_id = 5; + + // The date time at which the call occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "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", e.g. "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/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_service.proto new file mode 100644 index 00000000..8ebe316a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/conversion_value_rule.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Conversion Value Rule service. + +// Service to manage conversion value rules. +service ConversionValueRuleService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes conversion value rules. Operation statuses are + // returned. + rpc MutateConversionValueRules(MutateConversionValueRulesRequest) returns (MutateConversionValueRulesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/conversionValueRules:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v10.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesRequest { + // Required. The ID of the customer whose conversion value rules are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rules. + repeated ConversionValueRuleOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule. +message ConversionValueRuleOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule. + google.ads.googleads.v10.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.ConversionValueRule update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // is expected, in this format: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + } +} + +// Response message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v10.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesResponse { + // All results for the mutate. + repeated MutateConversionValueRuleResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; +} + +// The result for the conversion value rule mutate. +message MutateConversionValueRuleResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // The mutated conversion value rule with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ConversionValueRule conversion_value_rule = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_set_service.proto new file mode 100644 index 00000000..11cc208f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/conversion_value_rule_set_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/conversion_value_rule_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Conversion Value Rule Set service. + +// Service to manage conversion value rule sets. +service ConversionValueRuleSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion value rule sets. Operation statuses + // are returned. + rpc MutateConversionValueRuleSets(MutateConversionValueRuleSetsRequest) returns (MutateConversionValueRuleSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/conversionValueRuleSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v10.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsRequest { + // Required. The ID of the customer whose conversion value rule sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rule sets. + repeated ConversionValueRuleSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule set. +message ConversionValueRuleSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule set. + google.ads.googleads.v10.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.ConversionValueRuleSet update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // set is expected, in this format: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + } +} + +// Response message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v10.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsResponse { + // All results for the mutate. + repeated MutateConversionValueRuleSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the conversion value rule set mutate. +message MutateConversionValueRuleSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + + // The mutated conversion value rule set with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ConversionValueRuleSet conversion_value_rule_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/custom_audience_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/custom_audience_service.proto new file mode 100644 index 00000000..ca4ee6be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/custom_audience_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/custom_audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Custom Audience service. + +// Service to manage custom audiences. +service CustomAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomAudienceError]() + // [CustomInterestError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OperationAccessDeniedError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomAudiences(MutateCustomAudiencesRequest) returns (MutateCustomAudiencesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customAudiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v10.services.CustomAudienceService.MutateCustomAudiences]. +message MutateCustomAudiencesRequest { + // Required. The ID of the customer whose custom audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom audiences. + repeated CustomAudienceOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a custom audience. +message CustomAudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // audience. + google.ads.googleads.v10.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CustomAudience update = 2; + + // Remove operation: A resource name for the removed custom audience is + // expected, in this format: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; + } +} + +// Response message for custom audience mutate. +message MutateCustomAudiencesResponse { + // All results for the mutate. + repeated MutateCustomAudienceResult results = 1; +} + +// The result for the custom audience mutate. +message MutateCustomAudienceResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/custom_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/custom_conversion_goal_service.proto new file mode 100644 index 00000000..121632fa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/custom_conversion_goal_service.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/custom_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomConversionGoal service. + +// Service to manage custom conversion goal. +service CustomConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes custom conversion goals. Operation statuses + // are returned. + rpc MutateCustomConversionGoals(MutateCustomConversionGoalsRequest) returns (MutateCustomConversionGoalsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v10.services.CustomConversionGoalService.MutateCustomConversionGoals]. +message MutateCustomConversionGoalsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom conversion goal. + repeated CustomConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on a custom conversion goal. +message CustomConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // conversion goal + google.ads.googleads.v10.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.CustomConversionGoal update = 2; + + // Remove operation: A resource name for the removed custom conversion goal + // is expected, in this format: + // + // 'customers/{customer_id}/conversionActions/{ConversionGoal.custom_goal_config.conversion_type_ids}' + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + } +} + +// Response message for a custom conversion goal mutate. +message MutateCustomConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomConversionGoalResult results = 1; +} + +// The result for the custom conversion goal mutate. +message MutateCustomConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + + // The mutated CustomConversionGoal with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomConversionGoal custom_conversion_goal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/custom_interest_service.proto new file mode 100644 index 00000000..5c451a5d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/custom_interest_service.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/custom_interest.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Custom Interest service. + +// Service to manage custom interests. +service CustomInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom interests. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [CustomInterestError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateCustomInterests(MutateCustomInterestsRequest) returns (MutateCustomInterestsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customInterests:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v10.services.CustomInterestService.MutateCustomInterests]. +message MutateCustomInterestsRequest { + // Required. The ID of the customer whose custom interests are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom interests. + repeated CustomInterestOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a custom interest. +message CustomInterestOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // interest. + google.ads.googleads.v10.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CustomInterest update = 2; + } +} + +// Response message for custom interest mutate. +message MutateCustomInterestsResponse { + // All results for the mutate. + repeated MutateCustomInterestResult results = 2; +} + +// The result for the custom interest mutate. +message MutateCustomInterestResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_asset_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_asset_service.proto new file mode 100644 index 00000000..9c5ea6a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_asset_service.proto @@ -0,0 +1,137 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerAsset service. + +// Service to manage customer assets. +service CustomerAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerAssets(MutateCustomerAssetsRequest) returns (MutateCustomerAssetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v10.services.CustomerAssetService.MutateCustomerAssets]. +message MutateCustomerAssetsRequest { + // Required. The ID of the customer whose customer assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer assets. + repeated CustomerAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer asset. +message CustomerAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // asset. + google.ads.googleads.v10.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.CustomerAsset update = 3; + + // Remove operation: A resource name for the removed customer asset is + // expected, in this format: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + } +} + +// Response message for a customer asset mutate. +message MutateCustomerAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCustomerAssetResult results = 2; +} + +// The result for the customer asset mutate. +message MutateCustomerAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + + // The mutated customer asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomerAsset customer_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_client_link_service.proto new file mode 100644 index 00000000..592be55d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_client_link_service.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_client_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to manage customer client links. +service CustomerClientLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates a customer client link. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) returns (MutateCustomerClientLinkResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerClientLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v10.services.CustomerClientLinkService.MutateCustomerClientLink]. +message MutateCustomerClientLinkRequest { + // Required. The ID of the customer whose customer link are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the individual CustomerClientLink. + CustomerClientLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a CustomerClientLink. +message CustomerClientLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new link. + google.ads.googleads.v10.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v10.resources.CustomerClientLink update = 2; + } +} + +// Response message for a CustomerClientLink mutate. +message MutateCustomerClientLinkResponse { + // A result that identifies the resource affected by the mutate request. + MutateCustomerClientLinkResult result = 1; +} + +// The result for a single customer client link mutate. +message MutateCustomerClientLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_conversion_goal_service.proto new file mode 100644 index 00000000..35bcf7b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerConversionGoal service. + +// Service to manage customer conversion goal. +service CustomerConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer conversion goals. Operation statuses + // are returned. + rpc MutateCustomerConversionGoals(MutateCustomerConversionGoalsRequest) returns (MutateCustomerConversionGoalsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v10.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +message MutateCustomerConversionGoalsRequest { + // Required. The ID of the customer whose customer conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer conversion goal. + repeated CustomerConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a customer conversion goal. +message CustomerConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.CustomerConversionGoal update = 1; + } +} + +// Response message for a customer conversion goal mutate. +message MutateCustomerConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomerConversionGoalResult results = 1; +} + +// The result for the customer conversion goal mutate. +message MutateCustomerConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_customizer_service.proto new file mode 100644 index 00000000..c8cce191 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerCustomizer service. + +// Service to manage customer customizer +service CustomerCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer customizers. Operation statuses are + // returned. + rpc MutateCustomerCustomizers(MutateCustomerCustomizersRequest) returns (MutateCustomerCustomizersResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/CustomerCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v10.services.CustomerCustomizerService.MutateCustomerCustomizers]. +message MutateCustomerCustomizersRequest { + // Required. The ID of the customer whose customer customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer customizers. + repeated CustomerCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomerCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // customizer + google.ads.googleads.v10.resources.CustomerCustomizer create = 1; + + // Remove operation: A resource name for the removed customer customizer is + // expected, in this format: + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + } +} + +// Response message for an 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 (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomerCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + + // The mutated CustomerCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomerCustomizer customer_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_extension_setting_service.proto new file mode 100644 index 00000000..a217afe3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_extension_setting_service.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerExtensionSetting service. + +// Service to manage customer extension settings. +service CustomerExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) returns (MutateCustomerExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v10.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +message MutateCustomerExtensionSettingsRequest { + // Required. The ID of the customer whose customer extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer extension + // settings. + repeated CustomerExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer extension setting. +message CustomerExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // extension setting. + google.ads.googleads.v10.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.CustomerExtensionSetting update = 2; + + // Remove operation: A resource name for the removed customer extension + // setting is expected, in this format: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + } +} + +// Response message for a customer extension setting mutate. +message MutateCustomerExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerExtensionSettingResult results = 2; +} + +// The result for the customer extension setting mutate. +message MutateCustomerExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + + // The mutated CustomerExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomerExtensionSetting customer_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_feed_service.proto new file mode 100644 index 00000000..4a48a10f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerFeed service. + +// Service to manage customer feeds. +service CustomerFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v10.services.CustomerFeedService.MutateCustomerFeeds]. +message MutateCustomerFeedsRequest { + // Required. The ID of the customer whose customer feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer feeds. + repeated CustomerFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer feed. +message CustomerFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer feed. + google.ads.googleads.v10.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.CustomerFeed update = 2; + + // Remove operation: A resource name for the removed customer feed is + // expected, in this format: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + } +} + +// Response message for a customer feed mutate. +message MutateCustomerFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerFeedResult results = 2; +} + +// The result for the customer feed mutate. +message MutateCustomerFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + + // The mutated customer feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomerFeed customer_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_label_service.proto new file mode 100644 index 00000000..07bedd9c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Customer Label service. + +// Service to manage labels on customers. +service CustomerLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes customer-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerLabels(MutateCustomerLabelsRequest) returns (MutateCustomerLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v10.services.CustomerLabelService.MutateCustomerLabels]. +message MutateCustomerLabelsRequest { + // Required. ID of the customer whose customer-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on customer-label relationships. + repeated CustomerLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a customer-label relationship. +message CustomerLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer-label + // relationship. + google.ads.googleads.v10.resources.CustomerLabel create = 1; + + // Remove operation: A resource name for the customer-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/customerLabels/{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; + } +} + +// Response message for a customer labels mutate. +message MutateCustomerLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_manager_link_service.proto new file mode 100644 index 00000000..88346e6b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_manager_link_service.proto @@ -0,0 +1,157 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_manager_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to manage customer-manager links. +service CustomerManagerLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates customer manager links. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) returns (MutateCustomerManagerLinkResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerManagerLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Moves a client customer to a new manager customer. + // This simplifies the complex request that requires two operations to move + // a client customer to a new manager. i.e: + // 1. Update operation with Status INACTIVE (previous manager) and, + // 2. Update operation with Status ACTIVE (new manager). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MoveManagerLink(MoveManagerLinkRequest) returns (MoveManagerLinkResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + body: "*" + }; + option (google.api.method_signature) = "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v10.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +message MutateCustomerManagerLinkRequest { + // Required. The ID of the customer whose customer manager links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer manager links. + repeated CustomerManagerLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Request message for [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v10.services.CustomerManagerLinkService.MoveManagerLink]. +message MoveManagerLinkRequest { + // Required. The ID of the client customer that is being moved. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the previous CustomerManagerLink. + // The resource name has the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string previous_customer_manager_link = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the new manager customer that the client wants to move + // to. Customer resource names have the format: "customers/{customer_id}" + string new_manager = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Updates the status of a CustomerManagerLink. +// The following actions are possible: +// 1. Update operation with status ACTIVE accepts a pending invitation. +// 2. Update operation with status REFUSED declines a pending invitation. +// 3. Update operation with status INACTIVE terminates link to manager. +message CustomerManagerLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v10.resources.CustomerManagerLink update = 2; + } +} + +// Response message for a CustomerManagerLink mutate. +message MutateCustomerManagerLinkResponse { + // A result that identifies the resource affected by the mutate request. + repeated MutateCustomerManagerLinkResult results = 1; +} + +// Response message for a CustomerManagerLink moveManagerLink. +message MoveManagerLinkResponse { + // Returned for successful operations. Represents a CustomerManagerLink + // resource of the newly created link between client customer and new manager + // customer. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} + +// The result for the customer manager link mutate. +message MutateCustomerManagerLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_negative_criterion_service.proto new file mode 100644 index 00000000..03480990 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_negative_criterion_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer_negative_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage customer negative criteria. +service CustomerNegativeCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) returns (MutateCustomerNegativeCriteriaResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerNegativeCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v10.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +message MutateCustomerNegativeCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CustomerNegativeCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create or remove) on a customer level negative criterion. +message CustomerNegativeCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v10.resources.CustomerNegativeCriterion create = 1; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + } +} + +// Response message for customer negative criterion mutate. +message MutateCustomerNegativeCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerNegativeCriteriaResult results = 2; +} + +// The result for the criterion mutate. +message MutateCustomerNegativeCriteriaResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + + // The mutated criterion with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomerNegativeCriterion customer_negative_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_service.proto new file mode 100644 index 00000000..c356d1c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_service.proto @@ -0,0 +1,191 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/access_role.proto"; +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates a customer. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns resource names of customers directly accessible by the + // user authenticating the call. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { + option (google.api.http) = { + get: "/v10/customers:listAccessibleCustomers" + }; + } + + // Creates a new client under manager. The new client customer is returned. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CurrencyCodeError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + // [TimeZoneError]() + rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:createCustomerClient" + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v10.services.CustomerService.MutateCustomer]. +message MutateCustomerRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerOperation operation = 4 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 6; +} + +// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v10.services.CustomerService.CreateCustomerClient]. +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new client customer to create. The resource name on this customer + // will be ignored. + google.ads.googleads.v10.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; + + // Email address of the user who should be invited on the created client + // customer. Accessible only to customers on the allow-list. + optional string email_address = 5; + + // The proposed role of user on the created client customer. + // Accessible only to customers on the allow-list. + google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole access_role = 4; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 6; +} + +// A single update on a customer. +message CustomerOperation { + // Mutate operation. Only updates are supported for customer. + google.ads.googleads.v10.resources.Customer update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for CreateCustomerClient mutate. +message CreateCustomerClientResponse { + // The resource name of the newly created customer client. + string resource_name = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // Link for inviting user to access the created customer. Accessible to + // allowlisted customers only. + string invitation_link = 3; +} + +// Response message for customer mutate. +message MutateCustomerResponse { + // Result for the mutate. + MutateCustomerResult result = 2; +} + +// The result for the customer mutate. +message MutateCustomerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // The mutated customer with only mutable fields after mutate. The fields will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Customer customer = 2; +} + +// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v10.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest { + +} + +// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v10.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/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_invitation_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_invitation_service.proto new file mode 100644 index 00000000..4e056b62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_invitation_service.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_user_access_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomerUserAccessInvitation service. + +// This service manages the access invitation extended to users for a given +// customer. +service CustomerUserAccessInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes an access invitation. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccessInvitation(MutateCustomerUserAccessInvitationRequest) returns (MutateCustomerUserAccessInvitationResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitation.MutateCustomerUserAccessInvitation][] +message MutateCustomerUserAccessInvitationRequest { + // Required. The ID of the customer whose access invitation is being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the access invitation + CustomerUserAccessInvitationOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (create or remove) on customer user access invitation. +message CustomerUserAccessInvitationOperation { + // The mutate operation + oneof operation { + // Create operation: No resource name is expected for the new access + // invitation. + google.ads.googleads.v10.resources.CustomerUserAccessInvitation create = 1; + + // Remove operation: A resource name for the revoke invitation is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; + } +} + +// Response message for access invitation mutate. +message MutateCustomerUserAccessInvitationResponse { + // Result for the mutate. + MutateCustomerUserAccessInvitationResult result = 1; +} + +// The result for the access invitation mutate. +message MutateCustomerUserAccessInvitationResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_service.proto new file mode 100644 index 00000000..9364a9d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customer_user_access_service.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/customer_user_access.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// This service manages the permissions of a user on a given customer. +service CustomerUserAccessService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates, removes permission of a user on a given customer. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerUserAccessError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccess(MutateCustomerUserAccessRequest) returns (MutateCustomerUserAccessResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customerUserAccesses:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v10.services.CustomerUserAccessService.MutateCustomerUserAccess]. +message MutateCustomerUserAccessRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerUserAccessOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (update, remove) on customer user access. +message CustomerUserAccessOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Update operation: The customer user access is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.CustomerUserAccess update = 1; + + // Remove operation: A resource name for the removed access is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; + } +} + +// Response message for customer user access mutate. +message MutateCustomerUserAccessResponse { + // Result for the mutate. + MutateCustomerUserAccessResult result = 1; +} + +// The result for the customer user access mutate. +message MutateCustomerUserAccessResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/customizer_attribute_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/customizer_attribute_service.proto new file mode 100644 index 00000000..64754cfa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/customizer_attribute_service.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/customizer_attribute.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the CustomizerAttribute service. + +// Service to manage customizer attribute +service CustomizerAttributeService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customizer attributes. Operation statuses are + // returned. + rpc MutateCustomizerAttributes(MutateCustomizerAttributesRequest) returns (MutateCustomizerAttributesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/customizerAttributes:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v10.services.CustomizerAttributeService.MutateCustomizerAttributes]. +message MutateCustomizerAttributesRequest { + // Required. The ID of the customer whose customizer attributes are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customizer attributes. + repeated CustomizerAttributeOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomizerAttributeOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customizer + // attribute + google.ads.googleads.v10.resources.CustomizerAttribute create = 1; + + // Remove operation: A resource name for the removed customizer attribute is + // expected, in this format: + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + } +} + +// Response message for an 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 (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomizerAttributeResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + + // The mutated CustomizerAttribute with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.CustomizerAttribute customizer_attribute = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/experiment_arm_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/experiment_arm_service.proto new file mode 100644 index 00000000..d17a6519 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/experiment_arm_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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/customers/{customer_id=*}/experimentArms:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v10.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.v10.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.v10.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v10.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 (e.g. 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.v10.resources.ExperimentArm experiment_arm = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/experiment_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/experiment_service.proto new file mode 100644 index 00000000..13ea236c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/experiment_service.proto @@ -0,0 +1,390 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/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: "/v10/{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: "/v10/{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: "/v10/{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: "/v10/{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.v10.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: "/v10/{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.v10.services.PromoteExperimentMetadata" + }; + } +} + +// Request message for [ExperimentService.MutateExperiments][google.ads.googleads.v10.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.v10.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v10.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 (e.g. 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.v10.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.v10.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.v10.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.v10.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.v10.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.v10.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/google-cloud/protos/google/ads/googleads/v10/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/extension_feed_item_service.proto new file mode 100644 index 00000000..ee9bc334 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/extension_feed_item_service.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/extension_feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the ExtensionFeedItem service. + +// Service to manage extension feed items. +service ExtensionFeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes extension feed items. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CountryCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [LanguageCodeError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) returns (MutateExtensionFeedItemsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/extensionFeedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v10.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +message MutateExtensionFeedItemsRequest { + // Required. The ID of the customer whose extension feed items are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual extension feed items. + repeated ExtensionFeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an extension feed item. +message ExtensionFeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new extension + // feed item. + google.ads.googleads.v10.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.ExtensionFeedItem update = 2; + + // Remove operation: A resource name for the removed extension feed item + // is expected, in this format: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + } +} + +// Response message for an extension feed item mutate. +message MutateExtensionFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateExtensionFeedItemResult results = 2; +} + +// The result for the extension feed item mutate. +message MutateExtensionFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The mutated extension feed item with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.ExtensionFeedItem extension_feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_service.proto new file mode 100644 index 00000000..22495819 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the FeedItem service. + +// Service to manage feed items. +service FeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed items. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v10.services.FeedItemService.MutateFeedItems]. +message MutateFeedItemsRequest { + // Required. The ID of the customer whose feed items are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed items. + repeated FeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed item. +message FeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item. + google.ads.googleads.v10.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.FeedItem update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + } +} + +// Response message for an feed item mutate. +message MutateFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemResult results = 2; +} + +// The result for the feed item mutate. +message MutateFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + + // The mutated feed item with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.FeedItem feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_link_service.proto new file mode 100644 index 00000000..ad212e5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_link_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/feed_item_set_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the FeedItemSetLink service. + +// Service to manage feed item set links. +service FeedItemSetLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed item set links. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSetLinks(MutateFeedItemSetLinksRequest) returns (MutateFeedItemSetLinksResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feedItemSetLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v10.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +message MutateFeedItemSetLinksRequest { + // Required. The ID of the customer whose feed item set links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item set links. + repeated FeedItemSetLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a feed item set link. +message FeedItemSetLinkOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the + // new feed item set link. + google.ads.googleads.v10.resources.FeedItemSetLink create = 1; + + // Remove operation: A resource name for the removed feed item set link is + // expected, in this format: + // + // `customers/{customer_id}/feedItemSetLinks/{feed_id}_{feed_item_set_id}_{feed_item_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; + } +} + +// Response message for a feed item set link mutate. +message MutateFeedItemSetLinksResponse { + // All results for the mutate. + repeated MutateFeedItemSetLinkResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_service.proto new file mode 100644 index 00000000..d32a3ee3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/feed_item_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the FeedItemSet service. + +// Service to manage feed Item Set +service FeedItemSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes feed item sets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSets(MutateFeedItemSetsRequest) returns (MutateFeedItemSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feedItemSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v10.services.FeedItemSetService.MutateFeedItemSets]. +message MutateFeedItemSetsRequest { + // Required. The ID of the customer whose feed item sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item sets. + repeated FeedItemSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an feed item set. +message FeedItemSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item set + google.ads.googleads.v10.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.FeedItemSet update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + }]; + } +} + +// Response message for an feed item set mutate. +message MutateFeedItemSetsResponse { + // All results for the mutate. + repeated MutateFeedItemSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_target_service.proto new file mode 100644 index 00000000..3d8b3eb9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_item_target_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/feed_item_target.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the FeedItemTarget service. + +// Service to manage feed item targets. +service FeedItemTargetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed item targets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedItemTargetError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) returns (MutateFeedItemTargetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feedItemTargets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v10.services.FeedItemTargetService.MutateFeedItemTargets]. +message MutateFeedItemTargetsRequest { + // Required. The ID of the customer whose feed item targets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item targets. + repeated FeedItemTargetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, remove) on an feed item target. +message FeedItemTargetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item + // target. + google.ads.googleads.v10.resources.FeedItemTarget create = 1; + + // Remove operation: A resource name for the removed feed item target is + // expected, in this format: + // + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + } +} + +// Response message for an feed item target mutate. +message MutateFeedItemTargetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemTargetResult results = 2; +} + +// The result for the feed item target mutate. +message MutateFeedItemTargetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + + // The mutated feed item target with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.FeedItemTarget feed_item_target = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_mapping_service.proto new file mode 100644 index 00000000..2cb96a63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_mapping_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/feed_mapping.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the FeedMapping service. + +// Service to manage feed mappings. +service FeedMappingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed mappings. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedMappingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feedMappings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v10.services.FeedMappingService.MutateFeedMappings]. +message MutateFeedMappingsRequest { + // Required. The ID of the customer whose feed mappings are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed mappings. + repeated FeedMappingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a feed mapping. +message FeedMappingOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed mapping. + google.ads.googleads.v10.resources.FeedMapping create = 1; + + // Remove operation: A resource name for the removed feed mapping is + // expected, in this format: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + } +} + +// Response message for a feed mapping mutate. +message MutateFeedMappingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedMappingResult results = 2; +} + +// The result for the feed mapping mutate. +message MutateFeedMappingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + + // The mutated feed mapping with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.FeedMapping feed_mapping = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/feed_service.proto new file mode 100644 index 00000000..b9401d3e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Feed service. + +// Service to manage feeds. +service FeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/feeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedService.MutateFeeds][google.ads.googleads.v10.services.FeedService.MutateFeeds]. +message MutateFeedsRequest { + // Required. The ID of the customer whose feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feeds. + repeated FeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed. +message FeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed. + google.ads.googleads.v10.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.Feed update = 2; + + // Remove operation: A resource name for the removed feed is + // expected, in this format: + // + // `customers/{customer_id}/feeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + } +} + +// Response message for an feed mutate. +message MutateFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedResult results = 2; +} + +// The result for the feed mutate. +message MutateFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + + // The mutated feed with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Feed feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/geo_target_constant_service.proto new file mode 100644 index 00000000..1c522e77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/geo_target_constant_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Geo target constant service. + +// Service to fetch geo target constants. +service GeoTargetConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns GeoTargetConstant suggestions by location name or by resource name. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [GeoTargetConstantSuggestionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) { + option (google.api.http) = { + post: "/v10/geoTargetConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v10.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsRequest { + // A list of location names. + message LocationNames { + // A list of location names. + repeated string names = 2; + } + + // A list of geo target constant resource names. + message GeoTargets { + // A list of geo target constant resource names. + repeated string geo_target_constants = 2; + } + + // If possible, returned geo targets are translated using this locale. If not, + // en is used by default. This is also used as a hint for returned geo + // targets. + optional string locale = 6; + + // Returned geo targets are restricted to this country code. + optional string country_code = 7; + + // Required. A selector of geo target constants. + oneof query { + // The location names to search by. At most 25 names can be set. + LocationNames location_names = 1; + + // The geo target constant resource names to filter by. + GeoTargets geo_targets = 2; + } +} + +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v10.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsResponse { + // Geo target constant suggestions. + repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; +} + +// A geo target constant suggestion. +message GeoTargetConstantSuggestion { + // The language this GeoTargetConstantSuggestion is currently translated to. + // It affects the name of geo target fields. For example, if locale=en, then + // name=Spain. If locale=es, then name=España. The default locale will be + // returned if no translation exists for the locale in the request. + optional string locale = 6; + + // Approximate user population that will be targeted, rounded to the + // nearest 100. + optional int64 reach = 7; + + // If the request searched by location name, this is the location name that + // matched the geo target. + optional string search_term = 8; + + // The GeoTargetConstant result. + google.ads.googleads.v10.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v10.resources.GeoTargetConstant geo_target_constant_parents = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/google_ads_field_service.proto new file mode 100644 index 00000000..e168eb37 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/google_ads_field_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/google_ads_field.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the GoogleAdsFieldService. + +// Service to fetch Google Ads API fields. +service GoogleAdsFieldService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns just the requested field. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v10.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v10/{resource_name=googleAdsFields/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns all fields that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) { + option (google.api.http) = { + post: "/v10/googleAdsFields:search" + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v10.services.GoogleAdsFieldService.GetGoogleAdsField]. +message GetGoogleAdsFieldRequest { + // Required. The resource name of the field to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; +} + +// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v10.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsRequest { + // Required. The query string. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first page of + // results will be returned. Use the value obtained from `next_page_token` + // in the previous response in order to request the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to further + // limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v10.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v10.resources.GoogleAdsField results = 1; + + // Pagination token used to retrieve the next page of results. Pass the + // content of this string as the `page_token` attribute of the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT clause. + int64 total_results_count = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/google_ads_service.proto new file mode 100644 index 00000000..53326062 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/google_ads_service.proto @@ -0,0 +1,1482 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/metrics.proto"; +import "google/ads/googleads/v10/common/segments.proto"; +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/enums/summary_row_setting.proto"; +import "google/ads/googleads/v10/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v10/resources/account_budget.proto"; +import "google/ads/googleads/v10/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v10/resources/account_link.proto"; +import "google/ads/googleads/v10/resources/ad_group.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v10/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v10/resources/ad_group_asset.proto"; +import "google/ads/googleads/v10/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v10/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v10/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v10/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v10/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v10/resources/ad_group_feed.proto"; +import "google/ads/googleads/v10/resources/ad_group_label.proto"; +import "google/ads/googleads/v10/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v10/resources/ad_parameter.proto"; +import "google/ads/googleads/v10/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v10/resources/age_range_view.proto"; +import "google/ads/googleads/v10/resources/asset.proto"; +import "google/ads/googleads/v10/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v10/resources/asset_group.proto"; +import "google/ads/googleads/v10/resources/asset_group_asset.proto"; +import "google/ads/googleads/v10/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v10/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v10/resources/asset_group_signal.proto"; +import "google/ads/googleads/v10/resources/asset_set.proto"; +import "google/ads/googleads/v10/resources/asset_set_asset.proto"; +import "google/ads/googleads/v10/resources/audience.proto"; +import "google/ads/googleads/v10/resources/batch_job.proto"; +import "google/ads/googleads/v10/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v10/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v10/resources/bidding_strategy.proto"; +import "google/ads/googleads/v10/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v10/resources/billing_setup.proto"; +import "google/ads/googleads/v10/resources/call_view.proto"; +import "google/ads/googleads/v10/resources/campaign.proto"; +import "google/ads/googleads/v10/resources/campaign_asset.proto"; +import "google/ads/googleads/v10/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v10/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v10/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v10/resources/campaign_budget.proto"; +import "google/ads/googleads/v10/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v10/resources/campaign_criterion.proto"; +import "google/ads/googleads/v10/resources/campaign_criterion_simulation.proto"; +import "google/ads/googleads/v10/resources/campaign_customizer.proto"; +import "google/ads/googleads/v10/resources/campaign_draft.proto"; +import "google/ads/googleads/v10/resources/campaign_experiment.proto"; +import "google/ads/googleads/v10/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v10/resources/campaign_feed.proto"; +import "google/ads/googleads/v10/resources/campaign_group.proto"; +import "google/ads/googleads/v10/resources/campaign_label.proto"; +import "google/ads/googleads/v10/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v10/resources/campaign_simulation.proto"; +import "google/ads/googleads/v10/resources/carrier_constant.proto"; +import "google/ads/googleads/v10/resources/change_event.proto"; +import "google/ads/googleads/v10/resources/change_status.proto"; +import "google/ads/googleads/v10/resources/click_view.proto"; +import "google/ads/googleads/v10/resources/combined_audience.proto"; +import "google/ads/googleads/v10/resources/conversion_action.proto"; +import "google/ads/googleads/v10/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v10/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v10/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v10/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v10/resources/currency_constant.proto"; +import "google/ads/googleads/v10/resources/custom_audience.proto"; +import "google/ads/googleads/v10/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v10/resources/custom_interest.proto"; +import "google/ads/googleads/v10/resources/customer.proto"; +import "google/ads/googleads/v10/resources/customer_asset.proto"; +import "google/ads/googleads/v10/resources/customer_client.proto"; +import "google/ads/googleads/v10/resources/customer_client_link.proto"; +import "google/ads/googleads/v10/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v10/resources/customer_customizer.proto"; +import "google/ads/googleads/v10/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v10/resources/customer_feed.proto"; +import "google/ads/googleads/v10/resources/customer_label.proto"; +import "google/ads/googleads/v10/resources/customer_manager_link.proto"; +import "google/ads/googleads/v10/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v10/resources/customer_user_access.proto"; +import "google/ads/googleads/v10/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v10/resources/customizer_attribute.proto"; +import "google/ads/googleads/v10/resources/detail_placement_view.proto"; +import "google/ads/googleads/v10/resources/detailed_demographic.proto"; +import "google/ads/googleads/v10/resources/display_keyword_view.proto"; +import "google/ads/googleads/v10/resources/distance_view.proto"; +import "google/ads/googleads/v10/resources/domain_category.proto"; +import "google/ads/googleads/v10/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v10/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v10/resources/experiment.proto"; +import "google/ads/googleads/v10/resources/experiment_arm.proto"; +import "google/ads/googleads/v10/resources/extension_feed_item.proto"; +import "google/ads/googleads/v10/resources/feed.proto"; +import "google/ads/googleads/v10/resources/feed_item.proto"; +import "google/ads/googleads/v10/resources/feed_item_set.proto"; +import "google/ads/googleads/v10/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v10/resources/feed_item_target.proto"; +import "google/ads/googleads/v10/resources/feed_mapping.proto"; +import "google/ads/googleads/v10/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v10/resources/gender_view.proto"; +import "google/ads/googleads/v10/resources/geo_target_constant.proto"; +import "google/ads/googleads/v10/resources/geographic_view.proto"; +import "google/ads/googleads/v10/resources/group_placement_view.proto"; +import "google/ads/googleads/v10/resources/hotel_group_view.proto"; +import "google/ads/googleads/v10/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v10/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v10/resources/income_range_view.proto"; +import "google/ads/googleads/v10/resources/keyword_plan.proto"; +import "google/ads/googleads/v10/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v10/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v10/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v10/resources/keyword_view.proto"; +import "google/ads/googleads/v10/resources/label.proto"; +import "google/ads/googleads/v10/resources/landing_page_view.proto"; +import "google/ads/googleads/v10/resources/language_constant.proto"; +import "google/ads/googleads/v10/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v10/resources/life_event.proto"; +import "google/ads/googleads/v10/resources/location_view.proto"; +import "google/ads/googleads/v10/resources/managed_placement_view.proto"; +import "google/ads/googleads/v10/resources/media_file.proto"; +import "google/ads/googleads/v10/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v10/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v10/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v10/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v10/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v10/resources/parental_status_view.proto"; +import "google/ads/googleads/v10/resources/product_bidding_category_constant.proto"; +import "google/ads/googleads/v10/resources/product_group_view.proto"; +import "google/ads/googleads/v10/resources/recommendation.proto"; +import "google/ads/googleads/v10/resources/remarketing_action.proto"; +import "google/ads/googleads/v10/resources/search_term_view.proto"; +import "google/ads/googleads/v10/resources/shared_criterion.proto"; +import "google/ads/googleads/v10/resources/shared_set.proto"; +import "google/ads/googleads/v10/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v10/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v10/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v10/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v10/resources/topic_constant.proto"; +import "google/ads/googleads/v10/resources/topic_view.proto"; +import "google/ads/googleads/v10/resources/user_interest.proto"; +import "google/ads/googleads/v10/resources/user_list.proto"; +import "google/ads/googleads/v10/resources/user_location_view.proto"; +import "google/ads/googleads/v10/resources/video.proto"; +import "google/ads/googleads/v10/resources/webpage_view.proto"; +import "google/ads/googleads/v10/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v10/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v10/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v10/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v10/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v10/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v10/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v10/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v10/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v10/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v10/services/ad_group_label_service.proto"; +import "google/ads/googleads/v10/services/ad_group_service.proto"; +import "google/ads/googleads/v10/services/ad_parameter_service.proto"; +import "google/ads/googleads/v10/services/ad_service.proto"; +import "google/ads/googleads/v10/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v10/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v10/services/asset_group_service.proto"; +import "google/ads/googleads/v10/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v10/services/asset_service.proto"; +import "google/ads/googleads/v10/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v10/services/asset_set_service.proto"; +import "google/ads/googleads/v10/services/audience_service.proto"; +import "google/ads/googleads/v10/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v10/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v10/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v10/services/campaign_asset_service.proto"; +import "google/ads/googleads/v10/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v10/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v10/services/campaign_budget_service.proto"; +import "google/ads/googleads/v10/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v10/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v10/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v10/services/campaign_draft_service.proto"; +import "google/ads/googleads/v10/services/campaign_experiment_service.proto"; +import "google/ads/googleads/v10/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v10/services/campaign_feed_service.proto"; +import "google/ads/googleads/v10/services/campaign_group_service.proto"; +import "google/ads/googleads/v10/services/campaign_label_service.proto"; +import "google/ads/googleads/v10/services/campaign_service.proto"; +import "google/ads/googleads/v10/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v10/services/conversion_action_service.proto"; +import "google/ads/googleads/v10/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v10/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v10/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v10/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v10/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v10/services/customer_asset_service.proto"; +import "google/ads/googleads/v10/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v10/services/customer_customizer_service.proto"; +import "google/ads/googleads/v10/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v10/services/customer_feed_service.proto"; +import "google/ads/googleads/v10/services/customer_label_service.proto"; +import "google/ads/googleads/v10/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v10/services/customer_service.proto"; +import "google/ads/googleads/v10/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v10/services/experiment_arm_service.proto"; +import "google/ads/googleads/v10/services/experiment_service.proto"; +import "google/ads/googleads/v10/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v10/services/feed_item_service.proto"; +import "google/ads/googleads/v10/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v10/services/feed_item_set_service.proto"; +import "google/ads/googleads/v10/services/feed_item_target_service.proto"; +import "google/ads/googleads/v10/services/feed_mapping_service.proto"; +import "google/ads/googleads/v10/services/feed_service.proto"; +import "google/ads/googleads/v10/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v10/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v10/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v10/services/keyword_plan_service.proto"; +import "google/ads/googleads/v10/services/label_service.proto"; +import "google/ads/googleads/v10/services/media_file_service.proto"; +import "google/ads/googleads/v10/services/remarketing_action_service.proto"; +import "google/ads/googleads/v10/services/shared_criterion_service.proto"; +import "google/ads/googleads/v10/services/shared_set_service.proto"; +import "google/ads/googleads/v10/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/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: "/v10/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 desired 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: "/v10/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for [GoogleAdsService.Search][google.ads.googleads.v10.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.v10.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 8; +} + +// Response message for [GoogleAdsService.Search][google.ads.googleads.v10.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; +} + +// Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v10.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.v10.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 3; +} + +// Response message for [GoogleAdsService.SearchStream][google.ads.googleads.v10.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; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + google.ads.googleads.v10.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v10.resources.AccountBudgetProposal account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v10.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v10.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v10.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v10.resources.AdGroupAdAssetCombinationView ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v10.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v10.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v10.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group audience view referenced in the query. + google.ads.googleads.v10.resources.AdGroupAudienceView ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v10.resources.AdGroupBidModifier ad_group_bid_modifier = 24; + + // The criterion referenced in the query. + google.ads.googleads.v10.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v10.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v10.resources.AdGroupCriterionLabel ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v10.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v10.resources.AdGroupCustomizer ad_group_customizer = 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v10.resources.AdGroupExtensionSetting ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v10.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v10.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v10.resources.AdGroupSimulation ad_group_simulation = 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v10.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v10.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v10.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v10.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v10.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v10.resources.AssetFieldTypeView asset_field_type_view = 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v10.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v10.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v10.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v10.resources.AssetGroupProductGroupView asset_group_product_group_view = 189; + + // The asset group referenced in the query. + google.ads.googleads.v10.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v10.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v10.resources.AssetSet asset_set = 179; + + // The batch job referenced in the query. + google.ads.googleads.v10.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v10.resources.BiddingDataExclusion bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v10.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v10.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v10.resources.BiddingStrategySimulation bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v10.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v10.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v10.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v10.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v10.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v10.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v10.resources.CampaignAudienceView campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v10.resources.CampaignBidModifier campaign_bid_modifier = 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v10.resources.CampaignConversionGoal campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v10.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign criterion simulation referenced in the query. + google.ads.googleads.v10.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111; + + // The campaign customizer referenced in the query. + google.ads.googleads.v10.resources.CampaignCustomizer campaign_customizer = 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v10.resources.CampaignDraft campaign_draft = 49; + + // The campaign experiment referenced in the query. + google.ads.googleads.v10.resources.CampaignExperiment campaign_experiment = 84; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v10.resources.CampaignExtensionSetting campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v10.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v10.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v10.resources.CampaignLabel campaign_label = 108; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v10.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v10.resources.CampaignSimulation campaign_simulation = 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v10.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v10.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v10.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v10.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v10.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v10.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v10.resources.ConversionCustomVariable conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v10.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v10.resources.ConversionValueRule conversion_value_rule = 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v10.resources.ConversionValueRuleSet conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v10.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v10.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v10.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v10.resources.CustomConversionGoal custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v10.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v10.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v10.resources.CustomerAsset customer_asset = 155; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v10.resources.AccessibleBiddingStrategy accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v10.resources.CustomerCustomizer customer_customizer = 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v10.resources.CustomerManagerLink customer_manager_link = 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v10.resources.CustomerClientLink customer_client_link = 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v10.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v10.resources.CustomerConversionGoal customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v10.resources.CustomerExtensionSetting customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v10.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v10.resources.CustomerLabel customer_label = 124; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v10.resources.CustomerNegativeCriterion customer_negative_criterion = 88; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v10.resources.CustomerUserAccess customer_user_access = 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v10.resources.CustomerUserAccessInvitation customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v10.resources.CustomizerAttribute customizer_attribute = 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v10.resources.DetailPlacementView detail_placement_view = 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v10.resources.DetailedDemographic detailed_demographic = 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v10.resources.DisplayKeywordView display_keyword_view = 47; + + // The distance view referenced in the query. + google.ads.googleads.v10.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v10.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v10.resources.ExpandedLandingPageView expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v10.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v10.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v10.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v10.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v10.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v10.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v10.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v10.resources.FeedPlaceholderView feed_placeholder_view = 97; + + // The gender view referenced in the query. + google.ads.googleads.v10.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v10.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v10.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v10.resources.GroupPlacementView group_placement_view = 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v10.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v10.resources.HotelPerformanceView hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v10.resources.HotelReconciliation hotel_reconciliation = 188; + + // The income range view referenced in the query. + google.ads.googleads.v10.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v10.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v10.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v10.resources.KeywordPlanCampaign keyword_plan_campaign = 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v10.resources.KeywordPlanCampaignKeyword keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v10.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v10.resources.KeywordPlanAdGroupKeyword keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v10.resources.KeywordThemeConstant keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v10.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v10.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v10.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v10.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v10.resources.ManagedPlacementView managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v10.resources.MediaFile media_file = 90; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v10.resources.MobileAppCategoryConstant mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v10.resources.MobileDeviceConstant mobile_device_constant = 98; + + // The offline user data job referenced in the query. + google.ads.googleads.v10.resources.OfflineUserDataJob offline_user_data_job = 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v10.resources.OperatingSystemVersionConstant operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v10.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129; + + // The parental status view referenced in the query. + google.ads.googleads.v10.resources.ParentalStatusView parental_status_view = 45; + + // The Product Bidding Category referenced in the query. + google.ads.googleads.v10.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109; + + // The product group view referenced in the query. + google.ads.googleads.v10.resources.ProductGroupView product_group_view = 54; + + // The recommendation referenced in the query. + google.ads.googleads.v10.resources.Recommendation recommendation = 22; + + // The search term view referenced in the query. + google.ads.googleads.v10.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v10.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v10.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v10.resources.SmartCampaignSetting smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v10.resources.ShoppingPerformanceView shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v10.resources.SmartCampaignSearchTermView smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v10.resources.ThirdPartyAppAnalyticsLink third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v10.resources.TopicView topic_view = 44; + + // The experiment referenced in the query. + google.ads.googleads.v10.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v10.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v10.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v10.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v10.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v10.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v10.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v10.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v10.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v10.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v10.resources.LeadFormSubmissionData lead_form_submission_data = 192; + + // The metrics. + google.ads.googleads.v10.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v10.common.Segments segments = 102; +} + +// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v10.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. E.g. MutateCampaignResult.campaign. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v10.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 (e.g., 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; + + // An campaign customizer mutate operation. + CampaignCustomizerOperation campaign_customizer_operation = 76; + + // A campaign draft mutate operation. + CampaignDraftOperation campaign_draft_operation = 24; + + // A campaign experiment mutate operation. + CampaignExperimentOperation campaign_experiment_operation = 25; + + // 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; + + // An 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; + + // An 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 experiment mutate. + MutateCampaignExperimentResult campaign_experiment_result = 25; + + // 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 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/google-cloud/protos/google/ads/googleads/v10/services/invoice_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/invoice_service.proto new file mode 100644 index 00000000..d1ad6dc8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/invoice_service.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/month_of_year.proto"; +import "google/ads/googleads/v10/resources/invoice.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Invoice service. + +// A service to fetch invoices issued for a billing setup during a given month. +service InvoiceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all invoices associated with a billing setup, for a given month. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [InvoiceError]() + // [QuotaError]() + // [RequestError]() + rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { + option (google.api.http) = { + get: "/v10/customers/{customer_id=*}/invoices" + }; + option (google.api.method_signature) = "customer_id,billing_setup,issue_year,issue_month"; + } +} + +// Request message for fetching the invoices of a given billing setup that were +// issued during a given month. +message ListInvoicesRequest { + // Required. The ID of the customer to fetch invoices for. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The billing setup resource name of the requested invoices. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string billing_setup = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue year to retrieve invoices, in yyyy format. Only + // invoices issued in 2019 or later can be retrieved. + string issue_year = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue month to retrieve invoices. + google.ads.googleads.v10.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [InvoiceService.ListInvoices][google.ads.googleads.v10.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v10.resources.Invoice invoices = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 00000000..149441c2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/keyword_plan_ad_group_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the keyword plan ad group keyword service. + +// Service to manage Keyword Plan ad group keywords. KeywordPlanAdGroup is +// required to add ad group keywords. Positive and negative keywords are +// supported. A maximum of 10,000 positive keywords are allowed per keyword +// plan. A maximum of 1,000 negative keywords are allower per keyword plan. This +// includes campaign negative keywords and ad group negative keywords. +service KeywordPlanAdGroupKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad group keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroupKeywords(MutateKeywordPlanAdGroupKeywordsRequest) returns (MutateKeywordPlanAdGroupKeywordsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v10.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +message MutateKeywordPlanAdGroupKeywordsRequest { + // Required. The ID of the customer whose Keyword Plan ad group keywords are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad group + // keywords. + repeated KeywordPlanAdGroupKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group +// keyword. +message KeywordPlanAdGroupKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group keyword. + google.ads.googleads.v10.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v10.resources.KeywordPlanAdGroupKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // keyword is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; + } +} + +// Response message for a Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_service.proto new file mode 100644 index 00000000..50169b29 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_ad_group_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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/keyword_plan_ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the keyword plan ad group service. + +// Service to manage Keyword Plan ad groups. +service KeywordPlanAdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v10.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +message MutateKeywordPlanAdGroupsRequest { + // Required. The ID of the customer whose Keyword Plan ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad groups. + repeated KeywordPlanAdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group. +message KeywordPlanAdGroupOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group. + google.ads.googleads.v10.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.KeywordPlanAdGroup update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + } +} + +// Response message for a Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 00000000..704d6d51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/keyword_plan_campaign_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the keyword plan campaign keyword service. + +// Service to manage Keyword Plan campaign keywords. KeywordPlanCampaign is +// required to add the campaign keywords. Only negative keywords are supported. +// A maximum of 1000 negative keywords are allowed per plan. This includes both +// campaign negative keywords and ad group negative keywords. +service KeywordPlanCampaignKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaign keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignKeywordError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaignKeywords(MutateKeywordPlanCampaignKeywordsRequest) returns (MutateKeywordPlanCampaignKeywordsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +message MutateKeywordPlanCampaignKeywordsRequest { + // Required. The ID of the customer whose campaign keywords are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaign + // keywords. + repeated KeywordPlanCampaignKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign +// keyword. +message KeywordPlanCampaignKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign keyword. + google.ads.googleads.v10.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v10.resources.KeywordPlanCampaignKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // keywords expected in this format: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; + } +} + +// Response message for a Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_service.proto new file mode 100644 index 00000000..1f9ac483 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_campaign_service.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/keyword_plan_campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the keyword plan campaign service. + +// Service to manage Keyword Plan campaigns. +service KeywordPlanCampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [ListOperationError]() + // [MutateError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v10.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +message MutateKeywordPlanCampaignsRequest { + // Required. The ID of the customer whose Keyword Plan campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaigns. + repeated KeywordPlanCampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign. +message KeywordPlanCampaignOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign. + google.ads.googleads.v10.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.KeywordPlanCampaign update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + } +} + +// Response message for a Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_idea_service.proto new file mode 100644 index 00000000..2f4fd4cb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_idea_service.proto @@ -0,0 +1,246 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/keyword_plan_common.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v10/enums/keyword_plan_network.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/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: "/v10/customers/{customer_id=*}:generateKeywordHistoricalMetrics" + body: "*" + }; + } +} + +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v10.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. + // Required + optional string language = 14; + + // The resource names of the location to target. + // Max 10 + 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. + google.ads.googleads.v10.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v10.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v10.common.KeywordPlanAggregateMetrics aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v10.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 + // e.g. cars, www.example.com/cars. + KeywordAndUrlSeed keyword_and_url_seed = 2; + + // A Keyword or phrase to generate ideas from, e.g. cars. + KeywordSeed keyword_seed = 3; + + // A specific url to generate ideas from, e.g. www.example.com/cars. + UrlSeed url_seed = 5; + + // The site to generate ideas from, e.g. 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.v10.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v10.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.v10.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v10.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.v10.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 options for historical metrics data. + google.ads.googleads.v10.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v10.services.KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics]. +message GenerateKeywordHistoricalMetricsResponse { + // List of keywords and their historical metrics. + repeated GenerateKeywordHistoricalMetricsResult results = 1; +} + +// 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.v10.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_service.proto new file mode 100644 index 00000000..b6d64667 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_plan_service.proto @@ -0,0 +1,421 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/keyword_plan_common.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Returns the requested Keyword Plan forecast curve. + // Only the bidding strategy is considered for generating forecast curve. + // The bidding strategy value specified in the plan is ignored. + // + // To generate a forecast at a value specified in the plan, use + // KeywordPlanService.GenerateForecastMetrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastCurve(GenerateForecastCurveRequest) returns (GenerateForecastCurveResponse) { + option (google.api.http) = { + post: "/v10/{keyword_plan=customers/*/keywordPlans/*}:generateForecastCurve" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns a forecast in the form of a time series for the Keyword Plan over + // the next 52 weeks. + // (1) Forecasts closer to the current date are generally more accurate than + // further out. + // + // (2) The forecast reflects seasonal trends using current and + // prior traffic patterns. The forecast period of the plan is ignored. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastTimeSeries(GenerateForecastTimeSeriesRequest) returns (GenerateForecastTimeSeriesResponse) { + option (google.api.http) = { + post: "/v10/{keyword_plan=customers/*/keywordPlans/*}:generateForecastTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan forecasts. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) { + option (google.api.http) = { + post: "/v10/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan historical metrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) { + option (google.api.http) = { + post: "/v10/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } +} + +// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v10.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.v10.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v10.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 (e.g. 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" + }]; +} + +// Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveResponse { + // List of forecast curves for the keyword plan campaign. + // One maximum. + repeated KeywordPlanCampaignForecastCurve campaign_forecast_curves = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesResponse { + // List of weekly time series forecasts for the keyword plan campaign. + // One maximum. + repeated KeywordPlanWeeklyTimeSeriesForecast weekly_time_series_forecasts = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v10.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsResponse { + // List of campaign forecasts. + // One maximum. + repeated KeywordPlanCampaignForecast campaign_forecasts = 1; + + // List of ad group forecasts. + repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; + + // List of keyword forecasts. + repeated KeywordPlanKeywordForecast keyword_forecasts = 3; +} + +// A campaign forecast. +message KeywordPlanCampaignForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The forecast for the Keyword Plan campaign. + ForecastMetrics campaign_forecast = 2; +} + +// An ad group forecast. +message KeywordPlanAdGroupForecast { + // The resource name of the Keyword Plan ad group related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` + optional string keyword_plan_ad_group = 3; + + // The forecast for the Keyword Plan ad group. + ForecastMetrics ad_group_forecast = 2; +} + +// A keyword forecast. +message KeywordPlanKeywordForecast { + // The resource name of the Keyword Plan keyword related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` + optional string keyword_plan_ad_group_keyword = 3; + + // The forecast for the Keyword Plan keyword. + ForecastMetrics keyword_forecast = 2; +} + +// The forecast curve for the campaign. +message KeywordPlanCampaignForecastCurve { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The max cpc bid forecast curve for the campaign. + KeywordPlanMaxCpcBidForecastCurve max_cpc_bid_forecast_curve = 2; +} + +// The max cpc bid forecast curve. +message KeywordPlanMaxCpcBidForecastCurve { + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanMaxCpcBidForecast max_cpc_bid_forecasts = 1; +} + +// The forecast of the campaign at a specific bid. +message KeywordPlanMaxCpcBidForecast { + // The max cpc bid in micros. + optional int64 max_cpc_bid_micros = 3; + + // The forecast for the Keyword Plan campaign at the specific bid. + ForecastMetrics max_cpc_bid_forecast = 2; +} + +// The weekly time series forecast for the keyword plan campaign. +message KeywordPlanWeeklyTimeSeriesForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 1; + + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanWeeklyForecast weekly_forecasts = 2; +} + +// The forecast of the campaign for the week starting start_date. +message KeywordPlanWeeklyForecast { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 1; + + // The forecast for the Keyword Plan campaign for the week. + ForecastMetrics forecast = 2; +} + +// Forecast metrics. +message ForecastMetrics { + // Impressions + optional double impressions = 7; + + // Ctr + optional double ctr = 8; + + // AVG cpc + optional int64 average_cpc = 9; + + // Clicks + optional double clicks = 10; + + // Cost + optional int64 cost_micros = 11; +} + +// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v10.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsRequest { + // Required. The resource name of the keyword plan of which historical metrics are + // requested. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // The aggregate fields to include in response. + google.ads.googleads.v10.common.KeywordPlanAggregateMetrics aggregate_metrics = 2; + + // The options for historical metrics data. + google.ads.googleads.v10.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v10.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsResponse { + // List of keyword historical metrics. + repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; + + // The aggregate metrics for all the keywords in the keyword planner plan. + google.ads.googleads.v10.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2; +} + +// A keyword historical metrics. +message KeywordPlanKeywordHistoricalMetrics { + // The text of the query associated with one or more ad_group_keywords in the + // plan. + // + // Note that we de-dupe your keywords list, eliminating close variants before + // returning the plan's keywords as text. For example, if your plan originally + // contained the keywords 'car' and 'cars', the returned search query will + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. + optional string search_query = 4; + + // The list of close variant queries for search_query whose search results + // are combined into the search_query. + repeated string close_variants = 3; + + // The historical metrics for the query associated with one or more + // ad_group_keywords in the plan. + google.ads.googleads.v10.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/keyword_theme_constant_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/keyword_theme_constant_service.proto new file mode 100644 index 00000000..ca22a316 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/keyword_theme_constant_service.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Smart Campaign keyword theme constant service. + +// Service to fetch Smart Campaign keyword themes. +service KeywordThemeConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns KeywordThemeConstant suggestions by keyword themes. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestKeywordThemeConstants(SuggestKeywordThemeConstantsRequest) returns (SuggestKeywordThemeConstantsResponse) { + option (google.api.http) = { + post: "/v10/keywordThemeConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v10.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsRequest { + // The query text of a keyword theme that will be used to map to similar + // keyword themes. E.g. "plumber" or "roofer". + string query_text = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. This for + // refining the scope of the query, default to 'US' if not set. + string country_code = 2; + + // The two letter language code for get corresponding keyword theme for + // refining the scope of the query, default to 'en' if not set. + string language_code = 3; +} + +// Response message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v10.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v10.resources.KeywordThemeConstant keyword_theme_constants = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/label_service.proto new file mode 100644 index 00000000..c786fd81 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/label_service.proto @@ -0,0 +1,145 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to manage labels. +service LabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes labels. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/labels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [LabelService.MutateLabels][google.ads.googleads.v10.services.LabelService.MutateLabels]. +message MutateLabelsRequest { + // Required. ID of the customer whose labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on labels. + repeated LabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a label. +message LabelOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new label. + google.ads.googleads.v10.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v10.resources.Label update = 2; + + // Remove operation: A resource name for the label being removed, in + // this format: + // + // `customers/{customer_id}/labels/{label_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + } +} + +// Response message for a labels mutate. +message MutateLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateLabelResult results = 2; +} + +// The result for a label mutate. +message MutateLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + + // The mutated label with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.Label label = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/media_file_service.proto new file mode 100644 index 00000000..6f697a09 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/media_file_service.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/media_file.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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// 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) = { + post: "/v10/customers/{customer_id=*}/mediaFiles:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v10.services.MediaFileService.MutateMediaFiles] +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. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v10.resources.MediaFile create = 1; + } +} + +// 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 (e.g. 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". + google.ads.googleads.v10.resources.MediaFile media_file = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/merchant_center_link_service.proto new file mode 100644 index 00000000..76d59dfb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/merchant_center_link_service.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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/merchant_center_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// 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) = { + get: "/v10/customers/{customer_id=*}/merchantCenterLinks" + }; + 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]() + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v10.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v10/{resource_name=customers/*/merchantCenterLinks/*}" + }; + 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) = { + post: "/v10/customers/{customer_id=*}/merchantCenterLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v10.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +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]; +} + +// Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v10.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +message ListMerchantCenterLinksResponse { + // Merchant Center links available for the requested customer + repeated google.ads.googleads.v10.resources.MerchantCenterLink merchant_center_links = 1; +} + +// Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v10.services.MerchantCenterLinkService.GetMerchantCenterLink]. +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" + } + ]; +} + +// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v10.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +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. + google.ads.googleads.v10.resources.MerchantCenterLink update = 1; + + // 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/google-cloud/protos/google/ads/googleads/v10/services/offline_user_data_job_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/offline_user_data_job_service.proto new file mode 100644 index 00000000..70328574 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/offline_user_data_job_service.proto @@ -0,0 +1,212 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/offline_user_data.proto"; +import "google/ads/googleads/v10/resources/offline_user_data_job.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the OfflineUserDataJobService. + +// Service to manage offline user data jobs. +service OfflineUserDataJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [NotAllowlistedError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc CreateOfflineUserDataJob(CreateOfflineUserDataJobRequest) returns (CreateOfflineUserDataJobResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/offlineUserDataJobs:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,job"; + } + + // Adds operations to the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc AddOfflineUserDataJobOperations(AddOfflineUserDataJobOperationsRequest) returns (AddOfflineUserDataJobOperationsResponse) { + option (google.api.http) = { + post: "/v10/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,operations"; + } + + // Runs the offline user data job. + // + // When finished, the long running operation will contain the processing + // result or failure information, if any. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc RunOfflineUserDataJob(RunOfflineUserDataJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v10/{resource_name=customers/*/offlineUserDataJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v10.resources.OfflineUserDataJobMetadata" + }; + } +} + +// Request message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v10.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobRequest { + // Required. The ID of the customer for which to create an offline user data job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The offline user data job to be created. + google.ads.googleads.v10.resources.OfflineUserDataJob job = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // If true, match rate range for the offline user data job is calculated and + // made available in the resource. + bool enable_match_rate_range_preview = 5; +} + +// Response message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v10.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v10.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +message RunOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v10.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsRequest { + // Required. The resource name of the OfflineUserDataJob. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // True to enable partial failure for the offline user data job. + optional bool enable_partial_failure = 4; + + // True to enable warnings for the offline user data job. When enabled, a + // warning will not block the OfflineUserDataJobOperation, and will also + // return warning messages about malformed field values. + optional bool enable_warnings = 6; + + // Required. The list of operations to be done. + repeated OfflineUserDataJobOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; +} + +// Operation to be made for the AddOfflineUserDataJobOperationsRequest. +message OfflineUserDataJobOperation { + // Operation to be made for the AddOfflineUserDataJobOperationsRequest. + oneof operation { + // Add the provided data to the transaction. Data cannot be retrieved after + // being uploaded. + google.ads.googleads.v10.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v10.common.UserData remove = 2; + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v10.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/payments_account_service.proto new file mode 100644 index 00000000..a7f13749 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/payments_account_service.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/payments_account.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the payments account service. + +// Service to provide payments accounts that can be used to set up consolidated +// billing. +service PaymentsAccountService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all payments accounts associated with all managers + // between the login customer ID and specified serving customer in the + // hierarchy, inclusive. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PaymentsAccountError]() + // [QuotaError]() + // [RequestError]() + rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) { + option (google.api.http) = { + get: "/v10/customers/{customer_id=*}/paymentsAccounts" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for fetching all accessible payments accounts. +message ListPaymentsAccountsRequest { + // Required. The ID of the customer to apply the PaymentsAccount list operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v10.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v10.resources.PaymentsAccount payments_accounts = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/reach_plan_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/reach_plan_service.proto new file mode 100644 index 00000000..da1ec03b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/reach_plan_service.proto @@ -0,0 +1,568 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/common/dates.proto"; +import "google/ads/googleads/v10/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v10/enums/reach_plan_ad_length.proto"; +import "google/ads/googleads/v10/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v10/enums/reach_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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the reach plan service. + +// Reach Plan Service gives users information about audience size that can +// be reached through advertisement on YouTube. In particular, +// GenerateReachForecast provides estimated number of people of specified +// demographics that can be reached by an ad in a given market by a campaign of +// certain duration with a defined budget. +service ReachPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the list of plannable locations (for example, countries). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableLocations(ListPlannableLocationsRequest) returns (ListPlannableLocationsResponse) { + option (google.api.http) = { + post: "/v10:listPlannableLocations" + body: "*" + }; + } + + // Returns the list of per-location plannable YouTube ad formats with allowed + // targeting. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableProducts(ListPlannableProductsRequest) returns (ListPlannableProductsResponse) { + option (google.api.http) = { + post: "/v10:listPlannableProducts" + body: "*" + }; + option (google.api.method_signature) = "plannable_location_id"; + } + + // Generates a product mix ideas given a set of preferences. This method + // helps the advertiser to obtain a good mix of ad formats and budget + // allocations based on its preferences. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateProductMixIdeas(GenerateProductMixIdeasRequest) returns (GenerateProductMixIdeasResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:generateProductMixIdeas" + body: "*" + }; + option (google.api.method_signature) = "customer_id,plannable_location_id,currency_code,budget_micros"; + } + + // Generates a reach forecast for a given targeting / product mix. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateReachForecast(GenerateReachForecastRequest) returns (GenerateReachForecastResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:generateReachForecast" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v10.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest { + +} + +// The list of plannable locations. +message ListPlannableLocationsResponse { + // The list of locations available for planning. + // See + // https://developers.google.com/google-ads/api/reference/data/geotargets + // for sample locations. + repeated PlannableLocation plannable_locations = 1; +} + +// A plannable location: country, metro region, province, etc. +message PlannableLocation { + // The location identifier. + optional string id = 4; + + // The unique location name in English. + optional string name = 5; + + // The parent country (not present if location is a country). + // If present, will always be a GeoTargetConstant ID. Additional information + // such as country name is provided by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v10.services.ReachPlanService.ListPlannableLocations] or + // [GoogleAdsService.Search/SearchStream][]. + optional int64 parent_country_id = 6; + + // The ISO-3166-1 alpha-2 country code that is associated with the location. + optional string country_code = 7; + + // The location's type. Location types correspond to target_type returned by + // searching location type in [GoogleAdsService.Search/SearchStream][]. + optional string location_type = 8; +} + +// Request to list available products in a given location. +message ListPlannableProductsRequest { + // Required. The ID of the selected location for planning. To list the available + // plannable location IDs use [ReachPlanService.ListPlannableLocations][google.ads.googleads.v10.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response with all available products. +message ListPlannableProductsResponse { + // The list of products available for planning and related targeting metadata. + repeated ProductMetadata product_metadata = 1; +} + +// The metadata associated with an available plannable product. +message ProductMetadata { + // The code associated with the ad product (for example: BUMPER, + // TRUEVIEW_IN_STREAM). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v10.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 4; + + // The name associated with the ad product. + string plannable_product_name = 3; + + // The allowed plannable targeting for this product. + PlannableTargeting plannable_targeting = 2; +} + +// The targeting for which traffic metrics will be reported. +message PlannableTargeting { + // Allowed plannable age ranges for the product for which metrics will be + // reported. Actual targeting is computed by mapping this age range onto + // standard Google common.AgeRangeInfo values. + repeated google.ads.googleads.v10.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v10.common.GenderInfo genders = 2; + + // Targetable devices for the ad product. + // TABLET device targeting is automatically applied to reported metrics + // when MOBILE targeting is selected for CPM_MASTHEAD, + // GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products. + repeated google.ads.googleads.v10.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v10.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; +} + +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v10.services.ReachPlanService.GenerateProductMixIdeas]. +message GenerateProductMixIdeasRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID of the location, this is one of the IDs returned by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v10.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Currency code. + // Three-character ISO 4217 currency code. + string currency_code = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. Total budget. + // Amount in micros. One million is equivalent to one unit. + int64 budget_micros = 8 [(google.api.field_behavior) = REQUIRED]; + + // The preferences of the suggested product mix. + // An unset preference is interpreted as all possible values are allowed, + // unless explicitly specified. + Preferences preferences = 5; +} + +// Set of preferences about the planned mix. +message Preferences { + // True if ad skippable. + // If not set, default is any value. + optional bool is_skippable = 6; + + // True if ad start with sound. + // If not set, default is any value. + optional bool starts_with_sound = 7; + + // The length of the ad. + // If not set, default is any value. + google.ads.googleads.v10.enums.ReachPlanAdLengthEnum.ReachPlanAdLength ad_length = 3; + + // True if ad will only show on the top content. + // If not set, default is false. + optional bool top_content_only = 8; + + // True if the price is guaranteed. The cost of serving the ad is agreed + // upfront and not subject to an auction. + // If not set, default is any value. + optional bool has_guaranteed_price = 9; +} + +// The suggested product mix. +message GenerateProductMixIdeasResponse { + // A list of products (ad formats) and the associated budget allocation idea. + repeated ProductAllocation product_allocation = 1; +} + +// An allocation of a part of the budget on a given product. +message ProductAllocation { + // Selected product for planning. The product codes returned are within the + // set of the ones returned by ListPlannableProducts when using the same + // location ID. + optional string plannable_product_code = 3; + + // The value to be allocated for the suggested product in requested currency. + // Amount in micros. One million is equivalent to one unit. + optional int64 budget_micros = 4; +} + +// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v10.services.ReachPlanService.GenerateReachForecast]. +message GenerateReachForecastRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The currency code. + // Three-character ISO 4217 currency code. + optional string currency_code = 9; + + // Required. Campaign duration. + CampaignDuration campaign_duration = 3 [(google.api.field_behavior) = REQUIRED]; + + // Desired 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. + // Please use cookie_frequency_cap_setting instead. + optional int32 cookie_frequency_cap = 10; + + // Desired 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; + + // Desired 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, please 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]; +} + +// Effective frequency limit. +message EffectiveFrequencyLimit { + // The highest effective frequency value to include in + // Forecast.effective_frequency_breakdowns. + // This field supports frequencies 1-10, inclusive. + int32 effective_frequency_breakdown_limit = 1; +} + +// A rule specifying the maximum number of times an ad can be shown to a user +// over a particular time period. +message FrequencyCap { + // Required. The number of impressions, inclusive. + int32 impressions = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of time unit. + google.ads.googleads.v10.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // Required. The ID of the selected location. Plannable location IDs can be + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v10.services.ReachPlanService.ListPlannableLocations]. + optional string plannable_location_id = 6; + + // Targeted age range. + // An unset value is equivalent to targeting all ages. + google.ads.googleads.v10.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v10.common.GenderInfo genders = 3; + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v10.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v10.common.DeviceInfo devices = 4; + + // Targetable network for the ad product. + // If not specified, targets all applicable networks. Applicable networks vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v10.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v10.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = 5; +} + +// The duration of a planned campaign. +message CampaignDuration { + // The duration value in days. + // + // This field cannot be combined with the date_range field. + optional int32 duration_in_days = 2; + + // Date range of the campaign. + // Dates are in the yyyy-mm-dd format and inclusive. + // The end date must be < 1 year in the future and the + // date range must be <= 92 days long. + // + // This field cannot be combined with the duration_in_days field. + google.ads.googleads.v10.common.DateRange date_range = 3; +} + +// A product being planned for reach. +message PlannedProduct { + // Required. Selected product for planning. + // The code associated with the ad product (for example: Trueview, Bumper). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v10.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; + + // Required. Maximum budget allocation in micros for the selected product. + // The value is specified in the selected planning currency_code. + // For example: 1 000 000$ = 1 000 000 000 000 micros. + optional int64 budget_micros = 4; +} + +// 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; +} + +// 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; +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/recommendation_service.proto new file mode 100644 index 00000000..f332a223 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/recommendation_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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/extensions.proto"; +import "google/ads/googleads/v10/enums/keyword_match_type.proto"; +import "google/ads/googleads/v10/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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: "/v10/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: "/v10/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v10.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 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.v10.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.v10.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.v10.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.v10.common.CallFeedItem call_extensions = 1; + } + + // Parameters to use when applying sitelink extension recommendation. + message SitelinkExtensionParameters { + // Sitelink extensions to be added. This is a required field. + repeated google.ads.googleads.v10.common.SitelinkFeedItem sitelink_extensions = 1; + } + + // 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.v10.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.v10.resources.Ad ad = 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 extension 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 recommendation. + ResponsiveSearchAdAssetParameters responsive_search_ad_asset = 13; + } +} + +// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v10.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 (e.g. 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.v10.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.v10.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 (e.g. auth errors) + // we return the RPC level error. + google.rpc.Status partial_failure_error = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/remarketing_action_service.proto new file mode 100644 index 00000000..a59548a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/remarketing_action_service.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/remarketing_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Remarketing Action service. + +// Service to manage remarketing actions. +service RemarketingActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates remarketing actions. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateRemarketingActions(MutateRemarketingActionsRequest) returns (MutateRemarketingActionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/remarketingActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v10.services.RemarketingActionService.MutateRemarketingActions]. +message MutateRemarketingActionsRequest { + // Required. The ID of the customer whose remarketing actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual remarketing actions. + repeated RemarketingActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a remarketing action. +message RemarketingActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new remarketing + // action. + google.ads.googleads.v10.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v10.resources.RemarketingAction update = 2; + } +} + +// Response message for remarketing action mutate. +message MutateRemarketingActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v10/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/shared_criterion_service.proto new file mode 100644 index 00000000..475c73d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/shared_criterion_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/shared_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Shared Criterion service. + +// Service to manage shared criteria. +service SharedCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes shared criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/sharedCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v10.services.SharedCriterionService.MutateSharedCriteria]. +message MutateSharedCriteriaRequest { + // Required. The ID of the customer whose shared criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared criteria. + repeated SharedCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an shared criterion. +message SharedCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared + // criterion. + google.ads.googleads.v10.resources.SharedCriterion create = 1; + + // Remove operation: A resource name for the removed shared criterion is + // expected, in this format: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + } +} + +// Response message for a shared criterion mutate. +message MutateSharedCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedCriterionResult results = 2; +} + +// The result for the shared criterion mutate. +message MutateSharedCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + + // The mutated shared criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.SharedCriterion shared_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/shared_set_service.proto new file mode 100644 index 00000000..f6f86688 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/shared_set_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/resources/shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the Shared Set service. + +// Service to manage shared sets. +service SharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/sharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v10.services.SharedSetService.MutateSharedSets]. +message MutateSharedSetsRequest { + // Required. The ID of the customer whose shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared sets. + repeated SharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v10.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an shared set. +message SharedSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared set. + google.ads.googleads.v10.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.SharedSet update = 2; + + // Remove operation: A resource name for the removed shared set is expected, + // in this format: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + } +} + +// Response message for a shared set mutate. +message MutateSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. auth errors), + // we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedSetResult results = 2; +} + +// The result for the shared set mutate. +message MutateSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + + // The mutated shared set with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v10.resources.SharedSet shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_setting_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_setting_service.proto new file mode 100644 index 00000000..4d0a9519 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_setting_service.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/enums/response_content_type.proto"; +import "google/ads/googleads/v10/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.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::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"; + + // Updates Smart campaign settings for campaigns. + rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) returns (MutateSmartCampaignSettingsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.MutateSmartCampaignSetting][]. +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.v10.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.v10.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 (e.g. 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.v10.resources.SmartCampaignSetting smart_campaign_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_suggest_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_suggest_service.proto new file mode 100644 index 00000000..8e1af77e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/smart_campaign_suggest_service.proto @@ -0,0 +1,224 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/ad_type_infos.proto"; +import "google/ads/googleads/v10/common/criteria.proto"; +import "google/ads/googleads/v10/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Service to get suggestions for Smart Campaigns. +service SmartCampaignSuggestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns BudgetOption suggestions. + rpc SuggestSmartCampaignBudgetOptions(SuggestSmartCampaignBudgetOptionsRequest) returns (SuggestSmartCampaignBudgetOptionsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + body: "*" + }; + } + + // Suggests a Smart campaign ad compatible with the Ad family of resources, + // based on data points such as targeting and the business to advertise. + rpc SuggestSmartCampaignAd(SuggestSmartCampaignAdRequest) returns (SuggestSmartCampaignAdResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:suggestSmartCampaignAd" + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:suggestKeywordThemes" + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. +message SuggestSmartCampaignBudgetOptionsRequest { + // Required. The ID of the customer whose budget options are to be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. For first time campaign creation use SuggestionInfo, for + // subsequent updates on BudgetOptions based on an already created campaign + // use that campaign. + oneof suggestion_data { + // Required. The resource name of the campaign to get suggestion for. + string campaign = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Information needed to get budget options + SmartCampaignSuggestionInfo suggestion_info = 3 [(google.api.field_behavior) = REQUIRED]; + } +} + +// Information needed to get suggestion for Smart Campaign. More information +// provided will help the system to derive better suggestions. +message SmartCampaignSuggestionInfo { + // A list of locations. + message LocationList { + // Required. Locations. + repeated google.ads.googleads.v10.common.LocationInfo locations = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A context that describes a business. + message BusinessContext { + // Optional. The name of the business. + string business_name = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Landing page URL of the campaign. + string final_url = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The two letter advertising language for the Smart campaign to be + // constructed, default to 'en' if not set. + string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The business ad schedule. + repeated google.ads.googleads.v10.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.v10.common.KeywordThemeInfo keyword_themes = 7 [(google.api.field_behavior) = OPTIONAL]; + + // The business settings to consider when generating suggestions. + // Settings are automatically extracted from the business when provided. + // Otherwise, these settings must be specified explicitly. + oneof business_setting { + // Optional. Context describing the business to advertise. + BusinessContext business_context = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The ID of the Business Profile location. + // The location ID can be fetched by Business Profile API with its form: + // accounts/{accountId}/locations/{locationId}. The last {locationId} + // component from the Business Profile API represents the + // business_location_id. See the [Business Profile API] + // (https://developers.google.com/my-business/reference/rest/v4/accounts.locations) + int64 business_location_id = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The geo target of the campaign, either a list of locations or + // a single proximity shall be specified. + oneof geo_target { + // Optional. The targeting geo location by locations. + LocationList location_list = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The targeting geo location by proximity. + google.ads.googleads.v10.common.ProximityInfo proximity = 5 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. Depending on +// whether the system could suggest the options, either all of the options or +// none of them might be returned. +message SuggestSmartCampaignBudgetOptionsResponse { + // Performance metrics for a given budget option. + message Metrics { + // The estimated min daily clicks. + int64 min_daily_clicks = 1; + + // The estimated max daily clicks. + int64 max_daily_clicks = 2; + } + + // Smart Campaign budget option. + message BudgetOption { + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + int64 daily_amount_micros = 1; + + // Metrics pertaining to the suggested budget, could be empty if there is + // not enough information to derive the estimates. + Metrics metrics = 2; + } + + // Optional. The lowest budget option. + optional BudgetOption low = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The recommended budget option. + optional BudgetOption recommended = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The highest budget option. + optional BudgetOption high = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v10.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inputs used to suggest a Smart campaign ad. + // Required fields: final_url, language_code, keyword_themes. + // Optional but recommended fields to improve the quality of the suggestion: + // business_setting and geo_target. + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v10.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative descriptions. + google.ads.googleads.v10.common.SmartCampaignAdInfo ad_info = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v10.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Information to get keyword theme suggestions. + // Required fields: + // * suggestion_info.final_url + // * suggestion_info.language_code + // * suggestion_info.geo_target + // + // Recommended fields: + // * suggestion_info.business_setting + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v10.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesResponse { + // Smart campaign keyword theme suggestions. + repeated google.ads.googleads.v10.resources.KeywordThemeConstant keyword_themes = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/third_party_app_analytics_link_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/third_party_app_analytics_link_service.proto new file mode 100644 index 00000000..ad8ab030 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v10.services; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// This service allows management of links between Google Ads and third party +// app analytics. +service ThirdPartyAppAnalyticsLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be + // provided to the third party when setting up app analytics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RegenerateShareableLinkId(RegenerateShareableLinkIdRequest) returns (RegenerateShareableLinkIdResponse) { + option (google.api.http) = { + post: "/v10/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + body: "*" + }; + } +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Response message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v10.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse { + +} diff --git a/google-cloud/protos/google/ads/googleads/v10/services/user_data_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/user_data_service.proto new file mode 100644 index 00000000..77116d76 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/user_data_service.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/common/offline_user_data.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the UserDataService. + +// Service to manage user data uploads. +service UserDataService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Uploads the given user data. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + // [UserDataError]() + rpc UploadUserData(UploadUserDataRequest) returns (UploadUserDataResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}:uploadUserData" + body: "*" + }; + } +} + +// Request message for [UserDataService.UploadUserData][google.ads.googleads.v10.services.UserDataService.UploadUserData] +message UploadUserDataRequest { + // Required. The ID of the customer for which to update the user data. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to be done. + repeated UserDataOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // Metadata of the request. + oneof metadata { + // Metadata for data updates to a Customer Match user list. + google.ads.googleads.v10.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 2; + } +} + +// Operation to be made for the UploadUserDataRequest. +message UserDataOperation { + // Operation to be made for the UploadUserDataRequest. + oneof operation { + // The list of user data to be appended to the user list. + google.ads.googleads.v10.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v10.common.UserData remove = 2; + } +} + +// Response message for [UserDataService.UploadUserData][google.ads.googleads.v10.services.UserDataService.UploadUserData] +message UploadUserDataResponse { + // The date time at which the request was received by API, formatted as + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "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/google-cloud/protos/google/ads/googleads/v10/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v10/services/user_list_service.proto new file mode 100644 index 00000000..765b40ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v10/services/user_list_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v10.services; + +import "google/ads/googleads/v10/resources/user_list.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V10.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v10.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V10::Services"; + +// Proto file describing the User List service. + +// Service to manage user lists. +service UserListService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates user lists. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [StringFormatError]() + // [StringLengthError]() + // [UserListError]() + rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) { + option (google.api.http) = { + post: "/v10/customers/{customer_id=*}/userLists:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [UserListService.MutateUserLists][google.ads.googleads.v10.services.UserListService.MutateUserLists]. +message MutateUserListsRequest { + // Required. The ID of the customer whose user lists are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual user lists. + repeated UserListOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a user list. +message UserListOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new user list. + google.ads.googleads.v10.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v10.resources.UserList update = 2; + + // Remove operation: A resource name for the removed user list is expected, + // in this format: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + } +} + +// Response message for user list mutate. +message MutateUserListsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v11/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/BUILD.bazel new file mode 100644 index 00000000..15de6b62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/BUILD.bazel @@ -0,0 +1,266 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "googleads_proto", + srcs = [], + deps = [ + "//google/ads/googleads/v11/common:common_proto", + "//google/ads/googleads/v11/enums:enums_proto", + "//google/ads/googleads/v11/errors:errors_proto", + "//google/ads/googleads/v11/resources:resources_proto", + "//google/ads/googleads/v11/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", + deps = [ + "//google/ads/googleads/v11/common:common_java_proto", + "//google/ads/googleads/v11/enums:enums_java_proto", + "//google/ads/googleads/v11/resources:resources_java_proto", + "//google/ads/googleads/v11/services:services_java_grpc", + "//google/ads/googleads/v11/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.v11.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//google/ads/googleads/v11:googleads_proto", + "//google/ads/googleads/v11/common:common_java_proto", + "//google/ads/googleads/v11/enums:enums_java_proto", + "//google/ads/googleads/v11/errors:errors_java_proto", + "//google/ads/googleads/v11/resources:resources_java_proto", + "//google/ads/googleads/v11/services:services_java_grpc", + "//google/ads/googleads/v11/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_v11.yaml", + 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", + deps = [ + "//google/ads/googleads/v11/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//google/ads/googleads/v11/common:common_csharp_proto", + "//google/ads/googleads/v11/enums:enums_csharp_proto", + "//google/ads/googleads/v11/errors:errors_csharp_proto", + "//google/ads/googleads/v11/resources:resources_csharp_proto", + "//google/ads/googleads/v11/services:services_csharp_grpc", + "//google/ads/googleads/v11/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", +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//google/ads/googleads/v11/common:common_ruby_proto", + "//google/ads/googleads/v11/enums:enums_ruby_proto", + "//google/ads/googleads/v11/errors:errors_ruby_proto", + "//google/ads/googleads/v11/resources:resources_ruby_proto", + "//google/ads/googleads/v11/services:services_ruby_grpc", + "//google/ads/googleads/v11/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"], + grpc_service_config = "googleads_grpc_service_config.json", + opt_args = [ + "old-naming", + "lazy-import", + "python-gapic-name=googleads", + "python-gapic-templates=ads-templates", + "warehouse-package-name=google-ads", + ], +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", + "//google/ads/googleads/v11/common:common_py_proto", + "//google/ads/googleads/v11/enums:enums_py_proto", + "//google/ads/googleads/v11/errors:errors_py_proto", + "//google/ads/googleads/v11/resources:resources_py_proto", + "//google/ads/googleads/v11/services:services_py_grpc", + "//google/ads/googleads/v11/services:services_py_proto", + ], +) + +############################################################################## +# 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.v11", + service_yaml = "googleads_v11.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/google-cloud/protos/google/ads/googleads/v11/common/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/common/BUILD.bazel new file mode 100644 index 00000000..b6efb863 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "common_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v11/enums:enums_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "common_java_proto", + deps = [":common_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "common_csharp_proto", + deps = [":common_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "common_ruby_proto", + deps = [":common_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "common_py_proto", + deps = [":common_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v11/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v11/common/ad_asset.proto new file mode 100644 index 00000000..8adb3b13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/ad_asset.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/asset_policy.proto"; +import "google/ads/googleads/v11/enums/asset_performance_label.proto"; +import "google/ads/googleads/v11/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing assets used inside an ad. + +// A text asset used inside an ad. +message AdTextAsset { + // Asset text. + optional string text = 4; + + // The pinned field of the asset. This restricts the asset to only serve + // within this field. Multiple assets can be pinned to the same field. An + // asset that is unpinned or pinned to a different field will not serve in a + // field where some other asset has been pinned. + google.ads.googleads.v11.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v11.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel asset_performance_label = 5; + + // The policy summary of this text asset. + AdAssetPolicySummary policy_summary_info = 6; +} + +// An image asset used inside an ad. +message AdImageAsset { + // The Asset resource name of this image. + optional string asset = 2; +} + +// A video asset used inside an ad. +message AdVideoAsset { + // The Asset resource name of this video. + optional string asset = 2; +} + +// A media bundle asset used inside an ad. +message AdMediaBundleAsset { + // The Asset resource name of this media bundle. + optional string asset = 2; +} + +// A discovery carousel card asset used inside an ad. +message AdDiscoveryCarouselCardAsset { + // The Asset resource name of this discovery carousel card. + optional string asset = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v11/common/ad_type_infos.proto new file mode 100644 index 00000000..c4999d87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/ad_type_infos.proto @@ -0,0 +1,797 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/ad_asset.proto"; +import "google/ads/googleads/v11/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v11/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v11/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v11/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v11/enums/mime_type.proto"; +import "google/ads/googleads/v11/enums/video_thumbnail.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file containing info messages for specific ad types. + +// A text ad. +message TextAdInfo { + // The headline of the ad. + optional string headline = 4; + + // The first line of the ad's description. + optional string description1 = 5; + + // The second line of the ad's description. + optional string description2 = 6; +} + +// An expanded text ad. +message ExpandedTextAdInfo { + // The first part of the ad's headline. + optional string headline_part1 = 8; + + // The second part of the ad's headline. + optional string headline_part2 = 9; + + // The third part of the ad's headline. + optional string headline_part3 = 10; + + // The description of the ad. + optional string description = 11; + + // The second description of the ad. + optional string description2 = 12; + + // The text that can appear alongside the ad's displayed URL. + optional string path1 = 13; + + // Additional text that can appear alongside the ad's displayed URL. + optional string path2 = 14; +} + +// An expanded dynamic search ad. +message ExpandedDynamicSearchAdInfo { + // The description of the ad. + optional string description = 3; + + // The second description of the ad. + optional string description2 = 4; +} + +// A hotel ad. +message HotelAdInfo { + +} + +// A 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; +} + +// A Gmail ad. +message GmailAdInfo { + // The Gmail teaser. + GmailTeaser teaser = 1; + + // The MediaFile resource name of the header image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must + // be between 3:1 and 5:1 (+-1%). + optional string header_image = 10; + + // The MediaFile resource name of the marketing image. Valid image types are + // GIF, JPEG and PNG. The image must either be landscape with a minimum size + // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a + // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) + optional string marketing_image = 11; + + // Headline of the marketing image. + optional string marketing_image_headline = 12; + + // Description of the marketing image. + optional string marketing_image_description = 13; + + // Display-call-to-action of the marketing image. + DisplayCallToAction marketing_image_display_call_to_action = 6; + + // Product images. Up to 15 images are supported. + repeated ProductImage product_images = 7; + + // Product videos. Up to 7 videos are supported. At least one product video + // or a marketing image must be specified. + repeated ProductVideo product_videos = 8; +} + +// Gmail teaser data. The teaser is a small header that acts as an invitation +// to view the rest of the ad (the body). +message GmailTeaser { + // Headline of the teaser. + optional string headline = 5; + + // Description of the teaser. + optional string description = 6; + + // Business name of the advertiser. + optional string business_name = 7; + + // The MediaFile resource name of the logo image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must + // be 1:1 (+-1%). + optional string logo_image = 8; +} + +// Data for display call to action. The call to action is a piece of the ad +// that prompts the user to do something. Like clicking a link or making a phone +// call. +message DisplayCallToAction { + // Text for the display-call-to-action. + optional string text = 5; + + // Text color for the display-call-to-action in hexadecimal, for example, + // # ffffff for white. + optional string text_color = 6; + + // Identifies the URL collection in the `ad.url_collections` field. If not + // set, the URL defaults to `final_url`. + optional string url_collection_id = 7; +} + +// Product image specific data. +message ProductImage { + // The MediaFile resource name of the product image. Valid image types are + // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio + // must be 1:1 (+-1%). + optional string product_image = 4; + + // Description of the product. + optional string description = 5; + + // Display-call-to-action of the product image. + DisplayCallToAction display_call_to_action = 3; +} + +// Product video specific data. +message ProductVideo { + // The MediaFile resource name of a video which must be hosted on YouTube. + optional string product_video = 2; +} + +// An image ad. +message ImageAdInfo { + // Width in pixels of the full size image. + optional int64 pixel_width = 15; + + // Height in pixels of the full size image. + optional int64 pixel_height = 16; + + // URL of the full size image. + optional string image_url = 17; + + // Width in pixels of the preview size image. + optional int64 preview_pixel_width = 18; + + // Height in pixels of the preview size image. + optional int64 preview_pixel_height = 19; + + // URL of the preview size image. + optional string preview_image_url = 20; + + // The mime type of the image. + google.ads.googleads.v11.enums.MimeTypeEnum.MimeType mime_type = 10; + + // The name of the image. If the image was created from a MediaFile, this is + // the MediaFile's name. If the image was created from bytes, this is empty. + optional string name = 21; + + // The image to create the ImageAd from. This can be specified in one of + // two ways. + // 1. An existing MediaFile resource. + // 2. The raw image data as bytes. + oneof image { + // The 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; +} + +// Representation of video non-skippable in-stream ad format (15 second +// in-stream non-skippable video ad). +message VideoNonSkippableInStreamAdInfo { + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 5; + + // Label on the "Call To Action" button taking the user to the video ad's + // final URL. + string action_button_label = 3; + + // Additional text displayed with the "Call To Action" button to give + // context and encourage clicking on the button. + string action_headline = 4; +} + +// Representation of video TrueView in-stream ad format (ad shown during video +// playback, often at beginning, which displays a skip button a few seconds into +// the video). +message VideoTrueViewInStreamAdInfo { + // Label on the CTA (call-to-action) button taking the user to the video ad's + // final URL. + // Required for TrueView for action campaigns, optional otherwise. + string action_button_label = 4; + + // Additional text displayed with the CTA (call-to-action) button to give + // context and encourage clicking on the button. + string action_headline = 5; + + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 7; +} + +// Representation of video out-stream ad format (ad shown alongside a feed +// with automatic playback, without sound). +message VideoOutstreamAdInfo { + // The headline of the ad. + string headline = 3; + + // The description line. + string description = 4; +} + +// Representation of In-feed video ad format. +message InFeedVideoAdInfo { + // The headline of the ad. + string headline = 1; + + // First text line for the ad. + string description1 = 2; + + // Second text line for the ad. + string description2 = 3; + + // Video thumbnail image to use. + google.ads.googleads.v11.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = 4; +} + +// A video ad. +message VideoAdInfo { + // The YouTube video assets used for the ad. + AdVideoAsset video = 8; + + // Format-specific schema for the different video formats. + oneof format { + // Video TrueView in-stream ad format. + VideoTrueViewInStreamAdInfo in_stream = 2; + + // Video bumper in-stream ad format. + VideoBumperInStreamAdInfo bumper = 3; + + // Video out-stream ad format. + VideoOutstreamAdInfo out_stream = 4; + + // Video non-skippable in-stream ad format. + VideoNonSkippableInStreamAdInfo non_skippable = 5; + + // In-feed video ad format. + InFeedVideoAdInfo in_feed = 9; + } +} + +// A video responsive ad. +message VideoResponsiveAdInfo { + // List of text assets used for the short headline, 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. + google.ads.googleads.v11.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 28; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 29; +} + +// An app ad. +message AppAdInfo { + // Mandatory ad text. + AdTextAsset mandatory_ad_text = 1; + + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 2; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 3; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 4; + + // List of YouTube video assets that may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 5; + + // List of media bundle assets that may be used with the ad. + repeated AdMediaBundleAsset html5_media_bundles = 6; +} + +// App engagement ads allow you to write text encouraging a specific action in +// the app, like checking in, making a purchase, or booking a flight. +// They allow you to send users to a specific part of your app where they can +// find what they're looking for easier and faster. +message AppEngagementAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of video assets that may be displayed with the ad. + repeated AdVideoAsset videos = 4; +} + +// App pre-registration ads link to your app or game listing on Google Play, and +// can run on Google Play, on YouTube (in-stream only), and within other apps +// and mobile websites on the Display Network. It will help capture people's +// interest in your app or game and generate an early install base for your app +// or game before a launch. +message AppPreRegistrationAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image asset IDs whose images may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of YouTube video asset IDs whose videos may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 4; +} + +// A legacy app install ad that only can be used by a few select customers. +message LegacyAppInstallAdInfo { + // The ID of the mobile app. + optional string app_id = 6; + + // The app store the mobile app is available in. + google.ads.googleads.v11.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; + + // The headline of the ad. + optional string headline = 7; + + // The first description line of the ad. + optional string description1 = 8; + + // The second description line of the ad. + optional string description2 = 9; +} + +// A responsive display ad. +message ResponsiveDisplayAdInfo { + // Marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined + // with `square_marketing_images`, the maximum is 15. + repeated AdImageAsset marketing_images = 1; + + // Square marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). At least one square `marketing_image` is required. Combined + // with `marketing_images`, the maximum is 15. + repeated AdImageAsset square_marketing_images = 2; + + // Logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must + // be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset logo_images = 3; + + // Square logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must + // be 1:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset square_logo_images = 4; + + // Short format headlines for the ad. The maximum length is 30 characters. + // At least 1 and max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // A required long format headline. The maximum length is 90 characters. + AdTextAsset long_headline = 6; + + // Descriptive texts for the ad. The maximum length is 90 characters. At + // least 1 and max 5 headlines can be specified. + repeated AdTextAsset descriptions = 7; + + // Optional YouTube videos for the ad. A maximum of 5 videos can be specified. + repeated AdVideoAsset youtube_videos = 8; + + // The advertiser/brand name. Maximum display width is 25. + optional string business_name = 17; + + // The main color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 18; + + // The accent color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string accent_color = 19; + + // Advertiser's consent to allow flexible color. When true, the ad may be + // served with different color if necessary. When false, the ad will be served + // with the specified colors or a neutral color. + // The default value is `true`. + // Must be true if `main_color` and `accent_color` are not set. + optional bool allow_flexible_color = 20; + + // The call-to-action text for the ad. Maximum display width is 30. + optional string call_to_action_text = 21; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 22; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 23; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v11.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; + + // Specification for various creative controls. + ResponsiveDisplayAdControlSpec control_spec = 24; +} + +// A local ad. +message LocalAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. At least 1 and at most 5 headlines must be + // specified. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. At least 1 and at most 5 descriptions must + // be specified. + repeated AdTextAsset descriptions = 2; + + // List of text assets for call-to-actions. When the ad serves the + // call-to-actions will be selected from this list. Call-to-actions are + // optional and at most 5 can 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. Videos + // are optional and at most 20 can be specified. + repeated AdVideoAsset videos = 6; + + // First part of optional text that can be appended to the URL in the ad. + optional string path1 = 9; + + // Second part of optional text that can be appended to the URL in the ad. + // This field can only be set when `path1` is also set. + optional string path2 = 10; +} + +// A generic type of display ad. The exact ad format is controlled by the +// `display_upload_product_type` field, which determines what kinds of data +// need to be included with the ad. +message DisplayUploadAdInfo { + // The product type of this ad. See comments on the enum for details. + google.ads.googleads.v11.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; + + // The asset data that makes up the ad. + oneof media_asset { + // A media bundle asset to be used in the ad. For information about the + // media bundle for HTML5_UPLOAD_AD, see + // https://support.google.com/google-ads/answer/1722096 + // Media bundles that are part of dynamic product types use a special format + // that needs to be created through the Google Web Designer. See + // https://support.google.com/webdesigner/answer/7543898 for more + // information. + AdMediaBundleAsset media_bundle = 2; + } +} + +// Specification for various creative controls for a responsive display ad. +message ResponsiveDisplayAdControlSpec { + // Whether the advertiser has opted into the asset enhancements feature. + bool enable_asset_enhancements = 1; + + // Whether the advertiser has opted into auto-gen video feature. + bool enable_autogen_video = 2; +} + +// A Smart campaign ad. +message SmartCampaignAdInfo { + // List of text assets, each of which corresponds to a headline when the ad + // serves. This list consists of a minimum of 3 and up to 15 text assets. + repeated AdTextAsset headlines = 1; + + // List of text assets, each of which corresponds to a description when the ad + // serves. This list consists of a minimum of 2 and up to 4 text assets. + repeated AdTextAsset descriptions = 2; +} + +// A call ad. +message CallAdInfo { + // The country code in the ad. + string country_code = 1; + + // The phone number in the ad. + string phone_number = 2; + + // The business name in the ad. + string business_name = 3; + + // First headline in the ad. + string headline1 = 11; + + // Second headline in the ad. + string headline2 = 12; + + // The first line of the ad's description. + string description1 = 4; + + // The second line of the ad's description. + string description2 = 5; + + // Whether to enable call tracking for the creative. Enabling call + // tracking also enables call conversions. + bool call_tracked = 6; + + // Whether to disable call conversion for the creative. + // If set to `true`, disables call conversions even when `call_tracked` is + // `true`. + // If `call_tracked` is `false`, this field is ignored. + bool disable_call_conversion = 7; + + // The URL to be used for phone number verification. + string phone_number_verification_url = 8; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // `call_tracked` is set to `true`. Otherwise this field is ignored. + string conversion_action = 9; + + // The call conversion behavior of this call ad. It can use its own call + // conversion setting, inherit the account level setting, or be disabled. + google.ads.googleads.v11.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; + + // First part of text that can be appended to the URL in the ad. Optional. + string path1 = 13; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. Optional. + string path2 = 14; +} + +// A discovery multi asset ad. +message DiscoveryMultiAssetAdInfo { + // Marketing image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). Required if square_marketing_images is + // not present. Combined with `square_marketing_images` and + // `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset marketing_images = 1; + + // Square marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). Required if marketing_images is not present. Combined with + // `marketing_images` and `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset square_marketing_images = 2; + + // Portrait marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must + // be 4:5 (+-1%). Combined with `marketing_images` and + // `square_marketing_images` the maximum is 20. + repeated AdImageAsset portrait_marketing_images = 3; + + // Logo image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be + // 1:1(+-1%). At least 1 and max 5 logo images can be specified. + repeated AdImageAsset logo_images = 4; + + // Headline text asset of the ad. Maximum display width is 30. At least 1 and + // max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // The descriptive text of the ad. Maximum display width is 90. At least 1 and + // max 5 descriptions can be specified. + repeated AdTextAsset descriptions = 6; + + // The Advertiser/brand name. Maximum display width is 25. Required. + optional string business_name = 7; + + // Call to action text. + optional string call_to_action_text = 8; + + // Boolean option that indicates if this ad must be served with lead form. + optional bool lead_form_only = 9; +} + +// A discovery carousel ad. +message DiscoveryCarouselAdInfo { + // Required. The Advertiser/brand name. + string business_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Logo image to be used in the ad. The minimum size is 128x128 and the + // aspect ratio must be 1:1(+-1%). + AdImageAsset logo_image = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Headline of the ad. + AdTextAsset headline = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The descriptive text of the ad. + AdTextAsset description = 4 [(google.api.field_behavior) = REQUIRED]; + + // Call to action text. + string call_to_action_text = 5; + + // Required. Carousel cards that will display with the ad. Min 2 max 10. + repeated AdDiscoveryCarouselCardAsset carousel_cards = 6 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/asset_policy.proto b/google-cloud/protos/google/ads/googleads/v11/common/asset_policy.proto new file mode 100644 index 00000000..11670631 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/asset_policy.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v11/common/asset_types.proto new file mode 100644 index 00000000..bc9e3ccd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/asset_types.proto @@ -0,0 +1,983 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/common/feed_common.proto"; +import "google/ads/googleads/v11/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v11/enums/call_to_action_type.proto"; +import "google/ads/googleads/v11/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v11/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v11/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v11/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v11/enums/mime_type.proto"; +import "google/ads/googleads/v11/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v11/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v11/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v11/enums/price_extension_type.proto"; +import "google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v11/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.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. + repeated LeadFormField fields = 8; + + // Ordered list of custom question fields. + 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.v11.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.v11.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 "Do you own a car?". + google.ads.googleads.v11.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; + } +} + +// One custom question input field instance within a form. +message LeadFormCustomQuestionField { + // The exact custom question field text (for example, "Do you own a car?"). + 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; + } +} + +// 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.v11.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.v11.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.v11.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.v11.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.v11.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v11.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.v11.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.v11.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/asset_usage.proto b/google-cloud/protos/google/ads/googleads/v11/common/asset_usage.proto new file mode 100644 index 00000000..abd1a335 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/asset_usage.proto @@ -0,0 +1,39 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/served_asset_field_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetUsageProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType served_asset_field_type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/audiences.proto b/google-cloud/protos/google/ads/googleads/v11/common/audiences.proto new file mode 100644 index 00000000..709f0d00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/audiences.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/gender_type.proto"; +import "google/ads/googleads/v11/enums/income_range_type.proto"; +import "google/ads/googleads/v11/enums/parental_status_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AudiencesProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.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.v11.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. +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/google-cloud/protos/google/ads/googleads/v11/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v11/common/bidding.proto new file mode 100644 index 00000000..3658241f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/bidding.proto @@ -0,0 +1,208 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/target_impression_share_location.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing bidding schemes. + +// Commission is an automatic bidding strategy in which the advertiser pays a +// certain portion of the conversion value. +message Commission { + // Commission rate defines the portion of the conversion value that the + // advertiser will be billed. A commission rate of x should be passed into + // this field as (x * 1,000,000). For example, 106,000 represents a commission + // rate of 0.106 (10.6%). + optional int64 commission_rate_micros = 2; +} + +// An automated bidding strategy that raises bids for clicks +// that seem more likely to lead to a conversion and lowers +// them for clicks where they seem less likely. +// +// This bidding strategy is deprecated and cannot be created anymore. Use +// ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. +message EnhancedCpc { + +} + +// Manual bidding strategy that allows advertiser to set the bid per +// advertiser-specified action. +message ManualCpa { + +} + +// Manual click-based bidding where user pays per click. +message ManualCpc { + // Whether bids are to be enhanced based on conversion optimizer data. + optional bool enhanced_cpc_enabled = 2; +} + +// Manual impression-based bidding where user pays per thousand impressions. +message ManualCpm { + +} + +// View based bidding where user pays per video view. +message ManualCpv { + +} + +// An automated bidding strategy to help get the most conversions for your +// campaigns while spending your budget. +message MaximizeConversions { + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_ceiling_micros = 2; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_floor_micros = 3; + + // The target cost-per-action (CPA) option. This is the average amount that + // you would like to spend per conversion action specified in micro units of + // the bidding strategy's currency. If set, the bid strategy will get as many + // conversions as possible at or below the target cost-per-action. If the + // target CPA is not set, the bid strategy will aim to achieve the lowest + // possible CPA given the budget. + int64 target_cpa_micros = 4; +} + +// An automated bidding strategy to help get the most conversion value for your +// campaigns while spending your budget. +message MaximizeConversionValue { + // The target return on ad spend (ROAS) option. If set, the bid strategy will + // maximize revenue while averaging the target return on ad spend. If the + // target ROAS is high, the bid strategy may not be able to spend the full + // budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 2; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_ceiling_micros = 3; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // Mutable for portfolio bidding strategies only. + int64 cpc_bid_floor_micros = 4; +} + +// An automated bid strategy that sets bids to help get as many conversions as +// possible at the target cost-per-acquisition (CPA) you set. +message TargetCpa { + // Average CPA target. + // This target should be greater than or equal to minimum billable unit based + // on the currency for the account. + optional int64 target_cpa_micros = 4; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_ceiling_micros = 5; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_floor_micros = 6; +} + +// Target CPM (cost per thousand impressions) is an automated bidding strategy +// that sets bids to optimize performance given the target CPM you set. +message TargetCpm { + +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v11.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; + + // The chosen fraction of ads to be shown in the targeted location in micros. + // For example, 1% equals 10,000. + optional int64 location_fraction_micros = 4; + + // The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 5; +} + +// An automated bidding strategy that helps you maximize revenue while +// averaging a specific target return on ad spend (ROAS). +message TargetRoas { + // Required. The chosen revenue (based on conversion data) per unit of spend. + // Value must be between 0.01 and 1000.0, inclusive. + optional double target_roas = 4; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_ceiling_micros = 5; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_floor_micros = 6; +} + +// An automated bid strategy that sets your bids to help get as many clicks +// as possible within your budget. +message TargetSpend { + // The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 3 [deprecated = true]; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 4; +} + +// A bidding strategy where bids are a fraction of the advertised price for +// some good or service. +message PercentCpc { + // Maximum bid limit that can be set by the bid strategy. This is + // an optional field entered by the advertiser and specified in local micros. + // Note: A zero value is interpreted in the same way as having bid_ceiling + // undefined. + optional int64 cpc_bid_ceiling_micros = 3; + + // Adjusts the bid for each auction upward or downward, depending on the + // likelihood of a conversion. Individual bids may exceed + // cpc_bid_ceiling_micros, but the average bid amount for a campaign should + // not. + optional bool enhanced_cpc_enabled = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v11/common/click_location.proto new file mode 100644 index 00000000..11147bdc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/click_location.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing a ClickLocation. + +// Location criteria associated with a click. +message ClickLocation { + // The city location criterion associated with the impression. + optional string city = 6; + + // The country location criterion associated with the impression. + optional string country = 7; + + // The metro location criterion associated with the impression. + optional string metro = 8; + + // The most specific location criterion associated with the impression. + optional string most_specific = 9; + + // The region location criterion associated with the impression. + optional string region = 10; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v11/common/criteria.proto new file mode 100644 index 00000000..f2b30fbe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/criteria.proto @@ -0,0 +1,698 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/age_range_type.proto"; +import "google/ads/googleads/v11/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v11/enums/content_label_type.proto"; +import "google/ads/googleads/v11/enums/day_of_week.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/gender_type.proto"; +import "google/ads/googleads/v11/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v11/enums/income_range_type.proto"; +import "google/ads/googleads/v11/enums/interaction_type.proto"; +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/ads/googleads/v11/enums/listing_group_type.proto"; +import "google/ads/googleads/v11/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v11/enums/minute_of_hour.proto"; +import "google/ads/googleads/v11/enums/parental_status_type.proto"; +import "google/ads/googleads/v11/enums/preferred_content_type.proto"; +import "google/ads/googleads/v11/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v11/enums/product_channel.proto"; +import "google/ads/googleads/v11/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v11/enums/product_condition.proto"; +import "google/ads/googleads/v11/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v11/enums/product_type_level.proto"; +import "google/ads/googleads/v11/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v11/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v11/enums/webpage_condition_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing criteria types. + +// A keyword criterion. +message KeywordInfo { + // The text of the keyword (at most 80 characters and 10 words). + optional string text = 3; + + // The match type of the keyword. + google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +} + +// A placement criterion. This can be used to modify bids for sites when +// targeting the content network. +message PlacementInfo { + // URL of the placement. + // + // For example, "http://www.domain.com". + optional string url = 2; +} + +// A 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. + google.ads.googleads.v11.enums.DeviceEnum.Device type = 1; +} + +// A preferred content criterion. +message PreferredContentInfo { + // Type of the preferred content. + google.ads.googleads.v11.enums.PreferredContentTypeEnum.PreferredContentType type = 2; +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. + google.ads.googleads.v11.enums.ListingGroupTypeEnum.ListingGroupType type = 1; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingDimensionInfo case_value = 2; + + // Resource name of ad group criterion which is the parent listing group + // subdivision. Null for the root group. + optional string parent_ad_group_criterion = 4; +} + +// 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. + ProductGroupingInfo product_grouping = 17; + + // Labels of a product offer. + ProductLabelsInfo product_labels = 18; + + // Legacy condition of a product offer. + ProductLegacyConditionInfo product_legacy_condition = 19; + + // Full type of a product offer. + ProductTypeFullInfo product_type_full = 20; + + // 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; + + // Two-letter upper-case country code of the product bidding category. It must + // match the campaign.shopping_setting.sales_country field. + optional string country_code = 5; + + // Level of the product bidding category. + google.ads.googleads.v11.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; +} + +// Brand of the product. +message ProductBrandInfo { + // String value of the product brand. + optional string value = 2; +} + +// Locality of a product offer. +message ProductChannelInfo { + // Value of the locality. + google.ads.googleads.v11.enums.ProductChannelEnum.ProductChannel channel = 1; +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. + google.ads.googleads.v11.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. + google.ads.googleads.v11.enums.ProductConditionEnum.ProductCondition condition = 1; +} + +// Custom attribute of a product offer. +message ProductCustomAttributeInfo { + // String value of the product custom attribute. + optional string value = 3; + + // Indicates the index of the custom attribute. + google.ads.googleads.v11.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; +} + +// Item id of a product offer. +message ProductItemIdInfo { + // Value of the id. + optional string value = 2; +} + +// Type of a product offer. +message ProductTypeInfo { + // Value of the type. + optional string value = 3; + + // Level of the type. + google.ads.googleads.v11.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; +} + +// Grouping of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductGroupingInfo { + // String value of the product grouping. + optional string value = 1; +} + +// Labels of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductLabelsInfo { + // String value of the product labels. + optional string value = 1; +} + +// Legacy condition of a product offer. This listing dimension is deprecated and +// it is supported only in Display campaigns. +message ProductLegacyConditionInfo { + // String value of the product legacy condition. + optional string value = 1; +} + +// Full type of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductTypeFullInfo { + // String value of the product full type. + optional string value = 1; +} + +// Unknown listing dimension. +message UnknownListingDimensionInfo { + +} + +// Criterion for hotel date selection (default dates versus user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v11.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; +} + +// Criterion for number of days prior to the stay the booking is being made. +message HotelAdvanceBookingWindowInfo { + // Low end of the number of days prior to the stay. + optional int64 min_days = 3; + + // High end of the number of days prior to the stay. + optional int64 max_days = 4; +} + +// Criterion for length of hotel stay in nights. +message HotelLengthOfStayInfo { + // Low end of the number of nights in the stay. + optional int64 min_nights = 3; + + // High end of the number of nights in the stay. + optional int64 max_nights = 4; +} + +// Criterion for a check-in date range. +message HotelCheckInDateRangeInfo { + // Start date in the YYYY-MM-DD format. + string start_date = 1; + + // End date in the YYYY-MM-DD format. + string end_date = 2; +} + +// Criterion for day of the week the booking is for. +message HotelCheckInDayInfo { + // The day of the week. + google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. + google.ads.googleads.v11.enums.InteractionTypeEnum.InteractionType type = 1; +} + +// Represents an AdSchedule criterion. +// +// AdSchedule is specified as the day of the week and a time interval +// within which ads will be shown. +// +// No more than six AdSchedules can be added for the same day. +message AdScheduleInfo { + // Minutes after the start hour at which this schedule starts. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; + + // Minutes after the end hour at which this schedule ends. The schedule is + // exclusive of the end minute. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v11.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; + + // Starting hour in 24 hour time. + // This field must be between 0 and 23, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 start_hour = 6; + + // Ending hour in 24 hour time; 24 signifies end of the day. + // This field must be between 0 and 24, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 end_hour = 7; + + // Day of the week the schedule applies to. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. + google.ads.googleads.v11.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. + google.ads.googleads.v11.enums.GenderTypeEnum.GenderType type = 1; +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. + google.ads.googleads.v11.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. + google.ads.googleads.v11.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; +} + +// A YouTube Video criterion. +message YouTubeVideoInfo { + // YouTube video id as it appears on the YouTube watch page. + optional string video_id = 2; +} + +// A YouTube Channel criterion. +message YouTubeChannelInfo { + // The YouTube uploader channel id or the channel code of a YouTube channel. + optional string channel_id = 2; +} + +// A User List criterion. Represents a user list that is defined by the +// advertiser to be targeted. +message UserListInfo { + // The User List resource name. + optional string user_list = 2; +} + +// A Proximity criterion. The geo point and radius determine what geographical +// area is included. The address is a description of the geo point that does +// not affect ad serving. +// +// There are two ways to create a proximity. First, by setting an address +// and radius. The geo point will be automatically computed. Second, by +// setting a geo point and radius. The address is an optional label that won't +// be validated. +message ProximityInfo { + // Latitude and longitude. + GeoPointInfo geo_point = 1; + + // The radius of the proximity. + optional double radius = 5; + + // The unit of measurement of the radius. Default is KILOMETERS. + google.ads.googleads.v11.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; + + // Full address. + AddressInfo address = 4; +} + +// Geo point for proximity criterion. +message GeoPointInfo { + // Micro degrees for the longitude. + optional int32 longitude_in_micro_degrees = 3; + + // Micro degrees for the latitude. + optional int32 latitude_in_micro_degrees = 4; +} + +// Address for proximity criterion. +message AddressInfo { + // Postal code. + optional string postal_code = 8; + + // Province or state code. + optional string province_code = 9; + + // Country code. + optional string country_code = 10; + + // Province or state name. + optional string province_name = 11; + + // Street address line 1. + optional string street_address = 12; + + // Street address line 2. This field is write-only. It is only used for + // calculating the longitude and latitude of an address when geo_point is + // empty. + optional string street_address2 = 13; + + // Name of the city. + optional string city_name = 14; +} + +// A topic criterion. Use topics to target or exclude placements in the +// Google Display Network based on the category into which the placement falls +// (for example, "Pets & Animals/Pets/Dogs"). +message TopicInfo { + // The Topic Constant resource name. + optional string topic_constant = 3; + + // The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" + // category. + repeated string path = 4; +} + +// A language criterion. +message LanguageInfo { + // The language constant resource name. + optional string language_constant = 2; +} + +// An IpBlock criterion used for IP exclusions. We allow: +// - IPv4 and IPv6 addresses +// - individual addresses (192.168.0.1) +// - masks for individual addresses (192.168.0.1/32) +// - masks for Class C networks (192.168.0.1/24) +message IpBlockInfo { + // The IP address of this IP block. + optional string ip_address = 2; +} + +// Content Label for category exclusion. +message ContentLabelInfo { + // Content label type, required for CREATE operations. + google.ads.googleads.v11.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +} + +// 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. + google.ads.googleads.v11.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v11.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; + + // Argument of webpage targeting condition. + optional string argument = 4; +} + +// List of sample urls that match the website target +message WebpageSampleInfo { + // Webpage sample urls + repeated string sample_urls = 1; +} + +// Represents an operating system version to be targeted. +message OperatingSystemVersionInfo { + // The operating system version constant resource name. + optional string operating_system_version_constant = 2; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. + google.ads.googleads.v11.enums.AppPaymentModelTypeEnum.AppPaymentModelType 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. +message LocationGroupInfo { + // Feed specifying locations for targeting. + // 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. + 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. + // This is required and must be set in CREATE operations. + google.ads.googleads.v11.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; + + // FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, + // then all items that appear in at least one set are targeted. This field + // cannot be used with geo_target_constants. This is optional and can only be + // set in CREATE operations. + repeated string feed_item_sets = 8; +} + +// 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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v11/common/criterion_category_availability.proto new file mode 100644 index 00000000..6b0dcff5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/criterion_category_availability.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v11/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v11/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v11/enums/criterion_category_locale_availability_mode.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing criterion category availability information. + +// Information of category availability, per advertising channel. +message CriterionCategoryAvailability { + // Channel types and subtypes that are available to the category. + CriterionCategoryChannelAvailability channel = 1; + + // Locales that are available to the category for the channel. + repeated CriterionCategoryLocaleAvailability locale = 2; +} + +// Information of advertising channel type and subtypes a category is available +// in. +message CriterionCategoryChannelAvailability { + // Format of the channel availability. Can be ALL_CHANNELS (the rest of the + // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type + // will be set, the category is available to all sub types under it) or + // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, + // advertising_channel_sub_type, and include_default_channel_sub_type will all + // be set). + google.ads.googleads.v11.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v11.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v11.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3; + + // Whether default channel sub type is included. For example, + // advertising_channel_type being DISPLAY and include_default_channel_sub_type + // being false means that the default display campaign where channel sub type + // is not set is not included in this availability configuration. + optional bool include_default_channel_sub_type = 5; +} + +// Information about which locales a category is available in. +message CriterionCategoryLocaleAvailability { + // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and + // language will be empty), COUNTRY (only country will be set), LANGUAGE (only + // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will + // be set). + google.ads.googleads.v11.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; + + // Code of the country. + optional string country_code = 4; + + // Code of the language. + optional string language_code = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v11/common/custom_parameter.proto new file mode 100644 index 00000000..7a207592 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/custom_parameter.proto @@ -0,0 +1,38 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing CustomParameter and operation + +// A mapping that can be used by custom parameter tags in a +// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. +message CustomParameter { + // The key matching the parameter tag name. + optional string key = 3; + + // The value to be substituted. + optional string value = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/customizer_value.proto b/google-cloud/protos/google/ads/googleads/v11/common/customizer_value.proto new file mode 100644 index 00000000..b8ed88a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/customizer_value.proto @@ -0,0 +1,44 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { + // Required. The data type for the customizer value. It must match the attribute type. + // The string_value content must match the constraints associated with the + // type. + google.ads.googleads.v11.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Value to insert in creative text. Customizer values of all types are stored + // as string to make formatting unambiguous. + string string_value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/dates.proto b/google-cloud/protos/google/ads/googleads/v11/common/dates.proto new file mode 100644 index 00000000..33e2484a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/dates.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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing date range message. + +// A date range. +message DateRange { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 3; + + // The end date, in yyyy-mm-dd format. This date is inclusive. + optional string end_date = 4; +} + +// The year month range inclusive of the start and end months. +// Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). +message YearMonthRange { + // The inclusive start year month. + YearMonth start = 1; + + // The inclusive end year month. + YearMonth end = 2; +} + +// Year month. +message YearMonth { + // The year (for example, 2020). + int64 year = 1; + + // The month of the year. (for example, FEBRUARY). + google.ads.googleads.v11.enums.MonthOfYearEnum.MonthOfYear month = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v11/common/explorer_auto_optimizer_setting.proto new file mode 100644 index 00000000..c2c020ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/explorer_auto_optimizer_setting.proto @@ -0,0 +1,36 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExplorerAutoOptimizerSettingProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing ExplorerAutoOptimizerSetting + +// Settings for the Display Campaign Optimizer, initially named "Explorer". +// Learn more about +// [automatic targeting](https://support.google.com/google-ads/answer/190596). +message ExplorerAutoOptimizerSetting { + // Indicates whether the optimizer is turned on. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v11/common/extensions.proto new file mode 100644 index 00000000..46a6d9ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/extensions.proto @@ -0,0 +1,367 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/feed_common.proto"; +import "google/ads/googleads/v11/enums/app_store.proto"; +import "google/ads/googleads/v11/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v11/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v11/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v11/enums/price_extension_type.proto"; +import "google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v11/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing extension types. + +// Represents an App extension. +message AppFeedItem { + // The visible text displayed when the link is rendered in an ad. + // This string must not be empty, and the length of this string should + // be between 1 and 25, inclusive. + optional string link_text = 9; + + // The store-specific ID for the target application. + // This string must not be empty. + optional string app_id = 10; + + // The application store that the target application belongs to. + // This field is required. + google.ads.googleads.v11.enums.AppStoreEnum.AppStore app_store = 3; + + // A list of possible final URLs after all cross domain redirects. + // This list must not be empty. + repeated string final_urls = 11; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 12; + + // URL template for constructing a tracking URL. Default value is "{lpurl}". + optional string tracking_url_template = 13; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 14; +} + +// Represents a Call extension. +message CallFeedItem { + // The advertiser's phone number to append to the ad. + // This string must not be empty. + optional string phone_number = 7; + + // Uppercase two-letter country code of the advertiser's phone number. + // This string must not be empty. + optional string country_code = 8; + + // Indicates whether call tracking is enabled. By default, call tracking is + // not enabled. + optional bool call_tracking_enabled = 9; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // call_tracking_enabled is set to true. Otherwise this field is ignored. + optional string call_conversion_action = 10; + + // If true, disable call conversion tracking. call_conversion_action should + // not be set if this is true. Optional. + optional bool call_conversion_tracking_disabled = 11; + + // Enum value that indicates whether this call extension uses its own call + // conversion setting (or just have call conversion disabled), or following + // the account level setting. + google.ads.googleads.v11.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; +} + +// Represents a callout extension. +message CalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string callout_text = 2; +} + +// Represents a location extension. +message LocationFeedItem { + // The name of the business. + optional string business_name = 9; + + // Line 1 of the business address. + optional string address_line_1 = 10; + + // Line 2 of the business address. + optional string address_line_2 = 11; + + // City of the business address. + optional string city = 12; + + // Province of the business address. + optional string province = 13; + + // Postal code of the business address. + optional string postal_code = 14; + + // Country code of the business address. + optional string country_code = 15; + + // Phone number of the business. + optional string phone_number = 16; +} + +// Represents an affiliate location extension. +message AffiliateLocationFeedItem { + // The name of the business. + optional string business_name = 11; + + // Line 1 of the business address. + optional string address_line_1 = 12; + + // Line 2 of the business address. + optional string address_line_2 = 13; + + // City of the business address. + optional string city = 14; + + // Province of the business address. + optional string province = 15; + + // Postal code of the business address. + optional string postal_code = 16; + + // Country code of the business address. + optional string country_code = 17; + + // Phone number of the business. + optional string phone_number = 18; + + // Id of the retail chain that is advertised as a seller of your product. + optional int64 chain_id = 19; + + // Name of chain. + optional string chain_name = 20; +} + +// An extension that users can click on to send a text message to the +// advertiser. +message TextMessageFeedItem { + // The business name to prepend to the message text. + // This field is required. + optional string business_name = 6; + + // Uppercase two-letter country code of the advertiser's phone number. + // This field is required. + optional string country_code = 7; + + // The advertiser's phone number the message will be sent to. Required. + optional string phone_number = 8; + + // The text to show in the ad. + // This field is required. + optional string text = 9; + + // The message extension_text populated in the messaging app. + optional string extension_text = 10; +} + +// Represents a Price extension. +message PriceFeedItem { + // Price extension type of this extension. + google.ads.googleads.v11.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v11.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; + + // Tracking URL template for all offers of this price extension. + optional string tracking_url_template = 7; + + // The code of the language used for this price extension. + optional string language_code = 8; + + // The price offerings in this price extension. + repeated PriceOffer price_offerings = 5; + + // Tracking URL template for all offers of this price extension. + optional string final_url_suffix = 9; +} + +// Represents one price offer in a price extension. +message PriceOffer { + // Header text of this offer. + optional string header = 7; + + // Description text of this offer. + optional string description = 8; + + // Price value of this offer. + Money price = 3; + + // Price unit for this offer. + google.ads.googleads.v11.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 9; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 10; +} + +// Represents a Promotion extension. +message PromotionFeedItem { + // A freeform description of what the promotion is targeting. + // This field is required. + optional string promotion_target = 16; + + // Enum that modifies the qualification of the discount. + google.ads.googleads.v11.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed. + optional string promotion_start_date = 19; + + // Last date when the promotion is eligible to be redeemed. + optional string promotion_end_date = 20; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within + // the date range associated with the occasion. + google.ads.googleads.v11.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; + + // A list of possible final URLs after all cross domain redirects. + // This field is required. + repeated string final_urls = 21; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 22; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 23; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 13; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 24; + + // The language of the promotion. + // Represented as BCP 47 language tag. + optional string language_code = 25; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion in micros. + // One million is equivalent to one percent. + // Either this or money_off_amount is required. + int64 percent_off = 17; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 18; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// Represents a structured snippet extension. +message StructuredSnippetFeedItem { + // The header of the snippet. + // This string must not be empty. + optional string header = 3; + + // The values in the snippet. + // The maximum size of this collection is 10. + repeated string values = 4; +} + +// Represents a sitelink extension. +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/google-cloud/protos/google/ads/googleads/v11/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v11/common/feed_common.proto new file mode 100644 index 00000000..baf39ae6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/feed_common.proto @@ -0,0 +1,37 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing common feed proto messages. + +// Represents a price in a particular currency. +message Money { + // Three-character ISO 4217 currency code. + optional string currency_code = 3; + + // Amount in micros. One million is equivalent to one unit. + optional int64 amount_micros = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/feed_item_set_filter_type_infos.proto b/google-cloud/protos/google/ads/googleads/v11/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 00000000..84698b58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/feed_item_set_string_filter_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Represents a filter on locations in a feed item set. +// Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. +message DynamicLocationSetFilter { + // If multiple labels are set, then only feeditems marked with all the labels + // will be added to the FeedItemSet. + repeated string labels = 1; + + // Business name filter. + BusinessNameFilter business_name_filter = 2; +} + +// Represents a business name filter on locations in a FeedItemSet. +message BusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v11.enums.FeedItemSetStringFilterTypeEnum.FeedItemSetStringFilterType filter_type = 2; +} + +// Represents a filter on affiliate locations in a FeedItemSet. +// Only applicable if the parent Feed of the FeedItemSet is an +// AFFILIATE_LOCATION feed. +message DynamicAffiliateLocationSetFilter { + // Used to filter affiliate locations by chain ids. Only affiliate locations + // that belong to the specified chain(s) will be added to the FeedItemSet. + repeated int64 chain_ids = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v11/common/final_app_url.proto new file mode 100644 index 00000000..2276867d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/final_app_url.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.googleads.v11.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v11/common/frequency_cap.proto new file mode 100644 index 00000000..2aa24c96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/frequency_cap.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v11/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v11/enums/frequency_cap_time_unit.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing frequency caps. + +// A rule specifying the maximum number of times an ad (or some set of ads) can +// be shown to a user over a particular time period. +message FrequencyCapEntry { + // The key of a particular frequency cap. There can be no more + // than one frequency cap with the same key. + FrequencyCapKey key = 1; + + // Maximum number of events allowed during the time range by this cap. + optional int32 cap = 3; +} + +// A group of fields used as keys for a frequency cap. +// There can be no more than one frequency cap with the same key. +message FrequencyCapKey { + // The level on which the cap is to be applied (for example, ad group ad, ad + // group). The cap is applied to all the entities of this level. + google.ads.googleads.v11.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1; + + // The type of event that the cap applies to (for example, impression). + google.ads.googleads.v11.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3; + + // Unit of time the cap is defined at (for example, day, week). + google.ads.googleads.v11.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v11/common/keyword_plan_common.proto new file mode 100644 index 00000000..650932b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/keyword_plan_common.proto @@ -0,0 +1,148 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/dates.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v11/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v11/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v11/enums/month_of_year.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing Keyword Planner messages. + +// Historical metrics specific to the targeting options selected. +// Targeting options include geographies, network, etc. +// Refer to https://support.google.com/google-ads/answer/3022575 for more +// details. +message KeywordPlanHistoricalMetrics { + // Approximate number of monthly searches on this query averaged + // for the past 12 months. + optional int64 avg_monthly_searches = 7; + + // Approximate number of searches on this query for the past twelve months. + repeated MonthlySearchVolume monthly_search_volumes = 6; + + // The competition level for the query. + google.ads.googleads.v11.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; + + // The competition index for the query in the range [0, 100]. + // Shows how competitive ad placement is for a keyword. + // The level of competition from 0-100 is determined by the number of ad slots + // filled divided by the total number of ad slots available. If not enough + // data is available, null is returned. + optional int64 competition_index = 8; + + // Top of page bid low range (20th percentile) in micros for the keyword. + optional int64 low_top_of_page_bid_micros = 9; + + // Top of page bid high range (80th percentile) in micros for the keyword. + optional int64 high_top_of_page_bid_micros = 10; + + // Average Cost Per Click in micros for the keyword. + optional int64 average_cpc_micros = 11; +} + +// Historical metrics options. +message HistoricalMetricsOptions { + // The year month range for historical metrics. If not specified the searches + // will be returned for past 12 months. + // Searches data is 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 will be returned. + optional YearMonthRange year_month_range = 1; + + // Indicates whether to include average cost per click value. + // 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. + bool include_average_cpc = 2; +} + +// Monthly search volume. +message MonthlySearchVolume { + // The year of the search volume (for example, 2020). + optional int64 year = 4; + + // The month of the search volume. + google.ads.googleads.v11.enums.MonthOfYearEnum.MonthOfYear month = 2; + + // Approximate number of searches for the month. + // A null value indicates the search volume is unavailable for + // that month. + optional int64 monthly_searches = 5; +} + +// The aggregate metrics specification of the request. +message KeywordPlanAggregateMetrics { + // The list of aggregate metrics to fetch data. + repeated google.ads.googleads.v11.enums.KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType aggregate_metric_types = 1; +} + +// The aggregated historical metrics for keyword plan keywords. +message KeywordPlanAggregateMetricResults { + // The aggregate searches for all the keywords segmented by device + // for the specified time. + // Supports the following device types: MOBILE, TABLET, DESKTOP. + // + // This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set + // in the KeywordPlanAggregateMetrics field in the request. + repeated KeywordPlanDeviceSearches device_searches = 1; +} + +// The total searches for the device type during the specified time period. +message KeywordPlanDeviceSearches { + // The device type. + google.ads.googleads.v11.enums.DeviceEnum.Device device = 1; + + // The total searches for the device. + optional int64 search_count = 2; +} + +// The Annotations for the Keyword plan keywords. +message KeywordAnnotations { + // The list of concepts for the keyword. + repeated KeywordConcept concepts = 1; +} + +// The concept for the keyword. +message KeywordConcept { + // The concept name for the keyword in the concept_group. + string name = 1; + + // The concept group of the concept details. + ConceptGroup concept_group = 2; +} + +// The concept group for the keyword concept. +message ConceptGroup { + // The concept group name. + string name = 1; + + // The concept group type. + google.ads.googleads.v11.enums.KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v11/common/matching_function.proto new file mode 100644 index 00000000..a679cf03 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/matching_function.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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v11/enums/matching_function_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing a matching function. + +// Matching function associated with a +// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used +// to filter the set of feed items selected. +message MatchingFunction { + // String representation of the Function. + // + // Examples: + // + // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. + // 2. EQUALS(CONTEXT.DEVICE,"Mobile") + // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) + // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) + // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) + // + // For more details, visit + // https://developers.google.com/adwords/api/docs/guides/feed-matching-functions + // + // Note that because multiple strings may represent the same underlying + // function (whitespace and single versus double quotation marks, for + // example), the value returned may not be identical to the string sent in a + // mutate request. + optional string function_string = 5; + + // Operator for a function. + google.ads.googleads.v11.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; + + // The operands on the left hand side of the equation. This is also the + // operand to be used for single operand expressions such as NOT. + repeated Operand left_operands = 2; + + // The operands on the right hand side of the equation. + repeated Operand right_operands = 3; +} + +// An operand in a matching function. +message Operand { + // A constant operand in a matching function. + message ConstantOperand { + // Constant operand values. Required. + oneof constant_operand_value { + // String value of the operand if it is a string type. + string string_value = 5; + + // Int64 value of the operand if it is a int64 type. + int64 long_value = 6; + + // Boolean value of the operand if it is a boolean type. + bool boolean_value = 7; + + // Double value of the operand if it is a double type. + double double_value = 8; + } + } + + // A feed attribute operand in a matching function. + // Used to represent a feed attribute in feed. + message FeedAttributeOperand { + // The associated feed. Required. + optional int64 feed_id = 3; + + // Id of the referenced feed attribute. Required. + optional int64 feed_attribute_id = 4; + } + + // A function operand in a matching function. + // Used to represent nested functions. + message FunctionOperand { + // The matching function held in this operand. + MatchingFunction matching_function = 1; + } + + // An operand in a function referring to a value in the request context. + message RequestContextOperand { + // Type of value to be referred in the request context. + google.ads.googleads.v11.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; + } + + // Different operands that can be used in a matching function. Required. + oneof function_argument_operand { + // A constant operand in a matching function. + ConstantOperand constant_operand = 1; + + // This operand specifies a feed attribute in feed. + FeedAttributeOperand feed_attribute_operand = 2; + + // A function operand in a matching function. + // Used to represent nested functions. + FunctionOperand function_operand = 3; + + // An operand in a function referring to a value in the request context. + RequestContextOperand request_context_operand = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/metric_goal.proto b/google-cloud/protos/google/ads/googleads/v11/common/metric_goal.proto new file mode 100644 index 00000000..51dbf45a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/metric_goal.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/experiment_metric.proto"; +import "google/ads/googleads/v11/enums/experiment_metric_direction.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricGoalProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.ExperimentMetricEnum.ExperimentMetric metric = 1; + + // The metric direction of the goal. For example, increase, decrease, no + // change. + google.ads.googleads.v11.enums.ExperimentMetricDirectionEnum.ExperimentMetricDirection direction = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v11/common/metrics.proto new file mode 100644 index 00000000..fd1e0426 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/metrics.proto @@ -0,0 +1,674 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/interaction_event_type.proto"; +import "google/ads/googleads/v11/enums/quality_score_bucket.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing metrics. + +// Metrics data. +message Metrics { + // The percent of your ad impressions that are shown as the very first ad + // above the organic search results. + optional double absolute_top_impression_percentage = 183; + + // Average cost of viewable impressions (`active_view_impressions`). + optional double active_view_cpm = 184; + + // Active view measurable clicks divided by active view viewable impressions. + // This metric is reported only for 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; + + // 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; + + // 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. + google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). + google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; + + // The number of times the ad was forwarded to someone else as a message. + optional int64 gmail_forwards = 217; + + // The number of times someone has saved your Gmail ad to their inbox as a + // message. + optional int64 gmail_saves = 218; + + // The number of clicks to the landing page on the expanded state of Gmail + // ads. + optional int64 gmail_secondary_clicks = 219; + + // The number of times a store's location-based ad was shown. + // This metric applies to feed items only. + optional int64 impressions_from_store_reach = 220; + + // Count of how often your ad has appeared on a search results page or + // website on the Google Network. + optional int64 impressions = 221; + + // How often people interact with your ad after it is shown to them. + // This is the number of interactions divided by the number of times your ad + // is shown. + optional double interaction_rate = 222; + + // The number of interactions. + // An interaction is the main user action associated with an ad format-clicks + // for text and shopping ads, views for video ads, and so on. + optional int64 interactions = 223; + + // The types of payable and free interactions. + repeated google.ads.googleads.v11.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; + + // The percentage of clicks filtered out of your total number of clicks + // (filtered + non-filtered clicks) during the reporting period. + optional double invalid_click_rate = 224; + + // Number of clicks Google considers illegitimate and doesn't charge you for. + optional int64 invalid_clicks = 225; + + // Number of message chats initiated for Click To Message impressions that + // were message tracking eligible. + optional int64 message_chats = 226; + + // Number of Click To Message impressions that were message tracking eligible. + optional int64 message_impressions = 227; + + // Number of message chats initiated (message_chats) divided by the number + // of message impressions (message_impressions). + // Rate at which a user initiates a message chat from an ad impression with + // a messaging option and message tracking enabled. + // Note that this rate can be more than 1.0 for a given message impression. + optional double message_chat_rate = 228; + + // The percentage of mobile clicks that go to a mobile-friendly page. + optional double mobile_friendly_clicks_percentage = 229; + + // Total optimization score uplift of all recommendations. + optional double optimization_score_uplift = 247; + + // URL for the optimization score page in the Google Ads web interface. + // This metric can be selected from `customer` or `campaign`, and can be + // segmented by `segments.recommendation_type`. For example, `SELECT + // metrics.optimization_score_url, segments.recommendation_type FROM + // customer` will return a URL for each unique (customer, recommendation_type) + // combination. + optional string optimization_score_url = 248; + + // The number of times someone clicked your site's listing in the unpaid + // results for a particular query. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_clicks = 230; + + // The number of times someone clicked your site's listing in the unpaid + // results (organic_clicks) divided by the total number of searches that + // returned pages from your site (organic_queries). See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_clicks_per_query = 231; + + // The number of listings for your site in the unpaid search results. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional int64 organic_impressions = 232; + + // The number of times a page from your site was listed in the unpaid search + // results (organic_impressions) divided by the number of searches returning + // your site's listing in the unpaid results (organic_queries). See the help + // page at https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_impressions_per_query = 233; + + // The total number of searches that returned your site's listing in the + // unpaid results. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_queries = 234; + + // Percentage of first-time sessions (from people who had never visited your + // site before). Imported from Google Analytics. + optional double percent_new_visitors = 235; + + // Number of offline phone calls. + optional int64 phone_calls = 236; + + // Number of offline phone impressions. + optional int64 phone_impressions = 237; + + // Number of phone calls received (phone_calls) divided by the number of + // times your phone number is shown (phone_impressions). + optional double phone_through_rate = 238; + + // Your clickthrough rate (Ctr) divided by the average clickthrough rate of + // all advertisers on the websites that show your ads. Measures how your ads + // perform on Display Network sites compared to other ads on the same sites. + optional double relative_ctr = 239; + + // The percentage of the customer's Shopping or Search ad impressions that are + // shown in the most prominent Shopping position. See + // https://support.google.com/google-ads/answer/7501826 + // for details. Any value below 0.1 is reported as 0.0999. + optional double search_absolute_top_impression_share = 136; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to a low budget. Note: Search + // budget lost absolute top impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_budget_lost_absolute_top_impression_share = 137; + + // The estimated percent of times that your ad was eligible to show on the + // Search Network but didn't because your budget was too low. Note: Search + // budget lost impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_impression_share = 138; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to a low budget. Note: Search + // budget lost top impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_top_impression_share = 139; + + // The number of clicks you've received on the Search Network + // divided by the estimated number of clicks you were eligible to receive. + // Note: Search click share is reported in the range of 0.1 to 1. Any value + // below 0.1 is reported as 0.0999. + optional double search_click_share = 140; + + // The impressions you've received divided by the estimated number of + // impressions you were eligible to receive on the Search Network for search + // terms that matched your keywords exactly (or were close variants of your + // keyword), regardless of your keyword match types. Note: Search exact match + // impression share is reported in the range of 0.1 to 1. Any value below 0.1 + // is reported as 0.0999. + optional double search_exact_match_impression_share = 141; + + // The impressions you've received on the Search Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Search impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_impression_share = 142; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost absolute top impression share is reported in the + // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_absolute_top_impression_share = 143; + + // The estimated percentage of impressions on the Search Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Search rank lost impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_impression_share = 144; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost top impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_top_impression_share = 145; + + // The impressions you've received in the top location (anywhere above the + // organic search results) compared to the estimated number of impressions you + // were eligible to receive in the top location. + // Note: Search top impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_top_impression_share = 146; + + // 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 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/offline_user_data.proto b/google-cloud/protos/google/ads/googleads/v11/common/offline_user_data.proto new file mode 100644 index 00000000..c31b6112 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/offline_user_data.proto @@ -0,0 +1,333 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/user_identifier_source.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing offline user data. + +// Address identifier of offline data. +message OfflineUserAddressInfo { + // First name of the user, which is hashed as SHA-256 after normalized + // (Lowercase all characters; Remove any extra spaces before, after, and in + // between). + optional string hashed_first_name = 7; + + // Last name of the user, which is hashed as SHA-256 after normalized (lower + // case only and no punctuation). + optional string hashed_last_name = 8; + + // City of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string city = 9; + + // State code of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string state = 10; + + // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + optional string country_code = 11; + + // Postal code of the user's address. + optional string postal_code = 12; + + // The street address of the user hashed using SHA-256 hash function after + // normalization (lower case only). Only accepted for + // ConversionAdjustmentUploadService. + optional string hashed_street_address = 13; +} + +// User identifying information. +message UserIdentifier { + // Source of the user identifier when the upload is from Store Sales, + // ConversionUploadService, or ConversionAdjustmentUploadService. + google.ads.googleads.v11.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; + + // Exactly one must be specified. For OfflineUserDataJobService, Customer + // Match accepts hashed_email, hashed_phone_number, mobile_id, + // third_party_user_id, and address_info; Store Sales accepts hashed_email, + // hashed_phone_number, third_party_user_id, and address_info. + // ConversionUploadService accepts hashed_email and hashed_phone_number. + // ConversionAdjustmentUploadService accepts hashed_email, + // hashed_phone_number, and address_info. + oneof identifier { + // Hashed email address using SHA-256 hash function after normalization. + // Accepted for Customer Match, Store Sales, ConversionUploadService, and + // ConversionAdjustmentUploadService. + string hashed_email = 7; + + // Hashed phone number using SHA-256 hash function after normalization + // (E164 standard). Accepted for Customer Match, Store Sales, + // ConversionUploadService, and ConversionAdjustmentUploadService. + string hashed_phone_number = 8; + + // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. + string mobile_id = 9; + + // Advertiser-assigned user ID for Customer Match upload, or + // third-party-assigned user ID for Store Sales. Accepted only for Customer + // Match and Store Sales. + string third_party_user_id = 10; + + // Address information. Accepted only for Customer Match, Store Sales, and + // ConversionAdjustmentUploadService. + OfflineUserAddressInfo address_info = 5; + } +} + +// Attribute of the store sales transaction. +message TransactionAttribute { + // Timestamp when transaction occurred. Required. + // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + optional string transaction_date_time = 8; + + // Transaction amount in micros. Required. + // Transaction amount in micros needs to be greater than 1000. + // If item Attributes are provided, it represents the total value of the + // items, after multiplying the unit price per item by the quantity provided + // in the ItemAttributes. + optional double transaction_amount_micros = 9; + + // Transaction currency code. ISO 4217 three-letter code is used. Required. + optional string currency_code = 10; + + // The resource name of conversion action to report conversions to. + // Required. + optional string conversion_action = 11; + + // Transaction order id. + // Accessible only to customers on the allow-list. + optional string order_id = 12; + + // Store attributes of the transaction. + // Accessible only to customers on the allow-list. + StoreAttribute store_attribute = 6; + + // Value of the custom variable for each transaction. + // Accessible only to customers on the allow-list. + optional string custom_value = 13; + + // Item attributes of the transaction. + ItemAttribute item_attribute = 14; +} + +// Store attributes of the transaction. +message StoreAttribute { + // Store code from + // https://support.google.com/business/answer/3370250#storecode + optional string store_code = 2; +} + +// Item attributes of the transaction. +message ItemAttribute { + // A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). + string item_id = 1; + + // ID of the Merchant Center Account. + optional int64 merchant_id = 2; + + // Common Locale Data Repository (CLDR) territory code of the country + // associated with the feed where your items are uploaded. See + // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes + // for more information. + string country_code = 3; + + // ISO 639-1 code of the language associated with the feed where your items + // are uploaded + string language_code = 4; + + // The number of items sold. Defaults to 1 if not set. + int64 quantity = 5; +} + +// User data holding user identifiers and attributes. +message UserData { + // User identification info. Required. + repeated UserIdentifier user_identifiers = 1; + + // Additional transactions/attributes associated with the user. + // Required when updating store sales data. + TransactionAttribute transaction_attribute = 2; + + // Additional attributes associated with the user. Required when updating + // customer match attributes. These have an expiration of 540 days. + UserAttribute user_attribute = 3; +} + +// 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; +} + +// 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/google-cloud/protos/google/ads/googleads/v11/common/policy.proto b/google-cloud/protos/google/ads/googleads/v11/common/policy.proto new file mode 100644 index 00000000..e6f0635e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/policy.proto @@ -0,0 +1,219 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v11/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing policy information. + +// Key of the violation. The key is used for referring to a violation +// when filing an exemption request. +message PolicyViolationKey { + // Unique ID of the violated policy. + optional string policy_name = 3; + + // The text that violates the policy if specified. + // Otherwise, refers to the policy in general + // (for example, when requesting to be exempt from the whole policy). + // If not specified for criterion exemptions, the whole policy is implied. + // Must be specified for ad exemptions. + optional string violating_text = 4; +} + +// Parameter for controlling how policy exemption is done. +message PolicyValidationParameter { + // The list of policy topics that should not cause a PolicyFindingError to + // be reported. This field is currently only compatible with Enhanced Text Ad. + // It corresponds to the PolicyTopicEntry.topic field. + // + // Resources violating these policies will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated string ignorable_policy_topics = 3; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated PolicyViolationKey exempt_policy_violation_keys = 2; +} + +// Policy finding attached to a resource (for example, alcohol policy associated +// with a site that sells alcohol). +// +// Each PolicyTopicEntry has a topic that indicates the specific ads policy +// the entry is about and a type to indicate the effect that the entry will have +// on serving. It may optionally have one or more evidences that indicate the +// reason for the finding. It may also optionally have one or more constraints +// that provide details about how serving may be restricted. +message PolicyTopicEntry { + // Policy topic this finding refers to. For example, "ALCOHOL", + // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible + // policy topics is not fixed for a particular API version and may change + // at any time. + optional string topic = 5; + + // Describes the negative or positive effect this policy will have on serving. + google.ads.googleads.v11.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; + + // Additional information that explains policy finding + // (for example, the brand name for a trademark finding). + repeated PolicyTopicEvidence evidences = 3; + + // Indicates how serving of this resource may be affected (for example, not + // serving in a country). + repeated PolicyTopicConstraint constraints = 4; +} + +// Additional information that explains a policy finding. +message PolicyTopicEvidence { + // A list of fragments of text that violated a policy. + message TextList { + // The fragments of text from the resource that caused the policy finding. + repeated string texts = 2; + } + + // A list of websites that caused a policy finding. Used for + // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more + // than five websites, only the top five (those that appear in resources the + // most) will be listed here. + message WebsiteList { + // Websites that caused the policy finding. + repeated string websites = 2; + } + + // A list of strings found in a destination page that caused a policy + // finding. + message DestinationTextList { + // List of text found in the resource's destination page. + repeated string destination_texts = 2; + } + + // Evidence of mismatches between the URLs of a resource. + message DestinationMismatch { + // The set of URLs that did not match each other. + repeated google.ads.googleads.v11.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; + } + + // Evidence details when the destination is returning an HTTP error + // code or isn't functional in all locations for commonly used devices. + message DestinationNotWorking { + // The full URL that didn't work. + optional string expanded_url = 7; + + // The type of device that failed to load the URL. + google.ads.googleads.v11.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; + + // The time the URL was last checked. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string last_checked_date_time = 8; + + // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. + oneof reason { + // The type of DNS error. + google.ads.googleads.v11.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; + + // The HTTP error code. + int64 http_error_code = 6; + } + } + + // Specific evidence information depending on the evidence type. + oneof value { + // List of websites linked with this resource. + WebsiteList website_list = 3; + + // List of evidence found in the text of a resource. + TextList text_list = 4; + + // The language the resource was detected to be written in. + // This is an IETF language tag such as "en-US". + string language_code = 9; + + // The text in the destination of the resource that is causing a policy + // finding. + DestinationTextList destination_text_list = 6; + + // Mismatch between the destinations of a resource's URLs. + DestinationMismatch destination_mismatch = 7; + + // Details when the destination is returning an HTTP error code or isn't + // functional in all locations for commonly used devices. + DestinationNotWorking destination_not_working = 8; + } +} + +// Describes the effect on serving that a policy topic entry will have. +message PolicyTopicConstraint { + // A list of countries where a resource's serving is constrained. + message CountryConstraintList { + // Total number of countries targeted by the resource. + optional int32 total_targeted_countries = 3; + + // Countries in which serving is restricted. + repeated CountryConstraint countries = 2; + } + + // Indicates that a policy topic was constrained due to disapproval of the + // website for reseller purposes. + message ResellerConstraint { + + } + + // Indicates that a resource's ability to serve in a particular country is + // constrained. + message CountryConstraint { + // Geo target constant resource name of the country in which serving is + // constrained. + optional string country_criterion = 2; + } + + // Specific information about the constraint. + oneof value { + // Countries where the resource cannot serve. + CountryConstraintList country_constraint_list = 1; + + // Reseller constraint. + ResellerConstraint reseller_constraint = 2; + + // Countries where a certificate is required for serving. + CountryConstraintList certificate_missing_in_country_list = 3; + + // Countries where the resource's domain is not covered by the + // certificates associated with it. + CountryConstraintList certificate_domain_mismatch_in_country_list = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/policy_summary.proto b/google-cloud/protos/google/ads/googleads/v11/common/policy_summary.proto new file mode 100644 index 00000000..26ebbd3a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/policy_summary.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing policy summary. + +// Contains policy summary information. +message PolicySummary { + // The list of policy findings. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process the resource is. + google.ads.googleads.v11.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.v11.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v11/common/real_time_bidding_setting.proto new file mode 100644 index 00000000..2920721e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/real_time_bidding_setting.proto @@ -0,0 +1,35 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing RealTimeBiddingSetting + +// Settings for Real-Time Bidding, a feature only available for campaigns +// targeting the Ad Exchange network. +message RealTimeBiddingSetting { + // Whether the campaign is opted in to real-time bidding. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/segments.proto b/google-cloud/protos/google/ads/googleads/v11/common/segments.proto new file mode 100644 index 00000000..96ebede4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/segments.proto @@ -0,0 +1,400 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/ad_destination_type.proto"; +import "google/ads/googleads/v11/enums/ad_network_type.proto"; +import "google/ads/googleads/v11/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v11/enums/click_type.proto"; +import "google/ads/googleads/v11/enums/conversion_action_category.proto"; +import "google/ads/googleads/v11/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v11/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v11/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v11/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v11/enums/day_of_week.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/external_conversion_source.proto"; +import "google/ads/googleads/v11/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v11/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v11/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v11/enums/month_of_year.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/ads/googleads/v11/enums/product_channel.proto"; +import "google/ads/googleads/v11/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v11/enums/product_condition.proto"; +import "google/ads/googleads/v11/enums/recommendation_type.proto"; +import "google/ads/googleads/v11/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v11/enums/search_term_match_type.proto"; +import "google/ads/googleads/v11/enums/sk_ad_network_ad_event_type.proto"; +import "google/ads/googleads/v11/enums/sk_ad_network_attribution_credit.proto"; +import "google/ads/googleads/v11/enums/sk_ad_network_user_type.proto"; +import "google/ads/googleads/v11/enums/slot.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Ad Destination type. + google.ads.googleads.v11.enums.AdDestinationTypeEnum.AdDestinationType ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v11.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3; + + // 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; + + // Click type. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.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.v11.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v11.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v11.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.v11.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.v11.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.v11.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v11.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.v11.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.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; + + // 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. + google.ads.googleads.v11.enums.ProductChannelEnum.ProductChannel product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v11.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v11.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; + + // 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.v11.enums.RecommendationTypeEnum.RecommendationType recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v11.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70; + + // Match type of the keyword that triggered the ad, including variants. + google.ads.googleads.v11.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v11.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.v11.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.v11.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType sk_ad_network_user_type = 141; + + // iOS Store Kit Ad Network ad event type. + google.ads.googleads.v11.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.v11.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; + + // 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; +} + +// 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.v11.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/google-cloud/protos/google/ads/googleads/v11/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v11/common/simulation.proto new file mode 100644 index 00000000..af227005 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/simulation.proto @@ -0,0 +1,356 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing simulation points. + +// A container for simulation points for simulations of type BID_MODIFIER. +message BidModifierSimulationPointList { + // Projected metrics for a series of bid modifier amounts. + repeated BidModifierSimulationPoint points = 1; +} + +// 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 bid modifier amount. +message BidModifierSimulationPoint { + // The simulated bid modifier upon which projected metrics are based. + optional double bid_modifier = 15; + + // Projected number of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions = 16; + + // Projected total value of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions_value = 17; + + // Projected number of clicks. + optional int64 clicks = 18; + + // Projected cost in micros. + optional int64 cost_micros = 19; + + // Projected number of impressions. + optional int64 impressions = 20; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 21; + + // Projected number of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions = 22; + + // Projected total value of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions_value = 23; + + // Projected number of clicks for the parent resource. + optional int64 parent_clicks = 24; + + // Projected cost in micros for the parent resource. + optional int64 parent_cost_micros = 25; + + // Projected number of impressions for the parent resource. + optional int64 parent_impressions = 26; + + // Projected number of top slot impressions for the parent resource. + // Only search advertising channel type supports this field. + optional int64 parent_top_slot_impressions = 27; + + // Projected minimum daily budget that must be available to the parent + // resource to realize this simulation. + optional int64 parent_required_budget_micros = 28; +} + +// 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/google-cloud/protos/google/ads/googleads/v11/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v11/common/tag_snippet.proto new file mode 100644 index 00000000..74d4363f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/tag_snippet.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v11/enums/tracking_code_type.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing TagSnippet + +// The site tag and event snippet pair for a TrackingCodeType. +message TagSnippet { + // The type of the generated tag snippets for tracking conversions. + google.ads.googleads.v11.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.v11.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2; + + // The site tag that adds visitors to your basic remarketing lists and sets + // new cookies on your domain. + optional string global_site_tag = 5; + + // The event snippet that works with the site tag to track actions that + // should be counted as conversions. + optional string event_snippet = 6; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v11/common/targeting_setting.proto new file mode 100644 index 00000000..b3468d2f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/targeting_setting.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/targeting_dimension.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing TargetingSetting + +// Settings for the targeting-related features, at the campaign and ad group +// levels. For more details about the targeting setting, visit +// https://support.google.com/google-ads/answer/7365594 +message TargetingSetting { + // The per-targeting-dimension setting to restrict the reach of your campaign + // or ad group. + repeated TargetRestriction target_restrictions = 1; + + // The list of operations changing the target restrictions. + // + // Adding a target restriction with a targeting dimension that already exists + // causes the existing target restriction to be replaced with the new value. + repeated TargetRestrictionOperation target_restriction_operations = 2; +} + +// The list of per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.googleads.v11.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; + + // Indicates whether to restrict your ads to show only for the criteria you + // have selected for this targeting_dimension, or to target all values for + // this targeting_dimension and show ads based on your targeting in other + // TargetingDimensions. A value of `true` means that these criteria will only + // apply bid modifiers, and not affect targeting. A value of `false` means + // that these criteria will restrict targeting as well as applying bid + // modifiers. + optional bool bid_only = 3; +} + +// Operation to be performed on a target restriction list in a mutate. +message TargetRestrictionOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the restriction to the existing restrictions. + ADD = 2; + + // Remove the restriction from the existing restrictions. + REMOVE = 3; + } + + // Type of list operation to perform. + Operator operator = 1; + + // The target restriction being added to or removed from the list. + TargetRestriction value = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v11/common/text_label.proto new file mode 100644 index 00000000..0ce10450 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/text_label.proto @@ -0,0 +1,38 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v11/common/url_collection.proto new file mode 100644 index 00000000..f1918b80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/url_collection.proto @@ -0,0 +1,43 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file UrlCollection type. + +// Collection of urls that is tagged with a unique identifier. +message UrlCollection { + // Unique identifier for this UrlCollection instance. + optional string url_collection_id = 5; + + // A list of possible final URLs. + repeated string final_urls = 6; + + // A list of possible final mobile URLs. + repeated string final_mobile_urls = 7; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v11/common/user_lists.proto new file mode 100644 index 00000000..4c5ba713 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/user_lists.proto @@ -0,0 +1,292 @@ +// 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.ads.googleads.v11.common; + +import "google/ads/googleads/v11/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto"; +import "google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v11/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto"; +import "google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v11/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v11/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v11/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// 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. + google.ads.googleads.v11.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.v11.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; +} + +// A client defined rule based on custom parameters sent by web sites or +// uploaded by the advertiser. +message UserListRuleInfo { + // Rule type is used to determine how to group rule items. + // + // The default is OR of ANDs (disjunctive normal form). + // That is, rule items will be ANDed together within rule item groups and the + // groups themselves will be ORed together. + // + // Currently AND of ORs (conjunctive normal form) is only supported for + // ExpressionRuleUserList. + google.ads.googleads.v11.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; + + // List of rule item groups that defines this rule. + // Rule item groups are grouped together based on rule_type. + repeated UserListRuleItemGroupInfo rule_item_groups = 2; +} + +// A group of rule items. +message UserListRuleItemGroupInfo { + // Rule items that will be grouped together based on rule_type. + repeated UserListRuleItemInfo rule_items = 1; +} + +// An atomic rule item. +message UserListRuleItemInfo { + // Rule variable name. It should match the corresponding key name fired + // by the pixel. + // A name must begin with US-ascii letters or underscore or UTF8 code that is + // greater than 127 and consist of US-ascii letters or digits or underscore or + // UTF8 code that is greater than 127. + // For websites, there are two built-in variable URL (name = 'url__') and + // referrer URL (name = 'ref_url__'). + // This field must be populated when creating a new rule item. + optional string name = 5; + + // An atomic rule item. + oneof rule_item { + // An atomic rule item composed of a number operation. + UserListNumberRuleItemInfo number_rule_item = 2; + + // An atomic rule item composed of a string operation. + UserListStringRuleItemInfo string_rule_item = 3; + + // An atomic rule item composed of a date operation. + UserListDateRuleItemInfo date_rule_item = 4; + } +} + +// A rule item composed of a date operation. +message UserListDateRuleItemInfo { + // Date comparison operator. + // This field is required and must be populated when creating new date + // rule item. + google.ads.googleads.v11.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; + + // String representing date value to be compared with the rule variable. + // Supported date format is YYYY-MM-DD. + // Times are reported in the customer's time zone. + optional string value = 4; + + // The relative date value of the right hand side denoted by number of days + // offset from now. The value field will override this field when both are + // present. + optional int64 offset_in_days = 5; +} + +// A rule item composed of a number operation. +message UserListNumberRuleItemInfo { + // Number comparison operator. + // This field is required and must be populated when creating a new number + // rule item. + google.ads.googleads.v11.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; + + // Number value to be compared with the variable. + // This field is required and must be populated when creating a new number + // rule item. + optional double value = 3; +} + +// A rule item composed of a string operation. +message UserListStringRuleItemInfo { + // String comparison operator. + // This field is required and must be populated when creating a new string + // rule item. + google.ads.googleads.v11.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; + + // The right hand side of the string rule item. For URLs or referrer URLs, + // the value can not contain illegal URL chars such as newlines, quotes, + // tabs, or parentheses. This field is required and must be populated when + // creating a new string rule item. + optional string value = 3; +} + +// 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.v11.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3; +} + +// Visitors of a page. The page visit is defined by one boolean rule expression. +message ExpressionRuleUserListInfo { + // Boolean rule that defines this user list. The rule consists of a list of + // rule item groups and each rule item group consists of a list of rule items. + // All the rule item groups are ORed or ANDed together for evaluation based on + // rule.rule_type. + // + // Required for creating an expression rule user list. + UserListRuleInfo rule = 1; +} + +// 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.v11.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. + google.ads.googleads.v11.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; + } +} + +// Represents a user list that is a custom combination of user lists. +message LogicalUserListInfo { + // Logical list rules that define this user list. The rules are defined as a + // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are + // ANDed when they are evaluated. + // + // Required for creating a logical user list. + repeated UserListLogicalRuleInfo rules = 1; +} + +// A user list logical rule. A rule has a logical operator (and/or/not) and a +// list of user lists as operands. +message UserListLogicalRuleInfo { + // The logical operator of the rule. + google.ads.googleads.v11.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; + + // The list of operands of the rule. + repeated LogicalUserListOperandInfo rule_operands = 2; +} + +// Operand of logical user list that consists of a user list. +message LogicalUserListOperandInfo { + // Resource name of a user list as an operand. + optional string user_list = 2; +} + +// User list targeting as a collection of conversions or remarketing actions. +message BasicUserListInfo { + // Actions associated with this user list. + repeated UserListActionInfo actions = 1; +} + +// Represents an action type used for building remarketing user lists. +message UserListActionInfo { + // Subtypes of user list action. + oneof user_list_action { + // A conversion action that's not generated from remarketing. + string conversion_action = 3; + + // A remarketing action. + string remarketing_action = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/common/value.proto b/google-cloud/protos/google/ads/googleads/v11/common/value.proto new file mode 100644 index 00000000..982957a2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/common/value.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.common; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v11.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V11::Common"; + +// Proto file describing value types. + +// A generic data container. +message Value { + // A value. + oneof value { + // A boolean. + bool boolean_value = 1; + + // An int64. + int64 int64_value = 2; + + // A float. + float float_value = 3; + + // A double. + double double_value = 4; + + // A string. + string string_value = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/enums/BUILD.bazel new file mode 100644 index 00000000..01a51ee0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/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/google-cloud/protos/google/ads/googleads/v11/enums/access_invitation_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/access_invitation_status.proto new file mode 100644 index 00000000..26654b66 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/access_invitation_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing AccessInvitationStatus enum. + +// Container for enum for identifying the status of access invitation +message AccessInvitationStatusEnum { + // Possible access invitation status of a user + enum AccessInvitationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The initial state of an invitation, before being acted upon by anyone. + PENDING = 2; + + // Invitation process was terminated by the email recipient. No new user was + // created. + DECLINED = 3; + + // Invitation URLs expired without being acted upon. No new user can be + // created. Invitations expire 20 days after creation. + EXPIRED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v11/enums/access_reason.proto new file mode 100644 index 00000000..54f1804a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/access_reason.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Indicates the way the resource such as user list is related to a user. +message AccessReasonEnum { + // Enum describing possible access reasons. + enum AccessReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The resource is owned by the user. + OWNED = 2; + + // The resource is shared to the user. + SHARED = 3; + + // The resource is licensed to the user. + LICENSED = 4; + + // The user subscribed to the resource. + SUBSCRIBED = 5; + + // The resource is accessible to the user. + AFFILIATED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/access_role.proto b/google-cloud/protos/google/ads/googleads/v11/enums/access_role.proto new file mode 100644 index 00000000..46bafbb1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/access_role.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing possible access role for user. +message AccessRoleEnum { + // Possible access role of a user. + enum AccessRole { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Owns its account and can control the addition of other users. + ADMIN = 2; + + // Can modify campaigns, but can't affect other users. + STANDARD = 3; + + // Can view campaigns and account changes, but cannot make edits. + READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_status.proto new file mode 100644 index 00000000..678b157e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing AccountBudgetProposal statuses. + +// Message describing AccountBudgetProposal statuses. +message AccountBudgetProposalStatusEnum { + // The possible statuses of an AccountBudgetProposal. + enum AccountBudgetProposalStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The proposal is pending approval. + PENDING = 2; + + // The proposal has been approved but the corresponding billing setup + // has not. This can occur for proposals that set up the first budget + // when signing up for billing or when performing a change of bill-to + // operation. + APPROVED_HELD = 3; + + // The proposal has been approved. + APPROVED = 4; + + // The proposal has been cancelled by the user. + CANCELLED = 5; + + // The proposal has been rejected by the user, for example, by rejecting an + // acceptance email. + REJECTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_type.proto new file mode 100644 index 00000000..965532de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_proposal_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing AccountBudgetProposal types. + +// Message describing AccountBudgetProposal types. +message AccountBudgetProposalTypeEnum { + // The possible types of an AccountBudgetProposal. + enum AccountBudgetProposalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Identifies a request to create a new budget. + CREATE = 2; + + // Identifies a request to edit an existing budget. + UPDATE = 3; + + // Identifies a request to end a budget that has already started. + END = 4; + + // Identifies a request to remove a budget that hasn't started yet. + REMOVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_status.proto new file mode 100644 index 00000000..e1c33073 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/account_budget_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing AccountBudget statuses. + +// Message describing AccountBudget statuses. +message AccountBudgetStatusEnum { + // The possible statuses of an AccountBudget. + enum AccountBudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The account budget is pending approval. + PENDING = 2; + + // The account budget has been approved. + APPROVED = 3; + + // The account budget has been cancelled by the user. + CANCELLED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/account_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/account_link_status.proto new file mode 100644 index 00000000..b1f1f7a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/account_link_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing possible statuses of an account link. +message AccountLinkStatusEnum { + // Describes the possible statuses for a link between a Google Ads customer + // and another account. + enum AccountLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The link is enabled. + ENABLED = 2; + + // The link is removed/disabled. + REMOVED = 3; + + // The link to the other account has been requested. A user on the other + // account may now approve the link by setting the status to ENABLED. + REQUESTED = 4; + + // This link has been requested by a user on the other account. It may be + // approved by a user on this account by setting the status to ENABLED. + PENDING_APPROVAL = 5; + + // The link is rejected by the approver. + REJECTED = 6; + + // The link is revoked by the user who requested the link. + REVOKED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 00000000..41695576 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Ad Customizer placeholder fields. + +// Values for Ad Customizer placeholder fields. +message AdCustomizerPlaceholderFieldEnum { + // Possible values for Ad Customizers placeholder fields. + enum AdCustomizerPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. Integer value to be inserted. + INTEGER = 2; + + // Data Type: STRING. Price value to be inserted. + PRICE = 3; + + // Data Type: DATE_TIME. Date value to be inserted. + DATE = 4; + + // Data Type: STRING. String value to be inserted. + STRING = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_destination_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_destination_type.proto new file mode 100644 index 00000000..0bb0be36 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_destination_type.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad destination types. + +// Container for enumeration of Google Ads destination types. +message AdDestinationTypeEnum { + // Enumerates Google Ads destination types + enum AdDestinationType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Ads that don't intend to drive users off from ads to other destinations + NOT_APPLICABLE = 2; + + // Website + WEBSITE = 3; + + // App Deep Link + APP_DEEP_LINK = 4; + + // iOS App Store or Play Store + APP_STORE = 5; + + // Call Dialer + PHONE_CALL = 6; + + // Map App + MAP_DIRECTIONS = 7; + + // Location Dedicated Page + LOCATION_LISTING = 8; + + // Text Message + MESSAGE = 9; + + // Lead Generation Form + LEAD_FORM = 10; + + // YouTube + YOUTUBE = 11; + + // Ad Destination for Conversions with keys unknown + UNMODELED_FOR_CONVERSIONS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 00000000..7bde29d3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad group ad rotation mode. + +// Container for enum describing possible ad rotation modes of ads within an +// ad group. +message AdGroupAdRotationModeEnum { + // The possible ad rotation modes of an ad group. + enum AdGroupAdRotationMode { + // The ad rotation mode has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Optimize ad group ads based on clicks or conversions. + OPTIMIZE = 2; + + // Rotate evenly forever. + ROTATE_FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_status.proto new file mode 100644 index 00000000..b3b748f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_ad_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 00000000..95271838 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible AdGroupCriterion approval statuses. +message AdGroupCriterionApprovalStatusEnum { + // Enumerates AdGroupCriterion approval statuses. + enum AdGroupCriterionApprovalStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Approved. + APPROVED = 2; + + // Disapproved. + DISAPPROVED = 3; + + // Pending Review. + PENDING_REVIEW = 4; + + // Under review. + UNDER_REVIEW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_status.proto new file mode 100644 index 00000000..7bb9ba50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing AdGroupCriterion statuses. + +// Message describing AdGroupCriterion statuses. +message AdGroupCriterionStatusEnum { + // The possible statuses of an AdGroupCriterion. + enum AdGroupCriterionStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group criterion is enabled. + ENABLED = 2; + + // The ad group criterion is paused. + PAUSED = 3; + + // The ad group criterion is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_status.proto new file mode 100644 index 00000000..7fdc7999 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad group status. + +// Container for enum describing possible statuses of an ad group. +message AdGroupStatusEnum { + // The possible statuses of an ad group. + enum AdGroupStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group is enabled. + ENABLED = 2; + + // The ad group is paused. + PAUSED = 3; + + // The ad group is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_type.proto new file mode 100644 index 00000000..661bf171 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_group_type.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad group types. + +// Defines types of an ad group, specific to a particular campaign channel +// type. This type drives validations that restrict which entities can be +// added to the ad group. +message AdGroupTypeEnum { + // Enum listing the possible types of an ad group. + enum AdGroupType { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The default ad group type for Search campaigns. + SEARCH_STANDARD = 2; + + // The default ad group type for Display campaigns. + DISPLAY_STANDARD = 3; + + // The ad group type for Shopping campaigns serving standard product ads. + SHOPPING_PRODUCT_ADS = 4; + + // The default ad group type for Hotel campaigns. + HOTEL_ADS = 6; + + // The type for ad groups in Smart Shopping campaigns. + SHOPPING_SMART_ADS = 7; + + // Short unskippable in-stream video ads. + VIDEO_BUMPER = 8; + + // TrueView (skippable) in-stream video ads. + VIDEO_TRUE_VIEW_IN_STREAM = 9; + + // TrueView in-display video ads. + VIDEO_TRUE_VIEW_IN_DISPLAY = 10; + + // Unskippable in-stream video ads. + VIDEO_NON_SKIPPABLE_IN_STREAM = 11; + + // Outstream video ads. + VIDEO_OUTSTREAM = 12; + + // Ad group type for Dynamic Search Ads ad groups. + SEARCH_DYNAMIC_ADS = 13; + + // The type for ad groups in Shopping Comparison Listing campaigns. + SHOPPING_COMPARISON_LISTING_ADS = 14; + + // The ad group type for Promoted Hotel ad groups. + PROMOTED_HOTEL_ADS = 15; + + // Video responsive ad groups. + VIDEO_RESPONSIVE = 16; + + // Video efficient reach ad groups. + VIDEO_EFFICIENT_REACH = 17; + + // Ad group type for Smart campaigns. + SMART_CAMPAIGN_ADS = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_network_type.proto new file mode 100644 index 00000000..432e51ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_network_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_serving_optimization_status.proto new file mode 100644 index 00000000..982257ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_serving_optimization_status.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad serving statuses. + +// Possible ad serving statuses of a campaign. +message AdServingOptimizationStatusEnum { + // Enum describing possible serving statuses. + enum AdServingOptimizationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Ad serving is optimized based on CTR for the campaign. + OPTIMIZE = 2; + + // Ad serving is optimized based on CTR * Conversion for the campaign. If + // the campaign is not in the conversion optimizer bidding strategy, it will + // default to OPTIMIZED. + CONVERSION_OPTIMIZE = 3; + + // Ads are rotated evenly for 90 days, then optimized for clicks. + ROTATE = 4; + + // Show lower performing ads more evenly with higher performing ads, and do + // not optimize. + ROTATE_INDEFINITELY = 5; + + // Ad serving optimization status is not available. + UNAVAILABLE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_strength.proto new file mode 100644 index 00000000..3d11630d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_strength.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/ad_type.proto new file mode 100644 index 00000000..f6680d17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/ad_type.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the ad type. + +// Container for enum describing possible types of an ad. +message AdTypeEnum { + // The possible types of an ad. + enum AdType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad is a text ad. + TEXT_AD = 2; + + // The ad is an expanded text ad. + EXPANDED_TEXT_AD = 3; + + // The ad is an expanded dynamic search ad. + EXPANDED_DYNAMIC_SEARCH_AD = 7; + + // The ad is a hotel ad. + HOTEL_AD = 8; + + // The ad is a Smart Shopping ad. + SHOPPING_SMART_AD = 9; + + // The ad is a standard Shopping ad. + SHOPPING_PRODUCT_AD = 10; + + // The ad is a video ad. + VIDEO_AD = 12; + + // This ad is 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-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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_sub_type.proto new file mode 100644 index 00000000..7c0e53ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_sub_type.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing advertising channel subtypes. + +// An immutable specialization of an Advertising Channel. +message AdvertisingChannelSubTypeEnum { + // Enum describing the different channel subtypes. + enum AdvertisingChannelSubType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile app campaigns for Search. + SEARCH_MOBILE_APP = 2; + + // Mobile app campaigns for Display. + DISPLAY_MOBILE_APP = 3; + + // AdWords express campaigns for search. + SEARCH_EXPRESS = 4; + + // AdWords Express campaigns for display. + DISPLAY_EXPRESS = 5; + + // Smart Shopping campaigns. + SHOPPING_SMART_ADS = 6; + + // Gmail Ad campaigns. + DISPLAY_GMAIL_AD = 7; + + // Smart display campaigns. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_type.proto new file mode 100644 index 00000000..f9cc6e2f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/advertising_channel_type.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing advertising channel types + +// The channel type a campaign may target to serve on. +message AdvertisingChannelTypeEnum { + // Enum describing the various advertising channel types. + enum AdvertisingChannelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search Network. Includes display bundled, and Search+ campaigns. + SEARCH = 2; + + // Google Display Network only. + DISPLAY = 3; + + // Shopping campaigns serve on the shopping property + // and on google.com search results. + SHOPPING = 4; + + // Hotel Ads campaigns. + HOTEL = 5; + + // Video campaigns. + VIDEO = 6; + + // App Campaigns, and App Campaigns for Engagement, that run + // across multiple channels. + MULTI_CHANNEL = 7; + + // Local ads campaigns. + LOCAL = 8; + + // Smart campaigns. + SMART = 9; + + // Performance Max campaigns. + PERFORMANCE_MAX = 10; + + // Local services campaigns. + LOCAL_SERVICES = 11; + + // Discovery campaigns. + DISCOVERY = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 00000000..80e327e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing relation type for affiliate location feeds. + +// Container for enum describing possible values for a relationship type for +// an affiliate location feed. +message AffiliateLocationFeedRelationshipTypeEnum { + // Possible values for a relationship type for an affiliate location feed. + enum AffiliateLocationFeedRelationshipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // General retailer relationship. + GENERAL_RETAILER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 00000000..acef6c23 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Affiliate Location placeholder fields. + +// Values for Affiliate Location placeholder fields. +message AffiliateLocationPlaceholderFieldEnum { + // Possible values for Affiliate Location placeholder fields. + enum AffiliateLocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + + // Data Type: STRING. Language code of the business. + LANGUAGE_CODE = 10; + + // Data Type: INT64. ID of the chain. + CHAIN_ID = 11; + + // Data Type: STRING. Name of the chain. + CHAIN_NAME = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/age_range_type.proto new file mode 100644 index 00000000..84e7bdb7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/age_range_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing age range types. + +// Container for enum describing the type of demographic age ranges. +message AgeRangeTypeEnum { + // The type of demographic age ranges (for example, between 18 and 24 years + // old). + enum AgeRangeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + + // Undetermined age range. + AGE_RANGE_UNDETERMINED = 503999; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_app_store.proto new file mode 100644 index 00000000..4862341d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing App Campaign app store. + +// The application store that distributes mobile applications. +message AppCampaignAppStoreEnum { + // Enum describing app campaign app store. + enum AppCampaignAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple app store. + APPLE_APP_STORE = 2; + + // Google play. + GOOGLE_APP_STORE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 00000000..0cf344f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing App Campaign bidding strategy goal types. + +// Container for enum describing goal towards which the bidding strategy of an +// app campaign should optimize for. +message AppCampaignBiddingStrategyGoalTypeEnum { + // Goal type of App campaign BiddingStrategy. + enum AppCampaignBiddingStrategyGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Aim to maximize the number of app installs. The cpa bid is the + // target cost per install. + OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per install. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per in-app conversion. Note + // that the actual cpa may seem higher than the target cpa at first, since + // the long term conversions haven't happened yet. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; + + // Aim to maximize all conversions' value, for example, install + selected + // in-app conversions while achieving or exceeding target return on + // advertising spend. + OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5; + + // Aim to maximize the pre-registration of the app. + OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME = 6; + + // Aim to maximize installation of the app without target cost-per-install. + OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_payment_model_type.proto new file mode 100644 index 00000000..4dfa7e46 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_payment_model_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing criteria types. + +// Represents a criterion for targeting paid apps. +message AppPaymentModelTypeEnum { + // Enum describing possible app payment models. + enum AppPaymentModelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents paid-for apps. + PAID = 30; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_placeholder_field.proto new file mode 100644 index 00000000..bc1bfe85 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_placeholder_field.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing App placeholder fields. + +// Values for App placeholder fields. +message AppPlaceholderFieldEnum { + // Possible values for App placeholder fields. + enum AppPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The application store that the target application + // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play + // Store. + STORE = 2; + + // Data Type: STRING. The store-specific ID for the target application. + ID = 3; + + // Data Type: STRING. The visible text displayed when the link is rendered + // in an ad. + LINK_TEXT = 4; + + // Data Type: STRING. The destination URL of the in-app link. + URL = 5; + + // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded + // URLs. + FINAL_URLS = 6; + + // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 7; + + // Data Type: URL. Tracking template for the in-app link when using Upgraded + // URLs. + TRACKING_URL = 8; + + // Data Type: STRING. Final URL suffix for the in-app link when using + // parallel tracking. + FINAL_URL_SUFFIX = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_store.proto new file mode 100644 index 00000000..564dd1f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing app store types for an app extension. + +// Container for enum describing app store type in an app extension. +message AppStoreEnum { + // App store type in an app extension. + enum AppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_ITUNES = 2; + + // Google Play. + GOOGLE_PLAY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/app_url_operating_system_type.proto new file mode 100644 index 00000000..f9a7b133 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/app_url_operating_system_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing operating system for a deeplink app URL. + +// The possible OS types for a deeplink AppUrl. +message AppUrlOperatingSystemTypeEnum { + // Operating System + enum AppUrlOperatingSystemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Apple IOS operating system. + IOS = 2; + + // The Android operating system. + ANDROID = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_field_type.proto new file mode 100644 index 00000000..2976e4de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_field_type.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing asset type. + +// Container for enum describing the possible placements of an asset. +message AssetFieldTypeEnum { + // Enum describing the possible placements of an asset. + enum AssetFieldType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is linked for use as a headline. + HEADLINE = 2; + + // The asset is linked for use as a description. + DESCRIPTION = 3; + + // The asset is linked for use as mandatory ad text. + MANDATORY_AD_TEXT = 4; + + // The asset is linked for use as a marketing image. + MARKETING_IMAGE = 5; + + // The asset is linked for use as a media bundle. + MEDIA_BUNDLE = 6; + + // The asset is linked for use as a YouTube video. + YOUTUBE_VIDEO = 7; + + // The asset is linked to indicate that a hotels campaign is "Book on + // Google" enabled. + BOOK_ON_GOOGLE = 8; + + // The asset is linked for use as a Lead Form extension. + LEAD_FORM = 9; + + // The asset is linked for use as a Promotion extension. + PROMOTION = 10; + + // The asset is linked for use as a Callout extension. + CALLOUT = 11; + + // The asset is linked for use as a Structured Snippet extension. + STRUCTURED_SNIPPET = 12; + + // The asset is linked for use as a Sitelink extension. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/asset_group_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_group_status.proto new file mode 100644 index 00000000..03d2a5e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_group_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/asset_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_link_status.proto new file mode 100644 index 00000000..51ad0461 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/asset_performance_label.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_performance_label.proto new file mode 100644 index 00000000..90acd845 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_performance_label.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the performance label of an asset. + +// Container for enum describing the performance label of an asset. +message AssetPerformanceLabelEnum { + // Enum describing the possible performance labels of an asset, usually + // computed in the context of a linkage. + enum AssetPerformanceLabel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This asset does not yet have any performance informantion. This may be + // because it is still under review. + PENDING = 2; + + // The asset has started getting impressions but the stats are not + // statistically significant enough to get an asset performance label. + LEARNING = 3; + + // Worst performing assets. + LOW = 4; + + // Good performing assets. + GOOD = 5; + + // Best performing assets. + BEST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_asset_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_asset_status.proto new file mode 100644 index 00000000..8ec3785f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_asset_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_link_status.proto new file mode 100644 index 00000000..b3d4c0ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_link_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_status.proto new file mode 100644 index 00000000..4adc61c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of an asset set. +message AssetSetStatusEnum { + // The possible statuses of an asset set. + enum AssetSetStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The asset set is enabled. + ENABLED = 2; + + // The asset set is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_type.proto new file mode 100644 index 00000000..e0686615 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_set_type.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/asset_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_source.proto new file mode 100644 index 00000000..d601702e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_source.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/asset_type.proto new file mode 100644 index 00000000..314708a8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/asset_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/async_action_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/async_action_status.proto new file mode 100644 index 00000000..7eee80e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/async_action_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v11/enums/attribution_model.proto new file mode 100644 index 00000000..7b16ed57 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/attribution_model.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum representing the attribution model that describes how to +// distribute credit for a particular conversion across potentially many prior +// interactions. +message AttributionModelEnum { + // The attribution model that describes how to distribute credit for a + // particular conversion across potentially many prior interactions. + enum AttributionModel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Uses external attribution. + EXTERNAL = 100; + + // Attributes all credit for a conversion to its last click. + GOOGLE_ADS_LAST_CLICK = 101; + + // Attributes all credit for a conversion to its first click using Google + // Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; + + // Attributes credit for a conversion equally across all of its clicks using + // Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; + + // Attributes exponentially more credit for a conversion to its more recent + // clicks using Google Search attribution (half-life is 1 week). + GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; + + // Attributes 40% of the credit for a conversion to its first and last + // clicks. Remaining 20% is evenly distributed across all other clicks. This + // uses Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; + + // Flexible model that uses machine learning to determine the appropriate + // distribution of credit among clicks using Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/audience_insights_dimension.proto b/google-cloud/protos/google/ads/googleads/v11/enums/audience_insights_dimension.proto new file mode 100644 index 00000000..83e27d17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/audience_insights_dimension.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsDimensionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing a plannable network. + +// Container for enum describing audience insights dimensions. +message AudienceInsightsDimensionEnum { + // Possible audience 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/google-cloud/protos/google/ads/googleads/v11/enums/audience_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/audience_status.proto new file mode 100644 index 00000000..bd1810a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/batch_job_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/batch_job_status.proto new file mode 100644 index 00000000..aaceec39 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/batch_job_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing batch job statuses. + +// Container for enum describing possible batch job statuses. +message BatchJobStatusEnum { + // The batch job statuses. + enum BatchJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job is not currently running. + PENDING = 2; + + // The job is running. + RUNNING = 3; + + // The job is done. + DONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/bid_modifier_source.proto new file mode 100644 index 00000000..216237af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/bid_modifier_source.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing bid modifier source. + +// Container for enum describing possible bid modifier sources. +message BidModifierSourceEnum { + // Enum describing possible bid modifier sources. + enum BidModifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The bid modifier is specified at the campaign level, on the campaign + // level criterion. + CAMPAIGN = 2; + + // The bid modifier is specified (overridden) at the ad group level. + AD_GROUP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_source.proto new file mode 100644 index 00000000..ad9f9ed3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_source.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing bidding sources. + +// Container for enum describing possible bidding sources. +message BiddingSourceEnum { + // Indicates where a bid or target is defined. For example, an ad group + // criterion may define a cpc bid directly, or it can inherit its cpc bid from + // the ad group. + enum BiddingSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Effective bid or target is inherited from campaign bidding strategy. + CAMPAIGN_BIDDING_STRATEGY = 5; + + // The bid or target is defined on the ad group. + AD_GROUP = 6; + + // The bid or target is defined on the ad group criterion. + AD_GROUP_CRITERION = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_status.proto new file mode 100644 index 00000000..7f05ea14 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing BiddingStrategy statuses. + +// Message describing BiddingStrategy statuses. +message BiddingStrategyStatusEnum { + // The possible statuses of a BiddingStrategy. + enum BiddingStrategyStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The bidding strategy is enabled. + ENABLED = 2; + + // The bidding strategy is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_system_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_system_status.proto new file mode 100644 index 00000000..0627921d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_system_status.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySystemStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_type.proto new file mode 100644 index 00000000..b9dcb464 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/bidding_strategy_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing bidding schemes. + +// Container for enum describing possible bidding strategy types. +message BiddingStrategyTypeEnum { + // Enum describing possible bidding strategy types. + enum BiddingStrategyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Commission is an automatic bidding strategy in which the advertiser pays + // a certain portion of the conversion value. + COMMISSION = 16; + + // Enhanced CPC is a bidding strategy that raises bids for clicks + // that seem more likely to lead to a conversion and lowers + // them for clicks where they seem less likely. + ENHANCED_CPC = 2; + + // Used for return value only. Indicates that a campaign does not have a + // bidding strategy. This prevents the campaign from serving. For example, + // a campaign may be attached to a manager bidding strategy and the serving + // account is subsequently unlinked from the manager account. In this case + // the campaign will automatically be detached from the now inaccessible + // manager bidding strategy and transition to the INVALID bidding strategy + // type. + INVALID = 17; + + // Manual bidding strategy that allows advertiser to set the bid per + // advertiser-specified action. + MANUAL_CPA = 18; + + // Manual click based bidding where user pays per click. + MANUAL_CPC = 3; + + // Manual impression based bidding + // where user pays per thousand impressions. + MANUAL_CPM = 4; + + // A bidding strategy that pays a configurable amount per video view. + MANUAL_CPV = 13; + + // A bidding strategy that automatically maximizes number of conversions + // given a daily budget. + MAXIMIZE_CONVERSIONS = 10; + + // An automated bidding strategy that automatically sets bids to maximize + // revenue while spending your budget. + MAXIMIZE_CONVERSION_VALUE = 11; + + // Page-One Promoted bidding scheme, which sets max cpc bids to + // target impressions on page one or page one promoted slots on google.com. + // This enum value is deprecated. + PAGE_ONE_PROMOTED = 5; + + // Percent Cpc is bidding strategy where bids are a fraction of the + // advertised price for some good or service. + PERCENT_CPC = 12; + + // Target CPA is an automated bid strategy that sets bids + // to help get as many conversions as possible + // at the target cost-per-acquisition (CPA) you set. + TARGET_CPA = 6; + + // Target CPM is an automated bid strategy that sets bids to help get + // as many impressions as possible at the target cost per one thousand + // impressions (CPM) you set. + TARGET_CPM = 14; + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + TARGET_IMPRESSION_SHARE = 15; + + // Target Outrank Share is an automated bidding strategy that sets bids + // based on the target fraction of auctions where the advertiser + // should outrank a specific competitor. + // This enum value is deprecated. + TARGET_OUTRANK_SHARE = 7; + + // Target ROAS is an automated bidding strategy + // that helps you maximize revenue while averaging + // a specific target Return On Average Spend (ROAS). + TARGET_ROAS = 8; + + // Target Spend is an automated bid strategy that sets your bids + // to help get as many clicks as possible within your budget. + TARGET_SPEND = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/billing_setup_status.proto new file mode 100644 index 00000000..35804d98 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/billing_setup_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing BillingSetup statuses. + +// Message describing BillingSetup statuses. +message BillingSetupStatusEnum { + // The possible statuses of a BillingSetup. + enum BillingSetupStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The billing setup is pending approval. + PENDING = 2; + + // The billing setup has been approved but the corresponding first budget + // has not. This can only occur for billing setups configured for monthly + // invoicing. + APPROVED_HELD = 3; + + // The billing setup has been approved. + APPROVED = 4; + + // The billing setup was cancelled by the user prior to approval. + CANCELLED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v11/enums/brand_safety_suitability.proto new file mode 100644 index 00000000..2da79d61 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/brand_safety_suitability.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing brand safety suitability settings. + +// Container for enum with 3-Tier brand safety suitability control. +message BrandSafetySuitabilityEnum { + // 3-Tier brand safety suitability control. + enum BrandSafetySuitability { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This option lets you show ads across all inventory on YouTube and video + // partners that meet our standards for monetization. This option may be an + // appropriate choice for brands that want maximum access to the full + // breadth of videos eligible for ads, including, for example, videos that + // have strong profanity in the context of comedy or a documentary, or + // excessive violence as featured in video games. + EXPANDED_INVENTORY = 2; + + // This option lets you show ads across a wide range of content that's + // appropriate for most brands, such as popular music videos, documentaries, + // and movie trailers. The content you can show ads on is based on YouTube's + // advertiser-friendly content guidelines that take into account, for + // example, the strength or frequency of profanity, or the appropriateness + // of subject matter like sensitive events. Ads won't show, for example, on + // content with repeated strong profanity, strong sexual content, or graphic + // violence. + STANDARD_INVENTORY = 3; + + // This option lets you show ads on a reduced range of content that's + // appropriate for brands with particularly strict guidelines around + // inappropriate language and sexual suggestiveness; above and beyond what + // YouTube's advertiser-friendly content guidelines address. The videos + // accessible in this sensitive category meet heightened requirements, + // especially for inappropriate language and sexual suggestiveness. For + // example, your ads will be excluded from showing on some of YouTube's most + // popular music videos and other pop culture content across YouTube and + // Google video partners. + LIMITED_INVENTORY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/budget_campaign_association_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/budget_campaign_association_status.proto new file mode 100644 index 00000000..13a9204d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/budget_campaign_association_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Budget and Campaign association status. + +// Message describing the status of the association between the Budget and the +// Campaign. +message BudgetCampaignAssociationStatusEnum { + // Possible statuses of the association between the Budget and the Campaign. + enum BudgetCampaignAssociationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign is currently using the budget. + ENABLED = 2; + + // The campaign is no longer using the budget. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v11/enums/budget_delivery_method.proto new file mode 100644 index 00000000..6ca5b7a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/budget_delivery_method.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget delivery methods. A delivery method determines the +// rate at which the Budget is spent. +message BudgetDeliveryMethodEnum { + // Possible delivery methods of a Budget. + enum BudgetDeliveryMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The budget server will throttle serving evenly across + // the entire time period. + STANDARD = 2; + + // The budget server will not throttle serving, + // and ads will serve as fast as possible. + ACCELERATED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v11/enums/budget_period.proto new file mode 100644 index 00000000..fcada15f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/budget_period.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget period. +message BudgetPeriodEnum { + // Possible period of a Budget. + enum BudgetPeriod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Daily budget. + DAILY = 2; + + // Custom budget, added back in V5. + // Custom 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/google-cloud/protos/google/ads/googleads/v11/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/budget_status.proto new file mode 100644 index 00000000..8195faf8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/budget_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Budget statuses + +// Message describing a Budget status +message BudgetStatusEnum { + // Possible statuses of a Budget. + enum BudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget is enabled. + ENABLED = 2; + + // Budget is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/budget_type.proto new file mode 100644 index 00000000..08f25c0f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/budget_type.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Budget types. + +// Describes Budget types. +message BudgetTypeEnum { + // Possible Budget types. + enum BudgetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget type for standard Google Ads usage. + // Caps daily spend at two times the specified budget amount. + // Full details: https://support.google.com/google-ads/answer/6385083 + STANDARD = 2; + + // Budget type with a fixed cost-per-acquisition (conversion). + // Full details: https://support.google.com/google-ads/answer/7528254 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.DISPLAY (excluding + // AdvertisingChannelSubType.DISPLAY_GMAIL), + // BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS. + FIXED_CPA = 4; + + // Budget type for Smart Campaign. + // Full details: https://support.google.com/google-ads/answer/7653509 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.SMART and + // AdvertisingChannelSubType.SMART_CAMPAIGN. + SMART_CAMPAIGN = 5; + + // Budget type for Local Services Campaign. + // Full details: https://support.google.com/localservices/answer/7434558 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.LOCAL_SERVICES. + LOCAL_SERVICES = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v11/enums/call_conversion_reporting_state.proto new file mode 100644 index 00000000..c6819dd9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/call_conversion_reporting_state.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/call_placeholder_field.proto new file mode 100644 index 00000000..b0b0b047 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/call_placeholder_field.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Call placeholder fields. + +// Values for Call placeholder fields. +message CallPlaceholderFieldEnum { + // Possible values for Call placeholder fields. + enum CallPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The advertiser's phone number to append to the ad. + PHONE_NUMBER = 2; + + // Data Type: STRING. Uppercase two-letter country code of the advertiser's + // phone number. + COUNTRY_CODE = 3; + + // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: + // true. + TRACKED = 4; + + // Data Type: INT64. The ID of an AdCallMetricsConversion object. This + // object contains the phoneCallDurationfield which is the minimum duration + // (in seconds) of a call to be considered a conversion. + CONVERSION_TYPE_ID = 5; + + // Data Type: STRING. Indicates whether this call extension uses its own + // call conversion setting or follows the account level setting. + // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and + // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + CONVERSION_REPORTING_STATE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/call_to_action_type.proto new file mode 100644 index 00000000..bd86c2de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/call_to_action_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/call_tracking_display_location.proto b/google-cloud/protos/google/ads/googleads/v11/enums/call_tracking_display_location.proto new file mode 100644 index 00000000..beb6a59c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/call_tracking_display_location.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing call tracking display location. + +// Container for enum describing possible call tracking display locations. +message CallTrackingDisplayLocationEnum { + // Possible call tracking display locations. + enum CallTrackingDisplayLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call placed from the ad. + AD = 2; + + // The phone call placed from the landing page ad points to. + LANDING_PAGE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/call_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/call_type.proto new file mode 100644 index 00000000..81f7f971 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/call_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing call types. + +// Container for enum describing possible types of property from where the call +// was made. +message CallTypeEnum { + // Possible types of property from where the call was made. + enum CallType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call was manually dialed. + MANUALLY_DIALED = 2; + + // The phone call was a mobile click-to-call. + HIGH_END_MOBILE_SEARCH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/callout_placeholder_field.proto new file mode 100644 index 00000000..26ef3ace --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/callout_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Callout placeholder fields. + +// Values for Callout placeholder fields. +message CalloutPlaceholderFieldEnum { + // Possible values for Callout placeholder fields. + enum CalloutPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Callout text. + CALLOUT_TEXT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_criterion_status.proto new file mode 100644 index 00000000..f199d389 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_draft_status.proto new file mode 100644 index 00000000..81fdb8ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_draft_status.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign draft status. + +// Container for enum describing possible statuses of a campaign draft. +message CampaignDraftStatusEnum { + // Possible statuses of a campaign draft. + enum CampaignDraftStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Initial state of the draft, the advertiser can start adding changes with + // no effect on serving. + PROPOSED = 2; + + // The campaign draft is removed. + REMOVED = 3; + + // Advertiser requested to promote draft's changes back into the original + // campaign. Advertiser can poll the long running operation returned by + // the promote action to see the status of the promotion. + PROMOTING = 5; + + // The process to merge changes in the draft back to the original campaign + // has completed successfully. + PROMOTED = 4; + + // The promotion failed after it was partially applied. Promote cannot be + // attempted again safely, so the issue must be corrected in the original + // campaign. + PROMOTE_FAILED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_status.proto new file mode 100644 index 00000000..30d39777 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_status.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign experiment status. + +// Container for enum describing possible statuses of a campaign experiment. +message CampaignExperimentStatusEnum { + // Possible statuses of a campaign experiment. + enum CampaignExperimentStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The experiment campaign is being initialized. + INITIALIZING = 2; + + // Initialization of the experiment campaign failed. + INITIALIZATION_FAILED = 8; + + // The experiment campaign is fully initialized. The experiment is currently + // running, scheduled to run in the future or has ended based on its + // end date. An experiment with the status INITIALIZING will be updated to + // ENABLED when it is fully created. + ENABLED = 3; + + // The experiment campaign was graduated to a stand-alone + // campaign, existing independently of the experiment. + GRADUATED = 4; + + // The experiment is removed. + REMOVED = 5; + + // The experiment's changes are being applied to the original campaign. + // The long running operation returned by the promote method can be polled + // to see the status of the promotion. + PROMOTING = 6; + + // Promote of the experiment campaign failed. + PROMOTION_FAILED = 9; + + // The changes of the experiment are promoted to their original campaign. + PROMOTED = 7; + + // The experiment was ended manually. It did not end based on its end date. + ENDED_MANUALLY = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_traffic_split_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_traffic_split_type.proto new file mode 100644 index 00000000..130d0082 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_traffic_split_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTrafficSplitTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign experiment traffic split type. + +// Container for enum describing campaign experiment traffic split type. +message CampaignExperimentTrafficSplitTypeEnum { + // Enum of strategies for splitting traffic between base and experiment + // campaigns in campaign experiment. + enum CampaignExperimentTrafficSplitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Traffic is randomly assigned to the base or experiment arm for each + // query, independent of previous assignments for the same user. + RANDOM_QUERY = 2; + + // Traffic is split using cookies to keep users in the same arm (base or + // experiment) of the experiment. + COOKIE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_type.proto new file mode 100644 index 00000000..d459423c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_experiment_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign experiment type. + +// Container for enum describing campaign experiment type. +message CampaignExperimentTypeEnum { + // Indicates if this campaign is a normal campaign, + // a draft campaign, or an experiment campaign. + enum CampaignExperimentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This is a regular campaign. + BASE = 2; + + // This is a draft version of a campaign. + // It has some modifications from a base campaign, + // but it does not serve or accrue metrics. + DRAFT = 3; + + // This is an experiment version of a campaign. + // It has some modifications from a base campaign, + // and a percentage of traffic is being diverted + // from the BASE campaign to this experiment campaign. + EXPERIMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_group_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_group_status.proto new file mode 100644 index 00000000..97824edc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_group_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_serving_status.proto new file mode 100644 index 00000000..1392a9c8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_serving_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Campaign serving statuses. + +// Message describing Campaign serving statuses. +message CampaignServingStatusEnum { + // Possible serving statuses of a campaign. + enum CampaignServingStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Serving. + SERVING = 2; + + // None. + NONE = 3; + + // Ended. + ENDED = 4; + + // Pending. + PENDING = 5; + + // Suspended. + SUSPENDED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_shared_set_status.proto new file mode 100644 index 00000000..32f14fa0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign shared set statuses. + +// Container for enum describing types of campaign shared set statuses. +message CampaignSharedSetStatusEnum { + // Enum listing the possible campaign shared set statuses. + enum CampaignSharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign shared set is enabled. + ENABLED = 2; + + // The campaign shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_status.proto new file mode 100644 index 00000000..c58c0f4c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/campaign_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing campaign status. + +// Container for enum describing possible statuses of a campaign. +message CampaignStatusEnum { + // Possible statuses of a campaign. + enum CampaignStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Campaign is currently serving ads depending on budget information. + ENABLED = 2; + + // Campaign has been paused by the user. + PAUSED = 3; + + // Campaign has been removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/change_client_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/change_client_type.proto new file mode 100644 index 00000000..5afd5339 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/change_client_type.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the sources that the change event resource was +// made through. + +// Container for enum describing the sources that the change event resource +// was made through. +message ChangeClientTypeEnum { + // The source that the change_event resource was made through. + enum ChangeClientType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified client type + // unknown in this version. + UNKNOWN = 1; + + // Changes made through the "ads.google.com". + // For example, changes made through campaign management. + GOOGLE_ADS_WEB_CLIENT = 2; + + // Changes made through Google Ads automated rules. + GOOGLE_ADS_AUTOMATED_RULE = 3; + + // Changes made through Google Ads scripts. + GOOGLE_ADS_SCRIPTS = 4; + + // Changes made by Google Ads bulk upload. + GOOGLE_ADS_BULK_UPLOAD = 5; + + // Changes made by Google Ads API. + GOOGLE_ADS_API = 6; + + // Changes made by Google Ads Editor. + 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/google-cloud/protos/google/ads/googleads/v11/enums/change_event_resource_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/change_event_resource_type.proto new file mode 100644 index 00000000..3726de40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/change_event_resource_type.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the resource types the ChangeEvent resource supports. + +// Container for enum describing supported resource types for the ChangeEvent +// resource. +message ChangeEventResourceTypeEnum { + // Enum listing the resource types support by the ChangeEvent resource. + enum ChangeEventResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An Ad resource change. + AD = 2; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 4; + + // A Campaign resource change. + CAMPAIGN = 5; + + // A CampaignBudget resource change. + CAMPAIGN_BUDGET = 6; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 7; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 8; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 11; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 12; + + // An AdGroupAd resource change. + AD_GROUP_AD = 13; + + // An Asset resource change. + ASSET = 14; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 15; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 16; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 17; + + // An AssetSet resource change. + ASSET_SET = 18; + + // An AssetSetAsset resource change. + ASSET_SET_ASSET = 19; + + // A CampaignAssetSet resource change. + CAMPAIGN_ASSET_SET = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v11/enums/change_status_operation.proto new file mode 100644 index 00000000..2b29df80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/change_status_operation.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the change status operations. + +// Container for enum describing operations for the ChangeStatus resource. +message ChangeStatusOperationEnum { + // Status of the changed resource + enum ChangeStatusOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + ADDED = 2; + + // The resource was modified. + CHANGED = 3; + + // The resource was removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/change_status_resource_type.proto new file mode 100644 index 00000000..35a4fbb6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/change_status_resource_type.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the resource types the ChangeStatus resource supports. + +// Container for enum describing supported resource types for the ChangeStatus +// resource. +message ChangeStatusResourceTypeEnum { + // Enum listing the resource types support by the ChangeStatus resource. + enum ChangeStatusResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupAd resource change. + AD_GROUP_AD = 4; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 5; + + // A Campaign resource change. + CAMPAIGN = 6; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 7; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 11; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 12; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 13; + + // A SharedSet resource change. + SHARED_SET = 14; + + // A CampaignSharedSet resource change. + CAMPAIGN_SHARED_SET = 15; + + // An Asset resource change. + ASSET = 16; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 17; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 18; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/click_type.proto new file mode 100644 index 00000000..7e1121e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/click_type.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing click types. + +// Container for enumeration of Google Ads click types. +message ClickTypeEnum { + // Enumerates Google Ads click types. + enum ClickType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // App engagement ad deep link. + APP_DEEPLINK = 2; + + // Breadcrumbs. + BREADCRUMBS = 3; + + // Broadband Plan. + BROADBAND_PLAN = 4; + + // Manually dialed phone calls. + CALL_TRACKING = 5; + + // Phone calls. + CALLS = 6; + + // Click on engagement ad. + CLICK_ON_ENGAGEMENT_AD = 7; + + // Driving direction. + GET_DIRECTIONS = 8; + + // Get location details. + LOCATION_EXPANSION = 9; + + // Call. + LOCATION_FORMAT_CALL = 10; + + // Directions. + LOCATION_FORMAT_DIRECTIONS = 11; + + // Image(s). + LOCATION_FORMAT_IMAGE = 12; + + // Go to landing page. + LOCATION_FORMAT_LANDING_PAGE = 13; + + // Map. + LOCATION_FORMAT_MAP = 14; + + // Go to store info. + LOCATION_FORMAT_STORE_INFO = 15; + + // Text. + LOCATION_FORMAT_TEXT = 16; + + // Mobile phone calls. + MOBILE_CALL_TRACKING = 17; + + // Print offer. + OFFER_PRINTS = 18; + + // Other. + OTHER = 19; + + // Product plusbox offer. + PRODUCT_EXTENSION_CLICKS = 20; + + // Shopping - Product - Online. + PRODUCT_LISTING_AD_CLICKS = 21; + + // Sitelink. + SITELINKS = 22; + + // Show nearby locations. + STORE_LOCATOR = 23; + + // Headline. + URL_CLICKS = 25; + + // App store. + VIDEO_APP_STORE_CLICKS = 26; + + // Call-to-Action overlay. + VIDEO_CALL_TO_ACTION_CLICKS = 27; + + // Cards. + VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; + + // End cap. + VIDEO_END_CAP_CLICKS = 29; + + // Website. + VIDEO_WEBSITE_CLICKS = 30; + + // Visual Sitelinks. + VISUAL_SITELINKS = 31; + + // Wireless Plan. + WIRELESS_PLAN = 32; + + // Shopping - Product - Local. + PRODUCT_LISTING_AD_LOCAL = 33; + + // Shopping - Product - MultiChannel Local. + PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; + + // Shopping - Product - MultiChannel Online. + PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; + + // Shopping - Product - Coupon. + PRODUCT_LISTING_ADS_COUPON = 36; + + // Shopping - Product - Sell on Google. + PRODUCT_LISTING_AD_TRANSACTABLE = 37; + + // Shopping - Product - App engagement ad deep link. + PRODUCT_AD_APP_DEEPLINK = 38; + + // Shopping - Showcase - Category. + SHOWCASE_AD_CATEGORY_LINK = 39; + + // Shopping - Showcase - Local storefront. + SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; + + // Shopping - Showcase - Online product. + SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; + + // Shopping - Showcase - Local product. + SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; + + // Promotion Extension. + PROMOTION_EXTENSION = 44; + + // Ad Headline. + SWIPEABLE_GALLERY_AD_HEADLINE = 45; + + // Swipes. + SWIPEABLE_GALLERY_AD_SWIPES = 46; + + // See More. + SWIPEABLE_GALLERY_AD_SEE_MORE = 47; + + // Sitelink 1. + SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; + + // Sitelink 2. + SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; + + // Sitelink 3. + SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; + + // Sitelink 4. + SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; + + // Sitelink 5. + SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; + + // Hotel price. + HOTEL_PRICE = 53; + + // Price Extension. + PRICE_EXTENSION = 54; + + // Book on Google hotel room selection. + HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; + + // Shopping - Comparison Listing. + SHOPPING_COMPARISON_LISTING = 56; + + // Cross-network. From Performance Max and Discovery Campaigns. + CROSS_NETWORK = 57; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/combined_audience_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/combined_audience_status.proto new file mode 100644 index 00000000..c487fe68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/combined_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing combined audience status. + +// The status of combined audience. +message CombinedAudienceStatusEnum { + // Enum containing possible combined audience status types. + enum CombinedAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - combined audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - combined audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/content_label_type.proto new file mode 100644 index 00000000..1d58ed47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/content_label_type.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing content label types. + +// Container for enum describing content label types in ContentLabel. +message ContentLabelTypeEnum { + // Enum listing the content label types supported by ContentLabel criterion. + enum ContentLabelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Sexually suggestive content. + SEXUALLY_SUGGESTIVE = 2; + + // Below the fold placement. + BELOW_THE_FOLD = 3; + + // Parked domain. + PARKED_DOMAIN = 4; + + // Juvenile, gross & bizarre content. + JUVENILE = 6; + + // Profanity & rough language. + PROFANITY = 7; + + // Death & tragedy. + TRAGEDY = 8; + + // Video. + VIDEO = 9; + + // Content rating: G. + VIDEO_RATING_DV_G = 10; + + // Content rating: PG. + VIDEO_RATING_DV_PG = 11; + + // Content rating: T. + VIDEO_RATING_DV_T = 12; + + // Content rating: MA. + VIDEO_RATING_DV_MA = 13; + + // Content rating: not yet rated. + VIDEO_NOT_YET_RATED = 14; + + // Embedded video. + EMBEDDED_VIDEO = 15; + + // Live streaming video. + LIVE_STREAMING_VIDEO = 16; + + // Sensitive social issues. + SOCIAL_ISSUES = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_category.proto new file mode 100644 index 00000000..adf167cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_category.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing the category of conversions that are associated +// with a ConversionAction. +message ConversionActionCategoryEnum { + // The category of conversions that are associated with a ConversionAction. + enum ConversionActionCategory { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Default category. + DEFAULT = 2; + + // User visiting a page. + PAGE_VIEW = 3; + + // Purchase, sales, or "order placed" event. + PURCHASE = 4; + + // Signup user action. + SIGNUP = 5; + + // Software download action (as for an app). + DOWNLOAD = 7; + + // The addition of items to a shopping cart or bag on an advertiser site. + ADD_TO_CART = 8; + + // When someone enters the checkout flow on an advertiser site. + BEGIN_CHECKOUT = 9; + + // The start of a paid subscription for a product or service. + SUBSCRIBE_PAID = 10; + + // A call to indicate interest in an advertiser's offering. + PHONE_CALL_LEAD = 11; + + // A lead conversion imported from an external source into Google Ads. + IMPORTED_LEAD = 12; + + // A submission of a form on an advertiser site indicating business + // interest. + SUBMIT_LEAD_FORM = 13; + + // A booking of an appointment with an advertiser's business. + BOOK_APPOINTMENT = 14; + + // A quote or price estimate request. + REQUEST_QUOTE = 15; + + // A search for an advertiser's business location with intention to visit. + GET_DIRECTIONS = 16; + + // A click to an advertiser's partner's site. + OUTBOUND_CLICK = 17; + + // A call, SMS, email, chat or other type of contact to an advertiser. + CONTACT = 18; + + // A website engagement event such as long site time or a Google Analytics + // (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal + // imports. + ENGAGEMENT = 19; + + // A visit to a physical store location. + STORE_VISIT = 20; + + // A sale occurring in a physical store. + STORE_SALE = 21; + + // A lead conversion imported from an external source into Google Ads, + // that has been further qualified by the advertiser (marketing/sales team). + // In the lead-to-sale journey, advertisers get leads, then act on them + // by reaching out to the consumer. If the consumer is interested and + // may end up buying their product, the advertiser marks such leads as + // "qualified leads". + QUALIFIED_LEAD = 22; + + // A lead conversion imported from an external source into Google Ads, that + // has further completed a chosen stage as defined by the lead gen + // advertiser. + CONVERTED_LEAD = 23; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_counting_type.proto new file mode 100644 index 00000000..9f52baeb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_counting_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion action counting type. + +// Container for enum describing the conversion deduplication mode for +// conversion optimizer. +message ConversionActionCountingTypeEnum { + // Indicates how conversions for this action will be counted. For more + // information, see https://support.google.com/google-ads/answer/3438531. + enum ConversionActionCountingType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Count only one conversion per click. + ONE_PER_CLICK = 2; + + // Count all conversions per click. + MANY_PER_CLICK = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_status.proto new file mode 100644 index 00000000..c403283b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_status.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion action status. + +// Container for enum describing possible statuses of a conversion action. +message ConversionActionStatusEnum { + // Possible statuses of a conversion action. + enum ConversionActionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions will be recorded. + ENABLED = 2; + + // Conversions will not be recorded. + REMOVED = 3; + + // Conversions will not be recorded and the conversion action will not + // appear in the UI. + HIDDEN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_type.proto new file mode 100644 index 00000000..5b184332 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_action_type.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion action type. + +// Container for enum describing possible types of a conversion action. +message ConversionActionTypeEnum { + // Possible types of a conversion action. + enum ConversionActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions that occur when a user clicks on an ad's call extension. + AD_CALL = 2; + + // Conversions that occur when a user on a mobile device clicks a phone + // number. + CLICK_TO_CALL = 3; + + // Conversions that occur when a user downloads a mobile app from the Google + // Play Store. + GOOGLE_PLAY_DOWNLOAD = 4; + + // Conversions that occur when a user makes a purchase in an app through + // Android billing. + GOOGLE_PLAY_IN_APP_PURCHASE = 5; + + // Call conversions that are tracked by the advertiser and uploaded. + UPLOAD_CALLS = 6; + + // Conversions that are tracked by the advertiser and uploaded with + // attributed clicks. + UPLOAD_CLICKS = 7; + + // Conversions that occur on a webpage. + WEBPAGE = 8; + + // Conversions that occur when a user calls a dynamically-generated phone + // number from an advertiser's website. + WEBSITE_CALL = 9; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads. + // Only customers on the allowlist can use store sales direct upload types. + STORE_SALES_DIRECT_UPLOAD = 10; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. + // Only customers on the allowlist can use store sales types. + // Read only. + STORE_SALES = 11; + + // Android app first open conversions tracked through Firebase. + FIREBASE_ANDROID_FIRST_OPEN = 12; + + // Android app in app purchase conversions tracked through Firebase. + FIREBASE_ANDROID_IN_APP_PURCHASE = 13; + + // Android app custom conversions tracked through Firebase. + FIREBASE_ANDROID_CUSTOM = 14; + + // iOS app first open conversions tracked through Firebase. + FIREBASE_IOS_FIRST_OPEN = 15; + + // iOS app in app purchase conversions tracked through Firebase. + FIREBASE_IOS_IN_APP_PURCHASE = 16; + + // iOS app custom conversions tracked through Firebase. + FIREBASE_IOS_CUSTOM = 17; + + // Android app first open conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN = 18; + + // Android app in app purchase conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE = 19; + + // Android app custom conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM = 20; + + // iOS app first open conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN = 21; + + // iOS app in app purchase conversions tracked through Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE = 22; + + // iOS app custom conversions tracked through Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM = 23; + + // Conversions that occur when a user pre-registers a mobile app from the + // Google Play Store. Read only. + ANDROID_APP_PRE_REGISTRATION = 24; + + // Conversions that track all Google Play downloads which aren't tracked + // by an app-specific type. Read only. + ANDROID_INSTALLS_ALL_OTHER_APPS = 25; + + // Floodlight activity that counts the number of times that users have + // visited a particular webpage after seeing or clicking on one of + // an advertiser's ads. Read only. + FLOODLIGHT_ACTION = 26; + + // Floodlight activity that tracks the number of sales made or the number + // of items purchased. Can also capture the total value of each sale. + // Read only. + FLOODLIGHT_TRANSACTION = 27; + + // Conversions that track local actions from Google's products and + // services after interacting with an ad. Read only. + GOOGLE_HOSTED = 28; + + // Conversions reported when a user submits a lead form. Read only. + LEAD_FORM_SUBMIT = 29; + + // Conversions that come from Salesforce. Read only. + SALESFORCE = 30; + + // Conversions imported from Search Ads 360 Floodlight data. Read only. + SEARCH_ADS_360 = 31; + + // Call conversions that occur on Smart campaign Ads without call tracking + // setup, using Smart campaign custom criteria. Read only. + SMART_CAMPAIGN_AD_CLICKS_TO_CALL = 32; + + // The user clicks on a call element within Google Maps. Smart campaign + // only. Read only. + SMART_CAMPAIGN_MAP_CLICKS_TO_CALL = 33; + + // The user requests directions to a business location within Google Maps. + // Smart campaign only. Read only. + SMART_CAMPAIGN_MAP_DIRECTIONS = 34; + + // Call conversions that occur on Smart campaign Ads with call tracking + // setup, using Smart campaign custom criteria. Read only. + SMART_CAMPAIGN_TRACKED_CALLS = 35; + + // Conversions that occur when a user visits an advertiser's retail store. + // Read only. + STORE_VISITS = 36; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_adjustment_type.proto new file mode 100644 index 00000000..f0d8873b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_adjustment_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion adjustment type. + +// Container for enum describing conversion adjustment types. +message ConversionAdjustmentTypeEnum { + // The different actions advertisers can take to adjust the conversions that + // they already reported. Retractions negate a conversion. Restatements change + // the value of a conversion. + enum ConversionAdjustmentType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Negates a conversion so that its total value and count are both zero. + RETRACTION = 2; + + // Changes the value of a conversion. + RESTATEMENT = 3; + + // Supplements an existing conversion with provided user identifiers and + // user agent, which can be used by Google to enhance the conversion count. + ENHANCEMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_attribution_event_type.proto new file mode 100644 index 00000000..b78cc39a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_attribution_event_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum indicating the event type the conversion is attributed to. +message ConversionAttributionEventTypeEnum { + // The event type of conversions that are attributed to. + enum ConversionAttributionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is attributed to an impression. + IMPRESSION = 2; + + // The conversion is attributed to an interaction. + INTERACTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_custom_variable_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_custom_variable_status.proto new file mode 100644 index 00000000..d1c2db6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_custom_variable_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/conversion_environment_enum.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_environment_enum.proto new file mode 100644 index 00000000..7b8f004a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_environment_enum.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_lag_bucket.proto new file mode 100644 index 00000000..9029a204 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_lag_bucket.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum representing the number of days between impression and +// conversion. +message ConversionLagBucketEnum { + // Enum representing the number of days between impression and conversion. + enum ConversionLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + SIXTY_TO_NINETY_DAYS = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 00000000..3dc1db29 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum representing the number of days between the impression and +// the conversion or between the impression and adjustments to the conversion. +message ConversionOrAdjustmentLagBucketEnum { + // Enum representing the number of days between the impression and the + // conversion or between the impression and adjustments to the conversion. + enum ConversionOrAdjustmentLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + CONVERSION_LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + CONVERSION_ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + CONVERSION_TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + CONVERSION_THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + CONVERSION_FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + CONVERSION_FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + CONVERSION_SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + CONVERSION_EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + CONVERSION_NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + CONVERSION_TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + CONVERSION_SIXTY_TO_NINETY_DAYS = 20; + + // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, + // 1 day is not. + ADJUSTMENT_LESS_THAN_ONE_DAY = 21; + + // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, + // 2 days is not. + ADJUSTMENT_ONE_TO_TWO_DAYS = 22; + + // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + ADJUSTMENT_TWO_TO_THREE_DAYS = 23; + + // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; + + // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; + + // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; + + // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; + + // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; + + // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; + + // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + ADJUSTMENT_NINE_TO_TEN_DAYS = 30; + + // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; + + // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; + + // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; + + // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; + + // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; + + // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; + + // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; + + // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; + + // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; + + // Conversion adjustment lag bucket from 90 to 145 days. 90 days is + // included, 145 days is not. + ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; + + // Conversion lag bucket UNKNOWN. This is for dates before conversion lag + // bucket was available in Google Ads. + CONVERSION_UNKNOWN = 41; + + // Conversion adjustment lag bucket UNKNOWN. This is for dates before + // conversion adjustment lag bucket was available in Google Ads. + ADJUSTMENT_UNKNOWN = 42; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_origin.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_origin.proto new file mode 100644 index 00000000..f924200d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_origin.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion origin. + +// Container for enum describing possible conversion origins. +message ConversionOriginEnum { + // The possible places where a conversion can occur. + enum ConversionOrigin { + // The conversion origin has not been specified. + UNSPECIFIED = 0; + + // The conversion origin is not known in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user visits a website or takes an action + // there after viewing an ad. + WEBSITE = 2; + + // Conversions reported by an offline pipeline which collects local actions + // from Google-hosted pages (for example, Google Maps, Google Place Page, + // etc) and attributes them to relevant ad events. + GOOGLE_HOSTED = 3; + + // Conversion that occurs when a user performs an action through any app + // platforms. + APP = 4; + + // Conversion that occurs when a user makes a call from ads. + CALL_FROM_ADS = 5; + + // Conversion that occurs when a user visits or makes a purchase at a + // physical store. + STORE = 6; + + // Conversion that occurs on YouTube. + YOUTUBE_HOSTED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_tracking_status_enum.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_tracking_status_enum.proto new file mode 100644 index 00000000..6b91eeea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_tracking_status_enum.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_primary_dimension.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 00000000..70abbf3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule primary dimension. + +// Container for enum describing value rule primary dimension for stats. +message ConversionValueRulePrimaryDimensionEnum { + // Identifies the primary dimension for conversion value rule stats. + enum ConversionValueRulePrimaryDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // For no-value-rule-applied conversions after value rule is enabled. + NO_RULE_APPLIED = 2; + + // Below are for value-rule-applied conversions: + // The original stats. + ORIGINAL = 3; + + // When a new or returning customer condition is satisfied. + NEW_VS_RETURNING_USER = 4; + + // When a query-time Geo location condition is satisfied. + GEO_LOCATION = 5; + + // When a query-time browsing device condition is satisfied. + DEVICE = 6; + + // When a query-time audience condition is satisfied. + AUDIENCE = 7; + + // When multiple rules are applied. + MULTIPLE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_set_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_set_status.proto new file mode 100644 index 00000000..e5f6f400 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule set status. + +// Container for enum describing possible statuses of a conversion value rule +// set. +message ConversionValueRuleSetStatusEnum { + // Possible statuses of a conversion value rule set. + enum ConversionValueRuleSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule Set is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule Set is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule Set is paused and won't be applied. It can be + // enabled again. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_status.proto new file mode 100644 index 00000000..d9d5efd2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/conversion_value_rule_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule status. + +// Container for enum describing possible statuses of a conversion value rule. +message ConversionValueRuleStatusEnum { + // Possible statuses of a conversion value rule. + enum ConversionValueRuleStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule is paused, but can be re-enabled. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 00000000..808baaf6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the criterion category channel availability mode. + +// Describes channel availability mode for a criterion availability - whether +// the availability is meant to include all advertising channels, or a +// particular channel with all its channel subtypes, or a channel with a certain +// subset of channel subtypes. +message CriterionCategoryChannelAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryChannelAvailabilityMode. + enum CriterionCategoryChannelAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all channel types and subtypes. + ALL_CHANNELS = 2; + + // The category is available to campaigns of a specific channel type, + // including all subtypes under it. + CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; + + // The category is available to campaigns of a specific channel type and + // subtype(s). + CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 00000000..bdcb722f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the criterion category locale availability mode. + +// Describes locale availability mode for a criterion availability - whether +// it's available globally, or a particular country with all languages, or a +// particular language with all countries, or a country-language pair. +message CriterionCategoryLocaleAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryLocaleAvailabilityMode. + enum CriterionCategoryLocaleAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all locales. + ALL_LOCALES = 2; + + // The category is available to campaigns within a list of countries, + // regardless of language. + COUNTRY_AND_ALL_LANGUAGES = 3; + + // The category is available to campaigns within a list of languages, + // regardless of country. + LANGUAGE_AND_ALL_COUNTRIES = 4; + + // The category is available to campaigns within a list of country, language + // pairs. + COUNTRY_AND_LANGUAGE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_system_serving_status.proto new file mode 100644 index 00000000..c44afe1c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_system_serving_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible criterion system serving statuses. +message CriterionSystemServingStatusEnum { + // Enumerates criterion system serving statuses. + enum CriterionSystemServingStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Eligible. + ELIGIBLE = 2; + + // Low search volume. + RARELY_SERVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_type.proto new file mode 100644 index 00000000..7256a25d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/criterion_type.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing criteria types. + +// The possible types of a criterion. +message CriterionTypeEnum { + // Enum describing possible criterion types. + enum CriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Keyword, for example, 'mars cruise'. + KEYWORD = 2; + + // Placement, also known as Website, for example, 'www.flowers4sale.com' + PLACEMENT = 3; + + // Mobile application categories to target. + MOBILE_APP_CATEGORY = 4; + + // Mobile applications to target. + MOBILE_APPLICATION = 5; + + // Devices to target. + DEVICE = 6; + + // Locations to target. + LOCATION = 7; + + // Listing groups to target. + LISTING_GROUP = 8; + + // Ad Schedule. + AD_SCHEDULE = 9; + + // Age range. + AGE_RANGE = 10; + + // Gender. + GENDER = 11; + + // Income Range. + INCOME_RANGE = 12; + + // Parental status. + PARENTAL_STATUS = 13; + + // YouTube Video. + YOUTUBE_VIDEO = 14; + + // YouTube Channel. + YOUTUBE_CHANNEL = 15; + + // User list. + USER_LIST = 16; + + // Proximity. + PROXIMITY = 17; + + // A topic target on the display network (for example, "Pets & Animals"). + TOPIC = 18; + + // Listing scope to target. + LISTING_SCOPE = 19; + + // Language. + LANGUAGE = 20; + + // IpBlock. + IP_BLOCK = 21; + + // Content Label for category exclusion. + CONTENT_LABEL = 22; + + // Carrier. + CARRIER = 23; + + // A category the user is interested in. + USER_INTEREST = 24; + + // Webpage criterion for dynamic search ads. + WEBPAGE = 25; + + // Operating system version. + OPERATING_SYSTEM_VERSION = 26; + + // App payment model. + APP_PAYMENT_MODEL = 27; + + // Mobile device. + MOBILE_DEVICE = 28; + + // Custom affinity. + CUSTOM_AFFINITY = 29; + + // Custom intent. + CUSTOM_INTENT = 30; + + // Location group. + LOCATION_GROUP = 31; + + // Custom audience + CUSTOM_AUDIENCE = 32; + + // Combined audience + COMBINED_AUDIENCE = 33; + + // Smart Campaign keyword theme + KEYWORD_THEME = 34; + + // Audience + AUDIENCE = 35; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_member_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_member_type.proto new file mode 100644 index 00000000..63649049 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_member_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom audience member type. + +// The type of custom audience member. +message CustomAudienceMemberTypeEnum { + // Enum containing possible custom audience member types. + enum CustomAudienceMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Users whose interests or actions are described by a keyword. + KEYWORD = 2; + + // Users who have interests related to the website's content. + URL = 3; + + // Users who visit place types described by a place category. + PLACE_CATEGORY = 4; + + // Users who have installed a mobile app. + APP = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_status.proto new file mode 100644 index 00000000..81ab15d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom audience status. + +// The status of custom audience. +message CustomAudienceStatusEnum { + // Enum containing possible custom audience statuses. + enum CustomAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - custom audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_type.proto new file mode 100644 index 00000000..33365379 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_audience_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom audience type. + +// The types of custom audience. +message CustomAudienceTypeEnum { + // Enum containing possible custom audience types. + enum CustomAudienceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Google Ads will auto-select the best interpretation at serving + // time. + AUTO = 2; + + // Matches users by their interests. + INTEREST = 3; + + // Matches users by topics they are researching or products they are + // considering for purchase. + PURCHASE_INTENT = 4; + + // Matches users by what they searched on Google Search. + SEARCH = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_conversion_goal_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_conversion_goal_status.proto new file mode 100644 index 00000000..3ee66b99 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_conversion_goal_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom conversion goal status. + +// Container for enum describing possible statuses of a custom conversion goal. +message CustomConversionGoalStatusEnum { + // The possible statuses of a custom conversion goal. + enum CustomConversionGoalStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The custom conversion goal is enabled. + ENABLED = 2; + + // The custom conversion goal is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_member_type.proto new file mode 100644 index 00000000..fe35e9a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_member_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom interest member type. + +// The types of custom interest member, either KEYWORD or URL. +message CustomInterestMemberTypeEnum { + // Enum containing possible custom interest member types. + enum CustomInterestMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Custom interest member type KEYWORD. + KEYWORD = 2; + + // Custom interest member type URL. + URL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_status.proto new file mode 100644 index 00000000..06836b71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom interest status. + +// The status of custom interest. +message CustomInterestStatusEnum { + // Enum containing possible custom interest types. + enum CustomInterestStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom interest is enabled and can be targeted to. + ENABLED = 2; + + // Removed status - custom interest is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_type.proto new file mode 100644 index 00000000..ca26d37b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_interest_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing custom interest type. + +// The types of custom interest. +message CustomInterestTypeEnum { + // Enum containing possible custom interest types. + enum CustomInterestType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows brand advertisers to define custom affinity audience lists. + CUSTOM_AFFINITY = 2; + + // Allows advertisers to define custom intent audience lists. + CUSTOM_INTENT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/custom_placeholder_field.proto new file mode 100644 index 00000000..388aa041 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/custom_placeholder_field.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Custom placeholder fields. + +// Values for Custom placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message CustomPlaceholderFieldEnum { + // Possible values for Custom placeholder fields. + enum CustomPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination ID and ID2 must be unique per + // offer. + ID = 2; + + // Data Type: STRING. Combination ID and ID2 must be unique per offer. + ID2 = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + ITEM_TITLE = 4; + + // Data Type: STRING. Optional text to be shown in the image ad. + ITEM_SUBTITLE = 5; + + // Data Type: STRING. Optional description of the product to be shown in the + // ad. + ITEM_DESCRIPTION = 6; + + // Data Type: STRING. Full address of your offer or service, including + // postal code. This will be used to identify the closest product to the + // user when there are multiple offers in the feed that are relevant to the + // user. + ITEM_ADDRESS = 7; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 8; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 9; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 10; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 11; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 12; + + // Data Type: STRING. Used as a recommendation engine signal to serve items + // in the same category. + ITEM_CATEGORY = 13; + + // Data Type: URL_LIST. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific product for ads that have multiple + // products. + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended IDs to show together with + // this item. + SIMILAR_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customer_match_upload_key_type.proto new file mode 100644 index 00000000..200cdb6b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customer_match_upload_key_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Indicates what type of data are the user list's members matched from. +message CustomerMatchUploadKeyTypeEnum { + // Enum describing possible customer match upload key types. + enum CustomerMatchUploadKeyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Members are matched from customer info such as email address, phone + // number or physical address. + CONTACT_INFO = 2; + + // Members are matched from a user id generated and assigned by the + // advertiser. + CRM_ID = 3; + + // Members are matched from mobile advertising ids. + MOBILE_ADVERTISING_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 00000000..fe1c023a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing pay per conversion eligibility failure reasons. + +// Container for enum describing reasons why a customer is not eligible to use +// PaymentMode.CONVERSIONS. +message CustomerPayPerConversionEligibilityFailureReasonEnum { + // Enum describing possible reasons a customer is not eligible to use + // PaymentMode.CONVERSIONS. + enum CustomerPayPerConversionEligibilityFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Customer does not have enough conversions. + NOT_ENOUGH_CONVERSIONS = 2; + + // Customer's conversion lag is too high. + CONVERSION_LAG_TOO_HIGH = 3; + + // Customer uses shared budgets. + HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; + + // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. + HAS_UPLOAD_CLICKS_CONVERSION = 5; + + // Customer's average daily spend is too high. + AVERAGE_DAILY_SPEND_TOO_HIGH = 6; + + // Customer's eligibility has not yet been calculated by the Google Ads + // backend. Check back soon. + ANALYSIS_NOT_COMPLETE = 7; + + // Customer is not eligible due to other reasons. + OTHER = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/customer_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customer_status.proto new file mode 100644 index 00000000..794bde01 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customer_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_status.proto new file mode 100644 index 00000000..6af9ad00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing customizer attribute status. + +// Container for enum describing possible statuses of a customizer attribute. +message CustomizerAttributeStatusEnum { + // The possible statuses of a customizer attribute. + enum CustomizerAttributeStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer attribute is enabled. + ENABLED = 2; + + // The customizer attribute is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_type.proto new file mode 100644 index 00000000..07f8cbe3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_attribute_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing customizer attribute type. + +// Container for enum describing possible types of a customizer attribute. +message CustomizerAttributeTypeEnum { + // The possible types of a customizer attribute. + enum CustomizerAttributeType { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // Text customizer. + TEXT = 2; + + // Number customizer. + NUMBER = 3; + + // Price customizer consisting of a number and a currency. + PRICE = 4; + + // Percentage customizer consisting of a number and a '%'. + PERCENT = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/customizer_value_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_value_status.proto new file mode 100644 index 00000000..6ac49150 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/customizer_value_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing customizer value status. + +// Container for enum describing possible statuses of a customizer value. +message CustomizerValueStatusEnum { + // The possible statuses of a customizer value. + enum CustomizerValueStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer value is enabled. + ENABLED = 2; + + // The customizer value is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/data_driven_model_status.proto new file mode 100644 index 00000000..1d890441 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/data_driven_model_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing data-driven model status. + +// Container for enum indicating data driven model status. +message DataDrivenModelStatusEnum { + // Enumerates data driven model statuses. + enum DataDrivenModelStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The data driven model is available. + AVAILABLE = 2; + + // The data driven model is stale. It hasn't been updated for at least 7 + // days. It is still being used, but will become expired if it does not get + // updated for 30 days. + STALE = 3; + + // The data driven model expired. It hasn't been updated for at least 30 + // days and cannot be used. Most commonly this is because there hasn't been + // the required number of events in a recent 30-day period. + EXPIRED = 4; + + // The data driven model has never been generated. Most commonly this is + // because there has never been the required number of events in any 30-day + // period. + NEVER_GENERATED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v11/enums/day_of_week.proto new file mode 100644 index 00000000..ff278d86 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/day_of_week.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of days of the week, for example, "Monday". +message DayOfWeekEnum { + // Enumerates days of the week, for example, "Monday". + enum DayOfWeek { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Monday. + MONDAY = 2; + + // Tuesday. + TUESDAY = 3; + + // Wednesday. + WEDNESDAY = 4; + + // Thursday. + THURSDAY = 5; + + // Friday. + FRIDAY = 6; + + // Saturday. + SATURDAY = 7; + + // Sunday. + SUNDAY = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/device.proto b/google-cloud/protos/google/ads/googleads/v11/enums/device.proto new file mode 100644 index 00000000..63c0c737 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/device.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing devices. + +// Container for enumeration of Google Ads devices available for targeting. +message DeviceEnum { + // Enumerates Google Ads devices available for targeting. + enum Device { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile devices with full browsers. + MOBILE = 2; + + // Tablets with full browsers. + TABLET = 3; + + // Computers. + DESKTOP = 4; + + // Smart TVs and game consoles. + CONNECTED_TV = 6; + + // Other device types. + OTHER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v11/enums/display_ad_format_setting.proto new file mode 100644 index 00000000..4a67bbca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/display_ad_format_setting.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing display ad format settings. + +// Container for display ad format settings. +message DisplayAdFormatSettingEnum { + // Enumerates display ad format settings. + enum DisplayAdFormatSetting { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Text, image and native formats. + ALL_FORMATS = 2; + + // Text and image formats. + NON_NATIVE = 3; + + // Native format, for example, the format rendering is controlled by the + // publisher and not by Google. + NATIVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/display_upload_product_type.proto new file mode 100644 index 00000000..d0107048 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/display_upload_product_type.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing display upload product types. + +// Container for display upload product types. Product types that have the word +// "DYNAMIC" in them must be associated with a campaign that has a dynamic +// remarketing feed. See https://support.google.com/google-ads/answer/6053288 +// for more info about dynamic remarketing. Other product types are regarded +// as "static" and do not have this requirement. +message DisplayUploadProductTypeEnum { + // Enumerates display upload product types. + enum DisplayUploadProductType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // HTML5 upload ad. This product type requires the upload_media_bundle + // field in DisplayUploadAdInfo to be set. + HTML5_UPLOAD_AD = 2; + + // Dynamic HTML5 education ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in an education campaign. + DYNAMIC_HTML5_EDUCATION_AD = 3; + + // Dynamic HTML5 flight ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a flight campaign. + DYNAMIC_HTML5_FLIGHT_AD = 4; + + // Dynamic HTML5 hotel and rental ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; + + // Dynamic HTML5 job ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a job campaign. + DYNAMIC_HTML5_JOB_AD = 6; + + // Dynamic HTML5 local ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a local campaign. + DYNAMIC_HTML5_LOCAL_AD = 7; + + // Dynamic HTML5 real estate ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a real estate campaign. + DYNAMIC_HTML5_REAL_ESTATE_AD = 8; + + // Dynamic HTML5 custom ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a custom campaign. + DYNAMIC_HTML5_CUSTOM_AD = 9; + + // Dynamic HTML5 travel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a travel campaign. + DYNAMIC_HTML5_TRAVEL_AD = 10; + + // Dynamic HTML5 hotel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_AD = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/distance_bucket.proto b/google-cloud/protos/google/ads/googleads/v11/enums/distance_bucket.proto new file mode 100644 index 00000000..6631afee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/distance_bucket.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing distance buckets. + +// Container for distance buckets of a user's distance from an advertiser's +// location extension. +message DistanceBucketEnum { + // The distance bucket for a user's distance from an advertiser's location + // extension. + enum DistanceBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User was within 700m of the location. + WITHIN_700M = 2; + + // User was within 1KM of the location. + WITHIN_1KM = 3; + + // User was within 5KM of the location. + WITHIN_5KM = 4; + + // User was within 10KM of the location. + WITHIN_10KM = 5; + + // User was within 15KM of the location. + WITHIN_15KM = 6; + + // User was within 20KM of the location. + WITHIN_20KM = 7; + + // User was within 25KM of the location. + WITHIN_25KM = 8; + + // User was within 30KM of the location. + WITHIN_30KM = 9; + + // User was within 35KM of the location. + WITHIN_35KM = 10; + + // User was within 40KM of the location. + WITHIN_40KM = 11; + + // User was within 45KM of the location. + WITHIN_45KM = 12; + + // User was within 50KM of the location. + WITHIN_50KM = 13; + + // User was within 55KM of the location. + WITHIN_55KM = 14; + + // User was within 60KM of the location. + WITHIN_60KM = 15; + + // User was within 65KM of the location. + WITHIN_65KM = 16; + + // User was beyond 65KM of the location. + BEYOND_65KM = 17; + + // User was within 0.7 miles of the location. + WITHIN_0_7MILES = 18; + + // User was within 1 mile of the location. + WITHIN_1MILE = 19; + + // User was within 5 miles of the location. + WITHIN_5MILES = 20; + + // User was within 10 miles of the location. + WITHIN_10MILES = 21; + + // User was within 15 miles of the location. + WITHIN_15MILES = 22; + + // User was within 20 miles of the location. + WITHIN_20MILES = 23; + + // User was within 25 miles of the location. + WITHIN_25MILES = 24; + + // User was within 30 miles of the location. + WITHIN_30MILES = 25; + + // User was within 35 miles of the location. + WITHIN_35MILES = 26; + + // User was within 40 miles of the location. + WITHIN_40MILES = 27; + + // User was beyond 40 miles of the location. + BEYOND_40MILES = 28; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 00000000..1c53318f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Dynamic Search Ad Page Feed criterion fields. + +// Values for Dynamic Search Ad Page Feed criterion fields. +message DsaPageFeedCriterionFieldEnum { + // Possible values for Dynamic Search Ad Page Feed criterion fields. + enum DsaPageFeedCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: URL or URL_LIST. URL of the web page you want to target. + PAGE_URL = 2; + + // Data Type: STRING_LIST. The labels that will help you target ads within + // your page feed. + LABEL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/education_placeholder_field.proto new file mode 100644 index 00000000..2f82ece4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/education_placeholder_field.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Education placeholder fields. + +// Values for Education placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message EducationPlaceholderFieldEnum { + // Possible values for Education placeholder fields. + enum EducationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID + // must be unique per offer. + PROGRAM_ID = 2; + + // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be + // unique per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with program name to be shown + // in dynamic ad. + PROGRAM_NAME = 4; + + // Data Type: STRING. Area of study that can be shown in dynamic ad. + AREA_OF_STUDY = 5; + + // Data Type: STRING. Description of program that can be shown in dynamic + // ad. + PROGRAM_DESCRIPTION = 6; + + // Data Type: STRING. Name of school that can be shown in dynamic ad. + SCHOOL_NAME = 7; + + // Data Type: STRING. Complete school address, including postal code. + ADDRESS = 8; + + // Data Type: URL. Image to be displayed in ads. + THUMBNAIL_IMAGE_URL = 9; + + // Data Type: URL. Alternative hosted file of image to be used in the ad. + ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific program and its location). + FINAL_URLS = 11; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 12; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended program IDs to show together + // with this item. + SIMILAR_PROGRAM_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric.proto b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric.proto new file mode 100644 index 00000000..53b4074f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric_direction.proto b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric_direction.proto new file mode 100644 index 00000000..df25ad0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_metric_direction.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/experiment_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_status.proto new file mode 100644 index 00000000..6a84a881 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_status.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/experiment_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_type.proto new file mode 100644 index 00000000..5d919955 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/experiment_type.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v11/enums/extension_setting_device.proto new file mode 100644 index 00000000..6969b51c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/extension_setting_device.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing extension setting device type. + +// Container for enum describing extension setting device types. +message ExtensionSettingDeviceEnum { + // Possible device types for an extension setting. + enum ExtensionSettingDevice { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile. The extensions in the extension setting will only serve on + // mobile devices. + MOBILE = 2; + + // Desktop. The extensions in the extension setting will only serve on + // desktop devices. + DESKTOP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/extension_type.proto new file mode 100644 index 00000000..7b958b31 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/extension_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing extension type. + +// Container for enum describing possible data types for an extension in an +// extension setting. +message ExtensionTypeEnum { + // Possible data types for an extension in an extension setting. + enum ExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // None. + NONE = 2; + + // App. + APP = 3; + + // Call. + CALL = 4; + + // Callout. + CALLOUT = 5; + + // Message. + MESSAGE = 6; + + // Price. + PRICE = 7; + + // Promotion. + PROMOTION = 8; + + // Sitelink. + SITELINK = 10; + + // Structured snippet. + STRUCTURED_SNIPPET = 11; + + // Location. + LOCATION = 12; + + // Affiliate location. + AFFILIATE_LOCATION = 13; + + // Hotel callout + HOTEL_CALLOUT = 15; + + // Image. + IMAGE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/external_conversion_source.proto new file mode 100644 index 00000000..fb905a19 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/external_conversion_source.proto @@ -0,0 +1,153 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing the external conversion source that is +// associated with a ConversionAction. +message ExternalConversionSourceEnum { + // The external conversion source that is associated with a ConversionAction. + enum ExternalConversionSource { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user navigates to a particular webpage + // after viewing an ad; Displayed in Google Ads UI as 'Website'. + WEBPAGE = 2; + + // Conversion that comes from linked Google Analytics goal or transaction; + // Displayed in Google Ads UI as 'Analytics'. + ANALYTICS = 3; + + // Website conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from clicks'. + UPLOAD = 4; + + // Conversion that occurs when a user clicks on a call extension directly on + // an ad; Displayed in Google Ads UI as 'Calls from ads'. + AD_CALL_METRICS = 5; + + // Conversion that occurs when a user calls a dynamically-generated phone + // number (by installed javascript) from an advertiser's website after + // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. + WEBSITE_CALL_METRICS = 6; + + // Conversion that occurs when a user visits an advertiser's retail store + // after clicking on a Google ad; + // Displayed in Google Ads UI as 'Store visits'. + STORE_VISITS = 7; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an Android app; + // Displayed in Google Ads UI as 'Android in-app action'. + ANDROID_IN_APP = 8; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an iOS app; + // Displayed in Google Ads UI as 'iOS in-app action'. + IOS_IN_APP = 9; + + // Conversion that occurs when a user opens an iOS app for the first time; + // Displayed in Google Ads UI as 'iOS app install (first open)'. + IOS_FIRST_OPEN = 10; + + // Legacy app conversions that do not have an AppPlatform provided; + // Displayed in Google Ads UI as 'Mobile app'. + APP_UNSPECIFIED = 11; + + // Conversion that occurs when a user opens an Android app for the first + // time; Displayed in Google Ads UI as 'Android app install (first open)'. + ANDROID_FIRST_OPEN = 12; + + // Call conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from calls'. + UPLOAD_CALLS = 13; + + // Conversion that comes from a linked Firebase event; + // Displayed in Google Ads UI as 'Firebase'. + FIREBASE = 14; + + // Conversion that occurs when a user clicks on a mobile phone number; + // Displayed in Google Ads UI as 'Phone number clicks'. + CLICK_TO_CALL = 15; + + // Conversion that comes from Salesforce; + // Displayed in Google Ads UI as 'Salesforce.com'. + SALESFORCE = 16; + + // Conversion that comes from in-store purchases recorded by CRM; + // Displayed in Google Ads UI as 'Store sales (data partner)'. + STORE_SALES_CRM = 17; + + // Conversion that comes from in-store purchases from payment network; + // Displayed in Google Ads UI as 'Store sales (payment network)'. + STORE_SALES_PAYMENT_NETWORK = 18; + + // Codeless Google Play conversion; + // Displayed in Google Ads UI as 'Google Play'. + GOOGLE_PLAY = 19; + + // Conversion that comes from a linked third-party app analytics event; + // Displayed in Google Ads UI as 'Third-party app analytics'. + THIRD_PARTY_APP_ANALYTICS = 20; + + // Conversion that is controlled by Google Attribution. + GOOGLE_ATTRIBUTION = 21; + + // Store Sales conversion based on first-party or third-party merchant data + // uploads. Displayed in Google Ads UI as 'Store sales (direct upload)'. + STORE_SALES_DIRECT_UPLOAD = 23; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. Displayed in Google Ads UI as 'Store sales'. + STORE_SALES = 24; + + // Conversions imported from Search Ads 360 Floodlight data. + SEARCH_ADS_360 = 25; + + // Conversions that track local actions from Google's products and services + // after interacting with an ad. + GOOGLE_HOSTED = 27; + + // Conversions reported by Floodlight tags. + FLOODLIGHT = 29; + + // Conversions that come from Google Analytics specifically for Search Ads + // 360. Displayed in Google Ads UI as Analytics (SA360). + ANALYTICS_SEARCH_ADS_360 = 31; + + // Conversion that comes from a linked Firebase event for Search Ads 360. + FIREBASE_SEARCH_ADS_360 = 33; + + // Conversion that is reported by Floodlight for DV360. + DISPLAY_AND_VIDEO_360_FLOODLIGHT = 34; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_attribute_type.proto new file mode 100644 index 00000000..bd09313f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_attribute_type.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed attribute type. + +// Container for enum describing possible data types for a feed attribute. +message FeedAttributeTypeEnum { + // Possible data types for a feed attribute. + enum FeedAttributeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Int64. + INT64 = 2; + + // Double. + DOUBLE = 3; + + // String. + STRING = 4; + + // Boolean. + BOOLEAN = 5; + + // Url. + URL = 6; + + // Datetime. + DATE_TIME = 7; + + // Int64 list. + INT64_LIST = 8; + + // Double (8 bytes) list. + DOUBLE_LIST = 9; + + // String list. + STRING_LIST = 10; + + // Boolean list. + BOOLEAN_LIST = 11; + + // Url list. + URL_LIST = 12; + + // Datetime list. + DATE_TIME_LIST = 13; + + // Price. + PRICE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_approval_status.proto new file mode 100644 index 00000000..321e5ffd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item quality evaluation approval statuses. + +// Container for enum describing possible quality evaluation approval statuses +// of a feed item. +message FeedItemQualityApprovalStatusEnum { + // The possible quality evaluation approval statuses of a feed item. + enum FeedItemQualityApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meets all quality expectations. + APPROVED = 2; + + // Does not meet some quality expectations. The specific reason is found in + // the quality_disapproval_reasons field. + DISAPPROVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 00000000..429afe5b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item quality disapproval reasons. + +// Container for enum describing possible quality evaluation disapproval reasons +// of a feed item. +message FeedItemQualityDisapprovalReasonEnum { + // The possible quality evaluation disapproval reasons of a feed item. + enum FeedItemQualityDisapprovalReason { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Price contains repetitive headers. + PRICE_TABLE_REPETITIVE_HEADERS = 2; + + // Price contains repetitive description. + PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; + + // Price contains inconsistent items. + PRICE_TABLE_INCONSISTENT_ROWS = 4; + + // Price contains qualifiers in description. + PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; + + // Price contains an unsupported language. + PRICE_UNSUPPORTED_LANGUAGE = 6; + + // Price item header is not relevant to the price type. + PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; + + // Price item header has promotional text. + PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; + + // Price item description is not relevant to the item header. + PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; + + // Price item description contains promotional text. + PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; + + // Price item header and description are repetitive. + PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; + + // Price item is in a foreign language, nonsense, or can't be rated. + PRICE_TABLE_ROW_UNRATEABLE = 12; + + // Price item price is invalid or inaccurate. + PRICE_TABLE_ROW_PRICE_INVALID = 13; + + // Price item URL is invalid or irrelevant. + PRICE_TABLE_ROW_URL_INVALID = 14; + + // Price item header or description has price. + PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; + + // Structured snippet values do not match the header. + STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; + + // Structured snippet values are repeated. + STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; + + // Structured snippet values violate editorial guidelines like punctuation. + STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; + + // Structured snippet contain promotional text. + STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_status.proto new file mode 100644 index 00000000..967c779c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item set status. + +// Container for enum describing possible statuses of a feed item set. +message FeedItemSetStatusEnum { + // Possible statuses of a feed item set. + enum FeedItemSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item set is enabled. + ENABLED = 2; + + // Feed item set has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_string_filter_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 00000000..e1ea9901 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,43 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// The type of string matching to be used for a dynamic FeedItemSet filter. +message FeedItemSetStringFilterTypeEnum { + // describe the possible types for a FeedItemSetStringFilter. + enum FeedItemSetStringFilterType { + // Not specified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The dynamic set filter will use exact string matching. + EXACT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_status.proto new file mode 100644 index 00000000..2548dd98 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item status. + +// Container for enum describing possible statuses of a feed item. +message FeedItemStatusEnum { + // Possible statuses of a feed item. + enum FeedItemStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item is enabled. + ENABLED = 2; + + // Feed item has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_device.proto new file mode 100644 index 00000000..2038318b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_device.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item target device type. + +// Container for enum describing possible data types for a feed item target +// device. +message FeedItemTargetDeviceEnum { + // Possible data types for a feed item target device. + enum FeedItemTargetDevice { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile. + MOBILE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_status.proto new file mode 100644 index 00000000..2d4b34aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item target status. + +// Container for enum describing possible statuses of a feed item target. +message FeedItemTargetStatusEnum { + // Possible statuses of a feed item target. + enum FeedItemTargetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item target is enabled. + ENABLED = 2; + + // Feed item target has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_type.proto new file mode 100644 index 00000000..d643477b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_target_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item target type status. + +// Container for enum describing possible types of a feed item target. +message FeedItemTargetTypeEnum { + // Possible type of a feed item target. + enum FeedItemTargetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item targets a campaign. + CAMPAIGN = 2; + + // Feed item targets an ad group. + AD_GROUP = 3; + + // Feed item targets a criterion. + CRITERION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_validation_status.proto new file mode 100644 index 00000000..399fbbb5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_item_validation_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed item validation statuses. + +// Container for enum describing possible validation statuses of a feed item. +message FeedItemValidationStatusEnum { + // The possible validation statuses of a feed item. + enum FeedItemValidationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Validation pending. + PENDING = 2; + + // An error was found. + INVALID = 3; + + // Feed item is semantically well-formed. + VALID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_link_status.proto new file mode 100644 index 00000000..715f957a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_link_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing status of a feed link. + +// Container for an enum describing possible statuses of a feed link. +message FeedLinkStatusEnum { + // Possible statuses of a feed link. + enum FeedLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed link is enabled. + ENABLED = 2; + + // Feed link has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_criterion_type.proto new file mode 100644 index 00000000..61b2d027 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing criterion types for feed mappings. + +// Container for enum describing possible criterion types for a feed mapping. +message FeedMappingCriterionTypeEnum { + // Possible placeholder types for a feed mapping. + enum FeedMappingCriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows campaign targeting at locations within a location feed. + LOCATION_EXTENSION_TARGETING = 4; + + // Allows url targeting for your dynamic search ads within a page feed. + DSA_PAGE_FEED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_status.proto new file mode 100644 index 00000000..04366d6a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_mapping_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed mapping status. + +// Container for enum describing possible statuses of a feed mapping. +message FeedMappingStatusEnum { + // Possible statuses of a feed mapping. + enum FeedMappingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed mapping is enabled. + ENABLED = 2; + + // Feed mapping has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_origin.proto new file mode 100644 index 00000000..0b4f1867 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_origin.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed origin. + +// Container for enum describing possible values for a feed origin. +message FeedOriginEnum { + // Possible values for a feed origin. + enum FeedOrigin { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The FeedAttributes for this Feed are managed by the + // user. Users can add FeedAttributes to this Feed. + USER = 2; + + // The FeedAttributes for 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/google-cloud/protos/google/ads/googleads/v11/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/feed_status.proto new file mode 100644 index 00000000..ad576fb3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/feed_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed status. + +// Container for enum describing possible statuses of a feed. +message FeedStatusEnum { + // Possible statuses of a feed. + enum FeedStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed is enabled. + ENABLED = 2; + + // Feed has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/flight_placeholder_field.proto new file mode 100644 index 00000000..7465811c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/flight_placeholder_field.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Flight placeholder fields. + +// Values for Flight placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message FlightPlaceholderFieldEnum { + // Possible values for Flight placeholder fields. + enum FlightPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Optional. Combination of destination id and origin id must be unique per + // offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + FLIGHT_DESCRIPTION = 4; + + // Data Type: STRING. Shorter names are recommended. + ORIGIN_NAME = 5; + + // Data Type: STRING. Shorter names are recommended. + DESTINATION_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + FLIGHT_PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + FLIGHT_SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 13; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_event_type.proto new file mode 100644 index 00000000..b6f0e177 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_event_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the type of event that the cap applies to. +message FrequencyCapEventTypeEnum { + // The type of event that the cap applies to (for example, impression). + enum FrequencyCapEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap applies on ad impressions. + IMPRESSION = 2; + + // The cap applies on video ad views. + VIDEO_VIEW = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_level.proto new file mode 100644 index 00000000..9a4bdf76 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_level.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the level on which the cap is to be applied. +message FrequencyCapLevelEnum { + // The level on which the cap is to be applied (e.g ad group ad, ad group). + // Cap is applied to all the resources of this level. + enum FrequencyCapLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap is applied at the ad group ad level. + AD_GROUP_AD = 2; + + // The cap is applied at the ad group level. + AD_GROUP = 3; + + // The cap is applied at the campaign level. + CAMPAIGN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_time_unit.proto new file mode 100644 index 00000000..c29bc780 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/frequency_cap_time_unit.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the unit of time the cap is defined at. +message FrequencyCapTimeUnitEnum { + // Unit of time the cap is defined at (for example, day, week). + enum FrequencyCapTimeUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap would define limit per one day. + DAY = 2; + + // The cap would define limit per one week. + WEEK = 3; + + // The cap would define limit per one month. + MONTH = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/gender_type.proto new file mode 100644 index 00000000..a430125c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/gender_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing gender types. + +// Container for enum describing the type of demographic genders. +message GenderTypeEnum { + // The type of demographic genders (for example, female). + enum GenderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Male. + MALE = 10; + + // Female. + FEMALE = 11; + + // Undetermined gender. + UNDETERMINED = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/geo_target_constant_status.proto new file mode 100644 index 00000000..3e22c369 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/geo_target_constant_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_restriction.proto new file mode 100644 index 00000000..2f8f3f97 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_restriction.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing GeoTargetingRestriction. + +// Message describing feed item geo targeting restriction. +message GeoTargetingRestrictionEnum { + // A restriction used to determine if the request context's + // geo should be matched. + enum GeoTargetingRestriction { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates that request context should match the physical location of + // the user. + LOCATION_OF_PRESENCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_type.proto new file mode 100644 index 00000000..53474ba2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/geo_targeting_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing geo targeting types. + +// Container for enum describing possible geo targeting types. +message GeoTargetingTypeEnum { + // The possible geo targeting types. + enum GeoTargetingType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Location the user is interested in while making the query. + AREA_OF_INTEREST = 2; + + // Location of the user issuing the query. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/goal_config_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/goal_config_level.proto new file mode 100644 index 00000000..eb5e49c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/goal_config_level.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing goal config level. + +// Container for enum describing possible goal config levels. +message GoalConfigLevelEnum { + // The possible goal config levels. Campaigns automatically inherit the + // effective conversion account's customer goals unless they have been + // configured with their own set of campaign goals. + enum GoalConfigLevel { + // The goal config level has not been specified. + UNSPECIFIED = 0; + + // The goal config level is not known in this version. + UNKNOWN = 1; + + // The goal config is defined at the customer level. + CUSTOMER = 2; + + // The goal config is defined at the campaign level. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_category.proto new file mode 100644 index 00000000..d21be396 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_category.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing GoogleAdsField categories. + +// Container for enum that determines if the described artifact is a resource +// or a field, and if it is a field, when it segments search queries. +message GoogleAdsFieldCategoryEnum { + // The category of the artifact. + enum GoogleAdsFieldCategory { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // The described artifact is a resource. + RESOURCE = 2; + + // The described artifact is a field and is an attribute of a resource. + // Including a resource attribute field in a query may segment the query if + // the resource to which it is attributed segments the resource found in + // the FROM clause. + ATTRIBUTE = 3; + + // The described artifact is a field and always segments search queries. + SEGMENT = 5; + + // The described artifact is a field and is a metric. It never segments + // search queries. + METRIC = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_data_type.proto new file mode 100644 index 00000000..f142b4ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/google_ads_field_data_type.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing GoogleAdsField data types. + +// Container holding the various data types. +message GoogleAdsFieldDataTypeEnum { + // These are the various types a GoogleAdsService artifact may take on. + enum GoogleAdsFieldDataType { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // Maps to google.protobuf.BoolValue + // + // Applicable operators: =, != + BOOLEAN = 2; + + // Maps to google.protobuf.StringValue. It can be compared using the set of + // operators specific to dates however. + // + // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN + DATE = 3; + + // Maps to google.protobuf.DoubleValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + DOUBLE = 4; + + // Maps to an enum. It's specific definition can be found at type_url. + // + // Applicable operators: =, !=, IN, NOT IN + ENUM = 5; + + // Maps to google.protobuf.FloatValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + FLOAT = 6; + + // Maps to google.protobuf.Int32Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT32 = 7; + + // Maps to google.protobuf.Int64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT64 = 8; + + // Maps to a protocol buffer message type. The data type's details can be + // found in type_url. + // + // No operators work with MESSAGE fields. + MESSAGE = 9; + + // Maps to google.protobuf.StringValue. Represents the resource name + // (unique id) of a resource or one of its foreign keys. + // + // No operators work with RESOURCE_NAME fields. + RESOURCE_NAME = 10; + + // Maps to google.protobuf.StringValue. + // + // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN + STRING = 11; + + // Maps to google.protobuf.UInt64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + UINT64 = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/google_voice_call_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/google_voice_call_status.proto new file mode 100644 index 00000000..bd724c56 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/google_voice_call_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing google voice call status. + +// Container for enum describing possible statuses of a google voice call. +message GoogleVoiceCallStatusEnum { + // Possible statuses of a google voice call. + enum GoogleVoiceCallStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The call was missed. + MISSED = 2; + + // The call was received. + RECEIVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_date_selection_type.proto new file mode 100644 index 00000000..606f525b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_date_selection_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing hotel date selection types. + +// Container for enum describing possible hotel date selection types +message HotelDateSelectionTypeEnum { + // Enum describing possible hotel date selection types. + enum HotelDateSelectionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dates selected by default. + DEFAULT_SELECTION = 50; + + // Dates selected by the user. + USER_SELECTED = 51; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_placeholder_field.proto new file mode 100644 index 00000000..b8d53f6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_placeholder_field.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Hotel placeholder fields. + +// Values for Hotel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message HotelPlaceholderFieldEnum { + // Possible values for Hotel placeholder fields. + enum HotelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + PROPERTY_ID = 2; + + // Data Type: STRING. Required. Main headline with property name to be shown + // in dynamic ad. + PROPERTY_NAME = 3; + + // Data Type: STRING. Name of destination to be shown in dynamic ad. + DESTINATION_NAME = 4; + + // Data Type: STRING. Description of destination to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 12; + + // Data Type: INT64. Star rating (1 to 5) used to group like items + // together for recommendation engine. + STAR_RATING = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended property IDs to show together + // with this item. + SIMILAR_PROPERTY_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/hotel_price_bucket.proto b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_price_bucket.proto new file mode 100644 index 00000000..35de1a26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_price_bucket.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing hotel price buckets. + +// Container for enum describing hotel price bucket for a hotel itinerary. +message HotelPriceBucketEnum { + // Enum describing possible hotel price buckets. + enum HotelPriceBucket { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Uniquely lowest price. Partner has the lowest price, and no other + // partners are within a small variance of that price. + LOWEST_UNIQUE = 2; + + // Tied for lowest price. Partner is within a small variance of the lowest + // price. + LOWEST_TIED = 3; + + // Not lowest price. Partner is not within a small variance of the lowest + // price. + NOT_LOWEST = 4; + + // Partner was the only one shown. + ONLY_PARTNER_SHOWN = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_rate_type.proto new file mode 100644 index 00000000..a73d9c22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_rate_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing hotel rate types. + +// Container for enum describing possible hotel rate types. +message HotelRateTypeEnum { + // Enum describing possible hotel rate types. + enum HotelRateType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Rate type information is unavailable. + UNAVAILABLE = 2; + + // Rates available to everyone. + PUBLIC_RATE = 3; + + // A membership program rate is available and satisfies basic requirements + // like having a public rate available. UI treatment will strikethrough the + // public rate and indicate that a discount is available to the user. For + // more on Qualified Rates, visit + // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates + QUALIFIED_RATE = 4; + + // Rates available to users that satisfy some eligibility criteria, for + // example, all signed-in users, 20% of mobile users, all mobile users in + // Canada, etc. + PRIVATE_RATE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/hotel_reconciliation_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_reconciliation_status.proto new file mode 100644 index 00000000..8158baa7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/hotel_reconciliation_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing hotel reconciliation row status. + +// Container for HotelReconciliationStatus. +message HotelReconciliationStatusEnum { + // Status of the hotel booking reconciliation. + enum HotelReconciliationStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Bookings are for a future date, or a stay is underway but the check-out + // date hasn't passed. An active reservation can't be reconciled. + RESERVATION_ENABLED = 2; + + // Check-out has already taken place, or the booked dates have passed + // without cancellation. Bookings that are not reconciled within 45 days of + // the check-out date are billed based on the original booking price. + RECONCILIATION_NEEDED = 3; + + // These bookings have been reconciled. Reconciled bookings are billed 45 + // days after the check-out date. + RECONCILED = 4; + + // This booking was marked as canceled. Canceled stays with a value greater + // than zero (due to minimum stay rules or cancellation fees) are billed 45 + // days after the check-out date. + CANCELED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/image_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/image_placeholder_field.proto new file mode 100644 index 00000000..b42b4f1f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/image_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Advertiser Provided Image placeholder fields. + +// Values for Advertiser Provided Image placeholder fields. +message ImagePlaceholderFieldEnum { + // Possible values for Advertiser Provided Image placeholder fields. + enum ImagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The asset ID of the image. + ASSET_ID = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/income_range_type.proto new file mode 100644 index 00000000..ad400885 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/income_range_type.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing income range types. + +// Container for enum describing the type of demographic income ranges. +message IncomeRangeTypeEnum { + // The type of demographic income ranges (for example, between 0% to 50%). + enum IncomeRangeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 0%-50%. + INCOME_RANGE_0_50 = 510001; + + // 50% to 60%. + INCOME_RANGE_50_60 = 510002; + + // 60% to 70%. + INCOME_RANGE_60_70 = 510003; + + // 70% to 80%. + INCOME_RANGE_70_80 = 510004; + + // 80% to 90%. + INCOME_RANGE_80_90 = 510005; + + // Greater than 90%. + INCOME_RANGE_90_UP = 510006; + + // Undetermined income range. + INCOME_RANGE_UNDETERMINED = 510000; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/interaction_event_type.proto new file mode 100644 index 00000000..92b60d57 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/interaction_event_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing types of payable and free interactions. + +// Container for enum describing types of payable and free interactions. +message InteractionEventTypeEnum { + // Enum describing possible types of payable and free interactions. + enum InteractionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Click to site. In most cases, this interaction navigates to an external + // location, usually the advertiser's landing page. This is also the default + // InteractionEventType for click events. + CLICK = 2; + + // The user's expressed intent to engage with the ad in-place. + ENGAGEMENT = 3; + + // User viewed a video ad. + VIDEO_VIEW = 4; + + // The default InteractionEventType for ad conversion events. + // This is used when an ad conversion row does NOT indicate + // that the free interactions (for example, the ad conversions) + // should be 'promoted' and reported as part of the core metrics. + // These are simply other (ad) conversions. + NONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/interaction_type.proto new file mode 100644 index 00000000..5e2179f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/interaction_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing interaction types. + +// Container for enum describing possible interaction types. +message InteractionTypeEnum { + // Enum describing possible interaction types. + enum InteractionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Calls. + CALLS = 8000; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/invoice_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/invoice_type.proto new file mode 100644 index 00000000..86b23e88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/invoice_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing invoice types. + +// Container for enum describing the type of invoices. +message InvoiceTypeEnum { + // The possible type of invoices. + enum InvoiceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // An invoice with a negative amount. The account receives a credit. + CREDIT_MEMO = 2; + + // An invoice with a positive amount. The account owes a balance. + INVOICE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/job_placeholder_field.proto new file mode 100644 index 00000000..e5d43b60 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/job_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Job placeholder fields. + +// Values for Job placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message JobPlaceholderFieldEnum { + // Possible values for Job placeholder fields. + enum JobPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. If only JOB_ID is specified, then it must be + // unique. If both JOB_ID and LOCATION_ID are specified, then the + // pair must be unique. + // ID) pair must be unique. + JOB_ID = 2; + + // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique + // per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with job title to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. Job subtitle to be shown in dynamic ad. + SUBTITLE = 5; + + // Data Type: STRING. Description of job to be shown in dynamic ad. + DESCRIPTION = 6; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 7; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 8; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 9; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 10; + + // Data Type: STRING. Salary or salary range of job to be shown in dynamic + // ad. + SALARY = 11; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific job and its location). + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 14; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 15; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 16; + + // Data Type: STRING_LIST. List of recommended job IDs to show together with + // this item. + SIMILAR_JOB_IDS = 17; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 18; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_match_type.proto new file mode 100644 index 00000000..776cdead --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_match_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Keyword match types. + +// Message describing Keyword match types. +message KeywordMatchTypeEnum { + // Possible Keyword match types. + enum KeywordMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Exact match. + EXACT = 2; + + // Phrase match. + PHRASE = 3; + + // Broad match. + BROAD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_aggregate_metric_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 00000000..96b1b07a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing keyword plan aggregate metric types. + +// The enumeration of keyword plan aggregate metric types. +message KeywordPlanAggregateMetricTypeEnum { + // Aggregate fields. + enum KeywordPlanAggregateMetricType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The device breakdown of aggregate search volume. + DEVICE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_competition_level.proto new file mode 100644 index 00000000..ce8d2074 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_competition_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Keyword Planner competition levels. + +// Container for enumeration of keyword competition levels. The competition +// level indicates how competitive ad placement is for a keyword and +// is determined by the number of advertisers bidding on that keyword relative +// to all keywords across Google. The competition level can depend on the +// location and Search Network targeting options you've selected. +message KeywordPlanCompetitionLevelEnum { + // Competition level of a keyword. + enum KeywordPlanCompetitionLevel { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Low competition. The Competition Index range for this is [0, 33]. + LOW = 2; + + // Medium competition. The Competition Index range for this is [34, 66]. + MEDIUM = 3; + + // High competition. The Competition Index range for this is [67, 100]. + HIGH = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_concept_group_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 00000000..39d1c7f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Keyword Planner Concept Group types. + +// Container for enumeration of keyword plan concept group types. +message KeywordPlanConceptGroupTypeEnum { + // Enumerates keyword plan concept group types. + enum KeywordPlanConceptGroupType { + // The concept group classification different from brand/non-brand. + // This is a catch all bucket for all classifications that are none of the + // below. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The concept group classification is based on BRAND. + BRAND = 2; + + // The concept group classification based on BRAND, that didn't fit well + // with the BRAND classifications. These are generally outliers and can have + // very few keywords in this type of classification. + OTHER_BRANDS = 3; + + // These concept group classification is not based on BRAND. This is + // returned for generic keywords that don't have a brand association. + NON_BRAND = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 00000000..3dddaf88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing keyword plan forecast intervals. + +// Container for enumeration of forecast intervals. +message KeywordPlanForecastIntervalEnum { + // Forecast intervals. + enum KeywordPlanForecastInterval { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The next week date range for keyword plan. The next week is based + // on the default locale of the user's account and is mostly SUN-SAT or + // MON-SUN. + // This can be different from next-7 days. + NEXT_WEEK = 3; + + // The next month date range for keyword plan. + NEXT_MONTH = 4; + + // The next quarter date range for keyword plan. + NEXT_QUARTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_keyword_annotation.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 00000000..d1dd8457 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Keyword Planner Keyword annotation types. + +// Container for enumeration of keyword plan keyword annotations. +message KeywordPlanKeywordAnnotationEnum { + // Enumerates keyword plan annotations that can be requested. + enum KeywordPlanKeywordAnnotation { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Return the keyword concept and concept group data. + KEYWORD_CONCEPT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_network.proto new file mode 100644 index 00000000..14d9b381 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/keyword_plan_network.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Keyword Planner forecastable network types. + +// Container for enumeration of keyword plan forecastable network types. +message KeywordPlanNetworkEnum { + // Enumerates keyword plan forecastable network types. + enum KeywordPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google Search. + GOOGLE_SEARCH = 2; + + // Google Search + Search partners. + GOOGLE_SEARCH_AND_PARTNERS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/label_status.proto new file mode 100644 index 00000000..8d137780 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/label_status.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_call_to_action_type.proto new file mode 100644 index 00000000..e6f85fd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Describes the type of call-to-action phrases in a lead form. +message LeadFormCallToActionTypeEnum { + // Enum describing the type of call-to-action phrases in a lead form. + enum LeadFormCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Learn more. + LEARN_MORE = 2; + + // Get quote. + GET_QUOTE = 3; + + // Apply now. + APPLY_NOW = 4; + + // Sign Up. + SIGN_UP = 5; + + // Contact us. + CONTACT_US = 6; + + // Subscribe. + SUBSCRIBE = 7; + + // Download. + DOWNLOAD = 8; + + // Book now. + BOOK_NOW = 9; + + // Get offer. + GET_OFFER = 10; + + // Register. + REGISTER = 11; + + // Get info. + GET_INFO = 12; + + // Request a demo. + REQUEST_DEMO = 13; + + // Join now. + JOIN_NOW = 14; + + // Get started. + GET_STARTED = 15; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_desired_intent.proto b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_desired_intent.proto new file mode 100644 index 00000000..e21f4183 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_desired_intent.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Describes the chosen level of intent of generated leads. +message LeadFormDesiredIntentEnum { + // Enum describing the chosen level of intent of generated leads. + enum LeadFormDesiredIntent { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Deliver more leads at a potentially lower quality. + LOW_INTENT = 2; + + // Deliver leads that are more qualified. + HIGH_INTENT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_field_user_input_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_field_user_input_type.proto new file mode 100644 index 00000000..f5a47af8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_field_user_input_type.proto @@ -0,0 +1,487 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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" + VEHICLE_MODEL = 1001; + + // Question: "Which type of vehicle are you interested in?" + // Category: "Auto" + VEHICLE_TYPE = 1002; + + // Question: "What is your preferred dealership?" + // Category: "Auto" + PREFERRED_DEALERSHIP = 1003; + + // Question: "When do you plan on purchasing a vehicle?" + // Category: "Auto" + VEHICLE_PURCHASE_TIMELINE = 1004; + + // Question: "Do you own a vehicle?" + // Category: "Auto" + VEHICLE_OWNERSHIP = 1005; + + // Question: "What vehicle ownership option are you interested in?" + // Category: "Auto" + VEHICLE_PAYMENT_TYPE = 1009; + + // Question: "What type of vehicle condition are you interested in?" + // Category: "Auto" + VEHICLE_CONDITION = 1010; + + // Question: "What size is your company?" + // Category: "Business" + COMPANY_SIZE = 1006; + + // Question: "What is your annual sales volume?" + // Category: "Business" + ANNUAL_SALES = 1007; + + // Question: "How many years have you been in business?" + // Category: "Business" + YEARS_IN_BUSINESS = 1008; + + // Question: "What is your job department?" + // Category: "Business" + JOB_DEPARTMENT = 1011; + + // Question: "What is your job role?" + // Category: "Business" + JOB_ROLE = 1012; + + // Question: "Are you over 18 years of age?" + // Category: "Demographics" + OVER_18_AGE = 1078; + + // Question: "Are you over 19 years of age?" + // Category: "Demographics" + OVER_19_AGE = 1079; + + // Question: "Are you over 20 years of age?" + // Category: "Demographics" + OVER_20_AGE = 1080; + + // Question: "Are you over 21 years of age?" + // Category: "Demographics" + OVER_21_AGE = 1081; + + // Question: "Are you over 22 years of age?" + // Category: "Demographics" + OVER_22_AGE = 1082; + + // Question: "Are you over 23 years of age?" + // Category: "Demographics" + OVER_23_AGE = 1083; + + // Question: "Are you over 24 years of age?" + // Category: "Demographics" + OVER_24_AGE = 1084; + + // Question: "Are you over 25 years of age?" + // Category: "Demographics" + OVER_25_AGE = 1085; + + // Question: "Are you over 26 years of age?" + // Category: "Demographics" + OVER_26_AGE = 1086; + + // Question: "Are you over 27 years of age?" + // Category: "Demographics" + OVER_27_AGE = 1087; + + // Question: "Are you over 28 years of age?" + // Category: "Demographics" + OVER_28_AGE = 1088; + + // Question: "Are you over 29 years of age?" + // Category: "Demographics" + OVER_29_AGE = 1089; + + // Question: "Are you over 30 years of age?" + // Category: "Demographics" + OVER_30_AGE = 1090; + + // Question: "Are you over 31 years of age?" + // Category: "Demographics" + OVER_31_AGE = 1091; + + // Question: "Are you over 32 years of age?" + // Category: "Demographics" + OVER_32_AGE = 1092; + + // Question: "Are you over 33 years of age?" + // Category: "Demographics" + OVER_33_AGE = 1093; + + // Question: "Are you over 34 years of age?" + // Category: "Demographics" + OVER_34_AGE = 1094; + + // Question: "Are you over 35 years of age?" + // Category: "Demographics" + OVER_35_AGE = 1095; + + // Question: "Are you over 36 years of age?" + // Category: "Demographics" + OVER_36_AGE = 1096; + + // Question: "Are you over 37 years of age?" + // Category: "Demographics" + OVER_37_AGE = 1097; + + // Question: "Are you over 38 years of age?" + // Category: "Demographics" + OVER_38_AGE = 1098; + + // Question: "Are you over 39 years of age?" + // Category: "Demographics" + OVER_39_AGE = 1099; + + // Question: "Are you over 40 years of age?" + // Category: "Demographics" + OVER_40_AGE = 1100; + + // Question: "Are you over 41 years of age?" + // Category: "Demographics" + OVER_41_AGE = 1101; + + // Question: "Are you over 42 years of age?" + // Category: "Demographics" + OVER_42_AGE = 1102; + + // Question: "Are you over 43 years of age?" + // Category: "Demographics" + OVER_43_AGE = 1103; + + // Question: "Are you over 44 years of age?" + // Category: "Demographics" + OVER_44_AGE = 1104; + + // Question: "Are you over 45 years of age?" + // Category: "Demographics" + OVER_45_AGE = 1105; + + // Question: "Are you over 46 years of age?" + // Category: "Demographics" + OVER_46_AGE = 1106; + + // Question: "Are you over 47 years of age?" + // Category: "Demographics" + OVER_47_AGE = 1107; + + // Question: "Are you over 48 years of age?" + // Category: "Demographics" + OVER_48_AGE = 1108; + + // Question: "Are you over 49 years of age?" + // Category: "Demographics" + OVER_49_AGE = 1109; + + // Question: "Are you over 50 years of age?" + // Category: "Demographics" + OVER_50_AGE = 1110; + + // Question: "Are you over 51 years of age?" + // Category: "Demographics" + OVER_51_AGE = 1111; + + // Question: "Are you over 52 years of age?" + // Category: "Demographics" + OVER_52_AGE = 1112; + + // Question: "Are you over 53 years of age?" + // Category: "Demographics" + OVER_53_AGE = 1113; + + // Question: "Are you over 54 years of age?" + // Category: "Demographics" + OVER_54_AGE = 1114; + + // Question: "Are you over 55 years of age?" + // Category: "Demographics" + OVER_55_AGE = 1115; + + // Question: "Are you over 56 years of age?" + // Category: "Demographics" + OVER_56_AGE = 1116; + + // Question: "Are you over 57 years of age?" + // Category: "Demographics" + OVER_57_AGE = 1117; + + // Question: "Are you over 58 years of age?" + // Category: "Demographics" + OVER_58_AGE = 1118; + + // Question: "Are you over 59 years of age?" + // Category: "Demographics" + OVER_59_AGE = 1119; + + // Question: "Are you over 60 years of age?" + // Category: "Demographics" + OVER_60_AGE = 1120; + + // Question: "Are you over 61 years of age?" + // Category: "Demographics" + OVER_61_AGE = 1121; + + // Question: "Are you over 62 years of age?" + // Category: "Demographics" + OVER_62_AGE = 1122; + + // Question: "Are you over 63 years of age?" + // Category: "Demographics" + OVER_63_AGE = 1123; + + // Question: "Are you over 64 years of age?" + // Category: "Demographics" + OVER_64_AGE = 1124; + + // Question: "Are you over 65 years of age?" + // Category: "Demographics" + OVER_65_AGE = 1125; + + // Question: "Which program are you interested in?" + // Category: "Education" + EDUCATION_PROGRAM = 1013; + + // Question: "Which course are you interested in?" + // Category: "Education" + EDUCATION_COURSE = 1014; + + // Question: "Which product are you interested in?" + // Category: "General" + PRODUCT = 1016; + + // Question: "Which service are you interested in?" + // Category: "General" + SERVICE = 1017; + + // Question: "Which offer are you interested in?" + // Category: "General" + OFFER = 1018; + + // Question: "Which category are you interested in?" + // Category: "General" + CATEGORY = 1019; + + // Question: "What is your preferred method of contact?" + // Category: "General" + PREFERRED_CONTACT_METHOD = 1020; + + // Question: "What is your preferred location?" + // Category: "General" + PREFERRED_LOCATION = 1021; + + // Question: "What is the best time to contact you?" + // Category: "General" + PREFERRED_CONTACT_TIME = 1022; + + // Question: "When are you looking to make a purchase?" + // Category: "General" + PURCHASE_TIMELINE = 1023; + + // Question: "How many years of work experience do you have?" + // Category: "Jobs" + YEARS_OF_EXPERIENCE = 1048; + + // Question: "What industry do you work in?" + // Category: "Jobs" + JOB_INDUSTRY = 1049; + + // Question: "What is your highest level of education?" + // Category: "Jobs" + LEVEL_OF_EDUCATION = 1050; + + // Question: "What type of property are you looking for?" + // Category: "Real Estate" + PROPERTY_TYPE = 1024; + + // Question: "What do you need a realtor's help with?" + // Category: "Real Estate" + REALTOR_HELP_GOAL = 1025; + + // Question: "What neighborhood are you interested in?" + // Category: "Real Estate" + PROPERTY_COMMUNITY = 1026; + + // Question: "What price range are you looking for?" + // Category: "Real Estate" + PRICE_RANGE = 1027; + + // Question: "How many bedrooms are you looking for?" + // Category: "Real Estate" + NUMBER_OF_BEDROOMS = 1028; + + // Question: "Are you looking for a fully furnished property?" + // Category: "Real Estate" + FURNISHED_PROPERTY = 1029; + + // Question: "Are you looking for properties that allow pets?" + // Category: "Real Estate" + PETS_ALLOWED_PROPERTY = 1030; + + // Question: "What is the next product you plan to purchase?" + // Category: "Retail" + NEXT_PLANNED_PURCHASE = 1031; + + // Question: "Would you like to sign up for an event?" + // Category: "Retail" + EVENT_SIGNUP_INTEREST = 1033; + + // Question: "Where are you interested in shopping?" + // Category: "Retail" + PREFERRED_SHOPPING_PLACES = 1034; + + // Question: "What is your favorite brand?" + // Category: "Retail" + FAVORITE_BRAND = 1035; + + // Question: "Which type of valid commercial license do you have?" + // Category: "Transportation" + TRANSPORTATION_COMMERCIAL_LICENSE_TYPE = 1036; + + // Question: "Interested in booking an event?" + // Category: "Travel" + EVENT_BOOKING_INTEREST = 1038; + + // Question: "What is your destination country?" + // Category: "Travel" + DESTINATION_COUNTRY = 1039; + + // Question: "What is your destination city?" + // Category: "Travel" + DESTINATION_CITY = 1040; + + // Question: "What is your departure country?" + // Category: "Travel" + DEPARTURE_COUNTRY = 1041; + + // Question: "What is your departure city?" + // Category: "Travel" + DEPARTURE_CITY = 1042; + + // Question: "What is your departure date?" + // Category: "Travel" + DEPARTURE_DATE = 1043; + + // Question: "What is your return date?" + // Category: "Travel" + RETURN_DATE = 1044; + + // Question: "How many people are you traveling with?" + // Category: "Travel" + NUMBER_OF_TRAVELERS = 1045; + + // Question: "What is your travel budget?" + // Category: "Travel" + TRAVEL_BUDGET = 1046; + + // Question: "Where do you want to stay during your travel?" + // Category: "Travel" + TRAVEL_ACCOMMODATION = 1047; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_post_submit_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 00000000..cb081d19 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Describes the type of post-submit call-to-action phrases for a lead form. +message LeadFormPostSubmitCallToActionTypeEnum { + // Enum describing the type of post-submit call-to-action phrases for a lead + // form. + enum LeadFormPostSubmitCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Visit site. + VISIT_SITE = 2; + + // Download. + DOWNLOAD = 3; + + // Learn more. + LEARN_MORE = 4; + + // Shop now. + SHOP_NOW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v11/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 00000000..df48a2e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing app store types for a legacy app install ad. + +// Container for enum describing app store type in a legacy app install ad. +message LegacyAppInstallAdAppStoreEnum { + // App store type in a legacy app install ad. + enum LegacyAppInstallAdAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_APP_STORE = 2; + + // Google Play. + GOOGLE_PLAY = 3; + + // Windows Store. + WINDOWS_STORE = 4; + + // Windows Phone Store. + WINDOWS_PHONE_STORE = 5; + + // The app is hosted in a Chinese app store. + CN_APP_STORE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/linked_account_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/linked_account_type.proto new file mode 100644 index 00000000..b615026d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/linked_account_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing different types of Linked accounts. +message LinkedAccountTypeEnum { + // Describes the possible link types between a Google Ads customer + // and another account. + enum LinkedAccountType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A link to provide third party app analytics data. + THIRD_PARTY_APP_ANALYTICS = 2; + + // A link to Data partner. + DATA_PARTNER = 3; + + // A link to Google Ads. + GOOGLE_ADS = 4; + + // A link to Hotel Center. + HOTEL_CENTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 00000000..40e82e93 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_bidding_category_level.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 00000000..f931154f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_custom_attribute_index.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_channel.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_channel.proto new file mode 100644 index 00000000..901f88f7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_condition.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_condition.proto new file mode 100644 index 00000000..eaf1c2ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_type_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 00000000..447387e1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_type_enum.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_type_enum.proto new file mode 100644 index 00000000..c26c723a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_vertical.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_vertical.proto new file mode 100644 index 00000000..3140a9ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_filter_vertical.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_type.proto new file mode 100644 index 00000000..8f4e6959 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/listing_group_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the type of the listing group. +message ListingGroupTypeEnum { + // The type of the listing group. + enum ListingGroupType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Subdivision of products along some listing dimension. These nodes + // are not used by serving to target listing entries, but is purely + // to define the structure of the tree. + SUBDIVISION = 2; + + // Listing group unit that defines a bid. + UNIT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/local_placeholder_field.proto new file mode 100644 index 00000000..90b2cad1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/local_placeholder_field.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Local placeholder fields. + +// Values for Local placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message LocalPlaceholderFieldEnum { + // Possible values for Local placeholder fields. + enum LocalPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + DEAL_ID = 2; + + // Data Type: STRING. Required. Main headline with local deal title to be + // shown in dynamic ad. + DEAL_NAME = 3; + + // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. + SUBTITLE = 4; + + // Data Type: STRING. Description of local deal to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. Example: "100.00 USD" + PRICE = 6; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 7; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 8; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 9; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 10; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 11; + + // Data Type: STRING. Category of local deal used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific local deal and its location). + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 17; + + // Data Type: STRING_LIST. List of recommended local deal IDs to show + // together with this item. + SIMILAR_DEAL_IDS = 18; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 19; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 00000000..f8ca580f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Location Extension Targeting criterion fields. + +// Values for Location Extension Targeting criterion fields. +message LocationExtensionTargetingCriterionFieldEnum { + // Possible values for Location Extension Targeting criterion fields. + enum LocationExtensionTargetingCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 2; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 3; + + // Data Type: STRING. City of the business address. + CITY = 4; + + // Data Type: STRING. Province of the business address. + PROVINCE = 5; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 6; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v11/enums/location_group_radius_units.proto new file mode 100644 index 00000000..3d5f08c6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/location_group_radius_units.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing location group radius units. + +// Container for enum describing unit of radius in location group. +message LocationGroupRadiusUnitsEnum { + // The unit of radius distance in location group (for example, MILES) + enum LocationGroupRadiusUnits { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meters + METERS = 2; + + // Miles + MILES = 3; + + // Milli Miles + MILLI_MILES = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/location_placeholder_field.proto new file mode 100644 index 00000000..adbdb7ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/location_placeholder_field.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Location placeholder fields. + +// Values for Location placeholder fields. +message LocationPlaceholderFieldEnum { + // Possible values for Location placeholder fields. + enum LocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/location_source_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/location_source_type.proto new file mode 100644 index 00000000..dd3725d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/location_source_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing location source types. + +// Used to distinguish the location source type. +message LocationSourceTypeEnum { + // The possible types of a location source. + enum LocationSourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Locations associated with the customer's linked Business Profile. + GOOGLE_MY_BUSINESS = 2; + + // Affiliate (chain) store locations. For example, Best Buy store locations. + AFFILIATE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/manager_link_status.proto new file mode 100644 index 00000000..9d4f7a8f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/manager_link_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing possible status of a manager and client link. +message ManagerLinkStatusEnum { + // Possible statuses of a link. + enum ManagerLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates current in-effect relationship + ACTIVE = 2; + + // Indicates terminated relationship + INACTIVE = 3; + + // Indicates relationship has been requested by manager, but the client + // hasn't accepted yet. + PENDING = 4; + + // Relationship was requested by the manager, but the client has refused. + REFUSED = 5; + + // Indicates relationship has been requested by manager, but manager + // canceled it. + CANCELED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_context_type.proto new file mode 100644 index 00000000..8550506d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_context_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing matching function context types. + +// Container for context types for an operand in a matching function. +message MatchingFunctionContextTypeEnum { + // Possible context types for an operand in a matching function. + enum MatchingFunctionContextType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item id in the request context. + FEED_ITEM_ID = 2; + + // The device being used (possible values are 'Desktop' or 'Mobile'). + DEVICE_NAME = 3; + + // Feed item set id in the request context. + FEED_ITEM_SET_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_operator.proto new file mode 100644 index 00000000..de2b446a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/matching_function_operator.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing matching function operators. + +// Container for enum describing matching function operator. +message MatchingFunctionOperatorEnum { + // Possible operators in a matching function. + enum MatchingFunctionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The IN operator. + IN = 2; + + // The IDENTITY operator. + IDENTITY = 3; + + // The EQUALS operator + EQUALS = 4; + + // Operator that takes two or more operands that are of type + // FunctionOperand and checks that all the operands evaluate to true. + // For functions related to ad formats, all the operands must be in + // left_operands. + AND = 5; + + // Operator that returns true if the elements in left_operands contain any + // of the elements in right_operands. Otherwise, return false. The + // right_operands must contain at least 1 and no more than 3 + // ConstantOperands. + CONTAINS_ANY = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/media_type.proto new file mode 100644 index 00000000..f6156e05 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/media_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing media types. + +// Container for enum describing the types of media. +message MediaTypeEnum { + // The type of media. + enum MediaType { + // The media type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Static image, used for image ad. + IMAGE = 2; + + // Small image, used for map ad. + ICON = 3; + + // ZIP file, used in fields of template ads. + MEDIA_BUNDLE = 4; + + // Audio file. + AUDIO = 5; + + // Video file. + VIDEO = 6; + + // Animated image, such as animated GIF. + DYNAMIC_IMAGE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/merchant_center_link_status.proto new file mode 100644 index 00000000..9e25f0de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/merchant_center_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v11/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/message_placeholder_field.proto new file mode 100644 index 00000000..cf54e649 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/message_placeholder_field.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Message placeholder fields. + +// Values for Message placeholder fields. +message MessagePlaceholderFieldEnum { + // Possible values for Message placeholder fields. + enum MessagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of your business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Country code of phone number. + COUNTRY_CODE = 3; + + // Data Type: STRING. A phone number that's capable of sending and receiving + // text messages. + PHONE_NUMBER = 4; + + // Data Type: STRING. The text that will go in your click-to-message ad. + MESSAGE_EXTENSION_TEXT = 5; + + // Data Type: STRING. The message text automatically shows in people's + // messaging apps when they tap to send you a message. + MESSAGE_TEXT = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/mime_type.proto new file mode 100644 index 00000000..53da86f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/mime_type.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v11/enums/minute_of_hour.proto new file mode 100644 index 00000000..88e93977 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/minute_of_hour.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/mobile_app_vendor.proto b/google-cloud/protos/google/ads/googleads/v11/enums/mobile_app_vendor.proto new file mode 100644 index 00000000..9716feb9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/mobile_app_vendor.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/mobile_device_type.proto new file mode 100644 index 00000000..d3fc065d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/mobile_device_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing mobile device types. + +// Container for enum describing the types of mobile device. +message MobileDeviceTypeEnum { + // The type of mobile device. + enum MobileDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile phones. + MOBILE = 2; + + // Tablets. + TABLET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v11/enums/month_of_year.proto new file mode 100644 index 00000000..3d7c2529 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/month_of_year.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of months of the year, for example, "January". +message MonthOfYearEnum { + // Enumerates months of the year, for example, "January". + enum MonthOfYear { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // January. + JANUARY = 2; + + // February. + FEBRUARY = 3; + + // March. + MARCH = 4; + + // April. + APRIL = 5; + + // May. + MAY = 6; + + // June. + JUNE = 7; + + // July. + JULY = 8; + + // August. + AUGUST = 9; + + // September. + SEPTEMBER = 10; + + // October. + OCTOBER = 11; + + // November. + NOVEMBER = 12; + + // December. + DECEMBER = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/negative_geo_target_type.proto new file mode 100644 index 00000000..ac4c6ae5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/negative_geo_target_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing negative geo target types. + +// Container for enum describing possible negative geo target types. +message NegativeGeoTargetTypeEnum { + // The possible negative geo target types. + enum NegativeGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that a user is excluded from seeing the ad if they + // are in, or show interest in, advertiser's excluded locations. + PRESENCE_OR_INTEREST = 4; + + // Specifies that a user is excluded from seeing the ad if they + // are in advertiser's excluded locations. + PRESENCE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 00000000..4d885739 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing offline user data job failure reasons. + +// Container for enum describing reasons why an offline user data job +// failed to be processed. +message OfflineUserDataJobFailureReasonEnum { + // The failure reason of an offline user data job. + enum OfflineUserDataJobFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The matched transactions are insufficient. + INSUFFICIENT_MATCHED_TRANSACTIONS = 2; + + // The uploaded transactions are insufficient. + INSUFFICIENT_TRANSACTIONS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_match_rate_range.proto b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 00000000..5b3b235a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing reasons match rate ranges for a customer match +// list upload. +message OfflineUserDataJobMatchRateRangeEnum { + // The match rate range of an offline user data job. + enum OfflineUserDataJobMatchRateRange { + // Not specified. + UNSPECIFIED = 0; + + // Default value for match rate range. + UNKNOWN = 1; + + // Match rate range for offline data upload entity is between 0% and 19%. + MATCH_RANGE_LESS_THAN_20 = 2; + + // Match rate range for offline data upload entity is between 20% and 30%. + MATCH_RANGE_20_TO_30 = 3; + + // Match rate range for offline data upload entity is between 31% and 40%. + MATCH_RANGE_31_TO_40 = 4; + + // Match rate range for offline data upload entity is between 41% and 50%. + MATCH_RANGE_41_TO_50 = 5; + + // Match rate range for offline data upload entity is between 51% and 60%. + MATCH_RANGE_51_TO_60 = 6; + + // Match rate range for offline data upload entity is between 61% and 70%. + MATCH_RANGE_61_TO_70 = 7; + + // Match rate range for offline data upload entity is between 71% and 80%. + MATCH_RANGE_71_TO_80 = 8; + + // Match rate range for offline data upload entity is between 81% and 90%. + MATCH_RANGE_81_TO_90 = 9; + + // Match rate range for offline data upload entity more than or equal to + // 91%. + MATCH_RANGE_91_TO_100 = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_status.proto new file mode 100644 index 00000000..c1da0b6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing offline user data job status. + +// Container for enum describing status of an offline user data job. +message OfflineUserDataJobStatusEnum { + // The status of an offline user data job. + enum OfflineUserDataJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job has been successfully created and pending for uploading. + PENDING = 2; + + // Upload(s) have been accepted and data is being processed. + RUNNING = 3; + + // Uploaded data has been successfully processed. + SUCCESS = 4; + + // Uploaded data has failed to be processed. + FAILED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_type.proto new file mode 100644 index 00000000..b656089a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/offline_user_data_job_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing offline user data job types. + +// Container for enum describing types of an offline user data job. +message OfflineUserDataJobTypeEnum { + // The type of an offline user data job. + enum OfflineUserDataJobType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Store Sales Direct data for self service. + STORE_SALES_UPLOAD_FIRST_PARTY = 2; + + // Store Sales Direct data for third party. + STORE_SALES_UPLOAD_THIRD_PARTY = 3; + + // Customer Match user list data. + CUSTOMER_MATCH_USER_LIST = 4; + + // Customer Match with attribute data. + CUSTOMER_MATCH_WITH_ATTRIBUTES = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/operating_system_version_operator_type.proto new file mode 100644 index 00000000..6e49d184 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/operating_system_version_operator_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing operating system version operator types. + +// Container for enum describing the type of OS operators. +message OperatingSystemVersionOperatorTypeEnum { + // The type of operating system version. + enum OperatingSystemVersionOperatorType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals to the specified version. + EQUALS_TO = 2; + + // Greater than or equals to the specified version. + GREATER_THAN_EQUALS_TO = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/optimization_goal_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/optimization_goal_type.proto new file mode 100644 index 00000000..6dcfc8bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/optimization_goal_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing optimization goal type. + +// Container for enum describing the type of optimization goal. +message OptimizationGoalTypeEnum { + // The type of optimization goal + enum OptimizationGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Optimize for call clicks. Call click conversions are times people + // selected 'Call' to contact a store after viewing an ad. + CALL_CLICKS = 2; + + // Optimize for driving directions. Driving directions conversions are + // times people selected 'Get directions' to navigate to a store after + // viewing an ad. + DRIVING_DIRECTIONS = 3; + + // Optimize for pre-registration. Pre-registration conversions are the + // number of pre-registration signups to receive a notification when the app + // is released. + APP_PRE_REGISTRATION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/parental_status_type.proto new file mode 100644 index 00000000..3dc06ed1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/parental_status_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing parenal status types. + +// Container for enum describing the type of demographic parental statuses. +message ParentalStatusTypeEnum { + // The type of parental statuses (for example, not a parent). + enum ParentalStatusType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Parent. + PARENT = 300; + + // Not a parent. + NOT_A_PARENT = 301; + + // Undetermined parental status. + UNDETERMINED = 302; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v11/enums/payment_mode.proto new file mode 100644 index 00000000..16084924 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/payment_mode.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing payment modes. + +// Container for enum describing possible payment modes. +message PaymentModeEnum { + // Enum describing possible payment modes. + enum PaymentMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Pay per click. + 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/google-cloud/protos/google/ads/googleads/v11/enums/performance_max_upgrade_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/performance_max_upgrade_status.proto new file mode 100644 index 00000000..bbbac852 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/performance_max_upgrade_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PerformanceMaxUpgradeStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/placeholder_type.proto new file mode 100644 index 00000000..5094bf68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/placeholder_type.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing feed placeholder types. + +// Container for enum describing possible placeholder types for a feed mapping. +message PlaceholderTypeEnum { + // Possible placeholder types for a feed mapping. + enum PlaceholderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Lets you show links in your ad to pages from your website, including the + // main landing page. + SITELINK = 2; + + // Lets you attach a phone number to an ad, allowing customers to call + // directly from the ad. + CALL = 3; + + // Lets you provide users with a link that points to a mobile app in + // addition to a website. + APP = 4; + + // Lets you show locations of businesses from your Business Profile + // in your ad. This helps people find your locations by showing your + // ads with your address, a map to your location, or the distance to your + // business. This extension type is useful to draw customers to your + // brick-and-mortar location. + LOCATION = 5; + + // If you sell your product through retail chains, affiliate location + // extensions let you show nearby stores that carry your products. + AFFILIATE_LOCATION = 6; + + // Lets you include additional text with your search ads that provide + // detailed information about your business, including products and services + // you offer. Callouts appear in ads at the top and bottom of Google search + // results. + CALLOUT = 7; + + // Lets you add more info to your ad, specific to some predefined categories + // such as types, brands, styles, etc. A minimum of 3 text (SNIPPETS) values + // are required. + STRUCTURED_SNIPPET = 8; + + // Allows users to see your ad, click an icon, and contact you directly by + // text message. With one tap on your ad, people can contact you to book an + // appointment, get a quote, ask for information, or request a service. + MESSAGE = 9; + + // Lets you display prices for a list of items along with your ads. A price + // feed is composed of three to eight price table rows. + PRICE = 10; + + // Lets you highlight sales and other promotions that let users see how + // they can save by buying now. + PROMOTION = 11; + + // Lets you dynamically inject custom data into the title and description + // of your ads. + AD_CUSTOMIZER = 12; + + // Indicates that this feed is for education dynamic remarketing. + DYNAMIC_EDUCATION = 13; + + // Indicates that this feed is for flight dynamic remarketing. + DYNAMIC_FLIGHT = 14; + + // Indicates that this feed is for a custom dynamic remarketing type. Use + // this only if the other business types don't apply to your products or + // services. + DYNAMIC_CUSTOM = 15; + + // Indicates that this feed is for hotels and rentals dynamic remarketing. + DYNAMIC_HOTEL = 16; + + // Indicates that this feed is for real estate dynamic remarketing. + DYNAMIC_REAL_ESTATE = 17; + + // Indicates that this feed is for travel dynamic remarketing. + DYNAMIC_TRAVEL = 18; + + // Indicates that this feed is for local deals dynamic remarketing. + DYNAMIC_LOCAL = 19; + + // Indicates that this feed is for job dynamic remarketing. + DYNAMIC_JOB = 20; + + // Lets you attach an image to an ad. + IMAGE = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/placement_type.proto new file mode 100644 index 00000000..8d870630 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/placement_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing placement types. + +// Container for enum describing possible placement types. +message PlacementTypeEnum { + // Possible placement types for a feed mapping. + enum PlacementType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Websites(for example, 'www.flowers4sale.com'). + WEBSITE = 2; + + // Mobile application categories(for example, 'Games'). + MOBILE_APP_CATEGORY = 3; + + // mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers'). + MOBILE_APPLICATION = 4; + + // YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys'). + YOUTUBE_VIDEO = 5; + + // YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). + YOUTUBE_CHANNEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_approval_status.proto new file mode 100644 index 00000000..b3128d15 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_approval_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing policy approval statuses. + +// Container for enum describing possible policy approval statuses. +message PolicyApprovalStatusEnum { + // The possible policy approval statuses. When there are several approval + // statuses available the most severe one will be used. The order of severity + // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. + enum PolicyApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Will not serve. + DISAPPROVED = 2; + + // Serves with restrictions. + APPROVED_LIMITED = 3; + + // Serves without restrictions. + APPROVED = 4; + + // Will not serve in targeted countries, but may serve for users who are + // searching for information about the targeted countries. + AREA_OF_INTEREST_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_review_status.proto new file mode 100644 index 00000000..6e5178e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_review_status.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing policy review statuses. + +// Container for enum describing possible policy review statuses. +message PolicyReviewStatusEnum { + // The possible policy review statuses. + enum PolicyReviewStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Currently under review. + REVIEW_IN_PROGRESS = 2; + + // Primary review complete. Other reviews may be continuing. + REVIEWED = 3; + + // The resource has been resubmitted for approval or its policy decision has + // been appealed. + UNDER_APPEAL = 4; + + // The resource is eligible and may be serving but could still undergo + // further review. + ELIGIBLE_MAY_SERVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_entry_type.proto new file mode 100644 index 00000000..c24795a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_entry_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing policy topic entry types. + +// Container for enum describing possible policy topic entry types. +message PolicyTopicEntryTypeEnum { + // The possible policy topic entry types. + enum PolicyTopicEntryType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The resource will not be served. + PROHIBITED = 2; + + // The resource will not be served under some circumstances. + LIMITED = 4; + + // The resource cannot serve at all because of the current targeting + // criteria. + FULLY_LIMITED = 8; + + // May be of interest, but does not limit how the resource is served. + DESCRIPTIVE = 5; + + // Could increase coverage beyond normal. + BROADENING = 6; + + // Constrained for all targeted countries, but may serve in other countries + // through area of interest. + AREA_OF_INTEREST_ONLY = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 00000000..285a1b2a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing policy topic evidence destination mismatch url types. + +// Container for enum describing possible policy topic evidence destination +// mismatch url types. +message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { + // The possible policy topic evidence destination mismatch url types. + enum PolicyTopicEvidenceDestinationMismatchUrlType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The display url. + DISPLAY_URL = 2; + + // The final url. + FINAL_URL = 3; + + // The final mobile url. + FINAL_MOBILE_URL = 4; + + // The tracking url template, with substituted desktop url. + TRACKING_URL = 5; + + // The tracking url template, with substituted mobile url. + MOBILE_TRACKING_URL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 00000000..f10bdb10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_device.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing device of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working devices. +message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { + // The possible policy topic evidence destination not working devices. + enum PolicyTopicEvidenceDestinationNotWorkingDevice { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Landing page doesn't work on desktop device. + DESKTOP = 2; + + // Landing page doesn't work on Android device. + ANDROID = 3; + + // Landing page doesn't work on iOS device. + IOS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 00000000..49f9f1d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing DNS error types of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working DNS error types. +message PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum { + // The possible policy topic evidence destination not working DNS error types. + enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Host name not found in DNS when fetching landing page. + HOSTNAME_NOT_FOUND = 2; + + // Google internal crawler issue when communicating with DNS. This error + // doesn't mean the landing page doesn't work. Google will recrawl the + // landing page. + GOOGLE_CRAWLER_DNS_ISSUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/positive_geo_target_type.proto new file mode 100644 index 00000000..810eac1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/positive_geo_target_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing positive geo target types. + +// Container for enum describing possible positive geo target types. +message PositiveGeoTargetTypeEnum { + // The possible positive geo target types. + enum PositiveGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that an ad is triggered if the user is in, + // or shows interest in, advertiser's targeted locations. + PRESENCE_OR_INTEREST = 5; + + // Specifies that an ad is triggered if the user + // searches for advertiser's targeted locations. + // This can only be used with Search and standard + // Shopping campaigns. + SEARCH_INTEREST = 6; + + // Specifies that an ad is triggered if the user is in + // or regularly in advertiser's targeted locations. + PRESENCE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/preferred_content_type.proto new file mode 100644 index 00000000..077f015f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/preferred_content_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PreferredContentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing preferred content criterion type. + +// Container for enumeration of preferred content criterion type. +message PreferredContentTypeEnum { + // Enumerates preferred content criterion type. + enum PreferredContentType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Represents top content on YouTube. + YOUTUBE_TOP_CONTENT = 400; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_qualifier.proto new file mode 100644 index 00000000..82b384be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_qualifier.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing price extension price qualifier type. + +// Container for enum describing a price extension price qualifier. +message PriceExtensionPriceQualifierEnum { + // Enums of price extension price qualifier. + enum PriceExtensionPriceQualifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'From' qualifier for the price. + FROM = 2; + + // 'Up to' qualifier for the price. + UP_TO = 3; + + // 'Average' qualifier for the price. + AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_unit.proto new file mode 100644 index 00000000..a6001446 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_price_unit.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing price extension price unit. + +// Container for enum describing price extension price unit. +message PriceExtensionPriceUnitEnum { + // Price extension price unit. + enum PriceExtensionPriceUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per hour. + PER_HOUR = 2; + + // Per day. + PER_DAY = 3; + + // Per week. + PER_WEEK = 4; + + // Per month. + PER_MONTH = 5; + + // Per year. + PER_YEAR = 6; + + // Per night. + PER_NIGHT = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_type.proto new file mode 100644 index 00000000..d935652e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/price_extension_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing price extension type. + +// Container for enum describing types for a price extension. +message PriceExtensionTypeEnum { + // Price extension type. + enum PriceExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The type for showing a list of brands. + BRANDS = 2; + + // The type for showing a list of events. + EVENTS = 3; + + // The type for showing locations relevant to your business. + LOCATIONS = 4; + + // The type for showing sub-regions or districts within a city or region. + NEIGHBORHOODS = 5; + + // The type for showing a collection of product categories. + PRODUCT_CATEGORIES = 6; + + // The type for showing a collection of related product tiers. + PRODUCT_TIERS = 7; + + // The type for showing a collection of services offered by your business. + SERVICES = 8; + + // The type for showing a collection of service categories. + SERVICE_CATEGORIES = 9; + + // The type for showing a collection of related service tiers. + SERVICE_TIERS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/price_placeholder_field.proto new file mode 100644 index 00000000..42204ed6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/price_placeholder_field.proto @@ -0,0 +1,246 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Price placeholder fields. + +// Values for Price placeholder fields. +message PricePlaceholderFieldEnum { + // Possible values for Price placeholder fields. + enum PricePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The type of your price feed. Must match one of the + // predefined price feed type exactly. + TYPE = 2; + + // Data Type: STRING. The qualifier of each price. Must match one of the + // predefined price qualifiers exactly. + PRICE_QUALIFIER = 3; + + // Data Type: URL. Tracking template for the price feed when using Upgraded + // URLs. + TRACKING_TEMPLATE = 4; + + // Data Type: STRING. Language of the price feed. Must match one of the + // available available locale codes exactly. + LANGUAGE = 5; + + // Data Type: STRING. Final URL suffix for the price feed when using + // parallel tracking. + FINAL_URL_SUFFIX = 6; + + // Data Type: STRING. The header of item 1 of the table. + ITEM_1_HEADER = 100; + + // Data Type: STRING. The description of item 1 of the table. + ITEM_1_DESCRIPTION = 101; + + // Data Type: MONEY. The price (money with currency) of item 1 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_1_PRICE = 102; + + // Data Type: STRING. The price unit of item 1 of the table. Must match one + // of the predefined price units. + ITEM_1_UNIT = 103; + + // Data Type: URL_LIST. The final URLs of item 1 of the table when using + // Upgraded URLs. + ITEM_1_FINAL_URLS = 104; + + // Data Type: URL_LIST. The final mobile URLs of item 1 of the table when + // using Upgraded URLs. + ITEM_1_FINAL_MOBILE_URLS = 105; + + // Data Type: STRING. The header of item 2 of the table. + ITEM_2_HEADER = 200; + + // Data Type: STRING. The description of item 2 of the table. + ITEM_2_DESCRIPTION = 201; + + // Data Type: MONEY. The price (money with currency) of item 2 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_2_PRICE = 202; + + // Data Type: STRING. The price unit of item 2 of the table. Must match one + // of the predefined price units. + ITEM_2_UNIT = 203; + + // Data Type: URL_LIST. The final URLs of item 2 of the table when using + // Upgraded URLs. + ITEM_2_FINAL_URLS = 204; + + // Data Type: URL_LIST. The final mobile URLs of item 2 of the table when + // using Upgraded URLs. + ITEM_2_FINAL_MOBILE_URLS = 205; + + // Data Type: STRING. The header of item 3 of the table. + ITEM_3_HEADER = 300; + + // Data Type: STRING. The description of item 3 of the table. + ITEM_3_DESCRIPTION = 301; + + // Data Type: MONEY. The price (money with currency) of item 3 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_3_PRICE = 302; + + // Data Type: STRING. The price unit of item 3 of the table. Must match one + // of the predefined price units. + ITEM_3_UNIT = 303; + + // Data Type: URL_LIST. The final URLs of item 3 of the table when using + // Upgraded URLs. + ITEM_3_FINAL_URLS = 304; + + // Data Type: URL_LIST. The final mobile URLs of item 3 of the table when + // using Upgraded URLs. + ITEM_3_FINAL_MOBILE_URLS = 305; + + // Data Type: STRING. The header of item 4 of the table. + ITEM_4_HEADER = 400; + + // Data Type: STRING. The description of item 4 of the table. + ITEM_4_DESCRIPTION = 401; + + // Data Type: MONEY. The price (money with currency) of item 4 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_4_PRICE = 402; + + // Data Type: STRING. The price unit of item 4 of the table. Must match one + // of the predefined price units. + ITEM_4_UNIT = 403; + + // Data Type: URL_LIST. The final URLs of item 4 of the table when using + // Upgraded URLs. + ITEM_4_FINAL_URLS = 404; + + // Data Type: URL_LIST. The final mobile URLs of item 4 of the table when + // using Upgraded URLs. + ITEM_4_FINAL_MOBILE_URLS = 405; + + // Data Type: STRING. The header of item 5 of the table. + ITEM_5_HEADER = 500; + + // Data Type: STRING. The description of item 5 of the table. + ITEM_5_DESCRIPTION = 501; + + // Data Type: MONEY. The price (money with currency) of item 5 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_5_PRICE = 502; + + // Data Type: STRING. The price unit of item 5 of the table. Must match one + // of the predefined price units. + ITEM_5_UNIT = 503; + + // Data Type: URL_LIST. The final URLs of item 5 of the table when using + // Upgraded URLs. + ITEM_5_FINAL_URLS = 504; + + // Data Type: URL_LIST. The final mobile URLs of item 5 of the table when + // using Upgraded URLs. + ITEM_5_FINAL_MOBILE_URLS = 505; + + // Data Type: STRING. The header of item 6 of the table. + ITEM_6_HEADER = 600; + + // Data Type: STRING. The description of item 6 of the table. + ITEM_6_DESCRIPTION = 601; + + // Data Type: MONEY. The price (money with currency) of item 6 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_6_PRICE = 602; + + // Data Type: STRING. The price unit of item 6 of the table. Must match one + // of the predefined price units. + ITEM_6_UNIT = 603; + + // Data Type: URL_LIST. The final URLs of item 6 of the table when using + // Upgraded URLs. + ITEM_6_FINAL_URLS = 604; + + // Data Type: URL_LIST. The final mobile URLs of item 6 of the table when + // using Upgraded URLs. + ITEM_6_FINAL_MOBILE_URLS = 605; + + // Data Type: STRING. The header of item 7 of the table. + ITEM_7_HEADER = 700; + + // Data Type: STRING. The description of item 7 of the table. + ITEM_7_DESCRIPTION = 701; + + // Data Type: MONEY. The price (money with currency) of item 7 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_7_PRICE = 702; + + // Data Type: STRING. The price unit of item 7 of the table. Must match one + // of the predefined price units. + ITEM_7_UNIT = 703; + + // Data Type: URL_LIST. The final URLs of item 7 of the table when using + // Upgraded URLs. + ITEM_7_FINAL_URLS = 704; + + // Data Type: URL_LIST. The final mobile URLs of item 7 of the table when + // using Upgraded URLs. + ITEM_7_FINAL_MOBILE_URLS = 705; + + // Data Type: STRING. The header of item 8 of the table. + ITEM_8_HEADER = 800; + + // Data Type: STRING. The description of item 8 of the table. + ITEM_8_DESCRIPTION = 801; + + // Data Type: MONEY. The price (money with currency) of item 8 of the table, + // for example, 30 USD. The currency must match one of the available + // currencies. + ITEM_8_PRICE = 802; + + // Data Type: STRING. The price unit of item 8 of the table. Must match one + // of the predefined price units. + ITEM_8_UNIT = 803; + + // Data Type: URL_LIST. The final URLs of item 8 of the table when using + // Upgraded URLs. + ITEM_8_FINAL_URLS = 804; + + // Data Type: URL_LIST. The final mobile URLs of item 8 of the table when + // using Upgraded URLs. + ITEM_8_FINAL_MOBILE_URLS = 805; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_level.proto new file mode 100644 index 00000000..64c94782 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_status.proto new file mode 100644 index 00000000..ef621f9b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_bidding_category_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v11/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_channel.proto new file mode 100644 index 00000000..fa9a24b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_channel_exclusivity.proto new file mode 100644 index 00000000..4d2f7c54 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_channel_exclusivity.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_condition.proto new file mode 100644 index 00000000..29567f77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing bidding schemes. + +// Condition of a product offer. +message ProductConditionEnum { + // Enum describing the condition of a product offer. + enum ProductCondition { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The product condition is new. + NEW = 3; + + // The product condition is refurbished. + REFURBISHED = 4; + + // The product condition is used. + USED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/product_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_custom_attribute_index.proto new file mode 100644 index 00000000..ec854eda --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_custom_attribute_index.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing product custom attributes. + +// Container for enum describing the index of the product custom attribute. +message ProductCustomAttributeIndexEnum { + // The index of the product custom attribute. + enum ProductCustomAttributeIndex { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // First product custom attribute. + INDEX0 = 7; + + // Second product custom attribute. + INDEX1 = 8; + + // Third product custom attribute. + INDEX2 = 9; + + // Fourth product custom attribute. + INDEX3 = 10; + + // Fifth product custom attribute. + INDEX4 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v11/enums/product_type_level.proto new file mode 100644 index 00000000..785275ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing bidding schemes. + +// Level of the type of a product offer. +message ProductTypeLevelEnum { + // Enum describing the level of the type of a product offer. + enum ProductTypeLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 7; + + // Level 2. + LEVEL2 = 8; + + // Level 3. + LEVEL3 = 9; + + // Level 4. + LEVEL4 = 10; + + // Level 5. + LEVEL5 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 00000000..fd486228 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing promotion extension discount modifier. + +// Container for enum describing possible a promotion extension +// discount modifier. +message PromotionExtensionDiscountModifierEnum { + // A promotion extension discount modifier. + enum PromotionExtensionDiscountModifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'Up to'. + UP_TO = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_occasion.proto new file mode 100644 index 00000000..f87029c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_extension_occasion.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing promotion extension occasion. + +// Container for enum describing a promotion extension occasion. +// For more information about the occasions check: +// https://support.google.com/google-ads/answer/7367521 +message PromotionExtensionOccasionEnum { + // A promotion extension occasion. + enum PromotionExtensionOccasion { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // New Year's. + NEW_YEARS = 2; + + // Chinese New Year. + CHINESE_NEW_YEAR = 3; + + // Valentine's Day. + VALENTINES_DAY = 4; + + // Easter. + EASTER = 5; + + // Mother's Day. + MOTHERS_DAY = 6; + + // Father's Day. + FATHERS_DAY = 7; + + // Labor Day. + LABOR_DAY = 8; + + // Back To School. + BACK_TO_SCHOOL = 9; + + // Halloween. + HALLOWEEN = 10; + + // Black Friday. + BLACK_FRIDAY = 11; + + // Cyber Monday. + CYBER_MONDAY = 12; + + // Christmas. + CHRISTMAS = 13; + + // Boxing Day. + BOXING_DAY = 14; + + // Independence Day in any country. + INDEPENDENCE_DAY = 15; + + // National Day in any country. + NATIONAL_DAY = 16; + + // End of any season. + END_OF_SEASON = 17; + + // Winter Sale. + WINTER_SALE = 18; + + // Summer sale. + SUMMER_SALE = 19; + + // Fall Sale. + FALL_SALE = 20; + + // Spring Sale. + SPRING_SALE = 21; + + // Ramadan. + RAMADAN = 22; + + // Eid al-Fitr. + EID_AL_FITR = 23; + + // Eid al-Adha. + EID_AL_ADHA = 24; + + // Singles Day. + SINGLES_DAY = 25; + + // Women's Day. + WOMENS_DAY = 26; + + // Holi. + HOLI = 27; + + // Parent's Day. + PARENTS_DAY = 28; + + // St. Nicholas Day. + ST_NICHOLAS_DAY = 29; + + // Carnival. + CARNIVAL = 30; + + // Epiphany, also known as Three Kings' Day. + EPIPHANY = 31; + + // Rosh Hashanah. + ROSH_HASHANAH = 32; + + // Passover. + PASSOVER = 33; + + // Hanukkah. + HANUKKAH = 34; + + // Diwali. + DIWALI = 35; + + // Navratri. + NAVRATRI = 36; + + // Available in Thai: Songkran. + SONGKRAN = 37; + + // Available in Japanese: Year-end Gift. + YEAR_END_GIFT = 38; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_placeholder_field.proto new file mode 100644 index 00000000..5ef8e52e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/promotion_placeholder_field.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Promotion placeholder fields. + +// Values for Promotion placeholder fields. +message PromotionPlaceholderFieldEnum { + // Possible values for Promotion placeholder fields. + enum PromotionPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The text that appears on the ad when the extension is + // shown. + PROMOTION_TARGET = 2; + + // Data Type: STRING. Lets you add "up to" phrase to the promotion, + // in case you have variable promotion rates. + DISCOUNT_MODIFIER = 3; + + // Data Type: INT64. Takes a value in micros, where 1 million micros + // represents 1%, and is shown as a percentage when rendered. + PERCENT_OFF = 4; + + // Data Type: MONEY. Requires a currency and an amount of money. + MONEY_AMOUNT_OFF = 5; + + // Data Type: STRING. A string that the user enters to get the discount. + PROMOTION_CODE = 6; + + // Data Type: MONEY. A minimum spend before the user qualifies for the + // promotion. + ORDERS_OVER_AMOUNT = 7; + + // Data Type: DATE. The start date of the promotion. + PROMOTION_START = 8; + + // Data Type: DATE. The end date of the promotion. + PROMOTION_END = 9; + + // Data Type: STRING. Describes the associated event for the promotion using + // one of the PromotionExtensionOccasion enum values, for example NEW_YEARS. + OCCASION = 10; + + // Data Type: URL_LIST. Final URLs to be used in the ad when using Upgraded + // URLs. + FINAL_URLS = 11; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 12; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 13; + + // Data Type: STRING. A string represented by a language code for the + // promotion. + LANGUAGE = 14; + + // Data Type: STRING. Final URL suffix for the ad when using parallel + // tracking. + FINAL_URL_SUFFIX = 15; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v11/enums/proximity_radius_units.proto new file mode 100644 index 00000000..6cd50a44 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/proximity_radius_units.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing proximity radius units. + +// Container for enum describing unit of radius in proximity. +message ProximityRadiusUnitsEnum { + // The unit of radius distance in proximity (for example, MILES) + enum ProximityRadiusUnits { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Miles + MILES = 2; + + // Kilometers + KILOMETERS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v11/enums/quality_score_bucket.proto new file mode 100644 index 00000000..e2f3554d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/quality_score_bucket.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing quality score buckets. + +// The relative performance compared to other advertisers. +message QualityScoreBucketEnum { + // Enum listing the possible quality score buckets. + enum QualityScoreBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Quality of the creative is below average. + BELOW_AVERAGE = 2; + + // Quality of the creative is average. + AVERAGE = 3; + + // Quality of the creative is above average. + ABOVE_AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_ad_length.proto b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_ad_length.proto new file mode 100644 index 00000000..03b9e185 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_ad_length.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAdLengthProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing ad lengths of a plannable video ad. + +// Message describing length of a plannable video ad. +message ReachPlanAdLengthEnum { + // Possible ad length values. + enum ReachPlanAdLength { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // 6 seconds long ad. + SIX_SECONDS = 2; + + // 15 or 20 seconds long ad. + FIFTEEN_OR_TWENTY_SECONDS = 3; + + // More than 20 seconds long ad. + TWENTY_SECONDS_OR_MORE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_age_range.proto b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_age_range.proto new file mode 100644 index 00000000..dba2d4dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_age_range.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing a plannable age range. + +// Message describing plannable age ranges. +message ReachPlanAgeRangeEnum { + // Possible plannable age range values. + enum ReachPlanAgeRange { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 18 and 34 years old. + AGE_RANGE_18_34 = 2; + + // Between 18 and 44 years old. + AGE_RANGE_18_44 = 3; + + // Between 18 and 49 years old. + AGE_RANGE_18_49 = 4; + + // Between 18 and 54 years old. + AGE_RANGE_18_54 = 5; + + // Between 18 and 64 years old. + AGE_RANGE_18_64 = 6; + + // Between 18 and 65+ years old. + AGE_RANGE_18_65_UP = 7; + + // Between 21 and 34 years old. + AGE_RANGE_21_34 = 8; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 25 and 44 years old. + AGE_RANGE_25_44 = 9; + + // Between 25 and 49 years old. + AGE_RANGE_25_49 = 10; + + // Between 25 and 54 years old. + AGE_RANGE_25_54 = 11; + + // Between 25 and 64 years old. + AGE_RANGE_25_64 = 12; + + // Between 25 and 65+ years old. + AGE_RANGE_25_65_UP = 13; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 35 and 49 years old. + AGE_RANGE_35_49 = 14; + + // Between 35 and 54 years old. + AGE_RANGE_35_54 = 15; + + // Between 35 and 64 years old. + AGE_RANGE_35_64 = 16; + + // Between 35 and 65+ years old. + AGE_RANGE_35_65_UP = 17; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 45 and 64 years old. + AGE_RANGE_45_64 = 18; + + // Between 45 and 65+ years old. + AGE_RANGE_45_65_UP = 19; + + // Between 50 and 65+ years old. + AGE_RANGE_50_65_UP = 20; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // Between 55 and 65+ years old. + AGE_RANGE_55_65_UP = 21; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_network.proto b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_network.proto new file mode 100644 index 00000000..349201c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/reach_plan_network.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing a plannable network. + +// Container for enum describing plannable networks. +message ReachPlanNetworkEnum { + // Possible plannable network values. + enum ReachPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // YouTube network. + YOUTUBE = 2; + + // Google Video Partners (GVP) network. + GOOGLE_VIDEO_PARTNERS = 3; + + // A combination of the YouTube network and the Google Video Partners + // network. + YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/real_estate_placeholder_field.proto new file mode 100644 index 00000000..c305a868 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/real_estate_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Real Estate placeholder fields. + +// Values for Real Estate placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message RealEstatePlaceholderFieldEnum { + // Possible values for Real Estate placeholder fields. + enum RealEstatePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Unique ID. + LISTING_ID = 2; + + // Data Type: STRING. Main headline with listing name to be shown in dynamic + // ad. + LISTING_NAME = 3; + + // Data Type: STRING. City name to be shown in dynamic ad. + CITY_NAME = 4; + + // Data Type: STRING. Description of listing to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete listing address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 9; + + // Data Type: STRING. Type of property (house, condo, apartment, etc.) used + // to group like items together for recommendation engine. + PROPERTY_TYPE = 10; + + // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) + // used to group like items together for recommendation engine. + LISTING_TYPE = 11; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 12; + + // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded + // URLs; the more specific the better (for example, the individual URL of a + // specific listing and its location). + FINAL_URLS = 13; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 14; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 15; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 16; + + // Data Type: STRING_LIST. List of recommended listing IDs to show together + // with this item. + SIMILAR_LISTING_IDS = 17; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 18; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/recommendation_type.proto new file mode 100644 index 00000000..955cf270 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/recommendation_type.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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 add callout extensions to a campaign. + CALLOUT_EXTENSION = 11; + + // Recommendation to add sitelink extensions to a campaign. + SITELINK_EXTENSION = 12; + + // Recommendation to add call extensions to a campaign. + CALL_EXTENSION = 13; + + // 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 expand keywords to broad match 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/resource_change_operation.proto b/google-cloud/protos/google/ads/googleads/v11/enums/resource_change_operation.proto new file mode 100644 index 00000000..a1726407 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/resource_change_operation.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the resource change operations in change event. + +// Container for enum describing resource change operations +// in the ChangeEvent resource. +message ResourceChangeOperationEnum { + // The operation on the changed resource in change_event resource. + enum ResourceChangeOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + CREATE = 2; + + // The resource was modified. + UPDATE = 3; + + // The resource was removed. + REMOVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/resource_limit_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/resource_limit_type.proto new file mode 100644 index 00000000..48dc770f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/resource_limit_type.proto @@ -0,0 +1,461 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing possible resource limit types. +message ResourceLimitTypeEnum { + // Resource limit type. + enum ResourceLimitType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // Number of ENABLED and PAUSED campaigns per customer. + CAMPAIGNS_PER_CUSTOMER = 2; + + // Number of ENABLED and PAUSED base campaigns per customer. + BASE_CAMPAIGNS_PER_CUSTOMER = 3; + + // Number of ENABLED and PAUSED experiment campaigns per customer. + EXPERIMENT_CAMPAIGNS_PER_CUSTOMER = 105; + + // Number of ENABLED and PAUSED Hotel campaigns per customer. + HOTEL_CAMPAIGNS_PER_CUSTOMER = 4; + + // Number of ENABLED and PAUSED Smart Shopping campaigns per customer. + SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER = 5; + + // Number of ENABLED ad groups per campaign. + AD_GROUPS_PER_CAMPAIGN = 6; + + // Number of ENABLED ad groups per Shopping campaign. + AD_GROUPS_PER_SHOPPING_CAMPAIGN = 8; + + // Number of ENABLED ad groups per Hotel campaign. + AD_GROUPS_PER_HOTEL_CAMPAIGN = 9; + + // Number of ENABLED reporting ad groups per local campaign. + REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN = 10; + + // Number of ENABLED reporting ad groups per App campaign. It includes app + // campaign and app campaign for engagement. + REPORTING_AD_GROUPS_PER_APP_CAMPAIGN = 11; + + // Number of ENABLED managed ad groups per smart campaign. + MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN = 52; + + // Number of ENABLED ad group criteria per customer. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED + // 3. its campaign is not REMOVED. + AD_GROUP_CRITERIA_PER_CUSTOMER = 12; + + // Number of ad group criteria across all base campaigns for a customer. + BASE_AD_GROUP_CRITERIA_PER_CUSTOMER = 13; + + // Number of ad group criteria across all experiment campaigns for a + // customer. + EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER = 107; + + // Number of ENABLED ad group criteria per campaign. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED. + AD_GROUP_CRITERIA_PER_CAMPAIGN = 14; + + // Number of ENABLED campaign criteria per customer. + CAMPAIGN_CRITERIA_PER_CUSTOMER = 15; + + // Number of ENABLED campaign criteria across all base campaigns for a + // customer. + BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER = 16; + + // Number of ENABLED campaign criteria across all experiment campaigns for a + // customer. + EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER = 108; + + // Number of ENABLED webpage criteria per customer, including + // campaign level and ad group level. + WEBPAGE_CRITERIA_PER_CUSTOMER = 17; + + // Number of ENABLED webpage criteria across all base campaigns for + // a customer. + BASE_WEBPAGE_CRITERIA_PER_CUSTOMER = 18; + + // Meximum number of ENABLED webpage criteria across all experiment + // campaigns for a customer. + EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER = 19; + + // Number of combined audience criteria per ad group. + COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP = 20; + + // Limit for placement criterion type group in customer negative criterion. + CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER = 21; + + // Limit for YouTube TV channels in customer negative criterion. + CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER = 22; + + // Number of ENABLED criteria per ad group. + CRITERIA_PER_AD_GROUP = 23; + + // Number of listing group criteria per ad group. + LISTING_GROUPS_PER_AD_GROUP = 24; + + // Number of ENABLED explicitly shared budgets per customer. + EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 25; + + // Number of ENABLED implicitly shared budgets per customer. + IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 26; + + // Number of combined audience criteria per campaign. + COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN = 27; + + // Number of negative keywords per campaign. + NEGATIVE_KEYWORDS_PER_CAMPAIGN = 28; + + // Number of excluded campaign criteria in placement dimension, for example, + // placement, mobile application, YouTube channel, etc. The API criterion + // type is NOT limited to placement only, and this does not include + // exclusions at the ad group or other levels. + NEGATIVE_PLACEMENTS_PER_CAMPAIGN = 29; + + // Number of geo targets per campaign. + GEO_TARGETS_PER_CAMPAIGN = 30; + + // Number of negative IP blocks per campaign. + NEGATIVE_IP_BLOCKS_PER_CAMPAIGN = 32; + + // Number of proximity targets per campaign. + PROXIMITIES_PER_CAMPAIGN = 33; + + // Number of listing scopes per Shopping campaign. + LISTING_SCOPES_PER_SHOPPING_CAMPAIGN = 34; + + // Number of listing scopes per non-Shopping campaign. + LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN = 35; + + // Number of criteria per negative keyword shared set. + NEGATIVE_KEYWORDS_PER_SHARED_SET = 36; + + // Number of criteria per negative placement shared set. + NEGATIVE_PLACEMENTS_PER_SHARED_SET = 37; + + // Default number of shared sets allowed per type per customer. + SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT = 40; + + // Number of shared sets of negative placement list type for a + // manager customer. + SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER = 41; + + // Number of hotel_advance_booking_window bid modifiers per ad group. + HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP = 44; + + // Number of ENABLED shared bidding strategies per customer. + BIDDING_STRATEGIES_PER_CUSTOMER = 45; + + // Number of open basic user lists per customer. + BASIC_USER_LISTS_PER_CUSTOMER = 47; + + // Number of open logical user lists per customer. + LOGICAL_USER_LISTS_PER_CUSTOMER = 48; + + // Number of open rule based user lists per customer. + RULE_BASED_USER_LISTS_PER_CUSTOMER = 153; + + // Number of ENABLED and PAUSED ad group ads across all base campaigns for a + // customer. + BASE_AD_GROUP_ADS_PER_CUSTOMER = 53; + + // Number of ENABLED and PAUSED ad group ads across all experiment campaigns + // for a customer. + EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER = 54; + + // Number of ENABLED and PAUSED ad group ads per campaign. + AD_GROUP_ADS_PER_CAMPAIGN = 55; + + // Number of ENABLED ads per ad group that do not fall in to other buckets. + // Includes text and many other types. + TEXT_AND_OTHER_ADS_PER_AD_GROUP = 56; + + // Number of ENABLED image ads per ad group. + IMAGE_ADS_PER_AD_GROUP = 57; + + // Number of ENABLED shopping smart ads per ad group. + SHOPPING_SMART_ADS_PER_AD_GROUP = 58; + + // Number of ENABLED responsive search ads per ad group. + RESPONSIVE_SEARCH_ADS_PER_AD_GROUP = 59; + + // Number of ENABLED app ads per ad group. + APP_ADS_PER_AD_GROUP = 60; + + // Number of ENABLED app engagement ads per ad group. + APP_ENGAGEMENT_ADS_PER_AD_GROUP = 61; + + // Number of ENABLED local ads per ad group. + LOCAL_ADS_PER_AD_GROUP = 62; + + // Number of ENABLED video ads per ad group. + VIDEO_ADS_PER_AD_GROUP = 63; + + // Number of ENABLED lead form CampaignAssets per campaign. + LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN = 143; + + // Number of ENABLED promotion CustomerAssets per customer. + PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER = 79; + + // Number of ENABLED promotion CampaignAssets per campaign. + PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN = 80; + + // Number of ENABLED promotion AdGroupAssets per ad group. + PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP = 81; + + // Number of ENABLED callout CustomerAssets per customer. + CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER = 134; + + // Number of ENABLED callout CampaignAssets per campaign. + CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN = 135; + + // Number of ENABLED callout AdGroupAssets per ad group. + CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP = 136; + + // Number of ENABLED sitelink CustomerAssets per customer. + SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER = 137; + + // Number of ENABLED sitelink CampaignAssets per campaign. + SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN = 138; + + // Number of ENABLED sitelink AdGroupAssets per ad group. + SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP = 139; + + // Number of ENABLED structured snippet CustomerAssets per customer. + STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER = 140; + + // Number of ENABLED structured snippet CampaignAssets per campaign. + STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN = 141; + + // Number of ENABLED structured snippet AdGroupAssets per ad group. + STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP = 142; + + // Number of ENABLED mobile app CustomerAssets per customer. + MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER = 144; + + // Number of ENABLED mobile app CampaignAssets per campaign. + MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN = 145; + + // Number of ENABLED mobile app AdGroupAssets per ad group. + MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP = 146; + + // Number of ENABLED hotel callout CustomerAssets per customer. + HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER = 147; + + // Number of ENABLED hotel callout CampaignAssets per campaign. + HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN = 148; + + // Number of ENABLED hotel callout AdGroupAssets per ad group. + HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP = 149; + + // Number of ENABLED call CustomerAssets per customer. + CALL_CUSTOMER_ASSETS_PER_CUSTOMER = 150; + + // Number of ENABLED call CampaignAssets per campaign. + CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN = 151; + + // Number of ENABLED call AdGroupAssets per ad group. + CALL_AD_GROUP_ASSETS_PER_AD_GROUP = 152; + + // Number of ENABLED price CustomerAssets per customer. + PRICE_CUSTOMER_ASSETS_PER_CUSTOMER = 154; + + // Number of ENABLED price CampaignAssets per campaign. + PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN = 155; + + // Number of ENABLED price AdGroupAssets per ad group. + PRICE_AD_GROUP_ASSETS_PER_AD_GROUP = 156; + + // Number of ENABLED 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 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/response_content_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/response_content_type.proto new file mode 100644 index 00000000..4c36b147 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/response_content_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the response content types used in mutate operations. + +// Container for possible response content types. +message ResponseContentTypeEnum { + // Possible response content types. + enum ResponseContentType { + // Not specified. Will return the resource name only in the response. + UNSPECIFIED = 0; + + // The mutate response will be the resource name. + RESOURCE_NAME_ONLY = 1; + + // The mutate response will be the resource name and the resource with + // all mutable fields. + MUTABLE_RESOURCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/search_engine_results_page_type.proto new file mode 100644 index 00000000..5e55794d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/search_engine_results_page_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing search engine results page types. + +// The type of the search engine results page. +message SearchEngineResultsPageTypeEnum { + // The type of the search engine results page. + enum SearchEngineResultsPageType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Only ads were contained in the search engine results page. + ADS_ONLY = 2; + + // Only organic results were contained in the search engine results page. + ORGANIC_ONLY = 3; + + // Both ads and organic results were contained in the search engine results + // page. + ADS_AND_ORGANIC = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/search_term_match_type.proto new file mode 100644 index 00000000..4f63826b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/search_term_match_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing search term match types. + +// Container for enum describing match types for a keyword triggering an ad. +message SearchTermMatchTypeEnum { + // Possible match types for a keyword triggering an ad, including variants. + enum SearchTermMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Broad match. + BROAD = 2; + + // Exact match. + EXACT = 3; + + // Phrase match. + PHRASE = 4; + + // Exact match (close variant). + NEAR_EXACT = 5; + + // Phrase match (close variant). + NEAR_PHRASE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/search_term_targeting_status.proto new file mode 100644 index 00000000..a6e0ceed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/search_term_targeting_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing search term targeting statuses. + +// Container for enum indicating whether a search term is one of your targeted +// or excluded keywords. +message SearchTermTargetingStatusEnum { + // Indicates whether the search term is one of your targeted or excluded + // keywords. + enum SearchTermTargetingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search term is added to targeted keywords. + ADDED = 2; + + // Search term matches a negative keyword. + EXCLUDED = 3; + + // Search term has been both added and excluded. + ADDED_EXCLUDED = 4; + + // Search term is neither targeted nor excluded. + NONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_scope.proto b/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_scope.proto new file mode 100644 index 00000000..1d65abca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_scope.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event scopes. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventScopeEnum { + // The possible scopes of a Seasonality Event. + enum SeasonalityEventScope { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is applied to all the customer's traffic for + // supported advertising channel types and device types. The CUSTOMER scope + // cannot be used in mutates. + CUSTOMER = 2; + + // The seasonality event is applied to all specified campaigns. + CAMPAIGN = 4; + + // The seasonality event is applied to all campaigns that belong to + // specified channel types. + CHANNEL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_status.proto new file mode 100644 index 00000000..34a3d0b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/seasonality_event_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event statuses. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventStatusEnum { + // The possible statuses of a Seasonality Event. + enum SeasonalityEventStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is enabled. + ENABLED = 2; + + // The seasonality event is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/served_asset_field_type.proto new file mode 100644 index 00000000..fa72cc06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/served_asset_field_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_status.proto new file mode 100644 index 00000000..9298aadf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing shared set statuses. + +// Container for enum describing types of shared set statuses. +message SharedSetStatusEnum { + // Enum listing the possible shared set statuses. + enum SharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The shared set is enabled. + ENABLED = 2; + + // The shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_type.proto new file mode 100644 index 00000000..6aeb46cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/shared_set_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing shared set types. + +// Container for enum describing types of shared sets. +message SharedSetTypeEnum { + // Enum listing the possible shared set types. + enum SharedSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A set of keywords that can be excluded from targeting. + NEGATIVE_KEYWORDS = 2; + + // A set of placements that can be excluded from targeting. + NEGATIVE_PLACEMENTS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v11/enums/simulation_modification_method.proto new file mode 100644 index 00000000..f3614c7d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/simulation_modification_method.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing simulation modification methods. + +// Container for enum describing the method by which a simulation modifies +// a field. +message SimulationModificationMethodEnum { + // Enum describing the method by which a simulation modifies a field. + enum SimulationModificationMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The values in a simulation were applied to all children of a given + // resource uniformly. Overrides on child resources were not respected. + UNIFORM = 2; + + // The values in a simulation were applied to the given resource. + // Overrides on child resources were respected, and traffic estimates + // do not include these resources. + DEFAULT = 3; + + // The values in a simulation were all scaled by the same factor. + // For example, in a simulated TargetCpa campaign, the campaign target and + // all ad group targets were scaled by a factor of X. + SCALING = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/simulation_type.proto new file mode 100644 index 00000000..5dc793a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/simulation_type.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing simulation types. + +// Container for enum describing the field a simulation modifies. +message SimulationTypeEnum { + // Enum describing the field a simulation modifies. + enum SimulationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The simulation is for a CPC bid. + CPC_BID = 2; + + // The simulation is for a CPV bid. + CPV_BID = 3; + + // The simulation is for a CPA target. + TARGET_CPA = 4; + + // The simulation is for a bid modifier. + BID_MODIFIER = 5; + + // The simulation is for a ROAS target. + TARGET_ROAS = 6; + + // The simulation is for a percent CPC bid. + PERCENT_CPC_BID = 7; + + // The simulation is for an impression share target. + TARGET_IMPRESSION_SHARE = 8; + + // The simulation is for a budget. + BUDGET = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/sitelink_placeholder_field.proto new file mode 100644 index 00000000..576009ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/sitelink_placeholder_field.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Sitelink placeholder fields. + +// Values for Sitelink placeholder fields. +message SitelinkPlaceholderFieldEnum { + // Possible values for Sitelink placeholder fields. + enum SitelinkPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The link text for your sitelink. + TEXT = 2; + + // Data Type: STRING. First line of the sitelink description. + LINE_1 = 3; + + // Data Type: STRING. Second line of the sitelink description. + LINE_2 = 4; + + // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded + // URLs. + FINAL_URLS = 5; + + // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 6; + + // Data Type: URL. Tracking template for the sitelink when using Upgraded + // URLs. + TRACKING_URL = 7; + + // Data Type: STRING. Final URL suffix for sitelink when using parallel + // tracking. + FINAL_URL_SUFFIX = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_ad_event_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 00000000..55c7edc9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_ad_event_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_attribution_credit.proto b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 00000000..61e17f73 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_attribution_credit.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_user_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_user_type.proto new file mode 100644 index 00000000..3d92979f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/sk_ad_network_user_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkUserTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v11/enums/slot.proto new file mode 100644 index 00000000..07a78592 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/slot.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing slots. + +// Container for enumeration of possible positions of the Ad. +message SlotEnum { + // Enumerates possible positions of the Ad. + enum Slot { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google search: Side. + SEARCH_SIDE = 2; + + // Google search: Top. + SEARCH_TOP = 3; + + // Google search: Other. + SEARCH_OTHER = 4; + + // Google Display Network. + CONTENT = 5; + + // Search partners: Top. + SEARCH_PARTNER_TOP = 6; + + // Search partners: Other. + SEARCH_PARTNER_OTHER = 7; + + // Cross-network. + MIXED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/spending_limit_type.proto new file mode 100644 index 00000000..c9e3af18 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/spending_limit_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing SpendingLimit types. + +// Message describing spending limit types. +message SpendingLimitTypeEnum { + // The possible spending limit types used by certain resources as an + // alternative to absolute money values in micros. + enum SpendingLimitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Infinite, indicates unlimited spending power. + INFINITE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 00000000..5a106337 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Structured Snippet placeholder fields. + +// Values for Structured Snippet placeholder fields. +message StructuredSnippetPlaceholderFieldEnum { + // Possible values for Structured Snippet placeholder fields. + enum StructuredSnippetPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The category of snippet of your products/services. + // Must match exactly one of the predefined structured snippets headers. + // For a list, visit + // https://developers.google.com/adwords/api/docs/appendix/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/google-cloud/protos/google/ads/googleads/v11/enums/summary_row_setting.proto b/google-cloud/protos/google/ads/googleads/v11/enums/summary_row_setting.proto new file mode 100644 index 00000000..177a2e8c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/summary_row_setting.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing summary row setting. + +// Indicates summary row setting in request parameter. +message SummaryRowSettingEnum { + // Enum describing return summary row settings. + enum SummaryRowSetting { + // Not specified. + UNSPECIFIED = 0; + + // Represent unknown values of return summary row. + UNKNOWN = 1; + + // Do not return summary row. + NO_SUMMARY_ROW = 2; + + // Return summary row along with results. The summary row will be returned + // in the last batch alone (last batch will contain no results). + SUMMARY_ROW_WITH_RESULTS = 3; + + // Return summary row only and return no results. + SUMMARY_ROW_ONLY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/system_managed_entity_source.proto new file mode 100644 index 00000000..223ef53f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/system_managed_entity_source.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing system managed entity sources. + +// Container for enum describing possible system managed entity sources. +message SystemManagedResourceSourceEnum { + // Enum listing the possible system managed entity sources. + enum SystemManagedResourceSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Generated ad variations experiment ad. + AD_VARIATIONS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 00000000..39d30f10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing TargetCpaOptIn recommendation goals. + +// Container for enum describing goals for TargetCpaOptIn recommendation. +message TargetCpaOptInRecommendationGoalEnum { + // Goal of TargetCpaOptIn recommendation. + enum TargetCpaOptInRecommendationGoal { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Recommendation to set Target CPA to maintain the same cost. + SAME_COST = 2; + + // Recommendation to set Target CPA to maintain the same conversions. + SAME_CONVERSIONS = 3; + + // Recommendation to set Target CPA to maintain the same CPA. + SAME_CPA = 4; + + // Recommendation to set Target CPA to a value that is as close as possible + // to, yet lower than, the actual CPA (computed for past 28 days). + CLOSEST_CPA = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v11/enums/target_impression_share_location.proto new file mode 100644 index 00000000..0188383d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/target_impression_share_location.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing target impression share goal. + +// Container for enum describing where on the first search results page the +// automated bidding system should target impressions for the +// TargetImpressionShare bidding strategy. +message TargetImpressionShareLocationEnum { + // Enum describing possible goals. + enum TargetImpressionShareLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Any location on the web page. + ANYWHERE_ON_PAGE = 2; + + // Top box of ads. + TOP_OF_PAGE = 3; + + // Top slot in the top box of ads. + ABSOLUTE_TOP_OF_PAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v11/enums/targeting_dimension.proto new file mode 100644 index 00000000..54c1a71d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/targeting_dimension.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/time_type.proto new file mode 100644 index 00000000..d611a022 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/time_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing TimeType types. + +// Message describing time types. +message TimeTypeEnum { + // The possible time types used by certain resources as an alternative to + // absolute timestamps. + enum TimeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // As soon as possible. + NOW = 2; + + // An infinite point in the future. + FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_page_format.proto new file mode 100644 index 00000000..ab46fecc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_page_format.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing the format of the web page where the tracking +// tag and snippet will be installed. +message TrackingCodePageFormatEnum { + // The format of the web page where the tracking tag and snippet will be + // installed. + enum TrackingCodePageFormat { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Standard HTML page format. + HTML = 2; + + // Google AMP page format. + AMP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_type.proto new file mode 100644 index 00000000..51e1b73e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/tracking_code_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Container for enum describing the type of the generated tag snippets for +// tracking conversions. +message TrackingCodeTypeEnum { + // The type of the generated tag snippets for tracking conversions. + enum TrackingCodeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The snippet that is fired as a result of a website page loading. + WEBPAGE = 2; + + // The snippet contains a JavaScript function which fires the tag. This + // function is typically called from an onClick handler added to a link or + // button element on the page. + WEBPAGE_ONCLICK = 3; + + // For embedding on a mobile webpage. The snippet contains a JavaScript + // function which fires the tag. + CLICK_TO_CALL = 4; + + // The snippet that is used to replace the phone number on your website with + // a Google forwarding number for call tracking purposes. + WEBSITE_CALL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v11/enums/travel_placeholder_field.proto new file mode 100644 index 00000000..8b769108 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/travel_placeholder_field.proto @@ -0,0 +1,126 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing Travel placeholder fields. + +// Values for Travel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message TravelPlaceholderFieldEnum { + // Possible values for Travel placeholder fields. + enum TravelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Combination of DESTINATION_ID and ORIGIN_ID must be + // unique per offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with name to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. The destination name. Shorter names are recommended. + DESTINATION_NAME = 5; + + // Data Type: STRING. Origin name. Shorter names are recommended. + ORIGIN_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of travel offer used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: STRING. Address of travel offer, including postal code. + DESTINATION_ADDRESS = 14; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using + // Upgraded URLs; the more specific the better (for example, the individual + // URL of a specific travel offer and its location). + FINAL_URL = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_identifier_source.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_identifier_source.proto new file mode 100644 index 00000000..4124de3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_identifier_source.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing user identifier source + +// Container for enum describing the source of the user identifier for offline +// Store Sales, click conversion, and conversion adjustment uploads. +message UserIdentifierSourceEnum { + // The type of user identifier source for offline Store Sales, click + // conversion, and conversion adjustment uploads. + enum UserIdentifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version + UNKNOWN = 1; + + // Indicates that the user identifier was provided by the first party + // (advertiser). + FIRST_PARTY = 2; + + // Indicates that the user identifier was provided by the third party + // (partner). + THIRD_PARTY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_interest_taxonomy_type.proto new file mode 100644 index 00000000..13dfe977 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing the UserInterest taxonomy type + +// Message describing a UserInterestTaxonomyType. +message UserInterestTaxonomyTypeEnum { + // Enum containing the possible UserInterestTaxonomyTypes. + enum UserInterestTaxonomyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The affinity for this user interest. + AFFINITY = 2; + + // The market for this user interest. + IN_MARKET = 3; + + // Users known to have installed applications in the specified categories. + MOBILE_APP_INSTALL_USER = 4; + + // The geographical location of the interest-based vertical. + VERTICAL_GEO = 5; + + // User interest criteria for new smart phone users. + NEW_SMART_PHONE_USER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_access_status.proto new file mode 100644 index 00000000..7d8c7dfc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_access_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing user list access status. + +// Indicates if this client still has access to the list. +message UserListAccessStatusEnum { + // Enum containing possible user list access statuses. + enum UserListAccessStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The access is enabled. + ENABLED = 2; + + // The access is disabled. + DISABLED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_closing_reason.proto new file mode 100644 index 00000000..04c770df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_closing_reason.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing user list closing reason. + +// Indicates the reason why the userlist was closed. +// This enum is only used when a list is auto-closed by the system. +message UserListClosingReasonEnum { + // Enum describing possible user list closing reasons. + enum UserListClosingReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The userlist was closed because of not being used for over one year. + UNUSED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto new file mode 100644 index 00000000..bf8b1808 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCombinedRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Logical operator connecting two rules. +message UserListCombinedRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListCombinedRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A AND NOT B. + AND_NOT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto new file mode 100644 index 00000000..f69f0c52 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Indicates source of Crm upload data. +message UserListCrmDataSourceTypeEnum { + // Enum describing possible user list crm data source type. + enum UserListCrmDataSourceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The uploaded data is first-party data. + FIRST_PARTY = 2; + + // The uploaded data is from a third-party credit bureau. + THIRD_PARTY_CREDIT_BUREAU = 3; + + // The uploaded data is from a third-party voter file. + THIRD_PARTY_VOTER_FILE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 00000000..42fe4a50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_date_rule_item_operator.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Supported rule operator for date type. +message UserListDateRuleItemOperatorEnum { + // Enum describing possible user list date rule item operators. + enum UserListDateRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals. + EQUALS = 2; + + // Not Equals. + NOT_EQUALS = 3; + + // Before. + BEFORE = 4; + + // After. + AFTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto new file mode 100644 index 00000000..ae140eda --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListFlexibleRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Logical operator connecting two rules. +message UserListFlexibleRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListFlexibleRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A OR B. + OR = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto new file mode 100644 index 00000000..05edfaca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// The logical operator of the rule. +message UserListLogicalRuleOperatorEnum { + // Enum describing possible user list logical rule operators. + enum UserListLogicalRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // And - all of the operands. + ALL = 2; + + // Or - at least one of the operands. + ANY = 3; + + // Not - none of the operands. + NONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_membership_status.proto new file mode 100644 index 00000000..297e2d2d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_membership_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing user list membership status. + +// Membership status of this user list. Indicates whether a user list is open +// or active. Only open user lists can accumulate more users and can be used for +// targeting. +message UserListMembershipStatusEnum { + // Enum containing possible user list membership statuses. + enum UserListMembershipStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Open status - List is accruing members and can be targeted to. + OPEN = 2; + + // Closed status - No new members being added. Cannot be used for targeting. + CLOSED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 00000000..31980f6a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_number_rule_item_operator.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Supported rule operator for number type. +message UserListNumberRuleItemOperatorEnum { + // Enum describing possible user list number rule item operators. + enum UserListNumberRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Greater than. + GREATER_THAN = 2; + + // Greater than or equal. + GREATER_THAN_OR_EQUAL = 3; + + // Equals. + EQUALS = 4; + + // Not equals. + NOT_EQUALS = 5; + + // Less than. + LESS_THAN = 6; + + // Less than or equal. + LESS_THAN_OR_EQUAL = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_prepopulation_status.proto new file mode 100644 index 00000000..043711be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_prepopulation_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Indicates status of prepopulation based on the rule. +message UserListPrepopulationStatusEnum { + // Enum describing possible user list prepopulation status. + enum UserListPrepopulationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prepopoulation is being requested. + REQUESTED = 2; + + // Prepopulation is finished. + FINISHED = 3; + + // Prepopulation failed. + FAILED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_rule_type.proto new file mode 100644 index 00000000..fa03eed5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_rule_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Rule based user list rule type. +message UserListRuleTypeEnum { + // Enum describing possible user list rule types. + enum UserListRuleType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conjunctive normal form. + AND_OF_ORS = 2; + + // Disjunctive normal form. + OR_OF_ANDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_size_range.proto new file mode 100644 index 00000000..3e2ed6ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_size_range.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing user list size range. + +// Size range in terms of number of users of a UserList. +message UserListSizeRangeEnum { + // Enum containing possible user list size ranges. + enum UserListSizeRange { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User list has less than 500 users. + LESS_THAN_FIVE_HUNDRED = 2; + + // User list has number of users in range of 500 to 1000. + LESS_THAN_ONE_THOUSAND = 3; + + // User list has number of users in range of 1000 to 10000. + ONE_THOUSAND_TO_TEN_THOUSAND = 4; + + // User list has number of users in range of 10000 to 50000. + TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; + + // User list has number of users in range of 50000 to 100000. + FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; + + // User list has number of users in range of 100000 to 300000. + ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; + + // User list has number of users in range of 300000 to 500000. + THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; + + // User list has number of users in range of 500000 to 1 million. + FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; + + // User list has number of users in range of 1 to 2 millions. + ONE_MILLION_TO_TWO_MILLION = 10; + + // User list has number of users in range of 2 to 3 millions. + TWO_MILLION_TO_THREE_MILLION = 11; + + // User list has number of users in range of 3 to 5 millions. + THREE_MILLION_TO_FIVE_MILLION = 12; + + // User list has number of users in range of 5 to 10 millions. + FIVE_MILLION_TO_TEN_MILLION = 13; + + // User list has number of users in range of 10 to 20 millions. + TEN_MILLION_TO_TWENTY_MILLION = 14; + + // User list has number of users in range of 20 to 30 millions. + TWENTY_MILLION_TO_THIRTY_MILLION = 15; + + // User list has number of users in range of 30 to 50 millions. + THIRTY_MILLION_TO_FIFTY_MILLION = 16; + + // User list has over 50 million users. + OVER_FIFTY_MILLION = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 00000000..12101f74 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Supported rule operator for string type. +message UserListStringRuleItemOperatorEnum { + // Enum describing possible user list string rule item operators. + enum UserListStringRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Contains. + CONTAINS = 2; + + // Equals. + EQUALS = 3; + + // Starts with. + STARTS_WITH = 4; + + // Ends with. + ENDS_WITH = 5; + + // Not equals. + NOT_EQUALS = 6; + + // Not contains. + NOT_CONTAINS = 7; + + // Not starts with. + NOT_STARTS_WITH = 8; + + // Not ends with. + NOT_ENDS_WITH = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_type.proto new file mode 100644 index 00000000..bff521fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/user_list_type.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_device_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_device_type.proto new file mode 100644 index 00000000..a990c8f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_device_type.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule device type. + +// Container for enum describing possible device types used in a conversion +// value rule. +message ValueRuleDeviceTypeEnum { + // Possible device types used in conversion value rule. + enum ValueRuleDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile device. + MOBILE = 2; + + // Desktop device. + DESKTOP = 3; + + // Tablet device. + TABLET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_geo_location_match_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 00000000..ed4c8814 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule geo location match type. + +// Container for enum describing possible geographic location matching types +// used in a conversion value rule. +message ValueRuleGeoLocationMatchTypeEnum { + // Possible geographic location matching types. + enum ValueRuleGeoLocationMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Either Area of Interest or Location of Presence can be used to match. + ANY = 2; + + // Only Location of Presence can be used to match. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_operation.proto b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_operation.proto new file mode 100644 index 00000000..dbe4c9dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_operation.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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule operation. + +// Container for enum describing possible operations for value rules which are +// executed when rules are triggered. +message ValueRuleOperationEnum { + // Possible operations of the action of a conversion value rule. + enum ValueRuleOperation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add provided value to conversion value. + ADD = 2; + + // Multiply conversion value by provided value. + MULTIPLY = 3; + + // Set conversion value to provided value. + SET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_attachment_type.proto b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_attachment_type.proto new file mode 100644 index 00000000..b0454b58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing where the conversion value rule is attached. + +// Container for enum describing where a value rule set is attached. +message ValueRuleSetAttachmentTypeEnum { + // Possible level where a value rule set is attached. + enum ValueRuleSetAttachmentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Attached to the customer. + CUSTOMER = 2; + + // Attached to a campaign. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_dimension.proto b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_dimension.proto new file mode 100644 index 00000000..b3230946 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/value_rule_set_dimension.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing conversion value rule set dimension. + +// Container for enum describing possible dimensions of a conversion value rule +// set. +message ValueRuleSetDimensionEnum { + // Possible dimensions of a conversion value rule set. + enum ValueRuleSetDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dimension for geo location. + GEO_LOCATION = 2; + + // Dimension for device type. + DEVICE = 3; + + // Dimension for audience. + AUDIENCE = 4; + + // This dimension implies the rule will always apply. + NO_CONDITION = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 00000000..f53da226 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing vanity pharma display url modes. + +// The display mode for vanity pharma URLs. +message VanityPharmaDisplayUrlModeEnum { + // Enum describing possible display modes for vanity pharma URLs. + enum VanityPharmaDisplayUrlMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Replace vanity pharma URL with manufacturer website url. + MANUFACTURER_WEBSITE_URL = 2; + + // Replace vanity pharma URL with description of the website. + WEBSITE_DESCRIPTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_text.proto new file mode 100644 index 00000000..755b00fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/vanity_pharma_text.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing vanity pharma texts. + +// The text that will be displayed in display URL of the text ad when website +// description is the selected display mode for vanity pharma URLs. +message VanityPharmaTextEnum { + // Enum describing possible text. + enum VanityPharmaText { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prescription treatment website with website content in English. + PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; + + // Prescription treatment website with website content in Spanish + // (Sitio de tratamientos con receta). + PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; + + // Prescription device website with website content in English. + PRESCRIPTION_DEVICE_WEBSITE_EN = 4; + + // Prescription device website with website content in Spanish (Sitio de + // dispositivos con receta). + PRESCRIPTION_DEVICE_WEBSITE_ES = 5; + + // Medical device website with website content in English. + MEDICAL_DEVICE_WEBSITE_EN = 6; + + // Medical device website with website content in Spanish (Sitio de + // dispositivos médicos). + MEDICAL_DEVICE_WEBSITE_ES = 7; + + // Preventative treatment website with website content in English. + PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; + + // Preventative treatment website with website content in Spanish (Sitio de + // tratamientos preventivos). + PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; + + // Prescription contraception website with website content in English. + PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; + + // Prescription contraception website with website content in Spanish (Sitio + // de anticonceptivos con receta). + PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; + + // Prescription vaccine website with website content in English. + PRESCRIPTION_VACCINE_WEBSITE_EN = 12; + + // Prescription vaccine website with website content in Spanish (Sitio de + // vacunas con receta). + PRESCRIPTION_VACCINE_WEBSITE_ES = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/video_thumbnail.proto b/google-cloud/protos/google/ads/googleads/v11/enums/video_thumbnail.proto new file mode 100644 index 00000000..09a4c367 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/video_thumbnail.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing video thumbnails. + +// Defines the thumbnail to use for In-Display video ads. Note that +// DEFAULT_THUMBNAIL may have been uploaded by the user while thumbnails 1-3 are +// auto-generated from the video. +message VideoThumbnailEnum { + // Enum listing the possible types of a video thumbnail. + enum VideoThumbnail { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The default thumbnail. Can be auto-generated or user-uploaded. + DEFAULT_THUMBNAIL = 2; + + // Thumbnail 1, generated from the video. + THUMBNAIL_1 = 3; + + // Thumbnail 2, generated from the video. + THUMBNAIL_2 = 4; + + // Thumbnail 3, generated from the video. + THUMBNAIL_3 = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operand.proto new file mode 100644 index 00000000..9933ae6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operand.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing webpage condition operand. + +// Container for enum describing webpage condition operand in webpage criterion. +message WebpageConditionOperandEnum { + // The webpage condition operand in webpage criterion. + enum WebpageConditionOperand { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Operand denoting a webpage URL targeting condition. + URL = 2; + + // Operand denoting a webpage category targeting condition. + CATEGORY = 3; + + // Operand denoting a webpage title targeting condition. + PAGE_TITLE = 4; + + // Operand denoting a webpage content targeting condition. + PAGE_CONTENT = 5; + + // Operand denoting a webpage custom label targeting condition. + CUSTOM_LABEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operator.proto new file mode 100644 index 00000000..00c01eab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/enums/webpage_condition_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v11.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V11::Enums"; + +// Proto file describing webpage condition operator. + +// Container for enum describing webpage condition operator in webpage +// criterion. +message WebpageConditionOperatorEnum { + // The webpage condition operator in webpage criterion. + enum WebpageConditionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The argument web condition is equal to the compared web condition. + EQUALS = 2; + + // The argument web condition is part of the compared web condition. + CONTAINS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/errors/BUILD.bazel new file mode 100644 index 00000000..48521f2b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "errors_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v11/common:common_proto", + "//google/ads/googleads/v11/enums:enums_proto", + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "errors_java_proto", + deps = [":errors_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "errors_csharp_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "errors_ruby_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "errors_py_proto", + deps = [":errors_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/access_invitation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/access_invitation_error.proto new file mode 100644 index 00000000..275a71d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/access_invitation_error.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing AccessInvitation errors. + +// Container for enum describing possible AccessInvitation errors. +message AccessInvitationErrorEnum { + // Enum describing possible AccessInvitation errors. + enum AccessInvitationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The email address is invalid for sending an invitation. + INVALID_EMAIL_ADDRESS = 2; + + // Email address already has access to this customer. + EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3; + + // Invalid invitation status for the operation. + INVALID_INVITATION_STATUS = 4; + + // Email address cannot be like abc+foo@google.com. + GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED = 5; + + // Invalid invitation ID. + INVALID_INVITATION_ID = 6; + + // Email address already has a pending invitation. + EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION = 7; + + // Pending invitation limit exceeded for the customer. + PENDING_INVITATIONS_LIMIT_EXCEEDED = 8; + + // Email address doesn't conform to the email domain policy. See + // https://support.google.com/google-ads/answer/2375456 + EMAIL_DOMAIN_POLICY_VIOLATED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/account_budget_proposal_error.proto new file mode 100644 index 00000000..4c5de106 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/account_budget_proposal_error.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing account budget proposal errors. + +// Container for enum describing possible account budget proposal errors. +message AccountBudgetProposalErrorEnum { + // Enum describing possible account budget proposal errors. + enum AccountBudgetProposalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be empty for create/end/remove proposals. + FIELD_MASK_NOT_ALLOWED = 2; + + // The field cannot be set because of the proposal type. + IMMUTABLE_FIELD = 3; + + // The field is required because of the proposal type. + REQUIRED_FIELD_MISSING = 4; + + // Proposals that have been approved cannot be cancelled. + CANNOT_CANCEL_APPROVED_PROPOSAL = 5; + + // Budgets that haven't been approved cannot be removed. + CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; + + // Budgets that are currently running cannot be removed. + CANNOT_REMOVE_RUNNING_BUDGET = 7; + + // Budgets that haven't been approved cannot be truncated. + CANNOT_END_UNAPPROVED_BUDGET = 8; + + // Only budgets that are currently running can be truncated. + CANNOT_END_INACTIVE_BUDGET = 9; + + // All budgets must have names. + BUDGET_NAME_REQUIRED = 10; + + // Expired budgets cannot be edited after a sufficient amount of time has + // passed. + CANNOT_UPDATE_OLD_BUDGET = 11; + + // It is not permissible a propose a new budget that ends in the past. + CANNOT_END_IN_PAST = 12; + + // An expired budget cannot be extended to overlap with the running budget. + CANNOT_EXTEND_END_TIME = 13; + + // A purchase order number is required. + PURCHASE_ORDER_NUMBER_REQUIRED = 14; + + // Budgets that have a pending update cannot be updated. + PENDING_UPDATE_PROPOSAL_EXISTS = 15; + + // Cannot propose more than one budget when the corresponding billing setup + // hasn't been approved. + MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; + + // Cannot update the start time of a budget that has already started. + CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; + + // Cannot update the spending limit of a budget with an amount lower than + // what has already been spent. + SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; + + // Cannot propose a budget update without actually changing any fields. + UPDATE_IS_NO_OP = 19; + + // The end time must come after the start time. + END_TIME_MUST_FOLLOW_START_TIME = 20; + + // The budget's date range must fall within the date range of its billing + // setup. + BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; + + // The user is not authorized to mutate budgets for the given billing setup. + NOT_AUTHORIZED = 22; + + // Mutates are not allowed for the given billing setup. + INVALID_BILLING_SETUP = 23; + + // Budget creation failed as it overlaps with an 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/account_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/account_link_error.proto new file mode 100644 index 00000000..f4236b4c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/account_link_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing AccountLink errors. + +// Container for enum describing possible account link errors. +message AccountLinkErrorEnum { + // Enum describing possible account link errors. + enum AccountLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The new link status is invalid. + INVALID_STATUS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_customizer_error.proto new file mode 100644 index 00000000..fbf91660 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_customizer_error.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad customizer errors. + +// Container for enum describing possible ad customizer errors. +message AdCustomizerErrorEnum { + // Enum describing possible ad customizer errors. + enum AdCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date argument in countdown function. + COUNTDOWN_INVALID_DATE_FORMAT = 2; + + // Countdown end date is in the past. + COUNTDOWN_DATE_IN_PAST = 3; + + // Invalid locale string in countdown function. + COUNTDOWN_INVALID_LOCALE = 4; + + // Days-before argument to countdown function is not positive. + COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; + + // A user list referenced in an IF function does not exist. + UNKNOWN_USER_LIST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_error.proto new file mode 100644 index 00000000..d0d109fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_error.proto @@ -0,0 +1,528 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad errors. + +// Container for enum describing possible ad errors. +message AdErrorEnum { + // Enum describing possible ad errors. + enum AdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ad customizers are not supported for ad type. + AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; + + // Estimating character sizes the string is too long. + APPROXIMATELY_TOO_LONG = 3; + + // Estimating character sizes the string is too short. + APPROXIMATELY_TOO_SHORT = 4; + + // There is a problem with the snippet. + BAD_SNIPPET = 5; + + // Cannot modify an ad. + CANNOT_MODIFY_AD = 6; + + // business name and url cannot be set at the same time + CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; + + // The specified field is incompatible with this ad's type or settings. + CANNOT_SET_FIELD = 8; + + // Cannot set field when originAdId is set. + CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; + + // Cannot set field when an existing ad id is set for sharing. + CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; + + // Cannot set allowFlexibleColor false if no color is provided by user. + CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; + + // When user select native, no color control is allowed because we will + // always respect publisher color for native format serving. + CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; + + // Cannot specify a url for the ad type + CANNOT_SET_URL = 13; + + // Cannot specify a tracking or mobile url without also setting final urls + CANNOT_SET_WITHOUT_FINAL_URLS = 14; + + // Cannot specify a legacy url and a final url simultaneously + CANNOT_SET_WITH_FINAL_URLS = 15; + + // Cannot specify a urls in UrlData and in template fields simultaneously. + CANNOT_SET_WITH_URL_DATA = 17; + + // This operator cannot be used with a subclass of Ad. + CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; + + // Customer is not approved for mobile ads. + CUSTOMER_NOT_APPROVED_MOBILEADS = 19; + + // Customer is not approved for 3PAS richmedia ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; + + // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; + + // Not an eligible customer + CUSTOMER_NOT_ELIGIBLE = 22; + + // Customer is not eligible for updating beacon url + CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; + + // There already exists an ad with the same dimensions in the union. + DIMENSION_ALREADY_IN_UNION = 24; + + // Ad's dimension must be set before setting union dimension. + DIMENSION_MUST_BE_SET = 25; + + // Ad's dimension must be included in the union dimensions. + DIMENSION_NOT_IN_UNION = 26; + + // Display Url cannot be specified (applies to Ad Exchange Ads) + DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; + + // Telephone number contains invalid characters or invalid format. + // Re-enter your number using digits (0-9), dashes (-), and parentheses + // only. + DOMESTIC_PHONE_NUMBER_FORMAT = 28; + + // Emergency telephone numbers are not allowed. Enter a valid + // domestic phone number to connect customers to your business. + EMERGENCY_PHONE_NUMBER = 29; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 30; + + // A feed attribute referenced in an ad customizer tag is not in the ad + // customizer mapping for the feed. + FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID = 31; + + // The ad customizer field mapping for the feed attribute does not match the + // expected field type. + FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH = 32; + + // The use of ad customizer tags in the ad text is disallowed. Details in + // trigger. + ILLEGAL_AD_CUSTOMIZER_TAG_USE = 33; + + // Tags of the form {PH_x}, where x is a number, are disallowed in ad text. + ILLEGAL_TAG_USE = 34; + + // The dimensions of the ad are specified or derived in multiple ways and + // are not consistent. + INCONSISTENT_DIMENSIONS = 35; + + // The status cannot differ among template ads of the same union. + INCONSISTENT_STATUS_IN_TEMPLATE_UNION = 36; + + // The length of the string is not valid. + INCORRECT_LENGTH = 37; + + // The ad is ineligible for upgrade. + INELIGIBLE_FOR_UPGRADE = 38; + + // User cannot create mobile ad for countries targeted in specified + // campaign. + INVALID_AD_ADDRESS_CAMPAIGN_TARGET = 39; + + // Invalid Ad type. A specific type of Ad is required. + INVALID_AD_TYPE = 40; + + // Headline, description or phone cannot be present when creating mobile + // image ad. + INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE = 41; + + // Image cannot be present when creating mobile text ad. + INVALID_ATTRIBUTES_FOR_MOBILE_TEXT = 42; + + // Invalid call to action text. + INVALID_CALL_TO_ACTION_TEXT = 43; + + // Invalid character in URL. + INVALID_CHARACTER_FOR_URL = 44; + + // Creative's country code is not valid. + INVALID_COUNTRY_CODE = 45; + + // Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.) + INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 47; + + // An input error whose real reason was not properly mapped (should not + // happen). + INVALID_INPUT = 48; + + // An invalid markup language was entered. + INVALID_MARKUP_LANGUAGE = 49; + + // An invalid mobile carrier was entered. + INVALID_MOBILE_CARRIER = 50; + + // Specified mobile carriers target a country not targeted by the campaign. + INVALID_MOBILE_CARRIER_TARGET = 51; + + // Wrong number of elements for given element type + INVALID_NUMBER_OF_ELEMENTS = 52; + + // The format of the telephone number is incorrect. Re-enter the + // number using the correct format. + INVALID_PHONE_NUMBER_FORMAT = 53; + + // The certified vendor format id is incorrect. + INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID = 54; + + // The template ad data contains validation errors. + INVALID_TEMPLATE_DATA = 55; + + // The template field doesn't have have the correct type. + INVALID_TEMPLATE_ELEMENT_FIELD_TYPE = 56; + + // Invalid template id. + INVALID_TEMPLATE_ID = 57; + + // After substituting replacement strings, the line is too wide. + LINE_TOO_WIDE = 58; + + // The feed referenced must have ad customizer mapping to be used in a + // customizer tag. + MISSING_AD_CUSTOMIZER_MAPPING = 59; + + // Missing address component in template element address field. + MISSING_ADDRESS_COMPONENT = 60; + + // An ad name must be entered. + MISSING_ADVERTISEMENT_NAME = 61; + + // Business name must be entered. + MISSING_BUSINESS_NAME = 62; + + // Description (line 2) must be entered. + MISSING_DESCRIPTION1 = 63; + + // Description (line 3) must be entered. + MISSING_DESCRIPTION2 = 64; + + // The destination url must contain at least one tag (for example, {lpurl}) + MISSING_DESTINATION_URL_TAG = 65; + + // The tracking url template of ExpandedDynamicSearchAd must contain at + // least one tag. (for example, {lpurl}) + MISSING_LANDING_PAGE_URL_TAG = 66; + + // A valid dimension must be specified for this ad. + MISSING_DIMENSION = 67; + + // A display URL must be entered. + MISSING_DISPLAY_URL = 68; + + // Headline must be entered. + MISSING_HEADLINE = 69; + + // A height must be entered. + MISSING_HEIGHT = 70; + + // An image must be entered. + MISSING_IMAGE = 71; + + // Marketing image or product videos are required. + MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS = 72; + + // The markup language in which your site is written must be entered. + MISSING_MARKUP_LANGUAGES = 73; + + // A mobile carrier must be entered. + MISSING_MOBILE_CARRIER = 74; + + // Phone number must be entered. + MISSING_PHONE = 75; + + // Missing required template fields + MISSING_REQUIRED_TEMPLATE_FIELDS = 76; + + // Missing a required field value + MISSING_TEMPLATE_FIELD_VALUE = 77; + + // The ad must have text. + MISSING_TEXT = 78; + + // A visible URL must be entered. + MISSING_VISIBLE_URL = 79; + + // A width must be entered. + MISSING_WIDTH = 80; + + // Only 1 feed can be used as the source of ad customizer substitutions in a + // single ad. + MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED = 81; + + // TempAdUnionId must be use when adding template ads. + MUST_USE_TEMP_AD_UNION_ID_ON_ADD = 82; + + // The string has too many characters. + TOO_LONG = 83; + + // The string has too few characters. + TOO_SHORT = 84; + + // Ad union dimensions cannot change for saved ads. + UNION_DIMENSIONS_CANNOT_CHANGE = 85; + + // Address component is not {country, lat, lng}. + UNKNOWN_ADDRESS_COMPONENT = 86; + + // Unknown unique field name + UNKNOWN_FIELD_NAME = 87; + + // Unknown unique name (template element type specifier) + UNKNOWN_UNIQUE_NAME = 88; + + // Unsupported ad dimension + UNSUPPORTED_DIMENSIONS = 89; + + // URL starts with an invalid scheme. + URL_INVALID_SCHEME = 90; + + // URL ends with an invalid top-level domain name. + URL_INVALID_TOP_LEVEL_DOMAIN = 91; + + // URL contains illegal characters. + URL_MALFORMED = 92; + + // URL must contain a host name. + URL_NO_HOST = 93; + + // URL not equivalent during upgrade. + URL_NOT_EQUIVALENT = 94; + + // URL host name too long to be stored as visible URL (applies to Ad + // Exchange ads) + URL_HOST_NAME_TOO_LONG = 95; + + // URL must start with a scheme. + URL_NO_SCHEME = 96; + + // URL should end in a valid domain extension, such as .com or .net. + URL_NO_TOP_LEVEL_DOMAIN = 97; + + // URL must not end with a path. + URL_PATH_NOT_ALLOWED = 98; + + // URL must not specify a port. + URL_PORT_NOT_ALLOWED = 99; + + // URL must not contain a query. + URL_QUERY_NOT_ALLOWED = 100; + + // A url scheme is not allowed in front of tag in tracking url template + // (for example, http://{lpurl}) + URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 102; + + // The user does not have permissions to create a template ad for the given + // template. + USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE = 103; + + // Expandable setting is inconsistent/wrong. For example, an AdX ad is + // invalid if it has a expandable vendor format but no expanding directions + // specified, or expanding directions is specified, but the vendor format is + // not expandable. + INCONSISTENT_EXPANDABLE_SETTINGS = 104; + + // Format is invalid + INVALID_FORMAT = 105; + + // The text of this field did not match a pattern of allowed values. + INVALID_FIELD_TEXT = 106; + + // Template element is mising + ELEMENT_NOT_PRESENT = 107; + + // Error occurred during image processing + IMAGE_ERROR = 108; + + // The value is not within the valid range + VALUE_NOT_IN_RANGE = 109; + + // Template element field is not present + FIELD_NOT_PRESENT = 110; + + // Address is incomplete + ADDRESS_NOT_COMPLETE = 111; + + // Invalid address + ADDRESS_INVALID = 112; + + // Error retrieving specified video + VIDEO_RETRIEVAL_ERROR = 113; + + // Error processing audio + AUDIO_ERROR = 114; + + // Display URL is incorrect for YouTube PYV ads + INVALID_YOUTUBE_DISPLAY_URL = 115; + + // Too many product Images in GmailAd + TOO_MANY_PRODUCT_IMAGES = 116; + + // Too many product Videos in GmailAd + TOO_MANY_PRODUCT_VIDEOS = 117; + + // The device preference is not compatible with the ad type + INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE = 118; + + // Call tracking is not supported for specified country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 119; + + // Carrier specific short number is not allowed. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 120; + + // Specified phone number type is disallowed. + DISALLOWED_NUMBER_TYPE = 121; + + // Phone number not supported for country. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 122; + + // Phone number not supported with call tracking enabled for country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 123; + + // Premium rate phone number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 124; + + // Vanity phone number is not allowed. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 125; + + // Invalid call conversion type id. + INVALID_CALL_CONVERSION_TYPE_ID = 126; + + // Cannot disable call conversion and set conversion type id. + CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID = 127; + + // Cannot set path2 without path1. + CANNOT_SET_PATH2_WITHOUT_PATH1 = 128; + + // Missing domain name in campaign setting when adding expanded dynamic + // search ad. + MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME = 129; + + // The associated ad is not compatible with restriction type. + INCOMPATIBLE_WITH_RESTRICTION_TYPE = 130; + + // Consent for call recording is required for creating/updating call only + // ads. See https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 131; + + // Either an image or a media bundle is required in a display upload ad. + MISSING_IMAGE_OR_MEDIA_BUNDLE = 132; + + // The display upload product type is not supported in this campaign. + PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN = 133; + + // The default value of an ad placeholder can not be the empty string. + PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE = 134; + + // Ad placeholders with countdown functions must not have a default value. + PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE = 135; + + // A previous ad placeholder that had a default value was found which means + // that all (non-countdown) placeholders must have a default value. This + // ad placeholder does not have a default value. + PLACEHOLDER_DEFAULT_VALUE_MISSING = 136; + + // A previous ad placeholder that did not have a default value was found + // which means that no placeholders may have a default value. This + // ad placeholder does have a default value. + UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE = 137; + + // Two ad customizers may not be directly adjacent in an ad text. They must + // be separated by at least one character. + AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT = 138; + + // The ad is not associated with any enabled AdGroupAd, and cannot be + // updated. + UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION = 139; + + // Call Ad verification url and final url don't have same domain. + CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN = 140; + + // Final url and verification url cannot both be empty for call ads. + CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY = 154; + + // Too many ad customizers in one asset. + TOO_MANY_AD_CUSTOMIZERS = 141; + + // The ad customizer tag is recognized, but the format is invalid. + INVALID_AD_CUSTOMIZER_FORMAT = 142; + + // Customizer tags cannot be nested. + NESTED_AD_CUSTOMIZER_SYNTAX = 143; + + // The ad customizer syntax used in the ad is not supported. + UNSUPPORTED_AD_CUSTOMIZER_SYNTAX = 144; + + // There exists unpaired brace in the ad customizer tag. + UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG = 145; + + // More than one type of countdown tag exists among all text lines. + MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS = 146; + + // Date time in the countdown tag is invalid. + DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID = 147; + + // Date time in the countdown tag is in the past. + DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST = 148; + + // Cannot recognize the ad customizer tag. + UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND = 149; + + // Customizer type forbidden for this field. + CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD = 150; + + // Customizer attribute name is invalid. + INVALID_CUSTOMIZER_ATTRIBUTE_NAME = 151; + + // App store value does not match the value of the app store in the app + // specified in the campaign. + STORE_MISMATCH = 152; + + // Missing required image aspect ratio. + MISSING_REQUIRED_IMAGE_ASPECT_RATIO = 153; + + // Aspect ratios mismatch between different assets. + MISMATCHED_ASPECT_RATIOS = 155; + + // Images must be unique between different carousel card assets. + DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS = 156; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_ad_error.proto new file mode 100644 index 00000000..f9d51cdd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_ad_error.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group ad errors. + +// Container for enum describing possible ad group ad errors. +message AdGroupAdErrorEnum { + // Enum describing possible ad group ad errors. + enum AdGroupAdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the adgroup ad and the label. + AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the adgroup ad. + AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; + + // The specified ad was not found in the adgroup + AD_NOT_UNDER_ADGROUP = 4; + + // Removed ads may not be modified + CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; + + // An ad of this type is deprecated and cannot be created. Only deletions + // are permitted. + CANNOT_CREATE_DEPRECATED_ADS = 6; + + // Text ads are deprecated and cannot be created. Use expanded text ads + // instead. + CANNOT_CREATE_TEXT_ADS = 7; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 8; + + // An ad may only be modified once per call + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; + + // AdGroupAds with the given ad type cannot be paused. + AD_TYPE_CANNOT_BE_PAUSED = 10; + + // AdGroupAds with the given ad type cannot be removed. + AD_TYPE_CANNOT_BE_REMOVED = 11; + + // An ad of this type is deprecated and cannot be updated. Only removals + // are permitted. + CANNOT_UPDATE_DEPRECATED_ADS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 00000000..66e567f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group bid modifier errors. + +// Container for enum describing possible ad group bid modifier errors. +message AdGroupBidModifierErrorEnum { + // Enum describing possible ad group bid modifier errors. + enum AdGroupBidModifierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion ID does not support bid modification. + CRITERION_ID_NOT_SUPPORTED = 2; + + // Cannot override the bid modifier for the given criterion ID if the parent + // campaign is opted out of the same criterion. + CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 00000000..dc33981f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group criterion customizer errors. + +// Container for enum describing possible ad group criterion customizer errors. +message AdGroupCriterionCustomizerErrorEnum { + // Enum describing possible ad group criterion customizer errors. + enum AdGroupCriterionCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Only keyword type criterion is allowed to link customizer attribute. + CRITERION_IS_NOT_KEYWORD = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_error.proto new file mode 100644 index 00000000..812ae186 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_criterion_error.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group criterion errors. + +// Container for enum describing possible ad group criterion errors. +message AdGroupCriterionErrorEnum { + // Enum describing possible ad group criterion errors. + enum AdGroupCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the AdGroupCriterion and the label. + AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the AdGroupCriterion. + AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; + + // Negative AdGroupCriterion cannot have labels. + CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; + + // Too many operations for a single call. + TOO_MANY_OPERATIONS = 5; + + // Negative ad group criteria are not updateable. + CANT_UPDATE_NEGATIVE = 6; + + // Concrete type of criterion (keyword v.s. placement) is required for ADD + // and SET operations. + CONCRETE_TYPE_REQUIRED = 7; + + // Bid is incompatible with ad group's bidding settings. + BID_INCOMPATIBLE_WITH_ADGROUP = 8; + + // Cannot target and exclude the same criterion at once. + CANNOT_TARGET_AND_EXCLUDE = 9; + + // The URL of a placement is invalid. + ILLEGAL_URL = 10; + + // Keyword text was invalid. + INVALID_KEYWORD_TEXT = 11; + + // Destination URL was invalid. + INVALID_DESTINATION_URL = 12; + + // The destination url must contain at least one tag (for example, {lpurl}) + MISSING_DESTINATION_URL_TAG = 13; + + // Keyword-level cpm bid is not supported + KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM = 14; + + // For example, cannot add a biddable ad group criterion that had been + // removed. + INVALID_USER_STATUS = 15; + + // Criteria type cannot be targeted for the ad group. Either the account is + // restricted to keywords only, the criteria type is incompatible with the + // campaign's bidding strategy, or the criteria type can only be applied to + // campaigns. + CANNOT_ADD_CRITERIA_TYPE = 16; + + // Criteria type cannot be excluded for the ad group. Refer to the + // documentation for a specific criterion to check if it is excludable. + CANNOT_EXCLUDE_CRITERIA_TYPE = 17; + + // Partial failure is not supported for shopping campaign mutate operations. + CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE = 27; + + // Operations in the mutate request changes too many shopping ad groups. + // Split requests for multiple shopping ad groups across multiple + // requests. + OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS = 28; + + // Not allowed to modify url fields of an ad group criterion if there are + // duplicate elements for that ad group criterion in the request. + CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS = 29; + + // Cannot set url fields without also setting final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 30; + + // Cannot clear final urls if final mobile urls exist. + CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST = 31; + + // Cannot clear final urls if final app urls exist. + CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST = 32; + + // Cannot clear final urls if tracking url template exists. + CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS = 33; + + // Cannot clear final urls if url custom parameters exist. + CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST = 34; + + // Cannot set both destination url and final urls. + CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS = 35; + + // Cannot set both destination url and tracking url template. + CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE = 36; + + // Final urls are not supported for this criterion type. + FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 37; + + // Final mobile urls are not supported for this criterion type. + FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 38; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_customizer_error.proto new file mode 100644 index 00000000..2c819e64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group customizer errors. + +// Container for enum describing possible ad group customizer errors. +message AdGroupCustomizerErrorEnum { + // Enum describing possible ad group customizer errors. + enum AdGroupCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_error.proto new file mode 100644 index 00000000..8bdd8cd5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_error.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group errors. + +// Container for enum describing possible ad group errors. +message AdGroupErrorEnum { + // Enum describing possible ad group errors. + enum AdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // AdGroup with the same name already exists for the campaign. + DUPLICATE_ADGROUP_NAME = 2; + + // AdGroup name is not valid. + INVALID_ADGROUP_NAME = 3; + + // Advertiser is not allowed to target sites or set site bids that are not + // on the Google Search Network. + ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; + + // Bid amount is too big. + BID_TOO_BIG = 6; + + // AdGroup bid does not match the campaign's bidding strategy. + BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; + + // AdGroup name is required for Add. + MISSING_ADGROUP_NAME = 8; + + // No link found between the ad group and the label. + ADGROUP_LABEL_DOES_NOT_EXIST = 9; + + // The label has already been attached to the ad group. + ADGROUP_LABEL_ALREADY_EXISTS = 10; + + // The CriterionTypeGroup is not supported for the content bid dimension. + INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; + + // The ad group type is not compatible with the campaign channel type. + AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; + + // The ad group type is not supported in the country of sale of the + // campaign. + ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; + + // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to + // campaigns that have DynamicSearchAdsSetting attached. + CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; + + // Promoted hotels ad groups are only available to customers on the + // allow-list. + PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; + + // The field type cannot be excluded because an active ad group-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_feed_error.proto new file mode 100644 index 00000000..656a695e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_group_feed_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad group feed errors. + +// Container for enum describing possible ad group feed errors. +message AdGroupFeedErrorEnum { + // Enum describing possible ad group feed errors. + enum AdGroupFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this ad group and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The AdGroupFeed already exists. UPDATE operation should be used to modify + // the existing AdGroupFeed. + ADGROUP_FEED_ALREADY_EXISTS = 4; + + // Cannot operate on removed AdGroupFeed. + CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Location AdGroupFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_parameter_error.proto new file mode 100644 index 00000000..4b0dc08d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_parameter_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad parameter errors. + +// Container for enum describing possible ad parameter errors. +message AdParameterErrorEnum { + // Enum describing possible ad parameter errors. + enum AdParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The ad group criterion must be a keyword criterion. + AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; + + // The insertion text is invalid. + INVALID_INSERTION_TEXT_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/ad_sharing_error.proto new file mode 100644 index 00000000..a8cb3889 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/ad_sharing_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ad sharing errors. + +// Container for enum describing possible ad sharing errors. +message AdSharingErrorEnum { + // Enum describing possible ad sharing errors. + enum AdSharingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error resulting in attempting to add an Ad to an AdGroup that already + // contains the Ad. + AD_GROUP_ALREADY_CONTAINS_AD = 2; + + // Ad is not compatible with the AdGroup it is being shared with. + INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; + + // Cannot add AdGroupAd on inactive Ad. + CANNOT_SHARE_INACTIVE_AD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/adx_error.proto new file mode 100644 index 00000000..febcd53f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/adx_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing adx errors. + +// Container for enum describing possible adx errors. +message AdxErrorEnum { + // Enum describing possible adx errors. + enum AdxError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Attempt to use non-AdX feature by AdX customer. + UNSUPPORTED_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_error.proto new file mode 100644 index 00000000..af2ad53e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset errors. + +// Container for enum describing possible asset errors. +message AssetErrorEnum { + // Enum describing possible asset errors. + enum AssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer is not is not on the allow-list for this asset type. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE = 13; + + // Assets are duplicated across operations. + DUPLICATE_ASSET = 3; + + // The asset name is duplicated, either across operations or with an + // existing asset. + DUPLICATE_ASSET_NAME = 4; + + // The Asset.asset_data oneof is empty. + ASSET_DATA_IS_MISSING = 5; + + // The asset has a name which is different from an existing duplicate that + // represents the same content. + CANNOT_MODIFY_ASSET_NAME = 6; + + // The field cannot be set for this asset type. + FIELD_INCOMPATIBLE_WITH_ASSET_TYPE = 7; + + // Call to action must come from the list of supported values. + INVALID_CALL_TO_ACTION_TEXT = 8; + + // A lead form asset is created with an invalid combination of input fields. + LEAD_FORM_INVALID_FIELDS_COMBINATION = 9; + + // Lead forms require that the Terms of Service have been agreed to before + // mutates can be executed. + LEAD_FORM_MISSING_AGREEMENT = 10; + + // Asset status is invalid in this operation. + INVALID_ASSET_STATUS = 11; + + // The field cannot be modified by this asset type. + FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE = 12; + + // Ad schedules for the same asset cannot overlap. + SCHEDULES_CANNOT_OVERLAP = 14; + + // Cannot set both percent off and money amount off fields of promotion + // asset. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 15; + + // Cannot set both promotion code and orders over amount fields of promotion + // asset. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 16; + + // The field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 17; + + // Duplicate assets across operations, which have identical Asset.asset_data + // oneof, cannot have different asset level fields for asset types which are + // deduped. + DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE = 18; + + // Carrier specific short number is not allowed. + CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 19; + + // Customer consent required for call recording Terms of Service. + CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 20; + + // The type of the specified phone number is not allowed. + CALL_DISALLOWED_NUMBER_TYPE = 21; + + // If the default call_conversion_action is not used, the customer must have + // a ConversionAction with the same id and the ConversionAction must be call + // conversion type. + CALL_INVALID_CONVERSION_ACTION = 22; + + // The country code of the phone number is invalid. + CALL_INVALID_COUNTRY_CODE = 23; + + // The format of the phone number is incorrect. + CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 24; + + // The input phone number is not a valid phone number. + CALL_INVALID_PHONE_NUMBER = 25; + + // The phone number is not supported for country. + CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 26; + + // Premium rate phone number is not allowed. + CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED = 27; + + // Vanity phone number is not allowed. + CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED = 28; + + // PriceOffering cannot have the same value for header and description. + PRICE_HEADER_SAME_AS_DESCRIPTION = 29; + + // AppId is invalid. + MOBILE_APP_INVALID_APP_ID = 30; + + // Invalid App download URL in final URLs. + MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 31; + + // Asset name is required for the asset type. + NAME_REQUIRED_FOR_ASSET_TYPE = 32; + + // Legacy qualifying questions cannot be in the same Lead Form as + // custom questions. + LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED = 33; + + // Unique name is required for this asset type. + NAME_CONFLICT_FOR_ASSET_TYPE = 34; + + // Cannot modify asset source. + CANNOT_MODIFY_ASSET_SOURCE = 35; + + // User can not modify the automatically created asset. + CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET = 36; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_asset_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_asset_error.proto new file mode 100644 index 00000000..cd8928c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_asset_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group asset errors. +message AssetGroupAssetErrorEnum { + // Enum describing possible asset group asset errors. + enum AssetGroupAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot add duplicated asset group asset. + DUPLICATE_RESOURCE = 2; + + // Expandable tags are not allowed in description assets. + EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION = 3; + + // Ad customizers are not supported in assetgroup's text assets. + AD_CUSTOMIZER_NOT_SUPPORTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_error.proto new file mode 100644 index 00000000..a44428e7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset group errors. + +// Container for enum describing possible asset group errors. +message AssetGroupErrorEnum { + // Enum describing possible asset group errors. + enum AssetGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each asset group in a single campaign must have a unique name. + DUPLICATE_NAME = 2; + + // Cannot add asset group for the campaign type. + CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE = 3; + + // Not enough headline asset for a valid asset group. + NOT_ENOUGH_HEADLINE_ASSET = 4; + + // Not enough long headline asset for a valid asset group. + NOT_ENOUGH_LONG_HEADLINE_ASSET = 5; + + // Not enough description headline asset for a valid asset group. + NOT_ENOUGH_DESCRIPTION_ASSET = 6; + + // Not enough business name asset for a valid asset group. + NOT_ENOUGH_BUSINESS_NAME_ASSET = 7; + + // Not enough marketing image asset for a valid asset group. + NOT_ENOUGH_MARKETING_IMAGE_ASSET = 8; + + // Not enough square marketing image asset for a valid asset group. + NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET = 9; + + // Not enough logo asset for a valid asset group. + NOT_ENOUGH_LOGO_ASSET = 10; + + // Final url and shopping merchant url does not have the same domain. + FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_listing_group_filter_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 00000000..8d0c3451 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group listing group filter +// errors. +message AssetGroupListingGroupFilterErrorEnum { + // Enum describing possible asset group listing group filter errors. + enum AssetGroupListingGroupFilterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Listing group tree is too deep. + TREE_TOO_DEEP = 2; + + // Listing Group UNIT node cannot have children. + UNIT_CANNOT_HAVE_CHILDREN = 3; + + // Listing Group SUBDIVISION node must have everything else child. + SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD = 4; + + // Dimension type of Listing Group must be the same as that of its siblings. + DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS = 5; + + // The sibling Listing Groups target exactly the same dimension value. + SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS = 6; + + // The dimension type is the same as one of the ancestor Listing Groups. + SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS = 7; + + // Each Listing Group tree must have a single root. + MULTIPLE_ROOTS = 8; + + // Invalid Listing Group dimension value. + INVALID_DIMENSION_VALUE = 9; + + // Hierarchical dimension must refine a dimension of the same type. + MUST_REFINE_HIERARCHICAL_PARENT_TYPE = 10; + + // Invalid Product Bidding Category. + INVALID_PRODUCT_BIDDING_CATEGORY = 11; + + // Modifying case value is allowed only while updating the entire subtree at + // the same time. + CHANGING_CASE_VALUE_WITH_CHILDREN = 12; + + // Subdivision node has children which must be removed first. + SUBDIVISION_HAS_CHILDREN = 13; + + // Dimension can't subdivide everything-else node in its own hierarchy. + CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_link_error.proto new file mode 100644 index 00000000..e671f66f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_link_error.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset link errors. + +// Container for enum describing possible asset link errors. +message AssetLinkErrorEnum { + // Enum describing possible asset link errors. + enum AssetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Pinning is not supported for the given asset link field. + PINNING_UNSUPPORTED = 2; + + // The given field type is not supported to be added directly through asset + // links. + UNSUPPORTED_FIELD_TYPE = 3; + + // The given asset's type and the specified field type are incompatible. + FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE = 4; + + // The specified field type is incompatible with the given campaign type. + FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE = 5; + + // The campaign advertising channel type cannot be associated with the given + // asset due to channel-based restrictions on the asset's fields. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 6; + + // The image asset provided is not within the dimension constraints + // specified for the submitted asset field. + IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE = 7; + + // The pinned field is not valid for the submitted asset field. + INVALID_PINNED_FIELD = 8; + + // The media bundle asset provided is too large for the submitted asset + // field. + MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE = 9; + + // Not enough assets are available for use with other fields since other + // assets are pinned to specific fields. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION = 10; + + // Not enough assets with fallback are available. When validating the + // minimum number of assets, assets without fallback (for example, assets + // that contain location tag without default value "{LOCATION(City)}") will + // not be counted. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK = 11; + + // This is a combination of the + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION and + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK errors. Not enough assets + // with fallback are available since some assets are pinned. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION = 12; + + // The YouTube video referenced in the provided asset has been removed. + YOUTUBE_VIDEO_REMOVED = 13; + + // The YouTube video referenced in the provided asset is too long for the + // field submitted. + YOUTUBE_VIDEO_TOO_LONG = 14; + + // The YouTube video referenced in the provided asset is too short for the + // field submitted. + YOUTUBE_VIDEO_TOO_SHORT = 15; + + // The specified field type is excluded for given campaign or ad group. + EXCLUDED_PARENT_FIELD_TYPE = 16; + + // The status is invalid for the operation specified. + INVALID_STATUS = 17; + + // The YouTube video referenced in the provided asset has unknown duration. + // This might be the case for a livestream video or a video being currently + // uploaded to YouTube. In both cases, the video duration should eventually + // get resolved. + YOUTUBE_VIDEO_DURATION_NOT_DEFINED = 18; + + // User cannot create automatically created links. + CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS = 19; + + // Advertiser links cannot link to automatically created asset. + CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET = 20; + + // Automatically created links cannot be changed into adveritser links or + // the reverse. + CANNOT_MODIFY_ASSET_LINK_SOURCE = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_asset_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_asset_error.proto new file mode 100644 index 00000000..7f609812 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_asset_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset set asset errors. + +// Container for enum describing possible asset set asset errors. +message AssetSetAssetErrorEnum { + // Enum describing possible asset set asset errors. + enum AssetSetAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The asset type is not eligible to be linked to the specific type of asset + // set. + INVALID_ASSET_TYPE = 2; + + // The asset set type is not eligible to contain the specified type of + // assets. + INVALID_ASSET_SET_TYPE = 3; + + // The asset contains duplicate external key with another asset in the asset + // set. + DUPLICATE_EXTERNAL_KEY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_error.proto new file mode 100644 index 00000000..82eeba94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_link_error.proto new file mode 100644 index 00000000..68830446 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/asset_set_link_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing asset set link errors. + +// Container for enum describing possible asset set link errors. +message AssetSetLinkErrorEnum { + // Enum describing possible asset set link errors. + enum AssetSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Advertising channel type cannot be attached to the asset set due to + // channel-based restrictions. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 2; + + // For this asset set type, only one campaign to feed linkage is allowed. + DUPLICATE_FEED_LINK = 3; + + // The asset set type and campaign type are incompatible. + INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE = 4; + + // Cannot link duplicate asset sets to the same campaign. + DUPLICATE_ASSET_SET_LINK = 5; + + // Cannot remove the asset set link. If a campaign is linked with only one + // asset set and you attempt to unlink them, this error will be triggered. + ASSET_SET_LINK_CANNOT_BE_REMOVED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/audience_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/audience_error.proto new file mode 100644 index 00000000..abe3a87f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/audience_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/audience_insights_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/audience_insights_error.proto new file mode 100644 index 00000000..0d7a3777 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/audience_insights_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/authentication_error.proto new file mode 100644 index 00000000..d46292bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/authentication_error.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing authentication errors. + +// Container for enum describing possible authentication errors. +message AuthenticationErrorEnum { + // Enum describing possible authentication errors. + enum AuthenticationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Authentication of the request failed. + AUTHENTICATION_ERROR = 2; + + // Client customer ID is not a number. + CLIENT_CUSTOMER_ID_INVALID = 5; + + // No customer found for the provided customer ID. + CUSTOMER_NOT_FOUND = 8; + + // Client's Google account is deleted. + GOOGLE_ACCOUNT_DELETED = 9; + + // Google account login token in the cookie is invalid. + GOOGLE_ACCOUNT_COOKIE_INVALID = 10; + + // A problem occurred during Google account authentication. + GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; + + // The user in the Google account login token does not match the user ID in + // the cookie. + GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12; + + // Login cookie is required for authentication. + LOGIN_COOKIE_REQUIRED = 13; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/authorization_error.proto new file mode 100644 index 00000000..815fc3d8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/authorization_error.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing authorization errors. + +// Container for enum describing possible authorization errors. +message AuthorizationErrorEnum { + // Enum describing possible authorization errors. + enum AuthorizationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User doesn't have permission to access customer. Note: If you're + // accessing a client customer, the manager's customer ID must be set in the + // `login-customer-id` header. Learn more at + // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid + USER_PERMISSION_DENIED = 2; + + // The developer token is not on the allow-list. + DEVELOPER_TOKEN_NOT_ON_ALLOWLIST = 13; + + // The developer token is not allowed with the project sent in the request. + DEVELOPER_TOKEN_PROHIBITED = 4; + + // The Google Cloud project sent in the request does not have permission to + // access the api. + PROJECT_DISABLED = 5; + + // Authorization of the client failed. + AUTHORIZATION_ERROR = 6; + + // The user does not have permission to perform this action + // (for example, ADD, UPDATE, REMOVE) on the resource or call a method. + ACTION_NOT_PERMITTED = 7; + + // Signup not complete. + INCOMPLETE_SIGNUP = 8; + + // The customer can't be used because it isn't enabled. + 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 not approved. Non-approved developer tokens can + // only be used with test accounts. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/batch_job_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/batch_job_error.proto new file mode 100644 index 00000000..727f5f8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/batch_job_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing batch job errors. + +// Container for enum describing possible batch job errors. +message BatchJobErrorEnum { + // Enum describing possible request errors. + enum BatchJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The batch job cannot add more operations or run after it has started + // running. + CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; + + // The operations for an AddBatchJobOperations request were empty. + EMPTY_OPERATIONS = 3; + + // The sequence token for an AddBatchJobOperations request was invalid. + INVALID_SEQUENCE_TOKEN = 4; + + // Batch job results can only be retrieved once the job is finished. + RESULTS_NOT_READY = 5; + + // The page size for ListBatchJobResults was invalid. + INVALID_PAGE_SIZE = 6; + + // The batch job cannot be removed because it has started running. + CAN_ONLY_REMOVE_PENDING_JOB = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/bidding_error.proto new file mode 100644 index 00000000..63e8c5c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/bidding_error.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing bidding errors. + +// Container for enum describing possible bidding errors. +message BiddingErrorEnum { + // Enum describing possible bidding errors. + enum BiddingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot transition to new bidding strategy. + BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; + + // Cannot attach bidding strategy to campaign. + CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; + + // Bidding strategy is not supported or cannot be used as anonymous. + INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; + + // The type does not match the named strategy's type. + INVALID_BIDDING_STRATEGY_TYPE = 14; + + // The bid is invalid. + INVALID_BID = 17; + + // Bidding strategy is not available for the account type. + BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; + + // Conversion tracking is not enabled in the campaign that has value-based + // bidding transitions. + CONVERSION_TRACKING_NOT_ENABLED = 19; + + // Not enough conversions tracked for value-based bidding transitions. + NOT_ENOUGH_CONVERSIONS = 20; + + // 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; + + // The field is not compatible with the budget type. + NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; + + // The field is not compatible with the bidding strategy type. + NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/bidding_strategy_error.proto new file mode 100644 index 00000000..09b55324 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/bidding_strategy_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing bidding strategy errors. + +// Container for enum describing possible bidding strategy errors. +message BiddingStrategyErrorEnum { + // Enum describing possible bidding strategy errors. + enum BiddingStrategyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each bidding strategy must have a unique name. + DUPLICATE_NAME = 2; + + // Bidding strategy type is immutable. + CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; + + // Only bidding strategies not linked to campaigns, adgroups or adgroup + // criteria can be removed. + CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; + + // The specified bidding strategy is not supported. + BIDDING_STRATEGY_NOT_SUPPORTED = 5; + + // The bidding strategy is incompatible with the campaign's bidding + // strategy goal type. + INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/billing_setup_error.proto new file mode 100644 index 00000000..9567d18d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/billing_setup_error.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing billing setup errors. + +// Container for enum describing possible billing setup errors. +message BillingSetupErrorEnum { + // Enum describing possible billing setup errors. + enum BillingSetupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot specify both an existing payments account and a new payments + // account when setting up billing. + CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2; + + // Cannot cancel an approved billing setup whose start time has passed. + CANNOT_REMOVE_STARTED_BILLING_SETUP = 3; + + // Cannot perform a Change of Bill-To (CBT) to the same payments account. + CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4; + + // Billing setups can only be used by customers with ENABLED or DRAFT + // status. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5; + + // Billing setups must either include a correctly formatted existing + // payments account id, or a non-empty new payments account name. + INVALID_PAYMENTS_ACCOUNT = 6; + + // Only billable and third-party customers can create billing setups. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7; + + // Billing setup creations can only use NOW for start time type. + INVALID_START_TIME_TYPE = 8; + + // Billing setups can only be created for a third-party customer if they do + // not already have a setup. + THIRD_PARTY_ALREADY_HAS_BILLING = 9; + + // Billing setups cannot be created if there is already a pending billing in + // progress. + BILLING_SETUP_IN_PROGRESS = 10; + + // Billing setups can only be created by customers who have permission to + // setup billings. Users can contact a representative for help setting up + // permissions. + NO_SIGNUP_PERMISSION = 11; + + // Billing setups cannot be created if there is already a future-approved + // billing. + CHANGE_OF_BILL_TO_IN_PROGRESS = 12; + + // Requested payments profile not found. + PAYMENTS_PROFILE_NOT_FOUND = 13; + + // Requested payments account not found. + PAYMENTS_ACCOUNT_NOT_FOUND = 14; + + // Billing setup creation failed because the payments profile is ineligible. + PAYMENTS_PROFILE_INELIGIBLE = 15; + + // Billing setup creation failed because the payments account is ineligible. + PAYMENTS_ACCOUNT_INELIGIBLE = 16; + + // Billing setup creation failed because the payments profile needs internal + // approval. + CUSTOMER_NEEDS_INTERNAL_APPROVAL = 17; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_budget_error.proto new file mode 100644 index 00000000..24e3e841 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_budget_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign budget errors. + +// Container for enum describing possible campaign budget errors. +message CampaignBudgetErrorEnum { + // Enum describing possible campaign budget errors. + enum CampaignBudgetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign budget cannot be shared. + CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; + + // The requested campaign budget no longer exists. + CAMPAIGN_BUDGET_REMOVED = 2; + + // The campaign budget is associated with at least one campaign, and so the + // campaign budget cannot be removed. + CAMPAIGN_BUDGET_IN_USE = 3; + + // Customer is not on the allow-list for this campaign budget period. + CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; + + // This field is not mutable on implicitly shared campaign budgets + CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6; + + // Cannot change explicitly shared campaign budgets back to implicitly + // shared ones. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7; + + // An implicit campaign budget without a name cannot be changed to + // explicitly shared campaign budget. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8; + + // Cannot change an implicitly shared campaign budget to an explicitly + // shared one. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9; + + // Only explicitly shared campaign budgets can be used with multiple + // campaigns. + CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10; + + // A campaign budget with this name already exists. + DUPLICATE_NAME = 11; + + // A money amount was not in the expected currency. + MONEY_AMOUNT_IN_WRONG_CURRENCY = 12; + + // A money amount was less than the minimum CPC for currency. + MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13; + + // A money amount was greater than the maximum allowed. + MONEY_AMOUNT_TOO_LARGE = 14; + + // A money amount was negative. + NEGATIVE_MONEY_AMOUNT = 15; + + // A money amount was not a multiple of a minimum unit. + NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16; + + // Total budget amount must be unset when BudgetPeriod is DAILY. + TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY = 18; + + // The period of the budget is not allowed. + INVALID_PERIOD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_conversion_goal_error.proto new file mode 100644 index 00000000..9e18ad68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_conversion_goal_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_criterion_error.proto new file mode 100644 index 00000000..6ae2e8bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_criterion_error.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign criterion errors. + +// Container for enum describing possible campaign criterion errors. +message CampaignCriterionErrorEnum { + // Enum describing possible campaign criterion errors. + enum CampaignCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion (keyword v.s. placement) is required for + // CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 3; + + // Criteria type can not be excluded for the campaign by the customer. like + // AOL account type cannot target site type criteria + CANNOT_EXCLUDE_CRITERIA_TYPE = 4; + + // Cannot set the campaign criterion status for this criteria type. + CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; + + // Cannot set the campaign criterion status for an excluded criteria. + CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; + + // Cannot target and exclude the same criterion. + CANNOT_TARGET_AND_EXCLUDE = 7; + + // The mutate contained too many operations. + TOO_MANY_OPERATIONS = 8; + + // This operator cannot be applied to a criterion of this type. + OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; + + // The Shopping campaign sales country is not supported for + // ProductSalesChannel targeting. + SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; + + // The existing field can't be updated with CREATE operation. It can be + // updated with UPDATE operation only. + CANNOT_ADD_EXISTING_FIELD = 11; + + // Negative criteria are immutable, so updates are not allowed. + CANNOT_UPDATE_NEGATIVE_CRITERION = 12; + + // Only free form names are allowed for negative Smart campaign keyword + // theme. + CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION = 13; + + // Invalid Smart campaign keyword theme constant criterion. + INVALID_KEYWORD_THEME_CONSTANT = 14; + + // A Smart campaign keyword theme constant or free-form Smart campaign + // keyword theme is required. + MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME = 15; + + // A Smart campaign may not target proximity and location criteria + // simultaneously. + CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN = 16; + + // A Smart campaign may not target multiple proximity criteria. + CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_customizer_error.proto new file mode 100644 index 00000000..24422873 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign customizer errors. + +// Container for enum describing possible campaign customizer errors. +message CampaignCustomizerErrorEnum { + // Enum describing possible campaign customizer errors. + enum CampaignCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_draft_error.proto new file mode 100644 index 00000000..ef08cd21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_draft_error.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign draft errors. + +// Container for enum describing possible campaign draft errors. +message CampaignDraftErrorEnum { + // Enum describing possible campaign draft errors. + enum CampaignDraftError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A draft with this name already exists for this campaign. + DUPLICATE_DRAFT_NAME = 2; + + // The draft is removed and cannot be transitioned to another status. + INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; + + // The draft has been promoted and cannot be transitioned to the specified + // status. + INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; + + // The draft has failed to be promoted and cannot be transitioned to the + // specified status. + INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; + + // This customer is not allowed to create drafts. + CUSTOMER_CANNOT_CREATE_DRAFT = 6; + + // This campaign is not allowed to create drafts. + CAMPAIGN_CANNOT_CREATE_DRAFT = 7; + + // This modification cannot be made on a draft. + INVALID_DRAFT_CHANGE = 8; + + // The draft cannot be transitioned to the specified status from its + // current status. + INVALID_STATUS_TRANSITION = 9; + + // The campaign has reached the maximum number of drafts that can be created + // for a campaign throughout its lifetime. No additional drafts can be + // created for this campaign. Removed drafts also count towards this limit. + MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; + + // ListAsyncErrors was called without first promoting the draft. + LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_error.proto new file mode 100644 index 00000000..16841804 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_error.proto @@ -0,0 +1,211 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign errors. + +// Container for enum describing possible campaign errors. +message CampaignErrorEnum { + // Enum describing possible campaign errors. + enum CampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot target content network. + CANNOT_TARGET_CONTENT_NETWORK = 3; + + // Cannot target search network. + CANNOT_TARGET_SEARCH_NETWORK = 4; + + // Cannot cover search network without google search network. + CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; + + // Cannot target Google Search network for a CPM campaign. + CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; + + // Must target at least one network. + CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; + + // Only some Google partners are allowed to target partner search network. + CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; + + // Cannot target content network only as campaign has criteria-level bidding + // strategy. + CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; + + // Cannot modify the start or end date such that the campaign duration would + // not contain the durations of all runnable trials. + CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; + + // Cannot modify dates, budget or status of a trial campaign. + CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11; + + // Trying to modify the name of an active or paused campaign, where the name + // is already assigned to another active or paused campaign. + DUPLICATE_CAMPAIGN_NAME = 12; + + // Two fields are in conflicting modes. + INCOMPATIBLE_CAMPAIGN_FIELD = 13; + + // Campaign name cannot be used. + INVALID_CAMPAIGN_NAME = 14; + + // Given status is invalid. + INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15; + + // Error in the campaign level tracking URL. + INVALID_TRACKING_URL = 16; + + // Cannot set both tracking URL template and tracking setting. A user has + // to clear legacy tracking setting in order to add tracking URL template. + CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17; + + // The maximum number of impressions for Frequency Cap should be an integer + // greater than 0. + MAX_IMPRESSIONS_NOT_IN_RANGE = 18; + + // Only the Day, Week and Month time units are supported. + TIME_UNIT_NOT_SUPPORTED = 19; + + // Operation not allowed on a campaign whose serving status has ended + INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20; + + // This budget is exclusively linked to a Campaign that is using experiments + // so it cannot be shared. + BUDGET_CANNOT_BE_SHARED = 21; + + // Campaigns using experiments cannot use a shared budget. + CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22; + + // A different budget cannot be assigned to a campaign when there are + // running or scheduled trials. + CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23; + + // No link found between the campaign and the label. + CAMPAIGN_LABEL_DOES_NOT_EXIST = 24; + + // The label has already been attached to the campaign. + CAMPAIGN_LABEL_ALREADY_EXISTS = 25; + + // A ShoppingSetting was not found when creating a shopping campaign. + MISSING_SHOPPING_SETTING = 26; + + // The country in shopping setting is not an allowed country. + INVALID_SHOPPING_SALES_COUNTRY = 27; + + // The requested channel type is not available according to the customer's + // account setting. + ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31; + + // The AdvertisingChannelSubType is not a valid subtype of the primary + // channel type. + INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32; + + // At least one conversion must be selected. + AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33; + + // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode + // at campaign is deprecated. + CANNOT_SET_AD_ROTATION_MODE = 34; + + // Trying to change start date on a campaign that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35; + + // Trying to modify a date into the past. + CANNOT_SET_DATE_TO_PAST = 36; + + // Hotel center id in the hotel setting does not match any customer links. + MISSING_HOTEL_CUSTOMER_LINK = 37; + + // Hotel center id in the hotel setting must match an active customer link. + INVALID_HOTEL_CUSTOMER_LINK = 38; + + // Hotel setting was not found when creating a hotel ads campaign. + MISSING_HOTEL_SETTING = 39; + + // A Campaign cannot use shared campaign budgets and be part of a campaign + // group. + CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40; + + // The app ID was not found. + APP_NOT_FOUND = 41; + + // Campaign.shopping_setting.enable_local is not supported for the specified + // campaign type. + SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42; + + // The merchant does not support the creation of campaigns for Shopping + // Comparison Listing Ads. + MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43; + + // The App campaign for engagement cannot be created because there aren't + // enough installs. + INSUFFICIENT_APP_INSTALLS_COUNT = 44; + + // The App campaign for engagement cannot be created because the app is + // sensitive. + SENSITIVE_CATEGORY_APP = 45; + + // Customers with Housing, Employment, or Credit ads must accept updated + // personalized ads policy to continue creating campaigns. + HEC_AGREEMENT_REQUIRED = 46; + + // The field is not compatible with view through conversion optimization. + NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION = 49; + + // The field type cannot be excluded because an active campaign-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 48; + + // The app pre-registration campaign cannot be created for non-Android + // applications. + CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP = 50; + + // The campaign cannot be created since the app is not available for + // pre-registration in any country. + APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN = 51; + + // The type of the Budget is not compatible with this Campaign. + INCOMPATIBLE_BUDGET_TYPE = 52; + + // Category bid list in the local services campaign setting contains + // multiple bids for the same category ID. + LOCAL_SERVICES_DUPLICATE_CATEGORY_BID = 53; + + // Category bid list in the local services campaign setting contains + // a bid for an invalid category ID. + LOCAL_SERVICES_INVALID_CATEGORY_BID = 54; + + // Category bid list in the local services campaign setting is missing a + // bid for a category ID that must be present. + LOCAL_SERVICES_MISSING_CATEGORY_BID = 55; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_experiment_error.proto new file mode 100644 index 00000000..140a7a06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_experiment_error.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign experiment errors. + +// Container for enum describing possible campaign experiment errors. +message CampaignExperimentErrorEnum { + // Enum describing possible campaign experiment errors. + enum CampaignExperimentError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active campaign or experiment with this name already exists. + DUPLICATE_NAME = 2; + + // Experiment cannot be updated from the current state to the + // requested target state. For example, an experiment can only graduate + // if its status is ENABLED. + INVALID_TRANSITION = 3; + + // Cannot create an experiment from a campaign using an explicitly shared + // budget. + CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; + + // Cannot create an experiment for a removed base campaign. + CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; + + // Cannot create an experiment from a draft, which has a status other than + // proposed. + CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; + + // This customer is not allowed to create an experiment. + CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; + + // This campaign is not allowed to create an experiment. + CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; + + // Trying to set an experiment duration which overlaps with another + // experiment. + EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; + + // All non-removed experiments must start and end within their campaign's + // duration. + EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; + + // The experiment cannot be modified because its status is in a terminal + // state, such as REMOVED. + CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_feed_error.proto new file mode 100644 index 00000000..ecc1665b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_feed_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign feed errors. + +// Container for enum describing possible campaign feed errors. +message CampaignFeedErrorEnum { + // Enum describing possible campaign feed errors. + enum CampaignFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this campaign and placeholder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 4; + + // The CampaignFeed already exists. UPDATE should be used to modify the + // existing CampaignFeed. + CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; + + // Cannot update removed campaign feed. + CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 7; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; + + // Location CampaignFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_shared_set_error.proto new file mode 100644 index 00000000..3fce28f7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/campaign_shared_set_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing campaign shared set errors. + +// Container for enum describing possible campaign shared set errors. +message CampaignSharedSetErrorEnum { + // Enum describing possible campaign shared set errors. + enum CampaignSharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The shared set belongs to another customer and permission isn't granted. + SHARED_SET_ACCESS_DENIED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/change_event_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/change_event_error.proto new file mode 100644 index 00000000..7bb48098 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/change_event_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing change event errors. + +// Container for enum describing possible change event errors. +message ChangeEventErrorEnum { + // Enum describing possible change event errors. + enum ChangeEventError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. It cannot be older than 30 days. + START_DATE_TOO_OLD = 2; + + // The change_event search request must specify a finite range filter + // on change_date_time. + CHANGE_DATE_RANGE_INFINITE = 3; + + // The change event search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 4; + + // The change_event search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 5; + + // The LIMIT specified by change_event request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/change_status_error.proto new file mode 100644 index 00000000..6a2e43df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/change_status_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing change status errors. + +// Container for enum describing possible change status errors. +message ChangeStatusErrorEnum { + // Enum describing possible change status errors. + enum ChangeStatusError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. + START_DATE_TOO_OLD = 3; + + // The change_status search request must specify a finite range filter + // on last_change_date_time. + CHANGE_DATE_RANGE_INFINITE = 4; + + // The change status search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 5; + + // The change_status search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 6; + + // The LIMIT specified by change_status request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/collection_size_error.proto new file mode 100644 index 00000000..8c360dec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/collection_size_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing collection size errors. + +// Container for enum describing possible collection size errors. +message CollectionSizeErrorEnum { + // Enum describing possible collection size errors. + enum CollectionSizeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too few. + TOO_FEW = 2; + + // Too many. + TOO_MANY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/context_error.proto new file mode 100644 index 00000000..1938123f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/context_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing context errors. + +// Container for enum describing possible context errors. +message ContextErrorEnum { + // Enum describing possible context errors. + enum ContextError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The operation is not allowed for the given context. + OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; + + // The operation is not allowed for removed resources. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_action_error.proto new file mode 100644 index 00000000..9f503ae2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_action_error.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing conversion action errors. + +// Container for enum describing possible conversion action errors. +message ConversionActionErrorEnum { + // Enum describing possible conversion action errors. + enum ConversionActionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action name already exists. + DUPLICATE_NAME = 2; + + // Another conversion action with the specified app id already exists. + DUPLICATE_APP_ID = 3; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; + + // The attribution model cannot be set to DATA_DRIVEN because a data-driven + // model has never been generated. + DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is expired. + DATA_DRIVEN_MODEL_EXPIRED = 7; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is stale. + DATA_DRIVEN_MODEL_STALE = 8; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is unavailable or the conversion action was newly + // added. + DATA_DRIVEN_MODEL_UNKNOWN = 9; + + // Creation of this conversion action type isn't supported by Google + // Ads API. + CREATION_NOT_SUPPORTED = 10; + + // Update of this conversion action isn't supported by Google Ads API. + UPDATE_NOT_SUPPORTED = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 00000000..5f77d92b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_adjustment_upload_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action was created too recently. + // Try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 2; + + // No conversion action of a supported ConversionActionType that matches the + // provided information can be found for the customer. + INVALID_CONVERSION_ACTION = 3; + + // A retraction was already reported for this conversion. + CONVERSION_ALREADY_RETRACTED = 4; + + // A conversion for the supplied combination of conversion + // action and conversion identifier could not be found. + CONVERSION_NOT_FOUND = 5; + + // The specified conversion has already expired. Conversions expire after 55 + // days, after which adjustments cannot be reported against them. + CONVERSION_EXPIRED = 6; + + // The supplied adjustment date time precedes that of the original + // conversion. + ADJUSTMENT_PRECEDES_CONVERSION = 7; + + // A restatement with a more recent adjustment date time was already + // reported for this conversion. + MORE_RECENT_RESTATEMENT_FOUND = 8; + + // The conversion was created too recently. + TOO_RECENT_CONVERSION = 9; + + // Restatements cannot be reported for a conversion action that always uses + // the default value. + CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10; + + // The request contained more than 2000 adjustments. + TOO_MANY_ADJUSTMENTS_IN_REQUEST = 11; + + // The conversion has been adjusted too many times. + TOO_MANY_ADJUSTMENTS = 12; + + // A restatement with this timestamp already exists for this conversion. To + // upload another adjustment, use a different timestamp. + RESTATEMENT_ALREADY_EXISTS = 13; + + // This adjustment has the same timestamp as another adjustment in the + // request for this conversion. To upload another adjustment, use a + // different timestamp. + DUPLICATE_ADJUSTMENT_IN_REQUEST = 14; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 15; + + // The enhanced conversion settings of the conversion action supplied is + // not eligible for enhancements. + CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT = 16; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 17; + + // The provided user identifier is not supported. + // ConversionAdjustmentUploadService only supports hashed_email, + // hashed_phone_number, and address_info. + UNSUPPORTED_USER_IDENTIFIER = 18; + + // Cannot set both gclid_date_time_pair and order_id. + GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET = 20; + + // An enhancement with this conversion action and order_id already exists + // for this conversion. + CONVERSION_ALREADY_ENHANCED = 21; + + // This enhancement has the same conversion action and order_id as + // another enhancement in the request. + DUPLICATE_ENHANCEMENT_IN_REQUEST = 22; + + // Per our customer data policies, enhancement has been prohibited in your + // account. If you have any questions, contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT = 23; + + // The conversion adjustment is for a conversion action of type WEBPAGE, but + // does not have an order_id. The order_id is required for an adjustment for + // a WEBPAGE conversion action. + MISSING_ORDER_ID_FOR_WEBPAGE = 24; + + // The order_id contains personally identifiable information (PII), such as + // an email address or phone number. + ORDER_ID_CONTAINS_PII = 25; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_custom_variable_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_custom_variable_error.proto new file mode 100644 index 00000000..706f1dec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_custom_variable_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing conversion custom variable errors. + +// Container for enum describing possible conversion custom variable errors. +message ConversionCustomVariableErrorEnum { + // Enum describing possible conversion custom variable errors. + enum ConversionCustomVariableError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A conversion custom variable with the specified name already exists. + DUPLICATE_NAME = 2; + + // A conversion custom variable with the specified tag already exists. + DUPLICATE_TAG = 3; + + // A conversion custom variable with the specified tag is reserved for other + // uses. + RESERVED_TAG = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_goal_campaign_config_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 00000000..42a20412 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_goal_campaign_config_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_upload_error.proto new file mode 100644 index 00000000..22d961f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_upload_error.proto @@ -0,0 +1,209 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The request contained more than 2000 conversions. + TOO_MANY_CONVERSIONS_IN_REQUEST = 2; + + // The specified gclid could not be decoded. + UNPARSEABLE_GCLID = 3; + + // The specified conversion_date_time is before the event time + // associated with the given identifier or iOS URL parameter. + CONVERSION_PRECEDES_EVENT = 42; + + // The click associated with the given identifier or iOS URL parameter is + // either too old to be imported or occurred outside of the click through + // lookback window for the specified conversion action. + EXPIRED_EVENT = 43; + + // The click associated with the given identifier or iOS URL parameter + // occurred too recently. Try uploading again after 6 hours have + // passed since the click occurred. + TOO_RECENT_EVENT = 44; + + // The click associated with the given identifier or iOS URL parameter could + // not be found in the system. This can happen if the identifier or iOS URL + // parameter are collected for non Google Ads clicks. + EVENT_NOT_FOUND = 45; + + // The click associated with the given identifier or iOS URL parameter is + // owned by a customer account that the uploading customer does not manage. + UNAUTHORIZED_CUSTOMER = 8; + + // No upload eligible conversion action that matches the provided + // information can be found for the customer. + INVALID_CONVERSION_ACTION = 9; + + // The specified conversion action was created too recently. + // Try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 10; + + // The click associated with the given identifier does not contain + // conversion tracking information. + CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; + + // The specified conversion action does not use an external attribution + // model, but external_attribution_data was set. + EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12; + + // The specified conversion action uses an external attribution model, but + // external_attribution_data or one of its contained fields was not set. + // Both external_attribution_credit and external_attribution_model must be + // set for externally attributed conversion actions. + EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13; + + // Order IDs are not supported for conversion actions which use an external + // attribution model. + ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; + + // A conversion with the same order id and conversion action combination + // already exists in our system. + ORDER_ID_ALREADY_IN_USE = 15; + + // The request contained two or more conversions with the same order id and + // conversion action combination. + DUPLICATE_ORDER_ID = 16; + + // The call occurred too recently. Try uploading again after 12 hours + // have passed since the call occurred. + TOO_RECENT_CALL = 17; + + // The click that initiated the call is too old for this conversion to be + // imported. + EXPIRED_CALL = 18; + + // The call or the click leading to the call was not found. + CALL_NOT_FOUND = 19; + + // The specified conversion_date_time is before the call_start_date_time. + CONVERSION_PRECEDES_CALL = 20; + + // The click associated with the call does not contain conversion tracking + // information. + CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; + + // The caller's phone number cannot be parsed. It should be formatted either + // as E.164 "+16502531234", International "+64 3-331 6005" or US national + // number "6502531234". + UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; + + // A conversion with this timestamp already exists for this click. To upload + // another conversion, use a different timestamp. + CLICK_CONVERSION_ALREADY_EXISTS = 23; + + // A conversion with this timestamp already exists for this call. To upload + // another conversion, use a different timestamp. + CALL_CONVERSION_ALREADY_EXISTS = 24; + + // This conversion has the same click and timestamp as another conversion in + // the request. To upload another conversion for this click, use a + // different timestamp. + DUPLICATE_CLICK_CONVERSION_IN_REQUEST = 25; + + // This conversion has the same call and timestamp as another conversion in + // the request. To upload another conversion for this call, use a + // different timestamp. + DUPLICATE_CALL_CONVERSION_IN_REQUEST = 26; + + // The custom variable is not enabled. + CUSTOM_VARIABLE_NOT_ENABLED = 28; + + // The value of the custom variable contains personally identifiable + // information (PII), such as an email address or phone number. + CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 29; + + // The click associated with the given identifier or iOS URL parameter isn't + // from the account where conversion tracking is set up. + INVALID_CUSTOMER_FOR_CLICK = 30; + + // The click associated with the given call isn't from the account where + // conversion tracking is set up. + INVALID_CUSTOMER_FOR_CALL = 31; + + // The conversion can't be uploaded because the conversion source didn't + // comply with the App Tracking Transparency (ATT) policy or the person who + // converted didn't consent to tracking. + CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY = 32; + + // No click was found for the provided user identifiers. This may be because + // the conversion did not come from a Google Ads campaign. + CLICK_NOT_FOUND = 33; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 34; + + // Conversion actions which use an external attribution model cannot be used + // with UserIdentifier. + EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER = 35; + + // The provided user identifier is not supported. ConversionUploadService + // only supports hashed_email and hashed_phone_number. + UNSUPPORTED_USER_IDENTIFIER = 36; + + // gbraid and wbraid are both set in the request. Only one is allowed. + GBRAID_WBRAID_BOTH_SET = 38; + + // The specified wbraid could not be decoded. + UNPARSEABLE_WBRAID = 39; + + // The specified gbraid could not be decoded. + UNPARSEABLE_GBRAID = 40; + + // Conversion actions which use the one-per-click counting type cannot be + // used with gbraid or wbraid. + ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 46; + + // Per our customer data policies, enhanced conversions have been prohibited + // in your account. If you have any questions, contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS = 47; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 48; + + // The order_id contains personally identifiable information (PII), such as + // an email address or phone number. + ORDER_ID_CONTAINS_PII = 49; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_error.proto new file mode 100644 index 00000000..b7347608 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_error.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing conversion value rule errors. + +// Container for enum describing possible conversion value rule errors. +message ConversionValueRuleErrorEnum { + // Enum describing possible conversion value rule errors. + enum ConversionValueRuleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The value rule's geo location condition contains invalid geo target + // constant(s), for example, there's no matching geo target. + INVALID_GEO_TARGET_CONSTANT = 2; + + // The value rule's geo location condition contains conflicting included and + // excluded geo targets. Specifically, some of the excluded geo target(s) + // are the same as or contain some of the included geo target(s). For + // example, the geo location condition includes California but excludes U.S. + CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET = 3; + + // User specified conflicting conditions for two value rules in the same + // value rule set. + CONFLICTING_CONDITIONS = 4; + + // The value rule cannot be removed because it's still included in some + // value rule set. + CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET = 5; + + // The value rule contains a condition that's not allowed by the value rule + // set including this value rule. + CONDITION_NOT_ALLOWED = 6; + + // The value rule contains a field that should be unset. + FIELD_MUST_BE_UNSET = 7; + + // Pausing the value rule requires pausing the value rule set because the + // value rule is (one of) the last enabled in the value rule set. + CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED = 8; + + // The value rule's geo location condition contains untargetable geo target + // constant(s). + UNTARGETABLE_GEO_TARGET = 9; + + // The value rule's audience condition contains invalid user list(s). In + // another word, there's no matching user list. + INVALID_AUDIENCE_USER_LIST = 10; + + // The value rule's audience condition contains inaccessible user list(s). + INACCESSIBLE_USER_LIST = 11; + + // The value rule's audience condition contains invalid user_interest(s). + // This might be because there is no matching user interest, or the user + // interest is not visible. + INVALID_AUDIENCE_USER_INTEREST = 12; + + // When a value rule is created, it shouldn't have REMOVED status. + CANNOT_ADD_RULE_WITH_STATUS_REMOVED = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_set_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_set_error.proto new file mode 100644 index 00000000..4fde5797 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing conversion value rule set errors. + +// Container for enum describing possible conversion value rule set errors. +message ConversionValueRuleSetErrorEnum { + // Enum describing possible conversion value rule set errors. + enum ConversionValueRuleSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Two value rules in this value rule set contain conflicting conditions. + CONFLICTING_VALUE_RULE_CONDITIONS = 2; + + // This value rule set includes a value rule that cannot be found, has been + // permanently removed or belongs to a different customer. + INVALID_VALUE_RULE = 3; + + // An error that's thrown when a mutate operation is trying to + // replace/remove some existing elements in the dimensions field. In other + // words, ADD op is always fine and UPDATE op is fine if it's only appending + // new elements into dimensions list. + DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND = 4; + + // An error that's thrown when a mutate is adding new value rule(s) into a + // value rule set and the added value rule(s) include conditions that are + // not specified in the dimensions of the value rule set. + CONDITION_TYPE_NOT_ALLOWED = 5; + + // The dimensions field contains duplicate elements. + DUPLICATE_DIMENSIONS = 6; + + // This value rule set is attached to an invalid campaign id. Either a + // campaign with this campaign id doesn't exist or it belongs to a different + // customer. + INVALID_CAMPAIGN_ID = 7; + + // When a mutate request tries to pause a value rule set, the enabled + // value rules in this set must be paused in the same command, or this error + // will be thrown. + CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED = 8; + + // When a mutate request tries to pause all the value rules in a value rule + // set, the value rule set must be paused, or this error will be thrown. + SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED = 9; + + // This value rule set is attached to a campaign that does not support value + // rules. Currently, campaign level value rule sets can only be created on + // Search, or Display campaigns. + VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 10; + + // To add a value rule set that applies on Store Visits/Store Sales + // conversion action categories, the customer must have valid Store Visits/ + // Store Sales conversion actions. + INELIGIBLE_CONVERSION_ACTION_CATEGORIES = 11; + + // If NO_CONDITION is used as a dimension of a value rule set, it must be + // the only dimension. + DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS = 12; + + // Dimension NO_CONDITION can only be used by Store Visits/Store Sales value + // rule set. + DIMENSION_NO_CONDITION_NOT_ALLOWED = 13; + + // Value rule sets defined on the specified conversion action categories are + // not supported. The list of conversion action categories must be an empty + // list, only STORE_VISIT, or only STORE_SALE. + UNSUPPORTED_CONVERSION_ACTION_CATEGORIES = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/country_code_error.proto new file mode 100644 index 00000000..ce2c8f10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/country_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing country code errors. + +// Container for enum describing country code errors. +message CountryCodeErrorEnum { + // Enum describing country code errors. + enum CountryCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/criterion_error.proto new file mode 100644 index 00000000..01aa9680 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/criterion_error.proto @@ -0,0 +1,470 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing criterion errors. + +// Container for enum describing possible criterion errors. +message CriterionErrorEnum { + // Enum describing possible criterion errors. + enum CriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion is required for CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // The category requested for exclusion is invalid. + INVALID_EXCLUDED_CATEGORY = 3; + + // Invalid keyword criteria text. + INVALID_KEYWORD_TEXT = 4; + + // Keyword text should be less than 80 chars. + KEYWORD_TEXT_TOO_LONG = 5; + + // Keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 7; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 8; + + // Invalid user list criterion. + INVALID_USER_LIST = 9; + + // Invalid user interest criterion. + INVALID_USER_INTEREST = 10; + + // Placement URL has wrong format. + INVALID_FORMAT_FOR_PLACEMENT_URL = 11; + + // Placement URL is too long. + PLACEMENT_URL_IS_TOO_LONG = 12; + + // Indicates the URL contains an illegal character. + PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; + + // Indicates the URL contains multiple comma separated URLs. + PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; + + // Indicates the domain is blocked. + PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; + + // Invalid topic path. + INVALID_TOPIC_PATH = 16; + + // The YouTube Channel Id is invalid. + INVALID_YOUTUBE_CHANNEL_ID = 17; + + // The YouTube Video Id is invalid. + INVALID_YOUTUBE_VIDEO_ID = 18; + + // Indicates the placement is a YouTube vertical channel, which is no longer + // supported. + YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19; + + // Indicates the placement is a YouTube demographic channel, which is no + // longer supported. + YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20; + + // YouTube urls are not supported in Placement criterion. Use YouTubeChannel + // and YouTubeVideo criterion instead. + YOUTUBE_URL_UNSUPPORTED = 21; + + // Criteria type can not be excluded by the customer, like AOL account type + // cannot target site type criteria. + CANNOT_EXCLUDE_CRITERIA_TYPE = 22; + + // Criteria type can not be targeted. + CANNOT_ADD_CRITERIA_TYPE = 23; + + // Not allowed to exclude similar user list. + CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26; + + // Not allowed to target a closed user list. + CANNOT_ADD_CLOSED_USER_LIST = 27; + + // Not allowed to add display only UserLists to search only campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28; + + // Not allowed to add display only UserLists to search plus campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29; + + // Not allowed to add display only UserLists to shopping campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30; + + // Not allowed to add User interests to search only campaigns. + CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31; + + // Not allowed to set bids for this criterion type in search campaigns + CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32; + + // Final URLs, URL Templates and CustomParameters cannot be set for the + // criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and + // MobileAppCategory in search campaigns and shopping campaigns. + CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33; + + // Invalid combined audience criterion. + INVALID_COMBINED_AUDIENCE = 122; + + // Invalid custom affinity criterion. + INVALID_CUSTOM_AFFINITY = 96; + + // Invalid custom intent criterion. + INVALID_CUSTOM_INTENT = 97; + + // Invalid custom audience criterion. + INVALID_CUSTOM_AUDIENCE = 121; + + // IP address is not valid. + INVALID_IP_ADDRESS = 34; + + // IP format is not valid. + INVALID_IP_FORMAT = 35; + + // Mobile application is not valid. + INVALID_MOBILE_APP = 36; + + // Mobile application category is not valid. + INVALID_MOBILE_APP_CATEGORY = 37; + + // The CriterionId does not exist or is of the incorrect type. + INVALID_CRITERION_ID = 38; + + // The Criterion is not allowed to be targeted. + CANNOT_TARGET_CRITERION = 39; + + // The criterion is not allowed to be targeted as it is deprecated. + CANNOT_TARGET_OBSOLETE_CRITERION = 40; + + // The CriterionId is not valid for the type. + CRITERION_ID_AND_TYPE_MISMATCH = 41; + + // Distance for the radius for the proximity criterion is invalid. + INVALID_PROXIMITY_RADIUS = 42; + + // Units for the distance for the radius for the proximity criterion is + // invalid. + INVALID_PROXIMITY_RADIUS_UNITS = 43; + + // Street address in the address is not valid. + INVALID_STREETADDRESS_LENGTH = 44; + + // City name in the address is not valid. + INVALID_CITYNAME_LENGTH = 45; + + // Region code in the address is not valid. + INVALID_REGIONCODE_LENGTH = 46; + + // Region name in the address is not valid. + INVALID_REGIONNAME_LENGTH = 47; + + // Postal code in the address is not valid. + INVALID_POSTALCODE_LENGTH = 48; + + // Country code in the address is not valid. + INVALID_COUNTRY_CODE = 49; + + // Latitude for the GeoPoint is not valid. + INVALID_LATITUDE = 50; + + // Longitude for the GeoPoint is not valid. + INVALID_LONGITUDE = 51; + + // The Proximity input is not valid. Both address and geoPoint cannot be + // null. + PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52; + + // The Proximity address cannot be geocoded to a valid lat/long. + INVALID_PROXIMITY_ADDRESS = 53; + + // User domain name is not valid. + INVALID_USER_DOMAIN_NAME = 54; + + // Length of serialized criterion parameter exceeded size limit. + CRITERION_PARAMETER_TOO_LONG = 55; + + // Time interval in the AdSchedule overlaps with another AdSchedule. + AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56; + + // AdSchedule time interval cannot span multiple days. + AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57; + + // AdSchedule time interval specified is invalid, endTime cannot be earlier + // than startTime. + AD_SCHEDULE_INVALID_TIME_INTERVAL = 58; + + // The number of AdSchedule entries in a day exceeds the limit. + AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59; + + // CriteriaId does not match the interval of the AdSchedule specified. + AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60; + + // Cannot set bid modifier for this criterion type. + CANNOT_BID_MODIFY_CRITERION_TYPE = 61; + + // Cannot bid modify criterion, since it is opted out of the campaign. + CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62; + + // Cannot set bid modifier for a negative criterion. + CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63; + + // Bid Modifier already exists. Use SET operation to update. + BID_MODIFIER_ALREADY_EXISTS = 64; + + // Feed Id is not allowed in these Location Groups. + FEED_ID_NOT_ALLOWED = 65; + + // The account may not use the requested criteria type. For example, some + // accounts are restricted to keywords only. + ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66; + + // The requested criteria type cannot be used with campaign or ad group + // bidding strategy. + CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67; + + // The Criterion is not allowed to be excluded. + CANNOT_EXCLUDE_CRITERION = 68; + + // The criterion is not allowed to be removed. For example, we cannot remove + // any of the device criterion. + CANNOT_REMOVE_CRITERION = 69; + + // Bidding categories do not form a valid path in the Shopping bidding + // category taxonomy. + INVALID_PRODUCT_BIDDING_CATEGORY = 76; + + // ShoppingSetting must be added to the campaign before ProductScope + // criteria can be added. + MISSING_SHOPPING_SETTING = 77; + + // Matching function is invalid. + INVALID_MATCHING_FUNCTION = 78; + + // Filter parameters not allowed for location groups targeting. + LOCATION_FILTER_NOT_ALLOWED = 79; + + // Feed not found, or the feed is not an enabled location feed. + INVALID_FEED_FOR_LOCATION_FILTER = 98; + + // Given location filter parameter is invalid for location groups targeting. + LOCATION_FILTER_INVALID = 80; + + // Cannot set geo target constants and feed item sets at the same time. + CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS = 123; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/currency_code_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/currency_code_error.proto new file mode 100644 index 00000000..d535bc5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/currency_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing currency code errors. + +// Container for enum describing possible currency code errors. +message CurrencyCodeErrorEnum { + // Enum describing possible currency code errors. + enum CurrencyCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The currency code is not supported. + UNSUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/custom_audience_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/custom_audience_error.proto new file mode 100644 index 00000000..38da30c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/custom_audience_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing custom audience errors. + +// Container for enum describing possible custom audience errors. +message CustomAudienceErrorEnum { + // Enum describing possible custom audience errors. + enum CustomAudienceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // New name in the custom audience is duplicated ignoring cases. + NAME_ALREADY_USED = 2; + + // Cannot remove a custom audience while it's still being used as targeting. + CANNOT_REMOVE_WHILE_IN_USE = 3; + + // Cannot update or remove a custom audience that is already removed. + RESOURCE_ALREADY_REMOVED = 4; + + // The pair of [type, value] already exists in members. + MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Member type is invalid. + INVALID_MEMBER_TYPE = 6; + + // Member type does not have associated value. + MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH = 7; + + // Custom audience contains a member that violates policy. + POLICY_VIOLATION = 8; + + // Change in custom audience type is not allowed. + INVALID_TYPE_CHANGE = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/custom_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/custom_conversion_goal_error.proto new file mode 100644 index 00000000..1a25fc37 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/custom_conversion_goal_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing CustomConversionGoal errors. + +// Container for enum describing possible custom conversion goal errors. +message CustomConversionGoalErrorEnum { + // Enum describing possible custom conversion goal errors. + enum CustomConversionGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot find a conversion action with the specified id. + INVALID_CONVERSION_ACTION = 2; + + // The conversion action is not enabled so it cannot be included in a custom + // conversion goal. + CONVERSION_ACTION_NOT_ENABLED = 3; + + // The custom conversion goal cannot be removed because it's linked to a + // campaign. + CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL = 4; + + // Custom goal with the same name already exists. + CUSTOM_GOAL_DUPLICATE_NAME = 5; + + // Custom goal with the same conversion action list already exists. + DUPLICATE_CONVERSION_ACTION_LIST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/custom_interest_error.proto new file mode 100644 index 00000000..b4c25068 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/custom_interest_error.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing custom interest errors. + +// Container for enum describing possible custom interest errors. +message CustomInterestErrorEnum { + // Enum describing possible custom interest errors. + enum CustomInterestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate custom interest name ignoring case. + NAME_ALREADY_USED = 2; + + // In the remove custom interest member operation, both member ID and + // pair [type, parameter] are not present. + CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; + + // The pair of [type, parameter] does not exist. + TYPE_AND_PARAMETER_NOT_FOUND = 4; + + // The pair of [type, parameter] already exists. + TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Unsupported custom interest member type. + INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; + + // Cannot remove a custom interest while it's still being targeted. + CANNOT_REMOVE_WHILE_IN_USE = 7; + + // Cannot mutate custom interest type. + CANNOT_CHANGE_TYPE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_client_link_error.proto new file mode 100644 index 00000000..d6477987 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_client_link_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing CustomerClientLink errors. + +// Container for enum describing possible CustomeClientLink errors. +message CustomerClientLinkErrorEnum { + // Enum describing possible CustomerClientLink errors. + enum CustomerClientLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Trying to manage a client that already in being managed by customer. + CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; + + // Already managed by some other manager in the hierarchy. + CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; + + // Attempt to create a cycle in the hierarchy. + CYCLIC_LINK_NOT_ALLOWED = 4; + + // Managed accounts has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; + + // Invitor has the maximum pending invitations. + CLIENT_HAS_TOO_MANY_INVITATIONS = 6; + + // Attempt to change hidden status of a link that is not active. + CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; + + // Parent manager account has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; + + // Client has too many managers. + CLIENT_HAS_TOO_MANY_MANAGERS = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_customizer_error.proto new file mode 100644 index 00000000..b36f7d5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing customer customizer errors. + +// Container for enum describing possible customer customizer errors. +message CustomerCustomizerErrorEnum { + // Enum describing possible customer customizer errors. + enum CustomerCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_error.proto new file mode 100644 index 00000000..be4bdc50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Container for enum describing possible customer errors. +message CustomerErrorEnum { + // Set of errors that are related to requests dealing with Customer. + enum CustomerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer status is not allowed to be changed from DRAFT and CLOSED. + // Currency code and at least one of country code and time zone needs to be + // set when status is changed to ENABLED. + STATUS_CHANGE_DISALLOWED = 2; + + // CustomerService cannot get a customer that has not been fully set up. + ACCOUNT_NOT_SET_UP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_feed_error.proto new file mode 100644 index 00000000..87e83cec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_feed_error.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing customer feed errors. + +// Container for enum describing possible customer feed errors. +message CustomerFeedErrorEnum { + // Enum describing possible customer feed errors. + enum CustomerFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this customer and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The CustomerFeed already exists. Update should be used to modify the + // existing CustomerFeed. + CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; + + // Cannot update removed customer feed. + CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Placeholder not allowed at the account level. + PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_manager_link_error.proto new file mode 100644 index 00000000..ff36f1d8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_manager_link_error.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing CustomerManagerLink errors. + +// Container for enum describing possible CustomerManagerLink errors. +message CustomerManagerLinkErrorEnum { + // Enum describing possible CustomerManagerLink errors. + enum CustomerManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No pending invitation. + NO_PENDING_INVITE = 2; + + // Attempt to operate on the same client more than once in the same call. + SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; + + // Manager account has the maximum number of linked accounts. + MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; + + // If no active user on account it cannot be unlinked from its manager. + CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; + + // Account should have at least one active owner on it before being + // unlinked. + CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; + + // Only account owners may change their permission role. + CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; + + // When a client's link to its manager is not active, the link role cannot + // be changed. + CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; + + // Attempt to link a child to a parent that contains or will contain + // duplicate children. + DUPLICATE_CHILD_FOUND = 9; + + // The authorized customer is a test account. It can add no more than the + // allowed number of accounts + TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customer_user_access_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customer_user_access_error.proto new file mode 100644 index 00000000..a9a67d22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customer_user_access_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing CustomerUserAccess errors. + +// Container for enum describing possible CustomerUserAccess errors. +message CustomerUserAccessErrorEnum { + // Enum describing possible customer user access errors. + enum CustomerUserAccessError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There is no user associated with the user id specified. + INVALID_USER_ID = 2; + + // Unable to remove the access between the user and customer. + REMOVAL_DISALLOWED = 3; + + // Unable to add or update the access role as specified. + DISALLOWED_ACCESS_ROLE = 4; + + // The user can't remove itself from an active serving customer if it's the + // last admin user and the customer doesn't have any owner manager + LAST_ADMIN_USER_OF_SERVING_CUSTOMER = 5; + + // Last admin user cannot be removed from a manager. + LAST_ADMIN_USER_OF_MANAGER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/customizer_attribute_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/customizer_attribute_error.proto new file mode 100644 index 00000000..5e767edc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/customizer_attribute_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing customizer attribute errors. + +// Container for enum describing possible customizer attribute errors. +message CustomizerAttributeErrorEnum { + // Enum describing possible customizer attribute errors. + enum CustomizerAttributeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // CustomizerAttribute name matches that of another active + // CustomizerAttribute. + DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/database_error.proto new file mode 100644 index 00000000..44fced8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/database_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing database errors. + +// Container for enum describing possible database errors. +message DatabaseErrorEnum { + // Enum describing possible database errors. + enum DatabaseError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiple requests were attempting to modify the same resource at once. + // Retry the request. + CONCURRENT_MODIFICATION = 2; + + // The request conflicted with existing data. This error will usually be + // replaced with a more specific error if the request is retried. + DATA_CONSTRAINT_VIOLATION = 3; + + // The data written is too large. Split the request into smaller + // requests. + REQUEST_TOO_LARGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/date_error.proto new file mode 100644 index 00000000..9629107a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/date_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing date errors. + +// Container for enum describing possible date errors. +message DateErrorEnum { + // Enum describing possible date errors. + enum DateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Given field values do not correspond to a valid date. + INVALID_FIELD_VALUES_IN_DATE = 2; + + // Given field values do not correspond to a valid date time. + INVALID_FIELD_VALUES_IN_DATE_TIME = 3; + + // The string date's format should be yyyy-mm-dd. + INVALID_STRING_DATE = 4; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. + INVALID_STRING_DATE_TIME_MICROS = 6; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss. + INVALID_STRING_DATE_TIME_SECONDS = 11; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. + INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; + + // Date is before allowed minimum. + EARLIER_THAN_MINIMUM_DATE = 7; + + // Date is after allowed maximum. + LATER_THAN_MAXIMUM_DATE = 8; + + // Date range bounds are not in order. + DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; + + // Both dates in range are null. + DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/date_range_error.proto new file mode 100644 index 00000000..b8470c53 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/date_range_error.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing date range errors. + +// Container for enum describing possible date range errors. +message DateRangeErrorEnum { + // Enum describing possible date range errors. + enum DateRangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date. + INVALID_DATE = 2; + + // The start date was after the end date. + START_DATE_AFTER_END_DATE = 3; + + // Cannot set date to past time + CANNOT_SET_DATE_TO_PAST = 4; + + // A date was used that is past the system "last" date. + AFTER_MAXIMUM_ALLOWABLE_DATE = 5; + + // Trying to change start date on a resource that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/distinct_error.proto new file mode 100644 index 00000000..96746675 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/distinct_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing distinct errors. + +// Container for enum describing possible distinct errors. +message DistinctErrorEnum { + // Enum describing possible distinct errors. + enum DistinctError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate element. + DUPLICATE_ELEMENT = 2; + + // Duplicate type. + DUPLICATE_TYPE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/enum_error.proto new file mode 100644 index 00000000..56cfdf47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/enum_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing enum errors. + +// Container for enum describing possible enum errors. +message EnumErrorEnum { + // Enum describing possible enum errors. + enum EnumError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The enum value is not permitted. + ENUM_VALUE_NOT_PERMITTED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v11/errors/errors.proto new file mode 100644 index 00000000..ea5b914b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/errors.proto @@ -0,0 +1,739 @@ +// 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.ads.googleads.v11.errors; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/common/value.proto"; +import "google/ads/googleads/v11/enums/resource_limit_type.proto"; +import "google/ads/googleads/v11/errors/access_invitation_error.proto"; +import "google/ads/googleads/v11/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v11/errors/account_link_error.proto"; +import "google/ads/googleads/v11/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v11/errors/ad_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_error.proto"; +import "google/ads/googleads/v11/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v11/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v11/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v11/errors/adx_error.proto"; +import "google/ads/googleads/v11/errors/asset_error.proto"; +import "google/ads/googleads/v11/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v11/errors/asset_group_error.proto"; +import "google/ads/googleads/v11/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v11/errors/asset_link_error.proto"; +import "google/ads/googleads/v11/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v11/errors/asset_set_error.proto"; +import "google/ads/googleads/v11/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v11/errors/audience_error.proto"; +import "google/ads/googleads/v11/errors/audience_insights_error.proto"; +import "google/ads/googleads/v11/errors/authentication_error.proto"; +import "google/ads/googleads/v11/errors/authorization_error.proto"; +import "google/ads/googleads/v11/errors/batch_job_error.proto"; +import "google/ads/googleads/v11/errors/bidding_error.proto"; +import "google/ads/googleads/v11/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v11/errors/billing_setup_error.proto"; +import "google/ads/googleads/v11/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v11/errors/campaign_conversion_goal_error.proto"; +import "google/ads/googleads/v11/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v11/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v11/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v11/errors/campaign_error.proto"; +import "google/ads/googleads/v11/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v11/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v11/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v11/errors/change_event_error.proto"; +import "google/ads/googleads/v11/errors/change_status_error.proto"; +import "google/ads/googleads/v11/errors/collection_size_error.proto"; +import "google/ads/googleads/v11/errors/context_error.proto"; +import "google/ads/googleads/v11/errors/conversion_action_error.proto"; +import "google/ads/googleads/v11/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v11/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v11/errors/conversion_goal_campaign_config_error.proto"; +import "google/ads/googleads/v11/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v11/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v11/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v11/errors/country_code_error.proto"; +import "google/ads/googleads/v11/errors/criterion_error.proto"; +import "google/ads/googleads/v11/errors/currency_code_error.proto"; +import "google/ads/googleads/v11/errors/custom_audience_error.proto"; +import "google/ads/googleads/v11/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v11/errors/custom_interest_error.proto"; +import "google/ads/googleads/v11/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v11/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v11/errors/customer_error.proto"; +import "google/ads/googleads/v11/errors/customer_feed_error.proto"; +import "google/ads/googleads/v11/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v11/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v11/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v11/errors/database_error.proto"; +import "google/ads/googleads/v11/errors/date_error.proto"; +import "google/ads/googleads/v11/errors/date_range_error.proto"; +import "google/ads/googleads/v11/errors/distinct_error.proto"; +import "google/ads/googleads/v11/errors/enum_error.proto"; +import "google/ads/googleads/v11/errors/experiment_arm_error.proto"; +import "google/ads/googleads/v11/errors/experiment_error.proto"; +import "google/ads/googleads/v11/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v11/errors/extension_setting_error.proto"; +import "google/ads/googleads/v11/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v11/errors/feed_error.proto"; +import "google/ads/googleads/v11/errors/feed_item_error.proto"; +import "google/ads/googleads/v11/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v11/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v11/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v11/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v11/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v11/errors/field_error.proto"; +import "google/ads/googleads/v11/errors/field_mask_error.proto"; +import "google/ads/googleads/v11/errors/function_error.proto"; +import "google/ads/googleads/v11/errors/function_parsing_error.proto"; +import "google/ads/googleads/v11/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v11/errors/header_error.proto"; +import "google/ads/googleads/v11/errors/id_error.proto"; +import "google/ads/googleads/v11/errors/image_error.proto"; +import "google/ads/googleads/v11/errors/internal_error.proto"; +import "google/ads/googleads/v11/errors/invoice_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v11/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v11/errors/label_error.proto"; +import "google/ads/googleads/v11/errors/language_code_error.proto"; +import "google/ads/googleads/v11/errors/list_operation_error.proto"; +import "google/ads/googleads/v11/errors/manager_link_error.proto"; +import "google/ads/googleads/v11/errors/media_bundle_error.proto"; +import "google/ads/googleads/v11/errors/media_file_error.proto"; +import "google/ads/googleads/v11/errors/media_upload_error.proto"; +import "google/ads/googleads/v11/errors/merchant_center_error.proto"; +import "google/ads/googleads/v11/errors/multiplier_error.proto"; +import "google/ads/googleads/v11/errors/mutate_error.proto"; +import "google/ads/googleads/v11/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v11/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v11/errors/not_empty_error.proto"; +import "google/ads/googleads/v11/errors/null_error.proto"; +import "google/ads/googleads/v11/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v11/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v11/errors/operator_error.proto"; +import "google/ads/googleads/v11/errors/partial_failure_error.proto"; +import "google/ads/googleads/v11/errors/payments_account_error.proto"; +import "google/ads/googleads/v11/errors/policy_finding_error.proto"; +import "google/ads/googleads/v11/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v11/errors/policy_violation_error.proto"; +import "google/ads/googleads/v11/errors/query_error.proto"; +import "google/ads/googleads/v11/errors/quota_error.proto"; +import "google/ads/googleads/v11/errors/range_error.proto"; +import "google/ads/googleads/v11/errors/reach_plan_error.proto"; +import "google/ads/googleads/v11/errors/recommendation_error.proto"; +import "google/ads/googleads/v11/errors/region_code_error.proto"; +import "google/ads/googleads/v11/errors/request_error.proto"; +import "google/ads/googleads/v11/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v11/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v11/errors/setting_error.proto"; +import "google/ads/googleads/v11/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v11/errors/shared_set_error.proto"; +import "google/ads/googleads/v11/errors/size_limit_error.proto"; +import "google/ads/googleads/v11/errors/string_format_error.proto"; +import "google/ads/googleads/v11/errors/string_length_error.proto"; +import "google/ads/googleads/v11/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v11/errors/time_zone_error.proto"; +import "google/ads/googleads/v11/errors/url_field_error.proto"; +import "google/ads/googleads/v11/errors/user_data_error.proto"; +import "google/ads/googleads/v11/errors/user_list_error.proto"; +import "google/ads/googleads/v11/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing the common error protos + +// Describes how a GoogleAds API call failed. It's returned inside +// google.rpc.Status.details when a call fails. +message GoogleAdsFailure { + // The list of errors that occurred. + repeated GoogleAdsError errors = 1; + + // The unique ID of the request that is used for debugging purposes. + string request_id = 2; +} + +// GoogleAds-specific error. +message GoogleAdsError { + // An enum value that indicates which error occurred. + ErrorCode error_code = 1; + + // A human-readable description of the error. + string message = 2; + + // The value that triggered the error. + google.ads.googleads.v11.common.Value trigger = 3; + + // Describes the part of the request proto that caused the error. + ErrorLocation location = 4; + + // Additional error details, which are returned by certain error codes. Most + // error codes do not include details. + ErrorDetails details = 5; +} + +// The error reason represented by type and enum. +message ErrorCode { + // The list of error enums + oneof error_code { + // An error caused by the request + RequestErrorEnum.RequestError request_error = 1; + + // An error with a Bidding Strategy mutate. + BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; + + // An error with a URL field mutate. + UrlFieldErrorEnum.UrlFieldError url_field_error = 3; + + // An error with a list operation. + ListOperationErrorEnum.ListOperationError list_operation_error = 4; + + // An error with an AWQL query + QueryErrorEnum.QueryError query_error = 5; + + // An error with a mutate + MutateErrorEnum.MutateError mutate_error = 7; + + // An error with a field mask + FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; + + // An error encountered when trying to authorize a user. + AuthorizationErrorEnum.AuthorizationError authorization_error = 9; + + // An unexpected server-side error. + InternalErrorEnum.InternalError internal_error = 10; + + // An error with the 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; + + // 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; + } +} + +// Describes the part of the request proto that caused the error. +message ErrorLocation { + // A part of a field path. + message FieldPathElement { + // The name of a field or a oneof + string field_name = 1; + + // If field_name is a repeated field, this is the element that failed + optional int32 index = 3; + } + + // A field path that indicates which field was invalid in the request. + repeated FieldPathElement field_path_elements = 2; +} + +// Additional error details. +message ErrorDetails { + // The error code that should have been returned, but wasn't. This is used + // when the error code is not published in the client specified version. + string unpublished_error_code = 1; + + // Describes an ad policy violation. + PolicyViolationDetails policy_violation_details = 2; + + // Describes policy violation findings. + PolicyFindingDetails policy_finding_details = 3; + + // Details on the quota error, including the scope (account or developer), the + // rate bucket name and the retry delay. + QuotaErrorDetails quota_error_details = 4; + + // Details for a resource count limit exceeded error. + ResourceCountDetails resource_count_details = 5; +} + +// Error returned as part of a mutate response. +// This error indicates single policy violation by some text +// in one of the fields. +message PolicyViolationDetails { + // Human readable description of policy violation. + string external_policy_description = 2; + + // Unique identifier for this violation. + // If policy is exemptible, this key may be used to request exemption. + google.ads.googleads.v11.common.PolicyViolationKey key = 4; + + // Human readable name of the policy. + string external_policy_name = 5; + + // Whether user can file an exemption request for this violation. + bool is_exemptible = 6; +} + +// Error returned as part of a mutate response. +// This error indicates one or more policy findings in the fields of a +// resource. +message PolicyFindingDetails { + // The list of policy topics for the resource. Contains the PROHIBITED or + // FULLY_LIMITED policy topic entries that prevented the resource from being + // saved (among any other entries the resource may also have). + repeated google.ads.googleads.v11.common.PolicyTopicEntry policy_topic_entries = 1; +} + +// Additional quota error details when there is QuotaError. +message QuotaErrorDetails { + // Enum of possible scopes that quota buckets belong to. + enum QuotaRateScope { + // Unspecified enum + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per customer account quota + ACCOUNT = 2; + + // Per project or DevToken quota + DEVELOPER = 3; + } + + // The rate scope of the quota limit. + QuotaRateScope rate_scope = 1; + + // The high level description of the quota bucket. + // Examples are "Get requests for standard access" or "Requests per account". + string rate_name = 2; + + // Backoff period that customers should wait before sending next request. + google.protobuf.Duration retry_delay = 3; +} + +// Error details returned when an resource count limit was exceeded. +message ResourceCountDetails { + // The ID of the resource whose limit was exceeded. + // External customer ID if the limit is for a customer. + string enclosing_id = 1; + + // The name of the resource (Customer, Campaign etc.) whose limit was + // exceeded. + string enclosing_resource = 5; + + // The limit which was exceeded. + int32 limit = 2; + + // The resource limit type which was exceeded. + google.ads.googleads.v11.enums.ResourceLimitTypeEnum.ResourceLimitType limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/experiment_arm_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/experiment_arm_error.proto new file mode 100644 index 00000000..f8b15123 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/experiment_arm_error.proto @@ -0,0 +1,86 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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/google-cloud/protos/google/ads/googleads/v11/errors/experiment_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/experiment_error.proto new file mode 100644 index 00000000..6a4f7ed1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/experiment_error.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/extension_feed_item_error.proto new file mode 100644 index 00000000..ca46655e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/extension_feed_item_error.proto @@ -0,0 +1,193 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing extension feed item errors. + +// Container for enum describing possible extension feed item error. +message ExtensionFeedItemErrorEnum { + // Enum describing possible extension feed item errors. + enum ExtensionFeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 2; + + // Url list is too long. + URL_LIST_TOO_LONG = 3; + + // Cannot have a geo targeting restriction without having geo targeting. + CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; + + // Cannot simultaneously set sitelink field with final urls. + CANNOT_SET_WITH_FINAL_URLS = 5; + + // Must set field with final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 6; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 7; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; + + // Phone number type for a call extension is not allowed. + // For example, personal number is not allowed for a call extension in + // most regions. + DISALLOWED_NUMBER_TYPE = 11; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; + + // Vanity phone numbers (for example, those including letters) are not + // allowed for call extensions. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 13; + + // Call conversion action provided for a call extension is invalid. + INVALID_CALL_CONVERSION_ACTION = 14; + + // For a call extension, the customer is not on the allow-list for call + // tracking. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING = 47; + + // Call tracking is not supported for the given country for a call + // extension. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 16; + + // Customer hasn't consented for call recording, which is required for + // creating/updating call feed items. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 17; + + // App id provided for an app extension is invalid. + INVALID_APP_ID = 18; + + // Quotation marks present in the review text for a review extension. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 19; + + // Hyphen character present in the review text for a review extension. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20; + + // A denylisted review source name or url was provided for a review + // extension. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21; + + // Review source name should not be found in the review text. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 22; + + // Inconsistent currency codes. + INCONSISTENT_CURRENCY_CODES = 23; + + // Price extension cannot have duplicated headers. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 24; + + // Price item cannot have duplicated header and description. + PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 25; + + // Price extension has too few items. + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 26; + + // Price extension has too many items. + PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 27; + + // The input value is not currently supported. + UNSUPPORTED_VALUE = 28; + + // The input value is not currently supported in the selected language of an + // extension. + UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 29; + + // Unknown or unsupported device preference. + INVALID_DEVICE_PREFERENCE = 30; + + // Invalid feed item schedule end time (for example, endHour = 24 and + // endMinute != 0). + INVALID_SCHEDULE_END = 31; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 32; + + // Invalid structured snippet header. + INVALID_SNIPPETS_HEADER = 33; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 34; + + // Phone number not supported when call tracking enabled for country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 35; + + // Cannot set call_conversion_action while call_conversion_tracking_enabled + // is set to true. + CONFLICTING_CALL_CONVERSION_SETTINGS = 36; + + // The type of the input extension feed item doesn't match the existing + // extension feed item. + EXTENSION_TYPE_MISMATCH = 37; + + // The oneof field extension for example, subtype of extension feed item is + // required. + EXTENSION_SUBTYPE_REQUIRED = 38; + + // The referenced feed item is not mapped to a supported extension type. + EXTENSION_TYPE_UNSUPPORTED = 39; + + // Cannot operate on a Feed with more than one active FeedMapping. + CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS = 40; + + // Cannot operate on a Feed that has key attributes. + CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES = 41; + + // Input price is not in a valid format. + INVALID_PRICE_FORMAT = 42; + + // The promotion time is invalid. + PROMOTION_INVALID_TIME = 43; + + // This field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 44; + + // Concrete sub type of ExtensionFeedItem is required for this operation. + CONCRETE_EXTENSION_TYPE_REQUIRED = 45; + + // Feed item schedule end time must be after start time. + SCHEDULE_END_NOT_AFTER_START = 46; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/extension_setting_error.proto new file mode 100644 index 00000000..25890d8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/extension_setting_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing extension setting validation errors. + +// Container for enum describing validation errors of extension settings. +message ExtensionSettingErrorEnum { + // Enum describing possible extension setting errors. + enum ExtensionSettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A platform restriction was provided without input extensions or existing + // extensions. + EXTENSIONS_REQUIRED = 2; + + // The provided feed type does not correspond to the provided extensions. + FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; + + // The provided feed type cannot be used. + INVALID_FEED_TYPE = 4; + + // The provided feed type cannot be used at the customer level. + INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; + + // Cannot change a feed item field on a CREATE operation. + CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; + + // Cannot update an extension that is not already in this setting. + CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; + + // There is no existing AdGroupExtensionSetting for this type. + NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; + + // There is no existing CampaignExtensionSetting for this type. + NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; + + // There is no existing CustomerExtensionSetting for this type. + NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; + + // The AdGroupExtensionSetting already exists. UPDATE should be used to + // modify the existing AdGroupExtensionSetting. + AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; + + // The CampaignExtensionSetting already exists. UPDATE should be used to + // modify the existing CampaignExtensionSetting. + CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; + + // The CustomerExtensionSetting already exists. UPDATE should be used to + // modify the existing CustomerExtensionSetting. + CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; + + // An active ad group feed already exists for this place holder type. + AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; + + // An active campaign feed already exists for this place holder type. + CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; + + // An active customer feed already exists for this place holder type. + CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 17; + + // Cannot simultaneously set specified field with final urls. + CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; + + // Must set field with final urls. + FINAL_URLS_NOT_SET = 19; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 20; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; + + // Phone number type for a call extension is not allowed. + DISALLOWED_NUMBER_TYPE = 24; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; + + // Vanity phone numbers (for example, those including letters) are not + // allowed for call extensions. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 26; + + // Country code provided for a call extension is invalid. + INVALID_COUNTRY_CODE = 27; + + // Call conversion type id provided for a call extension is invalid. + INVALID_CALL_CONVERSION_TYPE_ID = 28; + + // For a call extension, the customer is not on the allow-list for call + // tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 69; + + // Call tracking is not supported for the given country for a call + // extension. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 30; + + // App id provided for an app extension is invalid. + INVALID_APP_ID = 31; + + // Quotation marks present in the review text for a review extension. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Hyphen character present in the review text for a review extension. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // A blocked review source name or url was provided for a review + // extension. + REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34; + + // Review source name should not be found in the review text. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 35; + + // Field must be set. + MISSING_FIELD = 36; + + // Inconsistent currency codes. + INCONSISTENT_CURRENCY_CODES = 37; + + // Price extension cannot have duplicated headers. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 38; + + // Price item cannot have duplicated header and description. + PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 39; + + // Price extension has too few items + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 40; + + // Price extension has too many items + PRICE_EXTENSION_HAS_TOO_MANY_ITEMS = 41; + + // The input value is not currently supported. + UNSUPPORTED_VALUE = 42; + + // Unknown or unsupported device preference. + INVALID_DEVICE_PREFERENCE = 43; + + // Invalid feed item schedule end time (for example, endHour = 24 and + // endMinute != 0). + INVALID_SCHEDULE_END = 45; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 47; + + // Overlapping feed item schedule times (for example, 7-10AM and 8-11AM) are + // not allowed. + OVERLAPPING_SCHEDULES_NOT_ALLOWED = 48; + + // Feed item schedule end time must be after start time. + SCHEDULE_END_NOT_AFTER_START = 49; + + // There are too many feed item schedules per day. + TOO_MANY_SCHEDULES_PER_DAY = 50; + + // Cannot edit the same extension feed item more than once in the same + // request. + DUPLICATE_EXTENSION_FEED_ITEM_EDIT = 51; + + // Invalid structured snippet header. + INVALID_SNIPPETS_HEADER = 52; + + // Phone number with call tracking enabled is not supported for the + // specified country. + PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 53; + + // The targeted adgroup must belong to the targeted campaign. + CAMPAIGN_TARGETING_MISMATCH = 54; + + // The feed used by the ExtensionSetting is removed and cannot be operated + // on. Remove the ExtensionSetting to allow a new one to be created using + // an active feed. + CANNOT_OPERATE_ON_REMOVED_FEED = 55; + + // The ExtensionFeedItem type is required for this operation. + EXTENSION_TYPE_REQUIRED = 56; + + // The matching function that links the extension feed to the customer, + // campaign, or ad group is not compatible with the ExtensionSetting + // services. + INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION = 57; + + // Start date must be before end date. + START_DATE_AFTER_END_DATE = 58; + + // Input price is not in a valid format. + INVALID_PRICE_FORMAT = 59; + + // The promotion time is invalid. + PROMOTION_INVALID_TIME = 60; + + // Cannot set both percent discount and money discount fields. + PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT = 61; + + // Cannot set both promotion code and orders over amount fields. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 62; + + // This field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 63; + + // The language code is not valid. + INVALID_LANGUAGE_CODE = 64; + + // The language is not supported. + UNSUPPORTED_LANGUAGE = 65; + + // Customer hasn't consented for call recording, which is required for + // adding/updating call extensions. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 66; + + // The UPDATE operation does not specify any fields other than the resource + // name in the update mask. + EXTENSION_SETTING_UPDATE_IS_A_NOOP = 67; + + // The extension contains text which has been prohibited on policy grounds. + DISALLOWED_TEXT = 68; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_attribute_reference_error.proto new file mode 100644 index 00000000..7e80ba9c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_attribute_reference_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed attribute reference errors. + +// Container for enum describing possible feed attribute reference errors. +message FeedAttributeReferenceErrorEnum { + // Enum describing possible feed attribute reference errors. + enum FeedAttributeReferenceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A feed referenced by ID has been removed. + CANNOT_REFERENCE_REMOVED_FEED = 2; + + // There is no enabled feed with the given name. + INVALID_FEED_NAME = 3; + + // There is no feed attribute in an enabled feed with the given name. + INVALID_FEED_ATTRIBUTE_NAME = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_error.proto new file mode 100644 index 00000000..5ef250e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_error.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed errors. + +// Container for enum describing possible feed errors. +message FeedErrorEnum { + // Enum describing possible feed errors. + enum FeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The names of the FeedAttributes must be unique. + ATTRIBUTE_NAMES_NOT_UNIQUE = 2; + + // The attribute list must be an exact copy of the existing list if the + // attribute ID's are present. + ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; + + // Cannot specify USER origin for a system generated feed. + CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; + + // Cannot specify GOOGLE origin for a non-system generated feed. + CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; + + // Cannot specify feed attributes for system feed. + CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; + + // Cannot update FeedAttributes on feed with origin GOOGLE. + CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; + + // The given ID refers to a removed Feed. Removed Feeds are immutable. + FEED_REMOVED = 8; + + // The origin of the feed is not valid for the client. + INVALID_ORIGIN_VALUE = 9; + + // A user can only create and modify feeds with USER origin. + FEED_ORIGIN_IS_NOT_USER = 10; + + // Invalid auth token for the given email. + INVALID_AUTH_TOKEN_FOR_EMAIL = 11; + + // Invalid email specified. + INVALID_EMAIL = 12; + + // Feed name matches that of another active Feed. + DUPLICATE_FEED_NAME = 13; + + // Name of feed is not allowed. + INVALID_FEED_NAME = 14; + + // Missing OAuthInfo. + MISSING_OAUTH_INFO = 15; + + // New FeedAttributes must not affect the unique key. + NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; + + // Too many FeedAttributes for a Feed. + TOO_MANY_ATTRIBUTES = 17; + + // The business account is not valid. + INVALID_BUSINESS_ACCOUNT = 18; + + // Business account cannot access Business Profile. + BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19; + + // Invalid chain ID provided for affiliate location feed. + INVALID_AFFILIATE_CHAIN_ID = 20; + + // There is already a feed with the given system feed generation data. + DUPLICATE_SYSTEM_FEED = 21; + + // An error occurred accessing Business Profile. + GMB_ACCESS_ERROR = 22; + + // A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds. + CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS = 23; + + // Feed-based extension is read-only for this extension type. + LEGACY_EXTENSION_TYPE_READ_ONLY = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_error.proto new file mode 100644 index 00000000..d97fd32a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_error.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedItemErrorEnum { + // Enum describing possible feed item errors. + enum FeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot convert the feed attribute value from string to its real type. + CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; + + // Feed item with the key attributes could not be found. + KEY_ATTRIBUTES_NOT_FOUND = 5; + + // Url feed attribute value is not valid. + INVALID_URL = 6; + + // Some key attributes are missing. + MISSING_KEY_ATTRIBUTES = 7; + + // Feed item has same key attributes as another feed item. + KEY_ATTRIBUTES_NOT_UNIQUE = 8; + + // Cannot modify key attributes on an existing feed item. + CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; + + // The feed attribute value is too large. + SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_error.proto new file mode 100644 index 00000000..90e7ab81 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_error.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item set errors. + +// Container for enum describing possible feed item set errors. +message FeedItemSetErrorEnum { + // Enum describing possible feed item set errors. + enum FeedItemSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given ID refers to a removed FeedItemSet. + FEED_ITEM_SET_REMOVED = 2; + + // The dynamic filter of a feed item set cannot be cleared on UPDATE if it + // exists. A set is either static or dynamic once added, and that cannot + // change. + CANNOT_CLEAR_DYNAMIC_FILTER = 3; + + // The dynamic filter of a feed item set cannot be created on UPDATE if it + // does not exist. A set is either static or dynamic once added, and that + // cannot change. + CANNOT_CREATE_DYNAMIC_FILTER = 4; + + // FeedItemSets can only be made for location or affiliate location feeds. + INVALID_FEED_TYPE = 5; + + // FeedItemSets duplicate name. Name should be unique within an account. + DUPLICATE_NAME = 6; + + // The feed type of the parent Feed is not compatible with the type of + // dynamic filter being set. For example, you can only set + // dynamic_location_set_filter for LOCATION feed item sets. + WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE = 7; + + // Chain ID specified for AffiliateLocationFeedData is invalid. + DYNAMIC_FILTER_INVALID_CHAIN_IDS = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_link_error.proto new file mode 100644 index 00000000..efdcba8e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_set_link_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item set link errors. + +// Container for enum describing possible feed item set link errors. +message FeedItemSetLinkErrorEnum { + // Enum describing possible feed item set link errors. + enum FeedItemSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems + // in a given Feed can be linked to a FeedItemSet in that Feed. + FEED_ID_MISMATCH = 2; + + // Cannot add or remove links to a dynamic set. + NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_target_error.proto new file mode 100644 index 00000000..226a1b83 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_target_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item target errors. + +// Container for enum describing possible feed item target errors. +message FeedItemTargetErrorEnum { + // Enum describing possible feed item target errors. + enum FeedItemTargetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // On CREATE, the FeedItemTarget must have a populated field in the oneof + // target. + MUST_SET_TARGET_ONEOF_ON_CREATE = 2; + + // The specified feed item target already exists, so it cannot be added. + FEED_ITEM_TARGET_ALREADY_EXISTS = 3; + + // The schedules for a given feed item cannot overlap. + FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; + + // Too many targets of a given type were added for a single feed item. + TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; + + // Too many AdSchedules are enabled for the feed item for the given day. + TOO_MANY_SCHEDULES_PER_DAY = 6; + + // A feed item may either have an enabled campaign target or an enabled ad + // group target. + CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; + + // Duplicate ad schedules aren't allowed. + DUPLICATE_AD_SCHEDULE = 8; + + // Duplicate keywords aren't allowed. + DUPLICATE_KEYWORD = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_validation_error.proto new file mode 100644 index 00000000..921fd804 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_item_validation_error.proto @@ -0,0 +1,375 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item validation errors. + +// Container for enum describing possible validation errors of a feed item. +message FeedItemValidationErrorEnum { + // The possible validation errors of a feed item. + enum FeedItemValidationError { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // String is too short. + STRING_TOO_SHORT = 2; + + // String is too long. + STRING_TOO_LONG = 3; + + // Value is not provided. + VALUE_NOT_SPECIFIED = 4; + + // Phone number format is invalid for region. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; + + // String does not represent a phone number. + INVALID_PHONE_NUMBER = 6; + + // Phone number format is not compatible with country code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; + + // Premium rate number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; + + // Phone number type is not allowed. + DISALLOWED_NUMBER_TYPE = 9; + + // Specified value is outside of the valid range. + VALUE_OUT_OF_RANGE = 10; + + // Call tracking is not supported in the selected country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; + + // Customer is not on the allow-list for call tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 99; + + // Country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // The specified mobile app id is invalid. + INVALID_APP_ID = 14; + + // Some required field attributes are missing. + MISSING_ATTRIBUTES_FOR_FIELDS = 15; + + // Invalid email button type for email extension. + INVALID_TYPE_ID = 16; + + // Email address is invalid. + INVALID_EMAIL_ADDRESS = 17; + + // The HTTPS URL in email extension is invalid. + INVALID_HTTPS_URL = 18; + + // Delivery address is missing from email extension. + MISSING_DELIVERY_ADDRESS = 19; + + // FeedItem scheduling start date comes after end date. + START_DATE_AFTER_END_DATE = 20; + + // FeedItem scheduling start time is missing. + MISSING_FEED_ITEM_START_TIME = 21; + + // FeedItem scheduling end time is missing. + MISSING_FEED_ITEM_END_TIME = 22; + + // Cannot compute system attributes on a FeedItem that has no FeedItemId. + MISSING_FEED_ITEM_ID = 23; + + // Call extension vanity phone numbers are not supported. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 24; + + // Invalid review text. + INVALID_REVIEW_EXTENSION_SNIPPET = 25; + + // Invalid format for numeric value in ad parameter. + INVALID_NUMBER_FORMAT = 26; + + // Invalid format for date value in ad parameter. + INVALID_DATE_FORMAT = 27; + + // Invalid format for price value in ad parameter. + INVALID_PRICE_FORMAT = 28; + + // Unrecognized type given for value in ad parameter. + UNKNOWN_PLACEHOLDER_FIELD = 29; + + // Enhanced sitelinks must have both description lines specified. + MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30; + + // Review source is ineligible. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31; + + // Review text cannot contain hyphens or dashes. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Review text cannot contain double quote characters. + DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // Review text cannot contain quote characters. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34; + + // Parameters are encoded in the wrong format. + INVALID_FORM_ENCODED_PARAMS = 35; + + // URL parameter name must contain only letters, numbers, underscores, and + // dashes. + INVALID_URL_PARAMETER_NAME = 36; + + // Cannot find address location. + NO_GEOCODING_RESULT = 37; + + // Review extension text has source name. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38; + + // Some phone numbers can be shorter than usual. Some of these short numbers + // are carrier-specific, and we disallow those in ad extensions because they + // will not be available to all users. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39; + + // Triggered when a request references a placeholder field id that does not + // exist. + INVALID_PLACEHOLDER_FIELD_ID = 40; + + // URL contains invalid ValueTrack tags or format. + INVALID_URL_TAG = 41; + + // Provided list exceeds acceptable size. + LIST_TOO_LONG = 42; + + // Certain combinations of attributes aren't allowed to be specified in the + // same feed item. + INVALID_ATTRIBUTES_COMBINATION = 43; + + // An attribute has the same value repeatedly. + DUPLICATE_VALUES = 44; + + // Advertisers can link a conversion action with a phone number to indicate + // that sufficiently long calls forwarded to that phone number should be + // counted as conversions of the specified type. This is an error message + // indicating that the conversion action specified is invalid (for example, + // the conversion action does not exist within the appropriate Google Ads + // account, or it is a type of conversion not appropriate to phone call + // conversions). + INVALID_CALL_CONVERSION_ACTION_ID = 45; + + // Tracking template requires final url to be set. + CANNOT_SET_WITHOUT_FINAL_URLS = 46; + + // An app id was provided that doesn't exist in the given app store. + APP_ID_DOESNT_EXIST_IN_APP_STORE = 47; + + // Invalid U2 final url. + INVALID_FINAL_URL = 48; + + // Invalid U2 tracking url. + INVALID_TRACKING_URL = 49; + + // Final URL should start from App download URL. + INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 50; + + // List provided is too short. + LIST_TOO_SHORT = 51; + + // User Action field has invalid value. + INVALID_USER_ACTION = 52; + + // Type field has invalid value. + INVALID_TYPE_NAME = 53; + + // Change status for event is invalid. + INVALID_EVENT_CHANGE_STATUS = 54; + + // The header of a structured snippets extension is not one of the valid + // headers. + INVALID_SNIPPETS_HEADER = 55; + + // Android app link is not formatted correctly + INVALID_ANDROID_APP_LINK = 56; + + // Phone number incompatible with call tracking for country. + NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 57; + + // The input is identical to a reserved keyword + RESERVED_KEYWORD_OTHER = 58; + + // Each option label in the message extension must be unique. + DUPLICATE_OPTION_LABELS = 59; + + // Each option prefill in the message extension must be unique. + DUPLICATE_OPTION_PREFILLS = 60; + + // In message extensions, the number of optional labels and optional + // prefills must be the same. + UNEQUAL_LIST_LENGTHS = 61; + + // All currency codes in an ad extension must be the same. + INCONSISTENT_CURRENCY_CODES = 62; + + // Headers in price extension are not unique. + PRICE_EXTENSION_HAS_DUPLICATED_HEADERS = 63; + + // Header and description in an item are the same. + ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION = 64; + + // Price extension has too few items. + PRICE_EXTENSION_HAS_TOO_FEW_ITEMS = 65; + + // The given value is not supported. + UNSUPPORTED_VALUE = 66; + + // Invalid final mobile url. + INVALID_FINAL_MOBILE_URL = 67; + + // The given string value of Label contains invalid characters + INVALID_KEYWORDLESS_AD_RULE_LABEL = 68; + + // The given URL contains value track parameters. + VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 69; + + // The given value is not supported in the selected language of an + // extension. + UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE = 70; + + // The iOS app link is not formatted correctly. + INVALID_IOS_APP_LINK = 71; + + // iOS app link or iOS app store id is missing. + MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID = 72; + + // Promotion time is invalid. + PROMOTION_INVALID_TIME = 73; + + // Both the percent off and money amount off fields are set. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 74; + + // Both the promotion code and orders over amount fields are set. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 75; + + // Too many decimal places are specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 76; + + // Ad Customizers are present and not allowed. + AD_CUSTOMIZERS_NOT_ALLOWED = 77; + + // Language code is not valid. + INVALID_LANGUAGE_CODE = 78; + + // Language is not supported. + UNSUPPORTED_LANGUAGE = 79; + + // IF Function is present and not allowed. + IF_FUNCTION_NOT_ALLOWED = 80; + + // Final url suffix is not valid. + INVALID_FINAL_URL_SUFFIX = 81; + + // Final url suffix contains an invalid tag. + INVALID_TAG_IN_FINAL_URL_SUFFIX = 82; + + // Final url suffix is formatted incorrectly. + INVALID_FINAL_URL_SUFFIX_FORMAT = 83; + + // Consent for call recording, which is required for the use of call + // extensions, was not provided by the advertiser. See + // https://support.google.com/google-ads/answer/7412639. + CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 84; + + // Multiple message delivery options are set. + ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED = 85; + + // No message delivery option is set. + NO_DELIVERY_OPTION_IS_SET = 86; + + // String value of conversion reporting state field is not valid. + INVALID_CONVERSION_REPORTING_STATE = 87; + + // Image size is not right. + IMAGE_SIZE_WRONG = 88; + + // Email delivery is not supported in the country specified in the country + // code field. + EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY = 89; + + // Auto reply is not supported in the country specified in the country code + // field. + AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY = 90; + + // Invalid value specified for latitude. + INVALID_LATITUDE_VALUE = 91; + + // Invalid value specified for longitude. + INVALID_LONGITUDE_VALUE = 92; + + // Too many label fields provided. + TOO_MANY_LABELS = 93; + + // Invalid image url. + INVALID_IMAGE_URL = 94; + + // Latitude value is missing. + MISSING_LATITUDE_VALUE = 95; + + // Longitude value is missing. + MISSING_LONGITUDE_VALUE = 96; + + // Unable to find address. + ADDRESS_NOT_FOUND = 97; + + // Cannot target provided address. + ADDRESS_NOT_TARGETABLE = 98; + + // The specified asset ID does not exist. + INVALID_ASSET_ID = 100; + + // The asset type cannot be set for the field. + INCOMPATIBLE_ASSET_TYPE = 101; + + // The image has unexpected size. + IMAGE_ERROR_UNEXPECTED_SIZE = 102; + + // The image aspect ratio is not allowed. + IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED = 103; + + // The image file is too large. + IMAGE_ERROR_FILE_TOO_LARGE = 104; + + // The image format is unsupported. + IMAGE_ERROR_FORMAT_NOT_ALLOWED = 105; + + // Image violates constraints without more details. + IMAGE_ERROR_CONSTRAINTS_VIOLATED = 106; + + // An error occurred when validating image. + IMAGE_ERROR_SERVER_ERROR = 107; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/feed_mapping_error.proto new file mode 100644 index 00000000..6ed5c13a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/feed_mapping_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedMappingErrorEnum { + // Enum describing possible feed item errors. + enum FeedMappingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given placeholder field does not exist. + INVALID_PLACEHOLDER_FIELD = 2; + + // The given criterion field does not exist. + INVALID_CRITERION_FIELD = 3; + + // The given placeholder type does not exist. + INVALID_PLACEHOLDER_TYPE = 4; + + // The given criterion type does not exist. + INVALID_CRITERION_TYPE = 5; + + // A feed mapping must contain at least one attribute field mapping. + NO_ATTRIBUTE_FIELD_MAPPINGS = 7; + + // The type of the feed attribute referenced in the attribute field mapping + // must match the type of the placeholder field. + FEED_ATTRIBUTE_TYPE_MISMATCH = 8; + + // A feed mapping for a system generated feed cannot be operated on. + CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; + + // Only one feed mapping for a placeholder type is allowed per feed or + // customer (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; + + // Only one feed mapping for a criterion type is allowed per customer. + MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; + + // Only one feed attribute mapping for a placeholder field is allowed + // (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; + + // Only one feed attribute mapping for a criterion field is allowed + // (depending on the criterion type). + MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; + + // This feed mapping may not contain any explicit attribute field mappings. + UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; + + // Location placeholder feed mappings can only be created for Places feeds. + LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; + + // Mappings for typed feeds cannot be modified. + CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; + + // The given placeholder type can only be mapped to system generated feeds. + INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; + + // The given placeholder type cannot be mapped to a system generated feed + // with the given type. + INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; + + // The "field" oneof was not set in an AttributeFieldMapping. + ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/field_error.proto new file mode 100644 index 00000000..6853928e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/field_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing field errors. + +// Container for enum describing possible field errors. +message FieldErrorEnum { + // Enum describing possible field errors. + enum FieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The required field was not present. + REQUIRED = 2; + + // The field attempted to be mutated is immutable. + IMMUTABLE_FIELD = 3; + + // The field's value is invalid. + INVALID_VALUE = 4; + + // The field cannot be set. + VALUE_MUST_BE_UNSET = 5; + + // The required repeated field was empty. + REQUIRED_NONEMPTY_LIST = 6; + + // The field cannot be cleared. + FIELD_CANNOT_BE_CLEARED = 7; + + // The field's value is on a deny-list for this field. + BLOCKED_VALUE = 9; + + // The field's value cannot be modified, except for clearing. + FIELD_CAN_ONLY_BE_CLEARED = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/field_mask_error.proto new file mode 100644 index 00000000..7d5198d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/field_mask_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing field mask errors. + +// Container for enum describing possible field mask errors. +message FieldMaskErrorEnum { + // Enum describing possible field mask errors. + enum FieldMaskError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be provided for update operations. + FIELD_MASK_MISSING = 5; + + // The field mask must be empty for create and remove operations. + FIELD_MASK_NOT_ALLOWED = 4; + + // The field mask contained an invalid field. + FIELD_NOT_FOUND = 2; + + // The field mask updated a field with subfields. Fields with subfields may + // be cleared, but not updated. To fix this, the field mask should select + // all the subfields of the invalid field. + FIELD_HAS_SUBFIELDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/function_error.proto new file mode 100644 index 00000000..9399c01f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/function_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing function errors. + +// Container for enum describing possible function errors. +message FunctionErrorEnum { + // Enum describing possible function errors. + enum FunctionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The format of the function is not recognized as a supported function + // format. + INVALID_FUNCTION_FORMAT = 2; + + // Operand data types do not match. + DATA_TYPE_MISMATCH = 3; + + // The operands cannot be used together in a conjunction. + INVALID_CONJUNCTION_OPERANDS = 4; + + // Invalid numer of Operands. + INVALID_NUMBER_OF_OPERANDS = 5; + + // Operand Type not supported. + INVALID_OPERAND_TYPE = 6; + + // Operator not supported. + INVALID_OPERATOR = 7; + + // Request context type not supported. + INVALID_REQUEST_CONTEXT_TYPE = 8; + + // The matching function is not allowed for call placeholders + INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; + + // The matching function is not allowed for the specified placeholder + INVALID_FUNCTION_FOR_PLACEHOLDER = 10; + + // Invalid operand. + INVALID_OPERAND = 11; + + // Missing value for the constant operand. + MISSING_CONSTANT_OPERAND_VALUE = 12; + + // The value of the constant operand is invalid. + INVALID_CONSTANT_OPERAND_VALUE = 13; + + // Invalid function nesting. + INVALID_NESTING = 14; + + // The Feed ID was different from another Feed ID in the same function. + MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; + + // The matching function is invalid for use with a feed with a fixed schema. + INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; + + // Invalid attribute name. + INVALID_ATTRIBUTE_NAME = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/function_parsing_error.proto new file mode 100644 index 00000000..75428ef7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/function_parsing_error.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing function parsing errors. + +// Container for enum describing possible function parsing errors. +message FunctionParsingErrorEnum { + // Enum describing possible function parsing errors. + enum FunctionParsingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unexpected end of function string. + NO_MORE_INPUT = 2; + + // Could not find an expected character. + EXPECTED_CHARACTER = 3; + + // Unexpected separator character. + UNEXPECTED_SEPARATOR = 4; + + // Unmatched left bracket or parenthesis. + UNMATCHED_LEFT_BRACKET = 5; + + // Unmatched right bracket or parenthesis. + UNMATCHED_RIGHT_BRACKET = 6; + + // Functions are nested too deeply. + TOO_MANY_NESTED_FUNCTIONS = 7; + + // Missing right-hand-side operand. + MISSING_RIGHT_HAND_OPERAND = 8; + + // Invalid operator/function name. + INVALID_OPERATOR_NAME = 9; + + // Feed attribute operand's argument is not an integer. + FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; + + // Missing function operands. + NO_OPERANDS = 11; + + // Function had too many operands. + TOO_MANY_OPERANDS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 00000000..4ec391a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Container for enum describing possible geo target constant suggestion errors. +message GeoTargetConstantSuggestionErrorEnum { + // Enum describing possible geo target constant suggestion errors. + enum GeoTargetConstantSuggestionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A location name cannot be greater than 300 characters. + LOCATION_NAME_SIZE_LIMIT = 2; + + // At most 25 location names can be specified in a SuggestGeoTargetConstants + // method. + LOCATION_NAME_LIMIT = 3; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 4; + + // Geo target constant resource names or location names must be provided in + // the request. + REQUEST_PARAMETERS_UNSET = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/header_error.proto new file mode 100644 index 00000000..bdc720e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/header_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing header errors. + +// Container for enum describing possible header errors. +message HeaderErrorEnum { + // Enum describing possible header errors. + enum HeaderError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The login customer ID could not be validated. + INVALID_LOGIN_CUSTOMER_ID = 3; + + // The linked customer ID could not be validated. + INVALID_LINKED_CUSTOMER_ID = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/id_error.proto new file mode 100644 index 00000000..276d3aad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/id_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing id errors. + +// Container for enum describing possible ID errors. +message IdErrorEnum { + // Enum describing possible ID errors. + enum IdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // ID not found + NOT_FOUND = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/image_error.proto new file mode 100644 index 00000000..f1579c46 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/image_error.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing image errors. + +// Container for enum describing possible image errors. +message ImageErrorEnum { + // Enum describing possible image errors. + enum ImageError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The image is not valid. + INVALID_IMAGE = 2; + + // The image could not be stored. + STORAGE_ERROR = 3; + + // There was a problem with the request. + BAD_REQUEST = 4; + + // The image is not of legal dimensions. + UNEXPECTED_SIZE = 5; + + // Animated image are not permitted. + ANIMATED_NOT_ALLOWED = 6; + + // Animation is too long. + ANIMATION_TOO_LONG = 7; + + // There was an error on the server. + SERVER_ERROR = 8; + + // Image cannot be in CMYK color format. + CMYK_JPEG_NOT_ALLOWED = 9; + + // Flash images are not permitted. + FLASH_NOT_ALLOWED = 10; + + // Flash images must support clickTag. + FLASH_WITHOUT_CLICKTAG = 11; + + // A flash error has occurred after fixing the click tag. + FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; + + // Unacceptable visual effects. + ANIMATED_VISUAL_EFFECT = 13; + + // There was a problem with the flash image. + FLASH_ERROR = 14; + + // Incorrect image layout. + LAYOUT_PROBLEM = 15; + + // There was a problem reading the image file. + PROBLEM_READING_IMAGE_FILE = 16; + + // There was an error storing the image. + ERROR_STORING_IMAGE = 17; + + // The aspect ratio of the image is not allowed. + ASPECT_RATIO_NOT_ALLOWED = 18; + + // Flash cannot have network objects. + FLASH_HAS_NETWORK_OBJECTS = 19; + + // Flash cannot have network methods. + FLASH_HAS_NETWORK_METHODS = 20; + + // Flash cannot have a Url. + FLASH_HAS_URL = 21; + + // Flash cannot use mouse tracking. + FLASH_HAS_MOUSE_TRACKING = 22; + + // Flash cannot have a random number. + FLASH_HAS_RANDOM_NUM = 23; + + // Ad click target cannot be '_self'. + FLASH_SELF_TARGETS = 24; + + // GetUrl method should only use '_blank'. + FLASH_BAD_GETURL_TARGET = 25; + + // Flash version is not supported. + FLASH_VERSION_NOT_SUPPORTED = 26; + + // Flash movies need to have hard coded click URL or clickTAG + FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; + + // Uploaded flash file is corrupted. + INVALID_FLASH_FILE = 28; + + // Uploaded flash file can be parsed, but the click tag can not be fixed + // properly. + FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; + + // Flash movie accesses network resources + FLASH_ACCESSES_NETWORK_RESOURCES = 30; + + // Flash movie attempts to call external javascript code + FLASH_EXTERNAL_JS_CALL = 31; + + // Flash movie attempts to call flash system commands + FLASH_EXTERNAL_FS_CALL = 32; + + // Image file is too large. + FILE_TOO_LARGE = 33; + + // Image data is too large. + IMAGE_DATA_TOO_LARGE = 34; + + // Error while processing the image. + IMAGE_PROCESSING_ERROR = 35; + + // Image is too small. + IMAGE_TOO_SMALL = 36; + + // Input was invalid. + INVALID_INPUT = 37; + + // There was a problem reading the image file. + PROBLEM_READING_FILE = 38; + + // Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED + // can't be provided. This happens when asset spec contains more than one + // constraint and different criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 39; + + // Image format is not allowed. + FORMAT_NOT_ALLOWED = 40; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/internal_error.proto new file mode 100644 index 00000000..d52fbd80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/internal_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing internal errors. + +// Container for enum describing possible internal errors. +message InternalErrorEnum { + // Enum describing possible internal errors. + enum InternalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Google Ads API encountered unexpected internal error. + INTERNAL_ERROR = 2; + + // The intended error code doesn't exist in specified API version. It will + // be released in a future API version. + ERROR_CODE_NOT_PUBLISHED = 3; + + // Google Ads API encountered an unexpected transient error. The user + // should retry their request in these cases. + TRANSIENT_ERROR = 4; + + // The request took longer than a deadline. + DEADLINE_EXCEEDED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/invoice_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/invoice_error.proto new file mode 100644 index 00000000..58288aeb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/invoice_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing invoice errors. + +// Container for enum describing possible invoice errors. +message InvoiceErrorEnum { + // Enum describing possible invoice errors. + enum InvoiceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot request invoices issued before 2019-01-01. + YEAR_MONTH_TOO_OLD = 2; + + // Cannot request invoices for customer who doesn't receive invoices. + NOT_INVOICED_CUSTOMER = 3; + + // Cannot request invoices for a non approved billing setup. + BILLING_SETUP_NOT_APPROVED = 4; + + // Cannot request invoices for a billing setup that is not on monthly + // invoicing. + BILLING_SETUP_NOT_ON_MONTHLY_INVOICING = 5; + + // Cannot request invoices for a non serving customer. + NON_SERVING_CUSTOMER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 00000000..04b2b1b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying a keyword plan ad group. + +// Container for enum describing possible errors from applying a keyword plan +// ad group. +message KeywordPlanAdGroupErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group. + enum KeywordPlanAdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The keyword plan ad group name is missing, empty, longer than allowed + // limit or contains invalid chars. + INVALID_NAME = 2; + + // The keyword plan ad group name is duplicate to an existing keyword plan + // AdGroup name or other keyword plan AdGroup name in the request. + DUPLICATE_NAME = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 00000000..70d229b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying a keyword plan ad group keyword or +// keyword plan campaign keyword. + +// Container for enum describing possible errors from applying an ad group +// keyword or a campaign keyword from a keyword plan. +message KeywordPlanAdGroupKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group + // keyword or keyword plan campaign keyword. + enum KeywordPlanAdGroupKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword or negative keyword has invalid match type. + INVALID_KEYWORD_MATCH_TYPE = 2; + + // A keyword or negative keyword with same text and match type already + // exists. + DUPLICATE_KEYWORD = 3; + + // Keyword or negative keyword text exceeds the allowed limit. + KEYWORD_TEXT_TOO_LONG = 4; + + // Keyword or negative keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 5; + + // Keyword or negative keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword or negative keyword has invalid text. + INVALID_KEYWORD_TEXT = 7; + + // Cpc Bid set for negative keyword. + NEGATIVE_KEYWORD_HAS_CPC_BID = 8; + + // New broad match modifier (BMM) KpAdGroupKeywords are not allowed. + NEW_BMM_KEYWORDS_NOT_ALLOWED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_error.proto new file mode 100644 index 00000000..878a7c35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying a keyword plan campaign. + +// Container for enum describing possible errors from applying a keyword plan +// campaign. +message KeywordPlanCampaignErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign. + enum KeywordPlanCampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword plan campaign name is missing, empty, longer than allowed limit + // or contains invalid chars. + INVALID_NAME = 2; + + // A keyword plan campaign contains one or more untargetable languages. + INVALID_LANGUAGES = 3; + + // A keyword plan campaign contains one or more invalid geo targets. + INVALID_GEOS = 4; + + // The keyword plan campaign name is duplicate to an existing keyword plan + // campaign name or other keyword plan campaign name in the request. + DUPLICATE_NAME = 5; + + // The number of geo targets in the keyword plan campaign exceeds limits. + MAX_GEOS_EXCEEDED = 6; + + // The number of languages in the keyword plan campaign exceeds limits. + MAX_LANGUAGES_EXCEEDED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 00000000..379dd30b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying a keyword plan campaign keyword. + +// Container for enum describing possible errors from applying a keyword plan +// campaign keyword. +message KeywordPlanCampaignKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign + // keyword. + enum KeywordPlanCampaignKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Keyword plan campaign keyword is positive. + CAMPAIGN_KEYWORD_IS_POSITIVE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_error.proto new file mode 100644 index 00000000..5b137765 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_error.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying keyword plan resources (keyword +// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) +// or KeywordPlanService RPC. + +// Container for enum describing possible errors from applying a keyword plan +// resource (keyword plan, keyword plan campaign, keyword plan ad group or +// keyword plan keyword) or KeywordPlanService RPC. +message KeywordPlanErrorEnum { + // Enum describing possible errors from applying a keyword plan. + enum KeywordPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The plan's bid multiplier value is outside the valid range. + BID_MULTIPLIER_OUT_OF_RANGE = 2; + + // The plan's bid value is too high. + BID_TOO_HIGH = 3; + + // The plan's bid value is too low. + BID_TOO_LOW = 4; + + // The plan's cpc bid is not a multiple of the minimum billable unit. + BID_TOO_MANY_FRACTIONAL_DIGITS = 5; + + // The plan's daily budget value is too low. + DAILY_BUDGET_TOO_LOW = 6; + + // The plan's daily budget is not a multiple of the minimum billable unit. + DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; + + // The input has an invalid value. + INVALID_VALUE = 8; + + // The plan has no keyword. + KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; + + // The plan is not enabled and API cannot provide mutation, forecast or + // stats. + KEYWORD_PLAN_NOT_ENABLED = 10; + + // The requested plan cannot be found for providing forecast or stats. + KEYWORD_PLAN_NOT_FOUND = 11; + + // The plan is missing a cpc bid. + MISSING_BID = 13; + + // The plan is missing required forecast_period field. + MISSING_FORECAST_PERIOD = 14; + + // The plan's forecast_period has invalid forecast date range. + INVALID_FORECAST_DATE_RANGE = 15; + + // The plan's name is invalid. + INVALID_NAME = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_idea_error.proto new file mode 100644 index 00000000..c53bb70b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/keyword_plan_idea_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from KeywordPlanIdeaService. + +// Container for enum describing possible errors from KeywordPlanIdeaService. +message KeywordPlanIdeaErrorEnum { + // Enum describing possible errors from KeywordPlanIdeaService. + enum KeywordPlanIdeaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error when crawling the input URL. + URL_CRAWL_ERROR = 2; + + // The input has an invalid value. + INVALID_VALUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/label_error.proto new file mode 100644 index 00000000..5d36969a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/label_error.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing label errors. + +// Container for enum describing possible label errors. +message LabelErrorEnum { + // Enum describing possible label errors. + enum LabelError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An inactive label cannot be applied. + CANNOT_APPLY_INACTIVE_LABEL = 2; + + // A label cannot be applied to a disabled ad group criterion. + CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; + + // A label cannot be applied to a negative ad group criterion. + CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; + + // Cannot apply more than 50 labels per resource. + EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; + + // Labels from a manager account cannot be applied to campaign, ad group, + // ad group ad, or ad group criterion resources. + INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; + + // Label names must be unique. + DUPLICATE_NAME = 7; + + // Label names cannot be empty. + INVALID_LABEL_NAME = 8; + + // Labels cannot be applied to a draft. + CANNOT_ATTACH_LABEL_TO_DRAFT = 9; + + // Labels not from a manager account cannot be applied to the customer + // resource. + CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/language_code_error.proto new file mode 100644 index 00000000..aaf4aec6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/language_code_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing language code errors. + +// Container for enum describing language code errors. +message LanguageCodeErrorEnum { + // Enum describing language code errors. + enum LanguageCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input language code is not recognized. + LANGUAGE_CODE_NOT_FOUND = 2; + + // The language code is not supported. + INVALID_LANGUAGE_CODE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/list_operation_error.proto new file mode 100644 index 00000000..3f53256d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/list_operation_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing list operation errors. + +// Container for enum describing possible list operation errors. +message ListOperationErrorEnum { + // Enum describing possible list operation errors. + enum ListOperationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Field required in value is missing. + REQUIRED_FIELD_MISSING = 7; + + // Duplicate or identical value is sent in multiple list operations. + DUPLICATE_VALUES = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/manager_link_error.proto new file mode 100644 index 00000000..a39e9984 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/manager_link_error.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ManagerLink errors. + +// Container for enum describing possible ManagerLink errors. +message ManagerLinkErrorEnum { + // Enum describing possible ManagerLink errors. + enum ManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The manager and client have incompatible account types. + ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; + + // Client is already linked to too many managers. + TOO_MANY_MANAGERS = 3; + + // Manager has too many pending invitations. + TOO_MANY_INVITES = 4; + + // Client is already invited by this manager. + ALREADY_INVITED_BY_THIS_MANAGER = 5; + + // The client is already managed by this manager. + ALREADY_MANAGED_BY_THIS_MANAGER = 6; + + // Client is already managed in hierarchy. + ALREADY_MANAGED_IN_HIERARCHY = 7; + + // Manager and sub-manager to be linked have duplicate client. + DUPLICATE_CHILD_FOUND = 8; + + // Client has no active user that can access the client account. + CLIENT_HAS_NO_ADMIN_USER = 9; + + // Adding this link would exceed the maximum hierarchy depth. + MAX_DEPTH_EXCEEDED = 10; + + // Adding this link will create a cycle. + CYCLE_NOT_ALLOWED = 11; + + // Manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS = 12; + + // Parent manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS_AT_MANAGER = 13; + + // The account is not authorized owner. + NON_OWNER_USER_CANNOT_MODIFY_LINK = 14; + + // Your manager account is suspended, and you are no longer allowed to link + // to clients. + SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15; + + // You are not allowed to move a client to a manager that is not under your + // current hierarchy. + CLIENT_OUTSIDE_TREE = 16; + + // The changed status for mutate link is invalid. + INVALID_STATUS_CHANGE = 17; + + // The change for mutate link is invalid. + INVALID_CHANGE = 18; + + // You are not allowed to link a manager account to itself. + CUSTOMER_CANNOT_MANAGE_SELF = 19; + + // The link was created with status ACTIVE and not PENDING. + CREATING_ENABLED_LINK_NOT_ALLOWED = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/media_bundle_error.proto new file mode 100644 index 00000000..542ac1d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/media_bundle_error.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing media bundle errors. + +// Container for enum describing possible media bundle errors. +message MediaBundleErrorEnum { + // Enum describing possible media bundle errors. + enum MediaBundleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There was a problem with the request. + BAD_REQUEST = 3; + + // HTML5 ads using DoubleClick Studio created ZIP files are not supported. + DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 5; + + // Media bundle file is too large. + FILE_TOO_LARGE = 6; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; + + // Input was invalid. + INVALID_INPUT = 8; + + // There was a problem with the media bundle. + INVALID_MEDIA_BUNDLE = 9; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 10; + + // The media bundle contains a file with an unknown mime type + INVALID_MIME_TYPE = 11; + + // The media bundle contain an invalid asset path. + INVALID_PATH = 12; + + // HTML5 ad is trying to reference an asset not in .ZIP file + INVALID_URL_REFERENCE = 13; + + // Media data is too large. + MEDIA_DATA_TOO_LARGE = 14; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; + + // There was an error on the server. + SERVER_ERROR = 16; + + // The image could not be stored. + STORAGE_ERROR = 17; + + // Media bundle created with the Swiffy tool is not allowed. + SWIFFY_BUNDLE_NOT_ALLOWED = 18; + + // The media bundle contains too many files. + TOO_MANY_FILES = 19; + + // The media bundle is not of legal dimensions. + UNEXPECTED_SIZE = 20; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 22; + + // URL in HTML5 entry is not ssl compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; + + // Custom exits not allowed in HTML5 entry. + CUSTOM_EXIT_NOT_ALLOWED = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/media_file_error.proto new file mode 100644 index 00000000..8b4be372 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/media_file_error.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing media file errors. + +// Container for enum describing possible media file errors. +message MediaFileErrorEnum { + // Enum describing possible media file errors. + enum MediaFileError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot create a standard icon type. + CANNOT_CREATE_STANDARD_ICON = 2; + + // May only select Standard Icons alone. + CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; + + // Image contains both a media file ID and data. + CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; + + // A media file with given type and reference ID already exists. + DUPLICATE_MEDIA = 5; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 6; + + // A media file may only be modified once per call. + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; + + // Field is not supported for the media sub type. + FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; + + // The media file ID is invalid. + INVALID_MEDIA_FILE_ID = 9; + + // The media subtype is invalid. + INVALID_MEDIA_SUB_TYPE = 10; + + // The media file type is invalid. + INVALID_MEDIA_FILE_TYPE = 11; + + // The mimetype is invalid. + INVALID_MIME_TYPE = 12; + + // The media reference ID is invalid. + INVALID_REFERENCE_ID = 13; + + // The YouTube video ID is invalid. + INVALID_YOU_TUBE_ID = 14; + + // Media file has failed transcoding + MEDIA_FILE_FAILED_TRANSCODING = 15; + + // Media file has not been transcoded. + MEDIA_NOT_TRANSCODED = 16; + + // The media type does not match the actual media file's type. + MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; + + // None of the fields have been specified. + NO_FIELDS_SPECIFIED = 18; + + // One of reference ID or media file ID must be specified. + NULL_REFERENCE_ID_AND_MEDIA_ID = 19; + + // The string has too many characters. + TOO_LONG = 20; + + // The specified type is not supported. + UNSUPPORTED_TYPE = 21; + + // YouTube is unavailable for requesting video data. + YOU_TUBE_SERVICE_UNAVAILABLE = 22; + + // The YouTube video has a non positive duration. + YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; + + // The YouTube video ID is syntactically valid but the video was not found. + YOU_TUBE_VIDEO_NOT_FOUND = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/media_upload_error.proto new file mode 100644 index 00000000..2ca9f75c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/media_upload_error.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing media uploading errors. + +// Container for enum describing possible media uploading errors. +message MediaUploadErrorEnum { + // Enum describing possible media uploading errors. + enum MediaUploadError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The uploaded file is too big. + FILE_TOO_BIG = 2; + + // Image data is unparseable. + UNPARSEABLE_IMAGE = 3; + + // Animated images are not allowed. + ANIMATED_IMAGE_NOT_ALLOWED = 4; + + // The image or media bundle format is not allowed. + FORMAT_NOT_ALLOWED = 5; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 6; + + // HTML5 ad is trying to reference an asset not in .ZIP file. + INVALID_URL_REFERENCE = 7; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 8; + + // Animation has disallowed visual effects. + ANIMATED_VISUAL_EFFECT = 9; + + // Animation longer than the allowed 30 second limit. + ANIMATION_TOO_LONG = 10; + + // The aspect ratio of the image does not match the expected aspect ratios + // provided in the asset spec. + ASPECT_RATIO_NOT_ALLOWED = 11; + + // Audio files are not allowed in bundle. + AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 12; + + // CMYK jpegs are not supported. + CMYK_JPEG_NOT_ALLOWED = 13; + + // Flash movies are not allowed. + FLASH_NOT_ALLOWED = 14; + + // The frame rate of the video is higher than the allowed 5fps. + FRAME_RATE_TOO_HIGH = 15; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 16; + + // Image constraints are violated, but more details (like + // DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. + // This happens when asset spec contains more than one constraint and + // criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 17; + + // Media bundle data is unrecognizable. + INVALID_MEDIA_BUNDLE = 18; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 19; + + // The asset has an invalid mime type. + INVALID_MIME_TYPE = 20; + + // The media bundle contains an invalid asset path. + INVALID_PATH = 21; + + // Image has layout problem. + LAYOUT_PROBLEM = 22; + + // An asset had a URL reference that is malformed per RFC 1738 convention. + MALFORMED_URL = 23; + + // The uploaded media bundle format is not allowed. + MEDIA_BUNDLE_NOT_ALLOWED = 24; + + // The media bundle is not compatible with the asset spec product type. + // (For example, Gmail, dynamic remarketing, etc.) + MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE = 25; + + // A bundle being uploaded that is incompatible with multiple assets for + // different reasons. + MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS = 26; + + // The media bundle contains too many files. + TOO_MANY_FILES_IN_MEDIA_BUNDLE = 27; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 28; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 29; + + // URL in HTML5 entry is not SSL compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 30; + + // Video file name is longer than the 50 allowed characters. + VIDEO_FILE_NAME_TOO_LONG = 31; + + // Multiple videos with same name in a bundle. + VIDEO_MULTIPLE_FILES_WITH_SAME_NAME = 32; + + // Videos are not allowed in media bundle. + VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 33; + + // This type of media cannot be uploaded through the Google Ads API. + CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API = 34; + + // The dimensions of the image are not allowed. + DIMENSIONS_NOT_ALLOWED = 35; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/merchant_center_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/merchant_center_error.proto new file mode 100644 index 00000000..73525b75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/merchant_center_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing merchant center errors. + +// Container for enum describing possible merchant center errors. +message MerchantCenterErrorEnum { + // Enum describing Merchant Center errors. + enum MerchantCenterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Merchant ID is either not found or not linked to the Google Ads customer. + MERCHANT_ID_CANNOT_BE_ACCESSED = 2; + + // Customer not allowlisted for Shopping in Performance Max Campaign. + CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/multiplier_error.proto new file mode 100644 index 00000000..7ac7beb4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/multiplier_error.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing multiplier errors. + +// Container for enum describing possible multiplier errors. +message MultiplierErrorEnum { + // Enum describing possible multiplier errors. + enum MultiplierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiplier value is too high + MULTIPLIER_TOO_HIGH = 2; + + // Multiplier value is too low + MULTIPLIER_TOO_LOW = 3; + + // Too many fractional digits + TOO_MANY_FRACTIONAL_DIGITS = 4; + + // A multiplier cannot be set for this bidding strategy + MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; + + // A multiplier cannot be set when there is no base bid (for example, + // content max cpc) + MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING = 6; + + // A bid multiplier must be specified + NO_MULTIPLIER_SPECIFIED = 7; + + // Multiplier causes bid to exceed daily budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET = 8; + + // Multiplier causes bid to exceed monthly budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET = 9; + + // Multiplier causes bid to exceed custom budget + MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET = 10; + + // Multiplier causes bid to exceed maximum allowed bid + MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID = 11; + + // Multiplier causes bid to become less than the minimum bid allowed + BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER = 12; + + // Multiplier type (cpc versus cpm) needs to match campaign's bidding + // strategy + MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/mutate_error.proto new file mode 100644 index 00000000..24dbe8eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/mutate_error.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing mutate errors. + +// Container for enum describing possible mutate errors. +message MutateErrorEnum { + // Enum describing possible mutate errors. + enum MutateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Requested resource was not found. + RESOURCE_NOT_FOUND = 3; + + // Cannot mutate the same resource twice in one request. + ID_EXISTS_IN_MULTIPLE_MUTATES = 7; + + // The field's contents don't match another field that represents the same + // data. + INCONSISTENT_FIELD_VALUES = 8; + + // Mutates are not allowed for the requested resource. + MUTATE_NOT_ALLOWED = 9; + + // The resource isn't in Google Ads. It belongs to another ads system. + RESOURCE_NOT_IN_GOOGLE_ADS = 10; + + // The resource being created already exists. + RESOURCE_ALREADY_EXISTS = 11; + + // This resource cannot be used with "validate_only". + RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY = 12; + + // This operation cannot be used with "partial_failure". + OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE = 16; + + // Attempt to write to read-only fields. + RESOURCE_READ_ONLY = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/new_resource_creation_error.proto new file mode 100644 index 00000000..f339c3a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/new_resource_creation_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing new resource creation errors. + +// Container for enum describing possible new resource creation errors. +message NewResourceCreationErrorEnum { + // Enum describing possible new resource creation errors. + enum NewResourceCreationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Do not set the id field while creating new resources. + CANNOT_SET_ID_FOR_CREATE = 2; + + // Creating more than one resource with the same temp ID is not allowed. + DUPLICATE_TEMP_IDS = 3; + + // Parent resource with specified temp ID failed validation, so no + // validation will be done for this child resource. + TEMP_ID_RESOURCE_HAD_ERRORS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/not_allowlisted_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/not_allowlisted_error.proto new file mode 100644 index 00000000..820a7871 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/not_allowlisted_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing not allowlisted errors. + +// Container for enum describing possible not allowlisted errors. +message NotAllowlistedErrorEnum { + // Enum describing possible not allowlisted errors. + enum NotAllowlistedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowlisted for accessing this feature. + CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/not_empty_error.proto new file mode 100644 index 00000000..515ff6b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/not_empty_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing not empty errors. + +// Container for enum describing possible not empty errors. +message NotEmptyErrorEnum { + // Enum describing possible not empty errors. + enum NotEmptyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Empty list. + EMPTY_LIST = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/null_error.proto new file mode 100644 index 00000000..13974405 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/null_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing null errors. + +// Container for enum describing possible null errors. +message NullErrorEnum { + // Enum describing possible null errors. + enum NullError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Specified list/container must not contain any null elements + NULL_CONTENT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/offline_user_data_job_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/offline_user_data_job_error.proto new file mode 100644 index 00000000..b197c719 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/offline_user_data_job_error.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing offline user data job errors. + +// Container for enum describing possible offline user data job errors. +message OfflineUserDataJobErrorEnum { + // Enum describing possible request errors. + enum OfflineUserDataJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The user list ID provided for the job is invalid. + INVALID_USER_LIST_ID = 3; + + // Type of the user list is not applicable for the job. + INVALID_USER_LIST_TYPE = 4; + + // Customer is not allowisted for using user ID in upload data. + NOT_ON_ALLOWLIST_FOR_USER_ID = 33; + + // Upload data is not compatible with the upload key type of the associated + // user list. + INCOMPATIBLE_UPLOAD_KEY_TYPE = 6; + + // The user identifier is missing valid data. + MISSING_USER_IDENTIFIER = 7; + + // The mobile ID is malformed. + INVALID_MOBILE_ID_FORMAT = 8; + + // Maximum number of user identifiers allowed per request is 100,000 and per + // operation is 20. + TOO_MANY_USER_IDENTIFIERS = 9; + + // Customer is not on the allow-list for store sales direct data. + NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT = 31; + + // Customer is not on the allow-list for unified store sales data. + NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES = 32; + + // The partner ID in store sales direct metadata is invalid. + INVALID_PARTNER_ID = 11; + + // The data in user identifier should not be encoded. + INVALID_ENCODING = 12; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // Incompatible user identifier when using third_party_user_id for store + // sales direct first party data or not using third_party_user_id for store + // sales third party data. + INCOMPATIBLE_USER_IDENTIFIER = 14; + + // A transaction time in the future is not allowed. + FUTURE_TRANSACTION_TIME = 15; + + // The conversion_action specified in transaction_attributes is used to + // report conversions to a conversion action configured in Google Ads. This + // error indicates there is no such conversion action in the account. + INVALID_CONVERSION_ACTION = 16; + + // Mobile ID is not supported for store sales direct data. + MOBILE_ID_NOT_SUPPORTED = 17; + + // When a remove-all operation is provided, it has to be the first operation + // of the operation list. + INVALID_OPERATION_ORDER = 18; + + // Mixing creation and removal of offline data in the same job is not + // allowed. + CONFLICTING_OPERATION = 19; + + // The external update ID already exists. + EXTERNAL_UPDATE_ID_ALREADY_EXISTS = 21; + + // Once the upload job is started, new operations cannot be added. + JOB_ALREADY_STARTED = 22; + + // Remove operation is not allowed for store sales direct updates. + REMOVE_NOT_SUPPORTED = 23; + + // Remove-all is not supported for certain offline user data job types. + REMOVE_ALL_NOT_SUPPORTED = 24; + + // The SHA256 encoded value is malformed. + INVALID_SHA256_FORMAT = 25; + + // The custom key specified is not enabled for the unified store sales + // upload. + CUSTOM_KEY_DISABLED = 26; + + // The custom key specified is not predefined through the Google Ads UI. + CUSTOM_KEY_NOT_PREDEFINED = 27; + + // The custom key specified is not set in the upload. + CUSTOM_KEY_NOT_SET = 29; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 30; + + // User attributes cannot be uploaded into a user list. + ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST = 34; + + // Lifetime bucket value must be a number from 0 to 10; 0 is only accepted + // for remove operations + LIFETIME_VALUE_BUCKET_NOT_IN_RANGE = 35; + + // Identifiers not supported for Customer Match attributes. User attributes + // can only be provided with contact info (email, phone, address) user + // identifiers. + INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES = 36; + + // A time in the future is not allowed. + FUTURE_TIME_NOT_ALLOWED = 37; + + // Last purchase date time cannot be less than acquisition date time. + LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME = 38; + + // Only emails are accepted as user identifiers for shopping loyalty match. + // {-- api.dev/not-precedent: The identifier is not limited to ids, but + // also include other user info eg. phone numbers.} + CUSTOMER_IDENTIFIER_NOT_ALLOWED = 39; + + // Provided item ID is invalid. + INVALID_ITEM_ID = 40; + + // First purchase date time cannot be greater than the last purchase date + // time. + FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME = 42; + + // Provided lifecycle stage is invalid. + INVALID_LIFECYCLE_STAGE = 43; + + // The event value of the Customer Match user attribute is invalid. + INVALID_EVENT_VALUE = 44; + + // All the fields are not present in the EventAttribute of the Customer + // Match. + EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED = 45; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/operation_access_denied_error.proto new file mode 100644 index 00000000..ae19a829 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/operation_access_denied_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing operation access denied errors. + +// Container for enum describing possible operation access denied errors. +message OperationAccessDeniedErrorEnum { + // Enum describing possible operation access denied errors. + enum OperationAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unauthorized invocation of a service's method (get, mutate, etc.) + ACTION_NOT_PERMITTED = 2; + + // Unauthorized CREATE operation in invoking a service's mutate method. + CREATE_OPERATION_NOT_PERMITTED = 3; + + // Unauthorized REMOVE operation in invoking a service's mutate method. + REMOVE_OPERATION_NOT_PERMITTED = 4; + + // Unauthorized UPDATE operation in invoking a service's mutate method. + UPDATE_OPERATION_NOT_PERMITTED = 5; + + // A mutate action is not allowed on this resource, from this client. + MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6; + + // This operation is not permitted on this campaign type + OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7; + + // A CREATE operation may not set status to REMOVED. + CREATE_AS_REMOVED_NOT_PERMITTED = 8; + + // This operation is not allowed because the resource is removed. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9; + + // This operation is not permitted on this ad group type. + OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10; + + // The mutate is not allowed for this customer. + MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/operator_error.proto new file mode 100644 index 00000000..25a3edde --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/operator_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing operator errors. + +// Container for enum describing possible operator errors. +message OperatorErrorEnum { + // Enum describing possible operator errors. + enum OperatorError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Operator not supported. + OPERATOR_NOT_SUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/partial_failure_error.proto new file mode 100644 index 00000000..06ff4b76 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/partial_failure_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing partial failure errors. + +// Container for enum describing possible partial failure errors. +message PartialFailureErrorEnum { + // Enum describing possible partial failure errors. + enum PartialFailureError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The partial failure field was false in the request. + // This method requires this field be set to true. + PARTIAL_FAILURE_MODE_REQUIRED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/payments_account_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/payments_account_error.proto new file mode 100644 index 00000000..26b0446c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/payments_account_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing payments account service errors. + +// Container for enum describing possible errors in payments account service. +message PaymentsAccountErrorEnum { + // Enum describing possible errors in payments account service. + enum PaymentsAccountError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Manager customers are not supported for payments account service. + NOT_SUPPORTED_FOR_MANAGER_CUSTOMER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/policy_finding_error.proto new file mode 100644 index 00000000..6d882436 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/policy_finding_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing policy finding errors. + +// Container for enum describing possible policy finding errors. +message PolicyFindingErrorEnum { + // Enum describing possible policy finding errors. + enum PolicyFindingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The resource has been disapproved since the policy summary includes + // policy topics of type PROHIBITED. + POLICY_FINDING = 2; + + // The given policy topic does not exist. + POLICY_TOPIC_NOT_FOUND = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/policy_validation_parameter_error.proto new file mode 100644 index 00000000..9da55542 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/policy_validation_parameter_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing policy validation parameter errors. + +// Container for enum describing possible policy validation parameter errors. +message PolicyValidationParameterErrorEnum { + // Enum describing possible policy validation parameter errors. + enum PolicyValidationParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ignorable policy topics are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; + + // Exempt policy violation keys are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; + + // Cannot set ignorable policy topics and exempt policy violation keys in + // the same policy violation parameter. + CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/policy_violation_error.proto new file mode 100644 index 00000000..2bff27bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/policy_violation_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing policy violation errors. + +// Container for enum describing possible policy violation errors. +message PolicyViolationErrorEnum { + // Enum describing possible policy violation errors. + enum PolicyViolationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A policy was violated. See PolicyViolationDetails for more detail. + POLICY_ERROR = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/query_error.proto new file mode 100644 index 00000000..cafee01f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/query_error.proto @@ -0,0 +1,225 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing query errors. + +// Container for enum describing possible query errors. +message QueryErrorEnum { + // Enum describing possible query errors. + enum QueryError { + // Name unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Returned if all other query error reasons are not applicable. + QUERY_ERROR = 50; + + // A condition used in the query references an invalid enum constant. + BAD_ENUM_CONSTANT = 18; + + // Query contains an invalid escape sequence. + BAD_ESCAPE_SEQUENCE = 7; + + // Field name is invalid. + BAD_FIELD_NAME = 12; + + // Limit value is invalid (for example, not a number) + BAD_LIMIT_VALUE = 15; + + // Encountered number can not be parsed. + BAD_NUMBER = 5; + + // Invalid operator encountered. + BAD_OPERATOR = 3; + + // Parameter unknown or not supported. + BAD_PARAMETER_NAME = 61; + + // Parameter have invalid value. + BAD_PARAMETER_VALUE = 62; + + // Invalid resource type was specified in the FROM clause. + BAD_RESOURCE_TYPE_IN_FROM_CLAUSE = 45; + + // Non-ASCII symbol encountered outside of strings. + BAD_SYMBOL = 2; + + // Value is invalid. + BAD_VALUE = 4; + + // Date filters fail to restrict date to a range smaller than 31 days. + // Applicable if the query is segmented by date. + DATE_RANGE_TOO_WIDE = 36; + + // Filters on date/week/month/quarter have a start date after + // end date. + DATE_RANGE_TOO_NARROW = 60; + + // Expected AND between values with BETWEEN operator. + EXPECTED_AND = 30; + + // Expecting ORDER BY to have BY. + EXPECTED_BY = 14; + + // There was no dimension field selected. + EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE = 37; + + // Missing filters on date related fields. + EXPECTED_FILTERS_ON_DATE_RANGE = 55; + + // Missing FROM clause. + EXPECTED_FROM = 44; + + // The operator used in the conditions requires the value to be a list. + EXPECTED_LIST = 41; + + // Fields used in WHERE or ORDER BY clauses are missing from the SELECT + // clause. + EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE = 16; + + // SELECT is missing at the beginning of query. + EXPECTED_SELECT = 13; + + // A list was passed as a value to a condition whose operator expects a + // single value. + EXPECTED_SINGLE_VALUE = 42; + + // Missing one or both values with BETWEEN operator. + EXPECTED_VALUE_WITH_BETWEEN_OPERATOR = 29; + + // Invalid date format. Expected 'YYYY-MM-DD'. + INVALID_DATE_FORMAT = 38; + + // Misaligned date value for the filter. The date should be the start of a + // week/month/quarter if the filtered field is + // segments.week/segments.month/segments.quarter. + MISALIGNED_DATE_FOR_FILTER = 64; + + // Value passed was not a string when it should have been. For example, it + // was a number or unquoted literal. + INVALID_STRING_VALUE = 57; + + // A String value passed to the BETWEEN operator does not parse as a date. + INVALID_VALUE_WITH_BETWEEN_OPERATOR = 26; + + // The value passed to the DURING operator is not a Date range literal + INVALID_VALUE_WITH_DURING_OPERATOR = 22; + + // An invalid value was passed to the LIKE operator. + INVALID_VALUE_WITH_LIKE_OPERATOR = 56; + + // An operator was provided that is inapplicable to the field being + // filtered. + OPERATOR_FIELD_MISMATCH = 35; + + // A Condition was found with an empty list. + PROHIBITED_EMPTY_LIST_IN_CONDITION = 28; + + // A condition used in the query references an unsupported enum constant. + PROHIBITED_ENUM_CONSTANT = 54; + + // Fields that are not allowed to be selected together were included in + // the SELECT clause. + PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE = 31; + + // A field that is not orderable was included in the ORDER BY clause. + PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE = 40; + + // A field that is not selectable was included in the SELECT clause. + PROHIBITED_FIELD_IN_SELECT_CLAUSE = 23; + + // A field that is not filterable was included in the WHERE clause. + PROHIBITED_FIELD_IN_WHERE_CLAUSE = 24; + + // Resource type specified in the FROM clause is not supported by this + // service. + PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE = 43; + + // A field that comes from an incompatible resource was included in the + // SELECT clause. + PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE = 48; + + // A field that comes from an incompatible resource was included in the + // WHERE clause. + PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE = 58; + + // A metric incompatible with the main resource or other selected + // segmenting resources was included in the SELECT or WHERE clause. + PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 49; + + // A segment incompatible with the main resource or other selected + // segmenting resources was included in the SELECT or WHERE clause. + PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE = 51; + + // A segment in the SELECT clause is incompatible with a metric in the + // SELECT or WHERE clause. + PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 53; + + // The value passed to the limit clause is too low. + LIMIT_VALUE_TOO_LOW = 25; + + // Query has a string containing a newline character. + PROHIBITED_NEWLINE_IN_STRING = 8; + + // List contains values of different types. + PROHIBITED_VALUE_COMBINATION_IN_LIST = 10; + + // The values passed to the BETWEEN operator are not of the same type. + PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR = 21; + + // Query contains unterminated string. + STRING_NOT_TERMINATED = 6; + + // Too many segments are specified in SELECT clause. + TOO_MANY_SEGMENTS = 34; + + // Query is incomplete and cannot be parsed. + UNEXPECTED_END_OF_QUERY = 9; + + // FROM clause cannot be specified in this query. + UNEXPECTED_FROM_CLAUSE = 47; + + // Query contains one or more unrecognized fields. + UNRECOGNIZED_FIELD = 32; + + // Query has an unexpected extra part. + UNEXPECTED_INPUT = 11; + + // Metrics cannot be requested for a manager account. To retrieve metrics, + // issue separate requests against each client account under the manager + // account. + REQUESTED_METRICS_FOR_MANAGER = 59; + + // The number of values (right-hand-side operands) in a filter exceeds the + // limit. + FILTER_HAS_TOO_MANY_VALUES = 63; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/quota_error.proto new file mode 100644 index 00000000..9a698d80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/quota_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing quota errors. + +// Container for enum describing possible quota errors. +message QuotaErrorEnum { + // Enum describing possible quota errors. + enum QuotaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too many requests. + RESOURCE_EXHAUSTED = 2; + + // Access is prohibited. + ACCESS_PROHIBITED = 3; + + // Too many requests in a short amount of time. + RESOURCE_TEMPORARILY_EXHAUSTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/range_error.proto new file mode 100644 index 00000000..000fd1ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/range_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing range errors. + +// Container for enum describing possible range errors. +message RangeErrorEnum { + // Enum describing possible range errors. + enum RangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too low. + TOO_LOW = 2; + + // Too high. + TOO_HIGH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/reach_plan_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/reach_plan_error.proto new file mode 100644 index 00000000..c78f50ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/reach_plan_error.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors generated from ReachPlanService. + +// Container for enum describing possible errors returned from +// the ReachPlanService. +message ReachPlanErrorEnum { + // Enum describing possible errors from ReachPlanService. + enum ReachPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Not forecastable due to missing rate card data. + NOT_FORECASTABLE_MISSING_RATE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/recommendation_error.proto new file mode 100644 index 00000000..58f6a056 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/recommendation_error.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing errors from applying a recommendation. + +// Container for enum describing possible errors from applying a recommendation. +message RecommendationErrorEnum { + // Enum describing possible errors from applying a recommendation. + enum RecommendationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified budget amount is too low for example, lower than minimum + // currency unit or lower than ad group minimum cost-per-click. + BUDGET_AMOUNT_TOO_SMALL = 2; + + // The specified budget amount is too large. + BUDGET_AMOUNT_TOO_LARGE = 3; + + // The specified budget amount is not a valid amount, for example, not a + // multiple of minimum currency unit. + INVALID_BUDGET_AMOUNT = 4; + + // The specified keyword or ad violates ad policy. + POLICY_ERROR = 5; + + // The specified bid amount is not valid, for example, too many fractional + // digits, or negative amount. + INVALID_BID_AMOUNT = 6; + + // The number of keywords in ad group have reached the maximum allowed. + ADGROUP_KEYWORD_LIMIT = 7; + + // The recommendation requested to apply has already been applied. + RECOMMENDATION_ALREADY_APPLIED = 8; + + // The recommendation requested to apply has been invalidated. + RECOMMENDATION_INVALIDATED = 9; + + // The number of operations in a single request exceeds the maximum allowed. + TOO_MANY_OPERATIONS = 10; + + // There are no operations in the request. + NO_OPERATIONS = 11; + + // Operations with multiple recommendation types are not supported when + // partial failure mode is not enabled. + DIFFERENT_TYPES_NOT_SUPPORTED = 12; + + // Request contains multiple operations with the same resource_name. + DUPLICATE_RESOURCE_NAME = 13; + + // The recommendation requested to dismiss has already been dismissed. + RECOMMENDATION_ALREADY_DISMISSED = 14; + + // The recommendation apply request was malformed and invalid. + INVALID_APPLY_REQUEST = 15; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/region_code_error.proto new file mode 100644 index 00000000..dbcbd1c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/region_code_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing region code errors. + +// Container for enum describing possible region code errors. +message RegionCodeErrorEnum { + // Enum describing possible region code errors. + enum RegionCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid region code. + INVALID_REGION_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/request_error.proto new file mode 100644 index 00000000..4c882188 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/request_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing request errors. + +// Container for enum describing possible request errors. +message RequestErrorEnum { + // Enum describing possible request errors. + enum RequestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Resource name is required for this request. + RESOURCE_NAME_MISSING = 3; + + // Resource name provided is malformed. + RESOURCE_NAME_MALFORMED = 4; + + // Resource name provided is malformed. + BAD_RESOURCE_ID = 17; + + // Customer ID is invalid. + INVALID_CUSTOMER_ID = 16; + + // Mutate operation should have either create, update, or remove specified. + OPERATION_REQUIRED = 5; + + // Requested resource not found. + RESOURCE_NOT_FOUND = 6; + + // Next page token specified in user request is invalid. + INVALID_PAGE_TOKEN = 7; + + // Next page token specified in user request has expired. + EXPIRED_PAGE_TOKEN = 8; + + // Page size specified in user request is invalid. + INVALID_PAGE_SIZE = 22; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/resource_access_denied_error.proto new file mode 100644 index 00000000..f1026b3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/resource_access_denied_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing resource access denied errors. + +// Container for enum describing possible resource access denied errors. +message ResourceAccessDeniedErrorEnum { + // Enum describing possible resource access denied errors. + enum ResourceAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User did not have write access. + WRITE_ACCESS_DENIED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 00000000..a36725e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing resource count limit exceeded errors. + +// Container for enum describing possible resource count limit exceeded errors. +message ResourceCountLimitExceededErrorEnum { + // Enum describing possible resource count limit exceeded errors. + enum ResourceCountLimitExceededError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Indicates that this request would exceed the number of allowed resources + // for the Google Ads account. The exact resource type and limit being + // checked can be inferred from accountLimitType. + ACCOUNT_LIMIT = 2; + + // Indicates that this request would exceed the number of allowed resources + // in a Campaign. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // Campaign involved is given by enclosingId. + CAMPAIGN_LIMIT = 3; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // ad group involved is given by enclosingId. + ADGROUP_LIMIT = 4; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group ad. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the enclosingId + // contains the ad group id followed by the ad id, separated by a single + // comma (,). + AD_GROUP_AD_LIMIT = 5; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group criterion. The exact resource type and limit being checked + // can be inferred from accountLimitType, and the + // enclosingId contains the ad group id followed by the + // criterion id, separated by a single comma (,). + AD_GROUP_CRITERION_LIMIT = 6; + + // Indicates that this request would exceed the number of allowed resources + // in this shared set. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the numeric id of the + // shared set involved is given by enclosingId. + SHARED_SET_LIMIT = 7; + + // Exceeds a limit related to a matching function. + MATCHING_FUNCTION_LIMIT = 8; + + // The response for this request would exceed the maximum number of rows + // that can be returned. + RESPONSE_ROW_LIMIT_EXCEEDED = 9; + + // This request would exceed a limit on the number of allowed resources. + // The details of which type of limit was exceeded will eventually be + // returned in ErrorDetails. + RESOURCE_LIMIT = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/setting_error.proto new file mode 100644 index 00000000..e1ae6c39 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/setting_error.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing setting errors. + +// Container for enum describing possible setting errors. +message SettingErrorEnum { + // Enum describing possible setting errors. + enum SettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign setting is not available for this Google Ads account. + SETTING_TYPE_IS_NOT_AVAILABLE = 3; + + // The setting is not compatible with the campaign. + SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; + + // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See + // CriterionTypeGroup documentation for CriterionTypeGroups allowed + // in Campaign or AdGroup TargetingSettings. + TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; + + // TargetingSetting must not explicitly + // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, + // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in + // which case the system will set them to true automatically). + TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6; + + // TargetingSetting cannot change any of + // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, + // INCOME_RANGE) from true to false. + TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7; + + // At least one feed id should be present. + DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; + + // The supplied DynamicSearchAdsSetting contains an invalid domain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; + + // The supplied DynamicSearchAdsSetting contains a subdomain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; + + // The supplied DynamicSearchAdsSetting contains an invalid language code. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; + + // TargetingSettings in search campaigns should not have + // CriterionTypeGroup.PLACEMENT set to targetAll. + TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; + + // The setting value is not compatible with the campaign type. + SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN = 20; + + // Switching from observation setting to targeting setting is not allowed + // for Customer Match lists. See + // https://support.google.com/google-ads/answer/6299717. + BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/shared_criterion_error.proto new file mode 100644 index 00000000..5d3d7907 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/shared_criterion_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing shared criterion errors. + +// Container for enum describing possible shared criterion errors. +message SharedCriterionErrorEnum { + // Enum describing possible shared criterion errors. + enum SharedCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion is not appropriate for the shared set type. + CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/shared_set_error.proto new file mode 100644 index 00000000..6b8d557e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/shared_set_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing shared set errors. + +// Container for enum describing possible shared set errors. +message SharedSetErrorEnum { + // Enum describing possible shared set errors. + enum SharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer cannot create this type of shared set. + CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; + + // A shared set with this name already exists. + DUPLICATE_NAME = 3; + + // Removed shared sets cannot be mutated. + SHARED_SET_REMOVED = 4; + + // The shared set cannot be removed because it is in use. + SHARED_SET_IN_USE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/size_limit_error.proto new file mode 100644 index 00000000..c73e994a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/size_limit_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing size limit errors. + +// Container for enum describing possible size limit errors. +message SizeLimitErrorEnum { + // Enum describing possible size limit errors. + enum SizeLimitError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The number of entries in the request exceeds the system limit, or the + // contents of the operations exceed transaction limits due to their size + // or complexity. Try reducing the number of entries per request. + REQUEST_SIZE_LIMIT_EXCEEDED = 2; + + // The number of entries in the response exceeds the system limit. + RESPONSE_SIZE_LIMIT_EXCEEDED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/string_format_error.proto new file mode 100644 index 00000000..5b5875f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/string_format_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing string format errors. + +// Container for enum describing possible string format errors. +message StringFormatErrorEnum { + // Enum describing possible string format errors. + enum StringFormatError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input string value contains disallowed characters. + ILLEGAL_CHARS = 2; + + // The input string value is invalid for the associated field. + INVALID_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/string_length_error.proto new file mode 100644 index 00000000..a60f8e2f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/string_length_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing string length errors. + +// Container for enum describing possible string length errors. +message StringLengthErrorEnum { + // Enum describing possible string length errors. + enum StringLengthError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified field should have a least one non-whitespace character in + // it. + EMPTY = 4; + + // Too short. + TOO_SHORT = 2; + + // Too long. + TOO_LONG = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/third_party_app_analytics_link_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 00000000..5ae8aa6d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/third_party_app_analytics_link_error.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing ThirdPartyAppAnalyticsLink errors. + +// Container for enum describing possible third party app analytics link errors. +message ThirdPartyAppAnalyticsLinkErrorEnum { + // Enum describing possible third party app analytics link errors. + enum ThirdPartyAppAnalyticsLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The provided analytics provider ID is invalid. + INVALID_ANALYTICS_PROVIDER_ID = 2; + + // The provided mobile app ID is invalid. + INVALID_MOBILE_APP_ID = 3; + + // The mobile app corresponding to the provided app ID is not + // active/enabled. + MOBILE_APP_IS_NOT_ENABLED = 4; + + // Regenerating shareable link ID is only allowed on active links + CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/time_zone_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/time_zone_error.proto new file mode 100644 index 00000000..8f81419e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/time_zone_error.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing time zone errors. + +// Container for enum describing possible time zone errors. +message TimeZoneErrorEnum { + // Enum describing possible currency code errors. + enum TimeZoneError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Time zone is not valid. + INVALID_TIME_ZONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/url_field_error.proto new file mode 100644 index 00000000..adf56330 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/url_field_error.proto @@ -0,0 +1,216 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing url field errors. + +// Container for enum describing possible url field errors. +message UrlFieldErrorEnum { + // Enum describing possible url field errors. + enum UrlFieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The tracking url template is invalid. + INVALID_TRACKING_URL_TEMPLATE = 2; + + // The tracking url template contains invalid tag. + INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; + + // The tracking url template must contain at least one tag (for example, + // {lpurl}), This applies only to tracking url template associated with + // website ads or product ads. + MISSING_TRACKING_URL_TEMPLATE_TAG = 4; + + // The tracking url template must start with a valid protocol (or lpurl + // tag). + MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 5; + + // The tracking url template starts with an invalid protocol. + INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 6; + + // The tracking url template contains illegal characters. + MALFORMED_TRACKING_URL_TEMPLATE = 7; + + // The tracking url template must contain a host name (or lpurl tag). + MISSING_HOST_IN_TRACKING_URL_TEMPLATE = 8; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_TRACKING_URL_TEMPLATE = 9; + + // The tracking url template contains nested occurrences of the same + // conditional tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG = 10; + + // The final url is invalid. + INVALID_FINAL_URL = 11; + + // The final url contains invalid tag. + INVALID_TAG_IN_FINAL_URL = 12; + + // The final url contains nested occurrences of the same conditional tag + // (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_URL_TAG = 13; + + // The final url must start with a valid protocol. + MISSING_PROTOCOL_IN_FINAL_URL = 14; + + // The final url starts with an invalid protocol. + INVALID_PROTOCOL_IN_FINAL_URL = 15; + + // The final url contains illegal characters. + MALFORMED_FINAL_URL = 16; + + // The final url must contain a host name. + MISSING_HOST_IN_FINAL_URL = 17; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_FINAL_URL = 18; + + // The final mobile url is invalid. + INVALID_FINAL_MOBILE_URL = 19; + + // The final mobile url contains invalid tag. + INVALID_TAG_IN_FINAL_MOBILE_URL = 20; + + // The final mobile url contains nested occurrences of the same conditional + // tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG = 21; + + // The final mobile url must start with a valid protocol. + MISSING_PROTOCOL_IN_FINAL_MOBILE_URL = 22; + + // The final mobile url starts with an invalid protocol. + INVALID_PROTOCOL_IN_FINAL_MOBILE_URL = 23; + + // The final mobile url contains illegal characters. + MALFORMED_FINAL_MOBILE_URL = 24; + + // The final mobile url must contain a host name. + MISSING_HOST_IN_FINAL_MOBILE_URL = 25; + + // The tracking url template has an invalid or missing top level domain + // extension. + INVALID_TLD_IN_FINAL_MOBILE_URL = 26; + + // The final app url is invalid. + INVALID_FINAL_APP_URL = 27; + + // The final app url contains invalid tag. + INVALID_TAG_IN_FINAL_APP_URL = 28; + + // The final app url contains nested occurrences of the same conditional tag + // (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_FINAL_APP_URL_TAG = 29; + + // More than one app url found for the same OS type. + MULTIPLE_APP_URLS_FOR_OSTYPE = 30; + + // The OS type given for an app url is not valid. + INVALID_OSTYPE = 31; + + // The protocol given for an app url is not valid. (For example, + // "android-app://") + INVALID_PROTOCOL_FOR_APP_URL = 32; + + // The package id (app id) given for an app url is not valid. + INVALID_PACKAGE_ID_FOR_APP_URL = 33; + + // The number of url custom parameters for an resource exceeds the maximum + // limit allowed. + URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT = 34; + + // An invalid character appears in the parameter key. + INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY = 39; + + // An invalid character appears in the parameter value. + INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE = 40; + + // The url custom parameter value fails url tag validation. + INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE = 41; + + // The custom parameter contains nested occurrences of the same conditional + // tag (for example, {ifmobile:{ifmobile:x}}). + REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG = 42; + + // The protocol (http:// or https://) is missing. + MISSING_PROTOCOL = 43; + + // Unsupported protocol in URL. Only http and https are supported. + INVALID_PROTOCOL = 52; + + // The url is invalid. + INVALID_URL = 44; + + // Destination Url is deprecated. + DESTINATION_URL_DEPRECATED = 45; + + // The url contains invalid tag. + INVALID_TAG_IN_URL = 46; + + // The url must contain at least one tag (for example, {lpurl}). + MISSING_URL_TAG = 47; + + // Duplicate url id. + DUPLICATE_URL_ID = 48; + + // Invalid url id. + INVALID_URL_ID = 49; + + // The final url suffix cannot begin with '?' or '&' characters and must be + // a valid query string. + FINAL_URL_SUFFIX_MALFORMED = 50; + + // The final url suffix cannot contain {lpurl} related or {ignore} tags. + INVALID_TAG_IN_FINAL_URL_SUFFIX = 51; + + // The top level domain is invalid, for example, not a public top level + // domain listed in publicsuffix.org. + INVALID_TOP_LEVEL_DOMAIN = 53; + + // Malformed top level domain in URL. + MALFORMED_TOP_LEVEL_DOMAIN = 54; + + // Malformed URL. + MALFORMED_URL = 55; + + // No host found in URL. + MISSING_HOST = 56; + + // Custom parameter value cannot be null. + NULL_CUSTOM_PARAMETER_VALUE = 57; + + // Track parameter is not supported. + VALUE_TRACK_PARAMETER_NOT_SUPPORTED = 58; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/user_data_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/user_data_error.proto new file mode 100644 index 00000000..97d84549 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/user_data_error.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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing user data errors. + +// Container for enum describing possible user data errors. +message UserDataErrorEnum { + // Enum describing possible request errors. + enum UserDataError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowed to perform operations related to Customer Match. + OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED = 2; + + // Maximum number of user identifiers allowed for each request is 100 and + // for each operation is 20. + TOO_MANY_USER_IDENTIFIERS = 3; + + // Current user list is not applicable for the given customer. + USER_LIST_NOT_APPLICABLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/user_list_error.proto new file mode 100644 index 00000000..bc9f17c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/user_list_error.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing user list errors. + +// Container for enum describing possible user list errors. +message UserListErrorEnum { + // Enum describing possible user list errors. + enum UserListError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Creating and updating external remarketing user lists is not supported. + EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; + + // Concrete type of user list is required. + CONCRETE_TYPE_REQUIRED = 3; + + // Creating/updating user list conversion types requires specifying the + // conversion type Id. + CONVERSION_TYPE_ID_REQUIRED = 4; + + // Remarketing user list cannot have duplicate conversion types. + DUPLICATE_CONVERSION_TYPES = 5; + + // Conversion type is invalid/unknown. + INVALID_CONVERSION_TYPE = 6; + + // User list description is empty or invalid. + INVALID_DESCRIPTION = 7; + + // User list name is empty or invalid. + INVALID_NAME = 8; + + // Type of the UserList does not match. + INVALID_TYPE = 9; + + // Embedded logical user lists are not allowed. + CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; + + // User list rule operand is invalid. + INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; + + // Name is already being used for another user list for the account. + NAME_ALREADY_USED = 12; + + // Name is required when creating a new conversion type. + NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; + + // The given conversion type name has been used. + CONVERSION_TYPE_NAME_ALREADY_USED = 14; + + // Only an owner account may edit a user list. + OWNERSHIP_REQUIRED_FOR_SET = 15; + + // Creating user list without setting type in oneof user_list field, or + // creating/updating read-only user list types is not allowed. + USER_LIST_MUTATE_NOT_SUPPORTED = 16; + + // Rule is invalid. + INVALID_RULE = 17; + + // The specified date range is empty. + INVALID_DATE_RANGE = 27; + + // A UserList which is privacy sensitive or legal rejected cannot be mutated + // by external users. + CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; + + // Maximum number of rulebased user lists a customer can have. + MAX_NUM_RULEBASED_USERLISTS = 29; + + // BasicUserList's billable record field cannot be modified once it is set. + CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; + + // crm_based_user_list.app_id field must be set when upload_key_type is + // MOBILE_ADVERTISING_ID. + APP_ID_NOT_SET = 31; + + // Name of the user list is reserved for system generated lists and cannot + // be used. + USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; + + // Advertiser needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (for example, Customer Match lists). + ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA = 37; + + // The provided rule_type is not supported for the user list. + RULE_TYPE_IS_NOT_SUPPORTED = 34; + + // Similar user list cannot be used as a logical user list operand. + CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND = 35; + + // Logical user list should not have a mix of CRM based user list and other + // types of lists in its rules. + CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS = 36; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v11/errors/youtube_video_registration_error.proto new file mode 100644 index 00000000..4b5fd8ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/errors/youtube_video_registration_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.errors; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v11.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V11::Errors"; + +// Proto file describing YouTube video registration errors. + +// Container for enum describing YouTube video registration errors. +message YoutubeVideoRegistrationErrorEnum { + // Enum describing YouTube video registration errors. + enum YoutubeVideoRegistrationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Video to be registered wasn't found. + VIDEO_NOT_FOUND = 2; + + // Video to be registered is not accessible (for example, private). + VIDEO_NOT_ACCESSIBLE = 3; + + // Video to be registered is not eligible (for example, mature content). + VIDEO_NOT_ELIGIBLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/googleads_gapic.yaml b/google-cloud/protos/google/ads/googleads/v11/googleads_gapic.yaml new file mode 100644 index 00000000..74a7a536 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/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.V11.Services + go: + package_name: google.golang.org/google/ads/googleads/v11/services + java: + package_name: com.google.ads.googleads.v11.services + nodejs: + package_name: v11.services + php: + package_name: Google\Ads\GoogleAds\V11\Services + python: + package_name: google.ads.googleads_v11.gapic.services + ruby: + package_name: Google::Ads::Googleads::V11::Services +interfaces: +- name: google.ads.googleads.v11.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/google-cloud/protos/google/ads/googleads/v11/googleads_grpc_service_config.json b/google-cloud/protos/google/ads/googleads/v11/googleads_grpc_service_config.json new file mode 100755 index 00000000..2c9b0dfe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/googleads_grpc_service_config.json @@ -0,0 +1,327 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v11.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v11.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v11.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v11.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v11.services.AdService" + }, + { + "service": "google.ads.googleads.v11.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v11.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v11.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v11.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v11.services.AssetService" + }, + { + "service": "google.ads.googleads.v11.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v11.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v11.services.AudienceInsightsService" + }, + { + "service": "google.ads.googleads.v11.services.AudienceService" + }, + { + "service": "google.ads.googleads.v11.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v11.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v11.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v11.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v11.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignExperimentService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignService" + }, + { + "service": "google.ads.googleads.v11.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v11.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v11.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v11.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v11.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v11.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v11.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v11.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v11.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v11.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v11.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v11.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v11.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v11.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v11.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v11.services.FeedService" + }, + { + "service": "google.ads.googleads.v11.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v11.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v11.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v11.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v11.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v11.services.LabelService" + }, + { + "service": "google.ads.googleads.v11.services.MediaFileService" + }, + { + "service": "google.ads.googleads.v11.services.MerchantCenterLinkService" + }, + { + "service": "google.ads.googleads.v11.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v11.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v11.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v11.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v11.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v11.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v11.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v11.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v11.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v11.services.UserDataService" + }, + { + "service": "google.ads.googleads.v11.services.UserListService" + } + ], + "timeout": "14400s", + "retryPolicy": { + "initialBackoff": "5s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/ads/googleads/v11/googleads_v11.yaml b/google-cloud/protos/google/ads/googleads/v11/googleads_v11.yaml new file mode 100644 index 00000000..c087d39b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/googleads_v11.yaml @@ -0,0 +1,811 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v11.services.AccountBudgetProposalService +- name: google.ads.googleads.v11.services.AccountLinkService +- name: google.ads.googleads.v11.services.AdGroupAdLabelService +- name: google.ads.googleads.v11.services.AdGroupAdService +- name: google.ads.googleads.v11.services.AdGroupAssetService +- name: google.ads.googleads.v11.services.AdGroupBidModifierService +- name: google.ads.googleads.v11.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v11.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v11.services.AdGroupCriterionService +- name: google.ads.googleads.v11.services.AdGroupCustomizerService +- name: google.ads.googleads.v11.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v11.services.AdGroupFeedService +- name: google.ads.googleads.v11.services.AdGroupLabelService +- name: google.ads.googleads.v11.services.AdGroupService +- name: google.ads.googleads.v11.services.AdParameterService +- name: google.ads.googleads.v11.services.AdService +- name: google.ads.googleads.v11.services.AssetGroupAssetService +- name: google.ads.googleads.v11.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v11.services.AssetGroupService +- name: google.ads.googleads.v11.services.AssetGroupSignalService +- name: google.ads.googleads.v11.services.AssetService +- name: google.ads.googleads.v11.services.AssetSetAssetService +- name: google.ads.googleads.v11.services.AssetSetService +- name: google.ads.googleads.v11.services.AudienceInsightsService +- name: google.ads.googleads.v11.services.AudienceService +- name: google.ads.googleads.v11.services.BatchJobService +- name: google.ads.googleads.v11.services.BiddingDataExclusionService +- name: google.ads.googleads.v11.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v11.services.BiddingStrategyService +- name: google.ads.googleads.v11.services.BillingSetupService +- name: google.ads.googleads.v11.services.CampaignAssetService +- name: google.ads.googleads.v11.services.CampaignAssetSetService +- name: google.ads.googleads.v11.services.CampaignBidModifierService +- name: google.ads.googleads.v11.services.CampaignBudgetService +- name: google.ads.googleads.v11.services.CampaignConversionGoalService +- name: google.ads.googleads.v11.services.CampaignCriterionService +- name: google.ads.googleads.v11.services.CampaignCustomizerService +- name: google.ads.googleads.v11.services.CampaignDraftService +- name: google.ads.googleads.v11.services.CampaignExperimentService +- name: google.ads.googleads.v11.services.CampaignExtensionSettingService +- name: google.ads.googleads.v11.services.CampaignFeedService +- name: google.ads.googleads.v11.services.CampaignGroupService +- name: google.ads.googleads.v11.services.CampaignLabelService +- name: google.ads.googleads.v11.services.CampaignService +- name: google.ads.googleads.v11.services.CampaignSharedSetService +- name: google.ads.googleads.v11.services.ConversionActionService +- name: google.ads.googleads.v11.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v11.services.ConversionCustomVariableService +- name: google.ads.googleads.v11.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v11.services.ConversionUploadService +- name: google.ads.googleads.v11.services.ConversionValueRuleService +- name: google.ads.googleads.v11.services.ConversionValueRuleSetService +- name: google.ads.googleads.v11.services.CustomAudienceService +- name: google.ads.googleads.v11.services.CustomConversionGoalService +- name: google.ads.googleads.v11.services.CustomInterestService +- name: google.ads.googleads.v11.services.CustomerAssetService +- name: google.ads.googleads.v11.services.CustomerClientLinkService +- name: google.ads.googleads.v11.services.CustomerConversionGoalService +- name: google.ads.googleads.v11.services.CustomerCustomizerService +- name: google.ads.googleads.v11.services.CustomerExtensionSettingService +- name: google.ads.googleads.v11.services.CustomerFeedService +- name: google.ads.googleads.v11.services.CustomerLabelService +- name: google.ads.googleads.v11.services.CustomerManagerLinkService +- name: google.ads.googleads.v11.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v11.services.CustomerService +- name: google.ads.googleads.v11.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v11.services.CustomerUserAccessService +- name: google.ads.googleads.v11.services.CustomizerAttributeService +- name: google.ads.googleads.v11.services.ExperimentArmService +- name: google.ads.googleads.v11.services.ExperimentService +- name: google.ads.googleads.v11.services.ExtensionFeedItemService +- name: google.ads.googleads.v11.services.FeedItemService +- name: google.ads.googleads.v11.services.FeedItemSetLinkService +- name: google.ads.googleads.v11.services.FeedItemSetService +- name: google.ads.googleads.v11.services.FeedItemTargetService +- name: google.ads.googleads.v11.services.FeedMappingService +- name: google.ads.googleads.v11.services.FeedService +- name: google.ads.googleads.v11.services.GeoTargetConstantService +- name: google.ads.googleads.v11.services.GoogleAdsFieldService +- name: google.ads.googleads.v11.services.GoogleAdsService +- name: google.ads.googleads.v11.services.InvoiceService +- name: google.ads.googleads.v11.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v11.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v11.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v11.services.KeywordPlanCampaignService +- name: google.ads.googleads.v11.services.KeywordPlanIdeaService +- name: google.ads.googleads.v11.services.KeywordPlanService +- name: google.ads.googleads.v11.services.KeywordThemeConstantService +- name: google.ads.googleads.v11.services.LabelService +- name: google.ads.googleads.v11.services.MediaFileService +- name: google.ads.googleads.v11.services.MerchantCenterLinkService +- name: google.ads.googleads.v11.services.OfflineUserDataJobService +- name: google.ads.googleads.v11.services.PaymentsAccountService +- name: google.ads.googleads.v11.services.ReachPlanService +- name: google.ads.googleads.v11.services.RecommendationService +- name: google.ads.googleads.v11.services.RemarketingActionService +- name: google.ads.googleads.v11.services.SharedCriterionService +- name: google.ads.googleads.v11.services.SharedSetService +- name: google.ads.googleads.v11.services.SmartCampaignSettingService +- name: google.ads.googleads.v11.services.SmartCampaignSuggestService +- name: google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v11.services.UserDataService +- name: google.ads.googleads.v11.services.UserListService + +types: +- name: google.ads.googleads.v11.errors.GoogleAdsFailure +- name: google.ads.googleads.v11.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v11.services.CreateCampaignExperimentMetadata +- name: google.ads.googleads.v11.services.PromoteExperimentMetadata +- name: google.ads.googleads.v11.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.v11.services.AccountBudgetProposalService.MutateAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AccountLinkService.CreateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v11.services.AccountLinkService.MutateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v11.services.AdGroupAdLabelService.MutateAdGroupAdLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupAdService.MutateAdGroupAds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupAssetService.MutateAdGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupCriterionService.MutateAdGroupCriteria + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupCustomizerService.MutateAdGroupCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupFeedService.MutateAdGroupFeeds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupLabelService.MutateAdGroupLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdGroupService.MutateAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdParameterService.MutateAdParameters + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdService.GetAd + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AdService.MutateAds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetGroupAssetService.MutateAssetGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetGroupService.MutateAssetGroups + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetGroupSignalService.MutateAssetGroupSignals + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetService.MutateAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetSetAssetService.MutateAssetSetAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.AssetSetService.MutateAssetSets + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.AudienceInsightsService.*' + deadline: 600.0 + - selector: google.ads.googleads.v11.services.AudienceService.MutateAudiences + deadline: 600.0 + - selector: 'google.ads.googleads.v11.services.BatchJobService.*' + deadline: 60.0 + - selector: google.ads.googleads.v11.services.BiddingDataExclusionService.MutateBiddingDataExclusions + deadline: 60.0 + - selector: google.ads.googleads.v11.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + deadline: 60.0 + - selector: google.ads.googleads.v11.services.BiddingStrategyService.MutateBiddingStrategies + deadline: 60.0 + - selector: google.ads.googleads.v11.services.BillingSetupService.MutateBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignAssetService.MutateCampaignAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignAssetSetService.MutateCampaignAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignBidModifierService.MutateCampaignBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignBudgetService.MutateCampaignBudgets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignConversionGoalService.MutateCampaignConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignCriterionService.MutateCampaignCriteria + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignCustomizerService.MutateCampaignCustomizers + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.CampaignDraftService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.CampaignExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignFeedService.MutateCampaignFeeds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignGroupService.MutateCampaignGroups + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignLabelService.MutateCampaignLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignService.MutateCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CampaignSharedSetService.MutateCampaignSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ConversionActionService.MutateConversionActions + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + deadline: 600.0 + - selector: google.ads.googleads.v11.services.ConversionCustomVariableService.MutateConversionCustomVariables + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ConversionUploadService.UploadCallConversions + deadline: 600.0 + - selector: google.ads.googleads.v11.services.ConversionUploadService.UploadClickConversions + deadline: 600.0 + - selector: google.ads.googleads.v11.services.ConversionValueRuleService.MutateConversionValueRules + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomAudienceService.MutateCustomAudiences + deadline: 600.0 + - selector: google.ads.googleads.v11.services.CustomConversionGoalService.MutateCustomConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomInterestService.MutateCustomInterests + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerAssetService.MutateCustomerAssets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerClientLinkService.MutateCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerConversionGoalService.MutateCustomerConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerCustomizerService.MutateCustomerCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerFeedService.MutateCustomerFeeds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerLabelService.MutateCustomerLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerManagerLinkService.MoveManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerManagerLinkService.MutateCustomerManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.CustomerService.*' + deadline: 60.0 + - selector: google.ads.googleads.v11.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v11.services.CustomerUserAccessService.MutateCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v11.services.CustomizerAttributeService.MutateCustomizerAttributes + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ExperimentArmService.MutateExperimentArms + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.ExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ExtensionFeedItemService.MutateExtensionFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedItemService.MutateFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedItemSetLinkService.MutateFeedItemSetLinks + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedItemSetService.MutateFeedItemSets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedItemTargetService.MutateFeedItemTargets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedMappingService.MutateFeedMappings + deadline: 60.0 + - selector: google.ads.googleads.v11.services.FeedService.MutateFeeds + deadline: 60.0 + - selector: google.ads.googleads.v11.services.GeoTargetConstantService.SuggestGeoTargetConstants + deadline: 60.0 + - selector: google.ads.googleads.v11.services.GoogleAdsFieldService.GetGoogleAdsField + deadline: 600.0 + - selector: google.ads.googleads.v11.services.GoogleAdsFieldService.SearchGoogleAdsFields + deadline: 600.0 + - selector: google.ads.googleads.v11.services.GoogleAdsService.Mutate + deadline: 600.0 + - selector: google.ads.googleads.v11.services.GoogleAdsService.Search + deadline: 14400.0 + - selector: google.ads.googleads.v11.services.GoogleAdsService.SearchStream + deadline: 14400.0 + - selector: google.ads.googleads.v11.services.InvoiceService.ListInvoices + deadline: 60.0 + - selector: google.ads.googleads.v11.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + deadline: 60.0 + - selector: google.ads.googleads.v11.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v11.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + deadline: 60.0 + - selector: google.ads.googleads.v11.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.KeywordPlanIdeaService.*' + deadline: 600.0 + - selector: 'google.ads.googleads.v11.services.KeywordPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v11.services.KeywordPlanService.MutateKeywordPlans + deadline: 60.0 + - selector: google.ads.googleads.v11.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + deadline: 60.0 + - selector: google.ads.googleads.v11.services.LabelService.MutateLabels + deadline: 60.0 + - selector: google.ads.googleads.v11.services.MediaFileService.MutateMediaFiles + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.MerchantCenterLinkService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.OfflineUserDataJobService.*' + deadline: 600.0 + - selector: google.ads.googleads.v11.services.PaymentsAccountService.ListPaymentsAccounts + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.ReachPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v11.services.RecommendationService.ApplyRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v11.services.RecommendationService.DismissRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v11.services.RemarketingActionService.MutateRemarketingActions + deadline: 60.0 + - selector: google.ads.googleads.v11.services.SharedCriterionService.MutateSharedCriteria + deadline: 60.0 + - selector: google.ads.googleads.v11.services.SharedSetService.MutateSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v11.services.SmartCampaignSettingService.MutateSmartCampaignSettings + deadline: 60.0 + - selector: 'google.ads.googleads.v11.services.SmartCampaignSuggestService.*' + deadline: 60.0 + - selector: google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + deadline: 600.0 + - selector: google.ads.googleads.v11.services.UserDataService.UploadUserData + deadline: 600.0 + - selector: google.ads.googleads.v11.services.UserListService.MutateUserLists + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v11/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v11/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v11/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v11/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v11/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v11.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.AudienceInsightsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.CampaignExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.KeywordPlanIdeaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.KeywordPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.MediaFileService.MutateMediaFiles + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.MerchantCenterLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.RecommendationService.ApplyRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.RecommendationService.DismissRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v11.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v11.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/google-cloud/protos/google/ads/googleads/v11/resources/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/resources/BUILD.bazel new file mode 100644 index 00000000..e0c43a51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/BUILD.bazel @@ -0,0 +1,97 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "resources_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v11/common:common_proto", + "//google/ads/googleads/v11/enums:enums_proto", + "//google/ads/googleads/v11/errors:errors_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "resources_java_proto", + deps = [":resources_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "resources_csharp_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "resources_ruby_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "resources_py_proto", + deps = [":resources_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/accessible_bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v11/resources/accessible_bidding_strategy.proto new file mode 100644 index 00000000..bd7892a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/accessible_bidding_strategy.proto @@ -0,0 +1,171 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v11/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Represents a view of BiddingStrategies owned by and shared with the customer. +// +// In contrast to BiddingStrategy, this resource includes strategies owned by +// managers of the customer and shared with this customer - in addition to +// strategies owned by this customer. This resource does not provide metrics and +// only exposes a limited subset of the BiddingStrategy attributes. +message AccessibleBiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + pattern: "customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}" + }; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + message MaximizeConversionValue { + // Output only. The target return on ad spend (ROAS) option. If set, the bid strategy + // will maximize revenue while averaging the target return on ad spend. If + // the target ROAS is high, the bid strategy may not be able to spend the + // full budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + message MaximizeConversions { + // Output only. The target cost per acquisition (CPA) option. This is the average amount + // that you would like to spend per acquisition. + int64 target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + message TargetCpa { + // Output only. Average CPA target. + // This target should be greater than or equal to minimum billable unit + // based on the currency for the account. + optional int64 target_cpa_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + message TargetImpressionShare { + // Output only. The targeted location on the search results page. + google.ads.googleads.v11.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The chosen fraction of ads to be shown in the targeted location in + // micros. For example, 1% equals 10,000. + optional int64 location_fraction_micros = 2; + + // Output only. The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that helps you maximize revenue while + // averaging a specific target return on ad spend (ROAS). + message TargetRoas { + // Output only. The chosen revenue (based on conversion data) per unit of spend. + optional double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets your bids to help get as many clicks + // as possible within your budget. + message TargetSpend { + // Output only. The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 1 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the accessible bidding strategy. + // AccessibleBiddingStrategy resource names have the form: + // + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the bidding strategy. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + google.ads.googleads.v11.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the Customer which owns the bidding strategy. + int64 owner_customer_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. descriptive_name of the Customer which owns the bidding strategy. + string owner_descriptive_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // Output only. An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + MaximizeConversionValue maximize_conversion_value = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + MaximizeConversions maximize_conversions = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + TargetCpa target_cpa = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + TargetImpressionShare target_impression_share = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that helps you maximize revenue while averaging a + // specific target Return On Ad Spend (ROAS). + TargetRoas target_roas = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bid strategy that sets your bids to help get as many clicks as + // possible within your budget. + TargetSpend target_spend = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v11/resources/account_budget.proto new file mode 100644 index 00000000..c9c4d173 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/account_budget.proto @@ -0,0 +1,253 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v11/enums/account_budget_status.proto"; +import "google/ads/googleads/v11/enums/spending_limit_type.proto"; +import "google/ads/googleads/v11/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (for example, spending limit), these differences are +// juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. +// +// This resource is mutated using AccountBudgetProposal and cannot be mutated +// directly. A budget may have at most one pending proposal at any given time. +// It is read through pending_proposal. +// +// Once approved, a budget may be subject to adjustments, such as credit +// adjustments. Adjustments create differences between the 'approved' and +// 'adjusted' fields, which would otherwise be identical. +message AccountBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudget" + pattern: "customers/{customer_id}/accountBudgets/{account_budget_id}" + }; + + // A pending proposal associated with the enclosing account-level budget, + // if applicable. + message PendingAccountBudgetProposal { + // Output only. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + optional string account_budget_proposal = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.v11.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name to assign to the account-level budget. + optional string name = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + optional string start_date_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with this budget. + optional string notes = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this account-level budget proposal was created. + // Formatted as yyyy-MM-dd HH:mm:ss. + optional string creation_date_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The end time of the account-level budget. + oneof end_time { + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + string end_date_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit. + oneof spending_limit { + // Output only. The spending limit in micros. One million is equivalent to + // one unit. + int64 spending_limit_micros = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The spending limit as a well-defined type, for example, INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Output only. The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Output only. The ID of the account-level budget. + optional int64 id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the billing setup associated with this account-level + // budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The status of this account-level budget. + google.ads.googleads.v11.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account-level budget. + optional string name = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + optional string proposed_start_date_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + optional string approved_start_date_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + int64 total_adjustments_micros = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + int64 amount_served_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with the budget. + optional string notes = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + string proposed_end_date_time = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + string approved_end_date_time = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Output only. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. This will only be populated if the proposed spending limit + // is finite, and will always be greater than or equal to the + // proposed spending limit. + int64 approved_spending_limit_micros = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for example, + // INFINITE. This will only be populated if the approved spending limit is + // INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // Output only. The adjusted spending limit in micros. One million is equivalent to + // one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + int64 adjusted_spending_limit_micros = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted spending limit as a well-defined type, for example, + // INFINITE. This will only be populated if the adjusted spending limit is + // INFINITE, which is guaranteed to be true if the approved spending limit + // is INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v11/resources/account_budget_proposal.proto new file mode 100644 index 00000000..fa8b609a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/account_budget_proposal.proto @@ -0,0 +1,161 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v11/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v11/enums/spending_limit_type.proto"; +import "google/ads/googleads/v11/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AccountBudgetProposal resource. + +// An account-level budget proposal. +// +// All fields prefixed with 'proposed' may not necessarily be applied directly. +// For example, proposed spending limits may be adjusted before their +// application. This is true if the 'proposed' field has an 'approved' +// counterpart, for example, spending limits. +// +// Note that the proposal type (proposal_type) changes which fields are +// required and which must remain empty. +message AccountBudgetProposal { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + pattern: "customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}" + }; + + // Immutable. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The ID of the proposal. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the billing setup associated with this proposal. + optional string billing_setup = 26 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Immutable. The resource name of the account-level budget associated with this + // proposal. + optional string account_budget = 27 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Immutable. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.v11.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.v11.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name to assign to the account-level budget. + optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + optional string approved_start_date_time = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A purchase order number is a value that enables the user to help them + // reference this budget in their monthly invoices. + optional string proposed_purchase_order_number = 35 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Notes associated with this budget. + optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The date time when this account-level budget proposal was created, which is + // not the same as its approval date time, if applicable. + optional string creation_date_time = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time when this account-level budget was approved, if applicable. + optional string approval_date_time = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed start date time of the account-level budget, which cannot be + // in the past. + oneof proposed_start_time { + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + string proposed_start_date_time = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed start date time as a well-defined type, for example, NOW. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The proposed end date time of the account-level budget, which cannot be in + // the past. + oneof proposed_end_time { + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + string proposed_end_date_time = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved end date time of the account-level budget. + oneof approved_end_time { + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + string approved_end_date_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Immutable. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved spending limit. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. + int64 approved_spending_limit_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/account_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/account_link.proto new file mode 100644 index 00000000..6bc1690d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/account_link.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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/account_link_status.proto"; +import "google/ads/googleads/v11/enums/linked_account_type.proto"; +import "google/ads/googleads/v11/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Represents the data sharing connection between a Google Ads account and +// another account +message AccountLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountLink" + pattern: "customers/{customer_id}/accountLinks/{account_link_id}" + }; + + // Immutable. Resource name of the account link. + // AccountLink resource names have the form: + // `customers/{customer_id}/accountLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 account_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. + google.ads.googleads.v11.enums.AccountLinkStatusEnum.AccountLinkStatus status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v11.enums.LinkedAccountTypeEnum.LinkedAccountType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // An account linked to this Google Ads account. + oneof linked_account { + // Immutable. A third party app analytics link. + ThirdPartyAppAnalyticsLinkIdentifier third_party_app_analytics = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // 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 + HotelCenterLinkIdentifier hotel_center = 9 [(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. + google.ads.googleads.v11.enums.MobileAppVendorEnum.MobileAppVendor 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" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad.proto new file mode 100644 index 00000000..871da04d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad.proto @@ -0,0 +1,196 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/ad_type_infos.proto"; +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/final_app_url.proto"; +import "google/ads/googleads/v11/common/url_collection.proto"; +import "google/ads/googleads/v11/enums/ad_type.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.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.v11.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.v11.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.v11.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.v11.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.v11.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v11.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v11.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.v11.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v11.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v11.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v11.common.ShoppingProductAdInfo shopping_product_ad = 18; + + // Immutable. Details pertaining to a Gmail ad. + google.ads.googleads.v11.common.GmailAdInfo gmail_ad = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v11.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v11.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v11.common.VideoResponsiveAdInfo video_responsive_ad = 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v11.common.ResponsiveSearchAdInfo responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v11.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v11.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v11.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v11.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v11.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v11.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v11.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v11.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v11.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v11.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50; + + // Details pertaining to a discovery multi asset ad. + google.ads.googleads.v11.common.DiscoveryMultiAssetAdInfo discovery_multi_asset_ad = 51; + + // Details pertaining to a discovery carousel ad. + google.ads.googleads.v11.common.DiscoveryCarouselAdInfo discovery_carousel_ad = 52; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group.proto new file mode 100644 index 00000000..a4c1c77e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group.proto @@ -0,0 +1,201 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/explorer_auto_optimizer_setting.proto"; +import "google/ads/googleads/v11/common/targeting_setting.proto"; +import "google/ads/googleads/v11/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v11/enums/ad_group_status.proto"; +import "google/ads/googleads/v11/enums/ad_group_type.proto"; +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/bidding_source.proto"; +import "google/ads/googleads/v11/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group resource. + +// An ad group. +message AdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroup" + pattern: "customers/{customer_id}/adGroups/{ad_group_id}" + }; + + // Settings for the audience targeting. + message AudienceSetting { + // Immutable. If true, this ad group uses an Audience resource for audience targeting. + // If false, this ad group may use audience segment criteria instead. + bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Immutable. The resource name of the ad group. + // Ad group resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the ad group. + optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the ad group. + // + // This field is required and should not be empty when creating new ad + // groups. + // + // It must contain fewer than 255 UTF-8 full-width characters. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 35; + + // The status of the ad group. + google.ads.googleads.v11.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v11.enums.AdGroupTypeEnum.AdGroupType type = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v11.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; + + // Output only. For draft or experiment ad groups, this field is the resource name of the + // base ad group from which this ad group was created. If a draft or + // experiment ad group does not have a base ad group, then this field is null. + // + // For base ad groups, this field equals the ad group resource name. + // + // This field is read-only. + optional string base_ad_group = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 6; + + // Immutable. The campaign to which the ad group belongs. + optional string campaign = 38 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The maximum CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 39; + + // Output only. Value will be same as that of the CPC (cost-per-click) bid value when the + // bidding strategy is one of manual cpc, enhanced cpc, page one promoted or + // target outrank share, otherwise the value will be null. + optional int64 effective_cpc_bid_micros = 57 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The maximum CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 40; + + // The target CPA (cost-per-acquisition). If the ad group's campaign + // bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa + // field set), then this field overrides the target CPA specified in the + // campaign's bidding strategy. + // Otherwise, this value is ignored. + optional int64 target_cpa_micros = 41; + + // Output only. The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 42 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // 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; + + // Settings for the Display Campaign Optimizer, initially termed "Explorer". + google.ads.googleads.v11.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; + + // Allows advertisers to specify a targeting dimension on which to place + // absolute bids. This is only applicable for campaigns that target only the + // display network and not search. + google.ads.googleads.v11.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. + google.ads.googleads.v11.common.TargetingSetting targeting_setting = 25; + + // Immutable. Setting for audience related features. + AudienceSetting audience_setting = 56 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The effective target CPA (cost-per-acquisition). + // This field is read-only. + optional int64 effective_target_cpa_micros = 47 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target CPA. + // This field is read-only. + google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective target ROAS (return-on-ad-spend). + // This field is read-only. + optional double effective_target_roas = 48 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target ROAS. + // This field is read-only. + google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group. + repeated string labels = 49 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // The asset field types that should be excluded from this ad group. Asset + // links with these field types will not be inherited by this ad group from + // the upper levels. + repeated google.ads.googleads.v11.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 54; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad.proto new file mode 100644 index 00000000..9b4165f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v11/enums/ad_strength.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; +import "google/ads/googleads/v11/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAd" + pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad group ad resource names have the form: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.googleads.v11.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; + + // Immutable. The ad group to which the ad belongs. + optional string ad_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v11.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For example, a + // recommendation could be "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. + repeated google.ads.googleads.v11.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.v11.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.v11.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_combination_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 00000000..1b1dfa3f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_combination_view.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/asset_usage.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetCombinationViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_view.proto new file mode 100644 index 00000000..c6b005cb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/asset_performance_label.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group ad asset view resource. + +// A link between an AdGroupAd and an Asset. +// Currently we only support AdGroupAdAssetView for AppAds. +message AdGroupAdAssetView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + pattern: "customers/{customer_id}/adGroupAdAssetViews/{ad_group_id}~{ad_id}~{asset_id}~{field_type}" + }; + + // Output only. The resource name of the ad group ad asset view. + // Ad group ad asset view resource names have the form (Before V4): + // + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; + + // Output only. The ad group ad to which the asset is linked. + optional string ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The asset which is linked to the ad group ad. + optional string asset = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v11.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset and the latest version of the ad. If true, the + // asset is linked to the latest version of the ad. If false, it means the + // link once existed but has been removed and is no longer present in the + // latest version of the ad. + optional bool enabled = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance of an asset linkage. + google.ads.googleads.v11.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.v11.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.v11.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.v11.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_label.proto new file mode 100644 index 00000000..b2a91e58 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_ad_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group ad label resource. + +// A relationship between an ad group ad and a label. +message AdGroupAdLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group ad label. + // Ad group ad label resource names have the form: + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; + + // Immutable. The ad group ad to which the label is attached. + optional string ad_group_ad = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Immutable. The label assigned to the ad group ad. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_asset.proto new file mode 100644 index 00000000..9d9b9c9a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_asset.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/asset_link_status.proto"; +import "google/ads/googleads/v11/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.enums.AssetSourceEnum.AssetSource source = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the ad group asset. + google.ads.googleads.v11.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_audience_view.proto new file mode 100644 index 00000000..41d2fc0c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_audience_view.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group audience view resource. + +// An ad group audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated at the audience level. +message AdGroupAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + pattern: "customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad group audience view. + // Ad group audience view resource names have the form: + // + // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_bid_modifier.proto new file mode 100644 index 00000000..2ce917d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_bid_modifier.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group bid modifier resource. + +// Represents an ad group bid modifier. +message AdGroupBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + pattern: "customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the ad group bid modifier. + // Ad group bid modifier resource names have the form: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Immutable. The ad group to which this criterion belongs. + optional string ad_group = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. + // Use 0 to opt out of a Device type. + optional double bid_modifier = 15; + + // Output only. The base ad group from which this draft/trial adgroup bid modifier was + // created. If ad_group is a base ad group then this field will be equal to + // ad_group. If the ad group was created in the draft or trial and has no + // corresponding base ad group, then this field will be null. + // This field is readonly. + optional string base_ad_group = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Bid modifier source. + google.ads.googleads.v11.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for hotel date selection (default dates versus user selected). + google.ads.googleads.v11.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.v11.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v11.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.v11.common.HotelCheckInDayInfo hotel_check_in_day = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v11.common.DeviceInfo device = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A preferred content criterion. + google.ads.googleads.v11.common.PreferredContentInfo preferred_content = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v11.common.HotelCheckInDateRangeInfo hotel_check_in_date_range = 17 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion.proto new file mode 100644 index 00000000..8f4c65ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion.proto @@ -0,0 +1,293 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v11/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v11/enums/bidding_source.proto"; +import "google/ads/googleads/v11/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v11/enums/criterion_type.proto"; +import "google/ads/googleads/v11/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group criterion resource. + +// An ad group criterion. +message AdGroupCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterion" + pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}" + }; + + // A container for ad group criterion quality information. + message QualityInfo { + // Output only. The quality score. + // + // This field may not be populated if Google does not have enough + // information to determine a value. + optional int32 quality_score = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.v11.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.v11.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.v11.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Estimates for criterion bids at various positions. + message PositionEstimates { + // Output only. The estimate of the CPC bid required for ad to be shown on first + // page of search results. + optional int64 first_page_cpc_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed in first + // position, at the top of the first page of search results. + optional int64 first_position_cpc_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed at the top + // of the first page of search results. + optional int64 top_of_page_cpc_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how many clicks per week you might get by changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_clicks_at_first_position_cpc = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how your cost per week might change when changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_cost_at_first_position_cpc = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the ad group criterion. + // Ad group criterion resource names have the form: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. + google.ads.googleads.v11.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; + + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The ad group to which the criterion belongs. + optional string ad_group = 57 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The type of the criterion. + google.ads.googleads.v11.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + // + // This field is immutable. To switch a criterion from positive to negative, + // remove then re-add it. + optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Serving status of the criterion. + google.ads.googleads.v11.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v11.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of disapproval reasons of the criterion. + // + // The different reasons for disapproving a criterion can be found here: + // https://support.google.com/adspolicy/answer/6008942 + // + // This field is read-only. + repeated string disapproval_reasons = 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group criterion. + repeated string labels = 60 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + optional double bid_modifier = 61; + + // The CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 62; + + // The CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 63; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 64; + + // The CPC bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 65; + + // Output only. The effective CPC (cost-per-click) bid. + optional int64 effective_cpc_bid_micros = 66 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + optional int64 effective_cpm_bid_micros = 67 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPV (cost-per-view) bid. + optional int64 effective_cpv_bid_micros = 68 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective Percent CPC bid amount. + optional int64 effective_percent_cpc_bid_micros = 69 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPC bid. + google.ads.googleads.v11.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.v11.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.v11.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.v11.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 70; + + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + + // URL template for appending params to final URL. + optional string final_url_suffix = 72; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 73; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v11.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v11.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v11.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v11.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v11.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v11.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v11.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v11.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v11.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v11.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v11.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v11.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v11.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v11.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v11.common.CustomAudienceInfo custom_audience = 74 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v11.common.CombinedAudienceInfo combined_audience = 75 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Audience. + google.ads.googleads.v11.common.AudienceInfo audience = 79 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto new file mode 100644 index 00000000..40957cd3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/customizer_value.proto"; +import "google/ads/googleads/v11/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A customizer value for the associated CustomizerAttribute at the +// AdGroupCriterion level. +message AdGroupCriterionCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + pattern: "customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group criterion customizer. + // Ad group criterion customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + } + ]; + + // Immutable. The ad group criterion to which the customizer attribute is linked. + // It must be a keyword criterion. + optional string ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group criterion. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group criterion customizer. + google.ads.googleads.v11.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.v11.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_label.proto new file mode 100644 index 00000000..823df85e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group criterion label resource. + +// A relationship between an ad group criterion and a label. +message AdGroupCriterionLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group criterion label. + // Ad group criterion label resource names have the form: + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // Immutable. The ad group criterion to which the label is attached. + optional string ad_group_criterion = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The label assigned to the ad group criterion. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_simulation.proto new file mode 100644 index 00000000..420374a2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/simulation.proto"; +import "google/ads/googleads/v11/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v11/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group criterion simulation resource. + +// An ad group criterion simulation. Supported combinations of advertising +// channel type, criterion type, simulation type, and simulation modification +// method are detailed below respectively. Hotel AdGroupCriterion simulation +// operations starting in V5. +// +// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM +// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM +// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM +// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM +// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM +message AdGroupCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + pattern: "customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group criterion simulation. + // Ad group criterion simulation resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; + + // Output only. AdGroup ID of the simulation. + optional int64 ad_group_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v11.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v11.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v11.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.v11.common.PercentCpcBidSimulationPointList percent_cpc_bid_point_list = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_customizer.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_customizer.proto new file mode 100644 index 00000000..bfee1b71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_customizer.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/customizer_value.proto"; +import "google/ads/googleads/v11/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A customizer value for the associated CustomizerAttribute at the AdGroup +// level. +message AdGroupCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + pattern: "customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group customizer. + // Ad group customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + } + ]; + + // Immutable. The ad group to which the customizer attribute is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group customizer. + google.ads.googleads.v11.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.v11.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_extension_setting.proto new file mode 100644 index 00000000..fab818f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/extension_setting_device.proto"; +import "google/ads/googleads/v11/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AdGroupExtensionSetting resource. + +// An ad group extension setting. +message AdGroupExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + pattern: "customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}" + }; + + // Immutable. The resource name of the ad group extension setting. + // AdGroupExtensionSetting resource names have the form: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; + + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the ad group. The linked extension feed items will + // serve under this ad group. + // AdGroup resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + optional string ad_group = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The resource names of the extension feed items to serve under the ad group. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v11.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_feed.proto new file mode 100644 index 00000000..ece56cb2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_feed.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/matching_function.proto"; +import "google/ads/googleads/v11/enums/feed_link_status.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AdGroupFeed resource. + +// An ad group feed. +message AdGroupFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupFeed" + pattern: "customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}" + }; + + // Immutable. The resource name of the ad group feed. + // Ad group feed resource names have the form: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Immutable. The feed being linked to the ad group. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The ad group being linked to the feed. + optional string ad_group = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // ad group. Required. + repeated google.ads.googleads.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v11.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v11.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_label.proto new file mode 100644 index 00000000..d3929fe1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group label resource. + +// A relationship between an ad group and a label. +message AdGroupLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupLabel" + pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group label. + // Ad group label resource names have the form: + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // Immutable. The ad group to which the label is attached. + optional string ad_group = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The label assigned to the ad group. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_simulation.proto new file mode 100644 index 00000000..8642d9ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_group_simulation.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/simulation.proto"; +import "google/ads/googleads/v11/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v11/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad group simulation resource. + +// An ad group simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification method is +// detailed below respectively. +// +// 1. SEARCH - CPC_BID - DEFAULT +// 2. SEARCH - CPC_BID - UNIFORM +// 3. SEARCH - TARGET_CPA - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +message AdGroupSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupSimulation" + pattern: "customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group simulation. + // Ad group simulation resource names have the form: + // + // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; + + // Output only. Ad group id of the simulation. + optional int64 ad_group_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v11.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v11.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + optional string end_date = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v11.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.v11.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.v11.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.v11.common.TargetRoasSimulationPointList target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_parameter.proto new file mode 100644 index 00000000..09c52006 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_parameter.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad parameter resource. + +// An ad parameter that is used to update numeric values (such as prices or +// inventory levels) in any text line of an ad (including URLs). There can +// be a maximum of two AdParameters per ad group criterion. (One with +// parameter_index = 1 and one with parameter_index = 2.) +// In the ad the parameters are referenced by a placeholder of the form +// "{param#:value}". For example, "{param1:$17}" +message AdParameter { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdParameter" + pattern: "customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}" + }; + + // Immutable. The resource name of the ad parameter. + // Ad parameter resource names have the form: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + } + ]; + + // Immutable. The ad group criterion that this ad parameter belongs to. + optional string ad_group_criterion = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The unique index of this ad parameter. Must be either 1 or 2. + optional int64 parameter_index = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Numeric value to insert into the ad text. The following restrictions + // apply: + // - Can use comma or period as a separator, with an optional period or + // comma (respectively) for fractional values. For example, 1,000,000.00 + // and 2.000.000,10 are valid. + // - Can be prepended or appended with a currency symbol. For example, + // $99.99 is valid. + // - Can be prepended or appended with a currency code. For example, 99.99USD + // and EUR200 are valid. + // - Can use '%'. For example, 1.0% and 1,0% are valid. + // - Can use plus or minus. For example, -10.99 and 25+ are valid. + // - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are + // valid. + optional string insertion_text = 7; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/ad_schedule_view.proto new file mode 100644 index 00000000..78844cae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/ad_schedule_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ad schedule view resource. + +// An ad schedule view summarizes the performance of campaigns by +// AdSchedule criteria. +message AdScheduleView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdScheduleView" + pattern: "customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad schedule view. + // AdSchedule view resource names have the form: + // + // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/age_range_view.proto new file mode 100644 index 00000000..302aa99d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/age_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the age range view resource. + +// An age range view. +message AgeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AgeRangeView" + pattern: "customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the age range view. + // Age range view resource names have the form: + // + // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset.proto new file mode 100644 index 00000000..bb221d3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset.proto @@ -0,0 +1,183 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/asset_types.proto"; +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/asset_source.proto"; +import "google/ads/googleads/v11/enums/asset_type.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.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.v11.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]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.googleads.v11.common.YoutubeVideoAsset youtube_video_asset = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v11.common.MediaBundleAsset media_bundle_asset = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v11.common.ImageAsset image_asset = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v11.common.TextAsset text_asset = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v11.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v11.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v11.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v11.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v11.common.StructuredSnippetAsset structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v11.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v11.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v11.common.DynamicEducationAsset dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v11.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v11.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v11.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v11.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v11.common.CallToActionAsset call_to_action_asset = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v11.common.DynamicRealEstateAsset dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v11.common.DynamicCustomAsset dynamic_custom_asset = 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v11.common.DynamicHotelsAndRentalsAsset dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v11.common.DynamicFlightsAsset dynamic_flights_asset = 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v11.common.DiscoveryCarouselCardAsset discovery_carousel_card_asset = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v11.common.DynamicTravelAsset dynamic_travel_asset = 35; + + // A dynamic local asset. + google.ads.googleads.v11.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v11.common.DynamicJobsAsset dynamic_jobs_asset = 37; + } +} + +// Contains policy information for an asset. +message AssetPolicySummary { + // Output only. The list of policy findings for this asset. + repeated google.ads.googleads.v11.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.v11.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.v11.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_field_type_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_field_type_view.proto new file mode 100644 index 00000000..364ffc9c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_field_type_view.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AssetFieldTypeView resource. + +// An asset field type view. +// This view reports non-overcounted metrics for each asset field type when the +// asset is used as extension. +message AssetFieldTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + pattern: "customers/{customer_id}/assetFieldTypeViews/{field_type}" + }; + + // Output only. The resource name of the asset field type view. + // Asset field type view resource names have the form: + // + // `customers/{customer_id}/assetFieldTypeViews/{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; + + // Output only. The asset field type of the asset field type view. + google.ads.googleads.v11.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_group.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group.proto new file mode 100644 index 00000000..19e84be7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/ad_strength.proto"; +import "google/ads/googleads/v11/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.AssetGroupStatusEnum.AssetGroupStatus status = 6; + + // 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.v11.enums.AdStrengthEnum.AdStrength ad_strength = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_asset.proto new file mode 100644 index 00000000..a4cac535 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_asset.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/policy_summary.proto"; +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/asset_link_status.proto"; +import "google/ads/googleads/v11/enums/asset_performance_label.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v11.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v11.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.v11.common.PolicySummary policy_summary = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto new file mode 100644 index 00000000..cac87667 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v11/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.enums.ListingGroupFilterVerticalEnum.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: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} + +// 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. + google.ads.googleads.v11.enums.ListingGroupFilterBiddingCategoryLevelEnum.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. + google.ads.googleads.v11.enums.ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v11.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.v11.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.v11.enums.ListingGroupFilterProductTypeLevelEnum.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/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_product_group_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_product_group_view.proto new file mode 100644 index 00000000..a49301c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_product_group_view.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the AssetGroupProductGroupView resource. + +// An asset group product group view. +message AssetGroupProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + pattern: "customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}" + }; + + // Output only. The resource name of the asset group product group view. + // Asset group product group view resource names have the form: + // + // `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + } + ]; + + // Output only. The asset group associated with the listing group filter. + string asset_group = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; + + // Output only. The resource name of the asset group listing group filter. + string asset_group_listing_group_filter = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_signal.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_signal.proto new file mode 100644 index 00000000..c4199cb6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_group_signal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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" + } + ]; + + // Immutable. The signal(audience criterion) to be used by the performance max campaign. + google.ads.googleads.v11.common.AudienceInfo audience = 3 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_set.proto new file mode 100644 index 00000000..785bf263 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_set.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_set_status.proto"; +import "google/ads/googleads/v11/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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]; + } + + // 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.v11.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.v11.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/asset_set_asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/asset_set_asset.proto new file mode 100644 index 00000000..9a943ed0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/asset_set_asset.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// AssetSetAsset is the link between an asset and an asset set. +// Adding an AssetSetAsset links an asset with an asset set. +message AssetSetAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetAsset" + pattern: "customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}" + }; + + // Immutable. The resource name of the asset set asset. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + } + ]; + + // Immutable. The asset set which this asset set asset is linking to. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The asset which this asset set asset is linking to. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.googleads.v11.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/audience.proto b/google-cloud/protos/google/ads/googleads/v11/resources/audience.proto new file mode 100644 index 00000000..f3f02603 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/audience.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/audiences.proto"; +import "google/ads/googleads/v11/enums/audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.AudienceStatusEnum.AudienceStatus status = 3 [(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; + + // Positive dimensions specifying the audience composition. + repeated google.ads.googleads.v11.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v11.common.AudienceExclusionDimension exclusion_dimension = 7; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/batch_job.proto b/google-cloud/protos/google/ads/googleads/v11/resources/batch_job.proto new file mode 100644 index 00000000..be4fca17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/batch_job.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the batch job resource. + +// A list of mutates being processed asynchronously. The mutates are uploaded +// by the user. The mutates themselves aren't readable and the results of the +// job can only be read using BatchJobService.ListBatchJobResults. +message BatchJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/BatchJob" + pattern: "customers/{customer_id}/batchJobs/{batch_job_id}" + }; + + // Additional information about the batch job. This message is also used as + // metadata returned in batch job Long Running Operations. + message BatchJobMetadata { + // Output only. The time when this batch job was created. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" + optional string creation_date_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job started running. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" + optional string start_date_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job was completed. + // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" + optional string completion_date_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. + // This is empty if the job hasn't started running yet. + optional double estimated_completion_ratio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations in the batch job. + optional int64 operation_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations executed by the batch job. + // Present only if the job has started running. + optional int64 executed_operation_count = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the batch job. + // Batch job resource names have the form: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Output only. ID of this batch job. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The next sequence token to use when adding operations. Only set when the + // batch job status is PENDING. + optional string next_add_sequence_token = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains additional information about this batch job. + BatchJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this batch job. + google.ads.googleads.v11.enums.BatchJobStatusEnum.BatchJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion. Only set when the batch job status is RUNNING or DONE. + optional string long_running_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/bidding_data_exclusion.proto b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_data_exclusion.proto new file mode 100644 index 00000000..016899d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_data_exclusion.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v11/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Represents a bidding data exclusion. +// +// See "About data exclusions" at +// https://support.google.com/google-ads/answer/10370710. +message BiddingDataExclusion { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + pattern: "customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}" + }; + + // Immutable. The resource name of the data exclusion. + // Data exclusion resource names have the form: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; + + // Output only. The ID of the data exclusion. + int64 data_exclusion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the data exclusion. + google.ads.googleads.v11.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v11.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss + // format. + // + // A data exclusion is backward looking and should be used for events that + // start in the past and end either in the past or future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the data exclusion. The name can be at most 255 + // characters. + string name = 7; + + // The description of the data exclusion. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this exclusion. + // Otherwise, only the specified targeted devices will be included in this + // exclusion. + repeated google.ads.googleads.v11.enums.DeviceEnum.Device devices = 9; + + // The data exclusion will apply to the campaigns listed when the scope of + // this exclusion is CAMPAIGN. The maximum number of campaigns per event is + // 2000. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 10 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The data_exclusion will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // exclusion is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v11.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 00000000..b2ca0192 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v11/enums/device.proto"; +import "google/ads/googleads/v11/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v11/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Represents a bidding seasonality adjustment. +// +// See "About seasonality adjustments" at +// https://support.google.com/google-ads/answer/10369906. +message BiddingSeasonalityAdjustment { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + pattern: "customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}" + }; + + // Immutable. The resource name of the seasonality adjustment. + // Seasonality adjustment resource names have the form: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; + + // Output only. The ID of the seasonality adjustment. + int64 seasonality_adjustment_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the seasonality adjustment. + google.ads.googleads.v11.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v11.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd + // HH:mm:ss format. + // + // A seasonality adjustment is forward looking and should be used for events + // that start and end in the future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss + // format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the seasonality adjustment. The name can be at most 255 + // characters. + string name = 7; + + // The description of the seasonality adjustment. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this adjustment. + // Otherwise, only the specified targeted devices will be included in this + // adjustment. + repeated google.ads.googleads.v11.enums.DeviceEnum.Device devices = 9; + + // Conversion rate modifier estimated based on expected conversion rate + // changes. When this field is unset or set to 1.0 no adjustment will be + // applied to traffic. The allowed range is 0.1 to 10.0. + double conversion_rate_modifier = 10; + + // The seasonality adjustment will apply to the campaigns listed when the + // scope of this adjustment is CAMPAIGN. The maximum number of campaigns per + // event is 2000. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 11 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The seasonality adjustment will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // adjustment is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v11.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy.proto new file mode 100644 index 00000000..8f9d8266 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/bidding.proto"; +import "google/ads/googleads/v11/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v11/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategy" + pattern: "customers/{customer_id}/biddingStrategies/{bidding_strategy_id}" + }; + + // Immutable. The resource name of the bidding strategy. + // Bidding strategy resource names have the form: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + optional int64 id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the bidding strategy. + // All bidding strategies within an account must be named distinctly. + // + // The length of this string should be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 17; + + // Output only. The status of the bidding strategy. + // + // This field is read-only. + google.ads.googleads.v11.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. + google.ads.googleads.v11.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this currency can be set on + // creation and defaults to the manager customer's currency. For serving + // customers, this field cannot be set; all strategies in a serving customer + // implicitly use the serving customer's currency. In all cases the + // effective_currency_code field returns the currency used by the strategy. + string currency_code = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this is the currency set by + // the advertiser when creating the strategy. For serving customers, this is + // the customer's currency_code. + // + // Bidding strategy metrics are reported in this currency. + // + // This field is read-only. + optional string effective_currency_code = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 campaign_count = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of non-removed campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 non_removed_campaign_count = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // A bidding strategy that raises bids for clicks that seem more likely to + // lead to a conversion and lowers them for clicks where they seem less + // likely. + google.ads.googleads.v11.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.v11.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.v11.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.v11.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + google.ads.googleads.v11.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.v11.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.v11.common.TargetSpend target_spend = 12; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy_simulation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy_simulation.proto new file mode 100644 index 00000000..2936eb93 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/bidding_strategy_simulation.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/simulation.proto"; +import "google/ads/googleads/v11/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v11/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the bidding strategy simulation resource. + +// A bidding strategy simulation. Supported combinations of simulation type +// and simulation modification method are detailed below respectively. +// +// 1. TARGET_CPA - UNIFORM +// 2. TARGET_ROAS - UNIFORM +message BiddingStrategySimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + pattern: "customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the bidding strategy simulation. + // Bidding strategy simulation resource names have the form: + // + // `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; + + // Output only. Bidding strategy shared set id of the simulation. + int64 bidding_strategy_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v11.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v11.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v11.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.v11.common.TargetRoasSimulationPointList target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v11/resources/billing_setup.proto new file mode 100644 index 00000000..5d67e3b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/billing_setup.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/billing_setup_status.proto"; +import "google/ads/googleads/v11/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the BillingSetup resource. + +// A billing setup, which associates a payments account and an advertiser. A +// billing setup is specific to one advertiser. +message BillingSetup { + option (google.api.resource) = { + type: "googleads.googleapis.com/BillingSetup" + pattern: "customers/{customer_id}/billingSetups/{billing_setup_id}" + }; + + // Container of payments account information for this billing. + message PaymentsAccountInfo { + // Output only. A 16 digit id used to identify the payments account associated with the + // billing setup. + // + // This must be passed as a string with dashes, for example, + // "1234-5678-9012-3456". + optional string payments_account_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name of the payments account associated with the billing setup. + // + // This enables the user to specify a meaningful name for a payments account + // to aid in reconciling monthly invoices. + // + // This name will be printed in the monthly invoices. + optional string payments_account_name = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A 12 digit id used to identify the payments profile associated with the + // billing setup. + // + // This must be passed in as a string with dashes, for example, + // "1234-5678-9012". + optional string payments_profile_id = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The name of the payments profile associated with the billing setup. + optional string payments_profile_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile id present in uncommon situations, for + // example, when a sequential liability agreement has been arranged. + optional string secondary_payments_profile_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the billing setup. + // BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The ID of the billing setup. + optional int64 id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the billing setup. + google.ads.googleads.v11.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the payments account associated with this billing + // setup. Payments resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + // When setting up billing, this is used to signup with an existing payments + // account (and then payments_account_info should not be set). + // When getting a billing setup, this and payments_account_info will be + // populated. + optional string payments_account = 18 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Immutable. The payments account information associated with this billing setup. + // When setting up billing, this is used to signup with a new payments account + // (and then payments_account should not be set). + // When getting a billing setup, this and payments_account will be + // populated. + PaymentsAccountInfo payments_account_info = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // When creating a new billing setup, this is when the setup should take + // effect. NOW is the only acceptable start time if the customer doesn't have + // any approved setups. + // + // When fetching an existing billing setup, this is the requested start time. + // However, if the setup was approved (see status) after the requested start + // time, then this is the approval time. + oneof start_time { + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a + // future time is allowed. + string start_date_time = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; + } + + // When the billing setup ends / ended. This is either FOREVER or the start + // time of the next scheduled billing setup. + oneof end_time { + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + string end_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v11.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/call_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/call_view.proto new file mode 100644 index 00000000..6f4bab6b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/call_view.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v11/enums/call_type.proto"; +import "google/ads/googleads/v11/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the call view resource. + +// A call view that includes data for call tracking of call-only ads or call +// extensions. +message CallView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CallView" + pattern: "customers/{customer_id}/callViews/{call_detail_id}" + }; + + // Output only. The resource name of the call view. + // Call view resource names have the form: + // + // `customers/{customer_id}/callViews/{call_detail_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CallView" + } + ]; + + // Output only. Country code of the caller. + string caller_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Area code of the caller. Null if the call duration is shorter than 15 + // seconds. + string caller_area_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call duration in seconds. + int64 call_duration_seconds = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call start date time. + string start_call_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call end date time. + string end_call_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call tracking display location. + google.ads.googleads.v11.enums.CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation call_tracking_display_location = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v11.enums.CallTypeEnum.CallType type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v11.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign.proto new file mode 100644 index 00000000..d6e3ce7d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign.proto @@ -0,0 +1,535 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/bidding.proto"; +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/frequency_cap.proto"; +import "google/ads/googleads/v11/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v11/common/targeting_setting.proto"; +import "google/ads/googleads/v11/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v11/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v11/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v11/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v11/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/bidding_strategy_system_status.proto"; +import "google/ads/googleads/v11/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v11/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v11/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v11/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v11/enums/campaign_status.proto"; +import "google/ads/googleads/v11/enums/location_source_type.proto"; +import "google/ads/googleads/v11/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v11/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v11/enums/payment_mode.proto"; +import "google/ads/googleads/v11/enums/performance_max_upgrade_status.proto"; +import "google/ads/googleads/v11/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v11/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v11/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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. + bool use_vehicle_inventory = 9 [(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.v11.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.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.v11.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. + 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.v11.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; + } + + // 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; + + // The status of the campaign. + // + // When a new campaign is added, the status defaults to ENABLED. + google.ads.googleads.v11.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.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.v11.common.CustomParameter url_custom_parameters = 12; + + // The Local Services Campaign related settings. + LocalServicesCampaignSettings local_services_campaign_settings = 75; + + // Settings for Real-Time Bidding, a feature only available for campaigns + // targeting the Ad Exchange network. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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. + 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.v11.common.FrequencyCapEntry frequency_caps = 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v11.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. + 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.v11.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.v11.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 69; + + // 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]; + + // 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.v11.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.v11.common.ManualCpa manual_cpa = 74; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v11.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v11.common.ManualCpm manual_cpm = 25; + + // Output only. A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v11.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.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.v11.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.v11.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v11.common.TargetCpm target_cpm = 41; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset.proto new file mode 100644 index 00000000..4998dcae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/asset_link_status.proto"; +import "google/ads/googleads/v11/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Source of the campaign asset link. + google.ads.googleads.v11.enums.AssetSourceEnum.AssetSource source = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the campaign asset. + google.ads.googleads.v11.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset_set.proto new file mode 100644 index 00000000..550efd5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_asset_set.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CampaignAsset resource. + +// CampaignAssetSet is the linkage between a campaign and an asset set. +// Adding a CampaignAssetSet links an asset set with a campaign. +message CampaignAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAssetSet" + pattern: "customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the campaign asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + } + ]; + + // Immutable. The campaign to which this asset set is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset set which is linked to the campaign. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.googleads.v11.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_audience_view.proto new file mode 100644 index 00000000..42e1b529 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_audience_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the campaign audience view resource. + +// A campaign audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated by campaign and audience criterion. This view only includes +// audiences attached at the campaign level. +message CampaignAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAudienceView" + pattern: "customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the campaign audience view. + // Campaign audience view resource names have the form: + // + // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_bid_modifier.proto new file mode 100644 index 00000000..60275450 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_bid_modifier.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Campaign Bid Modifier resource. + +// Represents a bid-modifiable only criterion at the campaign level. +message CampaignBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBidModifier" + pattern: "customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign bid modifier. + // Campaign bid modifier resource names have the form: + // + // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; + + // Output only. The campaign to which this criterion belongs. + optional string campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. + optional double bid_modifier = 8; + + // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v11.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_budget.proto new file mode 100644 index 00000000..41dbb1d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_budget.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v11/enums/budget_period.proto"; +import "google/ads/googleads/v11/enums/budget_status.proto"; +import "google/ads/googleads/v11/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Budget resource. + +// A campaign budget. +message CampaignBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBudget" + pattern: "customers/{customer_id}/campaignBudgets/{campaign_budget_id}" + }; + + // Immutable. The resource name of the campaign budget. + // Campaign budget resource names have the form: + // + // `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The ID of the campaign budget. + // + // A campaign budget is created using the CampaignBudgetService create + // operation and is assigned a budget ID. A budget ID can be shared across + // different campaigns; the system will then allocate the campaign budget + // among different campaigns to get optimum results. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign budget. + // + // When creating a campaign budget through CampaignBudgetService, every + // explicitly shared campaign budget must have a non-null, non-empty name. + // Campaign budgets that are not explicitly shared derive their name from the + // attached campaign's name. + // + // The length of this string must be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 20; + + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. Monthly spend is capped at 30.4 times this amount. + optional int64 amount_micros = 21; + + // The lifetime amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + optional int64 total_amount_micros = 22; + + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v11.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. + google.ads.googleads.v11.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; + + // Specifies whether the budget is explicitly shared. Defaults to true if + // unspecified in a create operation. + // + // If true, the budget was created with the purpose of sharing + // across one or more campaigns. + // + // If false, the budget was created with the intention of only being used + // with a single campaign. The budget's name and status will stay in sync + // with the campaign's name and status. Attempting to share the budget with a + // second campaign will result in an error. + // + // A non-shared budget can become an explicitly shared. The same operation + // must also assign the budget a name. + // + // A shared campaign budget can never become non-shared. + optional bool explicitly_shared = 23; + + // Output only. The number of campaigns actively using the budget. + // + // This field is read-only. + optional int64 reference_count = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether there is a recommended budget for this campaign budget. + // + // This field is read-only. + optional bool has_recommended_budget = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount. If no recommendation is available, this will + // be set to the budget amount. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + // + // This field is read-only. + optional int64 recommended_budget_amount_micros = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v11.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The estimated change in weekly clicks if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_clicks = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly cost in micros if the recommended budget is + // applied. One million is equivalent to one currency unit. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly interactions if the recommended budget is + // applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_interactions = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly views if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_views = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of the campaign budget. + google.ads.googleads.v11.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_conversion_goal.proto new file mode 100644 index 00000000..31ef8f6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_conversion_goal.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_action_category.proto"; +import "google/ads/googleads/v11/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// The biddability setting for the specified campaign only for all +// conversion actions with a matching category and origin. +message CampaignConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + pattern: "customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}" + }; + + // Immutable. The resource name of the campaign conversion goal. + // Campaign conversion goal resource names have the form: + // + // `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + } + ]; + + // Immutable. The campaign with which this campaign conversion goal is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The conversion category of this campaign conversion goal. + google.ads.googleads.v11.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v11.enums.ConversionOriginEnum.ConversionOrigin origin = 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion.proto new file mode 100644 index 00000000..a1b226ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v11/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.CriterionTypeEnum.CriterionType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v11.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v11.common.KeywordInfo keyword = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v11.common.PlacementInfo placement = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v11.common.LocationInfo location = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v11.common.DeviceInfo device = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v11.common.AdScheduleInfo ad_schedule = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v11.common.AgeRangeInfo age_range = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v11.common.GenderInfo gender = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v11.common.IncomeRangeInfo income_range = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v11.common.ParentalStatusInfo parental_status = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v11.common.UserListInfo user_list = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v11.common.ProximityInfo proximity = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v11.common.TopicInfo topic = 24 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v11.common.ListingScopeInfo listing_scope = 25 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v11.common.LanguageInfo language = 26 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v11.common.IpBlockInfo ip_block = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v11.common.ContentLabelInfo content_label = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v11.common.CarrierInfo carrier = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v11.common.UserInterestInfo user_interest = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v11.common.WebpageInfo webpage = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v11.common.OperatingSystemVersionInfo operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v11.common.MobileDeviceInfo mobile_device = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v11.common.LocationGroupInfo location_group = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v11.common.CustomAffinityInfo custom_affinity = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v11.common.CustomAudienceInfo custom_audience = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v11.common.CombinedAudienceInfo combined_audience = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v11.common.KeywordThemeInfo keyword_theme = 45 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion_simulation.proto new file mode 100644 index 00000000..b7f66d3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_criterion_simulation.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/simulation.proto"; +import "google/ads/googleads/v11/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v11/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the campaign criterion simulation resource. + +// A campaign criterion simulation. Supported combinations of advertising +// channel type, criterion ids, simulation type and simulation modification +// method is detailed below respectively. +// +// 1. SEARCH - 30000,30001,30002 - BID_MODIFIER - UNIFORM +// 2. DISPLAY - 30001 - BID_MODIFIER - UNIFORM +message CampaignCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + pattern: "customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign criterion simulation. + // Campaign criterion simulation resource names have the form: + // + // `customers/{customer_id}/campaignCriterionSimulations/{campaign_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/CampaignCriterionSimulation" + } + ]; + + // Output only. Campaign ID of the simulation. + optional int64 campaign_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v11.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v11.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is BID_MODIFIER. + google.ads.googleads.v11.common.BidModifierSimulationPointList bid_modifier_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_customizer.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_customizer.proto new file mode 100644 index 00000000..46e34f13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_customizer.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/customizer_value.proto"; +import "google/ads/googleads/v11/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Campaign +// level. +message CampaignCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCustomizer" + pattern: "customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the campaign customizer. + // Campaign customizer resource names have the form: + // + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + } + ]; + + // Immutable. The campaign to which the customizer attribute is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the campaign. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the campaign customizer. + google.ads.googleads.v11.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.v11.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_draft.proto new file mode 100644 index 00000000..59d0e28d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_draft.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Campaign Draft resource. + +// A campaign draft. +message CampaignDraft { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignDraft" + pattern: "customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}" + }; + + // Immutable. The resource name of the campaign draft. + // Campaign draft resource names have the form: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Output only. The ID of the draft. + // + // This field is read-only. + optional int64 draft_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The base campaign to which the draft belongs. + optional string base_campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The name of the campaign draft. + // + // This field is required and should not be empty when creating new + // campaign drafts. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 11; + + // Output only. Resource name of the Campaign that results from overlaying the draft + // changes onto the base campaign. + // + // This field is read-only. + optional string draft_campaign = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign draft. This field is read-only. + // + // When a new campaign draft is added, the status defaults to PROPOSED. + google.ads.googleads.v11.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether there is an experiment based on this draft currently serving. + optional bool has_experiment_running = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion of draft promotion. This is only set if the draft promotion + // is in progress or finished. + optional string long_running_operation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_experiment.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_experiment.proto new file mode 100644 index 00000000..33334031 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_experiment.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/campaign_experiment_status.proto"; +import "google/ads/googleads/v11/enums/campaign_experiment_traffic_split_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Campaign Experiment resource. + +// An A/B experiment that compares the performance of the base campaign +// (the control) and a variation of that campaign (the experiment). +message CampaignExperiment { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExperiment" + pattern: "customers/{customer_id}/campaignExperiments/{campaign_experiment_id}" + }; + + // Immutable. The resource name of the campaign experiment. + // Campaign experiment resource names have the form: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // Output only. The ID of the campaign experiment. + // + // This field is read-only. + optional int64 id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The campaign draft with staged changes to the base campaign. + optional string campaign_draft = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // The name of the campaign experiment. + // + // This field is required when creating new campaign experiments + // and must not conflict with the name of another non-removed + // campaign experiment or campaign. + // + // 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 = 15; + + // The description of the experiment. + optional string description = 16; + + // Immutable. Share of traffic directed to experiment as a percent (must be between 1 and + // 99 inclusive. Base campaign receives the remainder of the traffic + // (100 - traffic_split_percent). Required for create. + optional int64 traffic_split_percent = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Determines the behavior of the traffic split. + google.ads.googleads.v11.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The experiment campaign, as opposed to the base campaign. + optional string experiment_campaign = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign experiment. This field is read-only. + google.ads.googleads.v11.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9 [(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 experiment create or promote. The most recent long + // running operation is returned. + optional string long_running_operation = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Date when the campaign 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. Cannot be changed once the experiment starts. + // + // Format: YYYY-MM-DD + // Example: 2019-03-14 + optional string start_date = 20; + + // The last day of the campaign experiment. 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 = 21; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_extension_setting.proto new file mode 100644 index 00000000..290323fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/extension_setting_device.proto"; +import "google/ads/googleads/v11/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CampaignExtensionSetting resource. + +// A campaign extension setting. +message CampaignExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + pattern: "customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}" + }; + + // Immutable. The resource name of the campaign extension setting. + // CampaignExtensionSetting resource names have the form: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the campaign. The linked extension feed items will + // serve under this campaign. + // Campaign resource names have the form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The resource names of the extension feed items to serve under the campaign. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v11.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_feed.proto new file mode 100644 index 00000000..a37ca843 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_feed.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/matching_function.proto"; +import "google/ads/googleads/v11/enums/feed_link_status.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CampaignFeed resource. + +// A campaign feed. +message CampaignFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignFeed" + pattern: "customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}" + }; + + // Immutable. The resource name of the campaign feed. + // Campaign feed resource names have the form: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Immutable. The feed to which the CampaignFeed belongs. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The campaign to which the CampaignFeed belongs. + optional string campaign = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // campaign. Required. + repeated google.ads.googleads.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v11.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v11.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_group.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_group.proto new file mode 100644 index 00000000..b066f350 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_group.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/campaign_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.enums.CampaignGroupStatusEnum.CampaignGroupStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_label.proto new file mode 100644 index 00000000..b897c5f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the campaign label resource. + +// Represents a relationship between a campaign and a label. +message CampaignLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignLabel" + pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}" + }; + + // Immutable. Name of the resource. + // Campaign label resource names have the form: + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; + + // Immutable. The campaign to which the label is attached. + optional string campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The label assigned to the campaign. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_shared_set.proto new file mode 100644 index 00000000..bfd0aa79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_shared_set.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CampaignSharedSet resource. + +// CampaignSharedSets are used for managing the shared sets associated with a +// campaign. +message CampaignSharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSharedSet" + pattern: "customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}" + }; + + // Immutable. The resource name of the campaign shared set. + // Campaign shared set resource names have the form: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Immutable. The campaign to which the campaign shared set belongs. + optional string campaign = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The shared set associated with the campaign. This may be a negative keyword + // shared set of another customer. This customer should be a manager of the + // other customer, otherwise the campaign shared set will exist but have no + // serving effect. Only negative keyword shared sets can be associated with + // Shopping campaigns. Only negative placement shared sets can be associated + // with Display mobile app campaigns. + optional string shared_set = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v11.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/campaign_simulation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_simulation.proto new file mode 100644 index 00000000..c64e2745 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/campaign_simulation.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/simulation.proto"; +import "google/ads/googleads/v11/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v11/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the campaign simulation resource. + +// A campaign simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification +// method is detailed below respectively. +// +// SEARCH - CPC_BID - UNIFORM +// SEARCH - CPC_BID - SCALING +// SEARCH - TARGET_CPA - UNIFORM +// SEARCH - TARGET_CPA - SCALING +// SEARCH - TARGET_ROAS - UNIFORM +// SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM +// SEARCH - BUDGET - UNIFORM +// SHOPPING - BUDGET - UNIFORM +// SHOPPING - TARGET_ROAS - UNIFORM +// MULTI_CHANNEL - TARGET_CPA - UNIFORM +// DISCOVERY - TARGET_CPA - DEFAULT +// DISPLAY - TARGET_CPA - UNIFORM +message CampaignSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSimulation" + pattern: "customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign simulation. + // Campaign simulation resource names have the form: + // + // `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; + + // Output only. Campaign id of the simulation. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v11.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v11.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.common.BudgetSimulationPointList budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/carrier_constant.proto new file mode 100644 index 00000000..1d06c148 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/carrier_constant.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Carrier constant resource. + +// A carrier criterion that can be used in campaign targeting. +message CarrierConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CarrierConstant" + pattern: "carrierConstants/{criterion_id}" + }; + + // Output only. The resource name of the carrier criterion. + // Carrier criterion resource names have the form: + // + // `carrierConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; + + // Output only. The ID of the carrier criterion. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the carrier in English. + optional string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country code of the country where the carrier is located, for example, + // "AR", "FR", etc. + optional string country_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/change_event.proto b/google-cloud/protos/google/ads/googleads/v11/resources/change_event.proto new file mode 100644 index 00000000..c0e16651 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/change_event.proto @@ -0,0 +1,208 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/change_client_type.proto"; +import "google/ads/googleads/v11/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v11/enums/resource_change_operation.proto"; +import "google/ads/googleads/v11/resources/ad.proto"; +import "google/ads/googleads/v11/resources/ad_group.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad.proto"; +import "google/ads/googleads/v11/resources/ad_group_asset.proto"; +import "google/ads/googleads/v11/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v11/resources/ad_group_feed.proto"; +import "google/ads/googleads/v11/resources/asset.proto"; +import "google/ads/googleads/v11/resources/asset_set.proto"; +import "google/ads/googleads/v11/resources/asset_set_asset.proto"; +import "google/ads/googleads/v11/resources/campaign.proto"; +import "google/ads/googleads/v11/resources/campaign_asset.proto"; +import "google/ads/googleads/v11/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v11/resources/campaign_budget.proto"; +import "google/ads/googleads/v11/resources/campaign_criterion.proto"; +import "google/ads/googleads/v11/resources/campaign_feed.proto"; +import "google/ads/googleads/v11/resources/customer_asset.proto"; +import "google/ads/googleads/v11/resources/feed.proto"; +import "google/ads/googleads/v11/resources/feed_item.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Change Event resource. + +// Describes the granular change of returned resource of certain resource types. +// Changes made through UI, API and new versions of Editor +// by external users (including external users, and internal users that can be +// shown externally) in the past 30 days will be shown. The change shows the old +// values of the changed fields before the change and the new values right after +// the change. ChangeEvent could have up to 3 minutes delay to reflect a new +// change. +message ChangeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeEvent" + pattern: "customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}" + }; + + // A wrapper proto presenting all supported resources. + // Only the resource of the change_resource_type will be set. + message ChangedResource { + // Output only. Set if change_resource_type == AD. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP. + AdGroup ad_group = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_CRITERION. + AdGroupCriterion ad_group_criterion = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN. + Campaign campaign = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_BUDGET. + CampaignBudget campaign_budget = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. + AdGroupBidModifier ad_group_bid_modifier = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_CRITERION. + CampaignCriterion campaign_criterion = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED. + Feed feed = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED_ITEM. + FeedItem feed_item = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_FEED. + CampaignFeed campaign_feed = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_FEED. + AdGroupFeed ad_group_feed = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_AD. + AdGroupAd ad_group_ad = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET. + Asset asset = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CUSTOMER_ASSET. + CustomerAsset customer_asset = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET. + CampaignAsset campaign_asset = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_ASSET. + AdGroupAsset ad_group_asset = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET. + AssetSet asset_set = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET_ASSET. + AssetSetAsset asset_set_asset = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. + CampaignAssetSet campaign_asset_set = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the change event. + // Change event resource names have the form: + // + // `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeEvent" + } + ]; + + // Output only. Time at which the change was committed on this resource. + string change_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the changed resource. This dictates what resource + // will be set in old_resource and new_resource. + google.ads.googleads.v11.enums.ChangeEventResourceTypeEnum.ChangeEventResourceType change_resource_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Simply resource this change occurred on. + string change_resource_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the change was made through. + google.ads.googleads.v11.enums.ChangeClientTypeEnum.ChangeClientType client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the user who made this change. + string user_email = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The old resource before the change. Only changed fields will be populated. + ChangedResource old_resource = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The new resource after the change. Only changed fields will be populated. + ChangedResource new_resource = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operation on the changed resource. + google.ads.googleads.v11.enums.ResourceChangeOperationEnum.ResourceChangeOperation resource_change_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of fields that are changed in the returned resource. + google.protobuf.FieldMask changed_fields = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + string ad_group = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The Feed affected by this change. + string feed = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + string feed_item = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 20 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v11/resources/change_status.proto new file mode 100644 index 00000000..9413af4a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/change_status.proto @@ -0,0 +1,192 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/change_status_operation.proto"; +import "google/ads/googleads/v11/enums/change_status_resource_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Change Status resource. + +// Describes the status of returned resource. ChangeStatus could have up to 3 +// minutes delay to reflect a new change. +message ChangeStatus { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeStatus" + pattern: "customers/{customer_id}/changeStatus/{change_status_id}" + }; + + // Output only. The resource name of the change status. + // Change status resource names have the form: + // + // `customers/{customer_id}/changeStatus/{change_status_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; + + // Output only. Time at which the most recent change has occurred on this resource. + optional string last_change_date_time = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the type of the changed resource. This dictates what fields + // will be set. For example, for AD_GROUP, campaign and ad_group fields will + // be set. + google.ads.googleads.v11.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + optional string campaign = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + optional string ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Represents the status of the changed resource. + google.ads.googleads.v11.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The AdGroupAd affected by this change. + optional string ad_group_ad = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The AdGroupCriterion affected by this change. + optional string ad_group_criterion = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The CampaignCriterion affected by this change. + optional string campaign_criterion = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Output only. The Feed affected by this change. + optional string feed = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + optional string feed_item = 29 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The AdGroupFeed affected by this change. + optional string ad_group_feed = 30 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Output only. The CampaignFeed affected by this change. + optional string campaign_feed = 31 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Output only. The AdGroupBidModifier affected by this change. + optional string ad_group_bid_modifier = 32 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Output only. The SharedSet affected by this change. + string shared_set = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The CampaignSharedSet affected by this change. + string campaign_shared_set = 34 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 35 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The CustomerAsset affected by this change. + string customer_asset = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Output only. The CampaignAsset affected by this change. + string campaign_asset = 37 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Output only. The AdGroupAsset affected by this change. + string ad_group_asset = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/click_view.proto new file mode 100644 index 00000000..bfaf81c2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/click_view.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/click_location.proto"; +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ClickView resource. + +// A click view with metrics aggregated at each click level, including both +// valid and invalid clicks. For non-Search campaigns, metrics.clicks +// represents the number of valid and invalid interactions. +// Queries including ClickView must have a filter limiting the results to one +// day and can be requested for dates back to 90 days before the time of the +// request. +message ClickView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ClickView" + pattern: "customers/{customer_id}/clickViews/{date}~{gclid}" + }; + + // Output only. The resource name of the click view. + // Click view resource names have the form: + // + // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; + + // Output only. The Google Click ID. + optional string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the area of interest associated with the + // impression. + google.ads.googleads.v11.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.v11.common.ClickLocation location_of_presence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Page number in search results where the ad was shown. + optional int64 page_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The associated ad. + optional string ad_group_ad = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The associated campaign location target, if one exists. + optional string campaign_location_target = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The associated user list, if one exists. + optional string user_list = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. The associated keyword, if one exists and the click corresponds to the + // SEARCH channel. + string keyword = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. Basic information about the associated keyword, if it exists. + google.ads.googleads.v11.common.KeywordInfo keyword_info = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/combined_audience.proto b/google-cloud/protos/google/ads/googleads/v11/resources/combined_audience.proto new file mode 100644 index 00000000..cbb21e88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/combined_audience.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Combined Audience resource. + +// Describe a resource for combined audiences which includes different +// audiences. +message CombinedAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CombinedAudience" + pattern: "customers/{customer_id}/combinedAudiences/{combined_audience_id}" + }; + + // Immutable. The resource name of the combined audience. + // Combined audience names have the form: + // + // `customers/{customer_id}/combinedAudience/{combined_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; + + // Output only. ID of the combined audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this combined audience. Indicates whether the combined audience + // is enabled or removed. + google.ads.googleads.v11.enums.CombinedAudienceStatusEnum.CombinedAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the combined audience. It should be unique across all combined + // audiences. + string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of this combined audience. + string description = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_action.proto new file mode 100644 index 00000000..9fe426de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_action.proto @@ -0,0 +1,197 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/tag_snippet.proto"; +import "google/ads/googleads/v11/enums/attribution_model.proto"; +import "google/ads/googleads/v11/enums/conversion_action_category.proto"; +import "google/ads/googleads/v11/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v11/enums/conversion_action_status.proto"; +import "google/ads/googleads/v11/enums/conversion_action_type.proto"; +import "google/ads/googleads/v11/enums/conversion_origin.proto"; +import "google/ads/googleads/v11/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v11/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Conversion Action resource. + +// A conversion action. +message ConversionAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionAction" + pattern: "customers/{customer_id}/conversionActions/{conversion_action_id}" + }; + + // Settings related to this conversion action's attribution model. + message AttributionModelSettings { + // The attribution model type of this conversion action. + google.ads.googleads.v11.enums.AttributionModelEnum.AttributionModel attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the conversion + // action. + google.ads.googleads.v11.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to the value for conversion events associated with this + // conversion action. + message ValueSettings { + // The value to use when conversion events for this conversion action are + // sent with an invalid, disallowed or missing value, or when + // this conversion action is configured to always use the default value. + optional double default_value = 4; + + // The currency code to use when conversion events for this conversion + // action are sent with an invalid or missing currency code, or when this + // conversion action is configured to always use the default value. + optional string default_currency_code = 5; + + // Controls whether the default value and default currency code are used in + // place of the value and currency code specified in conversion events for + // this conversion action. + optional bool always_use_default_value = 6; + } + + // Settings related to a third party app analytics conversion action. + message ThirdPartyAppAnalyticsSettings { + // Output only. The event name of a third-party app analytics conversion. + optional string event_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the third-party app analytics provider. + string provider_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to a Firebase conversion action. + message FirebaseSettings { + // Output only. The event name of a Firebase conversion. + optional string event_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Firebase project ID of the conversion. + optional string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The GA property ID of the conversion. + int64 property_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The GA property name of the conversion. + string property_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the conversion action. + // Conversion action resource names have the form: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; + + // Output only. The ID of the conversion action. + optional int64 id = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the conversion action. + // + // This field is required and should not be empty when creating new + // conversion actions. + optional string name = 22; + + // The status of this conversion action for conversion event accrual. + google.ads.googleads.v11.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v11.enums.ConversionActionTypeEnum.ConversionActionType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v11.enums.ConversionOriginEnum.ConversionOrigin origin = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If a conversion action's primary_for_goal bit is false, the conversion + // action is non-biddable for all campaigns regardless of their customer + // conversion goal or campaign conversion goal. + // However, custom conversion goals do not respect primary_for_goal, so if + // a campaign has a custom conversion goal configured with a + // primary_for_goal = false conversion action, that conversion action is + // still biddable. + // By default, primary_for_goal will be true if not set. In V9, + // primary_for_goal can only be set to false after creation through an + // 'update' operation because it's not declared as optional. + optional bool primary_for_goal = 31; + + // The category of conversions reported for this conversion action. + google.ads.googleads.v11.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; + + // Output only. The resource name of the conversion action owner customer, or null if this + // is a system-defined conversion action. + optional string owner_customer = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Whether this conversion action should be included in the "conversions" + // metric. + optional bool include_in_conversions_metric = 24; + + // The maximum number of days that may elapse between an interaction + // (for example, a click) and a conversion event. + optional int64 click_through_lookback_window_days = 25; + + // The maximum number of days which may elapse between an impression and a + // conversion without an interaction. + optional int64 view_through_lookback_window_days = 26; + + // Settings related to the value for conversion events associated with this + // conversion action. + ValueSettings value_settings = 11; + + // How to count conversion events for the conversion action. + google.ads.googleads.v11.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v11.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The phone call duration in seconds after which a conversion should be + // reported for this conversion action. + // + // The value must be between 0 and 10000, inclusive. + optional int64 phone_call_duration_seconds = 27; + + // App ID for an app conversion action. + optional string app_id = 28; + + // Output only. Mobile app vendor for an app conversion action. + google.ads.googleads.v11.enums.MobileAppVendorEnum.MobileAppVendor mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Firebase settings for Firebase conversion types. + FirebaseSettings firebase_settings = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Third Party App Analytics settings for third party conversion types. + ThirdPartyAppAnalyticsSettings third_party_app_analytics_settings = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/conversion_custom_variable.proto b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_custom_variable.proto new file mode 100644 index 00000000..68997b39 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_custom_variable.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable +// See "About custom variables for conversions" at +// https://support.google.com/google-ads/answer/9964350 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Immutable. The resource name of the conversion custom variable. + // Conversion custom variable resource names have the form: + // + // `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; + + // Output only. The ID of the conversion custom variable. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the conversion custom variable. + // Name should be unique. The maximum length of name is 100 characters. + // There should not be any extra spaces before and after. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The tag of the conversion custom variable. It is used in the event snippet + // and sent to Google Ads along with conversion pings. For conversion uploads + // in Google Ads API, the resource name of the conversion custom variable is + // used. + // Tag should be unique. The maximum size of tag is 100 bytes. + // There should not be any extra spaces before and after. + // Currently only lowercase letters, numbers and underscores are allowed in + // the tag. + string tag = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The status of the conversion custom variable for conversion event accrual. + google.ads.googleads.v11.enums.ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus status = 5; + + // Output only. The resource name of the customer that owns the conversion custom variable. + string owner_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto new file mode 100644 index 00000000..0ffb366a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Conversion goal settings for a Campaign. +message ConversionGoalCampaignConfig { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + pattern: "customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}" + }; + + // Immutable. The resource name of the conversion goal campaign config. + // Conversion goal campaign config resource names have the form: + // + // `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + } + ]; + + // Immutable. The campaign with which this conversion goal campaign config is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The level of goal config the campaign is using. + google.ads.googleads.v11.enums.GoalConfigLevelEnum.GoalConfigLevel goal_config_level = 3; + + // The custom conversion goal the campaign is using for optimization. + string custom_conversion_goal = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule.proto b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule.proto new file mode 100644 index 00000000..d88396ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule.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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v11/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v11/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v11/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Conversion Value Rule resource. + +// A conversion value rule +message ConversionValueRule { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRule" + pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}" + }; + + // Action applied when rule is applied. + message ValueRuleAction { + // Specifies applied operation. + google.ads.googleads.v11.enums.ValueRuleOperationEnum.ValueRuleOperation operation = 1; + + // Specifies applied value. + double value = 2; + } + + // Condition on Geo dimension. + message ValueRuleGeoLocationCondition { + // Geo locations that advertisers want to exclude. + repeated string excluded_geo_target_constants = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Excluded Geo location match type. + google.ads.googleads.v11.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; + + // Geo locations that advertisers want to include. + repeated string geo_target_constants = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Included Geo location match type. + google.ads.googleads.v11.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. + repeated google.ads.googleads.v11.enums.ValueRuleDeviceTypeEnum.ValueRuleDeviceType device_types = 1; + } + + // Condition on Audience dimension. + message ValueRuleAudienceCondition { + // User Lists. + repeated string user_lists = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + + // User Interests. + repeated string user_interests = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + }]; + } + + // Immutable. The resource name of the conversion value rule. + // Conversion value rule resource names have the form: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; + + // Output only. The ID of the conversion value rule. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Action applied when the rule is triggered. + ValueRuleAction action = 3; + + // Condition for Geo location that must be satisfied for the value rule to + // apply. + ValueRuleGeoLocationCondition geo_location_condition = 4; + + // Condition for device type that must be satisfied for the value rule to + // apply. + ValueRuleDeviceCondition device_condition = 5; + + // Condition for audience that must be satisfied for the value rule to apply. + ValueRuleAudienceCondition audience_condition = 6; + + // Output only. The resource name of the conversion value rule's owner customer. + // When the value rule is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // The status of the conversion value rule. + google.ads.googleads.v11.enums.ConversionValueRuleStatusEnum.ConversionValueRuleStatus status = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule_set.proto new file mode 100644 index 00000000..58d69410 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/conversion_value_rule_set.proto @@ -0,0 +1,99 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_action_category.proto"; +import "google/ads/googleads/v11/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v11/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v11/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Conversion Value Rule Set resource. + +// A conversion value rule set +message ConversionValueRuleSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + pattern: "customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}" + }; + + // Immutable. The resource name of the conversion value rule set. + // Conversion value rule set resource names have the form: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; + + // Output only. The ID of the conversion value rule set. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource names of rules within the rule set. + repeated string conversion_value_rules = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // Defines dimensions for Value Rule conditions. The condition types of value + // rules within this value rule set must be of these dimensions. The first + // entry in this list is the primary dimension of the included value rules. + // When using value rule primary dimension segmentation, conversion values + // will be segmented into the values adjusted by value rules and the original + // values, if some value rules apply. + repeated google.ads.googleads.v11.enums.ValueRuleSetDimensionEnum.ValueRuleSetDimension dimensions = 4; + + // Output only. The resource name of the conversion value rule set's owner customer. + // When the value rule set is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Immutable. Defines the scope where the conversion value rule set is attached. + google.ads.googleads.v11.enums.ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType attachment_type = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource name of the campaign when the conversion value rule + // set is attached to a campaign. + string campaign = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The status of the conversion value rule set. + // ** Read-only ** + google.ads.googleads.v11.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.v11.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_categories = 9 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/currency_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/currency_constant.proto new file mode 100644 index 00000000..1edc885f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/currency_constant.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Currency Constant resource. + +// A currency constant. +message CurrencyConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CurrencyConstant" + pattern: "currencyConstants/{code}" + }; + + // Output only. The resource name of the currency constant. + // Currency constant resource names have the form: + // + // `currencyConstants/{code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; + + // Output only. ISO 4217 three-letter currency code, for example, "USD" + optional string code = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Full English name of the currency. + optional string name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Standard symbol for describing this currency, for example, '$' for US + // Dollars. + optional string symbol = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The billable unit for this currency. Billed amounts should be multiples of + // this value. + optional int64 billable_unit_micros = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/custom_audience.proto b/google-cloud/protos/google/ads/googleads/v11/resources/custom_audience.proto new file mode 100644 index 00000000..061bf5fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/custom_audience.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v11/enums/custom_audience_status.proto"; +import "google/ads/googleads/v11/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Custom Audience resource. + +// A custom audience. This is a list of users by interest. +message CustomAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomAudience" + pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}" + }; + + // Immutable. The resource name of the custom audience. + // Custom audience resource names have the form: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; + + // Output only. ID of the custom audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this custom audience. Indicates whether the custom audience is + // enabled or removed. + google.ads.googleads.v11.enums.CustomAudienceStatusEnum.CustomAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the custom audience. It should be unique for all custom audiences + // created by a customer. + // This field is required for creating operations. + string name = 4; + + // Type of the custom audience. + // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom + // audience but kept for existing audiences) + google.ads.googleads.v11.enums.CustomAudienceTypeEnum.CustomAudienceType type = 5; + + // Description of this custom audience. + string description = 6; + + // List of custom audience members that this custom audience is composed of. + // Members can be added during CustomAudience creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomAudienceMember members = 7; +} + +// A member of custom audience. A member can be a KEYWORD, URL, +// PLACE_CATEGORY or APP. It can only be created or removed but not changed. +message CustomAudienceMember { + // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + google.ads.googleads.v11.enums.CustomAudienceMemberTypeEnum.CustomAudienceMemberType member_type = 1; + + // The CustomAudienceMember value. One field is populated depending on the + // member type. + oneof value { + // A keyword or keyword phrase — at most 10 words and 80 characters. + // Languages with double-width characters such as Chinese, Japanese, + // or Korean, are allowed 40 characters, which describes the user's + // interests or actions. + string keyword = 2; + + // An HTTP URL, protocol-included — at most 2048 characters, which includes + // contents users have interests in. + string url = 3; + + // A place type described by a place category users visit. + int64 place_category = 4; + + // A package name of Android apps which users installed such as + // com.google.example. + string app = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/custom_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v11/resources/custom_conversion_goal.proto new file mode 100644 index 00000000..c5ec6aa5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/custom_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Custom conversion goal that can make arbitrary conversion actions biddable. +message CustomConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomConversionGoal" + pattern: "customers/{customer_id}/customConversionGoals/{goal_id}" + }; + + // Immutable. The resource name of the custom conversion goal. + // Custom conversion goal resource names have the form: + // + // `customers/{customer_id}/customConversionGoals/{goal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + } + ]; + + // Immutable. The ID for this custom conversion goal. + int64 id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The name for this custom conversion goal. + string name = 3; + + // Conversion actions that the custom conversion goal makes biddable. + repeated string conversion_actions = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The status of the custom conversion goal. + google.ads.googleads.v11.enums.CustomConversionGoalStatusEnum.CustomConversionGoalStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v11/resources/custom_interest.proto new file mode 100644 index 00000000..7740342d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/custom_interest.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v11/enums/custom_interest_status.proto"; +import "google/ads/googleads/v11/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Custom Interest resource. + +// A custom interest. This is a list of users by interest. +message CustomInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomInterest" + pattern: "customers/{customer_id}/customInterests/{custom_interest_id}" + }; + + // Immutable. The resource name of the custom interest. + // Custom interest resource names have the form: + // + // `customers/{customer_id}/customInterests/{custom_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; + + // Output only. Id of the custom interest. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this custom interest. Indicates whether the custom interest is + // enabled or removed. + google.ads.googleads.v11.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; + + // Name of the custom interest. It should be unique across the same custom + // affinity audience. + // This field is required for create operations. + optional string name = 9; + + // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. + // By default the type is set to CUSTOM_AFFINITY. + google.ads.googleads.v11.enums.CustomInterestTypeEnum.CustomInterestType type = 5; + + // Description of this custom interest audience. + optional string description = 10; + + // List of custom interest members that this custom interest is composed of. + // Members can be added during CustomInterest creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomInterestMember members = 7; +} + +// A member of custom interest audience. A member can be a keyword or url. +// It is immutable, that is, it can only be created or removed but not changed. +message CustomInterestMember { + // The type of custom interest member, KEYWORD or URL. + google.ads.googleads.v11.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; + + // Keyword text when member_type is KEYWORD or URL string when + // member_type is URL. + optional string parameter = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer.proto new file mode 100644 index 00000000..123105c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer.proto @@ -0,0 +1,188 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v11/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/ads/googleads/v11/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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. + optional string tracking_url_template = 23; + + // The URL template for appending params to the final URL + 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.v11.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.v11.enums.CustomerStatusEnum.CustomerStatus status = 36 [(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.v11.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_asset.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_asset.proto new file mode 100644 index 00000000..59fa4908 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_asset.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/asset_field_type.proto"; +import "google/ads/googleads/v11/enums/asset_link_status.proto"; +import "google/ads/googleads/v11/enums/asset_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.enums.AssetSourceEnum.AssetSource source = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the customer asset. + google.ads.googleads.v11.enums.AssetLinkStatusEnum.AssetLinkStatus status = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_client.proto new file mode 100644 index 00000000..8db5152a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_client.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/customer_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerClient resource. + +// A link between the given customer and a client customer. CustomerClients only +// exist for manager customers. All direct and indirect client customers are +// included, as well as the manager itself. +message CustomerClient { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClient" + pattern: "customers/{customer_id}/customerClients/{client_customer_id}" + }; + + // Output only. The resource name of the customer client. + // CustomerClient resource names have the form: + // `customers/{customer_id}/customerClients/{client_customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; + + // Output only. The resource name of the client-customer which is linked to + // the given customer. Read only. + optional string client_customer = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. Specifies whether this is a + // [hidden account](https://support.google.com/google-ads/answer/7519830). + // Read only. + optional bool hidden = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distance between given customer and client. For self link, the level value + // will be 0. Read only. + optional int64 level = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Common Locale Data Repository (CLDR) string representation of the + // time zone of the client, for example, America/Los_Angeles. Read only. + optional string time_zone = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a test account. Read only. + optional bool test_account = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a manager. Read only. + optional bool manager = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Descriptive name for the client. Read only. + optional string descriptive_name = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only. + optional string currency_code = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the client customer. Read only. + optional int64 id = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of the labels owned by the requesting customer that are + // applied to the client customer. + // Label resource names have the form: + // + // `customers/{customer_id}/labels/{label_id}` + repeated string applied_labels = 21 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. The status of the client customer. Read only. + google.ads.googleads.v11.enums.CustomerStatusEnum.CustomerStatus status = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_client_link.proto new file mode 100644 index 00000000..f19a5d9d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_client_link.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerClientLink resource. + +// Represents customer client link relationship. +message CustomerClientLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClientLink" + pattern: "customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerClientLink resource names have the form: + // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; + + // Immutable. The client customer linked to this customer. + optional string client_customer = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. This is uniquely identifies a customer client link. Read only. + optional int64 manager_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This is the status of the link between client and manager. + google.ads.googleads.v11.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; + + // The visibility of the link. Users can choose whether or not to see hidden + // links in the Google Ads UI. + // Default value is false + optional bool hidden = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_conversion_goal.proto new file mode 100644 index 00000000..2a5c6fb1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/conversion_action_category.proto"; +import "google/ads/googleads/v11/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Biddability control for conversion actions with a matching category and +// origin. +message CustomerConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + pattern: "customers/{customer_id}/customerConversionGoals/{category}~{source}" + }; + + // Immutable. The resource name of the customer conversion goal. + // Customer conversion goal resource names have the form: + // + // `customers/{customer_id}/customerConversionGoals/{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + } + ]; + + // The conversion category of this customer conversion goal. Only + // conversion actions that have this category will be included in this goal. + google.ads.googleads.v11.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 2; + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. + google.ads.googleads.v11.enums.ConversionOriginEnum.ConversionOrigin origin = 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_customizer.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_customizer.proto new file mode 100644 index 00000000..3cf188ab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_customizer.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/customizer_value.proto"; +import "google/ads/googleads/v11/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Customer +// level. +message CustomerCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerCustomizer" + pattern: "customers/{customer_id}/customerCustomizers/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customer customizer. + // Customer customizer resource names have the form: + // + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the customer. + string customizer_attribute = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the customer customizer attribute. + google.ads.googleads.v11.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.v11.common.CustomizerValue value = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_extension_setting.proto new file mode 100644 index 00000000..ff3797dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_extension_setting.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/extension_setting_device.proto"; +import "google/ads/googleads/v11/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerExtensionSetting resource. + +// A customer extension setting. +message CustomerExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + pattern: "customers/{customer_id}/customerExtensionSettings/{extension_type}" + }; + + // Immutable. The resource name of the customer extension setting. + // CustomerExtensionSetting resource names have the form: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource names of the extension feed items to serve under the customer. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v11.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_feed.proto new file mode 100644 index 00000000..02339aa7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_feed.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/matching_function.proto"; +import "google/ads/googleads/v11/enums/feed_link_status.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerFeed resource. + +// A customer feed. +message CustomerFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerFeed" + pattern: "customers/{customer_id}/customerFeeds/{feed_id}" + }; + + // Immutable. The resource name of the customer feed. + // Customer feed resource names have the form: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; + + // Immutable. The feed being linked to the customer. + optional string feed = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // customer. Required. + repeated google.ads.googleads.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v11.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v11.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_label.proto new file mode 100644 index 00000000..202d9c23 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_label.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the customer label resource. + +// Represents a relationship between a customer and a label. This customer may +// not have access to all the labels attached to it. Additional CustomerLabels +// may be returned by increasing permissions with login-customer-id. +message CustomerLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerLabel" + pattern: "customers/{customer_id}/customerLabels/{label_id}" + }; + + // Immutable. Name of the resource. + // Customer label resource names have the form: + // `customers/{customer_id}/customerLabels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; + + // Output only. The resource name of the customer to which the label is attached. + // Read only. + optional string customer = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The resource name of the label assigned to the customer. + // + // Note: the Customer ID portion of the label resource name is not + // validated when creating a new CustomerLabel. + optional string label = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_manager_link.proto new file mode 100644 index 00000000..483b4a0e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_manager_link.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerManagerLink resource. + +// Represents customer-manager link relationship. +message CustomerManagerLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerManagerLink" + pattern: "customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerManagerLink resource names have the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; + + // Output only. The manager customer linked to the customer. + optional string manager_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. ID of the customer-manager link. This field is read only. + optional int64 manager_link_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the link between the customer and the manager. + google.ads.googleads.v11.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_negative_criterion.proto new file mode 100644 index 00000000..2206baaa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_negative_criterion.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Customer Negative Criterion resource. + +// A negative criterion for exclusions at the customer level. +message CustomerNegativeCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + pattern: "customers/{customer_id}/customerNegativeCriteria/{criterion_id}" + }; + + // Immutable. The resource name of the customer negative criterion. + // Customer negative criterion resource names have the form: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; + + // Output only. The ID of the criterion. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v11.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. + google.ads.googleads.v11.common.ContentLabelInfo content_label = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v11.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access.proto new file mode 100644 index 00000000..af71695c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerUserAccess resource. + +// Represents the permission of a single user onto a single customer. +message CustomerUserAccess { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccess" + pattern: "customers/{customer_id}/customerUserAccesses/{user_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccesses/{user_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; + + // Output only. User id of the user with the customer access. + // Read only field + int64 user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user. + // Read only field + optional string email_address = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Access role of the user. + google.ads.googleads.v11.enums.AccessRoleEnum.AccessRole access_role = 4; + + // Output only. The customer user access creation time. + // Read only field + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string access_creation_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the inviter user. + // Read only field + optional string inviter_user_email_address = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access_invitation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access_invitation.proto new file mode 100644 index 00000000..5c6e29fb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customer_user_access_invitation.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/access_invitation_status.proto"; +import "google/ads/googleads/v11/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the CustomerUserAccessInvitation resource. + +// Represent an invitation to a new user on this customer account. +message CustomerUserAccessInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + pattern: "customers/{customer_id}/customerUserAccessInvitations/{invitation_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; + + // Output only. The ID of the invitation. + // This field is read-only. + int64 invitation_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Access role of the user. + google.ads.googleads.v11.enums.AccessRoleEnum.AccessRole access_role = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Email address the invitation was sent to. + // This can differ from the email address of the account + // that accepts the invite. + string email_address = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time invitation was created. + // This field is read-only. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invitation status of the user. + google.ads.googleads.v11.enums.AccessInvitationStatusEnum.AccessInvitationStatus invitation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/customizer_attribute.proto b/google-cloud/protos/google/ads/googleads/v11/resources/customizer_attribute.proto new file mode 100644 index 00000000..94fe19ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/customizer_attribute.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v11/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A customizer attribute. +// Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or +// AdGroupCriterionCustomizer to associate a customizer attribute and +// set its value at the customer, campaign, ad group, or ad group criterion +// level, respectively. +message CustomizerAttribute { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomizerAttribute" + pattern: "customers/{customer_id}/customizerAttributes/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customizer attribute. + // Customizer Attribute resource names have the form: + // + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The ID of the customizer attribute. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length + // of 1 and maximum length of 40. Name of an enabled customizer attribute must + // be unique (case insensitive). + string name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The type of the customizer attribute. + google.ads.googleads.v11.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v11.enums.CustomizerAttributeStatusEnum.CustomizerAttributeStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/detail_placement_view.proto new file mode 100644 index 00000000..bbb68b3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/detail_placement_view.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the detail placement view resource. + +// A view with metrics aggregated by ad group and URL or YouTube video. +message DetailPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailPlacementView" + pattern: "customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the detail placement view. + // Detail placement view resource names have the form: + // + // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; + + // Output only. The automatic placement string at detail level, e. g. website URL, mobile + // application ID, or a YouTube video ID. + optional string placement = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name is URL name for websites, YouTube video name for YouTube + // videos, and translated mobile app name for mobile apps. + optional string display_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the mobile + // application in app store, or a YouTube channel URL. + optional string group_placement_target_url = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the placement, for example, website, link to the mobile application + // in app store, or a YouTube video URL. + optional string target_url = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Video, and Mobile + // Application. + google.ads.googleads.v11.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/detailed_demographic.proto b/google-cloud/protos/google/ads/googleads/v11/resources/detailed_demographic.proto new file mode 100644 index 00000000..d987d6dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/detailed_demographic.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Detailed Demographic resource. + +// A detailed demographic: a particular interest-based vertical to be targeted +// to reach users based on long-term life facts. +message DetailedDemographic { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailedDemographic" + pattern: "customers/{customer_id}/detailedDemographics/{detailed_demographic_id}" + }; + + // Output only. The resource name of the detailed demographic. + // Detailed demographic resource names have the form: + // + // `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. The ID of the detailed demographic. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the detailed demographic. For example,"Highest Level of + // Educational Attainment" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the detailed_demographic. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. True if the detailed demographic is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the detailed demographic. + repeated google.ads.googleads.v11.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/display_keyword_view.proto new file mode 100644 index 00000000..5a6fae49 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/display_keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the display keyword view resource. + +// A display keyword view. +message DisplayKeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DisplayKeywordView" + pattern: "customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the display keyword view. + // Display Keyword view resource names have the form: + // + // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/distance_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/distance_view.proto new file mode 100644 index 00000000..183822ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/distance_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the DistanceView resource. + +// A distance view with metrics aggregated by the user's distance from an +// advertiser's location extensions. Each DistanceBucket includes all +// impressions that fall within its distance and a single impression will +// contribute to the metrics for all DistanceBuckets that include the user's +// distance. +message DistanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DistanceView" + pattern: "customers/{customer_id}/distanceViews/{placeholder_chain_id}~{distance_bucket}" + }; + + // Output only. The resource name of the distance view. + // Distance view resource names have the form: + // + // `customers/{customer_id}/distanceViews/1~{distance_bucket}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; + + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v11.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the DistanceBucket is using the metric system, false otherwise. + optional bool metric_system = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v11/resources/domain_category.proto new file mode 100644 index 00000000..4c59c0ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/domain_category.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Domain Category resource. + +// A category generated automatically by crawling a domain. If a campaign uses +// the DynamicSearchAdsSetting, then domain categories will be generated for +// the domain. The categories can be targeted using WebpageConditionInfo. +// See: https://support.google.com/google-ads/answer/2471185 +message DomainCategory { + option (google.api.resource) = { + type: "googleads.googleapis.com/DomainCategory" + pattern: "customers/{customer_id}/domainCategories/{campaign_id}~{base64_category}~{language_code}" + }; + + // Output only. The resource name of the domain category. + // Domain category resource names have the form: + // + // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; + + // Output only. The campaign this category is recommended for. + optional string campaign = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Recommended category for the website domain, for example, if you have a + // website about electronics, the categories could be "cameras", + // "televisions", etc. + optional string category = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code specifying the language of the website, for example, "en" + // for English. The language can be specified in the DynamicSearchAdsSetting + // required for dynamic search ads. This is the language of the pages from + // your website that you want Google Ads to find, create ads for, + // and match searches with. + optional string language_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The domain for the website. The domain can be specified in the + // DynamicSearchAdsSetting required for dynamic search ads. + optional string domain = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Fraction of pages on your site that this category matches. + optional double coverage_fraction = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The position of this category in the set of categories. Lower numbers + // indicate a better match for the domain. null indicates not recommended. + optional int64 category_rank = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether this category has sub-categories. + optional bool has_children = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended cost per click for the category. + optional int64 recommended_cpc_bid_micros = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 00000000..7ad6f9b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Dynamic Search Ads Search Term View resource. + +// A dynamic search ads search term view. +message DynamicSearchAdsSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + pattern: "customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}" + }; + + // Output only. The resource name of the dynamic search ads search term view. + // Dynamic search ads search term view resource names have the form: + // + // `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; + + // Output only. Search term + // + // This field is read-only. + optional string search_term = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically generated headline of the Dynamic Search Ad. + // + // This field is read-only. + optional string headline = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically selected landing page URL of the impression. + // + // This field is read-only. + optional string landing_page = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of page feed item served for the impression. + // + // This field is read-only. + optional string page_url = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative keyword. + // + // This field is read-only. + optional bool has_negative_keyword = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query is added to targeted keywords. + // + // This field is read-only. + optional bool has_matching_keyword = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative url. + // + // This field is read-only. + optional bool has_negative_url = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/expanded_landing_page_view.proto new file mode 100644 index 00000000..eaf94308 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/expanded_landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the expanded landing page view resource. + +// A landing page view with metrics aggregated at the expanded final URL +// level. +message ExpandedLandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + pattern: "customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the expanded landing page view. + // Expanded landing page view resource names have the form: + // + // `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; + + // Output only. The final URL that clicks are directed to. + optional string expanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/experiment.proto b/google-cloud/protos/google/ads/googleads/v11/resources/experiment.proto new file mode 100644 index 00000000..4add93ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/experiment.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/metric_goal.proto"; +import "google/ads/googleads/v11/enums/async_action_status.proto"; +import "google/ads/googleads/v11/enums/experiment_status.proto"; +import "google/ads/googleads/v11/enums/experiment_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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; + + // The product/feature that uses this experiment. + google.ads.googleads.v11.enums.ExperimentTypeEnum.ExperimentType type = 13; + + // The Advertiser-chosen status of this experiment. + google.ads.googleads.v11.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.v11.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.v11.enums.AsyncActionStatusEnum.AsyncActionStatus promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/experiment_arm.proto b/google-cloud/protos/google/ads/googleads/v11/resources/experiment_arm.proto new file mode 100644 index 00000000..cd1219a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/experiment_arm.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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 trial = 2 [ + (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/google-cloud/protos/google/ads/googleads/v11/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v11/resources/extension_feed_item.proto new file mode 100644 index 00000000..898d493e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/extension_feed_item.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/common/extensions.proto"; +import "google/ads/googleads/v11/enums/extension_type.proto"; +import "google/ads/googleads/v11/enums/feed_item_status.proto"; +import "google/ads/googleads/v11/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ExtensionFeedItem resource. + +// An extension feed item. +message ExtensionFeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + pattern: "customers/{customer_id}/extensionFeedItems/{feed_item_id}" + }; + + // Immutable. The resource name of the extension feed item. + // Extension feed item resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; + + // Output only. The ID of this feed item. Read-only. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The extension type of the extension feed item. + // This field is read-only. + google.ads.googleads.v11.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 26; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 27; + + // List of non-overlapping schedules specifying all time intervals + // for which the feed item may serve. There can be a maximum of 6 schedules + // per day. + repeated google.ads.googleads.v11.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v11.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. + google.ads.googleads.v11.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v11.enums.FeedItemStatusEnum.FeedItemStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink extension. + google.ads.googleads.v11.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v11.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v11.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v11.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v11.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v11.common.TextMessageFeedItem text_message_feed_item = 10; + + // Price extension. + google.ads.googleads.v11.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v11.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.v11.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.v11.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v11.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v11.common.ImageFeedItem image_feed_item = 31 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Targeting at either the campaign or ad group level. Feed items that target + // a campaign or ad group will only serve with that resource. + oneof serving_resource_targeting { + // The targeted campaign. + string targeted_campaign = 28 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The targeted ad group. + string targeted_ad_group = 29 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed.proto new file mode 100644 index 00000000..feb7d688 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed.proto @@ -0,0 +1,189 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v11/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v11/enums/feed_origin.proto"; +import "google/ads/googleads/v11/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Feed resource. + +// A feed. +message Feed { + option (google.api.resource) = { + type: "googleads.googleapis.com/Feed" + pattern: "customers/{customer_id}/feeds/{feed_id}" + }; + + // Data used to configure a location feed populated from Business Profile. + message PlacesLocationFeedData { + // Data used for authorization using OAuth. + message OAuthInfo { + // The HTTP method used to obtain authorization. + optional string http_method = 4; + + // The HTTP request URL used to obtain authorization. + optional string http_request_url = 5; + + // The HTTP authorization header used to obtain authorization. + optional string http_authorization_header = 6; + } + + // Immutable. Required authentication token (from OAuth API) for the email. + // This field can only be specified in a create request. All its subfields + // are not selectable. + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Email address of a Business Profile or email address of a + // manager of the Business Profile. Required. + optional string email_address = 7; + + // Plus page ID of the managed business whose locations should be used. If + // this field is not set, then all businesses accessible by the user + // (specified by email_address) are used. + // This field is mutate-only and is not selectable. + string business_account_id = 8; + + // Used to filter Business Profile listings by business name. If + // business_name_filter is set, only listings with a matching business name + // are candidates to be sync'd into FeedItems. + optional string business_name_filter = 9; + + // Used to filter Business Profile listings by categories. If entries + // exist in category_filters, only listings that belong to any of the + // categories are candidates to be sync'd into FeedItems. If no entries + // exist in category_filters, then all listings are candidates for syncing. + repeated string category_filters = 11; + + // Used to filter Business Profile listings by labels. If entries exist in + // label_filters, only listings that has any of the labels set are + // candidates to be synchronized into FeedItems. If no entries exist in + // label_filters, then all listings are candidates for syncing. + repeated string label_filters = 12; + } + + // Data used to configure an affiliate location feed populated with the + // specified chains. + message AffiliateLocationFeedData { + // The list of chains that the affiliate location feed will sync the + // locations from. + repeated int64 chain_ids = 3; + + // The relationship the chains have with the advertiser. + google.ads.googleads.v11.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; + } + + // Immutable. The resource name of the feed. + // Feed resource names have the form: + // + // `customers/{customer_id}/feeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of the feed. + // This field is read-only. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Name of the feed. Required. + optional string name = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The Feed's attributes. Required on CREATE, unless + // system_feed_generation_data is provided, in which case Google Ads will + // update the feed with the correct attributes. + // Disallowed on UPDATE. Use attribute_operations to add new attributes. + repeated FeedAttribute attributes = 4; + + // The list of operations changing the feed attributes. Attributes can only + // be added, not removed. + repeated FeedAttributeOperation attribute_operations = 9; + + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.v11.enums.FeedOriginEnum.FeedOrigin origin = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v11.enums.FeedStatusEnum.FeedStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The system data for the Feed. This data specifies information for + // generating the feed items of the system generated feed. + oneof system_feed_generation_data { + // Data used to configure a location feed populated from Business Profile. + PlacesLocationFeedData places_location_feed_data = 6; + + // Data used to configure an affiliate location feed populated with + // the specified chains. + AffiliateLocationFeedData affiliate_location_feed_data = 7; + } +} + +// FeedAttributes define the types of data expected to be present in a Feed. A +// single FeedAttribute specifies the expected type of the FeedItemAttributes +// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as +// being part of a FeedItem's unique key. +message FeedAttribute { + // ID of the attribute. + optional int64 id = 5; + + // The name of the attribute. Required. + optional string name = 6; + + // Data type for feed attribute. Required. + google.ads.googleads.v11.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; + + // Indicates that data corresponding to this attribute is part of a + // FeedItem's unique key. It defaults to false if it is unspecified. Note + // that a unique key is not required in a Feed's schema, in which case the + // FeedItems must be referenced by their feed_item_id. + optional bool is_part_of_key = 7; +} + +// Operation to be performed on a feed attribute list in a mutate. +message FeedAttributeOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the attribute to the existing attributes. + ADD = 2; + } + + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item.proto new file mode 100644 index 00000000..2cb38de5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item.proto @@ -0,0 +1,214 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/custom_parameter.proto"; +import "google/ads/googleads/v11/common/feed_common.proto"; +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v11/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v11/enums/feed_item_status.proto"; +import "google/ads/googleads/v11/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v11/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/ads/googleads/v11/enums/policy_approval_status.proto"; +import "google/ads/googleads/v11/enums/policy_review_status.proto"; +import "google/ads/googleads/v11/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the FeedItem resource. + +// A feed item. +message FeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItem" + pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item. + // Feed item resource names have the form: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The feed to which this feed item belongs. + optional string feed = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of this feed item. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 13; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 14; + + // The feed item's attribute values. + repeated FeedItemAttributeValue attribute_values = 6; + + // Geo targeting restriction specifies the type of location that can be used + // for targeting. + google.ads.googleads.v11.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.v11.common.CustomParameter url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v11.enums.FeedItemStatusEnum.FeedItemStatus status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of info about a feed item's validation and approval state for active + // feed mappings. There will be an entry in the list for each type of feed + // mapping associated with the feed, for example, a feed with a sitelink and a + // call feed mapping would cause every feed item associated with that feed to + // have an entry in this list for both sitelink and call. This field is + // read-only. + repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A feed item attribute value. +message FeedItemAttributeValue { + // Id of the feed attribute for which the value is associated with. + optional int64 feed_attribute_id = 11; + + // Int64 value. Should be set if feed_attribute_id refers to a feed attribute + // of type INT64. + optional int64 integer_value = 12; + + // Bool value. Should be set if feed_attribute_id refers to a feed attribute + // of type BOOLEAN. + optional bool boolean_value = 13; + + // String value. Should be set if feed_attribute_id refers to a feed attribute + // of type STRING, URL or DATE_TIME. + // For STRING the maximum length is 1500 characters. For URL the maximum + // length is 2076 characters. For DATE_TIME the string must be in the format + // "YYYYMMDD HHMMSS". + optional string string_value = 14; + + // Double value. Should be set if feed_attribute_id refers to a feed attribute + // of type DOUBLE. + optional double double_value = 15; + + // Price value. Should be set if feed_attribute_id refers to a feed attribute + // of type PRICE. + google.ads.googleads.v11.common.Money price_value = 6; + + // Repeated int64 value. Should be set if feed_attribute_id refers to a feed + // attribute of type INT64_LIST. + repeated int64 integer_values = 16; + + // Repeated bool value. Should be set if feed_attribute_id refers to a feed + // attribute of type BOOLEAN_LIST. + repeated bool boolean_values = 17; + + // Repeated string value. Should be set if feed_attribute_id refers to a feed + // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. + // For STRING_LIST and URL_LIST the total size of the list in bytes may not + // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. + // + // For STRING_LIST the maximum length of each string element is 1500 + // characters. For URL_LIST the maximum length is 2076 characters. For + // DATE_TIME the format of the string must be the same as start and end time + // for the feed item. + repeated string string_values = 18; + + // Repeated double value. Should be set if feed_attribute_id refers to a feed + // attribute of type DOUBLE_LIST. + repeated double double_values = 19; +} + +// Policy, validation, and quality approval info for a feed item for the +// specified placeholder type. +message FeedItemPlaceholderPolicyInfo { + // Output only. The placeholder type. + google.ads.googleads.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The FeedMapping that contains the placeholder type. + optional string feed_mapping_resource_name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.v11.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.v11.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.v11.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v11.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.v11.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.v11.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { + // Output only. Error code indicating what validation error was triggered. The description + // of the error can be found in the 'description' field. + google.ads.googleads.v11.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of feed attributes in the feed item flagged during validation. If + // empty, no specific feed attributes can be associated with the error + // (for example, error across the entire feed item). + repeated int64 feed_attribute_ids = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Any extra information related to this error which is not captured by + // validation_error and feed_attribute_id (for example, placeholder field IDs + // when feed_attribute_id is not mapped). Note that extra_info is not + // localized. + optional string extra_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set.proto new file mode 100644 index 00000000..e4eed576 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v11/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Represents a set of feed items. The set can be used and shared among certain +// feed item features. For instance, the set can be referenced within the +// matching functions of CustomerFeed, CampaignFeed, and AdGroupFeed. +message FeedItemSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSet" + pattern: "customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}" + }; + + // Immutable. The resource name of the feed item set. + // Feed item set resource names have the form: + // `customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; + + // Immutable. The resource name of the feed containing the feed items in the set. + // Immutable. Required. + string feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. ID of the set. + int64 feed_item_set_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the set. Must be unique within the account. + string display_name = 4; + + // Output only. Status of the feed item set. + // This field is read-only. + google.ads.googleads.v11.enums.FeedItemSetStatusEnum.FeedItemSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Represents a filter on locations in a feed item set. + // Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. + oneof dynamic_set_filter { + // Filter for dynamic location set. + // It is only used for sets of locations. + google.ads.googleads.v11.common.DynamicLocationSetFilter dynamic_location_set_filter = 5; + + // Filter for dynamic affiliate location set. + // This field doesn't apply generally to feed item sets. It is only used for + // sets of affiliate locations. + google.ads.googleads.v11.common.DynamicAffiliateLocationSetFilter dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set_link.proto new file mode 100644 index 00000000..79c1bcbf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_set_link.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the FeedItemSetLink resource. + +// Represents a link between a FeedItem and a FeedItemSet. +message FeedItemSetLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSetLink" + pattern: "customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item set link. + // Feed item set link resource names have the form: + // `customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + } + ]; + + // Immutable. The linked FeedItem. + string feed_item = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The linked FeedItemSet. + string feed_item_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_target.proto new file mode 100644 index 00000000..903cfd1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_item_target.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v11/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v11/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the FeedItemTarget resource. + +// A feed item target. +message FeedItemTarget { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemTarget" + pattern: "customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}" + }; + + // Immutable. The resource name of the feed item target. + // Feed item target resource names have the form: + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; + + // Immutable. The feed item to which this feed item target belongs. + optional string feed_item = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v11.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the targeted resource. This field is read-only. + optional int64 feed_item_target_id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the feed item target. + // This field is read-only. + google.ads.googleads.v11.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The targeted resource. + oneof target { + // Immutable. The targeted campaign. + string campaign = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The targeted ad group. + string ad_group = 15 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The targeted keyword. + google.ads.googleads.v11.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted geo target constant resource name. + string geo_target_constant = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Immutable. The targeted device. + google.ads.googleads.v11.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v11.common.AdScheduleInfo ad_schedule = 10 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_mapping.proto new file mode 100644 index 00000000..24d9d30c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_mapping.proto @@ -0,0 +1,188 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v11/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v11/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v11/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v11/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/ads/googleads/v11/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v11/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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.v11.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.v11.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.v11.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.v11.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v11.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v11.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v11.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.v11.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v11.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v11.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v11.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v11.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v11.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v11.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v11.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v11.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v11.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v11.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v11.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v11.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v11.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v11.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v11.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v11.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v11.enums.ImagePlaceholderFieldEnum.ImagePlaceholderField image_field = 26 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/feed_placeholder_view.proto new file mode 100644 index 00000000..b0ca9fd1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/feed_placeholder_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the FeedPlaceholderView resource. + +// A feed placeholder view. +message FeedPlaceholderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + pattern: "customers/{customer_id}/feedPlaceholderViews/{placeholder_type}" + }; + + // Output only. The resource name of the feed placeholder view. + // Feed placeholder view resource names have the form: + // + // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; + + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v11.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/gender_view.proto new file mode 100644 index 00000000..632926e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/gender_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the gender view resource. + +// A gender view. +message GenderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GenderView" + pattern: "customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the gender view. + // Gender view resource names have the form: + // + // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/geo_target_constant.proto new file mode 100644 index 00000000..ecb00a2b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/geo_target_constant.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeoTargetConstant" + pattern: "geoTargetConstants/{criterion_id}" + }; + + // Output only. The resource name of the geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{geo_target_constant_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The ID of the geo target constant. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant English name. + optional string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + optional string country_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant target type. + optional string target_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant status. + google.ads.googleads.v11.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fully qualified English name, consisting of the target's name and that + // of its parent and country. + optional string canonical_name = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the parent geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{parent_geo_target_constant_id}` + optional string parent_geo_target = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/geographic_view.proto new file mode 100644 index 00000000..40191167 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/geographic_view.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the geographic view resource. + +// A geographic view. +// +// Geographic View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at either actual physical location of +// the user or an area of interest. If other segment fields are used, you may +// get more than one row per country. +message GeographicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeographicView" + pattern: "customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}" + }; + + // Output only. The resource name of the geographic view. + // Geographic view resource names have the form: + // + // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; + + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v11.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v11/resources/google_ads_field.proto new file mode 100644 index 00000000..99cc7ea8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/google_ads_field.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v11/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Google Ads Field resource. + +// A field or resource (artifact) used by GoogleAdsService. +message GoogleAdsField { + option (google.api.resource) = { + type: "googleads.googleapis.com/GoogleAdsField" + pattern: "googleAdsFields/{google_ads_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `googleAdsFields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. + google.ads.googleads.v11.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a SELECT clause in search + // queries. + optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a WHERE clause in search + // queries. + optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a ORDER BY clause in search + // queries. + optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources, segments, and metrics that are selectable with + // the described artifact. + repeated string selectable_with = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources that are selectable with the described + // artifact. Fields from these resources do not segment metrics when included + // in search queries. + // + // This field is only set for artifacts whose category is RESOURCE. + repeated string attribute_resources = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all metrics that are selectable with the + // described artifact when it is used in the FROM clause. + // It is only set for artifacts whose category is RESOURCE. + repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all artifacts, whether a segment or another + // resource, that segment metrics when included in search queries and when the + // described artifact is used in the FROM clause. It is only set for artifacts + // whose category is RESOURCE. + repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Values the artifact can assume if it is a field of type ENUM. + // + // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.googleads.v11.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of proto describing the artifact's data type. + optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the field artifact is repeated. + optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/group_placement_view.proto new file mode 100644 index 00000000..52864d96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/group_placement_view.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the group placement view resource. + +// A group placement view. +message GroupPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GroupPlacementView" + pattern: "customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the group placement view. + // Group placement view resource names have the form: + // + // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; + + // Output only. The automatic placement string at group level, e. g. web domain, mobile + // app ID, or a YouTube channel ID. + optional string placement = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Domain name for websites and YouTube channel name for YouTube channels. + optional string display_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the mobile + // application in app store, or a YouTube channel URL. + optional string target_url = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Channel, Mobile + // Application. + google.ads.googleads.v11.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_group_view.proto new file mode 100644 index 00000000..26ee5993 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the hotel group view resource. + +// A hotel group view. +message HotelGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelGroupView" + pattern: "customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the hotel group view. + // Hotel Group view resource names have the form: + // + // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_performance_view.proto new file mode 100644 index 00000000..0e3e24e7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_performance_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the hotel performance view resource. + +// A hotel performance view. +message HotelPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelPerformanceView" + pattern: "customers/{customer_id}/hotelPerformanceView" + }; + + // Output only. The resource name of the hotel performance view. + // Hotel performance view resource names have the form: + // + // `customers/{customer_id}/hotelPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/hotel_reconciliation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_reconciliation.proto new file mode 100644 index 00000000..dd7f5abc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/hotel_reconciliation.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the hotel reconciliation resource. + +// A hotel reconciliation. It contains conversion information from Hotel +// bookings to reconcile with advertiser records. These rows may be updated +// or canceled before billing through Bulk Uploads. +message HotelReconciliation { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelReconciliation" + pattern: "customers/{customer_id}/hotelReconciliations/{commission_id}" + }; + + // Immutable. The resource name of the hotel reconciliation. + // Hotel reconciliation resource names have the form: + // + // `customers/{customer_id}/hotelReconciliations/{commission_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelReconciliation" + } + ]; + + // Required. Output only. The commission ID is Google's ID for this booking. Every booking event is + // assigned a Commission ID to help you match it to a guest stay. + string commission_id = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. The order ID is the identifier for this booking as provided in the + // 'transaction_id' parameter of the conversion tracking tag. + string order_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name for the Campaign associated with the conversion. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Identifier for the Hotel Center account which provides the rates for the + // Hotel campaign. + int64 hotel_center_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier for the booked property, as provided in the Hotel Center + // feed. The hotel ID comes from the 'ID' parameter of the conversion tracking + // tag. + string hotel_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-in date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_in_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-out date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_out_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If + // original booking value changes for any reason, such as itinerary changes or + // room upsells, the reconciled value should be the full final amount + // collected. If a booking is canceled, the reconciled value should include + // the value of any cancellation fees or non-refundable nights charged. Value + // is in millionths of the base unit currency. For example, $12.35 would be + // represented as 12350000. Currency unit is in the default customer currency. + int64 reconciled_value_micros = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Whether a given booking has been billed. Once billed, a booking can't be + // modified. + bool billed = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Current status of a booking with regards to reconciliation and billing. + // Bookings should be reconciled within 45 days after the check-out date. + // Any booking not reconciled within 45 days will be billed at its original + // value. + google.ads.googleads.v11.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/income_range_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/income_range_view.proto new file mode 100644 index 00000000..361d2b26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/income_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the income range view resource. + +// An income range view. +message IncomeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/IncomeRangeView" + pattern: "customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the income range view. + // Income range view resource names have the form: + // + // `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/IncomeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/invoice.proto b/google-cloud/protos/google/ads/googleads/v11/resources/invoice.proto new file mode 100644 index 00000000..ecdfa7ee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/invoice.proto @@ -0,0 +1,202 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/dates.proto"; +import "google/ads/googleads/v11/enums/invoice_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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 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.v11.common.DateRange billable_activity_date_range = 9 [(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.v11.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.v11.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, in micros. This equals the + // sum of the AccountBudgetSummary subtotal amounts, + // Invoice.adjustments_subtotal_amount_micros, and + // Invoice.regulatory_costs_subtotal_amount_micros. + // Starting with v6, the Invoice.regulatory_costs_subtotal_amount_micros is no + // longer included. + 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 and Invoice.tax_amount_micros. + // Starting with v6, Invoice.regulatory_costs_subtotal_amount_micros is + // also added as it is no longer already included in + // Invoice.tax_amount_micros. + 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan.proto new file mode 100644 index 00000000..092f643d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/dates.proto"; +import "google/ads/googleads/v11/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword plan resource. + +// A Keyword Planner plan. +// Max number of saved keyword plans: 10000. +// It's possible to remove plans if limit is reached. +message KeywordPlan { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlan" + pattern: "customers/{customer_id}/keywordPlans/{keyword_plan_id}" + }; + + // Immutable. The resource name of the Keyword Planner plan. + // KeywordPlan resource names have the form: + // + // `customers/{customer_id}/keywordPlans/{kp_plan_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // Output only. The ID of the keyword plan. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan. + // + // This field is required and should not be empty when creating new keyword + // plans. + optional string name = 6; + + // The date period used for forecasting the plan. + KeywordPlanForecastPeriod forecast_period = 4; +} + +// The forecasting period associated with the keyword plan. +message KeywordPlanForecastPeriod { + // Required. The date used for forecasting the Plan. + oneof interval { + // A future date range relative to the current date used for forecasting. + google.ads.googleads.v11.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; + + // The custom date range used for forecasting. It cannot be greater than + // a year. + // The start and end dates must be in the future. Otherwise, an error will + // be returned when the forecasting action is performed. + // The start and end dates are inclusive. + google.ads.googleads.v11.common.DateRange date_range = 2; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group.proto new file mode 100644 index 00000000..410eebc0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword plan ad group resource. + +// A Keyword Planner ad group. +// Max number of keyword plan ad groups per plan: 200. +message KeywordPlanAdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + pattern: "customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}" + }; + + // Immutable. The resource name of the Keyword Planner ad group. + // KeywordPlanAdGroup resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; + + // The keyword plan campaign to which this ad group belongs. + optional string keyword_plan_campaign = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the keyword plan ad group. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan ad group. + // + // This field is required and should not be empty when creating keyword plan + // ad group. + optional string name = 8; + + // A default ad group max cpc bid in micros in account currency for all + // biddable keywords under the keyword plan ad group. + // If not set, will inherit from parent campaign. + optional int64 cpc_bid_micros = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 00000000..ed870e96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword plan ad group keyword resource. + +// A Keyword Plan ad group keyword. +// Max number of keyword plan keywords per plan: 10000. +message KeywordPlanAdGroupKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + pattern: "customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan ad group keyword. + // KeywordPlanAdGroupKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; + + // The Keyword Plan ad group to which this keyword belongs. + optional string keyword_plan_ad_group = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + + // Output only. The ID of the Keyword Plan keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency + // is the same as the account currency code. This will override any CPC bid + // set at the keyword plan ad group level. Not applicable for negative + // keywords. (negative = true) This field is Optional. + optional int64 cpc_bid_micros = 11; + + // Immutable. If true, the keyword is negative. + optional bool negative = 12 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign.proto new file mode 100644 index 00000000..26d3c7e6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword plan campaign resource. + +// A Keyword Plan campaign. +// Max number of keyword plan campaigns per plan allowed: 1. +message KeywordPlanCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + pattern: "customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}" + }; + + // Immutable. The resource name of the Keyword Plan campaign. + // KeywordPlanCampaign resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; + + // The keyword plan this campaign belongs to. + optional string keyword_plan = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + + // Output only. The ID of the Keyword Plan campaign. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the Keyword Plan campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional string name = 11; + + // The languages targeted for the Keyword Plan campaign. + // Max allowed: 1. + repeated string language_constants = 12 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; + + // Targeting network. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + google.ads.googleads.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; + + // A default max cpc bid in micros, and in the account currency, for all ad + // groups under the campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional int64 cpc_bid_micros = 13; + + // The geo targets. + // Max number allowed: 20. + repeated KeywordPlanGeoTarget geo_targets = 8; +} + +// A geo target. +message KeywordPlanGeoTarget { + // Required. The resource name of the geo target. + optional string geo_target_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 00000000..c75587a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword plan negative keyword resource. + +// A Keyword Plan Campaign keyword. +// Only negative keywords are supported for Campaign Keyword. +message KeywordPlanCampaignKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + pattern: "customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan Campaign keyword. + // KeywordPlanCampaignKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; + + // The Keyword Plan campaign to which this negative keyword belongs. + optional string keyword_plan_campaign = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the Keyword Plan negative keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // Immutable. If true, the keyword is negative. + // Must be set to true. Only negative campaign keywords are supported. + optional bool negative = 11 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_theme_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_theme_constant.proto new file mode 100644 index 00000000..6f22dd97 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_theme_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Smart Campaign keyword theme constant resource. + +// A Smart Campaign keyword theme constant. +message KeywordThemeConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + pattern: "keywordThemeConstants/{express_category_id}~{express_sub_category_id}" + }; + + // Output only. The resource name of the keyword theme constant. + // Keyword theme constant resource names have the form: + // + // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + } + ]; + + // Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string language_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the keyword theme or sub keyword theme. + optional string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_view.proto new file mode 100644 index 00000000..9d2a9c74 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the keyword view resource. + +// A keyword view. +message KeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordView" + pattern: "customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the keyword view. + // Keyword view resource names have the form: + // + // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/label.proto b/google-cloud/protos/google/ads/googleads/v11/resources/label.proto new file mode 100644 index 00000000..79f3f59f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/text_label.proto"; +import "google/ads/googleads/v11/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A label. +message Label { + option (google.api.resource) = { + type: "googleads.googleapis.com/Label" + pattern: "customers/{customer_id}/labels/{label_id}" + }; + + // Immutable. Name of the resource. + // Label resource names have the form: + // `customers/{customer_id}/labels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. ID of the label. Read only. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the label. + // + // This field is required and should not be empty when creating a new label. + // + // The length of this string should be between 1 and 80, inclusive. + optional string name = 7; + + // Output only. Status of the label. Read only. + google.ads.googleads.v11.enums.LabelStatusEnum.LabelStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v11.common.TextLabel text_label = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/landing_page_view.proto new file mode 100644 index 00000000..606461fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the landing page view resource. + +// A landing page view with metrics aggregated at the unexpanded final URL +// level. +message LandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LandingPageView" + pattern: "customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the landing page view. + // Landing page view resource names have the form: + // + // `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; + + // Output only. The advertiser-specified final URL. + optional string unexpanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/language_constant.proto new file mode 100644 index 00000000..6c523e0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/language_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the language constant resource. + +// A language. +message LanguageConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/LanguageConstant" + pattern: "languageConstants/{criterion_id}" + }; + + // Output only. The resource name of the language constant. + // Language constant resource names have the form: + // + // `languageConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; + + // Output only. The ID of the language constant. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code, for example, "en_US", "en_AU", "es", "fr", etc. + optional string code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the language in English, for example, "English (US)", + // "Spanish", etc. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the language is targetable. + optional bool targetable = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/lead_form_submission_data.proto b/google-cloud/protos/google/ads/googleads/v11/resources/lead_form_submission_data.proto new file mode 100644 index 00000000..0e6e4323 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/lead_form_submission_data.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/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.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormSubmissionDataProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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. 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.v11.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/life_event.proto b/google-cloud/protos/google/ads/googleads/v11/resources/life_event.proto new file mode 100644 index 00000000..5b1a9422 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/life_event.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Life Event resource. + +// A life event: a particular interest-based vertical to be targeted to reach +// users when they are in the midst of important life milestones. +message LifeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/LifeEvent" + pattern: "customers/{customer_id}/lifeEvents/{life_event_id}" + }; + + // Output only. The resource name of the life event. + // Life event resource names have the form: + // + // `customers/{customer_id}/lifeEvents/{life_event_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. The ID of the life event. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the life event, for example,"Recently Moved" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the life_event. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. True if the life event is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the life event. + repeated google.ads.googleads.v11.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/location_view.proto new file mode 100644 index 00000000..e1d7997a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/location_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the location view resource. + +// A location view summarizes the performance of campaigns by +// Location criteria. +message LocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocationView" + pattern: "customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the location view. + // Location view resource names have the form: + // + // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/managed_placement_view.proto new file mode 100644 index 00000000..5dbb0acc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/managed_placement_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Managed Placement view resource. + +// A managed placement view. +message ManagedPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ManagedPlacementView" + pattern: "customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the Managed Placement view. + // Managed placement view resource names have the form: + // + // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v11/resources/media_file.proto new file mode 100644 index 00000000..d67945a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/media_file.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/media_type.proto"; +import "google/ads/googleads/v11/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the media file resource. + +// A media file. +message MediaFile { + option (google.api.resource) = { + type: "googleads.googleapis.com/MediaFile" + pattern: "customers/{customer_id}/mediaFiles/{media_file_id}" + }; + + // Immutable. The resource name of the media file. + // Media file resource names have the form: + // + // `customers/{customer_id}/mediaFiles/{media_file_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; + + // Output only. The ID of the media file. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of the media file. + google.ads.googleads.v11.enums.MediaTypeEnum.MediaType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v11.enums.MimeTypeEnum.MimeType mime_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The URL of where the original media file was downloaded from (or a file + // name). Only used for media of type AUDIO and IMAGE. + optional string source_url = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The name of the media file. The name can be used by clients to help + // identify previously uploaded media. + optional string name = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The size of the media file in bytes. + optional int64 file_size = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the media file. + oneof mediatype { + // Immutable. Encapsulates an Image. + MediaImage image = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A ZIP archive media the content of which contains HTML5 assets. + MediaBundle media_bundle = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Encapsulates an Audio. + MediaAudio audio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Encapsulates a Video. + MediaVideo video = 11 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Encapsulates an Image. +message MediaImage { + // Immutable. Raw image data. + optional bytes data = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to the full size version of the image. + optional string full_size_image_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The url to the preview size version of the image. + optional string preview_size_image_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents a ZIP archive media the content of which contains HTML5 assets. +message MediaBundle { + // Immutable. Raw zipped data. + optional bytes data = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to access the uploaded zipped data. + // For example, https://tpc.googlesyndication.com/simgad/123 + // This field is read-only. + optional string url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Encapsulates an Audio. +message MediaAudio { + // Output only. The duration of the Audio in milliseconds. + optional int64 ad_duration_millis = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Encapsulates a Video. +message MediaVideo { + // Output only. The duration of the Video in milliseconds. + optional int64 ad_duration_millis = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix + // "https://www.youtube.com/watch?v=" to this ID will get the YouTube + // streaming URL for this video. + optional string youtube_video_id = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The Advertising Digital Identification code for this video, as defined by + // the American Association of Advertising Agencies, used mainly for + // television commercials. + optional string advertising_id_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Industry Standard Commercial Identifier code for this video, used + // mainly for television commercials. + optional string isci_code = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/merchant_center_link.proto new file mode 100644 index 00000000..c4d2ba63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/merchant_center_link.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// 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. + google.ads.googleads.v11.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/mobile_app_category_constant.proto new file mode 100644 index 00000000..de9dfc71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/mobile_app_category_constant.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Mobile App Category Constant resource. + +// A mobile application category constant. +message MobileAppCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + pattern: "mobileAppCategoryConstants/{mobile_app_category_id}" + }; + + // Output only. The resource name of the mobile app category constant. + // Mobile app category constant resource names have the form: + // + // `mobileAppCategoryConstants/{mobile_app_category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; + + // Output only. The ID of the mobile app category constant. + optional int32 id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mobile app category name. + optional string name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/mobile_device_constant.proto new file mode 100644 index 00000000..e4b31c20 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/mobile_device_constant.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the mobile device constant resource. + +// A mobile device constant. +message MobileDeviceConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + pattern: "mobileDeviceConstants/{criterion_id}" + }; + + // Output only. The resource name of the mobile device constant. + // Mobile device constant resource names have the form: + // + // `mobileDeviceConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; + + // Output only. The ID of the mobile device constant. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the mobile device. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The manufacturer of the mobile device. + optional string manufacturer_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operating system of the mobile device. + optional string operating_system_name = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of mobile device. + google.ads.googleads.v11.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/offline_user_data_job.proto b/google-cloud/protos/google/ads/googleads/v11/resources/offline_user_data_job.proto new file mode 100644 index 00000000..5be69552 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/offline_user_data_job.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/offline_user_data.proto"; +import "google/ads/googleads/v11/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v11/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v11/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v11/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the offline user data job resource. + +// A job containing offline user data of store visitors, or user list members +// that will be processed asynchronously. The uploaded data isn't readable and +// the processing results of the job can only be read using +// GoogleAdsService.Search/SearchStream. +message OfflineUserDataJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + pattern: "customers/{customer_id}/offlineUserDataJobs/{offline_user_data_update_id}" + }; + + // Immutable. The resource name of the offline user data job. + // Offline user data job resource names have the form: + // + // `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // Output only. ID of this offline user data job. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. User specified job ID. + optional int64 external_id = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Type of the job. + google.ads.googleads.v11.enums.OfflineUserDataJobTypeEnum.OfflineUserDataJobType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v11.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.v11.enums.OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason failure_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata of offline user data job depicting match rate range. + OfflineUserDataJobMetadata operation_metadata = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata of the job. + oneof metadata { + // Immutable. Metadata for data updates to a CRM-based user list. + google.ads.googleads.v11.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v11.common.StoreSalesMetadata store_sales_metadata = 8 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { + // Output only. Match rate of the Customer Match user list upload. Describes the estimated + // match rate when the status of the job is "RUNNING" and final match rate + // when the final match rate is available after the status of the job is + // "SUCCESS/FAILED". + google.ads.googleads.v11.enums.OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange match_rate_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/operating_system_version_constant.proto new file mode 100644 index 00000000..afb8a000 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/operating_system_version_constant.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the operating system version constant resource. + +// A mobile operating system version or a range of versions, depending on +// `operator_type`. List of available mobile platforms at +// https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms +message OperatingSystemVersionConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + pattern: "operatingSystemVersionConstants/{criterion_id}" + }; + + // Output only. The resource name of the operating system version constant. + // Operating system version constant resource names have the form: + // + // `operatingSystemVersionConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; + + // Output only. The ID of the operating system version. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the operating system. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Major Version number. + optional int32 os_major_version = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Minor Version number. + optional int32 os_minor_version = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines whether this constant represents a single version or a range of + // versions. + google.ads.googleads.v11.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/paid_organic_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/paid_organic_search_term_view.proto new file mode 100644 index 00000000..48102323 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/paid_organic_search_term_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the PaidOrganicSearchTermView resource. + +// A paid organic search term view providing a view of search stats across +// ads and organic listings aggregated by search term at the ad group level. +message PaidOrganicSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + pattern: "customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~{ad_group_id}~{base64_search_term}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ + // {ad_group_id}~{URL-base64 search term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/parental_status_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/parental_status_view.proto new file mode 100644 index 00000000..6e675b60 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/parental_status_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the parental status view resource. + +// A parental status view. +message ParentalStatusView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ParentalStatusView" + pattern: "customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the parental status view. + // Parental Status view resource names have the form: + // + // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/payments_account.proto b/google-cloud/protos/google/ads/googleads/v11/resources/payments_account.proto new file mode 100644 index 00000000..0b3fe640 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/payments_account.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the PaymentsAccount resource. + +// A payments account, which can be used to set up billing for an Ads customer. +message PaymentsAccount { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaymentsAccount" + pattern: "customers/{customer_id}/paymentsAccounts/{payments_account_id}" + }; + + // Output only. The resource name of the payments account. + // PaymentsAccount resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Output only. A 16 digit ID used to identify a payments account. + optional string payments_account_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the payments account. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The currency code of the payments account. + // A subset of the currency codes derived from the ISO 4217 standard is + // supported. + optional string currency_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 12 digit ID used to identify the payments profile associated with the + // payments account. + optional string payments_profile_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile ID present in uncommon situations, for + // example, when a sequential liability agreement has been arranged. + optional string secondary_payments_profile_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Paying manager of this payment account. + optional string paying_manager_customer = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/product_bidding_category_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/product_bidding_category_constant.proto new file mode 100644 index 00000000..3e9463aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/product_bidding_category_constant.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v11/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// 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. + google.ads.googleads.v11.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. + google.ads.googleads.v11.enums.ProductBiddingCategoryStatusEnum.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/google-cloud/protos/google/ads/googleads/v11/resources/product_group_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/product_group_view.proto new file mode 100644 index 00000000..d5243f29 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/product_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ProductGroup View resource. + +// A product group view. +message ProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductGroupView" + pattern: "customers/{customer_id}/productGroupViews/{adgroup_id}~{criterion_id}" + }; + + // Output only. The resource name of the product group view. + // Product group view resource names have the form: + // + // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/recommendation.proto b/google-cloud/protos/google/ads/googleads/v11/resources/recommendation.proto new file mode 100644 index 00000000..9fc22267 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/recommendation.proto @@ -0,0 +1,434 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/common/extensions.proto"; +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/ads/googleads/v11/enums/recommendation_type.proto"; +import "google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v11/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::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 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 { + // Output only. The recommended keyword. + google.ads.googleads.v11.common.KeywordInfo keyword = 1 [(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.v11.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 extension recommendation. + message CalloutExtensionRecommendation { + // Output only. Callout extensions recommended to be added. + repeated google.ads.googleads.v11.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v11.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v11.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v11.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v11.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 = 1 [(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.v11.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 Display Expansion opt-in recommendation. + message DisplayExpansionOptInRecommendation { + + } + + // The Upgrade Local campaign to Performance Max campaign recommendation. + message UpgradeLocalCampaignToPerformanceMaxRecommendation { + + } + + // 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.v11.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 will be set only when + // the recommendation affects a single campaign. + // + // 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 + 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]; + + // 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 Callout extension recommendation. + CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Sitelink extension recommendation. + SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Call extension recommendation. + CallExtensionRecommendation call_extension_recommendation = 19 [(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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/remarketing_action.proto b/google-cloud/protos/google/ads/googleads/v11/resources/remarketing_action.proto new file mode 100644 index 00000000..e438219d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/remarketing_action.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Remarketing Action resource. + +// A remarketing action. A snippet of JavaScript code that will collect the +// product id and the type of page people visited (product page, shopping cart +// page, purchase page, general site visit) on an advertiser's website. +message RemarketingAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/RemarketingAction" + pattern: "customers/{customer_id}/remarketingActions/{remarketing_action_id}" + }; + + // Immutable. The resource name of the remarketing action. + // Remarketing action resource names have the form: + // + // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; + + // Output only. Id of the remarketing action. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the remarketing action. + // + // This field is required and should not be empty when creating new + // remarketing actions. + optional string name = 6; + + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v11.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/search_term_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/search_term_view.proto new file mode 100644 index 00000000..cbd56531 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/search_term_view.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the SearchTermView resource. + +// A search term view with metrics aggregated by search term at the ad group +// level. +message SearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SearchTermView" + pattern: "customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{query}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group the search term served in. + optional string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Indicates whether the search term is currently one of your + // targeted or excluded keywords. + google.ads.googleads.v11.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/shared_criterion.proto b/google-cloud/protos/google/ads/googleads/v11/resources/shared_criterion.proto new file mode 100644 index 00000000..3e9f7f8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/shared_criterion.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the SharedCriterion resource. + +// A criterion belonging to a shared set. +message SharedCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedCriterion" + pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}" + }; + + // Immutable. The resource name of the shared criterion. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; + + // Immutable. The shared set to which the shared criterion belongs. + optional string shared_set = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v11.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v11.common.KeywordInfo keyword = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v11.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/shared_set.proto b/google-cloud/protos/google/ads/googleads/v11/resources/shared_set.proto new file mode 100644 index 00000000..ca104927 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/shared_set.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/enums/shared_set_status.proto"; +import "google/ads/googleads/v11/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the SharedSet resource. + +// SharedSets are used for sharing criterion exclusions across multiple +// campaigns. +message SharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedSet" + pattern: "customers/{customer_id}/sharedSets/{shared_set_id}" + }; + + // Immutable. The resource name of the shared set. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of this shared set. Read only. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of this shared set: each shared set holds only a single kind + // of resource. Required. Immutable. + google.ads.googleads.v11.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // The name of this shared set. Required. + // Shared Sets must have names that are unique among active shared sets of + // the same type. + // The length of this string should be between 1 and 255 UTF-8 bytes, + // inclusive. + optional string name = 9; + + // Output only. The status of this shared set. Read only. + google.ads.googleads.v11.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shared criteria within this shared set. Read only. + optional int64 member_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns associated with this shared set. Read only. + optional int64 reference_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/shopping_performance_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/shopping_performance_view.proto new file mode 100644 index 00000000..370c1daf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/shopping_performance_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the ShoppingPerformanceView resource. + +// Shopping performance view. +// Provides Shopping campaign statistics aggregated at several product dimension +// levels. Product dimension values from Merchant Center such as brand, +// category, custom attributes, product condition and product type will reflect +// the state of each dimension as of the date and time when the corresponding +// event was recorded. +message ShoppingPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + pattern: "customers/{customer_id}/shoppingPerformanceView" + }; + + // Output only. The resource name of the Shopping performance view. + // Shopping performance view resource names have the form: + // `customers/{customer_id}/shoppingPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_search_term_view.proto new file mode 100644 index 00000000..7f06c8fa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the SmartCampaignSearchTermView resource. + +// A Smart campaign search term view. +message SmartCampaignSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + pattern: "customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{query}" + }; + + // Output only. The resource name of the Smart campaign search term view. + // Smart campaign search term view resource names have the form: + // + // `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + } + ]; + + // Output only. The search term. + string search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Smart campaign the search term served in. + string campaign = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_setting.proto b/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_setting.proto new file mode 100644 index 00000000..ac2f08c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/smart_campaign_setting.proto @@ -0,0 +1,110 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Smart campaign setting resource. + +// Settings for configuring Smart campaigns. +message SmartCampaignSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + pattern: "customers/{customer_id}/smartCampaignSettings/{campaign_id}" + }; + + // Phone number and country code in smart campaign settings. + message PhoneNumber { + // Phone number of the smart campaign. + optional string phone_number = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. + optional string country_code = 2; + } + + // Settings for configuring a business profile optimized for ads as this + // campaign's landing page. + message AdOptimizedBusinessProfileSetting { + // Enabling a lead form on your business profile enables prospective + // customers to contact your business by filling out a simple form, + // and you'll receive their information through email. + 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 ISO-639-1 language code to advertise in. + 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/google-cloud/protos/google/ads/googleads/v11/resources/third_party_app_analytics_link.proto b/google-cloud/protos/google/ads/googleads/v11/resources/third_party_app_analytics_link.proto new file mode 100644 index 00000000..4fdcbca1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/third_party_app_analytics_link.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// A data sharing connection, allowing the import of third party app analytics +// into a Google Ads Customer. +message ThirdPartyAppAnalyticsLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + pattern: "customers/{customer_id}/thirdPartyAppAnalyticsLinks/{customer_link_id}" + }; + + // Immutable. The resource name of the third party app analytics link. + // Third party app analytics link resource names have the form: + // + // `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + } + ]; + + // Output only. The shareable link ID that should be provided to the third party when + // setting up app analytics. This is able to be regenerated using regenerate + // method in the ThirdPartyAppAnalyticsLinkService. + optional string shareable_link_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/topic_constant.proto b/google-cloud/protos/google/ads/googleads/v11/resources/topic_constant.proto new file mode 100644 index 00000000..16cf9f7d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/topic_constant.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the Topic Constant resource. + +// Use topics to target or exclude placements in the Google Display Network +// based on the category into which the placement falls (for example, +// "Pets & Animals/Pets/Dogs"). +message TopicConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicConstant" + pattern: "topicConstants/{topic_id}" + }; + + // Output only. The resource name of the topic constant. + // topic constant resource names have the form: + // + // `topicConstants/{topic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The ID of the topic. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of parent of the topic constant. + optional string topic_constant_parent = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // {"Pets & Animals", "Pets", "Dogs"} represents the + // "Pets & Animals/Pets/Dogs" category. List of available topic categories at + // https://developers.google.com/adwords/api/docs/appendix/verticals + repeated string path = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/topic_view.proto new file mode 100644 index 00000000..d6292d62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/topic_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the topic view resource. + +// A topic view. +message TopicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicView" + pattern: "customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the topic view. + // Topic view resource names have the form: + // + // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v11/resources/user_interest.proto new file mode 100644 index 00000000..a9c03f34 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/user_interest.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/criterion_category_availability.proto"; +import "google/ads/googleads/v11/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the User Interest resource. + +// A user interest: a particular interest-based vertical to be targeted. +message UserInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserInterest" + pattern: "customers/{customer_id}/userInterests/{user_interest_id}" + }; + + // Output only. The resource name of the user interest. + // User interest resource names have the form: + // + // `customers/{customer_id}/userInterests/{user_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v11.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the user interest. + optional int64 user_interest_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the user interest. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the user interest. + optional string user_interest_parent = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. True if the user interest is launched to all channels and locales. + optional bool launched_to_all = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v11.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v11/resources/user_list.proto new file mode 100644 index 00000000..e7bf763b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/user_list.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v11.resources; + +import "google/ads/googleads/v11/common/user_lists.proto"; +import "google/ads/googleads/v11/enums/access_reason.proto"; +import "google/ads/googleads/v11/enums/user_list_access_status.proto"; +import "google/ads/googleads/v11/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v11/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v11/enums/user_list_size_range.proto"; +import "google/ads/googleads/v11/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the User List resource. + +// A user list. This is a list of users a customer may target. +message UserList { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserList" + pattern: "customers/{customer_id}/userLists/{user_list_id}" + }; + + // Immutable. The resource name of the user list. + // User list resource names have the form: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An option that indicates if a user may edit a list. Depends on the list + // ownership and list type. For example, external remarketing user lists are + // not editable. + // + // This field is read-only. + optional bool read_only = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of this user list. Depending on its access_reason, the user list name + // may not be unique (for example, if access_reason=SHARED) + optional string name = 27; + + // Description of this user list. + optional string description = 28; + + // Membership status of this user list. Indicates whether a user list is open + // or active. Only open user lists can accumulate more users and can be + // targeted to. + google.ads.googleads.v11.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; + + // An ID from external system. It is used by user list sellers to correlate + // IDs on their systems. + optional string integration_code = 29; + + // Number of days a user's cookie stays on your list since its most recent + // addition to the list. This field must be between 0 and 540 inclusive. + // However, for CRM based userlists, this field can be set to 10000 which + // means no expiration. + // + // 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.v11.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.v11.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.googleads.v11.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicating the reason why this user list membership status is closed. It is + // only populated on lists that were automatically closed due to inactivity, + // and will be cleared once the list membership status becomes open. + google.ads.googleads.v11.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; + + // Output only. Indicates the reason this account has been granted access to the list. + // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. + // + // This field is read-only. + google.ads.googleads.v11.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicates if this share is still enabled. When a UserList is shared with + // the user this field is set to ENABLED. Later the userList owner can decide + // to revoke the share and make it DISABLED. + // The default value of this field is set to ENABLED. + google.ads.googleads.v11.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; + + // Indicates if this user list is eligible for Google Search Network. + optional bool eligible_for_search = 33; + + // Output only. Indicates this user list is eligible for Google Display Network. + // + // This field is read-only. + optional bool eligible_for_display = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates match rate for Customer Match lists. The range of this field is + // [0-100]. This will be null for other list types or when it's not possible + // to calculate the match rate. + // + // This field is read-only. + optional int32 match_rate_percentage = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user list. + // + // Exactly one must be set. + oneof user_list { + // User list of CRM users provided by the advertiser. + google.ads.googleads.v11.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.v11.common.SimilarUserListInfo similar_user_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v11.common.RuleBasedUserListInfo rule_based_user_list = 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v11.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v11.common.BasicUserListInfo basic_user_list = 23; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/user_location_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/user_location_view.proto new file mode 100644 index 00000000..1dd4269b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/user_location_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the user location view resource. + +// A user location view. +// +// User Location View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at the actual physical location of +// the user by targeted or not targeted location. If other segment fields are +// used, you may get more than one row per country. +message UserLocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserLocationView" + pattern: "customers/{customer_id}/userLocationViews/{country_criterion_id}~{is_targeting_location}" + }; + + // Output only. The resource name of the user location view. + // UserLocation view resource names have the form: + // + // `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether location was targeted or not. + optional bool targeting_location = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/video.proto b/google-cloud/protos/google/ads/googleads/v11/resources/video.proto new file mode 100644 index 00000000..42b69715 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/video.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the video resource. + +// A video. +message Video { + option (google.api.resource) = { + type: "googleads.googleapis.com/Video" + pattern: "customers/{customer_id}/videos/{video_id}" + }; + + // Output only. The resource name of the video. + // Video resource names have the form: + // + // `customers/{customer_id}/videos/{video_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Video" + } + ]; + + // Output only. The ID of the video. + optional string id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The owner channel id of the video. + optional string channel_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The duration of the video in milliseconds. + optional int64 duration_millis = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The title of the video. + optional string title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/resources/webpage_view.proto b/google-cloud/protos/google/ads/googleads/v11/resources/webpage_view.proto new file mode 100644 index 00000000..ccbbbdaa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/resources/webpage_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v11.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v11.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; + +// Proto file describing the webpage view resource. + +// A webpage view. +message WebpageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/WebpageView" + pattern: "customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the webpage view. + // Webpage view resource names have the form: + // + // `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/WebpageView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v11/services/BUILD.bazel new file mode 100644 index 00000000..2261a82c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/BUILD.bazel @@ -0,0 +1,138 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "services_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v11/common:common_proto", + "//google/ads/googleads/v11/enums:enums_proto", + "//google/ads/googleads/v11/errors:errors_proto", + "//google/ads/googleads/v11/resources:resources_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "services_proto_with_info", + deps = [ + ":services_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "services_java_proto", + deps = [":services_proto"], +) + +java_grpc_library( + name = "services_java_grpc", + srcs = [":services_proto"], + deps = [":services_java_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "services_csharp_proto", + deps = [":services_proto"], +) + +csharp_grpc_library( + name = "services_csharp_grpc", + srcs = [":services_proto"], + deps = [":services_csharp_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "services_ruby_proto", + deps = [":services_proto"], +) + +ruby_grpc_library( + name = "services_ruby_grpc", + srcs = [":services_proto"], + deps = [":services_ruby_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_grpc_library", + "py_proto_library", +) + +py_proto_library( + name = "services_py_proto", + deps = [":services_proto"], +) + +py_grpc_library( + name = "services_py_grpc", + srcs = [":services_proto"], + deps = [":services_py_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v11/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/account_budget_proposal_service.proto new file mode 100644 index 00000000..7f7dad0e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/account_budget_proposal_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/account_budget_proposal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AccountBudgetProposal service. + +// A service for managing account-level budgets through proposals. +// +// A proposal is a request to create a new budget or make changes to an +// existing one. +// +// Mutates: +// The CREATE operation creates a new proposal. +// UPDATE operations aren't supported. +// The REMOVE operation cancels a pending proposal. +service AccountBudgetProposalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes account budget proposals. Operation statuses + // are returned. + // + // List of thrown errors: + // [AccountBudgetProposalError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/accountBudgetProposals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v11.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +message MutateAccountBudgetProposalRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual account-level budget proposal. + AccountBudgetProposalOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation to propose the creation of a new account-level budget or +// edit/end/remove an existing one. +message AccountBudgetProposalOperation { + // FieldMask that determines which budget fields are modified. While budgets + // may be modified, proposals that propose such modifications are final. + // Therefore, update operations are not supported for proposals. + // + // Proposals that modify budgets have the 'update' proposal type. Specifying + // a mask for any other proposal type is considered an error. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: A new proposal to create a new budget, edit an + // existing budget, end an actively running budget, or remove an approved + // budget scheduled to start in the future. + // No resource name is expected for the new proposal. + google.ads.googleads.v11.resources.AccountBudgetProposal create = 2; + + // Remove operation: A resource name for the removed proposal is expected, + // in this format: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + // A request may be cancelled iff it is pending. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; + } +} + +// Response message for account-level budget mutate operations. +message MutateAccountBudgetProposalResponse { + // The result of the mutate. + MutateAccountBudgetProposalResult result = 2; +} + +// The result for the account budget proposal mutate. +message MutateAccountBudgetProposalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/account_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/account_link_service.proto new file mode 100644 index 00000000..9e667e8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/account_link_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/account_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// This service allows management of links between Google Ads accounts and other +// accounts. +service AccountLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an account link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ThirdPartyAppAnalyticsLinkError]() + rpc CreateAccountLink(CreateAccountLinkRequest) returns (CreateAccountLinkResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/accountLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,account_link"; + } + + // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Use + // AccountLinkService.CreateAccountLink instead. + // + // List of thrown errors: + // [AccountLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAccountLink(MutateAccountLinkRequest) returns (MutateAccountLinkResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/accountLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v11.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkRequest { + // Required. The ID of the customer for which the account link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account link to be created. + google.ads.googleads.v11.resources.AccountLink account_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v11.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkResponse { + // Returned for successful operations. Resource name of the account link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} + +// Request message for [AccountLinkService.MutateAccountLink][google.ads.googleads.v11.services.AccountLinkService.MutateAccountLink]. +message MutateAccountLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the link. + AccountLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single update on an account link. +message AccountLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The operation to perform. + oneof operation { + // Update operation: The account link is expected to have + // a valid resource name. + google.ads.googleads.v11.resources.AccountLink update = 2; + + // Remove operation: A resource name for the account link to remove is + // expected, in this format: + // + // `customers/{customer_id}/accountLinks/{account_link_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; + } +} + +// Response message for account link mutate. +message MutateAccountLinkResponse { + // Result for the mutate. + MutateAccountLinkResult result = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the account link mutate. +message MutateAccountLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_label_service.proto new file mode 100644 index 00000000..2d8e7b37 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_label_service.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/ad_group_ad_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Ad Label service. + +// Service to manage labels on ad group ads. +service AdGroupAdLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group ad labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) returns (MutateAdGroupAdLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupAdLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v11.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +message MutateAdGroupAdLabelsRequest { + // Required. ID of the customer whose ad group ad labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group ad labels. + repeated AdGroupAdLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group ad label. +message AdGroupAdLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group ad + // label. + google.ads.googleads.v11.resources.AdGroupAdLabel create = 1; + + // Remove operation: A resource name for the ad group ad label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}_{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; + } +} + +// Response message for an ad group ad labels mutate. +message MutateAdGroupAdLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdLabelResult results = 2; +} + +// The result for an ad group ad label mutate. +message MutateAdGroupAdLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_service.proto new file mode 100644 index 00000000..d0210b48 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_ad_service.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Ad service. + +// Service to manage ads in an ad group. +service AdGroupAdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ads. Operation statuses are returned. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyValidationParameterError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v11.services.AdGroupAdService.MutateAdGroupAds]. +message MutateAdGroupAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdGroupAdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group ad. +message AdGroupAdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // Configuration for how policies are validated. + google.ads.googleads.v11.common.PolicyValidationParameter policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. + google.ads.googleads.v11.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v11.resources.AdGroupAd update = 2; + + // Remove operation: A resource name for the removed ad is expected, + // in this format: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + } +} + +// Response message for an ad group ad mutate. +message MutateAdGroupAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdGroupAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + + // The mutated ad group ad with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupAd ad_group_ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_asset_service.proto new file mode 100644 index 00000000..71d05bcd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_asset_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AdGroupAsset service. + +// Service to manage ad group assets. +service AdGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAssets(MutateAdGroupAssetsRequest) returns (MutateAdGroupAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v11.services.AdGroupAssetService.MutateAdGroupAssets]. +message MutateAdGroupAssetsRequest { + // Required. The ID of the customer whose ad group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group assets. + repeated AdGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group asset. +message AdGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // asset. + google.ads.googleads.v11.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AdGroupAsset update = 3; + + // Remove operation: A resource name for the removed ad group asset is + // expected, in this format: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + } +} + +// Response message for an ad group asset mutate. +message MutateAdGroupAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateAdGroupAssetResult results = 2; +} + +// The result for the ad group asset mutate. +message MutateAdGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + + // The mutated ad group asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupAsset ad_group_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_bid_modifier_service.proto new file mode 100644 index 00000000..d1f04a0d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Bid Modifier service. + +// Service to manage ad group bid modifiers. +service AdGroupBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupBidModifierError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v11.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +message MutateAdGroupBidModifiersRequest { + // Required. ID of the customer whose ad group bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group bid modifiers. + repeated AdGroupBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group bid modifier. +message AdGroupBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group bid + // modifier. + google.ads.googleads.v11.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.AdGroupBidModifier update = 2; + + // Remove operation: A resource name for the removed ad group bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + } +} + +// Response message for ad group bid modifiers mutate. +message MutateAdGroupBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + + // The mutated ad group bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupBidModifier ad_group_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 00000000..01fb6f02 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_customizer_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AdGroupCriterionCustomizer service. + +// Service to manage ad group criterion customizer +service AdGroupCriterionCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group criterion customizers. Operation + // statuses are returned. + rpc MutateAdGroupCriterionCustomizers(MutateAdGroupCriterionCustomizersRequest) returns (MutateAdGroupCriterionCustomizersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v11.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +message MutateAdGroupCriterionCustomizersRequest { + // Required. The ID of the customer whose ad group criterion customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group criterion + // customizers. + repeated AdGroupCriterionCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCriterionCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // criterion customizer. + google.ads.googleads.v11.resources.AdGroupCriterionCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group criterion + // customizer is expected, in this format: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + } +} + +// Response message for an ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCriterionCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + + // The mutated AdGroupCriterionCustomizer with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_label_service.proto new file mode 100644 index 00000000..66a852f7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/ad_group_criterion_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Criterion Label service. + +// Service to manage labels on ad group criteria. +service AdGroupCriterionLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group criterion labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) returns (MutateAdGroupCriterionLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v11.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +message MutateAdGroupCriterionLabelsRequest { + // Required. ID of the customer whose ad group criterion labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group criterion labels. + repeated AdGroupCriterionLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group criterion label. +message AdGroupCriterionLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v11.resources.AdGroupCriterionLabel create = 1; + + // Remove operation: A resource name for the ad group criterion label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; + } +} + +// Response message for an ad group criterion labels mutate. +message MutateAdGroupCriterionLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionLabelResult results = 2; +} + +// The result for an ad group criterion label mutate. +message MutateAdGroupCriterionLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_service.proto new file mode 100644 index 00000000..dd5d8050 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_criterion_service.proto @@ -0,0 +1,171 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Criterion service. + +// Service to manage ad group criteria. +service AdGroupCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupCriterionError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v11.services.AdGroupCriterionService.MutateAdGroupCriteria]. +message MutateAdGroupCriteriaRequest { + // Required. ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated AdGroupCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group criterion. +message AdGroupCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated google.ads.googleads.v11.common.PolicyViolationKey exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v11.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AdGroupCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + } +} + +// Response message for an ad group criterion mutate. +message MutateAdGroupCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + + // The mutated ad group criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupCriterion ad_group_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_customizer_service.proto new file mode 100644 index 00000000..78a6dc68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AdGroupCustomizer service. + +// Service to manage ad group customizer +service AdGroupCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group customizers. Operation statuses are + // returned. + rpc MutateAdGroupCustomizers(MutateAdGroupCustomizersRequest) returns (MutateAdGroupCustomizersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v11.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +message MutateAdGroupCustomizersRequest { + // Required. The ID of the customer whose ad group customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group customizers. + repeated AdGroupCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // customizer + google.ads.googleads.v11.resources.AdGroupCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group customizer is + // expected, in this format: + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + } +} + +// Response message for an ad group customizer mutate. +message MutateAdGroupCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group customizer mutate. +message MutateAdGroupCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + + // The mutated AdGroupCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupCustomizer ad_group_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_extension_setting_service.proto new file mode 100644 index 00000000..32c7d3ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_extension_setting_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AdGroupExtensionSetting service. + +// Service to manage ad group extension settings. +service AdGroupExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) returns (MutateAdGroupExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v11.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +message MutateAdGroupExtensionSettingsRequest { + // Required. The ID of the customer whose ad group extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group extension + // settings. + repeated AdGroupExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on an ad group extension setting. +message AdGroupExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. + google.ads.googleads.v11.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.AdGroupExtensionSetting update = 2; + + // Remove operation: A resource name for the removed ad group extension + // setting is expected, in this format: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + } +} + +// Response message for an ad group extension setting mutate. +message MutateAdGroupExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupExtensionSettingResult results = 2; +} + +// The result for the ad group extension setting mutate. +message MutateAdGroupExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + + // The mutated AdGroupExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupExtensionSetting ad_group_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_feed_service.proto new file mode 100644 index 00000000..42010bb0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AdGroupFeed service. + +// Service to manage ad group feeds. +service AdGroupFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdGroupFeedError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v11.services.AdGroupFeedService.MutateAdGroupFeeds]. +message MutateAdGroupFeedsRequest { + // Required. The ID of the customer whose ad group feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group feeds. + repeated AdGroupFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group feed. +message AdGroupFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group feed. + google.ads.googleads.v11.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AdGroupFeed update = 2; + + // Remove operation: A resource name for the removed ad group feed is + // expected, in this format: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + } +} + +// Response message for an ad group feed mutate. +message MutateAdGroupFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupFeedResult results = 2; +} + +// The result for the ad group feed mutate. +message MutateAdGroupFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + + // The mutated ad group feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroupFeed ad_group_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_label_service.proto new file mode 100644 index 00000000..1d1c26ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_label_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/ad_group_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group Label service. + +// Service to manage labels on ad groups. +service AdGroupLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) returns (MutateAdGroupLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroupLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v11.services.AdGroupLabelService.MutateAdGroupLabels]. +message MutateAdGroupLabelsRequest { + // Required. ID of the customer whose ad group labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group labels. + repeated AdGroupLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group label. +message AdGroupLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v11.resources.AdGroupLabel create = 1; + + // Remove operation: A resource name for the ad group label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; + } +} + +// Response message for an ad group labels mutate. +message MutateAdGroupLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupLabelResult results = 2; +} + +// The result for an ad group label mutate. +message MutateAdGroupLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_service.proto new file mode 100644 index 00000000..a5917084 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_group_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Group service. + +// Service to manage ad groups. +service AdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad groups. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v11.services.AdGroupService.MutateAdGroups]. +message MutateAdGroupsRequest { + // Required. The ID of the customer whose ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad groups. + repeated AdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group. +message AdGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group. + google.ads.googleads.v11.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v11.resources.AdGroup update = 2; + + // Remove operation: A resource name for the removed ad group is expected, + // in this format: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} + +// Response message for an ad group mutate. +message MutateAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupResult results = 2; +} + +// The result for the ad group mutate. +message MutateAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + + // The mutated ad group with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdGroup ad_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_parameter_service.proto new file mode 100644 index 00000000..4cfab2f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_parameter_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad_parameter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad Parameter service. + +// Service to manage ad parameters. +service AdParameterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad parameters. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdParameterError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdParameters(MutateAdParametersRequest) returns (MutateAdParametersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/adParameters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v11.services.AdParameterService.MutateAdParameters] +message MutateAdParametersRequest { + // Required. The ID of the customer whose ad parameters are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad parameters. + repeated AdParameterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on ad parameter. +message AdParameterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad parameter. + google.ads.googleads.v11.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AdParameter update = 2; + + // Remove operation: A resource name for the ad parameter to remove is + // expected in this format: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + } +} + +// Response message for an ad parameter mutate. +message MutateAdParametersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdParameterResult results = 2; +} + +// The result for the ad parameter mutate. +message MutateAdParameterResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + + // The mutated AdParameter with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AdParameter ad_parameter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/ad_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/ad_service.proto new file mode 100644 index 00000000..ae1b0a7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/ad_service.proto @@ -0,0 +1,186 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/policy.proto"; +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Ad service. + +// Service to manage ads. +service AdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v11.resources.Ad) { + option (google.api.http) = { + get: "/v11/{resource_name=customers/*/ads/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/ads:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdService.GetAd][google.ads.googleads.v11.services.AdService.GetAd]. +message GetAdRequest { + // Required. The resource name of the ad to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + } + ]; +} + +// Request message for [AdService.MutateAds][google.ads.googleads.v11.services.AdService.MutateAds]. +message MutateAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single update operation on an ad. +message AdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // Configuration for how policies are validated. + google.ads.googleads.v11.common.PolicyValidationParameter policy_validation_parameter = 3; + + // The mutate operation. + oneof operation { + // Update operation: The ad is expected to have a valid resource name + // in this format: + // + // `customers/{customer_id}/ads/{ad_id}` + google.ads.googleads.v11.resources.Ad update = 1; + } +} + +// Response message for an ad mutate. +message MutateAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + }]; + + // The mutated ad with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Ad ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_asset_service.proto new file mode 100644 index 00000000..fb3d4bf1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_asset_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/asset_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AssetGroupAsset service. + +// Service to manage asset group asset. +service AssetGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group assets. Operation statuses are + // returned. + rpc MutateAssetGroupAssets(MutateAssetGroupAssetsRequest) returns (MutateAssetGroupAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assetGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v11.services.AssetGroupAssetService.MutateAssetGroupAssets]. +message MutateAssetGroupAssetsRequest { + // Required. The ID of the customer whose asset group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group assets. + repeated AssetGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group asset. +message AssetGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // asset + google.ads.googleads.v11.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset sis expected to have a valid + // resource name. + google.ads.googleads.v11.resources.AssetGroupAsset update = 2; + + // Remove operation: A resource name for the removed asset group asset is + // expected, in this format: + // `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + }]; + } +} + +// Response message for an asset group asset mutate. +message MutateAssetGroupAssetsResponse { + // All results for the mutate. + repeated MutateAssetGroupAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset group asset mutate. +message MutateAssetGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_group_listing_group_filter_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 00000000..aca3a668 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AssetGroupListingGroupFilter service. + +// Service to manage asset group listing group filter. +service AssetGroupListingGroupFilterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group listing group filters. Operation + // statuses are returned. + rpc MutateAssetGroupListingGroupFilters(MutateAssetGroupListingGroupFiltersRequest) returns (MutateAssetGroupListingGroupFiltersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v11.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +// partial_failure is not supported because the tree needs to be validated +// together. +message MutateAssetGroupListingGroupFiltersRequest { + // Required. The ID of the customer whose asset group listing group filters are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group listing group + // filters. + repeated AssetGroupListingGroupFilterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on an asset group listing group filter. +message AssetGroupListingGroupFilterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // listing group filter. + google.ads.googleads.v11.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v11.resources.AssetGroupListingGroupFilter update = 2; + + // Remove operation: A resource name for the removed asset group listing + // group filter is expected, in this format: + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + // An entity can be removed only if it's not referenced by other + // parent_listing_group_id. If multiple entities are being deleted, the + // mutates must be in the correct order. + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + } +} + +// Response message for an asset group listing group filter mutate. +message MutateAssetGroupListingGroupFiltersResponse { + // All results for the mutate. + repeated MutateAssetGroupListingGroupFilterResult results = 1; +} + +// The result for the asset group listing group filter mutate. +message MutateAssetGroupListingGroupFilterResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + + // The mutated AssetGroupListingGroupFilter with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_group_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_service.proto new file mode 100644 index 00000000..7d73ff8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_service.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/asset_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AssetGroup service. + +// Service to manage asset group +service AssetGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset groups. Operation statuses are + // returned. + rpc MutateAssetGroups(MutateAssetGroupsRequest) returns (MutateAssetGroupsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assetGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupService.MutateAssetGroups][google.ads.googleads.v11.services.AssetGroupService.MutateAssetGroups]. +message MutateAssetGroupsRequest { + // Required. The ID of the customer whose asset groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset groups. + repeated AssetGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group. +message AssetGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + google.ads.googleads.v11.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AssetGroup update = 2; + + // Remove operation: A resource name for the removed asset group is + // expected, in this format: + // `customers/{customer_id}/assetGroups/{asset_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + }]; + } +} + +// Response message for an asset group mutate. +message MutateAssetGroupsResponse { + // All results for the mutate. + repeated MutateAssetGroupResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset group mutate. +message MutateAssetGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_group_signal_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_signal_service.proto new file mode 100644 index 00000000..fda7ebc1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_group_signal_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupSignalServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/customers/{customer_id=*}/assetGroupSignals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v11.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.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v11.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.v11.resources.AssetGroupSignal asset_group_signal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_service.proto new file mode 100644 index 00000000..f3ea8d05 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Asset service. + +// Service to manage assets. Asset types can be created with AssetService are +// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be +// created with Ad inline. +service AssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates assets. Operation statuses are returned. + // + // List of thrown errors: + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [YoutubeVideoRegistrationError]() + rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetService.MutateAssets][google.ads.googleads.v11.services.AssetService.MutateAssets] +message MutateAssetsRequest { + // Required. The ID of the customer whose assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual assets. + repeated AssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation to create an asset. Supported asset types are +// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, and LeadFormAsset. TextAsset +// should be created with Ad inline. +message AssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset. + google.ads.googleads.v11.resources.Asset create = 1; + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` + google.ads.googleads.v11.resources.Asset update = 2; + } +} + +// Response message for an asset mutate. +message MutateAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAssetResult results = 2; +} + +// The result for the asset mutate. +message MutateAssetResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + }]; + + // The mutated asset with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Asset asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_set_asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_set_asset_service.proto new file mode 100644 index 00000000..b6ecc1bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_set_asset_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/asset_set_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AssetSetAsset service. + +// Service to manage asset set asset. +service AssetSetAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset set assets. Operation statuses are + // returned. + rpc MutateAssetSetAssets(MutateAssetSetAssetsRequest) returns (MutateAssetSetAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assetSetAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v11.services.AssetSetAssetService.MutateAssetSetAssets]. +message MutateAssetSetAssetsRequest { + // Required. The ID of the customer whose asset set assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset set assets. + repeated AssetSetAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set asset. +message AssetSetAssetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + // asset + google.ads.googleads.v11.resources.AssetSetAsset create = 1; + + // Remove operation: A resource name for the removed asset set asset is + // expected, in this format: + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + } +} + +// Response message for an asset set asset mutate. +message MutateAssetSetAssetsResponse { + // All results for the mutate. + repeated MutateAssetSetAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set asset mutate. +message MutateAssetSetAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + + // The mutated asset set asset with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AssetSetAsset asset_set_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/asset_set_service.proto new file mode 100644 index 00000000..d3a6ddd7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/asset_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the AssetSet service. + +// Service to manage asset set +service AssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset sets. Operation statuses are + // returned. + rpc MutateAssetSets(MutateAssetSetsRequest) returns (MutateAssetSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/assetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetService.MutateAssetSets][google.ads.googleads.v11.services.AssetSetService.MutateAssetSets]. +message MutateAssetSetsRequest { + // Required. The ID of the customer whose asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset sets. + repeated AssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set. +message AssetSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + google.ads.googleads.v11.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.AssetSet update = 2; + + // Remove operation: A resource name for the removed asset set is + // expected, in this format: + // `customers/{customer_id}/assetSets/{asset_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + } +} + +// Response message for an asset set mutate. +message MutateAssetSetsResponse { + // All results for the mutate. + repeated MutateAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set mutate. +message MutateAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + + // The mutated asset set with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.AssetSet asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/audience_insights_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/audience_insights_service.proto new file mode 100644 index 00000000..6eac8685 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/audience_insights_service.proto @@ -0,0 +1,438 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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. +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: "/v11/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: "/v11/customers/{customer_id=*}:searchAudienceInsightsAttributes" + body: "*" + }; + option (google.api.method_signature) = "customer_id,dimensions,query_text"; + } + + // 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: "/v11/customers/{customer_id=*}:generateAudienceCompositionInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience,dimensions"; + } +} + +// Request message for [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v11.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.v11.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.v11.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 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.v11.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.v11.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.v11.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.v11.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension dimensions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A free text query. Attributes matching or related to this string will be + // 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; +} + +// Response message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v11.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesResponse { + // The attributes matching the search query. + repeated AudienceInsightsAttributeMetadata attributes = 1; +} + +// 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.v11.common.AgeRangeInfo age_range = 1; + + // An audience attribute defined by a gender. + google.ads.googleads.v11.common.GenderInfo gender = 2; + + // An audience attribute defiend by a geographic location. + google.ads.googleads.v11.common.LocationInfo location = 3; + + // An Affinity or In-Market audience. + google.ads.googleads.v11.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.v11.common.ParentalStatusInfo parental_status = 8; + + // A household income percentile range. + google.ads.googleads.v11.common.IncomeRangeInfo income_range = 9; + + // A YouTube channel. + google.ads.googleads.v11.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.v11.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.v11.common.LocationInfo sub_country_locations = 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v11.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.v11.common.AgeRangeInfo age_ranges = 4; + + // User interests defining this audience. Affinity and In-Market audiences + // are supported. + repeated google.ads.googleads.v11.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.v11.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; + } +} + +// 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 { + // The national market associated with the lineup. + google.ads.googleads.v11.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; +} + +// 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.v11.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.v11.common.LocationInfo sub_country_locations = 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v11.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.v11.common.AgeRangeInfo age_ranges = 4; + + // Parental status for the audience. If absent, the audience does not + // restrict by parental status. + google.ads.googleads.v11.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.v11.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.v11.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/google-cloud/protos/google/ads/googleads/v11/services/audience_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/audience_service.proto new file mode 100644 index 00000000..f58c8d40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/audience_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/customers/{customer_id=*}/audiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AudienceService.MutateAudiences][google.ads.googleads.v11.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.v11.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.v11.resources.Audience create = 1; + + // Update operation: The audience is expected to have a valid resource + // name. + google.ads.googleads.v11.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.v11.resources.Audience audience = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/batch_job_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/batch_job_service.proto new file mode 100644 index 00000000..b20d9191 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/batch_job_service.proto @@ -0,0 +1,269 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/batch_job.proto"; +import "google/ads/googleads/v11/services/google_ads_service.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the BatchJobService. + +// Service to manage batch jobs. +service BatchJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates a batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateBatchJob(MutateBatchJobRequest) returns (MutateBatchJobResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/batchJobs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns the results of the batch job. The job must be done. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListBatchJobResults(ListBatchJobResultsRequest) returns (ListBatchJobResultsResponse) { + option (google.api.http) = { + get: "/v11/{resource_name=customers/*/batchJobs/*}:listResults" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Runs the batch job. + // + // The Operation.metadata field type is BatchJobMetadata. When finished, the + // long running operation will not contain errors or a response. Instead, use + // ListBatchJobResults to get the results of the job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RunBatchJob(RunBatchJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v11/{resource_name=customers/*/batchJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v11.resources.BatchJob.BatchJobMetadata" + }; + } + + // Add operations to the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc AddBatchJobOperations(AddBatchJobOperationsRequest) returns (AddBatchJobOperationsResponse) { + option (google.api.http) = { + post: "/v11/{resource_name=customers/*/batchJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v11.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobRequest { + // Required. The ID of the customer for which to create a batch job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual batch job. + BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a batch job. +message BatchJobOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new batch job. + google.ads.googleads.v11.resources.BatchJob create = 1; + + // Remove operation: The batch job must not have been run. A resource name + // for the removed batch job is expected, in this format: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string remove = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; + } +} + +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v11.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobResponse { + // The result for the mutate. + MutateBatchJobResult result = 1; +} + +// The result for the batch job mutate. +message MutateBatchJobResult { + // The resource name of the batch job. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; +} + +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v11.services.BatchJobService.RunBatchJob]. +message RunBatchJobRequest { + // Required. The resource name of the BatchJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v11.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsRequest { + // Required. The resource name of the batch job. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // A token used to enforce sequencing. + // + // The first AddBatchJobOperations request for a batch job should not set + // sequence_token. Subsequent requests must set sequence_token to the value of + // next_sequence_token received in the previous AddBatchJobOperations + // response. + string sequence_token = 2; + + // Required. The list of mutates being added. + // + // Operations can use negative integers as temp ids to signify dependencies + // between entities created in this batch job. For example, a customer with + // id = 1234 can create a campaign and an ad group in that same campaign by + // creating a campaign in the first operation with the resource name + // explicitly set to "customers/1234/campaigns/-1", and creating an ad group + // in the second operation with the campaign field also set to + // "customers/1234/campaigns/-1". + repeated MutateOperation mutate_operations = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v11.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsResponse { + // The total number of operations added so far for this batch job. + int64 total_operations = 1; + + // The sequence token to be used when calling AddBatchJobOperations again if + // more operations need to be added. The next AddBatchJobOperations request + // must set the sequence_token field to the value of this field. + string next_sequence_token = 2; +} + +// Request message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v11.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsRequest { + // Required. The resource name of the batch job whose results are being listed. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// Response message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v11.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsResponse { + // The list of rows that matched the query. + repeated BatchJobResult results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// An individual batch job result. +message BatchJobResult { + // Index of the mutate operation. + int64 operation_index = 1; + + // Response for the mutate. + // May be empty if errors occurred. + MutateOperationResponse mutate_operation_response = 2; + + // Details of the errors when processing the operation. + google.rpc.Status status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/bidding_data_exclusion_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/bidding_data_exclusion_service.proto new file mode 100644 index 00000000..e5ddf0ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/bidding_data_exclusion_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/bidding_data_exclusion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to manage bidding data exclusions. +service BiddingDataExclusionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes data exclusions. + // Operation statuses are returned. + rpc MutateBiddingDataExclusions(MutateBiddingDataExclusionsRequest) returns (MutateBiddingDataExclusionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/biddingDataExclusions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v11.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +message MutateBiddingDataExclusionsRequest { + // Required. ID of the customer whose data exclusions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual data exclusions. + repeated BiddingDataExclusionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a data exclusion. +message BiddingDataExclusionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new data + // exclusion. + google.ads.googleads.v11.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.BiddingDataExclusion update = 2; + + // Remove operation: A resource name for the removed data exclusion + // is expected, in this format: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + } +} + +// Response message for data exlusions mutate. +message MutateBiddingDataExclusionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingDataExclusionsResult results = 2; +} + +// The result for the data exclusion mutate. +message MutateBiddingDataExclusionsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + + // The mutated bidding data exclusion with only mutable fields after mutate. + // The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.BiddingDataExclusion bidding_data_exclusion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/bidding_seasonality_adjustment_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 00000000..20e4453a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/bidding_seasonality_adjustment_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to manage bidding seasonality adjustments. +service BiddingSeasonalityAdjustmentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes seasonality adjustments. + // Operation statuses are returned. + rpc MutateBiddingSeasonalityAdjustments(MutateBiddingSeasonalityAdjustmentsRequest) returns (MutateBiddingSeasonalityAdjustmentsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v11.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +message MutateBiddingSeasonalityAdjustmentsRequest { + // Required. ID of the customer whose seasonality adjustments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual seasonality adjustments. + repeated BiddingSeasonalityAdjustmentOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a seasonality adjustment. +message BiddingSeasonalityAdjustmentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new seasonality + // adjustment. + google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment update = 2; + + // Remove operation: A resource name for the removed seasonality adjustment + // is expected, in this format: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + } +} + +// Response message for seasonality adjustments mutate. +message MutateBiddingSeasonalityAdjustmentsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingSeasonalityAdjustmentsResult results = 2; +} + +// The result for the seasonality adjustment mutate. +message MutateBiddingSeasonalityAdjustmentsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + + // The mutated bidding seasonality adjustment with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/bidding_strategy_service.proto new file mode 100644 index 00000000..0e389b93 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/bidding_strategy_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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/bidding_strategy.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Bidding Strategy service. + +// Service to manage bidding strategies. +service BiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes bidding strategies. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/biddingStrategies:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v11.services.BiddingStrategyService.MutateBiddingStrategies]. +message MutateBiddingStrategiesRequest { + // Required. The ID of the customer whose bidding strategies are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual bidding strategies. + repeated BiddingStrategyOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a bidding strategy. +message BiddingStrategyOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new bidding + // strategy. + google.ads.googleads.v11.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.BiddingStrategy update = 2; + + // Remove operation: A resource name for the removed bidding strategy is + // expected, in this format: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + } +} + +// Response message for bidding strategy mutate. +message MutateBiddingStrategiesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingStrategyResult results = 2; +} + +// The result for the bidding strategy mutate. +message MutateBiddingStrategyResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + + // The mutated bidding strategy with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.BiddingStrategy bidding_strategy = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/billing_setup_service.proto new file mode 100644 index 00000000..6e40f615 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/billing_setup_service.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/billing_setup.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the BillingSetup service. + +// A service for designating the business entity responsible for accrued costs. +// +// A billing setup is associated with a payments account. Billing-related +// activity for all billing setups associated with a particular payments account +// will appear on a single invoice generated monthly. +// +// Mutates: +// The REMOVE operation cancels a pending billing setup. +// The CREATE operation creates a new billing setup. +service BillingSetupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a billing setup, or cancels an existing billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BillingSetupError]() + // [DateError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/billingSetups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for billing setup mutate operations. +message MutateBillingSetupRequest { + // Required. Id of the customer to apply the billing setup mutate operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform. + BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a billing setup, which describes the cancellation of an +// existing billing setup. +message BillingSetupOperation { + // Only one of these operations can be set. "Update" operations are not + // supported. + oneof operation { + // Creates a billing setup. No resource name is expected for the new billing + // setup. + google.ads.googleads.v11.resources.BillingSetup create = 2; + + // Resource name of the billing setup to remove. A setup cannot be + // removed unless it is in a pending state or its scheduled start time is in + // the future. The resource name looks like + // `customers/{customer_id}/billingSetups/{billing_id}`. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; + } +} + +// Response message for a billing setup operation. +message MutateBillingSetupResponse { + // A result that identifies the resource affected by the mutate request. + MutateBillingSetupResult result = 1; +} + +// Result for a single billing setup mutate. +message MutateBillingSetupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_service.proto new file mode 100644 index 00000000..8da30003 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_service.proto @@ -0,0 +1,140 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignAsset service. + +// Service to manage campaign assets. +service CampaignAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignAssets(MutateCampaignAssetsRequest) returns (MutateCampaignAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v11.services.CampaignAssetService.MutateCampaignAssets]. +message MutateCampaignAssetsRequest { + // Required. The ID of the customer whose campaign assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign assets. + repeated CampaignAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign asset. +message CampaignAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // asset. + google.ads.googleads.v11.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.CampaignAsset update = 3; + + // Remove operation: A resource name for the removed campaign asset is + // expected, in this format: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + } +} + +// Response message for a campaign asset mutate. +message MutateCampaignAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCampaignAssetResult results = 2; +} + +// The result for the campaign asset mutate. +message MutateCampaignAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + + // The mutated campaign asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignAsset campaign_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_set_service.proto new file mode 100644 index 00000000..985a105b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_asset_set_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignAssetSet service. + +// Service to manage campaign asset set +service CampaignAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign asset sets. Operation statuses are + // returned. + rpc MutateCampaignAssetSets(MutateCampaignAssetSetsRequest) returns (MutateCampaignAssetSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v11.services.CampaignAssetSetService.MutateCampaignAssetSets]. +message MutateCampaignAssetSetsRequest { + // Required. The ID of the customer whose campaign asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign asset sets. + repeated CampaignAssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a campaign asset set. +message CampaignAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign asset + // set. + google.ads.googleads.v11.resources.CampaignAssetSet create = 1; + + // Remove operation: A resource name for the removed campaign asset set is + // expected, in this format: + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + } +} + +// Response message for a campaign asset set mutate. +message MutateCampaignAssetSetsResponse { + // All results for the mutate. + repeated MutateCampaignAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign asset set mutate. +message MutateCampaignAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + + // The mutated campaign asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignAssetSet campaign_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_bid_modifier_service.proto new file mode 100644 index 00000000..3e95bc42 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Bid Modifier service. + +// Service to manage campaign bid modifiers. +service CampaignBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v11.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +message MutateCampaignBidModifiersRequest { + // Required. ID of the customer whose campaign bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign bid modifiers. + repeated CampaignBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a campaign bid modifier. +message CampaignBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign bid + // modifier. + google.ads.googleads.v11.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CampaignBidModifier update = 2; + + // Remove operation: A resource name for the removed campaign bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + } +} + +// Response message for campaign bid modifiers mutate. +message MutateCampaignBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + + // The mutated campaign bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignBidModifier campaign_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_budget_service.proto new file mode 100644 index 00000000..a3540cd6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_budget_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_budget.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Budget service. + +// Service to manage campaign budgets. +service CampaignBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign budgets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignBudgetError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignBudgets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v11.services.CampaignBudgetService.MutateCampaignBudgets]. +message MutateCampaignBudgetsRequest { + // Required. The ID of the customer whose campaign budgets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign budgets. + repeated CampaignBudgetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign budget. +message CampaignBudgetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new budget. + google.ads.googleads.v11.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CampaignBudget update = 2; + + // Remove operation: A resource name for the removed budget is expected, in + // this format: + // + // `customers/{customer_id}/campaignBudgets/{budget_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + } +} + +// Response message for campaign budget mutate. +message MutateCampaignBudgetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBudgetResult results = 2; +} + +// The result for the campaign budget mutate. +message MutateCampaignBudgetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + + // The mutated campaign budget with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignBudget campaign_budget = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_conversion_goal_service.proto new file mode 100644 index 00000000..6e1437be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/campaign_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignConversionGoal service. + +// Service to manage campaign conversion goal. +service CampaignConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign conversion goals. Operation statuses + // are returned. + rpc MutateCampaignConversionGoals(MutateCampaignConversionGoalsRequest) returns (MutateCampaignConversionGoalsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v11.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +message MutateCampaignConversionGoalsRequest { + // Required. The ID of the customer whose campaign conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign conversion goal. + repeated CampaignConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a campaign conversion goal. +message CampaignConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.CampaignConversionGoal update = 1; + } +} + +// Response message for a campaign conversion goal mutate. +message MutateCampaignConversionGoalsResponse { + // All results for the mutate. + repeated MutateCampaignConversionGoalResult results = 1; +} + +// The result for the campaign conversion goal mutate. +message MutateCampaignConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_criterion_service.proto new file mode 100644 index 00000000..0751be3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_criterion_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Criterion service. + +// Service to manage campaign criteria. +service CampaignCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignCriterionError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v11.services.CampaignCriterionService.MutateCampaignCriteria]. +message MutateCampaignCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CampaignCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign criterion. +message CampaignCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v11.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.CampaignCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + } +} + +// Response message for campaign criterion mutate. +message MutateCampaignCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + + // The mutated campaign criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignCriterion campaign_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_customizer_service.proto new file mode 100644 index 00000000..19ad4803 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignCustomizer service. + +// Service to manage campaign customizer +service CampaignCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign customizers. Operation statuses are + // returned. + rpc MutateCampaignCustomizers(MutateCampaignCustomizersRequest) returns (MutateCampaignCustomizersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v11.services.CampaignCustomizerService.MutateCampaignCustomizers]. +message MutateCampaignCustomizersRequest { + // Required. The ID of the customer whose campaign customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign customizers. + repeated CampaignCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CampaignCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // customizer + google.ads.googleads.v11.resources.CampaignCustomizer create = 1; + + // Remove operation: A resource name for the removed campaign customizer is + // expected, in this format: + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + } +} + +// Response message for an campaign customizer mutate. +message MutateCampaignCustomizersResponse { + // All results for the mutate. + repeated MutateCampaignCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign customizer mutate. +message MutateCampaignCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + + // The mutated CampaignCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignCustomizer campaign_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_draft_service.proto new file mode 100644 index 00000000..a85ab966 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_draft_service.proto @@ -0,0 +1,236 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_draft.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Draft service. + +// Service to manage campaign drafts. +service CampaignDraftService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign drafts. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignDrafts:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Promotes the changes in a draft back to the base campaign. + // + // This method returns a Long Running Operation (LRO) indicating if the + // Promote is done. Use [Operations.GetOperation] to poll the LRO until it + // is done. Only a done status is returned in the response. See the status + // in the Campaign Draft resource to determine if the promotion was + // successful. If the LRO failed, use + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v11.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of + // error reasons. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v11/{campaign_draft=customers/*/campaignDrafts/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_draft"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Returns all errors that occurred during CampaignDraft promote. Throws an + // error if called before campaign draft is promoted. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v11/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v11.services.CampaignDraftService.MutateCampaignDrafts]. +message MutateCampaignDraftsRequest { + // Required. The ID of the customer whose campaign drafts are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign drafts. + repeated CampaignDraftOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v11.services.CampaignDraftService.PromoteCampaignDraft]. +message PromoteCampaignDraftRequest { + // Required. The resource name of the campaign draft to promote. + string campaign_draft = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// A single operation (create, update, remove) on a campaign draft. +message CampaignDraftOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // draft. + google.ads.googleads.v11.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CampaignDraft update = 2; + + // Remove operation: The campaign draft is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + } +} + +// Response message for campaign draft mutate. +message MutateCampaignDraftsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignDraftResult results = 2; +} + +// The result for the campaign draft mutate. +message MutateCampaignDraftResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + + // The mutated campaign draft with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v11.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsRequest { + // Required. The name of the campaign draft from which to retrieve the async errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v11.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsResponse { + // Details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_experiment_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_experiment_service.proto new file mode 100644 index 00000000..2295e8f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_experiment_service.proto @@ -0,0 +1,374 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Experiment service. + +// CampaignExperimentService manages the life cycle of campaign experiments. +// It is used to create new experiments from drafts, modify experiment +// properties, promote changes in an experiment back to its base campaign, +// graduate experiments into new stand-alone campaigns, and to remove an +// experiment. +// +// An experiment consists of two variants or arms - the base campaign and the +// experiment campaign, directing a fixed share of traffic to each arm. +// A campaign experiment is created from a draft of changes to the base campaign +// and will be a snapshot of changes in the draft at the time of creation. +service CampaignExperimentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a campaign experiment based on a campaign draft. The draft campaign + // will be forked into a real campaign (called the experiment campaign) that + // will begin serving ads if successfully created. + // + // The campaign experiment is created immediately with status INITIALIZING. + // This method return a long running operation that tracks the forking of the + // draft campaign. If the forking fails, a list of errors can be retrieved + // using the ListCampaignExperimentAsyncErrors method. The operation's + // metadata will be a StringValue containing the resource name of the created + // campaign experiment. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignExperiments:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v11.services.CreateCampaignExperimentMetadata" + }; + } + + // Updates campaign experiments. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignExperiments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Graduates a campaign experiment to a full campaign. The base and experiment + // campaigns will start running independently with their own budgets. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse) { + option (google.api.http) = { + post: "/v11/{campaign_experiment=customers/*/campaignExperiments/*}:graduate" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment,campaign_budget"; + } + + // Promotes the changes in a experiment campaign back to the base campaign. + // + // The campaign experiment is updated immediately with status PROMOTING. + // This method return a long running operation that tracks the promoting of + // the experiment campaign. If the promoting fails, a list of errors can be + // retrieved using the ListCampaignExperimentAsyncErrors method. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v11/{campaign_experiment=customers/*/campaignExperiments/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Immediately ends a campaign 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]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v11/{campaign_experiment=customers/*/campaignExperiments/*}:end" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + } + + // Returns all errors that occurred during CampaignExperiment create or + // promote (whichever occurred last). + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v11/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignExperimentService.MutateCampaignExperiments][google.ads.googleads.v11.services.CampaignExperimentService.MutateCampaignExperiments]. +message MutateCampaignExperimentsRequest { + // Required. The ID of the customer whose campaign experiments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign experiments. + repeated CampaignExperimentOperation 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.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single update operation on a campaign experiment. +message CampaignExperimentOperation { + // 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 campaign experiment is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CampaignExperiment update = 1; + + // Remove operation: The campaign experiment is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + }]; + } +} + +// Response message for campaign experiment mutate. +message MutateCampaignExperimentsResponse { + // 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 MutateCampaignExperimentResult results = 2; +} + +// The result for the campaign experiment mutate. +message MutateCampaignExperimentResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + }]; + + // The mutated campaign experiment with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignExperiment campaign_experiment = 2; +} + +// Request message for [CampaignExperimentService.CreateCampaignExperiment][google.ads.googleads.v11.services.CampaignExperimentService.CreateCampaignExperiment]. +message CreateCampaignExperimentRequest { + // Required. The ID of the customer whose campaign experiment is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The campaign experiment to be created. + google.ads.googleads.v11.resources.CampaignExperiment campaign_experiment = 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; +} + +// Message used as metadata returned in Long Running Operations for +// CreateCampaignExperimentRequest +message CreateCampaignExperimentMetadata { + // Resource name of campaign experiment created. + string campaign_experiment = 1; +} + +// Request message for [CampaignExperimentService.GraduateCampaignExperiment][google.ads.googleads.v11.services.CampaignExperimentService.GraduateCampaignExperiment]. +message GraduateCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to graduate. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // Required. Resource name of the budget to attach to the campaign graduated from the + // experiment. + string campaign_budget = 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; +} + +// Response message for campaign experiment graduate. +message GraduateCampaignExperimentResponse { + // The resource name of the campaign from the graduated experiment. + // This campaign is the same one as CampaignExperiment.experiment_campaign. + string graduated_campaign = 1; +} + +// Request message for [CampaignExperimentService.PromoteCampaignExperiment][google.ads.googleads.v11.services.CampaignExperimentService.PromoteCampaignExperiment]. +message PromoteCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to promote. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// Request message for [CampaignExperimentService.EndCampaignExperiment][google.ads.googleads.v11.services.CampaignExperimentService.EndCampaignExperiment]. +message EndCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to end. + string campaign_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v11.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsRequest { + // Required. The name of the campaign 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/CampaignExperiment" + } + ]; + + // 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 +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v11.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsResponse { + // 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/google-cloud/protos/google/ads/googleads/v11/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_extension_setting_service.proto new file mode 100644 index 00000000..8cdf8fc2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_extension_setting_service.proto @@ -0,0 +1,158 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignExtensionSetting service. + +// Service to manage campaign extension settings. +service CampaignExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) returns (MutateCampaignExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v11.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +message MutateCampaignExtensionSettingsRequest { + // Required. The ID of the customer whose campaign extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign extension + // settings. + repeated CampaignExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign extension setting. +message CampaignExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // extension setting. + google.ads.googleads.v11.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.CampaignExtensionSetting update = 2; + + // Remove operation: A resource name for the removed campaign extension + // setting is expected, in this format: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + } +} + +// Response message for a campaign extension setting mutate. +message MutateCampaignExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignExtensionSettingResult results = 2; +} + +// The result for the campaign extension setting mutate. +message MutateCampaignExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + + // The mutated campaign extension setting with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignExtensionSetting campaign_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_feed_service.proto new file mode 100644 index 00000000..2ea76f0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CampaignFeed service. + +// Service to manage campaign feeds. +service CampaignFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignFeedError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v11.services.CampaignFeedService.MutateCampaignFeeds]. +message MutateCampaignFeedsRequest { + // Required. The ID of the customer whose campaign feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign feeds. + repeated CampaignFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign feed. +message CampaignFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign feed. + google.ads.googleads.v11.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.CampaignFeed update = 2; + + // Remove operation: A resource name for the removed campaign feed is + // expected, in this format: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + } +} + +// Response message for a campaign feed mutate. +message MutateCampaignFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignFeedResult results = 2; +} + +// The result for the campaign feed mutate. +message MutateCampaignFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + + // The mutated campaign feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignFeed campaign_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_group_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_group_service.proto new file mode 100644 index 00000000..f32c54fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_group_service.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/customers/{customer_id=*}/campaignGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v11.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.v11.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.v11.resources.CampaignGroup create = 1; + + // Update operation: The campaign group is expected to have a valid + // resource name. + google.ads.googleads.v11.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.v11.resources.CampaignGroup campaign_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_label_service.proto new file mode 100644 index 00000000..b905bd31 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_label_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/campaign_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Label service. + +// Service to manage labels on campaigns. +service CampaignLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes campaign-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignLabels(MutateCampaignLabelsRequest) returns (MutateCampaignLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v11.services.CampaignLabelService.MutateCampaignLabels]. +message MutateCampaignLabelsRequest { + // Required. ID of the customer whose campaign-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on campaign-label relationships. + repeated CampaignLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a campaign-label relationship. +message CampaignLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign-label + // relationship. + google.ads.googleads.v11.resources.CampaignLabel create = 1; + + // Remove operation: A resource name for the campaign-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; + } +} + +// Response message for a campaign labels mutate. +message MutateCampaignLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignLabelResult results = 2; +} + +// The result for a campaign label mutate. +message MutateCampaignLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_service.proto new file mode 100644 index 00000000..185a36fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign service. + +// Service to manage campaigns. +service CampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaigns. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CampaignBudgetError]() + // [CampaignError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v11.services.CampaignService.MutateCampaigns]. +message MutateCampaignsRequest { + // Required. The ID of the customer whose campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaigns. + repeated CampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign. +message CampaignOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign. + google.ads.googleads.v11.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.Campaign update = 2; + + // Remove operation: A resource name for the removed campaign is + // expected, in this format: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + } +} + +// Response message for campaign mutate. +message MutateCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignResult results = 2; +} + +// The result for the campaign mutate. +message MutateCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The mutated campaign with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Campaign campaign = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/campaign_shared_set_service.proto new file mode 100644 index 00000000..f84357d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/campaign_shared_set_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/campaign_shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Campaign Shared Set service. + +// Service to manage campaign shared sets. +service CampaignSharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes campaign shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignSharedSetError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/campaignSharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v11.services.CampaignSharedSetService.MutateCampaignSharedSets]. +message MutateCampaignSharedSetsRequest { + // Required. The ID of the customer whose campaign shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign shared sets. + repeated CampaignSharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an campaign shared set. +message CampaignSharedSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // shared set. + google.ads.googleads.v11.resources.CampaignSharedSet create = 1; + + // Remove operation: A resource name for the removed campaign shared set is + // expected, in this format: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + } +} + +// Response message for a campaign shared set mutate. +message MutateCampaignSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignSharedSetResult results = 2; +} + +// The result for the campaign shared set mutate. +message MutateCampaignSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + + // The mutated campaign shared set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CampaignSharedSet campaign_shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_action_service.proto new file mode 100644 index 00000000..cce5e752 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_action_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/conversion_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Conversion Action service. + +// Service to manage conversion actions. +service ConversionActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion actions. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/conversionActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v11.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsRequest { + // Required. The ID of the customer whose conversion actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion actions. + repeated ConversionActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a conversion action. +message ConversionActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // action. + google.ads.googleads.v11.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.ConversionAction update = 2; + + // Remove operation: A resource name for the removed conversion action is + // expected, in this format: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } +} + +// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v11.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateConversionActionResult results = 2; +} + +// The result for the conversion action mutate. +message MutateConversionActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The mutated conversion action with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ConversionAction conversion_action = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_adjustment_upload_service.proto new file mode 100644 index 00000000..7fa37cda --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/offline_user_data.proto"; +import "google/ads/googleads/v11/enums/conversion_adjustment_type.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to upload conversion adjustments. +service ConversionAdjustmentUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given conversion adjustments. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) returns (UploadConversionAdjustmentsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:uploadConversionAdjustments" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v11.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversion adjustments that are being uploaded. + repeated ConversionAdjustment conversion_adjustments = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried out + // in one transaction if and only if they are all valid. This should always be + // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v11.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsResponse { + // Errors that pertain to conversion adjustment failures in the partial + // failure mode. Returned when all errors occur inside the adjustments. If any + // errors occur outside the adjustments (for example, auth errors), we return + // an RPC level error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversion adjustments. Proto will be + // empty for rows that received an error. Results are not returned when + // validate_only is true. + repeated ConversionAdjustmentResult results = 2; +} + +// A conversion adjustment. +message ConversionAdjustment { + // For adjustments, uniquely identifies a conversion that was reported + // without an order ID specified. If the adjustment_type is ENHANCEMENT, this + // value is optional but may be set in addition to the order_id. + GclidDateTimePair gclid_date_time_pair = 12; + + // The order ID of the conversion to be adjusted. If the conversion was + // reported with an order ID specified, that order ID must be used as the + // identifier here. The order ID is required for enhancements. + optional string order_id = 13; + + // Resource name of the conversion action associated with this conversion + // adjustment. Note: Although this resource name consists of a customer id and + // a conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 8; + + // The date time at which the adjustment occurred. Must be after the + // conversion_date_time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 9; + + // The adjustment type. + google.ads.googleads.v11.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; + + // Information needed to restate the conversion's value. + // Required for restatements. Should not be supplied for retractions. An error + // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + RestatementValue restatement_value = 6; + + // The user identifiers to enhance the original conversion. + // ConversionAdjustmentUploadService only accepts user identifiers in + // enhancements. The maximum number of user identifiers for each + // enhancement is 5. + repeated google.ads.googleads.v11.common.UserIdentifier user_identifiers = 10; + + // The user agent to enhance the original conversion. This can be found in + // your user's HTTP request header when they convert on your web page. + // Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User + // agent can only be specified in enhancements with user identifiers. This + // should match the user agent of the request that sent the original + // conversion so the conversion and its enhancement are either both attributed + // as same-device or both attributed as cross-device. + optional string user_agent = 11; +} + +// Contains information needed to restate a conversion's value. +message RestatementValue { + // The restated conversion value. This is the value of the conversion after + // restatement. For example, to change the value of a conversion from 100 to + // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + optional double adjusted_value = 3; + + // The currency of the restated value. If not provided, then the default + // currency from the conversion action is used, and if that is not set then + // the account currency is used. This is the ISO 4217 3-character currency + // code for example, USD or EUR. + optional string currency_code = 4; +} + +// Uniquely identifies a conversion that was reported without an order ID +// specified. +message GclidDateTimePair { + // Google click ID (gclid) associated with the original conversion for this + // adjustment. + optional string gclid = 3; + + // The date time at which the original conversion for this adjustment + // occurred. The timezone must be specified. The format is "yyyy-mm-dd + // hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 4; +} + +// Information identifying a successfully processed ConversionAdjustment. +message ConversionAdjustmentResult { + // The gclid and conversion date time of the conversion. + GclidDateTimePair gclid_date_time_pair = 9; + + // The order ID of the conversion to be adjusted. + string order_id = 10; + + // Resource name of the conversion action associated with this conversion + // adjustment. + optional string conversion_action = 7; + + // The date time at which the adjustment occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 8; + + // The adjustment type. + google.ads.googleads.v11.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_custom_variable_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_custom_variable_service.proto new file mode 100644 index 00000000..d0197c2b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_custom_variable_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/conversion_custom_variable.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Conversion Custom Variable service. + +// Service to manage conversion custom variables. +service ConversionCustomVariableService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates conversion custom variables. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionCustomVariableError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateConversionCustomVariables(MutateConversionCustomVariablesRequest) returns (MutateConversionCustomVariablesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/conversionCustomVariables:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v11.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesRequest { + // Required. The ID of the customer whose conversion custom variables are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion custom + // variables. + repeated ConversionCustomVariableOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update) on a conversion custom variable. +message ConversionCustomVariableOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // custom variable. + google.ads.googleads.v11.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.ConversionCustomVariable update = 2; + } +} + +// Response message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v11.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateConversionCustomVariableResult results = 2; +} + +// The result for the conversion custom variable mutate. +message MutateConversionCustomVariableResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The mutated conversion custom variable with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ConversionCustomVariable conversion_custom_variable = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_goal_campaign_config_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 00000000..fb1084ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,103 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the ConversionGoalCampaignConfig service. + +// Service to manage conversion goal campaign config. +service ConversionGoalCampaignConfigService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion goal campaign config. Operation + // statuses are returned. + rpc MutateConversionGoalCampaignConfigs(MutateConversionGoalCampaignConfigsRequest) returns (MutateConversionGoalCampaignConfigsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfig][]. +message MutateConversionGoalCampaignConfigsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion goal campaign + // config. + repeated ConversionGoalCampaignConfigOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (update) on a conversion goal campaign config. +message ConversionGoalCampaignConfigOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The conversion goal campaign config is expected to have + // a valid resource name. + google.ads.googleads.v11.resources.ConversionGoalCampaignConfig update = 1; + } +} + +// Response message for a conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigsResponse { + // All results for the mutate. + repeated MutateConversionGoalCampaignConfigResult results = 1; +} + +// The result for the conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + }]; + + // The mutated ConversionGoalCampaignConfig with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_upload_service.proto new file mode 100644 index 00000000..bad4f9f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_upload_service.proto @@ -0,0 +1,347 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/offline_user_data.proto"; +import "google/ads/googleads/v11/enums/conversion_environment_enum.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to upload conversions. +service ConversionUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given click conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionUploadError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadClickConversions(UploadClickConversionsRequest) returns (UploadClickConversionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:uploadClickConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } + + // Processes the given call conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadCallConversions(UploadCallConversionsRequest) returns (UploadCallConversionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:uploadCallConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } +} + +// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v11.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated ClickConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v11.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated ClickConversionResult results = 2; +} + +// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v11.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated CallConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v11.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated CallConversionResult results = 2; +} + +// A click conversion. +message ClickConversion { + // The Google click ID (gclid) associated with this conversion. + optional string gclid = 9; + + // The click identifier for clicks associated with app conversions and + // originating from iOS devices starting with iOS14. + string gbraid = 18; + + // The click identifier for clicks associated with web conversions and + // originating from iOS devices starting with iOS14. + string wbraid = 19; + + // Resource name of the conversion action associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 10; + + // The date time at which the conversion occurred. Must be after + // the click time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 11; + + // The value of the conversion for the advertiser. + optional double conversion_value = 12; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 13; + + // The order ID associated with the conversion. An order id can only be used + // for one conversion per conversion action. + optional string order_id = 14; + + // Additional data about externally attributed conversions. This field + // is required for conversions with an externally attributed conversion + // action, but should not be set otherwise. + ExternalAttributionData external_attribution_data = 7; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 15; + + // The cart data associated with this conversion. + CartData cart_data = 16; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v11.common.UserIdentifier user_identifiers = 17; + + // The environment this conversion was recorded on, for example, App or Web. + google.ads.googleads.v11.enums.ConversionEnvironmentEnum.ConversionEnvironment conversion_environment = 20; +} + +// 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. + repeated google.ads.googleads.v11.common.UserIdentifier user_identifiers = 7; +} + +// Identifying information for a successfully processed CallConversionUpload. +message CallConversionResult { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign. + optional string caller_id = 5; + + // The date time at which the call occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string call_start_date_time = 6; + + // Resource name of the conversion action associated with this conversion. + optional string conversion_action = 7; + + // The date time at which the conversion occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 8; +} + +// A custom variable. +message CustomVariable { + // Resource name of the custom variable associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion custom variable id, validation will ignore the customer id and + // use the conversion custom variable id as the sole identifier of the + // conversion custom variable. + string conversion_custom_variable = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The value string of this custom variable. + // The value of the custom variable should not contain private customer data, + // such as email addresses or phone numbers. + string value = 2; +} + +// Contains additional information about cart data. +message CartData { + // Contains data of the items purchased. + message Item { + // The shopping id of the item. Must be equal to the Merchant Center product + // identifier. + string product_id = 1; + + // Number of items sold. + int32 quantity = 2; + + // Unit price excluding tax, shipping, and any transaction + // level discounts. The currency code is the same as that in the + // ClickConversion message. + double unit_price = 3; + } + + // The Merchant Center ID where the items are uploaded. + int64 merchant_id = 6; + + // The country code associated with the feed where the items are uploaded. + string feed_country_code = 2; + + // The language code associated with the feed where the items are uploaded. + string feed_language_code = 3; + + // Sum of all transaction level discounts, such as free shipping and + // coupon discounts for the whole cart. The currency code is the same + // as that in the ClickConversion message. + double local_transaction_cost = 4; + + // Data of the items purchased. + repeated Item items = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_service.proto new file mode 100644 index 00000000..a4fac317 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/conversion_value_rule.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Conversion Value Rule service. + +// Service to manage conversion value rules. +service ConversionValueRuleService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes conversion value rules. Operation statuses are + // returned. + rpc MutateConversionValueRules(MutateConversionValueRulesRequest) returns (MutateConversionValueRulesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/conversionValueRules:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v11.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesRequest { + // Required. The ID of the customer whose conversion value rules are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rules. + repeated ConversionValueRuleOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule. +message ConversionValueRuleOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule. + google.ads.googleads.v11.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.ConversionValueRule update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // is expected, in this format: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + } +} + +// Response message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v11.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesResponse { + // All results for the mutate. + repeated MutateConversionValueRuleResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; +} + +// The result for the conversion value rule mutate. +message MutateConversionValueRuleResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // The mutated conversion value rule with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ConversionValueRule conversion_value_rule = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_set_service.proto new file mode 100644 index 00000000..1f888dbb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/conversion_value_rule_set_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/conversion_value_rule_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Conversion Value Rule Set service. + +// Service to manage conversion value rule sets. +service ConversionValueRuleSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion value rule sets. Operation statuses + // are returned. + rpc MutateConversionValueRuleSets(MutateConversionValueRuleSetsRequest) returns (MutateConversionValueRuleSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/conversionValueRuleSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v11.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsRequest { + // Required. The ID of the customer whose conversion value rule sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rule sets. + repeated ConversionValueRuleSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule set. +message ConversionValueRuleSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule set. + google.ads.googleads.v11.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.ConversionValueRuleSet update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // set is expected, in this format: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + } +} + +// Response message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v11.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsResponse { + // All results for the mutate. + repeated MutateConversionValueRuleSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the conversion value rule set mutate. +message MutateConversionValueRuleSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + + // The mutated conversion value rule set with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ConversionValueRuleSet conversion_value_rule_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/custom_audience_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/custom_audience_service.proto new file mode 100644 index 00000000..ac9ba1a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/custom_audience_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/custom_audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Custom Audience service. + +// Service to manage custom audiences. +service CustomAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomAudienceError]() + // [CustomInterestError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OperationAccessDeniedError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomAudiences(MutateCustomAudiencesRequest) returns (MutateCustomAudiencesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customAudiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v11.services.CustomAudienceService.MutateCustomAudiences]. +message MutateCustomAudiencesRequest { + // Required. The ID of the customer whose custom audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom audiences. + repeated CustomAudienceOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a custom audience. +message CustomAudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // audience. + google.ads.googleads.v11.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CustomAudience update = 2; + + // Remove operation: A resource name for the removed custom audience is + // expected, in this format: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; + } +} + +// Response message for custom audience mutate. +message MutateCustomAudiencesResponse { + // All results for the mutate. + repeated MutateCustomAudienceResult results = 1; +} + +// The result for the custom audience mutate. +message MutateCustomAudienceResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/custom_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/custom_conversion_goal_service.proto new file mode 100644 index 00000000..64809abc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/custom_conversion_goal_service.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/custom_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomConversionGoal service. + +// Service to manage custom conversion goal. +service CustomConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes custom conversion goals. Operation statuses + // are returned. + rpc MutateCustomConversionGoals(MutateCustomConversionGoalsRequest) returns (MutateCustomConversionGoalsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v11.services.CustomConversionGoalService.MutateCustomConversionGoals]. +message MutateCustomConversionGoalsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom conversion goal. + repeated CustomConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on a custom conversion goal. +message CustomConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // conversion goal + google.ads.googleads.v11.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.CustomConversionGoal update = 2; + + // Remove operation: A resource name for the removed custom conversion goal + // is expected, in this format: + // + // 'customers/{customer_id}/conversionActions/{ConversionGoal.custom_goal_config.conversion_type_ids}' + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + } +} + +// Response message for a custom conversion goal mutate. +message MutateCustomConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomConversionGoalResult results = 1; +} + +// The result for the custom conversion goal mutate. +message MutateCustomConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + + // The mutated CustomConversionGoal with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomConversionGoal custom_conversion_goal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/custom_interest_service.proto new file mode 100644 index 00000000..b497de7d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/custom_interest_service.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/custom_interest.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Custom Interest service. + +// Service to manage custom interests. +service CustomInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom interests. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [CustomInterestError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateCustomInterests(MutateCustomInterestsRequest) returns (MutateCustomInterestsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customInterests:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v11.services.CustomInterestService.MutateCustomInterests]. +message MutateCustomInterestsRequest { + // Required. The ID of the customer whose custom interests are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom interests. + repeated CustomInterestOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a custom interest. +message CustomInterestOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // interest. + google.ads.googleads.v11.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CustomInterest update = 2; + } +} + +// Response message for custom interest mutate. +message MutateCustomInterestsResponse { + // All results for the mutate. + repeated MutateCustomInterestResult results = 2; +} + +// The result for the custom interest mutate. +message MutateCustomInterestResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_asset_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_asset_service.proto new file mode 100644 index 00000000..db29fb8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_asset_service.proto @@ -0,0 +1,137 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerAsset service. + +// Service to manage customer assets. +service CustomerAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerAssets(MutateCustomerAssetsRequest) returns (MutateCustomerAssetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v11.services.CustomerAssetService.MutateCustomerAssets]. +message MutateCustomerAssetsRequest { + // Required. The ID of the customer whose customer assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer assets. + repeated CustomerAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer asset. +message CustomerAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // asset. + google.ads.googleads.v11.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.CustomerAsset update = 3; + + // Remove operation: A resource name for the removed customer asset is + // expected, in this format: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + } +} + +// Response message for a customer asset mutate. +message MutateCustomerAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCustomerAssetResult results = 2; +} + +// The result for the customer asset mutate. +message MutateCustomerAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + + // The mutated customer asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomerAsset customer_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_client_link_service.proto new file mode 100644 index 00000000..e5ac1dee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_client_link_service.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_client_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to manage customer client links. +service CustomerClientLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates a customer client link. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) returns (MutateCustomerClientLinkResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerClientLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v11.services.CustomerClientLinkService.MutateCustomerClientLink]. +message MutateCustomerClientLinkRequest { + // Required. The ID of the customer whose customer link are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the individual CustomerClientLink. + CustomerClientLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a CustomerClientLink. +message CustomerClientLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new link. + google.ads.googleads.v11.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v11.resources.CustomerClientLink update = 2; + } +} + +// Response message for a CustomerClientLink mutate. +message MutateCustomerClientLinkResponse { + // A result that identifies the resource affected by the mutate request. + MutateCustomerClientLinkResult result = 1; +} + +// The result for a single customer client link mutate. +message MutateCustomerClientLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_conversion_goal_service.proto new file mode 100644 index 00000000..6f710ed9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerConversionGoal service. + +// Service to manage customer conversion goal. +service CustomerConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer conversion goals. Operation statuses + // are returned. + rpc MutateCustomerConversionGoals(MutateCustomerConversionGoalsRequest) returns (MutateCustomerConversionGoalsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v11.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +message MutateCustomerConversionGoalsRequest { + // Required. The ID of the customer whose customer conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer conversion goal. + repeated CustomerConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a customer conversion goal. +message CustomerConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.CustomerConversionGoal update = 1; + } +} + +// Response message for a customer conversion goal mutate. +message MutateCustomerConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomerConversionGoalResult results = 1; +} + +// The result for the customer conversion goal mutate. +message MutateCustomerConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_customizer_service.proto new file mode 100644 index 00000000..d4373e63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerCustomizer service. + +// Service to manage customer customizer +service CustomerCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer customizers. Operation statuses are + // returned. + rpc MutateCustomerCustomizers(MutateCustomerCustomizersRequest) returns (MutateCustomerCustomizersResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/CustomerCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v11.services.CustomerCustomizerService.MutateCustomerCustomizers]. +message MutateCustomerCustomizersRequest { + // Required. The ID of the customer whose customer customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer customizers. + repeated CustomerCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomerCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // customizer + google.ads.googleads.v11.resources.CustomerCustomizer create = 1; + + // Remove operation: A resource name for the removed customer customizer is + // expected, in this format: + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + } +} + +// Response message for an customizer attribute mutate. +message MutateCustomerCustomizersResponse { + // All results for the mutate. + repeated MutateCustomerCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomerCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + + // The mutated CustomerCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomerCustomizer customer_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_extension_setting_service.proto new file mode 100644 index 00000000..ee4d3027 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_extension_setting_service.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerExtensionSetting service. + +// Service to manage customer extension settings. +service CustomerExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) returns (MutateCustomerExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v11.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +message MutateCustomerExtensionSettingsRequest { + // Required. The ID of the customer whose customer extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer extension + // settings. + repeated CustomerExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer extension setting. +message CustomerExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // extension setting. + google.ads.googleads.v11.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.CustomerExtensionSetting update = 2; + + // Remove operation: A resource name for the removed customer extension + // setting is expected, in this format: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + } +} + +// Response message for a customer extension setting mutate. +message MutateCustomerExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerExtensionSettingResult results = 2; +} + +// The result for the customer extension setting mutate. +message MutateCustomerExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + + // The mutated CustomerExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomerExtensionSetting customer_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_feed_service.proto new file mode 100644 index 00000000..84351ea6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerFeed service. + +// Service to manage customer feeds. +service CustomerFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v11.services.CustomerFeedService.MutateCustomerFeeds]. +message MutateCustomerFeedsRequest { + // Required. The ID of the customer whose customer feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer feeds. + repeated CustomerFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer feed. +message CustomerFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer feed. + google.ads.googleads.v11.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.CustomerFeed update = 2; + + // Remove operation: A resource name for the removed customer feed is + // expected, in this format: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + } +} + +// Response message for a customer feed mutate. +message MutateCustomerFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerFeedResult results = 2; +} + +// The result for the customer feed mutate. +message MutateCustomerFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + + // The mutated customer feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomerFeed customer_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_label_service.proto new file mode 100644 index 00000000..246831b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Customer Label service. + +// Service to manage labels on customers. +service CustomerLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes customer-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerLabels(MutateCustomerLabelsRequest) returns (MutateCustomerLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v11.services.CustomerLabelService.MutateCustomerLabels]. +message MutateCustomerLabelsRequest { + // Required. ID of the customer whose customer-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on customer-label relationships. + repeated CustomerLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a customer-label relationship. +message CustomerLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer-label + // relationship. + google.ads.googleads.v11.resources.CustomerLabel create = 1; + + // Remove operation: A resource name for the customer-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/customerLabels/{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; + } +} + +// Response message for a customer labels mutate. +message MutateCustomerLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerLabelResult results = 2; +} + +// The result for a customer label mutate. +message MutateCustomerLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_manager_link_service.proto new file mode 100644 index 00000000..f11567a5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_manager_link_service.proto @@ -0,0 +1,157 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_manager_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to manage customer-manager links. +service CustomerManagerLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates customer manager links. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) returns (MutateCustomerManagerLinkResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerManagerLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Moves a client customer to a new manager customer. + // This simplifies the complex request that requires two operations to move + // a client customer to a new manager, for example: + // 1. Update operation with Status INACTIVE (previous manager) and, + // 2. Update operation with Status ACTIVE (new manager). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MoveManagerLink(MoveManagerLinkRequest) returns (MoveManagerLinkResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + body: "*" + }; + option (google.api.method_signature) = "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v11.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +message MutateCustomerManagerLinkRequest { + // Required. The ID of the customer whose customer manager links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer manager links. + repeated CustomerManagerLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Request message for [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v11.services.CustomerManagerLinkService.MoveManagerLink]. +message MoveManagerLinkRequest { + // Required. The ID of the client customer that is being moved. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the previous CustomerManagerLink. + // The resource name has the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string previous_customer_manager_link = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the new manager customer that the client wants to move + // to. Customer resource names have the format: "customers/{customer_id}" + string new_manager = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Updates the status of a CustomerManagerLink. +// The following actions are possible: +// 1. Update operation with status ACTIVE accepts a pending invitation. +// 2. Update operation with status REFUSED declines a pending invitation. +// 3. Update operation with status INACTIVE terminates link to manager. +message CustomerManagerLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v11.resources.CustomerManagerLink update = 2; + } +} + +// Response message for a CustomerManagerLink mutate. +message MutateCustomerManagerLinkResponse { + // A result that identifies the resource affected by the mutate request. + repeated MutateCustomerManagerLinkResult results = 1; +} + +// Response message for a CustomerManagerLink moveManagerLink. +message MoveManagerLinkResponse { + // Returned for successful operations. Represents a CustomerManagerLink + // resource of the newly created link between client customer and new manager + // customer. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} + +// The result for the customer manager link mutate. +message MutateCustomerManagerLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_negative_criterion_service.proto new file mode 100644 index 00000000..9d29a06f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_negative_criterion_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer_negative_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage customer negative criteria. +service CustomerNegativeCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) returns (MutateCustomerNegativeCriteriaResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerNegativeCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v11.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +message MutateCustomerNegativeCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CustomerNegativeCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create or remove) on a customer level negative criterion. +message CustomerNegativeCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v11.resources.CustomerNegativeCriterion create = 1; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + } +} + +// Response message for customer negative criterion mutate. +message MutateCustomerNegativeCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerNegativeCriteriaResult results = 2; +} + +// The result for the criterion mutate. +message MutateCustomerNegativeCriteriaResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + + // The mutated criterion with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomerNegativeCriterion customer_negative_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_service.proto new file mode 100644 index 00000000..eccbbef1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_service.proto @@ -0,0 +1,192 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/access_role.proto"; +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates a customer. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns resource names of customers directly accessible by the + // user authenticating the call. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { + option (google.api.http) = { + get: "/v11/customers:listAccessibleCustomers" + }; + } + + // Creates a new client under manager. The new client customer is returned. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CurrencyCodeError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + // [TimeZoneError]() + rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:createCustomerClient" + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v11.services.CustomerService.MutateCustomer]. +message MutateCustomerRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerOperation operation = 4 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 6; +} + +// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v11.services.CustomerService.CreateCustomerClient]. +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new client customer to create. The resource name on this customer + // will be ignored. + google.ads.googleads.v11.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; + + // Email address of the user who should be invited on the created client + // customer. Accessible only to customers on the allow-list. + optional string email_address = 5; + + // The proposed role of user on the created client customer. + // Accessible only to customers on the allow-list. + google.ads.googleads.v11.enums.AccessRoleEnum.AccessRole access_role = 4; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 6; +} + +// A single update on a customer. +message CustomerOperation { + // Mutate operation. Only updates are supported for customer. + google.ads.googleads.v11.resources.Customer update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for CreateCustomerClient mutate. +message CreateCustomerClientResponse { + // The resource name of the newly created customer. Customer resource names + // have the form: `customers/{customer_id}`. + string resource_name = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // Link for inviting user to access the created customer. Accessible to + // allowlisted customers only. + string invitation_link = 3; +} + +// Response message for customer mutate. +message MutateCustomerResponse { + // Result for the mutate. + MutateCustomerResult result = 2; +} + +// The result for the customer mutate. +message MutateCustomerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // The mutated customer with only mutable fields after mutate. The fields will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Customer customer = 2; +} + +// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v11.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest { + +} + +// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v11.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/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_invitation_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_invitation_service.proto new file mode 100644 index 00000000..9014afa5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_invitation_service.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_user_access_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomerUserAccessInvitation service. + +// This service manages the access invitation extended to users for a given +// customer. +service CustomerUserAccessInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes an access invitation. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccessInvitation(MutateCustomerUserAccessInvitationRequest) returns (MutateCustomerUserAccessInvitationResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitation.MutateCustomerUserAccessInvitation][] +message MutateCustomerUserAccessInvitationRequest { + // Required. The ID of the customer whose access invitation is being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the access invitation + CustomerUserAccessInvitationOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (create or remove) on customer user access invitation. +message CustomerUserAccessInvitationOperation { + // The mutate operation + oneof operation { + // Create operation: No resource name is expected for the new access + // invitation. + google.ads.googleads.v11.resources.CustomerUserAccessInvitation create = 1; + + // Remove operation: A resource name for the revoke invitation is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; + } +} + +// Response message for access invitation mutate. +message MutateCustomerUserAccessInvitationResponse { + // Result for the mutate. + MutateCustomerUserAccessInvitationResult result = 1; +} + +// The result for the access invitation mutate. +message MutateCustomerUserAccessInvitationResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_service.proto new file mode 100644 index 00000000..3c5cb0c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customer_user_access_service.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/customer_user_access.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// This service manages the permissions of a user on a given customer. +service CustomerUserAccessService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates, removes permission of a user on a given customer. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerUserAccessError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccess(MutateCustomerUserAccessRequest) returns (MutateCustomerUserAccessResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customerUserAccesses:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v11.services.CustomerUserAccessService.MutateCustomerUserAccess]. +message MutateCustomerUserAccessRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerUserAccessOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (update, remove) on customer user access. +message CustomerUserAccessOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Update operation: The customer user access is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.CustomerUserAccess update = 1; + + // Remove operation: A resource name for the removed access is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; + } +} + +// Response message for customer user access mutate. +message MutateCustomerUserAccessResponse { + // Result for the mutate. + MutateCustomerUserAccessResult result = 1; +} + +// The result for the customer user access mutate. +message MutateCustomerUserAccessResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/customizer_attribute_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/customizer_attribute_service.proto new file mode 100644 index 00000000..5c575c28 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/customizer_attribute_service.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/customizer_attribute.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the CustomizerAttribute service. + +// Service to manage customizer attribute +service CustomizerAttributeService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customizer attributes. Operation statuses are + // returned. + rpc MutateCustomizerAttributes(MutateCustomizerAttributesRequest) returns (MutateCustomizerAttributesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/customizerAttributes:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v11.services.CustomizerAttributeService.MutateCustomizerAttributes]. +message MutateCustomizerAttributesRequest { + // Required. The ID of the customer whose customizer attributes are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customizer attributes. + repeated CustomizerAttributeOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomizerAttributeOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customizer + // attribute + google.ads.googleads.v11.resources.CustomizerAttribute create = 1; + + // Remove operation: A resource name for the removed customizer attribute is + // expected, in this format: + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + } +} + +// Response message for an customizer attribute mutate. +message MutateCustomizerAttributesResponse { + // All results for the mutate. + repeated MutateCustomizerAttributeResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomizerAttributeResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + + // The mutated CustomizerAttribute with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.CustomizerAttribute customizer_attribute = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/experiment_arm_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/experiment_arm_service.proto new file mode 100644 index 00000000..6d3429ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/experiment_arm_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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentArmServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/customers/{customer_id=*}/experimentArms:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v11.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.v11.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.v11.resources.ExperimentArm create = 1; + + // Update operation: The experiment arm is expected to have a valid + // resource name. + google.ads.googleads.v11.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.v11.resources.ExperimentArm experiment_arm = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/experiment_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/experiment_service.proto new file mode 100644 index 00000000..9700d9ed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/experiment_service.proto @@ -0,0 +1,390 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/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: "/v11/{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: "/v11/{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: "/v11/{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: "/v11/{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.v11.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: "/v11/{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.v11.services.PromoteExperimentMetadata" + }; + } +} + +// Request message for [ExperimentService.MutateExperiments][google.ads.googleads.v11.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.v11.resources.Experiment create = 1; + + // Update operation: The experiment is expected to have a valid + // resource name. + google.ads.googleads.v11.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.v11.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.v11.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.v11.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.v11.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.v11.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.v11.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/google-cloud/protos/google/ads/googleads/v11/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/extension_feed_item_service.proto new file mode 100644 index 00000000..8ed052cd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/extension_feed_item_service.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/extension_feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the ExtensionFeedItem service. + +// Service to manage extension feed items. +service ExtensionFeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes extension feed items. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CountryCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [LanguageCodeError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) returns (MutateExtensionFeedItemsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/extensionFeedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v11.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +message MutateExtensionFeedItemsRequest { + // Required. The ID of the customer whose extension feed items are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual extension feed items. + repeated ExtensionFeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an extension feed item. +message ExtensionFeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new extension + // feed item. + google.ads.googleads.v11.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.ExtensionFeedItem update = 2; + + // Remove operation: A resource name for the removed extension feed item + // is expected, in this format: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + } +} + +// Response message for an extension feed item mutate. +message MutateExtensionFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateExtensionFeedItemResult results = 2; +} + +// The result for the extension feed item mutate. +message MutateExtensionFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The mutated extension feed item with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.ExtensionFeedItem extension_feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_service.proto new file mode 100644 index 00000000..55cb7881 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the FeedItem service. + +// Service to manage feed items. +service FeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed items. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v11.services.FeedItemService.MutateFeedItems]. +message MutateFeedItemsRequest { + // Required. The ID of the customer whose feed items are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed items. + repeated FeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed item. +message FeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item. + google.ads.googleads.v11.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.FeedItem update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + } +} + +// Response message for an feed item mutate. +message MutateFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemResult results = 2; +} + +// The result for the feed item mutate. +message MutateFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + + // The mutated feed item with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.FeedItem feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_link_service.proto new file mode 100644 index 00000000..ccad262b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_link_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/feed_item_set_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the FeedItemSetLink service. + +// Service to manage feed item set links. +service FeedItemSetLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed item set links. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSetLinks(MutateFeedItemSetLinksRequest) returns (MutateFeedItemSetLinksResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feedItemSetLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v11.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +message MutateFeedItemSetLinksRequest { + // Required. The ID of the customer whose feed item set links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item set links. + repeated FeedItemSetLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a feed item set link. +message FeedItemSetLinkOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the + // new feed item set link. + google.ads.googleads.v11.resources.FeedItemSetLink create = 1; + + // Remove operation: A resource name for the removed feed item set link is + // expected, in this format: + // + // `customers/{customer_id}/feedItemSetLinks/{feed_id}_{feed_item_set_id}_{feed_item_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; + } +} + +// Response message for a feed item set link mutate. +message MutateFeedItemSetLinksResponse { + // All results for the mutate. + repeated MutateFeedItemSetLinkResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the feed item set link mutate. +message MutateFeedItemSetLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_service.proto new file mode 100644 index 00000000..29804954 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/feed_item_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the FeedItemSet service. + +// Service to manage feed Item Set +service FeedItemSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes feed item sets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSets(MutateFeedItemSetsRequest) returns (MutateFeedItemSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feedItemSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v11.services.FeedItemSetService.MutateFeedItemSets]. +message MutateFeedItemSetsRequest { + // Required. The ID of the customer whose feed item sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item sets. + repeated FeedItemSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an feed item set. +message FeedItemSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item set + google.ads.googleads.v11.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.FeedItemSet update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + }]; + } +} + +// Response message for an feed item set mutate. +message MutateFeedItemSetsResponse { + // All results for the mutate. + repeated MutateFeedItemSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the feed item set mutate. +message MutateFeedItemSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_target_service.proto new file mode 100644 index 00000000..b895d900 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_item_target_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/feed_item_target.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the FeedItemTarget service. + +// Service to manage feed item targets. +service FeedItemTargetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed item targets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedItemTargetError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) returns (MutateFeedItemTargetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feedItemTargets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v11.services.FeedItemTargetService.MutateFeedItemTargets]. +message MutateFeedItemTargetsRequest { + // Required. The ID of the customer whose feed item targets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item targets. + repeated FeedItemTargetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, remove) on an feed item target. +message FeedItemTargetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item + // target. + google.ads.googleads.v11.resources.FeedItemTarget create = 1; + + // Remove operation: A resource name for the removed feed item target is + // expected, in this format: + // + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + } +} + +// Response message for an feed item target mutate. +message MutateFeedItemTargetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemTargetResult results = 2; +} + +// The result for the feed item target mutate. +message MutateFeedItemTargetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + + // The mutated feed item target with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.FeedItemTarget feed_item_target = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_mapping_service.proto new file mode 100644 index 00000000..f3f9b562 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_mapping_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/feed_mapping.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the FeedMapping service. + +// Service to manage feed mappings. +service FeedMappingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed mappings. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedMappingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feedMappings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v11.services.FeedMappingService.MutateFeedMappings]. +message MutateFeedMappingsRequest { + // Required. The ID of the customer whose feed mappings are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed mappings. + repeated FeedMappingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a feed mapping. +message FeedMappingOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed mapping. + google.ads.googleads.v11.resources.FeedMapping create = 1; + + // Remove operation: A resource name for the removed feed mapping is + // expected, in this format: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + } +} + +// Response message for a feed mapping mutate. +message MutateFeedMappingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedMappingResult results = 2; +} + +// The result for the feed mapping mutate. +message MutateFeedMappingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + + // The mutated feed mapping with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.FeedMapping feed_mapping = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/feed_service.proto new file mode 100644 index 00000000..f15ce000 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Feed service. + +// Service to manage feeds. +service FeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/feeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedService.MutateFeeds][google.ads.googleads.v11.services.FeedService.MutateFeeds]. +message MutateFeedsRequest { + // Required. The ID of the customer whose feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feeds. + repeated FeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed. +message FeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed. + google.ads.googleads.v11.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.Feed update = 2; + + // Remove operation: A resource name for the removed feed is + // expected, in this format: + // + // `customers/{customer_id}/feeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + } +} + +// Response message for an feed mutate. +message MutateFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedResult results = 2; +} + +// The result for the feed mutate. +message MutateFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + + // The mutated feed with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Feed feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/geo_target_constant_service.proto new file mode 100644 index 00000000..fd340b2a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/geo_target_constant_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Geo target constant service. + +// Service to fetch geo target constants. +service GeoTargetConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns GeoTargetConstant suggestions by location name or by resource name. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [GeoTargetConstantSuggestionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) { + option (google.api.http) = { + post: "/v11/geoTargetConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v11.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsRequest { + // A list of location names. + message LocationNames { + // A list of location names. + repeated string names = 2; + } + + // A list of geo target constant resource names. + message GeoTargets { + // A list of geo target constant resource names. + repeated string geo_target_constants = 2; + } + + // If possible, returned geo targets are translated using this locale. If not, + // en is used by default. This is also used as a hint for returned geo + // targets. + optional string locale = 6; + + // Returned geo targets are restricted to this country code. + optional string country_code = 7; + + // Required. A selector of geo target constants. + oneof query { + // The location names to search by. At most 25 names can be set. + LocationNames location_names = 1; + + // The geo target constant resource names to filter by. + GeoTargets geo_targets = 2; + } +} + +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v11.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsResponse { + // Geo target constant suggestions. + repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; +} + +// A geo target constant suggestion. +message GeoTargetConstantSuggestion { + // The language this GeoTargetConstantSuggestion is currently translated to. + // It affects the name of geo target fields. For example, if locale=en, then + // name=Spain. If locale=es, then name=España. The default locale will be + // returned if no translation exists for the locale in the request. + optional string locale = 6; + + // Approximate user population that will be targeted, rounded to the + // nearest 100. + optional int64 reach = 7; + + // If the request searched by location name, this is the location name that + // matched the geo target. + optional string search_term = 8; + + // The GeoTargetConstant result. + google.ads.googleads.v11.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v11.resources.GeoTargetConstant geo_target_constant_parents = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/google_ads_field_service.proto new file mode 100644 index 00000000..3a406dee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/google_ads_field_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/google_ads_field.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the GoogleAdsFieldService. + +// Service to fetch Google Ads API fields. +service GoogleAdsFieldService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns just the requested field. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v11.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v11/{resource_name=googleAdsFields/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns all fields that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) { + option (google.api.http) = { + post: "/v11/googleAdsFields:search" + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v11.services.GoogleAdsFieldService.GetGoogleAdsField]. +message GetGoogleAdsFieldRequest { + // Required. The resource name of the field to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; +} + +// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v11.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsRequest { + // Required. The query string. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first page of + // results will be returned. Use the value obtained from `next_page_token` + // in the previous response in order to request the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to further + // limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v11.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v11.resources.GoogleAdsField results = 1; + + // Pagination token used to retrieve the next page of results. Pass the + // content of this string as the `page_token` attribute of the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT clause. + int64 total_results_count = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/google_ads_service.proto new file mode 100644 index 00000000..3ff021b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/google_ads_service.proto @@ -0,0 +1,1488 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/metrics.proto"; +import "google/ads/googleads/v11/common/segments.proto"; +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/enums/summary_row_setting.proto"; +import "google/ads/googleads/v11/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v11/resources/account_budget.proto"; +import "google/ads/googleads/v11/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v11/resources/account_link.proto"; +import "google/ads/googleads/v11/resources/ad_group.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad_asset_combination_view.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v11/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v11/resources/ad_group_asset.proto"; +import "google/ads/googleads/v11/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v11/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v11/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v11/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v11/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v11/resources/ad_group_feed.proto"; +import "google/ads/googleads/v11/resources/ad_group_label.proto"; +import "google/ads/googleads/v11/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v11/resources/ad_parameter.proto"; +import "google/ads/googleads/v11/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v11/resources/age_range_view.proto"; +import "google/ads/googleads/v11/resources/asset.proto"; +import "google/ads/googleads/v11/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v11/resources/asset_group.proto"; +import "google/ads/googleads/v11/resources/asset_group_asset.proto"; +import "google/ads/googleads/v11/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v11/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v11/resources/asset_group_signal.proto"; +import "google/ads/googleads/v11/resources/asset_set.proto"; +import "google/ads/googleads/v11/resources/asset_set_asset.proto"; +import "google/ads/googleads/v11/resources/audience.proto"; +import "google/ads/googleads/v11/resources/batch_job.proto"; +import "google/ads/googleads/v11/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v11/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v11/resources/bidding_strategy.proto"; +import "google/ads/googleads/v11/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v11/resources/billing_setup.proto"; +import "google/ads/googleads/v11/resources/call_view.proto"; +import "google/ads/googleads/v11/resources/campaign.proto"; +import "google/ads/googleads/v11/resources/campaign_asset.proto"; +import "google/ads/googleads/v11/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v11/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v11/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v11/resources/campaign_budget.proto"; +import "google/ads/googleads/v11/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v11/resources/campaign_criterion.proto"; +import "google/ads/googleads/v11/resources/campaign_criterion_simulation.proto"; +import "google/ads/googleads/v11/resources/campaign_customizer.proto"; +import "google/ads/googleads/v11/resources/campaign_draft.proto"; +import "google/ads/googleads/v11/resources/campaign_experiment.proto"; +import "google/ads/googleads/v11/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v11/resources/campaign_feed.proto"; +import "google/ads/googleads/v11/resources/campaign_group.proto"; +import "google/ads/googleads/v11/resources/campaign_label.proto"; +import "google/ads/googleads/v11/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v11/resources/campaign_simulation.proto"; +import "google/ads/googleads/v11/resources/carrier_constant.proto"; +import "google/ads/googleads/v11/resources/change_event.proto"; +import "google/ads/googleads/v11/resources/change_status.proto"; +import "google/ads/googleads/v11/resources/click_view.proto"; +import "google/ads/googleads/v11/resources/combined_audience.proto"; +import "google/ads/googleads/v11/resources/conversion_action.proto"; +import "google/ads/googleads/v11/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v11/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v11/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v11/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v11/resources/currency_constant.proto"; +import "google/ads/googleads/v11/resources/custom_audience.proto"; +import "google/ads/googleads/v11/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v11/resources/custom_interest.proto"; +import "google/ads/googleads/v11/resources/customer.proto"; +import "google/ads/googleads/v11/resources/customer_asset.proto"; +import "google/ads/googleads/v11/resources/customer_client.proto"; +import "google/ads/googleads/v11/resources/customer_client_link.proto"; +import "google/ads/googleads/v11/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v11/resources/customer_customizer.proto"; +import "google/ads/googleads/v11/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v11/resources/customer_feed.proto"; +import "google/ads/googleads/v11/resources/customer_label.proto"; +import "google/ads/googleads/v11/resources/customer_manager_link.proto"; +import "google/ads/googleads/v11/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v11/resources/customer_user_access.proto"; +import "google/ads/googleads/v11/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v11/resources/customizer_attribute.proto"; +import "google/ads/googleads/v11/resources/detail_placement_view.proto"; +import "google/ads/googleads/v11/resources/detailed_demographic.proto"; +import "google/ads/googleads/v11/resources/display_keyword_view.proto"; +import "google/ads/googleads/v11/resources/distance_view.proto"; +import "google/ads/googleads/v11/resources/domain_category.proto"; +import "google/ads/googleads/v11/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v11/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v11/resources/experiment.proto"; +import "google/ads/googleads/v11/resources/experiment_arm.proto"; +import "google/ads/googleads/v11/resources/extension_feed_item.proto"; +import "google/ads/googleads/v11/resources/feed.proto"; +import "google/ads/googleads/v11/resources/feed_item.proto"; +import "google/ads/googleads/v11/resources/feed_item_set.proto"; +import "google/ads/googleads/v11/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v11/resources/feed_item_target.proto"; +import "google/ads/googleads/v11/resources/feed_mapping.proto"; +import "google/ads/googleads/v11/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v11/resources/gender_view.proto"; +import "google/ads/googleads/v11/resources/geo_target_constant.proto"; +import "google/ads/googleads/v11/resources/geographic_view.proto"; +import "google/ads/googleads/v11/resources/group_placement_view.proto"; +import "google/ads/googleads/v11/resources/hotel_group_view.proto"; +import "google/ads/googleads/v11/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v11/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v11/resources/income_range_view.proto"; +import "google/ads/googleads/v11/resources/keyword_plan.proto"; +import "google/ads/googleads/v11/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v11/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v11/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v11/resources/keyword_view.proto"; +import "google/ads/googleads/v11/resources/label.proto"; +import "google/ads/googleads/v11/resources/landing_page_view.proto"; +import "google/ads/googleads/v11/resources/language_constant.proto"; +import "google/ads/googleads/v11/resources/lead_form_submission_data.proto"; +import "google/ads/googleads/v11/resources/life_event.proto"; +import "google/ads/googleads/v11/resources/location_view.proto"; +import "google/ads/googleads/v11/resources/managed_placement_view.proto"; +import "google/ads/googleads/v11/resources/media_file.proto"; +import "google/ads/googleads/v11/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v11/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v11/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v11/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v11/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v11/resources/parental_status_view.proto"; +import "google/ads/googleads/v11/resources/product_bidding_category_constant.proto"; +import "google/ads/googleads/v11/resources/product_group_view.proto"; +import "google/ads/googleads/v11/resources/recommendation.proto"; +import "google/ads/googleads/v11/resources/remarketing_action.proto"; +import "google/ads/googleads/v11/resources/search_term_view.proto"; +import "google/ads/googleads/v11/resources/shared_criterion.proto"; +import "google/ads/googleads/v11/resources/shared_set.proto"; +import "google/ads/googleads/v11/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v11/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v11/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v11/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v11/resources/topic_constant.proto"; +import "google/ads/googleads/v11/resources/topic_view.proto"; +import "google/ads/googleads/v11/resources/user_interest.proto"; +import "google/ads/googleads/v11/resources/user_list.proto"; +import "google/ads/googleads/v11/resources/user_location_view.proto"; +import "google/ads/googleads/v11/resources/video.proto"; +import "google/ads/googleads/v11/resources/webpage_view.proto"; +import "google/ads/googleads/v11/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v11/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v11/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v11/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v11/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v11/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v11/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v11/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v11/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v11/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v11/services/ad_group_label_service.proto"; +import "google/ads/googleads/v11/services/ad_group_service.proto"; +import "google/ads/googleads/v11/services/ad_parameter_service.proto"; +import "google/ads/googleads/v11/services/ad_service.proto"; +import "google/ads/googleads/v11/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v11/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v11/services/asset_group_service.proto"; +import "google/ads/googleads/v11/services/asset_group_signal_service.proto"; +import "google/ads/googleads/v11/services/asset_service.proto"; +import "google/ads/googleads/v11/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v11/services/asset_set_service.proto"; +import "google/ads/googleads/v11/services/audience_service.proto"; +import "google/ads/googleads/v11/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v11/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v11/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v11/services/campaign_asset_service.proto"; +import "google/ads/googleads/v11/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v11/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v11/services/campaign_budget_service.proto"; +import "google/ads/googleads/v11/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v11/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v11/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v11/services/campaign_draft_service.proto"; +import "google/ads/googleads/v11/services/campaign_experiment_service.proto"; +import "google/ads/googleads/v11/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v11/services/campaign_feed_service.proto"; +import "google/ads/googleads/v11/services/campaign_group_service.proto"; +import "google/ads/googleads/v11/services/campaign_label_service.proto"; +import "google/ads/googleads/v11/services/campaign_service.proto"; +import "google/ads/googleads/v11/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v11/services/conversion_action_service.proto"; +import "google/ads/googleads/v11/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v11/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v11/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v11/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v11/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v11/services/customer_asset_service.proto"; +import "google/ads/googleads/v11/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v11/services/customer_customizer_service.proto"; +import "google/ads/googleads/v11/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v11/services/customer_feed_service.proto"; +import "google/ads/googleads/v11/services/customer_label_service.proto"; +import "google/ads/googleads/v11/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v11/services/customer_service.proto"; +import "google/ads/googleads/v11/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v11/services/experiment_arm_service.proto"; +import "google/ads/googleads/v11/services/experiment_service.proto"; +import "google/ads/googleads/v11/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v11/services/feed_item_service.proto"; +import "google/ads/googleads/v11/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v11/services/feed_item_set_service.proto"; +import "google/ads/googleads/v11/services/feed_item_target_service.proto"; +import "google/ads/googleads/v11/services/feed_mapping_service.proto"; +import "google/ads/googleads/v11/services/feed_service.proto"; +import "google/ads/googleads/v11/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v11/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v11/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v11/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v11/services/keyword_plan_service.proto"; +import "google/ads/googleads/v11/services/label_service.proto"; +import "google/ads/googleads/v11/services/media_file_service.proto"; +import "google/ads/googleads/v11/services/remarketing_action_service.proto"; +import "google/ads/googleads/v11/services/shared_criterion_service.proto"; +import "google/ads/googleads/v11/services/shared_set_service.proto"; +import "google/ads/googleads/v11/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/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: "/v11/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: "/v11/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for [GoogleAdsService.Search][google.ads.googleads.v11.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.v11.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 8; +} + +// Response message for [GoogleAdsService.Search][google.ads.googleads.v11.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; +} + +// Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v11.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.v11.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 3; +} + +// Response message for [GoogleAdsService.SearchStream][google.ads.googleads.v11.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; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + google.ads.googleads.v11.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v11.resources.AccountBudgetProposal account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v11.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v11.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v11.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset combination view in the query. + google.ads.googleads.v11.resources.AdGroupAdAssetCombinationView ad_group_ad_asset_combination_view = 193; + + // The ad group ad asset view in the query. + google.ads.googleads.v11.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v11.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v11.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group audience view referenced in the query. + google.ads.googleads.v11.resources.AdGroupAudienceView ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v11.resources.AdGroupBidModifier ad_group_bid_modifier = 24; + + // The criterion referenced in the query. + google.ads.googleads.v11.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v11.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v11.resources.AdGroupCriterionLabel ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v11.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v11.resources.AdGroupCustomizer ad_group_customizer = 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v11.resources.AdGroupExtensionSetting ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v11.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v11.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v11.resources.AdGroupSimulation ad_group_simulation = 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v11.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v11.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v11.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v11.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v11.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v11.resources.AssetFieldTypeView asset_field_type_view = 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v11.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group signal referenced in the query. + google.ads.googleads.v11.resources.AssetGroupSignal asset_group_signal = 191; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v11.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v11.resources.AssetGroupProductGroupView asset_group_product_group_view = 189; + + // The asset group referenced in the query. + google.ads.googleads.v11.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v11.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v11.resources.AssetSet asset_set = 179; + + // The batch job referenced in the query. + google.ads.googleads.v11.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v11.resources.BiddingDataExclusion bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v11.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v11.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v11.resources.BiddingStrategySimulation bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v11.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v11.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v11.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v11.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v11.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v11.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v11.resources.CampaignAudienceView campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v11.resources.CampaignBidModifier campaign_bid_modifier = 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v11.resources.CampaignConversionGoal campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v11.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign criterion simulation referenced in the query. + google.ads.googleads.v11.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111; + + // The campaign customizer referenced in the query. + google.ads.googleads.v11.resources.CampaignCustomizer campaign_customizer = 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v11.resources.CampaignDraft campaign_draft = 49; + + // The campaign experiment referenced in the query. + google.ads.googleads.v11.resources.CampaignExperiment campaign_experiment = 84; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v11.resources.CampaignExtensionSetting campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v11.resources.CampaignFeed campaign_feed = 63; + + // Campaign Group referenced in AWQL query. + google.ads.googleads.v11.resources.CampaignGroup campaign_group = 25; + + // The campaign label referenced in the query. + google.ads.googleads.v11.resources.CampaignLabel campaign_label = 108; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v11.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v11.resources.CampaignSimulation campaign_simulation = 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v11.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v11.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v11.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v11.resources.CombinedAudience combined_audience = 148; + + // The Audience referenced in the query. + google.ads.googleads.v11.resources.Audience audience = 190; + + // The conversion action referenced in the query. + google.ads.googleads.v11.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v11.resources.ConversionCustomVariable conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v11.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v11.resources.ConversionValueRule conversion_value_rule = 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v11.resources.ConversionValueRuleSet conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v11.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v11.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v11.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v11.resources.CustomConversionGoal custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v11.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v11.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v11.resources.CustomerAsset customer_asset = 155; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v11.resources.AccessibleBiddingStrategy accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v11.resources.CustomerCustomizer customer_customizer = 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v11.resources.CustomerManagerLink customer_manager_link = 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v11.resources.CustomerClientLink customer_client_link = 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v11.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v11.resources.CustomerConversionGoal customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v11.resources.CustomerExtensionSetting customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v11.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v11.resources.CustomerLabel customer_label = 124; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v11.resources.CustomerNegativeCriterion customer_negative_criterion = 88; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v11.resources.CustomerUserAccess customer_user_access = 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v11.resources.CustomerUserAccessInvitation customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v11.resources.CustomizerAttribute customizer_attribute = 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v11.resources.DetailPlacementView detail_placement_view = 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v11.resources.DetailedDemographic detailed_demographic = 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v11.resources.DisplayKeywordView display_keyword_view = 47; + + // The distance view referenced in the query. + google.ads.googleads.v11.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v11.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v11.resources.ExpandedLandingPageView expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v11.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v11.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v11.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v11.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v11.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v11.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v11.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v11.resources.FeedPlaceholderView feed_placeholder_view = 97; + + // The gender view referenced in the query. + google.ads.googleads.v11.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v11.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v11.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v11.resources.GroupPlacementView group_placement_view = 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v11.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v11.resources.HotelPerformanceView hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v11.resources.HotelReconciliation hotel_reconciliation = 188; + + // The income range view referenced in the query. + google.ads.googleads.v11.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v11.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v11.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v11.resources.KeywordPlanCampaign keyword_plan_campaign = 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v11.resources.KeywordPlanCampaignKeyword keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v11.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v11.resources.KeywordPlanAdGroupKeyword keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v11.resources.KeywordThemeConstant keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v11.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v11.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v11.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v11.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v11.resources.ManagedPlacementView managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v11.resources.MediaFile media_file = 90; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v11.resources.MobileAppCategoryConstant mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v11.resources.MobileDeviceConstant mobile_device_constant = 98; + + // The offline user data job referenced in the query. + google.ads.googleads.v11.resources.OfflineUserDataJob offline_user_data_job = 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v11.resources.OperatingSystemVersionConstant operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v11.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129; + + // The parental status view referenced in the query. + google.ads.googleads.v11.resources.ParentalStatusView parental_status_view = 45; + + // The Product Bidding Category referenced in the query. + google.ads.googleads.v11.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109; + + // The product group view referenced in the query. + google.ads.googleads.v11.resources.ProductGroupView product_group_view = 54; + + // The recommendation referenced in the query. + google.ads.googleads.v11.resources.Recommendation recommendation = 22; + + // The search term view referenced in the query. + google.ads.googleads.v11.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v11.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v11.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v11.resources.SmartCampaignSetting smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v11.resources.ShoppingPerformanceView shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v11.resources.SmartCampaignSearchTermView smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v11.resources.ThirdPartyAppAnalyticsLink third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v11.resources.TopicView topic_view = 44; + + // The experiment referenced in the query. + google.ads.googleads.v11.resources.Experiment experiment = 133; + + // The experiment arm referenced in the query. + google.ads.googleads.v11.resources.ExperimentArm experiment_arm = 183; + + // The user interest referenced in the query. + google.ads.googleads.v11.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v11.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v11.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v11.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v11.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v11.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v11.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v11.resources.WebpageView webpage_view = 162; + + // The lead form user submission referenced in the query. + google.ads.googleads.v11.resources.LeadFormSubmissionData lead_form_submission_data = 192; + + // The metrics. + google.ads.googleads.v11.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v11.common.Segments segments = 102; +} + +// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v11.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.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v11.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; + + // An campaign customizer mutate operation. + CampaignCustomizerOperation campaign_customizer_operation = 76; + + // A campaign draft mutate operation. + CampaignDraftOperation campaign_draft_operation = 24; + + // A campaign experiment mutate operation. + CampaignExperimentOperation campaign_experiment_operation = 25; + + // 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; + + // An 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; + + // An 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 experiment mutate. + MutateCampaignExperimentResult campaign_experiment_result = 25; + + // 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/google-cloud/protos/google/ads/googleads/v11/services/invoice_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/invoice_service.proto new file mode 100644 index 00000000..d48ee284 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/invoice_service.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/month_of_year.proto"; +import "google/ads/googleads/v11/resources/invoice.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Invoice service. + +// A service to fetch invoices issued for a billing setup during a given month. +service InvoiceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all invoices associated with a billing setup, for a given month. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [InvoiceError]() + // [QuotaError]() + // [RequestError]() + rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { + option (google.api.http) = { + get: "/v11/customers/{customer_id=*}/invoices" + }; + option (google.api.method_signature) = "customer_id,billing_setup,issue_year,issue_month"; + } +} + +// Request message for fetching the invoices of a given billing setup that were +// issued during a given month. +message ListInvoicesRequest { + // Required. The ID of the customer to fetch invoices for. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The billing setup resource name of the requested invoices. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string billing_setup = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue year to retrieve invoices, in yyyy format. Only + // invoices issued in 2019 or later can be retrieved. + string issue_year = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue month to retrieve invoices. + google.ads.googleads.v11.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [InvoiceService.ListInvoices][google.ads.googleads.v11.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v11.resources.Invoice invoices = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 00000000..bdf20176 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/keyword_plan_ad_group_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the keyword plan ad group keyword service. + +// Service to manage Keyword Plan ad group keywords. KeywordPlanAdGroup is +// required to add ad group keywords. Positive and negative keywords are +// supported. A maximum of 10,000 positive keywords are allowed per keyword +// plan. A maximum of 1,000 negative keywords are allower per keyword plan. This +// includes campaign negative keywords and ad group negative keywords. +service KeywordPlanAdGroupKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad group keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroupKeywords(MutateKeywordPlanAdGroupKeywordsRequest) returns (MutateKeywordPlanAdGroupKeywordsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v11.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +message MutateKeywordPlanAdGroupKeywordsRequest { + // Required. The ID of the customer whose Keyword Plan ad group keywords are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad group + // keywords. + repeated KeywordPlanAdGroupKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group +// keyword. +message KeywordPlanAdGroupKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group keyword. + google.ads.googleads.v11.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v11.resources.KeywordPlanAdGroupKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // keyword is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; + } +} + +// Response message for a Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanAdGroupKeywordResult results = 2; +} + +// The result for the Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_service.proto new file mode 100644 index 00000000..bd3a2d45 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_ad_group_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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/keyword_plan_ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the keyword plan ad group service. + +// Service to manage Keyword Plan ad groups. +service KeywordPlanAdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v11.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +message MutateKeywordPlanAdGroupsRequest { + // Required. The ID of the customer whose Keyword Plan ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad groups. + repeated KeywordPlanAdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group. +message KeywordPlanAdGroupOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group. + google.ads.googleads.v11.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.KeywordPlanAdGroup update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + } +} + +// Response message for a Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. The order of the results is determined by the + // order of the keywords in the original request. + repeated MutateKeywordPlanAdGroupResult results = 2; +} + +// The result for the Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 00000000..43757166 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/keyword_plan_campaign_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the keyword plan campaign keyword service. + +// Service to manage Keyword Plan campaign keywords. KeywordPlanCampaign is +// required to add the campaign keywords. Only negative keywords are supported. +// A maximum of 1000 negative keywords are allowed per plan. This includes both +// campaign negative keywords and ad group negative keywords. +service KeywordPlanCampaignKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaign keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignKeywordError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaignKeywords(MutateKeywordPlanCampaignKeywordsRequest) returns (MutateKeywordPlanCampaignKeywordsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v11.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +message MutateKeywordPlanCampaignKeywordsRequest { + // Required. The ID of the customer whose campaign keywords are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaign + // keywords. + repeated KeywordPlanCampaignKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign +// keyword. +message KeywordPlanCampaignKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign keyword. + google.ads.googleads.v11.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v11.resources.KeywordPlanCampaignKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // keywords expected in this format: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; + } +} + +// Response message for a Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanCampaignKeywordResult results = 2; +} + +// The result for the Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_service.proto new file mode 100644 index 00000000..83f62226 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_campaign_service.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/keyword_plan_campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the keyword plan campaign service. + +// Service to manage Keyword Plan campaigns. +service KeywordPlanCampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [ListOperationError]() + // [MutateError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v11.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +message MutateKeywordPlanCampaignsRequest { + // Required. The ID of the customer whose Keyword Plan campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaigns. + repeated KeywordPlanCampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign. +message KeywordPlanCampaignOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign. + google.ads.googleads.v11.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.KeywordPlanCampaign update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + } +} + +// Response message for a Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateKeywordPlanCampaignResult results = 2; +} + +// The result for the Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_idea_service.proto new file mode 100644 index 00000000..9693829a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_idea_service.proto @@ -0,0 +1,352 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/keyword_plan_common.proto"; +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/ads/googleads/v11/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/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: "/v11/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: "/v11/customers/{customer_id=*}:generateAdGroupThemes" + body: "*" + }; + } +} + +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v11.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.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v11.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v11.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.v11.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v11.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.v11.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v11.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.v11.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.v11.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 7; + + // The aggregate fields to include in response. + google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 8; + + // The options for historical metrics data. + google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v11.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.v11.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.v11.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v11.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.v11.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.v11.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 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_service.proto new file mode 100644 index 00000000..8039ed6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_plan_service.proto @@ -0,0 +1,421 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/keyword_plan_common.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Returns the requested Keyword Plan forecast curve. + // Only the bidding strategy is considered for generating forecast curve. + // The bidding strategy value specified in the plan is ignored. + // + // To generate a forecast at a value specified in the plan, use + // KeywordPlanService.GenerateForecastMetrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastCurve(GenerateForecastCurveRequest) returns (GenerateForecastCurveResponse) { + option (google.api.http) = { + post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastCurve" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns a forecast in the form of a time series for the Keyword Plan over + // the next 52 weeks. + // (1) Forecasts closer to the current date are generally more accurate than + // further out. + // + // (2) The forecast reflects seasonal trends using current and + // prior traffic patterns. The forecast period of the plan is ignored. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastTimeSeries(GenerateForecastTimeSeriesRequest) returns (GenerateForecastTimeSeriesResponse) { + option (google.api.http) = { + post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan forecasts. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) { + option (google.api.http) = { + post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan historical metrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) { + option (google.api.http) = { + post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } +} + +// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v11.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.v11.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v11.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" + }]; +} + +// Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveResponse { + // List of forecast curves for the keyword plan campaign. + // One maximum. + repeated KeywordPlanCampaignForecastCurve campaign_forecast_curves = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesResponse { + // List of weekly time series forecasts for the keyword plan campaign. + // One maximum. + repeated KeywordPlanWeeklyTimeSeriesForecast weekly_time_series_forecasts = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsResponse { + // List of campaign forecasts. + // One maximum. + repeated KeywordPlanCampaignForecast campaign_forecasts = 1; + + // List of ad group forecasts. + repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; + + // List of keyword forecasts. + repeated KeywordPlanKeywordForecast keyword_forecasts = 3; +} + +// A campaign forecast. +message KeywordPlanCampaignForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The forecast for the Keyword Plan campaign. + ForecastMetrics campaign_forecast = 2; +} + +// An ad group forecast. +message KeywordPlanAdGroupForecast { + // The resource name of the Keyword Plan ad group related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` + optional string keyword_plan_ad_group = 3; + + // The forecast for the Keyword Plan ad group. + ForecastMetrics ad_group_forecast = 2; +} + +// A keyword forecast. +message KeywordPlanKeywordForecast { + // The resource name of the Keyword Plan keyword related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` + optional string keyword_plan_ad_group_keyword = 3; + + // The forecast for the Keyword Plan keyword. + ForecastMetrics keyword_forecast = 2; +} + +// The forecast curve for the campaign. +message KeywordPlanCampaignForecastCurve { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The max cpc bid forecast curve for the campaign. + KeywordPlanMaxCpcBidForecastCurve max_cpc_bid_forecast_curve = 2; +} + +// The max cpc bid forecast curve. +message KeywordPlanMaxCpcBidForecastCurve { + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanMaxCpcBidForecast max_cpc_bid_forecasts = 1; +} + +// The forecast of the campaign at a specific bid. +message KeywordPlanMaxCpcBidForecast { + // The max cpc bid in micros. + optional int64 max_cpc_bid_micros = 3; + + // The forecast for the Keyword Plan campaign at the specific bid. + ForecastMetrics max_cpc_bid_forecast = 2; +} + +// The weekly time series forecast for the keyword plan campaign. +message KeywordPlanWeeklyTimeSeriesForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 1; + + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanWeeklyForecast weekly_forecasts = 2; +} + +// The forecast of the campaign for the week starting start_date. +message KeywordPlanWeeklyForecast { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 1; + + // The forecast for the Keyword Plan campaign for the week. + ForecastMetrics forecast = 2; +} + +// Forecast metrics. +message ForecastMetrics { + // Impressions + optional double impressions = 7; + + // Ctr + optional double ctr = 8; + + // AVG cpc + optional int64 average_cpc = 9; + + // Clicks + optional double clicks = 10; + + // Cost + optional int64 cost_micros = 11; +} + +// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsRequest { + // Required. The resource name of the keyword plan of which historical metrics are + // requested. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // The aggregate fields to include in response. + google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 2; + + // The options for historical metrics data. + google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsResponse { + // List of keyword historical metrics. + repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; + + // The aggregate metrics for all the keywords in the keyword planner plan. + google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2; +} + +// A keyword historical metrics. +message KeywordPlanKeywordHistoricalMetrics { + // The text of the query associated with one or more ad_group_keywords in the + // plan. + // + // Note that we de-dupe your keywords list, eliminating close variants before + // returning the plan's keywords as text. For example, if your plan originally + // contained the keywords 'car' and 'cars', the returned search query will + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. + optional string search_query = 4; + + // The list of close variant queries for search_query whose search results + // are combined into the search_query. + repeated string close_variants = 3; + + // The historical metrics for the query associated with one or more + // ad_group_keywords in the plan. + google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/keyword_theme_constant_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/keyword_theme_constant_service.proto new file mode 100644 index 00000000..ac26c79f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/keyword_theme_constant_service.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Smart Campaign keyword theme constant service. + +// Service to fetch Smart Campaign keyword themes. +service KeywordThemeConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns KeywordThemeConstant suggestions by keyword themes. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestKeywordThemeConstants(SuggestKeywordThemeConstantsRequest) returns (SuggestKeywordThemeConstantsResponse) { + option (google.api.http) = { + post: "/v11/keywordThemeConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v11.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsRequest { + // The query text of a keyword theme that will be used to map to similar + // keyword themes. For example, "plumber" or "roofer". + string query_text = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. This for + // refining the scope of the query, default to 'US' if not set. + string country_code = 2; + + // The two letter language code for get corresponding keyword theme for + // refining the scope of the query, default to 'en' if not set. + string language_code = 3; +} + +// Response message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v11.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v11.resources.KeywordThemeConstant keyword_theme_constants = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/label_service.proto new file mode 100644 index 00000000..bc262592 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/label_service.proto @@ -0,0 +1,145 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to manage labels. +service LabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes labels. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/labels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [LabelService.MutateLabels][google.ads.googleads.v11.services.LabelService.MutateLabels]. +message MutateLabelsRequest { + // Required. ID of the customer whose labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on labels. + repeated LabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a label. +message LabelOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new label. + google.ads.googleads.v11.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v11.resources.Label update = 2; + + // Remove operation: A resource name for the label being removed, in + // this format: + // + // `customers/{customer_id}/labels/{label_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + } +} + +// Response message for a labels mutate. +message MutateLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateLabelResult results = 2; +} + +// The result for a label mutate. +message MutateLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + + // The mutated label with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.Label label = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/media_file_service.proto new file mode 100644 index 00000000..cdbb0885 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/media_file_service.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/media_file.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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// 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) = { + post: "/v11/customers/{customer_id=*}/mediaFiles:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v11.services.MediaFileService.MutateMediaFiles] +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. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v11.resources.MediaFile create = 1; + } +} + +// 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". + google.ads.googleads.v11.resources.MediaFile media_file = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/merchant_center_link_service.proto new file mode 100644 index 00000000..7180a749 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/merchant_center_link_service.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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/merchant_center_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// 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) = { + get: "/v11/customers/{customer_id=*}/merchantCenterLinks" + }; + 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]() + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v11.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v11/{resource_name=customers/*/merchantCenterLinks/*}" + }; + 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) = { + post: "/v11/customers/{customer_id=*}/merchantCenterLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v11.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +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]; +} + +// Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v11.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +message ListMerchantCenterLinksResponse { + // Merchant Center links available for the requested customer + repeated google.ads.googleads.v11.resources.MerchantCenterLink merchant_center_links = 1; +} + +// Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v11.services.MerchantCenterLinkService.GetMerchantCenterLink]. +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" + } + ]; +} + +// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v11.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +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. + google.ads.googleads.v11.resources.MerchantCenterLink update = 1; + + // 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/google-cloud/protos/google/ads/googleads/v11/services/offline_user_data_job_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/offline_user_data_job_service.proto new file mode 100644 index 00000000..5073ce05 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/offline_user_data_job_service.proto @@ -0,0 +1,212 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/offline_user_data.proto"; +import "google/ads/googleads/v11/resources/offline_user_data_job.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the OfflineUserDataJobService. + +// Service to manage offline user data jobs. +service OfflineUserDataJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [NotAllowlistedError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc CreateOfflineUserDataJob(CreateOfflineUserDataJobRequest) returns (CreateOfflineUserDataJobResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/offlineUserDataJobs:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,job"; + } + + // Adds operations to the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc AddOfflineUserDataJobOperations(AddOfflineUserDataJobOperationsRequest) returns (AddOfflineUserDataJobOperationsResponse) { + option (google.api.http) = { + post: "/v11/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,operations"; + } + + // Runs the offline user data job. + // + // When finished, the long running operation will contain the processing + // result or failure information, if any. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc RunOfflineUserDataJob(RunOfflineUserDataJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v11/{resource_name=customers/*/offlineUserDataJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v11.resources.OfflineUserDataJobMetadata" + }; + } +} + +// Request message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v11.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobRequest { + // Required. The ID of the customer for which to create an offline user data job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The offline user data job to be created. + google.ads.googleads.v11.resources.OfflineUserDataJob job = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // If true, match rate range for the offline user data job is calculated and + // made available in the resource. + bool enable_match_rate_range_preview = 5; +} + +// Response message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v11.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v11.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +message RunOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v11.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsRequest { + // Required. The resource name of the OfflineUserDataJob. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // True to enable partial failure for the offline user data job. + optional bool enable_partial_failure = 4; + + // True to enable warnings for the offline user data job. When enabled, a + // warning will not block the OfflineUserDataJobOperation, and will also + // return warning messages about malformed field values. + optional bool enable_warnings = 6; + + // Required. The list of operations to be done. + repeated OfflineUserDataJobOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; +} + +// Operation to be made for the AddOfflineUserDataJobOperationsRequest. +message OfflineUserDataJobOperation { + // Operation to be made for the AddOfflineUserDataJobOperationsRequest. + oneof operation { + // Add the provided data to the transaction. Data cannot be retrieved after + // being uploaded. + google.ads.googleads.v11.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v11.common.UserData remove = 2; + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v11.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // Non blocking errors that pertain to operation failures in the warnings + // mode. Returned only when enable_warnings = true. + google.rpc.Status warning = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/payments_account_service.proto new file mode 100644 index 00000000..3bf7b3ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/payments_account_service.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/payments_account.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the payments account service. + +// Service to provide payments accounts that can be used to set up consolidated +// billing. +service PaymentsAccountService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all payments accounts associated with all managers + // between the login customer ID and specified serving customer in the + // hierarchy, inclusive. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PaymentsAccountError]() + // [QuotaError]() + // [RequestError]() + rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) { + option (google.api.http) = { + get: "/v11/customers/{customer_id=*}/paymentsAccounts" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for fetching all accessible payments accounts. +message ListPaymentsAccountsRequest { + // Required. The ID of the customer to apply the PaymentsAccount list operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v11.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v11.resources.PaymentsAccount payments_accounts = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/reach_plan_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/reach_plan_service.proto new file mode 100644 index 00000000..a04036a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/reach_plan_service.proto @@ -0,0 +1,665 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/common/dates.proto"; +import "google/ads/googleads/v11/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v11/enums/reach_plan_ad_length.proto"; +import "google/ads/googleads/v11/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v11/enums/reach_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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the reach plan service. + +// Reach Plan Service gives users information about audience size that can +// be reached through advertisement on YouTube. In particular, +// GenerateReachForecast provides estimated number of people of specified +// demographics that can be reached by an ad in a given market by a campaign of +// certain duration with a defined budget. +service ReachPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the list of plannable locations (for example, countries). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableLocations(ListPlannableLocationsRequest) returns (ListPlannableLocationsResponse) { + option (google.api.http) = { + post: "/v11:listPlannableLocations" + body: "*" + }; + } + + // Returns the list of per-location plannable YouTube ad formats with allowed + // targeting. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableProducts(ListPlannableProductsRequest) returns (ListPlannableProductsResponse) { + option (google.api.http) = { + post: "/v11:listPlannableProducts" + body: "*" + }; + option (google.api.method_signature) = "plannable_location_id"; + } + + // Generates a product mix ideas given a set of preferences. This method + // helps the advertiser to obtain a good mix of ad formats and budget + // allocations based on its preferences. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateProductMixIdeas(GenerateProductMixIdeasRequest) returns (GenerateProductMixIdeasResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:generateProductMixIdeas" + body: "*" + }; + option (google.api.method_signature) = "customer_id,plannable_location_id,currency_code,budget_micros"; + } + + // Generates a reach forecast for a given targeting / product mix. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateReachForecast(GenerateReachForecastRequest) returns (GenerateReachForecastResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:generateReachForecast" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v11.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest { + +} + +// The list of plannable locations. +message ListPlannableLocationsResponse { + // The list of locations available for planning. + // See + // https://developers.google.com/google-ads/api/reference/data/geotargets + // for sample locations. + repeated PlannableLocation plannable_locations = 1; +} + +// A plannable location: country, metro region, province, etc. +message PlannableLocation { + // The location identifier. + optional string id = 4; + + // The unique location name in English. + optional string name = 5; + + // The parent country (not present if location is a country). + // If present, will always be a GeoTargetConstant ID. Additional information + // such as country name is provided by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v11.services.ReachPlanService.ListPlannableLocations] or + // [GoogleAdsService.Search/SearchStream][]. + optional int64 parent_country_id = 6; + + // The ISO-3166-1 alpha-2 country code that is associated with the location. + optional string country_code = 7; + + // The location's type. Location types correspond to target_type returned by + // searching location type in [GoogleAdsService.Search/SearchStream][]. + optional string location_type = 8; +} + +// Request to list available products in a given location. +message ListPlannableProductsRequest { + // Required. The ID of the selected location for planning. To list the available + // plannable location IDs use [ReachPlanService.ListPlannableLocations][google.ads.googleads.v11.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response with all available products. +message ListPlannableProductsResponse { + // The list of products available for planning and related targeting metadata. + repeated ProductMetadata product_metadata = 1; +} + +// The metadata associated with an available plannable product. +message ProductMetadata { + // The code associated with the ad product (for example: BUMPER, + // TRUEVIEW_IN_STREAM). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v11.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 4; + + // The name associated with the ad product. + string plannable_product_name = 3; + + // The allowed plannable targeting for this product. + PlannableTargeting plannable_targeting = 2; +} + +// The targeting for which traffic metrics will be reported. +message PlannableTargeting { + // Allowed plannable age ranges for the product for which metrics will be + // reported. Actual targeting is computed by mapping this age range onto + // standard Google common.AgeRangeInfo values. + repeated google.ads.googleads.v11.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v11.common.GenderInfo genders = 2; + + // Targetable devices for the ad product. + // TABLET device targeting is automatically applied to reported metrics + // when MOBILE targeting is selected for CPM_MASTHEAD, + // GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products. + repeated google.ads.googleads.v11.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v11.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; + + // Targetable YouTube Select Lineups for the ad product. + repeated YouTubeSelectLineUp youtube_select_lineups = 5; +} + +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v11.services.ReachPlanService.GenerateProductMixIdeas]. +message GenerateProductMixIdeasRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID of the location, this is one of the IDs returned by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v11.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Currency code. + // Three-character ISO 4217 currency code. + string currency_code = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. Total budget. + // Amount in micros. One million is equivalent to one unit. + int64 budget_micros = 8 [(google.api.field_behavior) = REQUIRED]; + + // The preferences of the suggested product mix. + // An unset preference is interpreted as all possible values are allowed, + // unless explicitly specified. + Preferences preferences = 5; +} + +// Set of preferences about the planned mix. +message Preferences { + // True if ad skippable. + // If not set, default is any value. + optional bool is_skippable = 6; + + // True if ad start with sound. + // If not set, default is any value. + optional bool starts_with_sound = 7; + + // The length of the ad. + // If not set, default is any value. + google.ads.googleads.v11.enums.ReachPlanAdLengthEnum.ReachPlanAdLength ad_length = 3; + + // True if ad will only show on the top content. + // If not set, default is false. + optional bool top_content_only = 8; + + // True if the price is guaranteed. The cost of serving the ad is agreed + // upfront and not subject to an auction. + // If not set, default is any value. + optional bool has_guaranteed_price = 9; +} + +// The suggested product mix. +message GenerateProductMixIdeasResponse { + // A list of products (ad formats) and the associated budget allocation idea. + repeated ProductAllocation product_allocation = 1; +} + +// An allocation of a part of the budget on a given product. +message ProductAllocation { + // Selected product for planning. The product codes returned are within the + // set of the ones returned by ListPlannableProducts when using the same + // location ID. + optional string plannable_product_code = 3; + + // The value to be allocated for the suggested product in requested currency. + // Amount in micros. One million is equivalent to one unit. + optional int64 budget_micros = 4; +} + +// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v11.services.ReachPlanService.GenerateReachForecast]. +message GenerateReachForecastRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The currency code. + // Three-character ISO 4217 currency code. + optional string currency_code = 9; + + // Required. Campaign duration. + CampaignDuration campaign_duration = 3 [(google.api.field_behavior) = REQUIRED]; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user. + // If not specified, no cap is applied. + // + // This field is deprecated in v4 and will eventually be removed. + // Use cookie_frequency_cap_setting instead. + optional int32 cookie_frequency_cap = 10; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user during a specified time interval. + // If not specified, a default of 0 (no cap) is applied. + // + // This field replaces the deprecated cookie_frequency_cap field. + FrequencyCap cookie_frequency_cap_setting = 8; + + // Chosen minimum effective frequency (the number of times a person was + // exposed to the ad) for the reported reach metrics [1-10]. + // This won't affect the targeting, but just the reporting. + // If not specified, a default of 1 is applied. + // + // This field cannot be combined with the effective_frequency_limit field. + optional int32 min_effective_frequency = 11; + + // The highest minimum effective frequency (the number of times a person was + // exposed to the ad) value [1-10] to include in + // Forecast.effective_frequency_breakdowns. + // If not specified, Forecast.effective_frequency_breakdowns will not be + // provided. + // + // The effective frequency value provided here will also be used as the + // minimum effective frequency for the reported reach metrics. + // + // This field cannot be combined with the min_effective_frequency field. + optional EffectiveFrequencyLimit effective_frequency_limit = 12; + + // The targeting to be applied to all products selected in the product mix. + // + // This is planned targeting: execution details might vary based on the + // advertising product, consult an implementation specialist. + // + // See specific metrics for details on how targeting affects them. + Targeting targeting = 6; + + // Required. The products to be forecast. + // The max number of allowed planned products is 15. + repeated PlannedProduct planned_products = 7 [(google.api.field_behavior) = REQUIRED]; + + // Controls the forecast metrics returned in the response. + ForecastMetricOptions forecast_metric_options = 13; + + // The name of the customer being planned for. This is a user-defined value. + // Required if targeting.audience_targeting is set. + optional string customer_reach_group = 14; +} + +// Effective frequency limit. +message EffectiveFrequencyLimit { + // The highest effective frequency value to include in + // Forecast.effective_frequency_breakdowns. + // This field supports frequencies 1-10, inclusive. + int32 effective_frequency_breakdown_limit = 1; +} + +// A rule specifying the maximum number of times an ad can be shown to a user +// over a particular time period. +message FrequencyCap { + // Required. The number of impressions, inclusive. + int32 impressions = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of time unit. + google.ads.googleads.v11.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // Required. The ID of the selected location. Plannable location IDs can be + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v11.services.ReachPlanService.ListPlannableLocations]. + optional string plannable_location_id = 6; + + // Targeted age range. + // An unset value is equivalent to targeting all ages. + google.ads.googleads.v11.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v11.common.GenderInfo genders = 3; + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v11.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v11.common.DeviceInfo devices = 4; + + // Targetable network for the ad product. + // If not specified, targets all applicable networks. Applicable networks vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v11.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v11.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = 5; + + // Targeted audiences. + // If not specified, does not target any specific audience. + AudienceTargeting audience_targeting = 7; +} + +// The duration of a planned campaign. +message CampaignDuration { + // The duration value in days. + // + // This field cannot be combined with the date_range field. + optional int32 duration_in_days = 2; + + // Date range of the campaign. + // Dates are in the yyyy-mm-dd format and inclusive. + // The end date must be < 1 year in the future and the + // date range must be <= 92 days long. + // + // This field cannot be combined with the duration_in_days field. + google.ads.googleads.v11.common.DateRange date_range = 3; +} + +// A product being planned for reach. +message PlannedProduct { + // Required. Selected product for planning. + // The code associated with the ad product (for example: Trueview, Bumper). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v11.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; + + // Required. Maximum budget allocation in micros for the selected product. + // The value is specified in the selected planning currency_code. + // For example: 1 000 000$ = 1 000 000 000 000 micros. + optional int64 budget_micros = 4; + + // Targeting settings for the selected product. + // To list the available targeting for each product use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v11.services.ReachPlanService.ListPlannableProducts]. + AdvancedProductTargeting advanced_product_targeting = 5; +} + +// Response message containing the generated reach curve. +message GenerateReachForecastResponse { + // Reference on target audiences for this curve. + OnTargetAudienceMetrics on_target_audience_metrics = 1; + + // The generated reach curve for the planned product mix. + ReachCurve reach_curve = 2; +} + +// The reach curve for the planned products. +message ReachCurve { + // All points on the reach curve. + repeated ReachForecast reach_forecasts = 1; +} + +// A point on reach curve. +message ReachForecast { + // The cost in micros. + int64 cost_micros = 5; + + // Forecasted traffic metrics for this point. + Forecast forecast = 2; + + // The forecasted allocation and traffic metrics for each planned product + // at this point on the reach curve. + repeated PlannedProductReachForecast planned_product_reach_forecasts = 4; +} + +// Forecasted traffic metrics for the planned products and targeting. +message Forecast { + // Number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times that exactly + // matches the Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the on_target_reach + // value will be rounded to 0. + optional int64 on_target_reach = 5; + + // Total number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times. This includes + // people that may fall outside the specified Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the total_reach + // value will be rounded to 0. + optional int64 total_reach = 6; + + // Number of ad impressions that exactly matches the Targeting. + optional int64 on_target_impressions = 7; + + // Total number of ad impressions. This includes impressions that may fall + // outside the specified Targeting, due to insufficient information on + // signed-in users. + optional int64 total_impressions = 8; + + // Number of times the ad's impressions were considered viewable. + // See https://support.google.com/google-ads/answer/7029393 for + // more information about what makes an ad viewable and how + // viewability is measured. + optional int64 viewable_impressions = 9; + + // A list of effective frequency forecasts. The list is ordered starting with + // 1+ and ending with the value set in + // GenerateReachForecastRequest.effective_frequency_limit. If no + // effective_frequency_limit was set, this list will be empty. + repeated EffectiveFrequencyBreakdown effective_frequency_breakdowns = 10; + + // Number of unique people reached that exactly matches the Targeting + // including co-viewers. + optional int64 on_target_coview_reach = 11; + + // Number of unique people reached including co-viewers. This includes + // people that may fall outside the specified Targeting. + optional int64 total_coview_reach = 12; + + // Number of ad impressions that exactly matches the Targeting including + // co-viewers. + optional int64 on_target_coview_impressions = 13; + + // Total number of ad impressions including co-viewers. This includes + // impressions that may fall outside the specified Targeting, due to + // insufficient information on signed-in users. + optional int64 total_coview_impressions = 14; +} + +// 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. + repeated google.ads.googleads.v11.common.UserInterestInfo user_interest = 1; +} + +// 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/google-cloud/protos/google/ads/googleads/v11/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/recommendation_service.proto new file mode 100644 index 00000000..f68745ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/recommendation_service.proto @@ -0,0 +1,316 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/extensions.proto"; +import "google/ads/googleads/v11/enums/keyword_match_type.proto"; +import "google/ads/googleads/v11/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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: "/v11/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: "/v11/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v11.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 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.v11.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.v11.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.v11.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.v11.common.CallFeedItem call_extensions = 1; + } + + // Parameters to use when applying sitelink extension recommendation. + message SitelinkExtensionParameters { + // Sitelink extensions to be added. This is a required field. + repeated google.ads.googleads.v11.common.SitelinkFeedItem sitelink_extensions = 1; + } + + // 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.v11.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.v11.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.v11.resources.Ad ad = 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 extension 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; + } +} + +// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v11.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.v11.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.v11.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/google-cloud/protos/google/ads/googleads/v11/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/remarketing_action_service.proto new file mode 100644 index 00000000..76a9ce84 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/remarketing_action_service.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/remarketing_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Remarketing Action service. + +// Service to manage remarketing actions. +service RemarketingActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates remarketing actions. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateRemarketingActions(MutateRemarketingActionsRequest) returns (MutateRemarketingActionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/remarketingActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v11.services.RemarketingActionService.MutateRemarketingActions]. +message MutateRemarketingActionsRequest { + // Required. The ID of the customer whose remarketing actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual remarketing actions. + repeated RemarketingActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a remarketing action. +message RemarketingActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new remarketing + // action. + google.ads.googleads.v11.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v11.resources.RemarketingAction update = 2; + } +} + +// Response message for remarketing action mutate. +message MutateRemarketingActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateRemarketingActionResult results = 2; +} + +// The result for the remarketing action mutate. +message MutateRemarketingActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/shared_criterion_service.proto new file mode 100644 index 00000000..7dc8589d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/shared_criterion_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/shared_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Shared Criterion service. + +// Service to manage shared criteria. +service SharedCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes shared criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/sharedCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v11.services.SharedCriterionService.MutateSharedCriteria]. +message MutateSharedCriteriaRequest { + // Required. The ID of the customer whose shared criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared criteria. + repeated SharedCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an shared criterion. +message SharedCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared + // criterion. + google.ads.googleads.v11.resources.SharedCriterion create = 1; + + // Remove operation: A resource name for the removed shared criterion is + // expected, in this format: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + } +} + +// Response message for a shared criterion mutate. +message MutateSharedCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedCriterionResult results = 2; +} + +// The result for the shared criterion mutate. +message MutateSharedCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + + // The mutated shared criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.SharedCriterion shared_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/shared_set_service.proto new file mode 100644 index 00000000..23e15851 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/shared_set_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/resources/shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the Shared Set service. + +// Service to manage shared sets. +service SharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/sharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v11.services.SharedSetService.MutateSharedSets]. +message MutateSharedSetsRequest { + // Required. The ID of the customer whose shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared sets. + repeated SharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v11.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an shared set. +message SharedSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared set. + google.ads.googleads.v11.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.SharedSet update = 2; + + // Remove operation: A resource name for the removed shared set is expected, + // in this format: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + } +} + +// Response message for a shared set mutate. +message MutateSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedSetResult results = 2; +} + +// The result for the shared set mutate. +message MutateSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + + // The mutated shared set with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v11.resources.SharedSet shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_setting_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_setting_service.proto new file mode 100644 index 00000000..25c481c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_setting_service.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/enums/response_content_type.proto"; +import "google/ads/googleads/v11/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.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::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"; + + // Updates Smart campaign settings for campaigns. + rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) returns (MutateSmartCampaignSettingsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.MutateSmartCampaignSetting][]. +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.v11.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.v11.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.v11.resources.SmartCampaignSetting smart_campaign_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_suggest_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_suggest_service.proto new file mode 100644 index 00000000..aef56557 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/smart_campaign_suggest_service.proto @@ -0,0 +1,226 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/ad_type_infos.proto"; +import "google/ads/googleads/v11/common/criteria.proto"; +import "google/ads/googleads/v11/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Service to get suggestions for Smart Campaigns. +service SmartCampaignSuggestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns BudgetOption suggestions. + rpc SuggestSmartCampaignBudgetOptions(SuggestSmartCampaignBudgetOptionsRequest) returns (SuggestSmartCampaignBudgetOptionsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + body: "*" + }; + } + + // Suggests a Smart campaign ad compatible with the Ad family of resources, + // based on data points such as targeting and the business to advertise. + rpc SuggestSmartCampaignAd(SuggestSmartCampaignAdRequest) returns (SuggestSmartCampaignAdResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:suggestSmartCampaignAd" + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:suggestKeywordThemes" + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. +message SuggestSmartCampaignBudgetOptionsRequest { + // Required. The ID of the customer whose budget options are to be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. For first time campaign creation use SuggestionInfo, for + // subsequent updates on BudgetOptions based on an already created campaign + // use that campaign. + oneof suggestion_data { + // Required. The resource name of the campaign to get suggestion for. + string campaign = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Information needed to get budget options + SmartCampaignSuggestionInfo suggestion_info = 3 [(google.api.field_behavior) = REQUIRED]; + } +} + +// Information needed to get suggestion for Smart Campaign. More information +// provided will help the system to derive better suggestions. +message SmartCampaignSuggestionInfo { + // A list of locations. + message LocationList { + // Required. Locations. + repeated google.ads.googleads.v11.common.LocationInfo locations = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A context that describes a business. + message BusinessContext { + // Optional. The name of the business. + string business_name = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Landing page URL of the campaign. + string final_url = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The two letter advertising language for the Smart campaign to be + // constructed, default to 'en' if not set. + string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The business ad schedule. + repeated google.ads.googleads.v11.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.v11.common.KeywordThemeInfo keyword_themes = 7 [(google.api.field_behavior) = OPTIONAL]; + + // The business settings to consider when generating suggestions. + // Settings are automatically extracted from the business when provided. + // Otherwise, these settings must be specified explicitly. + oneof business_setting { + // Optional. Context describing the business to advertise. + BusinessContext business_context = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The resource name of a Business Profile location. + // Business Profile location resource names can be fetched through the + // Business Profile API and adhere to the following format: + // `locations/{locationId}`. + // + // See the [Business Profile API] + // (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) + // for additional details. + string business_profile_location = 9 [(google.api.field_behavior) = OPTIONAL]; + } + + // The geo target of the campaign, either a list of locations or + // a single proximity shall be specified. + oneof geo_target { + // Optional. The targeting geo location by locations. + LocationList location_list = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The targeting geo location by proximity. + google.ads.googleads.v11.common.ProximityInfo proximity = 5 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. Depending on +// whether the system could suggest the options, either all of the options or +// none of them might be returned. +message SuggestSmartCampaignBudgetOptionsResponse { + // Performance metrics for a given budget option. + message Metrics { + // The estimated min daily clicks. + int64 min_daily_clicks = 1; + + // The estimated max daily clicks. + int64 max_daily_clicks = 2; + } + + // Smart Campaign budget option. + message BudgetOption { + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + int64 daily_amount_micros = 1; + + // Metrics pertaining to the suggested budget, could be empty if there is + // not enough information to derive the estimates. + Metrics metrics = 2; + } + + // Optional. The lowest budget option. + optional BudgetOption low = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The recommended budget option. + optional BudgetOption recommended = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The highest budget option. + optional BudgetOption high = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v11.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inputs used to suggest a Smart campaign ad. + // Required fields: final_url, language_code, keyword_themes. + // Optional but recommended fields to improve the quality of the suggestion: + // business_setting and geo_target. + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v11.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative descriptions. + google.ads.googleads.v11.common.SmartCampaignAdInfo ad_info = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v11.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Information to get keyword theme suggestions. + // Required fields: + // * suggestion_info.final_url + // * suggestion_info.language_code + // * suggestion_info.geo_target + // + // Recommended fields: + // * suggestion_info.business_setting + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v11.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesResponse { + // Smart campaign keyword theme suggestions. + repeated google.ads.googleads.v11.resources.KeywordThemeConstant keyword_themes = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/third_party_app_analytics_link_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/third_party_app_analytics_link_service.proto new file mode 100644 index 00000000..70be3b0e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v11.services; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// This service allows management of links between Google Ads and third party +// app analytics. +service ThirdPartyAppAnalyticsLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be + // provided to the third party when setting up app analytics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RegenerateShareableLinkId(RegenerateShareableLinkIdRequest) returns (RegenerateShareableLinkIdResponse) { + option (google.api.http) = { + post: "/v11/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + body: "*" + }; + } +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Response message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v11.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse { + +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/user_data_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/user_data_service.proto new file mode 100644 index 00000000..2411f08a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/user_data_service.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/common/offline_user_data.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the UserDataService. + +// Service to manage user data uploads. +// Any uploads made to a Customer Match list through this service will be +// eligible for matching as per the customer matching process. See +// https://support.google.com/google-ads/answer/7474263. However, the uploads +// made through this service will not be visible under the 'Segment members' +// section for the Customer Match List in the Google Ads UI. +service UserDataService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Uploads the given user data. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + // [UserDataError]() + rpc UploadUserData(UploadUserDataRequest) returns (UploadUserDataResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}:uploadUserData" + body: "*" + }; + } +} + +// Request message for [UserDataService.UploadUserData][google.ads.googleads.v11.services.UserDataService.UploadUserData] +message UploadUserDataRequest { + // Required. The ID of the customer for which to update the user data. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to be done. + repeated UserDataOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // Metadata of the request. + oneof metadata { + // Metadata for data updates to a Customer Match user list. + google.ads.googleads.v11.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 2; + } +} + +// Operation to be made for the UploadUserDataRequest. +message UserDataOperation { + // Operation to be made for the UploadUserDataRequest. + oneof operation { + // The list of user data to be appended to the user list. + google.ads.googleads.v11.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v11.common.UserData remove = 2; + } +} + +// Response message for [UserDataService.UploadUserData][google.ads.googleads.v11.services.UserDataService.UploadUserData] +// Uploads made through this service will not be visible under the 'Segment +// members' section for the Customer Match List in the Google Ads UI. +message UploadUserDataResponse { + // The date time at which the request was received by API, formatted as + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string upload_date_time = 3; + + // Number of upload data operations received by API. + optional int32 received_operations_count = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v11/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v11/services/user_list_service.proto new file mode 100644 index 00000000..7f1675ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v11/services/user_list_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v11.services; + +import "google/ads/googleads/v11/resources/user_list.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V11.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v11.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V11::Services"; + +// Proto file describing the User List service. + +// Service to manage user lists. +service UserListService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates user lists. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [StringFormatError]() + // [StringLengthError]() + // [UserListError]() + rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) { + option (google.api.http) = { + post: "/v11/customers/{customer_id=*}/userLists:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [UserListService.MutateUserLists][google.ads.googleads.v11.services.UserListService.MutateUserLists]. +message MutateUserListsRequest { + // Required. The ID of the customer whose user lists are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual user lists. + repeated UserListOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a user list. +message UserListOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new user list. + google.ads.googleads.v11.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v11.resources.UserList update = 2; + + // Remove operation: A resource name for the removed user list is expected, + // in this format: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + } +} + +// Response message for user list mutate. +message MutateUserListsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateUserListResult results = 2; +} + +// The result for the user list mutate. +message MutateUserListResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/BUILD.bazel new file mode 100644 index 00000000..ca955e44 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/BUILD.bazel @@ -0,0 +1,266 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "googleads_proto", + srcs = [], + deps = [ + "//google/ads/googleads/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", + ], +) + +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", + deps = [ + "//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", + ], +) + +# 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.v12.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//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", + ], +) + +############################################################################## +# 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_v12.yaml", + 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", + deps = [ + "//google/ads/googleads/v12/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//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", + ], +) + +############################################################################## +# 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", +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//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", + ], +) + +############################################################################## +# 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"], + grpc_service_config = "googleads_grpc_service_config.json", + opt_args = [ + "old-naming", + "lazy-import", + "python-gapic-name=googleads", + "python-gapic-templates=ads-templates", + "warehouse-package-name=google-ads", + ], +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", + "//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", + ], +) + +############################################################################## +# 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.v12", + service_yaml = "googleads_v12.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/google-cloud/protos/google/ads/googleads/v12/common/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/common/BUILD.bazel new file mode 100644 index 00000000..72d98af2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "common_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v12/enums:enums_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "common_java_proto", + deps = [":common_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "common_csharp_proto", + deps = [":common_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "common_ruby_proto", + deps = [":common_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "common_py_proto", + deps = [":common_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v12/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v12/common/ad_asset.proto new file mode 100644 index 00000000..83548f2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/ad_asset.proto @@ -0,0 +1,74 @@ +// 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.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"; + +// Proto file describing assets used inside an ad. + +// A text asset used inside an ad. +message AdTextAsset { + // Asset text. + optional string text = 4; + + // The pinned field of the asset. This restricts the asset to only serve + // within this field. Multiple assets can be pinned to the same field. An + // asset that is unpinned or pinned to a different field will not serve in a + // field where some other asset has been pinned. + google.ads.googleads.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; + + // 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v12/common/ad_type_infos.proto new file mode 100644 index 00000000..4bf1efbf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/ad_type_infos.proto @@ -0,0 +1,710 @@ +// 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.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"; + +// 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 Smart Shopping ad. +message ShoppingSmartAdInfo { + +} + +// A standard Shopping ad. +message ShoppingProductAdInfo { + +} + +// A Shopping Comparison Listing ad. +message ShoppingComparisonListingAdInfo { + // Headline of the ad. This field is required. Allowed length is between 25 + // and 45 characters. + optional string headline = 2; +} + +// An image ad. +message ImageAdInfo { + // Width in pixels of the full size image. + optional int64 pixel_width = 15; + + // Height in pixels of the full size image. + optional int64 pixel_height = 16; + + // URL of the full size image. + optional string image_url = 17; + + // Width in pixels of the preview size image. + optional int64 preview_pixel_width = 18; + + // Height in pixels of the preview size image. + optional int64 preview_pixel_height = 19; + + // URL of the preview size image. + optional string preview_image_url = 20; + + // The mime type of the image. + google.ads.googleads.v12.enums.MimeTypeEnum.MimeType mime_type = 10; + + // The name of the image. If the image was created from a MediaFile, this is + // the MediaFile's name. If the image was created from bytes, this is empty. + optional string name = 21; + + // The image to create the ImageAd from. This can be specified in one of + // two ways. + // 1. An existing MediaFile resource. + // 2. The raw image data as bytes. + oneof image { + // The 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; +} + +// Representation of video non-skippable in-stream ad format (15 second +// in-stream non-skippable video ad). +message VideoNonSkippableInStreamAdInfo { + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 5; + + // Label on the "Call To Action" button taking the user to the video ad's + // final URL. + string action_button_label = 3; + + // Additional text displayed with the "Call To Action" button to give + // context and encourage clicking on the button. + string action_headline = 4; +} + +// Representation of video TrueView in-stream ad format (ad shown during video +// playback, often at beginning, which displays a skip button a few seconds into +// the video). +message VideoTrueViewInStreamAdInfo { + // Label on the CTA (call-to-action) button taking the user to the video ad's + // final URL. + // Required for TrueView for action campaigns, optional otherwise. + string action_button_label = 4; + + // Additional text displayed with the CTA (call-to-action) button to give + // context and encourage clicking on the button. + string action_headline = 5; + + // The image assets of the companion banner used with the ad. + AdImageAsset companion_banner = 7; +} + +// Representation of video out-stream ad format (ad shown alongside a feed +// with automatic playback, without sound). +message VideoOutstreamAdInfo { + // The headline of the ad. + string headline = 3; + + // The description line. + string description = 4; +} + +// Representation of In-feed video ad format. +message InFeedVideoAdInfo { + // The headline of the ad. + string headline = 1; + + // First text line for the ad. + string description1 = 2; + + // Second text line for the ad. + string description2 = 3; + + // Video thumbnail image to use. + google.ads.googleads.v12.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = 4; +} + +// A video ad. +message VideoAdInfo { + // The YouTube video assets used for the ad. + AdVideoAsset video = 8; + + // Format-specific schema for the different video formats. + oneof format { + // Video TrueView in-stream ad format. + VideoTrueViewInStreamAdInfo in_stream = 2; + + // Video bumper in-stream ad format. + VideoBumperInStreamAdInfo bumper = 3; + + // Video out-stream ad format. + VideoOutstreamAdInfo out_stream = 4; + + // Video non-skippable in-stream ad format. + VideoNonSkippableInStreamAdInfo non_skippable = 5; + + // In-feed video ad format. + InFeedVideoAdInfo in_feed = 9; + } +} + +// A video responsive ad. +message VideoResponsiveAdInfo { + // List of text assets used for the short headline, 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. + google.ads.googleads.v12.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 28; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 29; +} + +// An app ad. +message AppAdInfo { + // Mandatory ad text. + AdTextAsset mandatory_ad_text = 1; + + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 2; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 3; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 4; + + // List of YouTube video assets that may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 5; + + // List of media bundle assets that may be used with the ad. + repeated AdMediaBundleAsset html5_media_bundles = 6; +} + +// App engagement ads allow you to write text encouraging a specific action in +// the app, like checking in, making a purchase, or booking a flight. +// They allow you to send users to a specific part of your app where they can +// find what they're looking for easier and faster. +message AppEngagementAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of video assets that may be displayed with the ad. + repeated AdVideoAsset videos = 4; +} + +// App pre-registration ads link to your app or game listing on Google Play, and +// can run on Google Play, on YouTube (in-stream only), and within other apps +// and mobile websites on the Display Network. It will help capture people's +// interest in your app or game and generate an early install base for your app +// or game before a launch. +message AppPreRegistrationAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image asset IDs whose images may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of YouTube video asset IDs whose videos may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 4; +} + +// A legacy app install ad that only can be used by a few select customers. +message LegacyAppInstallAdInfo { + // The ID of the mobile app. + optional string app_id = 6; + + // The app store the mobile app is available in. + google.ads.googleads.v12.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; + + // The headline of the ad. + optional string headline = 7; + + // The first description line of the ad. + optional string description1 = 8; + + // The second description line of the ad. + optional string description2 = 9; +} + +// A responsive display ad. +message ResponsiveDisplayAdInfo { + // Marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined + // with `square_marketing_images`, the maximum is 15. + repeated AdImageAsset marketing_images = 1; + + // Square marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). At least one square `marketing_image` is required. Combined + // with `marketing_images`, the maximum is 15. + repeated AdImageAsset square_marketing_images = 2; + + // Logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must + // be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset logo_images = 3; + + // Square logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must + // be 1:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset square_logo_images = 4; + + // Short format headlines for the ad. The maximum length is 30 characters. + // At least 1 and max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // A required long format headline. The maximum length is 90 characters. + AdTextAsset long_headline = 6; + + // Descriptive texts for the ad. The maximum length is 90 characters. At + // least 1 and max 5 headlines can be specified. + repeated AdTextAsset descriptions = 7; + + // Optional YouTube videos for the ad. A maximum of 5 videos can be specified. + repeated AdVideoAsset youtube_videos = 8; + + // The advertiser/brand name. Maximum display width is 25. + optional string business_name = 17; + + // The main color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 18; + + // The accent color of the ad in hexadecimal, for example, #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string accent_color = 19; + + // Advertiser's consent to allow flexible color. When true, the ad may be + // served with different color if necessary. When false, the ad will be served + // with the specified colors or a neutral color. + // The default value is `true`. + // Must be true if `main_color` and `accent_color` are not set. + optional bool allow_flexible_color = 20; + + // The call-to-action text for the ad. Maximum display width is 30. + optional string call_to_action_text = 21; + + // Prefix before price. For example, 'as low as'. + optional string price_prefix = 22; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 23; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v12.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; + + // Specification for various creative controls. + ResponsiveDisplayAdControlSpec control_spec = 24; +} + +// A local ad. +message LocalAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. At least 1 and at most 5 headlines must be + // specified. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. At least 1 and at most 5 descriptions must + // be specified. + repeated AdTextAsset descriptions = 2; + + // List of text assets for call-to-actions. When the ad serves the + // call-to-actions will be selected from this list. At least 1 and at most + // 5 call-to-actions must be specified. + repeated AdTextAsset call_to_actions = 3; + + // List of marketing image assets that may be displayed with the ad. The + // images must be 314x600 pixels or 320x320 pixels. At least 1 and at most + // 20 image assets must be specified. + repeated AdImageAsset marketing_images = 4; + + // List of logo image assets that may be displayed with the ad. The images + // must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 + // image assets must be specified. + repeated AdImageAsset logo_images = 5; + + // List of YouTube video assets that may be displayed with the ad. At least 1 + // and at most 20 video assets must be specified. + repeated AdVideoAsset videos = 6; + + // First part of optional text that can be appended to the URL in the ad. + optional string path1 = 9; + + // Second part of optional text that can be appended to the URL in the ad. + // This field can only be set when `path1` is also set. + optional string path2 = 10; +} + +// A generic type of display ad. The exact ad format is controlled by the +// `display_upload_product_type` field, which determines what kinds of data +// need to be included with the ad. +message DisplayUploadAdInfo { + // The product type of this ad. See comments on the enum for details. + google.ads.googleads.v12.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; + + // The asset data that makes up the ad. + oneof media_asset { + // A media bundle asset to be used in the ad. For information about the + // media bundle for HTML5_UPLOAD_AD, see + // https://support.google.com/google-ads/answer/1722096 + // Media bundles that are part of dynamic product types use a special format + // that needs to be created through the Google Web Designer. See + // https://support.google.com/webdesigner/answer/7543898 for more + // information. + AdMediaBundleAsset media_bundle = 2; + } +} + +// Specification for various creative controls for a responsive display ad. +message ResponsiveDisplayAdControlSpec { + // Whether the advertiser has opted into the asset enhancements feature. + bool enable_asset_enhancements = 1; + + // Whether the advertiser has opted into auto-gen video feature. + bool enable_autogen_video = 2; +} + +// A Smart campaign ad. +message SmartCampaignAdInfo { + // List of text assets, each of which corresponds to a headline when the ad + // serves. This list consists of a minimum of 3 and up to 15 text assets. + repeated AdTextAsset headlines = 1; + + // List of text assets, each of which corresponds to a description when the ad + // serves. This list consists of a minimum of 2 and up to 4 text assets. + repeated AdTextAsset descriptions = 2; +} + +// A call ad. +message CallAdInfo { + // The country code in the ad. + string country_code = 1; + + // The phone number in the ad. + string phone_number = 2; + + // The business name in the ad. + string business_name = 3; + + // First headline in the ad. + string headline1 = 11; + + // Second headline in the ad. + string headline2 = 12; + + // The first line of the ad's description. + string description1 = 4; + + // The second line of the ad's description. + string description2 = 5; + + // Whether to enable call tracking for the creative. Enabling call + // tracking also enables call conversions. + bool call_tracked = 6; + + // Whether to disable call conversion for the creative. + // If set to `true`, disables call conversions even when `call_tracked` is + // `true`. + // If `call_tracked` is `false`, this field is ignored. + bool disable_call_conversion = 7; + + // The URL to be used for phone number verification. + string phone_number_verification_url = 8; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // `call_tracked` is set to `true`. Otherwise this field is ignored. + string conversion_action = 9; + + // The call conversion behavior of this call ad. It can use its own call + // conversion setting, inherit the account level setting, or be disabled. + google.ads.googleads.v12.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; + + // First part of text that can be appended to the URL in the ad. Optional. + string path1 = 13; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. Optional. + string path2 = 14; +} + +// A discovery multi asset ad. +message DiscoveryMultiAssetAdInfo { + // Marketing image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). Required if square_marketing_images is + // not present. Combined with `square_marketing_images` and + // `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset marketing_images = 1; + + // Square marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). Required if marketing_images is not present. Combined with + // `marketing_images` and `portrait_marketing_images` the maximum is 20. + repeated AdImageAsset square_marketing_images = 2; + + // Portrait marketing image assets to be used in the ad. Valid image types are + // GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must + // be 4:5 (+-1%). Combined with `marketing_images` and + // `square_marketing_images` the maximum is 20. + repeated AdImageAsset portrait_marketing_images = 3; + + // Logo image assets to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be + // 1:1(+-1%). At least 1 and max 5 logo images can be specified. + repeated AdImageAsset logo_images = 4; + + // Headline text asset of the ad. Maximum display width is 30. At least 1 and + // max 5 headlines can be specified. + repeated AdTextAsset headlines = 5; + + // The descriptive text of the ad. Maximum display width is 90. At least 1 and + // max 5 descriptions can be specified. + repeated AdTextAsset descriptions = 6; + + // The Advertiser/brand name. Maximum display width is 25. Required. + optional string business_name = 7; + + // Call to action text. + optional string call_to_action_text = 8; + + // Boolean option that indicates if this ad must be served with lead form. + optional bool lead_form_only = 9; +} + +// A discovery carousel ad. +message DiscoveryCarouselAdInfo { + // Required. The Advertiser/brand name. + string business_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Logo image to be used in the ad. The minimum size is 128x128 and the + // aspect ratio must be 1:1(+-1%). + AdImageAsset logo_image = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Headline of the ad. + AdTextAsset headline = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The descriptive text of the ad. + AdTextAsset description = 4 [(google.api.field_behavior) = REQUIRED]; + + // Call to action text. + string call_to_action_text = 5; + + // Required. Carousel cards that will display with the ad. Min 2 max 10. + repeated AdDiscoveryCarouselCardAsset carousel_cards = 6 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/asset_policy.proto b/google-cloud/protos/google/ads/googleads/v12/common/asset_policy.proto new file mode 100644 index 00000000..70ba6faf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/asset_policy.proto @@ -0,0 +1,45 @@ +// 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.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 = "AssetPolicyProto"; +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"; + +// 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.v12.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.v12.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/asset_set_types.proto b/google-cloud/protos/google/ads/googleads/v12/common/asset_set_types.proto new file mode 100644 index 00000000..50294fdf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/asset_set_types.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v12.common; + +import "google/ads/googleads/v12/enums/chain_relationship_type.proto"; +import "google/ads/googleads/v12/enums/location_ownership_type.proto"; +import "google/ads/googleads/v12/enums/location_string_filter_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 = "AssetSetTypesProto"; +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"; + +// 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.v12.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.v12.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.v12.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/google-cloud/protos/google/ads/googleads/v12/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v12/common/asset_types.proto new file mode 100644 index 00000000..3d57ba85 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/asset_types.proto @@ -0,0 +1,1023 @@ +// 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.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"; + +// 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.v12.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.v12.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. + 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.v12.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.v12.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.v12.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; + } +} + +// 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; + } +} + +// 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.v12.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.v12.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.v12.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.v12.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.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; + + // 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.v12.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.v12.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.v12.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/google-cloud/protos/google/ads/googleads/v12/common/asset_usage.proto b/google-cloud/protos/google/ads/googleads/v12/common/asset_usage.proto new file mode 100644 index 00000000..293a3ed7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/asset_usage.proto @@ -0,0 +1,39 @@ +// 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.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"; + +// 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.v12.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType served_asset_field_type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/audiences.proto b/google-cloud/protos/google/ads/googleads/v12/common/audiences.proto new file mode 100644 index 00000000..6dab1a69 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/audiences.proto @@ -0,0 +1,173 @@ +// 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.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"; + +// 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.v12.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.v12.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.v12.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. +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/google-cloud/protos/google/ads/googleads/v12/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v12/common/bidding.proto new file mode 100644 index 00000000..15ba9c51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/bidding.proto @@ -0,0 +1,208 @@ +// 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.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"; + +// 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 { + +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v12.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; + + // The chosen fraction of ads to be shown in the targeted location in micros. + // For example, 1% equals 10,000. + optional int64 location_fraction_micros = 4; + + // The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 5; +} + +// An automated bidding strategy that helps you maximize revenue while +// averaging a specific target return on ad spend (ROAS). +message TargetRoas { + // Required. The chosen revenue (based on conversion data) per unit of spend. + // Value must be between 0.01 and 1000.0, inclusive. + optional double target_roas = 4; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_ceiling_micros = 5; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + // This should only be set for portfolio bid strategies. + optional int64 cpc_bid_floor_micros = 6; +} + +// An automated bid strategy that sets your bids to help get as many clicks +// as possible within your budget. +message TargetSpend { + // The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 3 [deprecated = true]; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 4; +} + +// A bidding strategy where bids are a fraction of the advertised price for +// some good or service. +message PercentCpc { + // Maximum bid limit that can be set by the bid strategy. This is + // an optional field entered by the advertiser and specified in local micros. + // Note: A zero value is interpreted in the same way as having bid_ceiling + // undefined. + optional int64 cpc_bid_ceiling_micros = 3; + + // Adjusts the bid for each auction upward or downward, depending on the + // likelihood of a conversion. Individual bids may exceed + // cpc_bid_ceiling_micros, but the average bid amount for a campaign should + // not. + optional bool enhanced_cpc_enabled = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v12/common/click_location.proto new file mode 100644 index 00000000..14b44480 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/click_location.proto @@ -0,0 +1,46 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v12/common/criteria.proto new file mode 100644 index 00000000..efc77604 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/criteria.proto @@ -0,0 +1,714 @@ +// 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.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"; + +// Proto file describing criteria types. + +// A keyword criterion. +message KeywordInfo { + // The text of the keyword (at most 80 characters and 10 words). + optional string text = 3; + + // The match type of the keyword. + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +} + +// A placement criterion. This can be used to modify bids for sites when +// targeting the content network. +message PlacementInfo { + // URL of the placement. + // + // For example, "http://www.domain.com". + optional string url = 2; +} + +// A 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. + 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; +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. + google.ads.googleads.v12.enums.ListingGroupTypeEnum.ListingGroupType type = 1; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingDimensionInfo case_value = 2; + + // Resource name of ad group criterion which is the parent listing group + // subdivision. Null for the root group. + optional string parent_ad_group_criterion = 4; +} + +// 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. + ProductGroupingInfo product_grouping = 17; + + // Labels of a product offer. + ProductLabelsInfo product_labels = 18; + + // Legacy condition of a product offer. + ProductLegacyConditionInfo product_legacy_condition = 19; + + // Full type of a product offer. + ProductTypeFullInfo product_type_full = 20; + + // 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; + + // Two-letter upper-case country code of the product bidding category. It must + // match the campaign.shopping_setting.sales_country field. + optional string country_code = 5; + + // Level of the product bidding category. + google.ads.googleads.v12.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; +} + +// Brand of the product. +message ProductBrandInfo { + // String value of the product brand. + optional string value = 2; +} + +// Locality of a product offer. +message ProductChannelInfo { + // Value of the locality. + google.ads.googleads.v12.enums.ProductChannelEnum.ProductChannel channel = 1; +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. + google.ads.googleads.v12.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. + google.ads.googleads.v12.enums.ProductConditionEnum.ProductCondition condition = 1; +} + +// Custom attribute of a product offer. +message ProductCustomAttributeInfo { + // String value of the product custom attribute. + optional string value = 3; + + // Indicates the index of the custom attribute. + google.ads.googleads.v12.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; +} + +// Item id of a product offer. +message ProductItemIdInfo { + // Value of the id. + optional string value = 2; +} + +// Type of a product offer. +message ProductTypeInfo { + // Value of the type. + optional string value = 3; + + // Level of the type. + google.ads.googleads.v12.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; +} + +// Grouping of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductGroupingInfo { + // String value of the product grouping. + optional string value = 1; +} + +// Labels of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductLabelsInfo { + // String value of the product labels. + optional string value = 1; +} + +// Legacy condition of a product offer. This listing dimension is deprecated and +// it is supported only in Display campaigns. +message ProductLegacyConditionInfo { + // String value of the product legacy condition. + optional string value = 1; +} + +// Full type of a product offer. This listing dimension is deprecated and it is +// supported only in Display campaigns. +message ProductTypeFullInfo { + // String value of the product full type. + optional string value = 1; +} + +// Unknown listing dimension. +message UnknownListingDimensionInfo { + +} + +// Criterion for hotel date selection (default dates versus user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v12.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; +} + +// Criterion for number of days prior to the stay the booking is being made. +message HotelAdvanceBookingWindowInfo { + // Low end of the number of days prior to the stay. + optional int64 min_days = 3; + + // High end of the number of days prior to the stay. + optional int64 max_days = 4; +} + +// Criterion for length of hotel stay in nights. +message HotelLengthOfStayInfo { + // Low end of the number of nights in the stay. + optional int64 min_nights = 3; + + // High end of the number of nights in the stay. + optional int64 max_nights = 4; +} + +// Criterion for a check-in date range. +message HotelCheckInDateRangeInfo { + // Start date in the YYYY-MM-DD format. + string start_date = 1; + + // End date in the YYYY-MM-DD format. + string end_date = 2; +} + +// Criterion for day of the week the booking is for. +message HotelCheckInDayInfo { + // The day of the week. + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. + google.ads.googleads.v12.enums.InteractionTypeEnum.InteractionType type = 1; +} + +// Represents an AdSchedule criterion. +// +// AdSchedule is specified as the day of the week and a time interval +// within which ads will be shown. +// +// No more than six AdSchedules can be added for the same day. +message AdScheduleInfo { + // Minutes after the start hour at which this schedule starts. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v12.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; + + // Minutes after the end hour at which this schedule ends. The schedule is + // exclusive of the end minute. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v12.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; + + // Starting hour in 24 hour time. + // This field must be between 0 and 23, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 start_hour = 6; + + // Ending hour in 24 hour time; 24 signifies end of the day. + // This field must be between 0 and 24, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 end_hour = 7; + + // Day of the week the schedule applies to. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v12.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. + google.ads.googleads.v12.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. + google.ads.googleads.v12.enums.GenderTypeEnum.GenderType type = 1; +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. + google.ads.googleads.v12.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. + google.ads.googleads.v12.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; +} + +// A YouTube Video criterion. +message YouTubeVideoInfo { + // YouTube video id as it appears on the YouTube watch page. + optional string video_id = 2; +} + +// A YouTube Channel criterion. +message YouTubeChannelInfo { + // The YouTube uploader channel id or the channel code of a YouTube channel. + optional string channel_id = 2; +} + +// A User List criterion. Represents a user list that is defined by the +// advertiser to be targeted. +message UserListInfo { + // The User List resource name. + optional string user_list = 2; +} + +// A Proximity criterion. The geo point and radius determine what geographical +// area is included. The address is a description of the geo point that does +// not affect ad serving. +// +// There are two ways to create a proximity. First, by setting an address +// and radius. The geo point will be automatically computed. Second, by +// setting a geo point and radius. The address is an optional label that won't +// be validated. +message ProximityInfo { + // Latitude and longitude. + GeoPointInfo geo_point = 1; + + // The radius of the proximity. + optional double radius = 5; + + // The unit of measurement of the radius. Default is KILOMETERS. + google.ads.googleads.v12.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; + + // Full address. + AddressInfo address = 4; +} + +// Geo point for proximity criterion. +message GeoPointInfo { + // Micro degrees for the longitude. + optional int32 longitude_in_micro_degrees = 3; + + // Micro degrees for the latitude. + optional int32 latitude_in_micro_degrees = 4; +} + +// Address for proximity criterion. +message AddressInfo { + // Postal code. + optional string postal_code = 8; + + // Province or state code. + optional string province_code = 9; + + // Country code. + optional string country_code = 10; + + // Province or state name. + optional string province_name = 11; + + // Street address line 1. + optional string street_address = 12; + + // Street address line 2. This field is write-only. It is only used for + // calculating the longitude and latitude of an address when geo_point is + // empty. + optional string street_address2 = 13; + + // Name of the city. + optional string city_name = 14; +} + +// A topic criterion. Use topics to target or exclude placements in the +// Google Display Network based on the category into which the placement falls +// (for example, "Pets & Animals/Pets/Dogs"). +message TopicInfo { + // The Topic Constant resource name. + optional string topic_constant = 3; + + // The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" + // category. + repeated string path = 4; +} + +// A language criterion. +message LanguageInfo { + // The language constant resource name. + optional string language_constant = 2; +} + +// An IpBlock criterion used for IP exclusions. We allow: +// - IPv4 and IPv6 addresses +// - individual addresses (192.168.0.1) +// - masks for individual addresses (192.168.0.1/32) +// - masks for Class C networks (192.168.0.1/24) +message IpBlockInfo { + // The IP address of this IP block. + optional string ip_address = 2; +} + +// Content Label for category exclusion. +message ContentLabelInfo { + // Content label type, required for CREATE operations. + google.ads.googleads.v12.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +} + +// 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. + google.ads.googleads.v12.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v12.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; + + // Argument of webpage targeting condition. + optional string argument = 4; +} + +// List of sample urls that match the website target +message WebpageSampleInfo { + // Webpage sample urls + repeated string sample_urls = 1; +} + +// Represents an operating system version to be targeted. +message OperatingSystemVersionInfo { + // The operating system version constant resource name. + optional string operating_system_version_constant = 2; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. + google.ads.googleads.v12.enums.AppPaymentModelTypeEnum.AppPaymentModelType 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. + google.ads.googleads.v12.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; + + // FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, + // then all items that appear in at least one set are targeted. This field + // cannot be used with geo_target_constants. This is optional and can only be + // set in CREATE operations. Cannot be set with AssetSet fields. + repeated string feed_item_sets = 8; + + // Denotes that the latest customer level asset set is used for targeting. + // Used with radius and radius_units. Cannot be used with + // feed, geo target constants or feed item sets. When using asset sets, either + // this field or location_group_asset_sets should be specified. Both cannot be + // used at the same time. This can only be set in CREATE operations. + optional bool enable_customer_level_location_asset_set = 9; + + // AssetSets whose Assets are targeted. If multiple IDs are specified, then + // all items that appear in at least one set are targeted. This field cannot + // be used with feed, geo target constants or feed item sets. When using asset + // sets, either this field or enable_customer_level_location_asset_set should + // be specified. Both cannot be used at the same time. This can only be set + // in CREATE operations. + repeated string location_group_asset_sets = 10; +} + +// A custom audience criterion. +message CustomAudienceInfo { + // The CustomAudience resource name. + string custom_audience = 1; +} + +// A combined audience criterion. +message CombinedAudienceInfo { + // The CombinedAudience resource name. + string combined_audience = 1; +} + +// 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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v12/common/criterion_category_availability.proto new file mode 100644 index 00000000..d3a02443 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/criterion_category_availability.proto @@ -0,0 +1,81 @@ +// 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.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"; + +// Proto file describing criterion category availability information. + +// Information of category availability, per advertising channel. +message CriterionCategoryAvailability { + // Channel types and subtypes that are available to the category. + CriterionCategoryChannelAvailability channel = 1; + + // Locales that are available to the category for the channel. + repeated CriterionCategoryLocaleAvailability locale = 2; +} + +// Information of advertising channel type and subtypes a category is available +// in. +message CriterionCategoryChannelAvailability { + // Format of the channel availability. Can be ALL_CHANNELS (the rest of the + // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type + // will be set, the category is available to all sub types under it) or + // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, + // advertising_channel_sub_type, and include_default_channel_sub_type will all + // be set). + google.ads.googleads.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; + + // Whether default channel sub type is included. For example, + // advertising_channel_type being DISPLAY and include_default_channel_sub_type + // being false means that the default display campaign where channel sub type + // is not set is not included in this availability configuration. + optional bool include_default_channel_sub_type = 5; +} + +// Information about which locales a category is available in. +message CriterionCategoryLocaleAvailability { + // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and + // language will be empty), COUNTRY (only country will be set), LANGUAGE (only + // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will + // be set). + google.ads.googleads.v12.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; + + // Code of the country. + optional string country_code = 4; + + // Code of the language. + optional string language_code = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v12/common/custom_parameter.proto new file mode 100644 index 00000000..d8d4f601 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/custom_parameter.proto @@ -0,0 +1,38 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/customizer_value.proto b/google-cloud/protos/google/ads/googleads/v12/common/customizer_value.proto new file mode 100644 index 00000000..476892ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/customizer_value.proto @@ -0,0 +1,44 @@ +// 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.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"; + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { + // Required. The data type for the customizer value. It must match the attribute type. + // The string_value content must match the constraints associated with the + // type. + google.ads.googleads.v12.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Value to insert in creative text. Customizer values of all types are stored + // as string to make formatting unambiguous. + string string_value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/dates.proto b/google-cloud/protos/google/ads/googleads/v12/common/dates.proto new file mode 100644 index 00000000..168f9bf5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/dates.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.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"; + +// Proto file describing date range message. + +// A date range. +message DateRange { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 3; + + // The end date, in yyyy-mm-dd format. This date is inclusive. + optional string end_date = 4; +} + +// The year month range inclusive of the start and end months. +// Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). +message YearMonthRange { + // The inclusive start year month. + YearMonth start = 1; + + // The inclusive end year month. + YearMonth end = 2; +} + +// Year month. +message YearMonth { + // The year (for example, 2020). + int64 year = 1; + + // The month of the year. (for example, FEBRUARY). + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear month = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v12/common/explorer_auto_optimizer_setting.proto new file mode 100644 index 00000000..97982e9e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/explorer_auto_optimizer_setting.proto @@ -0,0 +1,36 @@ +// 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.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 = "ExplorerAutoOptimizerSettingProto"; +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"; + +// Proto file describing ExplorerAutoOptimizerSetting + +// Settings for the Display Campaign Optimizer, initially named "Explorer". +// Learn more about +// [automatic targeting](https://support.google.com/google-ads/answer/190596). +message ExplorerAutoOptimizerSetting { + // Indicates whether the optimizer is turned on. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v12/common/extensions.proto new file mode 100644 index 00000000..62569d56 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/extensions.proto @@ -0,0 +1,367 @@ +// 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.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"; + +// Proto file describing extension types. + +// Represents an App extension. +message AppFeedItem { + // The visible text displayed when the link is rendered in an ad. + // This string must not be empty, and the length of this string should + // be between 1 and 25, inclusive. + optional string link_text = 9; + + // The store-specific ID for the target application. + // This string must not be empty. + optional string app_id = 10; + + // The application store that the target application belongs to. + // This field is required. + google.ads.googleads.v12.enums.AppStoreEnum.AppStore app_store = 3; + + // A list of possible final URLs after all cross domain redirects. + // This list must not be empty. + repeated string final_urls = 11; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 12; + + // URL template for constructing a tracking URL. Default value is "{lpurl}". + optional string tracking_url_template = 13; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 14; +} + +// Represents a Call extension. +message CallFeedItem { + // The advertiser's phone number to append to the ad. + // This string must not be empty. + optional string phone_number = 7; + + // Uppercase two-letter country code of the advertiser's phone number. + // This string must not be empty. + optional string country_code = 8; + + // Indicates whether call tracking is enabled. By default, call tracking is + // not enabled. + optional bool call_tracking_enabled = 9; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // call_tracking_enabled is set to true. Otherwise this field is ignored. + optional string call_conversion_action = 10; + + // If true, disable call conversion tracking. call_conversion_action should + // not be set if this is true. Optional. + optional bool call_conversion_tracking_disabled = 11; + + // Enum value that indicates whether this call extension uses its own call + // conversion setting (or just have call conversion disabled), or following + // the account level setting. + google.ads.googleads.v12.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; +} + +// Represents a callout extension. +message CalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string callout_text = 2; +} + +// Represents a location extension. +message LocationFeedItem { + // The name of the business. + optional string business_name = 9; + + // Line 1 of the business address. + optional string address_line_1 = 10; + + // Line 2 of the business address. + optional string address_line_2 = 11; + + // City of the business address. + optional string city = 12; + + // Province of the business address. + optional string province = 13; + + // Postal code of the business address. + optional string postal_code = 14; + + // Country code of the business address. + optional string country_code = 15; + + // Phone number of the business. + optional string phone_number = 16; +} + +// Represents an affiliate location extension. +message AffiliateLocationFeedItem { + // The name of the business. + optional string business_name = 11; + + // Line 1 of the business address. + optional string address_line_1 = 12; + + // Line 2 of the business address. + optional string address_line_2 = 13; + + // City of the business address. + optional string city = 14; + + // Province of the business address. + optional string province = 15; + + // Postal code of the business address. + optional string postal_code = 16; + + // Country code of the business address. + optional string country_code = 17; + + // Phone number of the business. + optional string phone_number = 18; + + // Id of the retail chain that is advertised as a seller of your product. + optional int64 chain_id = 19; + + // Name of chain. + optional string chain_name = 20; +} + +// An extension that users can click on to send a text message to the +// advertiser. +message TextMessageFeedItem { + // The business name to prepend to the message text. + // This field is required. + optional string business_name = 6; + + // Uppercase two-letter country code of the advertiser's phone number. + // This field is required. + optional string country_code = 7; + + // The advertiser's phone number the message will be sent to. Required. + optional string phone_number = 8; + + // The text to show in the ad. + // This field is required. + optional string text = 9; + + // The message extension_text populated in the messaging app. + optional string extension_text = 10; +} + +// Represents a Price extension. +message PriceFeedItem { + // Price extension type of this extension. + google.ads.googleads.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; + + // Tracking URL template for all offers of this price extension. + optional string tracking_url_template = 7; + + // The code of the language used for this price extension. + optional string language_code = 8; + + // The price offerings in this price extension. + repeated PriceOffer price_offerings = 5; + + // Tracking URL template for all offers of this price extension. + optional string final_url_suffix = 9; +} + +// Represents one price offer in a price extension. +message PriceOffer { + // Header text of this offer. + optional string header = 7; + + // Description text of this offer. + optional string description = 8; + + // Price value of this offer. + Money price = 3; + + // Price unit for this offer. + google.ads.googleads.v12.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 9; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 10; +} + +// Represents a Promotion extension. +message PromotionFeedItem { + // A freeform description of what the promotion is targeting. + // This field is required. + optional string promotion_target = 16; + + // Enum that modifies the qualification of the discount. + google.ads.googleads.v12.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed. + optional string promotion_start_date = 19; + + // Last date when the promotion is eligible to be redeemed. + optional string promotion_end_date = 20; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within + // the date range associated with the occasion. + google.ads.googleads.v12.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; + + // A list of possible final URLs after all cross domain redirects. + // This field is required. + repeated string final_urls = 21; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 22; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 23; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 13; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 24; + + // The language of the promotion. + // Represented as BCP 47 language tag. + optional string language_code = 25; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion in micros. + // One million is equivalent to one percent. + // Either this or money_off_amount is required. + int64 percent_off = 17; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 18; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// Represents a structured snippet extension. +message StructuredSnippetFeedItem { + // The header of the snippet. + // This string must not be empty. + optional string header = 3; + + // The values in the snippet. + // The maximum size of this collection is 10. + repeated string values = 4; +} + +// Represents a sitelink extension. +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/google-cloud/protos/google/ads/googleads/v12/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v12/common/feed_common.proto new file mode 100644 index 00000000..59c070ee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/feed_common.proto @@ -0,0 +1,37 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto b/google-cloud/protos/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 00000000..84564e85 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,57 @@ +// 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.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"; + +// Represents a filter on locations in a feed item set. +// Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. +message DynamicLocationSetFilter { + // If multiple labels are set, then only feeditems marked with all the labels + // will be added to the FeedItemSet. + repeated string labels = 1; + + // Business name filter. + BusinessNameFilter business_name_filter = 2; +} + +// Represents a business name filter on locations in a FeedItemSet. +message BusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v12.enums.FeedItemSetStringFilterTypeEnum.FeedItemSetStringFilterType filter_type = 2; +} + +// Represents a filter on affiliate locations in a FeedItemSet. +// Only applicable if the parent Feed of the FeedItemSet is an +// AFFILIATE_LOCATION feed. +message DynamicAffiliateLocationSetFilter { + // Used to filter affiliate locations by chain ids. Only affiliate locations + // that belong to the specified chain(s) will be added to the FeedItemSet. + repeated int64 chain_ids = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v12/common/final_app_url.proto new file mode 100644 index 00000000..13add929 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/final_app_url.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.googleads.v12.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v12/common/frequency_cap.proto new file mode 100644 index 00000000..bb7de0ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/frequency_cap.proto @@ -0,0 +1,60 @@ +// 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.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"; + +// Proto file describing frequency caps. + +// A rule specifying the maximum number of times an ad (or some set of ads) can +// be shown to a user over a particular time period. +message FrequencyCapEntry { + // The key of a particular frequency cap. There can be no more + // than one frequency cap with the same key. + FrequencyCapKey key = 1; + + // Maximum number of events allowed during the time range by this cap. + optional int32 cap = 3; +} + +// A group of fields used as keys for a frequency cap. +// There can be no more than one frequency cap with the same key. +message FrequencyCapKey { + // The level on which the cap is to be applied (for example, ad group ad, ad + // group). The cap is applied to all the entities of this level. + google.ads.googleads.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; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v12/common/keyword_plan_common.proto new file mode 100644 index 00000000..31e043bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/keyword_plan_common.proto @@ -0,0 +1,148 @@ +// 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.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"; + +// Proto file describing Keyword Planner messages. + +// Historical metrics specific to the targeting options selected. +// Targeting options include geographies, network, etc. +// Refer to https://support.google.com/google-ads/answer/3022575 for more +// details. +message KeywordPlanHistoricalMetrics { + // Approximate number of monthly searches on this query averaged + // for the past 12 months. + optional int64 avg_monthly_searches = 7; + + // Approximate number of searches on this query for the past twelve months. + repeated MonthlySearchVolume monthly_search_volumes = 6; + + // The competition level for the query. + google.ads.googleads.v12.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; + + // The competition index for the query in the range [0, 100]. + // Shows how competitive ad placement is for a keyword. + // The level of competition from 0-100 is determined by the number of ad slots + // filled divided by the total number of ad slots available. If not enough + // data is available, null is returned. + optional int64 competition_index = 8; + + // Top of page bid low range (20th percentile) in micros for the keyword. + optional int64 low_top_of_page_bid_micros = 9; + + // Top of page bid high range (80th percentile) in micros for the keyword. + optional int64 high_top_of_page_bid_micros = 10; + + // Average Cost Per Click in micros for the keyword. + optional int64 average_cpc_micros = 11; +} + +// Historical metrics options. +message HistoricalMetricsOptions { + // The year month range for historical metrics. If not specified the searches + // will be returned for past 12 months. + // Searches data is 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 will be returned. + optional YearMonthRange year_month_range = 1; + + // Indicates whether to include average cost per click value. + // 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. + bool include_average_cpc = 2; +} + +// Monthly search volume. +message MonthlySearchVolume { + // The year of the search volume (for example, 2020). + optional int64 year = 4; + + // The month of the search volume. + google.ads.googleads.v12.enums.MonthOfYearEnum.MonthOfYear month = 2; + + // Approximate number of searches for the month. + // A null value indicates the search volume is unavailable for + // that month. + optional int64 monthly_searches = 5; +} + +// The aggregate metrics specification of the request. +message KeywordPlanAggregateMetrics { + // The list of aggregate metrics to fetch data. + repeated google.ads.googleads.v12.enums.KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType aggregate_metric_types = 1; +} + +// The aggregated historical metrics for keyword plan keywords. +message KeywordPlanAggregateMetricResults { + // The aggregate searches for all the keywords segmented by device + // for the specified time. + // Supports the following device types: MOBILE, TABLET, DESKTOP. + // + // This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set + // in the KeywordPlanAggregateMetrics field in the request. + repeated KeywordPlanDeviceSearches device_searches = 1; +} + +// The total searches for the device type during the specified time period. +message KeywordPlanDeviceSearches { + // The device type. + google.ads.googleads.v12.enums.DeviceEnum.Device device = 1; + + // The total searches for the device. + optional int64 search_count = 2; +} + +// The Annotations for the Keyword plan keywords. +message KeywordAnnotations { + // The list of concepts for the keyword. + repeated KeywordConcept concepts = 1; +} + +// The concept for the keyword. +message KeywordConcept { + // The concept name for the keyword in the concept_group. + string name = 1; + + // The concept group of the concept details. + ConceptGroup concept_group = 2; +} + +// The concept group for the keyword concept. +message ConceptGroup { + // The concept group name. + string name = 1; + + // The concept group type. + google.ads.googleads.v12.enums.KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v12/common/matching_function.proto new file mode 100644 index 00000000..749db42e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/matching_function.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.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"; + +// 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/adwords/api/docs/guides/feed-matching-functions + // + // Note that because multiple strings may represent the same underlying + // function (whitespace and single versus double quotation marks, for + // example), the value returned may not be identical to the string sent in a + // mutate request. + optional string function_string = 5; + + // Operator for a function. + google.ads.googleads.v12.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; + + // The operands on the left hand side of the equation. This is also the + // operand to be used for single operand expressions such as NOT. + repeated Operand left_operands = 2; + + // The operands on the right hand side of the equation. + repeated Operand right_operands = 3; +} + +// An operand in a matching function. +message Operand { + // A constant operand in a matching function. + message ConstantOperand { + // Constant operand values. Required. + oneof constant_operand_value { + // String value of the operand if it is a string type. + string string_value = 5; + + // Int64 value of the operand if it is a int64 type. + int64 long_value = 6; + + // Boolean value of the operand if it is a boolean type. + bool boolean_value = 7; + + // Double value of the operand if it is a double type. + double double_value = 8; + } + } + + // A feed attribute operand in a matching function. + // Used to represent a feed attribute in feed. + message FeedAttributeOperand { + // The associated feed. Required. + optional int64 feed_id = 3; + + // Id of the referenced feed attribute. Required. + optional int64 feed_attribute_id = 4; + } + + // A function operand in a matching function. + // Used to represent nested functions. + message FunctionOperand { + // The matching function held in this operand. + MatchingFunction matching_function = 1; + } + + // An operand in a function referring to a value in the request context. + message RequestContextOperand { + // Type of value to be referred in the request context. + google.ads.googleads.v12.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; + } + + // Different operands that can be used in a matching function. Required. + oneof function_argument_operand { + // A constant operand in a matching function. + ConstantOperand constant_operand = 1; + + // This operand specifies a feed attribute in feed. + FeedAttributeOperand feed_attribute_operand = 2; + + // A function operand in a matching function. + // Used to represent nested functions. + FunctionOperand function_operand = 3; + + // An operand in a function referring to a value in the request context. + RequestContextOperand request_context_operand = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/metric_goal.proto b/google-cloud/protos/google/ads/googleads/v12/common/metric_goal.proto new file mode 100644 index 00000000..d0361369 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/metric_goal.proto @@ -0,0 +1,42 @@ +// 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.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"; + +// 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.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v12/common/metrics.proto new file mode 100644 index 00000000..72933a4d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/metrics.proto @@ -0,0 +1,754 @@ +// 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.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"; + +// 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 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; + + // 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; + + // 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. + 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; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). + google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; + + // The number of times the ad was forwarded to someone else as a message. + optional int64 gmail_forwards = 217; + + // The number of times someone has saved your Gmail ad to their inbox as a + // message. + optional int64 gmail_saves = 218; + + // The number of clicks to the landing page on the expanded state of Gmail + // ads. + optional int64 gmail_secondary_clicks = 219; + + // The number of times a store's location-based ad was shown. + // This metric applies to feed items only. + optional int64 impressions_from_store_reach = 220; + + // Count of how often your ad has appeared on a search results page or + // website on the Google Network. + optional int64 impressions = 221; + + // How often people interact with your ad after it is shown to them. + // This is the number of interactions divided by the number of times your ad + // is shown. + optional double interaction_rate = 222; + + // The number of interactions. + // An interaction is the main user action associated with an ad format-clicks + // for text and shopping ads, views for video ads, and so on. + optional int64 interactions = 223; + + // The types of payable and free interactions. + repeated google.ads.googleads.v12.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; + + // The percentage of clicks filtered out of your total number of clicks + // (filtered + non-filtered clicks) during the reporting period. + optional double invalid_click_rate = 224; + + // Number of clicks Google considers illegitimate and doesn't charge you for. + optional int64 invalid_clicks = 225; + + // Number of message chats initiated for Click To Message impressions that + // were message tracking eligible. + optional int64 message_chats = 226; + + // Number of Click To Message impressions that were message tracking eligible. + optional int64 message_impressions = 227; + + // Number of message chats initiated (message_chats) divided by the number + // of message impressions (message_impressions). + // Rate at which a user initiates a message chat from an ad impression with + // a messaging option and message tracking enabled. + // Note that this rate can be more than 1.0 for a given message impression. + optional double message_chat_rate = 228; + + // The percentage of mobile clicks that go to a mobile-friendly page. + optional double mobile_friendly_clicks_percentage = 229; + + // Total optimization score uplift of all recommendations. + optional double optimization_score_uplift = 247; + + // URL for the optimization score page in the Google Ads web interface. + // This metric can be selected from `customer` or `campaign`, and can be + // segmented by `segments.recommendation_type`. For example, `SELECT + // metrics.optimization_score_url, segments.recommendation_type FROM + // customer` will return a URL for each unique (customer, recommendation_type) + // combination. + optional string optimization_score_url = 248; + + // The number of times someone clicked your site's listing in the unpaid + // results for a particular query. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_clicks = 230; + + // The number of times someone clicked your site's listing in the unpaid + // results (organic_clicks) divided by the total number of searches that + // returned pages from your site (organic_queries). See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_clicks_per_query = 231; + + // The number of listings for your site in the unpaid search results. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional int64 organic_impressions = 232; + + // The number of times a page from your site was listed in the unpaid search + // results (organic_impressions) divided by the number of searches returning + // your site's listing in the unpaid results (organic_queries). See the help + // page at https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_impressions_per_query = 233; + + // The total number of searches that returned your site's listing in the + // unpaid results. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_queries = 234; + + // Percentage of first-time sessions (from people who had never visited your + // site before). Imported from Google Analytics. + optional double percent_new_visitors = 235; + + // Number of offline phone calls. + optional int64 phone_calls = 236; + + // Number of offline phone impressions. + optional int64 phone_impressions = 237; + + // Number of phone calls received (phone_calls) divided by the number of + // times your phone number is shown (phone_impressions). + optional double phone_through_rate = 238; + + // Your clickthrough rate (Ctr) divided by the average clickthrough rate of + // all advertisers on the websites that show your ads. Measures how your ads + // perform on Display Network sites compared to other ads on the same sites. + optional double relative_ctr = 239; + + // The percentage of the customer's Shopping or Search ad impressions that are + // shown in the most prominent Shopping position. See + // https://support.google.com/google-ads/answer/7501826 + // for details. Any value below 0.1 is reported as 0.0999. + optional double search_absolute_top_impression_share = 136; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to a low budget. Note: Search + // budget lost absolute top impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_budget_lost_absolute_top_impression_share = 137; + + // The estimated percent of times that your ad was eligible to show on the + // Search Network but didn't because your budget was too low. Note: Search + // budget lost impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_impression_share = 138; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to a low budget. Note: Search + // budget lost top impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_top_impression_share = 139; + + // The number of clicks you've received on the Search Network + // divided by the estimated number of clicks you were eligible to receive. + // Note: Search click share is reported in the range of 0.1 to 1. Any value + // below 0.1 is reported as 0.0999. + optional double search_click_share = 140; + + // The impressions you've received divided by the estimated number of + // impressions you were eligible to receive on the Search Network for search + // terms that matched your keywords exactly (or were close variants of your + // keyword), regardless of your keyword match types. Note: Search exact match + // impression share is reported in the range of 0.1 to 1. Any value below 0.1 + // is reported as 0.0999. + optional double search_exact_match_impression_share = 141; + + // The impressions you've received on the Search Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Search impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_impression_share = 142; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost absolute top impression share is reported in the + // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_absolute_top_impression_share = 143; + + // The estimated percentage of impressions on the Search Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Search rank lost impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_impression_share = 144; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost top impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_top_impression_share = 145; + + // The impressions you've received in the top location (anywhere above the + // organic search results) compared to the estimated number of impressions you + // were eligible to receive in the top location. + // Note: Search top impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_top_impression_share = 146; + + // 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 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. + 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/offline_user_data.proto b/google-cloud/protos/google/ads/googleads/v12/common/offline_user_data.proto new file mode 100644 index 00000000..eac4f370 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/offline_user_data.proto @@ -0,0 +1,333 @@ +// 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.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"; + +// Proto file describing offline user data. + +// Address identifier of offline data. +message OfflineUserAddressInfo { + // First name of the user, which is hashed as SHA-256 after normalized + // (Lowercase all characters; Remove any extra spaces before, after, and in + // between). + optional string hashed_first_name = 7; + + // Last name of the user, which is hashed as SHA-256 after normalized (lower + // case only and no punctuation). + optional string hashed_last_name = 8; + + // City of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string city = 9; + + // State code of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string state = 10; + + // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + optional string country_code = 11; + + // Postal code of the user's address. + optional string postal_code = 12; + + // The street address of the user hashed using SHA-256 hash function after + // normalization (lower case only). Only accepted for + // ConversionAdjustmentUploadService. + optional string hashed_street_address = 13; +} + +// User identifying information. +message UserIdentifier { + // Source of the user identifier when the upload is from Store Sales, + // ConversionUploadService, or ConversionAdjustmentUploadService. + google.ads.googleads.v12.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; + + // Exactly one must be specified. For OfflineUserDataJobService, Customer + // Match accepts hashed_email, hashed_phone_number, mobile_id, + // third_party_user_id, and address_info; Store Sales accepts hashed_email, + // hashed_phone_number, third_party_user_id, and address_info. + // ConversionUploadService accepts hashed_email and hashed_phone_number. + // ConversionAdjustmentUploadService accepts hashed_email, + // hashed_phone_number, and address_info. + oneof identifier { + // Hashed email address using SHA-256 hash function after normalization. + // Accepted for Customer Match, Store Sales, ConversionUploadService, and + // ConversionAdjustmentUploadService. + string hashed_email = 7; + + // Hashed phone number using SHA-256 hash function after normalization + // (E164 standard). Accepted for Customer Match, Store Sales, + // ConversionUploadService, and ConversionAdjustmentUploadService. + string hashed_phone_number = 8; + + // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. + string mobile_id = 9; + + // Advertiser-assigned user ID for Customer Match upload, or + // third-party-assigned user ID for Store Sales. Accepted only for Customer + // Match and Store Sales. + string third_party_user_id = 10; + + // Address information. Accepted only for Customer Match, Store Sales, and + // ConversionAdjustmentUploadService. + OfflineUserAddressInfo address_info = 5; + } +} + +// Attribute of the store sales transaction. +message TransactionAttribute { + // Timestamp when transaction occurred. Required. + // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + optional string transaction_date_time = 8; + + // Transaction amount in micros. Required. + // Transaction amount in micros needs to be greater than 1000. + // If item Attributes are provided, it represents the total value of the + // items, after multiplying the unit price per item by the quantity provided + // in the ItemAttributes. + optional double transaction_amount_micros = 9; + + // Transaction currency code. ISO 4217 three-letter code is used. Required. + optional string currency_code = 10; + + // The resource name of conversion action to report conversions to. + // Required. + optional string conversion_action = 11; + + // Transaction order id. + // Accessible only to customers on the allow-list. + optional string order_id = 12; + + // Store attributes of the transaction. + // Accessible only to customers on the allow-list. + StoreAttribute store_attribute = 6; + + // Value of the custom variable for each transaction. + // Accessible only to customers on the allow-list. + optional string custom_value = 13; + + // Item attributes of the transaction. + ItemAttribute item_attribute = 14; +} + +// Store attributes of the transaction. +message StoreAttribute { + // Store code from + // https://support.google.com/business/answer/3370250#storecode + optional string store_code = 2; +} + +// Item attributes of the transaction. +message ItemAttribute { + // A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). + string item_id = 1; + + // ID of the Merchant Center Account. + optional int64 merchant_id = 2; + + // Common Locale Data Repository (CLDR) territory code of the country + // associated with the feed where your items are uploaded. See + // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes + // for more information. + string country_code = 3; + + // ISO 639-1 code of the language associated with the feed where your items + // are uploaded + string language_code = 4; + + // The number of items sold. Defaults to 1 if not set. + int64 quantity = 5; +} + +// User data holding user identifiers and attributes. +message UserData { + // User identification info. Required. + repeated UserIdentifier user_identifiers = 1; + + // Additional transactions/attributes associated with the user. + // Required when updating store sales data. + TransactionAttribute transaction_attribute = 2; + + // Additional attributes associated with the user. Required when updating + // customer match attributes. These have an expiration of 540 days. + UserAttribute user_attribute = 3; +} + +// 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; +} + +// 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/google-cloud/protos/google/ads/googleads/v12/common/policy.proto b/google-cloud/protos/google/ads/googleads/v12/common/policy.proto new file mode 100644 index 00000000..09bfa4b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/policy.proto @@ -0,0 +1,219 @@ +// 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.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"; + +// Proto file describing policy information. + +// Key of the violation. The key is used for referring to a violation +// when filing an exemption request. +message PolicyViolationKey { + // Unique ID of the violated policy. + optional string policy_name = 3; + + // The text that violates the policy if specified. + // Otherwise, refers to the policy in general + // (for example, when requesting to be exempt from the whole policy). + // If not specified for criterion exemptions, the whole policy is implied. + // Must be specified for ad exemptions. + optional string violating_text = 4; +} + +// Parameter for controlling how policy exemption is done. +message PolicyValidationParameter { + // The list of policy topics that should not cause a PolicyFindingError to + // be reported. This field is currently only compatible with Enhanced Text Ad. + // It corresponds to the PolicyTopicEntry.topic field. + // + // Resources violating these policies will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated string ignorable_policy_topics = 3; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated PolicyViolationKey exempt_policy_violation_keys = 2; +} + +// Policy finding attached to a resource (for example, alcohol policy associated +// with a site that sells alcohol). +// +// Each PolicyTopicEntry has a topic that indicates the specific ads policy +// the entry is about and a type to indicate the effect that the entry will have +// on serving. It may optionally have one or more evidences that indicate the +// reason for the finding. It may also optionally have one or more constraints +// that provide details about how serving may be restricted. +message PolicyTopicEntry { + // Policy topic this finding refers to. For example, "ALCOHOL", + // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible + // policy topics is not fixed for a particular API version and may change + // at any time. + optional string topic = 5; + + // Describes the negative or positive effect this policy will have on serving. + google.ads.googleads.v12.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; + + // Additional information that explains policy finding + // (for example, the brand name for a trademark finding). + repeated PolicyTopicEvidence evidences = 3; + + // Indicates how serving of this resource may be affected (for example, not + // serving in a country). + repeated PolicyTopicConstraint constraints = 4; +} + +// Additional information that explains a policy finding. +message PolicyTopicEvidence { + // A list of fragments of text that violated a policy. + message TextList { + // The fragments of text from the resource that caused the policy finding. + repeated string texts = 2; + } + + // A list of websites that caused a policy finding. Used for + // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more + // than five websites, only the top five (those that appear in resources the + // most) will be listed here. + message WebsiteList { + // Websites that caused the policy finding. + repeated string websites = 2; + } + + // A list of strings found in a destination page that caused a policy + // finding. + message DestinationTextList { + // List of text found in the resource's destination page. + repeated string destination_texts = 2; + } + + // Evidence of mismatches between the URLs of a resource. + message DestinationMismatch { + // The set of URLs that did not match each other. + repeated google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; + } + + // Evidence details when the destination is returning an HTTP error + // code or isn't functional in all locations for commonly used devices. + message DestinationNotWorking { + // The full URL that didn't work. + optional string expanded_url = 7; + + // The type of device that failed to load the URL. + google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; + + // The time the URL was last checked. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string last_checked_date_time = 8; + + // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. + oneof reason { + // The type of DNS error. + google.ads.googleads.v12.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; + + // The HTTP error code. + int64 http_error_code = 6; + } + } + + // Specific evidence information depending on the evidence type. + oneof value { + // List of websites linked with this resource. + WebsiteList website_list = 3; + + // List of evidence found in the text of a resource. + TextList text_list = 4; + + // The language the resource was detected to be written in. + // This is an IETF language tag such as "en-US". + string language_code = 9; + + // The text in the destination of the resource that is causing a policy + // finding. + DestinationTextList destination_text_list = 6; + + // Mismatch between the destinations of a resource's URLs. + DestinationMismatch destination_mismatch = 7; + + // Details when the destination is returning an HTTP error code or isn't + // functional in all locations for commonly used devices. + DestinationNotWorking destination_not_working = 8; + } +} + +// Describes the effect on serving that a policy topic entry will have. +message PolicyTopicConstraint { + // A list of countries where a resource's serving is constrained. + message CountryConstraintList { + // Total number of countries targeted by the resource. + optional int32 total_targeted_countries = 3; + + // Countries in which serving is restricted. + repeated CountryConstraint countries = 2; + } + + // Indicates that a policy topic was constrained due to disapproval of the + // website for reseller purposes. + message ResellerConstraint { + + } + + // Indicates that a resource's ability to serve in a particular country is + // constrained. + message CountryConstraint { + // Geo target constant resource name of the country in which serving is + // constrained. + optional string country_criterion = 2; + } + + // Specific information about the constraint. + oneof value { + // Countries where the resource cannot serve. + CountryConstraintList country_constraint_list = 1; + + // Reseller constraint. + ResellerConstraint reseller_constraint = 2; + + // Countries where a certificate is required for serving. + CountryConstraintList certificate_missing_in_country_list = 3; + + // Countries where the resource's domain is not covered by the + // certificates associated with it. + CountryConstraintList certificate_domain_mismatch_in_country_list = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/policy_summary.proto b/google-cloud/protos/google/ads/googleads/v12/common/policy_summary.proto new file mode 100644 index 00000000..ad19b53c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/policy_summary.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// Proto file describing policy summary. + +// Contains policy summary information. +message PolicySummary { + // The list of policy findings. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process the resource is. + google.ads.googleads.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v12/common/real_time_bidding_setting.proto new file mode 100644 index 00000000..e296e824 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/real_time_bidding_setting.proto @@ -0,0 +1,35 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/segments.proto b/google-cloud/protos/google/ads/googleads/v12/common/segments.proto new file mode 100644 index 00000000..cb6feacf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/segments.proto @@ -0,0 +1,400 @@ +// 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.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"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Ad Destination type. + 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; + + // 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; + + // Click type. + 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; + + // 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.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; + + // 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.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; + + // 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.v12.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.v12.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.v12.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v12.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.v12.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.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; + + // 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. + 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; + + // 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; + + // 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.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; + + // 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.v12.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.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; + + // 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.v12.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit sk_ad_network_attribution_credit = 144; + + // 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; +} + +// 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.v12.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/google-cloud/protos/google/ads/googleads/v12/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v12/common/simulation.proto new file mode 100644 index 00000000..8e370ff1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/simulation.proto @@ -0,0 +1,356 @@ +// 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.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"; + +// Proto file describing simulation points. + +// A container for simulation points for simulations of type BID_MODIFIER. +message BidModifierSimulationPointList { + // Projected metrics for a series of bid modifier amounts. + repeated BidModifierSimulationPoint points = 1; +} + +// 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 bid modifier amount. +message BidModifierSimulationPoint { + // The simulated bid modifier upon which projected metrics are based. + optional double bid_modifier = 15; + + // Projected number of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions = 16; + + // Projected total value of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions_value = 17; + + // Projected number of clicks. + optional int64 clicks = 18; + + // Projected cost in micros. + optional int64 cost_micros = 19; + + // Projected number of impressions. + optional int64 impressions = 20; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 21; + + // Projected number of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions = 22; + + // Projected total value of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions_value = 23; + + // Projected number of clicks for the parent resource. + optional int64 parent_clicks = 24; + + // Projected cost in micros for the parent resource. + optional int64 parent_cost_micros = 25; + + // Projected number of impressions for the parent resource. + optional int64 parent_impressions = 26; + + // Projected number of top slot impressions for the parent resource. + // Only search advertising channel type supports this field. + optional int64 parent_top_slot_impressions = 27; + + // Projected minimum daily budget that must be available to the parent + // resource to realize this simulation. + optional int64 parent_required_budget_micros = 28; +} + +// 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/google-cloud/protos/google/ads/googleads/v12/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v12/common/tag_snippet.proto new file mode 100644 index 00000000..673786d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/tag_snippet.proto @@ -0,0 +1,49 @@ +// 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.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"; + +// Proto file describing TagSnippet + +// The site tag and event snippet pair for a TrackingCodeType. +message TagSnippet { + // The type of the generated tag snippets for tracking conversions. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v12/common/targeting_setting.proto new file mode 100644 index 00000000..35356b2f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/targeting_setting.proto @@ -0,0 +1,84 @@ +// 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.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"; + +// Proto file describing TargetingSetting + +// Settings for the targeting-related features, at the campaign and ad group +// levels. For more details about the targeting setting, visit +// https://support.google.com/google-ads/answer/7365594 +message TargetingSetting { + // The per-targeting-dimension setting to restrict the reach of your campaign + // or ad group. + repeated TargetRestriction target_restrictions = 1; + + // The list of operations changing the target restrictions. + // + // Adding a target restriction with a targeting dimension that already exists + // causes the existing target restriction to be replaced with the new value. + repeated TargetRestrictionOperation target_restriction_operations = 2; +} + +// The list of per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.googleads.v12.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; + + // Indicates whether to restrict your ads to show only for the criteria you + // have selected for this targeting_dimension, or to target all values for + // this targeting_dimension and show ads based on your targeting in other + // TargetingDimensions. A value of `true` means that these criteria will only + // apply bid modifiers, and not affect targeting. A value of `false` means + // that these criteria will restrict targeting as well as applying bid + // modifiers. + optional bool bid_only = 3; +} + +// Operation to be performed on a target restriction list in a mutate. +message TargetRestrictionOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the restriction to the existing restrictions. + ADD = 2; + + // Remove the restriction from the existing restrictions. + REMOVE = 3; + } + + // Type of list operation to perform. + Operator operator = 1; + + // The target restriction being added to or removed from the list. + TargetRestriction value = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v12/common/text_label.proto new file mode 100644 index 00000000..13147a27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/text_label.proto @@ -0,0 +1,38 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v12/common/url_collection.proto new file mode 100644 index 00000000..23f79481 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/url_collection.proto @@ -0,0 +1,43 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v12/common/user_lists.proto new file mode 100644 index 00000000..b72576dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/user_lists.proto @@ -0,0 +1,292 @@ +// 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.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"; + +// 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. + 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; +} + +// 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. + // + // Currently AND of ORs (conjunctive normal form) is only supported for + // ExpressionRuleUserList. + google.ads.googleads.v12.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; + + // List of rule item groups that defines this rule. + // Rule item groups are grouped together based on rule_type. + repeated UserListRuleItemGroupInfo rule_item_groups = 2; +} + +// A group of rule items. +message UserListRuleItemGroupInfo { + // Rule items that will be grouped together based on rule_type. + repeated UserListRuleItemInfo rule_items = 1; +} + +// An atomic rule item. +message UserListRuleItemInfo { + // Rule variable name. It should match the corresponding key name fired + // by the pixel. + // A name must begin with US-ascii letters or underscore or UTF8 code that is + // greater than 127 and consist of US-ascii letters or digits or underscore or + // UTF8 code that is greater than 127. + // For websites, there are two built-in variable URL (name = 'url__') and + // referrer URL (name = 'ref_url__'). + // This field must be populated when creating a new rule item. + optional string name = 5; + + // An atomic rule item. + oneof rule_item { + // An atomic rule item composed of a number operation. + UserListNumberRuleItemInfo number_rule_item = 2; + + // An atomic rule item composed of a string operation. + UserListStringRuleItemInfo string_rule_item = 3; + + // An atomic rule item composed of a date operation. + UserListDateRuleItemInfo date_rule_item = 4; + } +} + +// A rule item composed of a date operation. +message UserListDateRuleItemInfo { + // Date comparison operator. + // This field is required and must be populated when creating new date + // rule item. + google.ads.googleads.v12.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; + + // String representing date value to be compared with the rule variable. + // Supported date format is YYYY-MM-DD. + // Times are reported in the customer's time zone. + optional string value = 4; + + // The relative date value of the right hand side denoted by number of days + // offset from now. The value field will override this field when both are + // present. + optional int64 offset_in_days = 5; +} + +// A rule item composed of a number operation. +message UserListNumberRuleItemInfo { + // Number comparison operator. + // This field is required and must be populated when creating a new number + // rule item. + google.ads.googleads.v12.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; + + // Number value to be compared with the variable. + // This field is required and must be populated when creating a new number + // rule item. + optional double value = 3; +} + +// A rule item composed of a string operation. +message UserListStringRuleItemInfo { + // String comparison operator. + // This field is required and must be populated when creating a new string + // rule item. + google.ads.googleads.v12.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; + + // The right hand side of the string rule item. For URLs or referrer URLs, + // the value can not contain illegal URL chars such as newlines, quotes, + // tabs, or parentheses. This field is required and must be populated when + // creating a new string rule item. + optional string value = 3; +} + +// 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; +} + +// Visitors of a page. The page visit is defined by one boolean rule expression. +message ExpressionRuleUserListInfo { + // Boolean rule that defines this user list. The rule consists of a list of + // rule item groups and each rule item group consists of a list of rule items. + // All the rule item groups are ORed or ANDed together for evaluation based on + // rule.rule_type. + // + // Required for creating an expression rule user list. + UserListRuleInfo rule = 1; +} + +// 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. + 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; + } +} + +// Represents a user list that is a custom combination of user lists. +message LogicalUserListInfo { + // Logical list rules that define this user list. The rules are defined as a + // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are + // ANDed when they are evaluated. + // + // Required for creating a logical user list. + repeated UserListLogicalRuleInfo rules = 1; +} + +// A user list logical rule. A rule has a logical operator (and/or/not) and a +// list of user lists as operands. +message UserListLogicalRuleInfo { + // The logical operator of the rule. + google.ads.googleads.v12.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; + + // The list of operands of the rule. + repeated LogicalUserListOperandInfo rule_operands = 2; +} + +// Operand of logical user list that consists of a user list. +message LogicalUserListOperandInfo { + // Resource name of a user list as an operand. + optional string user_list = 2; +} + +// User list targeting as a collection of conversions or remarketing actions. +message BasicUserListInfo { + // Actions associated with this user list. + repeated UserListActionInfo actions = 1; +} + +// Represents an action type used for building remarketing user lists. +message UserListActionInfo { + // Subtypes of user list action. + oneof user_list_action { + // A conversion action that's not generated from remarketing. + string conversion_action = 3; + + // A remarketing action. + string remarketing_action = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/common/value.proto b/google-cloud/protos/google/ads/googleads/v12/common/value.proto new file mode 100644 index 00000000..42533a77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/common/value.proto @@ -0,0 +1,49 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/enums/BUILD.bazel new file mode 100644 index 00000000..01a51ee0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/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/google-cloud/protos/google/ads/googleads/v12/enums/access_invitation_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/access_invitation_status.proto new file mode 100644 index 00000000..fd0e9760 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/access_invitation_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/access_reason.proto new file mode 100644 index 00000000..e16e75ed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/access_reason.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/access_role.proto b/google-cloud/protos/google/ads/googleads/v12/enums/access_role.proto new file mode 100644 index 00000000..26405172 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/access_role.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_status.proto new file mode 100644 index 00000000..b3dcef09 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_type.proto new file mode 100644 index 00000000..7a77b226 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_proposal_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_status.proto new file mode 100644 index 00000000..e8b0875d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/account_budget_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/account_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/account_link_status.proto new file mode 100644 index 00000000..c81e1f5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/account_link_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 00000000..ee6f0417 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_destination_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_destination_type.proto new file mode 100644 index 00000000..47f5de4a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_destination_type.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 00000000..4a54755e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_status.proto new file mode 100644 index 00000000..c882676a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_ad_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 00000000..d1272d4e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_status.proto new file mode 100644 index 00000000..4b1d0500 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_status.proto new file mode 100644 index 00000000..f8ae521c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_type.proto new file mode 100644 index 00000000..2d8c9c69 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_group_type.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_network_type.proto new file mode 100644 index 00000000..65a9eacd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_network_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto new file mode 100644 index 00000000..976e86df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_serving_optimization_status.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_strength.proto new file mode 100644 index 00000000..846957e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_strength.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/ad_type.proto new file mode 100644 index 00000000..b11c5b8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/ad_type.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto new file mode 100644 index 00000000..5cf4c309 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_sub_type.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_type.proto new file mode 100644 index 00000000..5cc0c90d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/advertising_channel_type.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 00000000..1c65697f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 00000000..9956a035 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/age_range_type.proto new file mode 100644 index 00000000..378c0348 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/age_range_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_app_store.proto new file mode 100644 index 00000000..742b5851 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 00000000..a1793522 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_payment_model_type.proto new file mode 100644 index 00000000..e7b0416a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_payment_model_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_placeholder_field.proto new file mode 100644 index 00000000..b5be5ce5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_placeholder_field.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_store.proto new file mode 100644 index 00000000..236fb781 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_store.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/app_url_operating_system_type.proto new file mode 100644 index 00000000..326c2223 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/app_url_operating_system_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_field_type.proto new file mode 100644 index 00000000..1da0c57a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_field_type.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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 extension. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/asset_group_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_group_status.proto new file mode 100644 index 00000000..c3afa01a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_group_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_link_status.proto new file mode 100644 index 00000000..7b8a46a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_performance_label.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_performance_label.proto new file mode 100644 index 00000000..d6022cb7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_performance_label.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_asset_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_asset_status.proto new file mode 100644 index 00000000..b709aa5b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_asset_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_link_status.proto new file mode 100644 index 00000000..a3c6333f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_link_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_status.proto new file mode 100644 index 00000000..0edd4bb3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_type.proto new file mode 100644 index 00000000..93f0f697 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_set_type.proto @@ -0,0 +1,86 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/asset_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_source.proto new file mode 100644 index 00000000..4706dbb6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_source.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSourceProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/asset_type.proto new file mode 100644 index 00000000..5d684ae2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/asset_type.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/async_action_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/async_action_status.proto new file mode 100644 index 00000000..76127091 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/async_action_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AsyncActionStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v12/enums/attribution_model.proto new file mode 100644 index 00000000..c07e3e19 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/attribution_model.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/audience_insights_dimension.proto b/google-cloud/protos/google/ads/googleads/v12/enums/audience_insights_dimension.proto new file mode 100644 index 00000000..1d576260 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/audience_insights_dimension.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsDimensionProto"; +option java_package = "com.google.ads.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 a plannable network. + +// Container for enum describing audience insights dimensions. +message AudienceInsightsDimensionEnum { + // Possible audience 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/google-cloud/protos/google/ads/googleads/v12/enums/audience_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/audience_status.proto new file mode 100644 index 00000000..47b48086 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AudienceStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/batch_job_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/batch_job_status.proto new file mode 100644 index 00000000..bf748e9c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/batch_job_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/bid_modifier_source.proto new file mode 100644 index 00000000..1b66d2b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/bid_modifier_source.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_source.proto new file mode 100644 index 00000000..eeddf117 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_source.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_status.proto new file mode 100644 index 00000000..ec57b766 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_system_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_system_status.proto new file mode 100644 index 00000000..da457e6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_system_status.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySystemStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_type.proto new file mode 100644 index 00000000..955cd372 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/bidding_strategy_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/billing_setup_status.proto new file mode 100644 index 00000000..1cfb22b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/billing_setup_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v12/enums/brand_safety_suitability.proto new file mode 100644 index 00000000..d33f89a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/brand_safety_suitability.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/budget_campaign_association_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/budget_campaign_association_status.proto new file mode 100644 index 00000000..1fa4a953 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/budget_campaign_association_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v12/enums/budget_delivery_method.proto new file mode 100644 index 00000000..0bd719d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/budget_delivery_method.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v12/enums/budget_period.proto new file mode 100644 index 00000000..03922977 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/budget_period.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/budget_status.proto new file mode 100644 index 00000000..f127dbf1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/budget_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/budget_type.proto new file mode 100644 index 00000000..2df4518f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/budget_type.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto new file mode 100644 index 00000000..cad7e5bf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/call_conversion_reporting_state.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/call_placeholder_field.proto new file mode 100644 index 00000000..094b0e5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/call_placeholder_field.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/call_to_action_type.proto new file mode 100644 index 00000000..85310a3e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/call_to_action_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/call_tracking_display_location.proto b/google-cloud/protos/google/ads/googleads/v12/enums/call_tracking_display_location.proto new file mode 100644 index 00000000..003ae873 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/call_tracking_display_location.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/call_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/call_type.proto new file mode 100644 index 00000000..3116dbe7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/call_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/callout_placeholder_field.proto new file mode 100644 index 00000000..2e6a86a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/callout_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_criterion_status.proto new file mode 100644 index 00000000..492f8306 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_criterion_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_draft_status.proto new file mode 100644 index 00000000..dc84a455 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_draft_status.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_experiment_type.proto new file mode 100644 index 00000000..f8753e02 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_experiment_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_group_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_group_status.proto new file mode 100644 index 00000000..629ef45b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_group_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignGroupStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status.proto new file mode 100644 index 00000000..17010169 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status_reason.proto new file mode 100644 index 00000000..40de43b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_primary_status_reason.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignPrimaryStatusReasonProto"; +option java_package = "com.google.ads.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 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_serving_status.proto new file mode 100644 index 00000000..dcf78844 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_serving_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_shared_set_status.proto new file mode 100644 index 00000000..b4facb35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_status.proto new file mode 100644 index 00000000..939d4503 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/campaign_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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 currently serving ads depending on budget information. + ENABLED = 2; + + // Campaign has been paused by the user. + PAUSED = 3; + + // Campaign has been removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/chain_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/chain_relationship_type.proto new file mode 100644 index 00000000..9a27dc86 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/chain_relationship_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChainRelationshipTypeProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/change_client_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/change_client_type.proto new file mode 100644 index 00000000..4c7b7a1b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/change_client_type.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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. + 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/google-cloud/protos/google/ads/googleads/v12/enums/change_event_resource_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/change_event_resource_type.proto new file mode 100644 index 00000000..8b760b42 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/change_event_resource_type.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v12/enums/change_status_operation.proto new file mode 100644 index 00000000..ce9c7aca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/change_status_operation.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/change_status_resource_type.proto new file mode 100644 index 00000000..d6e5e683 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/change_status_resource_type.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/click_type.proto new file mode 100644 index 00000000..f5c1a689 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/click_type.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/combined_audience_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/combined_audience_status.proto new file mode 100644 index 00000000..e82c06fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/combined_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/content_label_type.proto new file mode 100644 index 00000000..8d87248e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/content_label_type.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_category.proto new file mode 100644 index 00000000..3f8d7153 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_category.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_counting_type.proto new file mode 100644 index 00000000..a4f96739 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_counting_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_status.proto new file mode 100644 index 00000000..80e6e030 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_status.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_type.proto new file mode 100644 index 00000000..1c30ad51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_action_type.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_adjustment_type.proto new file mode 100644 index 00000000..03f2c965 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_adjustment_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto new file mode 100644 index 00000000..fe93875e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_attribution_event_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto new file mode 100644 index 00000000..51bb5929 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_custom_variable_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_environment_enum.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_environment_enum.proto new file mode 100644 index 00000000..a4e0fc4b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_environment_enum.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionEnvironmentEnumProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_lag_bucket.proto new file mode 100644 index 00000000..5b6539e2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_lag_bucket.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 00000000..ba9d3caf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,204 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_origin.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_origin.proto new file mode 100644 index 00000000..fa1289f2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_origin.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_tracking_status_enum.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_tracking_status_enum.proto new file mode 100644 index 00000000..3df80bb8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_tracking_status_enum.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionTrackingStatusEnumProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 00000000..629ed369 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto new file mode 100644 index 00000000..6f7928a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_status.proto new file mode 100644 index 00000000..43243ed6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/conversion_value_rule_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 00000000..9f505b17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 00000000..10d131ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_system_serving_status.proto new file mode 100644 index 00000000..3c9feb26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_system_serving_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_type.proto new file mode 100644 index 00000000..1fb9d48d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/criterion_type.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_member_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_member_type.proto new file mode 100644 index 00000000..e47276f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_member_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_status.proto new file mode 100644 index 00000000..9bd6752f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_type.proto new file mode 100644 index 00000000..1c056d5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_audience_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto new file mode 100644 index 00000000..89c2d1c8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_conversion_goal_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_member_type.proto new file mode 100644 index 00000000..07cec98c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_member_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_status.proto new file mode 100644 index 00000000..5df6a564 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_type.proto new file mode 100644 index 00000000..4257b3ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_interest_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/custom_placeholder_field.proto new file mode 100644 index 00000000..a6a748eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/custom_placeholder_field.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto new file mode 100644 index 00000000..42454b1b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customer_match_upload_key_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 00000000..76c990c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/customer_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customer_status.proto new file mode 100644 index 00000000..a4c62be1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customer_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerStatusProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::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/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_status.proto new file mode 100644 index 00000000..26214b99 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_type.proto new file mode 100644 index 00000000..74d325a8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_attribute_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/customizer_value_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_value_status.proto new file mode 100644 index 00000000..1ebd2193 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/customizer_value_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/data_driven_model_status.proto new file mode 100644 index 00000000..af0b558f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/data_driven_model_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v12/enums/day_of_week.proto new file mode 100644 index 00000000..6198f111 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/day_of_week.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/device.proto b/google-cloud/protos/google/ads/googleads/v12/enums/device.proto new file mode 100644 index 00000000..882c2173 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/device.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v12/enums/display_ad_format_setting.proto new file mode 100644 index 00000000..85f0f6e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/display_ad_format_setting.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/display_upload_product_type.proto new file mode 100644 index 00000000..15ec5a79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/display_upload_product_type.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/distance_bucket.proto b/google-cloud/protos/google/ads/googleads/v12/enums/distance_bucket.proto new file mode 100644 index 00000000..9f3ae98c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/distance_bucket.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 00000000..e83ea466 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/education_placeholder_field.proto new file mode 100644 index 00000000..0272f347 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/education_placeholder_field.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric.proto b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric.proto new file mode 100644 index 00000000..1d0a99e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric_direction.proto b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric_direction.proto new file mode 100644 index 00000000..9012564e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_metric_direction.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentMetricDirectionProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/experiment_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_status.proto new file mode 100644 index 00000000..cabb8771 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_status.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/experiment_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_type.proto new file mode 100644 index 00000000..55f81c55 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/experiment_type.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentTypeProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v12/enums/extension_setting_device.proto new file mode 100644 index 00000000..05658215 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/extension_setting_device.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/extension_type.proto new file mode 100644 index 00000000..0c6266a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/extension_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/external_conversion_source.proto new file mode 100644 index 00000000..52c74489 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/external_conversion_source.proto @@ -0,0 +1,153 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_attribute_type.proto new file mode 100644 index 00000000..6cb6ca95 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_attribute_type.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto new file mode 100644 index 00000000..67627703 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 00000000..734f0a64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_status.proto new file mode 100644 index 00000000..4cd37d9e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 00000000..bf8aca46 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,43 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_status.proto new file mode 100644 index 00000000..33c18f81 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_device.proto new file mode 100644 index 00000000..8834aa6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_device.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_status.proto new file mode 100644 index 00000000..7d9e65e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_type.proto new file mode 100644 index 00000000..70c5d720 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_target_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_validation_status.proto new file mode 100644 index 00000000..66b80062 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_item_validation_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_link_status.proto new file mode 100644 index 00000000..91c86e17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_link_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto new file mode 100644 index 00000000..ba203d77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_status.proto new file mode 100644 index 00000000..d150ab23 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_mapping_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_origin.proto new file mode 100644 index 00000000..8ea5d73b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_origin.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/feed_status.proto new file mode 100644 index 00000000..e56b4210 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/feed_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/flight_placeholder_field.proto new file mode 100644 index 00000000..5549ded3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/flight_placeholder_field.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_event_type.proto new file mode 100644 index 00000000..ceded8b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_event_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_level.proto new file mode 100644 index 00000000..42d927dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_level.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto new file mode 100644 index 00000000..b19372e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/frequency_cap_time_unit.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/gender_type.proto new file mode 100644 index 00000000..e11c0f88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/gender_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/geo_target_constant_status.proto new file mode 100644 index 00000000..bce105ee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/geo_target_constant_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_restriction.proto new file mode 100644 index 00000000..70c27617 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_restriction.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_type.proto new file mode 100644 index 00000000..3bc9c642 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/geo_targeting_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/goal_config_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/goal_config_level.proto new file mode 100644 index 00000000..ff8068e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/goal_config_level.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_category.proto new file mode 100644 index 00000000..d98a3429 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_category.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_data_type.proto new file mode 100644 index 00000000..981f8acf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/google_ads_field_data_type.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/google_voice_call_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/google_voice_call_status.proto new file mode 100644 index 00000000..d1cb4a9d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/google_voice_call_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_date_selection_type.proto new file mode 100644 index 00000000..ff874d55 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_date_selection_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_placeholder_field.proto new file mode 100644 index 00000000..97221874 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_placeholder_field.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/hotel_price_bucket.proto b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_price_bucket.proto new file mode 100644 index 00000000..4a7b879c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_price_bucket.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_rate_type.proto new file mode 100644 index 00000000..860401ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_rate_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto new file mode 100644 index 00000000..2494510b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/hotel_reconciliation_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/image_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/image_placeholder_field.proto new file mode 100644 index 00000000..f37bbf1f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/image_placeholder_field.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/income_range_type.proto new file mode 100644 index 00000000..e91deeff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/income_range_type.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/interaction_event_type.proto new file mode 100644 index 00000000..a3fad24b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/interaction_event_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/interaction_type.proto new file mode 100644 index 00000000..3c5216aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/interaction_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/invoice_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/invoice_type.proto new file mode 100644 index 00000000..984e294a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/invoice_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/job_placeholder_field.proto new file mode 100644 index 00000000..c5638d93 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/job_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_match_type.proto new file mode 100644 index 00000000..e977e433 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_match_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 00000000..a3556eb0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto new file mode 100644 index 00000000..240b3ab5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_competition_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 00000000..725ce684 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 00000000..53a3475a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 00000000..d61ffbf1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_network.proto new file mode 100644 index 00000000..06e1e748 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/keyword_plan_network.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/label_status.proto new file mode 100644 index 00000000..8ccbeb79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/label_status.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto new file mode 100644 index 00000000..eb0cadc8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_desired_intent.proto b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_desired_intent.proto new file mode 100644 index 00000000..23158703 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_desired_intent.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_field_user_input_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_field_user_input_type.proto new file mode 100644 index 00000000..00ec7835 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_field_user_input_type.proto @@ -0,0 +1,487 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v12.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V12::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" + VEHICLE_MODEL = 1001; + + // Question: "Which type of vehicle are you interested in?" + // Category: "Auto" + VEHICLE_TYPE = 1002; + + // Question: "What is your preferred dealership?" + // Category: "Auto" + PREFERRED_DEALERSHIP = 1003; + + // Question: "When do you plan on purchasing a vehicle?" + // Category: "Auto" + VEHICLE_PURCHASE_TIMELINE = 1004; + + // Question: "Do you own a vehicle?" + // Category: "Auto" + VEHICLE_OWNERSHIP = 1005; + + // Question: "What vehicle ownership option are you interested in?" + // Category: "Auto" + VEHICLE_PAYMENT_TYPE = 1009; + + // Question: "What type of vehicle condition are you interested in?" + // Category: "Auto" + VEHICLE_CONDITION = 1010; + + // Question: "What size is your company?" + // Category: "Business" + COMPANY_SIZE = 1006; + + // Question: "What is your annual sales volume?" + // Category: "Business" + ANNUAL_SALES = 1007; + + // Question: "How many years have you been in business?" + // Category: "Business" + YEARS_IN_BUSINESS = 1008; + + // Question: "What is your job department?" + // Category: "Business" + JOB_DEPARTMENT = 1011; + + // Question: "What is your job role?" + // Category: "Business" + JOB_ROLE = 1012; + + // Question: "Are you over 18 years of age?" + // Category: "Demographics" + OVER_18_AGE = 1078; + + // Question: "Are you over 19 years of age?" + // Category: "Demographics" + OVER_19_AGE = 1079; + + // Question: "Are you over 20 years of age?" + // Category: "Demographics" + OVER_20_AGE = 1080; + + // Question: "Are you over 21 years of age?" + // Category: "Demographics" + OVER_21_AGE = 1081; + + // Question: "Are you over 22 years of age?" + // Category: "Demographics" + OVER_22_AGE = 1082; + + // Question: "Are you over 23 years of age?" + // Category: "Demographics" + OVER_23_AGE = 1083; + + // Question: "Are you over 24 years of age?" + // Category: "Demographics" + OVER_24_AGE = 1084; + + // Question: "Are you over 25 years of age?" + // Category: "Demographics" + OVER_25_AGE = 1085; + + // Question: "Are you over 26 years of age?" + // Category: "Demographics" + OVER_26_AGE = 1086; + + // Question: "Are you over 27 years of age?" + // Category: "Demographics" + OVER_27_AGE = 1087; + + // Question: "Are you over 28 years of age?" + // Category: "Demographics" + OVER_28_AGE = 1088; + + // Question: "Are you over 29 years of age?" + // Category: "Demographics" + OVER_29_AGE = 1089; + + // Question: "Are you over 30 years of age?" + // Category: "Demographics" + OVER_30_AGE = 1090; + + // Question: "Are you over 31 years of age?" + // Category: "Demographics" + OVER_31_AGE = 1091; + + // Question: "Are you over 32 years of age?" + // Category: "Demographics" + OVER_32_AGE = 1092; + + // Question: "Are you over 33 years of age?" + // Category: "Demographics" + OVER_33_AGE = 1093; + + // Question: "Are you over 34 years of age?" + // Category: "Demographics" + OVER_34_AGE = 1094; + + // Question: "Are you over 35 years of age?" + // Category: "Demographics" + OVER_35_AGE = 1095; + + // Question: "Are you over 36 years of age?" + // Category: "Demographics" + OVER_36_AGE = 1096; + + // Question: "Are you over 37 years of age?" + // Category: "Demographics" + OVER_37_AGE = 1097; + + // Question: "Are you over 38 years of age?" + // Category: "Demographics" + OVER_38_AGE = 1098; + + // Question: "Are you over 39 years of age?" + // Category: "Demographics" + OVER_39_AGE = 1099; + + // Question: "Are you over 40 years of age?" + // Category: "Demographics" + OVER_40_AGE = 1100; + + // Question: "Are you over 41 years of age?" + // Category: "Demographics" + OVER_41_AGE = 1101; + + // Question: "Are you over 42 years of age?" + // Category: "Demographics" + OVER_42_AGE = 1102; + + // Question: "Are you over 43 years of age?" + // Category: "Demographics" + OVER_43_AGE = 1103; + + // Question: "Are you over 44 years of age?" + // Category: "Demographics" + OVER_44_AGE = 1104; + + // Question: "Are you over 45 years of age?" + // Category: "Demographics" + OVER_45_AGE = 1105; + + // Question: "Are you over 46 years of age?" + // Category: "Demographics" + OVER_46_AGE = 1106; + + // Question: "Are you over 47 years of age?" + // Category: "Demographics" + OVER_47_AGE = 1107; + + // Question: "Are you over 48 years of age?" + // Category: "Demographics" + OVER_48_AGE = 1108; + + // Question: "Are you over 49 years of age?" + // Category: "Demographics" + OVER_49_AGE = 1109; + + // Question: "Are you over 50 years of age?" + // Category: "Demographics" + OVER_50_AGE = 1110; + + // Question: "Are you over 51 years of age?" + // Category: "Demographics" + OVER_51_AGE = 1111; + + // Question: "Are you over 52 years of age?" + // Category: "Demographics" + OVER_52_AGE = 1112; + + // Question: "Are you over 53 years of age?" + // Category: "Demographics" + OVER_53_AGE = 1113; + + // Question: "Are you over 54 years of age?" + // Category: "Demographics" + OVER_54_AGE = 1114; + + // Question: "Are you over 55 years of age?" + // Category: "Demographics" + OVER_55_AGE = 1115; + + // Question: "Are you over 56 years of age?" + // Category: "Demographics" + OVER_56_AGE = 1116; + + // Question: "Are you over 57 years of age?" + // Category: "Demographics" + OVER_57_AGE = 1117; + + // Question: "Are you over 58 years of age?" + // Category: "Demographics" + OVER_58_AGE = 1118; + + // Question: "Are you over 59 years of age?" + // Category: "Demographics" + OVER_59_AGE = 1119; + + // Question: "Are you over 60 years of age?" + // Category: "Demographics" + OVER_60_AGE = 1120; + + // Question: "Are you over 61 years of age?" + // Category: "Demographics" + OVER_61_AGE = 1121; + + // Question: "Are you over 62 years of age?" + // Category: "Demographics" + OVER_62_AGE = 1122; + + // Question: "Are you over 63 years of age?" + // Category: "Demographics" + OVER_63_AGE = 1123; + + // Question: "Are you over 64 years of age?" + // Category: "Demographics" + OVER_64_AGE = 1124; + + // Question: "Are you over 65 years of age?" + // Category: "Demographics" + OVER_65_AGE = 1125; + + // Question: "Which program are you interested in?" + // Category: "Education" + EDUCATION_PROGRAM = 1013; + + // Question: "Which course are you interested in?" + // Category: "Education" + EDUCATION_COURSE = 1014; + + // Question: "Which product are you interested in?" + // Category: "General" + PRODUCT = 1016; + + // Question: "Which service are you interested in?" + // Category: "General" + SERVICE = 1017; + + // Question: "Which offer are you interested in?" + // Category: "General" + OFFER = 1018; + + // Question: "Which category are you interested in?" + // Category: "General" + CATEGORY = 1019; + + // Question: "What is your preferred method of contact?" + // Category: "General" + PREFERRED_CONTACT_METHOD = 1020; + + // Question: "What is your preferred location?" + // Category: "General" + PREFERRED_LOCATION = 1021; + + // Question: "What is the best time to contact you?" + // Category: "General" + PREFERRED_CONTACT_TIME = 1022; + + // Question: "When are you looking to make a purchase?" + // Category: "General" + PURCHASE_TIMELINE = 1023; + + // Question: "How many years of work experience do you have?" + // Category: "Jobs" + YEARS_OF_EXPERIENCE = 1048; + + // Question: "What industry do you work in?" + // Category: "Jobs" + JOB_INDUSTRY = 1049; + + // Question: "What is your highest level of education?" + // Category: "Jobs" + LEVEL_OF_EDUCATION = 1050; + + // Question: "What type of property are you looking for?" + // Category: "Real Estate" + PROPERTY_TYPE = 1024; + + // Question: "What do you need a realtor's help with?" + // Category: "Real Estate" + REALTOR_HELP_GOAL = 1025; + + // Question: "What neighborhood are you interested in?" + // Category: "Real Estate" + PROPERTY_COMMUNITY = 1026; + + // Question: "What price range are you looking for?" + // Category: "Real Estate" + PRICE_RANGE = 1027; + + // Question: "How many bedrooms are you looking for?" + // Category: "Real Estate" + NUMBER_OF_BEDROOMS = 1028; + + // Question: "Are you looking for a fully furnished property?" + // Category: "Real Estate" + FURNISHED_PROPERTY = 1029; + + // Question: "Are you looking for properties that allow pets?" + // Category: "Real Estate" + PETS_ALLOWED_PROPERTY = 1030; + + // Question: "What is the next product you plan to purchase?" + // Category: "Retail" + NEXT_PLANNED_PURCHASE = 1031; + + // Question: "Would you like to sign up for an event?" + // Category: "Retail" + EVENT_SIGNUP_INTEREST = 1033; + + // Question: "Where are you interested in shopping?" + // Category: "Retail" + PREFERRED_SHOPPING_PLACES = 1034; + + // Question: "What is your favorite brand?" + // Category: "Retail" + FAVORITE_BRAND = 1035; + + // Question: "Which type of valid commercial license do you have?" + // Category: "Transportation" + TRANSPORTATION_COMMERCIAL_LICENSE_TYPE = 1036; + + // Question: "Interested in booking an event?" + // Category: "Travel" + EVENT_BOOKING_INTEREST = 1038; + + // Question: "What is your destination country?" + // Category: "Travel" + DESTINATION_COUNTRY = 1039; + + // Question: "What is your destination city?" + // Category: "Travel" + DESTINATION_CITY = 1040; + + // Question: "What is your departure country?" + // Category: "Travel" + DEPARTURE_COUNTRY = 1041; + + // Question: "What is your departure city?" + // Category: "Travel" + DEPARTURE_CITY = 1042; + + // Question: "What is your departure date?" + // Category: "Travel" + DEPARTURE_DATE = 1043; + + // Question: "What is your return date?" + // Category: "Travel" + RETURN_DATE = 1044; + + // Question: "How many people are you traveling with?" + // Category: "Travel" + NUMBER_OF_TRAVELERS = 1045; + + // Question: "What is your travel budget?" + // Category: "Travel" + TRAVEL_BUDGET = 1046; + + // Question: "Where do you want to stay during your travel?" + // Category: "Travel" + TRAVEL_ACCOMMODATION = 1047; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 00000000..e3b68620 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 00000000..2b959611 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/linked_account_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/linked_account_type.proto new file mode 100644 index 00000000..72fcfd5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/linked_account_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 00000000..83e568d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_bidding_category_level.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 00000000..ed42d2b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_custom_attribute_index.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto new file mode 100644 index 00000000..3dbc00b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto new file mode 100644 index 00000000..12cf2732 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 00000000..74ff4899 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto new file mode 100644 index 00000000..156ba6c6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto new file mode 100644 index 00000000..bec6986c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_filter_vertical.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_type.proto new file mode 100644 index 00000000..0e644924 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/listing_group_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/local_placeholder_field.proto new file mode 100644 index 00000000..f09cc438 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/local_placeholder_field.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 00000000..6bac1a2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_group_radius_units.proto new file mode 100644 index 00000000..f51c6d25 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_group_radius_units.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/location_ownership_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_ownership_type.proto new file mode 100644 index 00000000..bbb80066 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_ownership_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationOwnershipTypeProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_placeholder_field.proto new file mode 100644 index 00000000..1f7529c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_placeholder_field.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/location_source_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_source_type.proto new file mode 100644 index 00000000..266e828c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_source_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/location_string_filter_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/location_string_filter_type.proto new file mode 100644 index 00000000..1f9d92ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/location_string_filter_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationStringFilterTypeProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/manager_link_status.proto new file mode 100644 index 00000000..7df2c719 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/manager_link_status.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_context_type.proto new file mode 100644 index 00000000..b7de6757 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_context_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_operator.proto new file mode 100644 index 00000000..30113e17 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/matching_function_operator.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/media_type.proto new file mode 100644 index 00000000..a7bbf91e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/media_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/merchant_center_link_status.proto new file mode 100644 index 00000000..c4a6b51b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/merchant_center_link_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/message_placeholder_field.proto new file mode 100644 index 00000000..e62e6258 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/message_placeholder_field.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/mime_type.proto new file mode 100644 index 00000000..400f01b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/mime_type.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v12/enums/minute_of_hour.proto new file mode 100644 index 00000000..312ad40a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/minute_of_hour.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/mobile_app_vendor.proto b/google-cloud/protos/google/ads/googleads/v12/enums/mobile_app_vendor.proto new file mode 100644 index 00000000..738bbe76 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/mobile_app_vendor.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/mobile_device_type.proto new file mode 100644 index 00000000..ac01a97b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/mobile_device_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v12/enums/month_of_year.proto new file mode 100644 index 00000000..cdb139c8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/month_of_year.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/negative_geo_target_type.proto new file mode 100644 index 00000000..145e7358 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/negative_geo_target_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 00000000..67467cf6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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. + 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. + NEWLY_OBSERVED_CURRENCY_CODE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 00000000..d43d6ab6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_status.proto new file mode 100644 index 00000000..250e6ca7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_type.proto new file mode 100644 index 00000000..a67eab33 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/offline_user_data_job_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto new file mode 100644 index 00000000..4b3701b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/operating_system_version_operator_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/optimization_goal_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/optimization_goal_type.proto new file mode 100644 index 00000000..78b106aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/optimization_goal_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/parental_status_type.proto new file mode 100644 index 00000000..a7e2a163 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/parental_status_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v12/enums/payment_mode.proto new file mode 100644 index 00000000..e35cc60d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/payment_mode.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/performance_max_upgrade_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/performance_max_upgrade_status.proto new file mode 100644 index 00000000..aff129d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/performance_max_upgrade_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PerformanceMaxUpgradeStatusProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/placeholder_type.proto new file mode 100644 index 00000000..b8d1694b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/placeholder_type.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/placement_type.proto new file mode 100644 index 00000000..d39c6e4e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/placement_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_approval_status.proto new file mode 100644 index 00000000..f3a1d610 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_approval_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_review_status.proto new file mode 100644 index 00000000..cfbaede5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_review_status.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_entry_type.proto new file mode 100644 index 00000000..ba523f8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_entry_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 00000000..2f53bdfe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 00000000..28800018 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_device.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 00000000..5b036b55 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/positive_geo_target_type.proto new file mode 100644 index 00000000..1ad7911e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/positive_geo_target_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/preferred_content_type.proto new file mode 100644 index 00000000..f156aadf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/preferred_content_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PreferredContentTypeProto"; +option java_package = "com.google.ads.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 preferred content criterion type. + +// Container for enumeration of preferred content criterion type. +message PreferredContentTypeEnum { + // Enumerates preferred content criterion type. + enum PreferredContentType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Represents top content on YouTube. + YOUTUBE_TOP_CONTENT = 400; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto new file mode 100644 index 00000000..97a9f60c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_qualifier.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_unit.proto new file mode 100644 index 00000000..c52e15d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_price_unit.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_type.proto new file mode 100644 index 00000000..efef9f0f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/price_extension_type.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/price_placeholder_field.proto new file mode 100644 index 00000000..7138dec1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/price_placeholder_field.proto @@ -0,0 +1,246 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_level.proto new file mode 100644 index 00000000..6752fea7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_level.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_status.proto new file mode 100644 index 00000000..93b682fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_bidding_category_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_channel.proto new file mode 100644 index 00000000..daefabc8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_channel.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_channel_exclusivity.proto new file mode 100644 index 00000000..47efcbf3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_channel_exclusivity.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_condition.proto new file mode 100644 index 00000000..e6fad515 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_condition.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_custom_attribute_index.proto new file mode 100644 index 00000000..3032c62b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_custom_attribute_index.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v12/enums/product_type_level.proto new file mode 100644 index 00000000..ee1e21b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/product_type_level.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 00000000..c6238268 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_occasion.proto new file mode 100644 index 00000000..9c66e1c6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_extension_occasion.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_placeholder_field.proto new file mode 100644 index 00000000..feb42ef4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/promotion_placeholder_field.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v12/enums/proximity_radius_units.proto new file mode 100644 index 00000000..1b655f71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/proximity_radius_units.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v12/enums/quality_score_bucket.proto new file mode 100644 index 00000000..11298780 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/quality_score_bucket.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_age_range.proto b/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_age_range.proto new file mode 100644 index 00000000..6728854c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_age_range.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_network.proto b/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_network.proto new file mode 100644 index 00000000..ded3c240 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/reach_plan_network.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto new file mode 100644 index 00000000..824ed18d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/real_estate_placeholder_field.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/recommendation_type.proto new file mode 100644 index 00000000..ad660b53 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/recommendation_type.proto @@ -0,0 +1,142 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.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 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 add callout extensions to a campaign. + CALLOUT_EXTENSION = 11; + + // Recommendation to add sitelink extensions to a campaign. + SITELINK_EXTENSION = 12; + + // Recommendation to add call extensions to a campaign. + CALL_EXTENSION = 13; + + // 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 expand keywords to broad match 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 is 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/resource_change_operation.proto b/google-cloud/protos/google/ads/googleads/v12/enums/resource_change_operation.proto new file mode 100644 index 00000000..a87c887d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/resource_change_operation.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/resource_limit_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/resource_limit_type.proto new file mode 100644 index 00000000..13ae4f2d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/resource_limit_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/response_content_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/response_content_type.proto new file mode 100644 index 00000000..497373b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/response_content_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/search_engine_results_page_type.proto new file mode 100644 index 00000000..74ca42e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/search_engine_results_page_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/search_term_match_type.proto new file mode 100644 index 00000000..33b34725 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/search_term_match_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/search_term_targeting_status.proto new file mode 100644 index 00000000..2048a78d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/search_term_targeting_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_scope.proto b/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_scope.proto new file mode 100644 index 00000000..0a04c03e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_scope.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_status.proto new file mode 100644 index 00000000..43000af1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/seasonality_event_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/served_asset_field_type.proto new file mode 100644 index 00000000..6e2fa664 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/served_asset_field_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_status.proto new file mode 100644 index 00000000..673de2a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_type.proto new file mode 100644 index 00000000..c5536f95 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/shared_set_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v12/enums/simulation_modification_method.proto new file mode 100644 index 00000000..70f3c915 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/simulation_modification_method.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/simulation_type.proto new file mode 100644 index 00000000..9d782266 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/simulation_type.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto new file mode 100644 index 00000000..90d2827c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/sitelink_placeholder_field.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_ad_event_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_ad_event_type.proto new file mode 100644 index 00000000..668f4984 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_ad_event_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAdEventTypeProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_attribution_credit.proto b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_attribution_credit.proto new file mode 100644 index 00000000..076418fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_attribution_credit.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V12.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SkAdNetworkAttributionCreditProto"; +option java_package = "com.google.ads.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 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/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_user_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_user_type.proto new file mode 100644 index 00000000..525abe6e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/sk_ad_network_user_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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 { + // 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/google-cloud/protos/google/ads/googleads/v12/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v12/enums/slot.proto new file mode 100644 index 00000000..8684aedd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/slot.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/spending_limit_type.proto new file mode 100644 index 00000000..8c7582ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/spending_limit_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 00000000..201fd652 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/adwords/api/docs/appendix/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/google-cloud/protos/google/ads/googleads/v12/enums/summary_row_setting.proto b/google-cloud/protos/google/ads/googleads/v12/enums/summary_row_setting.proto new file mode 100644 index 00000000..4a9d6a1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/summary_row_setting.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/system_managed_entity_source.proto new file mode 100644 index 00000000..fadb659c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/system_managed_entity_source.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 00000000..d6cafc47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v12/enums/target_impression_share_location.proto new file mode 100644 index 00000000..63229a79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/target_impression_share_location.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v12/enums/targeting_dimension.proto new file mode 100644 index 00000000..06eb19d8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/targeting_dimension.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/time_type.proto new file mode 100644 index 00000000..431bd8d4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/time_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_page_format.proto new file mode 100644 index 00000000..ef86001b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_page_format.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_type.proto new file mode 100644 index 00000000..105a3250 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/tracking_code_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v12/enums/travel_placeholder_field.proto new file mode 100644 index 00000000..6dc11e18 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/travel_placeholder_field.proto @@ -0,0 +1,126 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_identifier_source.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_identifier_source.proto new file mode 100644 index 00000000..4314774e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_identifier_source.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto new file mode 100644 index 00000000..b07fe98c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_access_status.proto new file mode 100644 index 00000000..ac2a8d9d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_access_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_closing_reason.proto new file mode 100644 index 00000000..3c2b0c56 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_closing_reason.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto new file mode 100644 index 00000000..357fae0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_combined_rule_operator.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Logical operator connecting two rules. +message UserListCombinedRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListCombinedRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A AND NOT B. + AND_NOT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto new file mode 100644 index 00000000..6eaa454b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 00000000..9ff67819 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_date_rule_item_operator.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto new file mode 100644 index 00000000..4af0eda1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_flexible_rule_operator.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto new file mode 100644 index 00000000..195c3500 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_membership_status.proto new file mode 100644 index 00000000..88753b5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_membership_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 00000000..d397ca30 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_number_rule_item_operator.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto new file mode 100644 index 00000000..1db32aa1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_prepopulation_status.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_rule_type.proto new file mode 100644 index 00000000..e698ae42 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_rule_type.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_size_range.proto new file mode 100644 index 00000000..f017af14 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_size_range.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 00000000..80b24c7d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_type.proto new file mode 100644 index 00000000..d36d8556 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/user_list_type.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_device_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_device_type.proto new file mode 100644 index 00000000..e8916539 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_device_type.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 00000000..4e1e62c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_operation.proto b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_operation.proto new file mode 100644 index 00000000..414ee13c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_operation.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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto new file mode 100644 index 00000000..8ed39bb8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_dimension.proto b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_dimension.proto new file mode 100644 index 00000000..c112e60f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/value_rule_set_dimension.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 00000000..1e2916d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_text.proto new file mode 100644 index 00000000..a0f47fa0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/vanity_pharma_text.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/video_thumbnail.proto b/google-cloud/protos/google/ads/googleads/v12/enums/video_thumbnail.proto new file mode 100644 index 00000000..a11d3f6b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/video_thumbnail.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operand.proto new file mode 100644 index 00000000..7ee2244d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operand.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operator.proto new file mode 100644 index 00000000..1105fbb4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/enums/webpage_condition_operator.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v12.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/errors/BUILD.bazel new file mode 100644 index 00000000..1d75069d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "errors_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "errors_java_proto", + deps = [":errors_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "errors_csharp_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "errors_ruby_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "errors_py_proto", + deps = [":errors_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/access_invitation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/access_invitation_error.proto new file mode 100644 index 00000000..c0f44572 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/access_invitation_error.proto @@ -0,0 +1,67 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/account_budget_proposal_error.proto new file mode 100644 index 00000000..f1777530 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/account_budget_proposal_error.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.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"; + +// 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 an 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/account_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/account_link_error.proto new file mode 100644 index 00000000..8aa6ddde --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/account_link_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_customizer_error.proto new file mode 100644 index 00000000..d445d476 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_customizer_error.proto @@ -0,0 +1,57 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_error.proto new file mode 100644 index 00000000..6b758de5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_error.proto @@ -0,0 +1,528 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_ad_error.proto new file mode 100644 index 00000000..46958fd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_ad_error.proto @@ -0,0 +1,78 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 00000000..10a39669 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,49 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 00000000..032335c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_error.proto new file mode 100644 index 00000000..29eebb5b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_criterion_error.proto @@ -0,0 +1,135 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_customizer_error.proto new file mode 100644 index 00000000..69b9d9a5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_error.proto new file mode 100644 index 00000000..c3c6ba66 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_error.proto @@ -0,0 +1,89 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_feed_error.proto new file mode 100644 index 00000000..f4ac17d3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_group_feed_error.proto @@ -0,0 +1,65 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_parameter_error.proto new file mode 100644 index 00000000..e79fcae0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_parameter_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/ad_sharing_error.proto new file mode 100644 index 00000000..e1d08872 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/ad_sharing_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/adx_error.proto new file mode 100644 index 00000000..79073379 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/adx_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_error.proto new file mode 100644 index 00000000..53957aa9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_error.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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_asset_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_asset_error.proto new file mode 100644 index 00000000..f77552a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_asset_error.proto @@ -0,0 +1,51 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_error.proto new file mode 100644 index 00000000..eb71daf8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_error.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 00000000..c54f7ee4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,83 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/asset_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_link_error.proto new file mode 100644 index 00000000..2a5d9544 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_link_error.proto @@ -0,0 +1,119 @@ +// 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.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"; + +// Proto file describing asset link errors. + +// Container for enum describing possible asset link errors. +message AssetLinkErrorEnum { + // Enum describing possible asset link errors. + enum AssetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Pinning is not supported for the given asset link field. + PINNING_UNSUPPORTED = 2; + + // The given field type is not supported to be added directly through asset + // links. + UNSUPPORTED_FIELD_TYPE = 3; + + // The given asset's type and the specified field type are incompatible. + FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE = 4; + + // The specified field type is incompatible with the given campaign type. + FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE = 5; + + // The campaign advertising channel type cannot be associated with the given + // asset due to channel-based restrictions on the asset's fields. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 6; + + // The image asset provided is not within the dimension constraints + // specified for the submitted asset field. + IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE = 7; + + // The pinned field is not valid for the submitted asset field. + INVALID_PINNED_FIELD = 8; + + // The media bundle asset provided is too large for the submitted asset + // field. + MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE = 9; + + // Not enough assets are available for use with other fields since other + // assets are pinned to specific fields. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION = 10; + + // Not enough assets with fallback are available. When validating the + // minimum number of assets, assets without fallback (for example, assets + // that contain location tag without default value "{LOCATION(City)}") will + // not be counted. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK = 11; + + // This is a combination of the + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION and + // NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK errors. Not enough assets + // with fallback are available since some assets are pinned. + NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION = 12; + + // The YouTube video referenced in the provided asset has been removed. + YOUTUBE_VIDEO_REMOVED = 13; + + // The YouTube video referenced in the provided asset is too long for the + // field submitted. + YOUTUBE_VIDEO_TOO_LONG = 14; + + // The YouTube video referenced in the provided asset is too short for the + // field submitted. + YOUTUBE_VIDEO_TOO_SHORT = 15; + + // The specified field type is excluded for given campaign or ad group. + EXCLUDED_PARENT_FIELD_TYPE = 16; + + // The status is invalid for the operation specified. + INVALID_STATUS = 17; + + // The YouTube video referenced in the provided asset has unknown duration. + // This might be the case for a livestream video or a video being currently + // uploaded to YouTube. In both cases, the video duration should eventually + // get resolved. + YOUTUBE_VIDEO_DURATION_NOT_DEFINED = 18; + + // User cannot create automatically created links. + CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS = 19; + + // Advertiser links cannot link to automatically created asset. + CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET = 20; + + // Automatically created links cannot be changed into adveritser links or + // the reverse. + CANNOT_MODIFY_ASSET_LINK_SOURCE = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_asset_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_asset_error.proto new file mode 100644 index 00000000..19023960 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_asset_error.proto @@ -0,0 +1,59 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_error.proto new file mode 100644 index 00000000..645837ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_error.proto @@ -0,0 +1,70 @@ +// 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.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 = "AssetSetErrorProto"; +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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_link_error.proto new file mode 100644 index 00000000..252a2b75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/asset_set_link_error.proto @@ -0,0 +1,59 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/audience_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/audience_error.proto new file mode 100644 index 00000000..ddaa2ad6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/audience_error.proto @@ -0,0 +1,68 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/audience_insights_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/audience_insights_error.proto new file mode 100644 index 00000000..543f23d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/audience_insights_error.proto @@ -0,0 +1,46 @@ +// 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.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 = "AudienceInsightsErrorProto"; +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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/authentication_error.proto new file mode 100644 index 00000000..70adcce6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/authentication_error.proto @@ -0,0 +1,101 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/authorization_error.proto new file mode 100644 index 00000000..5ea43ddc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/authorization_error.proto @@ -0,0 +1,93 @@ +// 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.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"; + +// 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 can't be used because it isn't enabled. + 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 not approved. Non-approved developer tokens can + // only be used with test accounts. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/batch_job_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/batch_job_error.proto new file mode 100644 index 00000000..10bce15c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/batch_job_error.proto @@ -0,0 +1,61 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/bidding_error.proto new file mode 100644 index 00000000..8973eb1f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/bidding_error.proto @@ -0,0 +1,131 @@ +// 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.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"; + +// 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; + + // Conversion tracking is not enabled in the campaign that has value-based + // bidding transitions. + CONVERSION_TRACKING_NOT_ENABLED = 19; + + // Not enough conversions tracked for value-based bidding transitions. + NOT_ENOUGH_CONVERSIONS = 20; + + // 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; + + // The field is not compatible with the budget type. + NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; + + // The field is not compatible with the bidding strategy type. + NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/bidding_strategy_error.proto new file mode 100644 index 00000000..5ef1506b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/bidding_strategy_error.proto @@ -0,0 +1,59 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/billing_setup_error.proto new file mode 100644 index 00000000..c168382c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/billing_setup_error.proto @@ -0,0 +1,110 @@ +// 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.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"; + +// 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; + + // 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_budget_error.proto new file mode 100644 index 00000000..ba03f897 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_budget_error.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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto new file mode 100644 index 00000000..85676558 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_conversion_goal_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_criterion_error.proto new file mode 100644 index 00000000..11320253 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_criterion_error.proto @@ -0,0 +1,116 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/campaign_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_customizer_error.proto new file mode 100644 index 00000000..6ca698b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_draft_error.proto new file mode 100644 index 00000000..45e2f676 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_draft_error.proto @@ -0,0 +1,77 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_error.proto new file mode 100644 index 00000000..db719689 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_error.proto @@ -0,0 +1,211 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_experiment_error.proto new file mode 100644 index 00000000..516627eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_experiment_error.proto @@ -0,0 +1,79 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_feed_error.proto new file mode 100644 index 00000000..6b348b67 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_feed_error.proto @@ -0,0 +1,68 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_shared_set_error.proto new file mode 100644 index 00000000..ea0af811 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/campaign_shared_set_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/change_event_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/change_event_error.proto new file mode 100644 index 00000000..a913f489 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/change_event_error.proto @@ -0,0 +1,61 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/change_status_error.proto new file mode 100644 index 00000000..b01282fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/change_status_error.proto @@ -0,0 +1,61 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/collection_size_error.proto new file mode 100644 index 00000000..f533a782 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/collection_size_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/context_error.proto new file mode 100644 index 00000000..f5a91053 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/context_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_action_error.proto new file mode 100644 index 00000000..f4b1c05e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_action_error.proto @@ -0,0 +1,80 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 00000000..fa07d771 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_adjustment_upload_error.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.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 = "ConversionAdjustmentUploadErrorProto"; +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"; + +// 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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action was created too recently. + // Try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 2; + + // No conversion action of a supported ConversionActionType that matches the + // provided information can be found for the customer. + INVALID_CONVERSION_ACTION = 3; + + // A retraction was already reported for this conversion. + CONVERSION_ALREADY_RETRACTED = 4; + + // A conversion for the supplied combination of conversion + // action and conversion identifier could not be found. + CONVERSION_NOT_FOUND = 5; + + // The specified conversion has already expired. Conversions expire after 55 + // days, after which adjustments cannot be reported against them. + CONVERSION_EXPIRED = 6; + + // The supplied adjustment date time precedes that of the original + // conversion. + ADJUSTMENT_PRECEDES_CONVERSION = 7; + + // A restatement with a more recent adjustment date time was already + // reported for this conversion. + MORE_RECENT_RESTATEMENT_FOUND = 8; + + // The conversion was created too recently. + TOO_RECENT_CONVERSION = 9; + + // Restatements cannot be reported for a conversion action that always uses + // the default value. + CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10; + + // The request contained more than 2000 adjustments. + TOO_MANY_ADJUSTMENTS_IN_REQUEST = 11; + + // The conversion has been adjusted too many times. + TOO_MANY_ADJUSTMENTS = 12; + + // A restatement with this timestamp already exists for this conversion. To + // upload another adjustment, use a different timestamp. + RESTATEMENT_ALREADY_EXISTS = 13; + + // This adjustment has the same timestamp as another adjustment in the + // request for this conversion. To upload another adjustment, use a + // different timestamp. + DUPLICATE_ADJUSTMENT_IN_REQUEST = 14; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 15; + + // The enhanced conversion settings of the conversion action supplied is + // not eligible for enhancements. + CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT = 16; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 17; + + // The provided user identifier is not supported. + // ConversionAdjustmentUploadService only supports hashed_email, + // hashed_phone_number, and address_info. + UNSUPPORTED_USER_IDENTIFIER = 18; + + // Cannot set both gclid_date_time_pair and order_id. + GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET = 20; + + // An enhancement with this conversion action and order_id already exists + // for this conversion. + CONVERSION_ALREADY_ENHANCED = 21; + + // This enhancement has the same conversion action and order_id as + // another enhancement in the request. + DUPLICATE_ENHANCEMENT_IN_REQUEST = 22; + + // Per our customer data policies, enhancement has been prohibited in your + // account. If you have any questions, contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT = 23; + + // The conversion adjustment is for a conversion action of type WEBPAGE, but + // does not have an order_id. The order_id is required for an adjustment for + // a WEBPAGE conversion action. + MISSING_ORDER_ID_FOR_WEBPAGE = 24; + + // The order_id contains personally identifiable information (PII), such as + // an email address or phone number. + ORDER_ID_CONTAINS_PII = 25; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/conversion_custom_variable_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_custom_variable_error.proto new file mode 100644 index 00000000..e8f916e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_custom_variable_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto new file mode 100644 index 00000000..9fbc0e31 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_goal_campaign_config_error.proto @@ -0,0 +1,53 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_upload_error.proto new file mode 100644 index 00000000..5bf431db --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_upload_error.proto @@ -0,0 +1,209 @@ +// 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.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 = "ConversionUploadErrorProto"; +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"; + +// 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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The request contained more than 2000 conversions. + TOO_MANY_CONVERSIONS_IN_REQUEST = 2; + + // The specified gclid could not be decoded. + UNPARSEABLE_GCLID = 3; + + // The specified conversion_date_time is before the event time + // associated with the given identifier or iOS URL parameter. + CONVERSION_PRECEDES_EVENT = 42; + + // The click associated with the given identifier or iOS URL parameter is + // either too old to be imported or occurred outside of the click through + // lookback window for the specified conversion action. + EXPIRED_EVENT = 43; + + // The click associated with the given identifier or iOS URL parameter + // occurred too recently. Try uploading again after 6 hours have + // passed since the click occurred. + TOO_RECENT_EVENT = 44; + + // The click associated with the given identifier or iOS URL parameter could + // not be found in the system. This can happen if the identifier or iOS URL + // parameter are collected for non Google Ads clicks. + EVENT_NOT_FOUND = 45; + + // The click associated with the given identifier or iOS URL parameter is + // owned by a customer account that the uploading customer does not manage. + UNAUTHORIZED_CUSTOMER = 8; + + // No upload eligible conversion action that matches the provided + // information can be found for the customer. + INVALID_CONVERSION_ACTION = 9; + + // The specified conversion action was created too recently. + // Try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 10; + + // The click associated with the given identifier does not contain + // conversion tracking information. + CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; + + // The specified conversion action does not use an external attribution + // model, but external_attribution_data was set. + EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12; + + // The specified conversion action uses an external attribution model, but + // external_attribution_data or one of its contained fields was not set. + // Both external_attribution_credit and external_attribution_model must be + // set for externally attributed conversion actions. + EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13; + + // Order IDs are not supported for conversion actions which use an external + // attribution model. + ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; + + // A conversion with the same order id and conversion action combination + // already exists in our system. + ORDER_ID_ALREADY_IN_USE = 15; + + // The request contained two or more conversions with the same order id and + // conversion action combination. + DUPLICATE_ORDER_ID = 16; + + // The call occurred too recently. Try uploading again after 12 hours + // have passed since the call occurred. + TOO_RECENT_CALL = 17; + + // The click that initiated the call is too old for this conversion to be + // imported. + EXPIRED_CALL = 18; + + // The call or the click leading to the call was not found. + CALL_NOT_FOUND = 19; + + // The specified conversion_date_time is before the call_start_date_time. + CONVERSION_PRECEDES_CALL = 20; + + // The click associated with the call does not contain conversion tracking + // information. + CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; + + // The caller's phone number cannot be parsed. It should be formatted either + // as E.164 "+16502531234", International "+64 3-331 6005" or US national + // number "6502531234". + UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; + + // A conversion with this timestamp already exists for this click. To upload + // another conversion, use a different timestamp. + CLICK_CONVERSION_ALREADY_EXISTS = 23; + + // A conversion with this timestamp already exists for this call. To upload + // another conversion, use a different timestamp. + CALL_CONVERSION_ALREADY_EXISTS = 24; + + // This conversion has the same click and timestamp as another conversion in + // the request. To upload another conversion for this click, use a + // different timestamp. + DUPLICATE_CLICK_CONVERSION_IN_REQUEST = 25; + + // This conversion has the same call and timestamp as another conversion in + // the request. To upload another conversion for this call, use a + // different timestamp. + DUPLICATE_CALL_CONVERSION_IN_REQUEST = 26; + + // The custom variable is not enabled. + CUSTOM_VARIABLE_NOT_ENABLED = 28; + + // The value of the custom variable contains personally identifiable + // information (PII), such as an email address or phone number. + CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 29; + + // The click associated with the given identifier or iOS URL parameter isn't + // from the account where conversion tracking is set up. + INVALID_CUSTOMER_FOR_CLICK = 30; + + // The click associated with the given call isn't from the account where + // conversion tracking is set up. + INVALID_CUSTOMER_FOR_CALL = 31; + + // The conversion can't be uploaded because the conversion source didn't + // comply with the App Tracking Transparency (ATT) policy or the person who + // converted didn't consent to tracking. + CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY = 32; + + // No click was found for the provided user identifiers. This may be because + // the conversion did not come from a Google Ads campaign. + CLICK_NOT_FOUND = 33; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 34; + + // Conversion actions which use an external attribution model cannot be used + // with UserIdentifier. + EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER = 35; + + // The provided user identifier is not supported. ConversionUploadService + // only supports hashed_email and hashed_phone_number. + UNSUPPORTED_USER_IDENTIFIER = 36; + + // gbraid and wbraid are both set in the request. Only one is allowed. + GBRAID_WBRAID_BOTH_SET = 38; + + // The specified wbraid could not be decoded. + UNPARSEABLE_WBRAID = 39; + + // The specified gbraid could not be decoded. + UNPARSEABLE_GBRAID = 40; + + // Conversion actions which use the one-per-click counting type cannot be + // used with gbraid or wbraid. + ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 46; + + // Per our customer data policies, enhanced conversions have been prohibited + // in your account. If you have any questions, contact your Google + // representative. + CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS = 47; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 48; + + // The order_id contains personally identifiable information (PII), such as + // an email address or phone number. + ORDER_ID_CONTAINS_PII = 49; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_error.proto new file mode 100644 index 00000000..cb1a3037 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_error.proto @@ -0,0 +1,90 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto new file mode 100644 index 00000000..7637a24a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,100 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/country_code_error.proto new file mode 100644 index 00000000..0640fd22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/country_code_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/criterion_error.proto new file mode 100644 index 00000000..97b1f78c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/criterion_error.proto @@ -0,0 +1,488 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/currency_code_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/currency_code_error.proto new file mode 100644 index 00000000..1db7ab74 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/currency_code_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/custom_audience_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/custom_audience_error.proto new file mode 100644 index 00000000..585144d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/custom_audience_error.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/custom_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/custom_conversion_goal_error.proto new file mode 100644 index 00000000..4995f7cf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/custom_conversion_goal_error.proto @@ -0,0 +1,59 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/custom_interest_error.proto new file mode 100644 index 00000000..5c2ee197 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/custom_interest_error.proto @@ -0,0 +1,64 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_client_link_error.proto new file mode 100644 index 00000000..1f17bd51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_client_link_error.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_customizer_error.proto new file mode 100644 index 00000000..a2ccea84 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_customizer_error.proto @@ -0,0 +1,42 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_error.proto new file mode 100644 index 00000000..c2c89a5f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_feed_error.proto new file mode 100644 index 00000000..9dc837eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_feed_error.proto @@ -0,0 +1,64 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_manager_link_error.proto new file mode 100644 index 00000000..bd97b7f4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_manager_link_error.proto @@ -0,0 +1,73 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customer_user_access_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customer_user_access_error.proto new file mode 100644 index 00000000..15aa501f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customer_user_access_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/customizer_attribute_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/customizer_attribute_error.proto new file mode 100644 index 00000000..30ee6865 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/customizer_attribute_error.proto @@ -0,0 +1,46 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/database_error.proto new file mode 100644 index 00000000..4814289e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/database_error.proto @@ -0,0 +1,54 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/date_error.proto new file mode 100644 index 00000000..5bd9102d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/date_error.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/date_range_error.proto new file mode 100644 index 00000000..2f40c414 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/date_range_error.proto @@ -0,0 +1,57 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/distinct_error.proto new file mode 100644 index 00000000..36bdd975 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/distinct_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/enum_error.proto new file mode 100644 index 00000000..29598ccc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/enum_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v12/errors/errors.proto new file mode 100644 index 00000000..2e071850 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/errors.proto @@ -0,0 +1,743 @@ +// 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.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"; + +// Proto file describing the common error protos + +// Describes how a GoogleAds API call failed. It's returned inside +// google.rpc.Status.details when a call fails. +message GoogleAdsFailure { + // The list of errors that occurred. + repeated GoogleAdsError errors = 1; + + // The unique ID of the request that is used for debugging purposes. + string request_id = 2; +} + +// GoogleAds-specific error. +message GoogleAdsError { + // An enum value that indicates which error occurred. + ErrorCode error_code = 1; + + // A human-readable description of the error. + string message = 2; + + // The value that triggered the error. + google.ads.googleads.v12.common.Value trigger = 3; + + // Describes the part of the request proto that caused the error. + ErrorLocation location = 4; + + // Additional error details, which are returned by certain error codes. Most + // error codes do not include details. + ErrorDetails details = 5; +} + +// The error reason represented by type and enum. +message ErrorCode { + // The list of error enums + oneof error_code { + // An error caused by the request + RequestErrorEnum.RequestError request_error = 1; + + // An error with a Bidding Strategy mutate. + BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; + + // An error with a URL field mutate. + UrlFieldErrorEnum.UrlFieldError url_field_error = 3; + + // An error with a list operation. + ListOperationErrorEnum.ListOperationError list_operation_error = 4; + + // An error with an AWQL query + QueryErrorEnum.QueryError query_error = 5; + + // An error with a mutate + MutateErrorEnum.MutateError mutate_error = 7; + + // An error with a field mask + FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; + + // An error encountered when trying to authorize a user. + AuthorizationErrorEnum.AuthorizationError authorization_error = 9; + + // An unexpected server-side error. + InternalErrorEnum.InternalError internal_error = 10; + + // An error with the 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; + + // 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; + } +} + +// Describes the part of the request proto that caused the error. +message ErrorLocation { + // A part of a field path. + message FieldPathElement { + // The name of a field or a oneof + string field_name = 1; + + // If field_name is a repeated field, this is the element that failed + optional int32 index = 3; + } + + // A field path that indicates which field was invalid in the request. + repeated FieldPathElement field_path_elements = 2; +} + +// Additional error details. +message ErrorDetails { + // The error code that should have been returned, but wasn't. This is used + // when the error code is not published in the client specified version. + string unpublished_error_code = 1; + + // Describes an ad policy violation. + PolicyViolationDetails policy_violation_details = 2; + + // Describes policy violation findings. + PolicyFindingDetails policy_finding_details = 3; + + // Details on the quota error, including the scope (account or developer), the + // rate bucket name and the retry delay. + QuotaErrorDetails quota_error_details = 4; + + // Details for a resource count limit exceeded error. + ResourceCountDetails resource_count_details = 5; +} + +// Error returned as part of a mutate response. +// This error indicates single policy violation by some text +// in one of the fields. +message PolicyViolationDetails { + // Human readable description of policy violation. + string external_policy_description = 2; + + // Unique identifier for this violation. + // If policy is exemptible, this key may be used to request exemption. + google.ads.googleads.v12.common.PolicyViolationKey key = 4; + + // Human readable name of the policy. + string external_policy_name = 5; + + // Whether user can file an exemption request for this violation. + bool is_exemptible = 6; +} + +// Error returned as part of a mutate response. +// This error indicates one or more policy findings in the fields of a +// resource. +message PolicyFindingDetails { + // The list of policy topics for the resource. Contains the PROHIBITED or + // FULLY_LIMITED policy topic entries that prevented the resource from being + // saved (among any other entries the resource may also have). + repeated google.ads.googleads.v12.common.PolicyTopicEntry policy_topic_entries = 1; +} + +// Additional quota error details when there is QuotaError. +message QuotaErrorDetails { + // Enum of possible scopes that quota buckets belong to. + enum QuotaRateScope { + // Unspecified enum + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per customer account quota + ACCOUNT = 2; + + // Per project or DevToken quota + DEVELOPER = 3; + } + + // The rate scope of the quota limit. + QuotaRateScope rate_scope = 1; + + // The high level description of the quota bucket. + // Examples are "Get requests for standard access" or "Requests per account". + string rate_name = 2; + + // Backoff period that customers should wait before sending next request. + google.protobuf.Duration retry_delay = 3; +} + +// Error details returned when an resource count limit was exceeded. +message ResourceCountDetails { + // The ID of the resource whose limit was exceeded. + // External customer ID if the limit is for a customer. + string enclosing_id = 1; + + // The name of the resource (Customer, Campaign etc.) whose limit was + // exceeded. + string enclosing_resource = 5; + + // The limit which was exceeded. + int32 limit = 2; + + // The resource limit type which was exceeded. + google.ads.googleads.v12.enums.ResourceLimitTypeEnum.ResourceLimitType limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/experiment_arm_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/experiment_arm_error.proto new file mode 100644 index 00000000..1e2232ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/experiment_arm_error.proto @@ -0,0 +1,86 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/experiment_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/experiment_error.proto new file mode 100644 index 00000000..3a5b12f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/experiment_error.proto @@ -0,0 +1,120 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/extension_feed_item_error.proto new file mode 100644 index 00000000..e6157c1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/extension_feed_item_error.proto @@ -0,0 +1,193 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/extension_setting_error.proto new file mode 100644 index 00000000..4eccf7b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/extension_setting_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_attribute_reference_error.proto new file mode 100644 index 00000000..28de97bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_attribute_reference_error.proto @@ -0,0 +1,51 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_error.proto new file mode 100644 index 00000000..5283021b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_error.proto @@ -0,0 +1,112 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_error.proto new file mode 100644 index 00000000..d0eb2104 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_error.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_error.proto new file mode 100644 index 00000000..3de5d812 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_error.proto @@ -0,0 +1,69 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_link_error.proto new file mode 100644 index 00000000..041cfeab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_set_link_error.proto @@ -0,0 +1,49 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_target_error.proto new file mode 100644 index 00000000..a4007b7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_target_error.proto @@ -0,0 +1,68 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_validation_error.proto new file mode 100644 index 00000000..a0d10917 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_item_validation_error.proto @@ -0,0 +1,375 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/feed_mapping_error.proto new file mode 100644 index 00000000..16eef41b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/feed_mapping_error.proto @@ -0,0 +1,101 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/field_error.proto new file mode 100644 index 00000000..164169cb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/field_error.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/field_mask_error.proto new file mode 100644 index 00000000..23baaf26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/field_mask_error.proto @@ -0,0 +1,56 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/function_error.proto new file mode 100644 index 00000000..b11d64c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/function_error.proto @@ -0,0 +1,91 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/function_parsing_error.proto new file mode 100644 index 00000000..08e14135 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/function_parsing_error.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 00000000..f1681cc3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,54 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/header_error.proto new file mode 100644 index 00000000..782e55b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/header_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/id_error.proto new file mode 100644 index 00000000..c7a274ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/id_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/image_error.proto new file mode 100644 index 00000000..a6101551 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/image_error.proto @@ -0,0 +1,162 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/internal_error.proto new file mode 100644 index 00000000..742cdd80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/internal_error.proto @@ -0,0 +1,56 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/invoice_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/invoice_error.proto new file mode 100644 index 00000000..db278b33 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/invoice_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 00000000..d877db5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,51 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 00000000..f5e46131 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,70 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto new file mode 100644 index 00000000..403ee9c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,63 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 00000000..765f4189 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,47 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_error.proto new file mode 100644 index 00000000..1affcac3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_error.proto @@ -0,0 +1,89 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_idea_error.proto new file mode 100644 index 00000000..fffa5615 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/keyword_plan_idea_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/label_error.proto new file mode 100644 index 00000000..59a2ae44 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/label_error.proto @@ -0,0 +1,71 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/language_code_error.proto new file mode 100644 index 00000000..c097809b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/language_code_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/list_operation_error.proto new file mode 100644 index 00000000..d6510df1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/list_operation_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/manager_link_error.proto new file mode 100644 index 00000000..c9a648f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/manager_link_error.proto @@ -0,0 +1,101 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/media_bundle_error.proto new file mode 100644 index 00000000..90e8e720 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/media_bundle_error.proto @@ -0,0 +1,108 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/media_file_error.proto new file mode 100644 index 00000000..018fd01e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/media_file_error.proto @@ -0,0 +1,111 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/media_upload_error.proto new file mode 100644 index 00000000..aea8cbdb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/media_upload_error.proto @@ -0,0 +1,150 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/merchant_center_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/merchant_center_error.proto new file mode 100644 index 00000000..0c50ab84 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/merchant_center_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/multiplier_error.proto new file mode 100644 index 00000000..6ca2ac8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/multiplier_error.proto @@ -0,0 +1,80 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/mutate_error.proto new file mode 100644 index 00000000..a07e2d4f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/mutate_error.proto @@ -0,0 +1,70 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/new_resource_creation_error.proto new file mode 100644 index 00000000..55e35eb5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/new_resource_creation_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/not_allowlisted_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/not_allowlisted_error.proto new file mode 100644 index 00000000..c0d32478 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/not_allowlisted_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/not_empty_error.proto new file mode 100644 index 00000000..abace828 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/not_empty_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/null_error.proto new file mode 100644 index 00000000..66e7a9ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/null_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/offline_user_data_job_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/offline_user_data_job_error.proto new file mode 100644 index 00000000..fc049a1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/offline_user_data_job_error.proto @@ -0,0 +1,173 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/operation_access_denied_error.proto new file mode 100644 index 00000000..b5b506e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/operation_access_denied_error.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/operator_error.proto new file mode 100644 index 00000000..926f7986 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/operator_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/partial_failure_error.proto new file mode 100644 index 00000000..50934559 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/partial_failure_error.proto @@ -0,0 +1,46 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/payments_account_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/payments_account_error.proto new file mode 100644 index 00000000..5635d7e7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/payments_account_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/policy_finding_error.proto new file mode 100644 index 00000000..40be635a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/policy_finding_error.proto @@ -0,0 +1,49 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/policy_validation_parameter_error.proto new file mode 100644 index 00000000..1bbc3337 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/policy_validation_parameter_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/policy_violation_error.proto new file mode 100644 index 00000000..f364ebc3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/policy_violation_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/query_error.proto new file mode 100644 index 00000000..78951f80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/query_error.proto @@ -0,0 +1,225 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/quota_error.proto new file mode 100644 index 00000000..afb56769 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/quota_error.proto @@ -0,0 +1,51 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/range_error.proto new file mode 100644 index 00000000..13b87ec4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/range_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/reach_plan_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/reach_plan_error.proto new file mode 100644 index 00000000..795a7e0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/reach_plan_error.proto @@ -0,0 +1,46 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/recommendation_error.proto new file mode 100644 index 00000000..26e959d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/recommendation_error.proto @@ -0,0 +1,88 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/region_code_error.proto new file mode 100644 index 00000000..b3ba148a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/region_code_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/request_error.proto new file mode 100644 index 00000000..c9d90cd2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/request_error.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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/resource_access_denied_error.proto new file mode 100644 index 00000000..e368738d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/resource_access_denied_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 00000000..3d3efbc6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,91 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/setting_error.proto new file mode 100644 index 00000000..6696a720 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/setting_error.proto @@ -0,0 +1,88 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/shared_criterion_error.proto new file mode 100644 index 00000000..15d39cc5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/shared_criterion_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/shared_set_error.proto new file mode 100644 index 00000000..8436fe22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/shared_set_error.proto @@ -0,0 +1,54 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/size_limit_error.proto new file mode 100644 index 00000000..7f4eb0f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/size_limit_error.proto @@ -0,0 +1,50 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/smart_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/smart_campaign_error.proto new file mode 100644 index 00000000..46ec2f13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/smart_campaign_error.proto @@ -0,0 +1,64 @@ +// 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.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 = "SmartCampaignErrorProto"; +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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/string_format_error.proto new file mode 100644 index 00000000..59796740 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/string_format_error.proto @@ -0,0 +1,48 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/string_length_error.proto new file mode 100644 index 00000000..84148b12 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/string_length_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 00000000..4f1c0e73 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/third_party_app_analytics_link_error.proto @@ -0,0 +1,55 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/time_zone_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/time_zone_error.proto new file mode 100644 index 00000000..da9a04b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/time_zone_error.proto @@ -0,0 +1,45 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/url_field_error.proto new file mode 100644 index 00000000..a3ef5fda --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/url_field_error.proto @@ -0,0 +1,216 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/user_data_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/user_data_error.proto new file mode 100644 index 00000000..19f50160 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/user_data_error.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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/user_list_error.proto new file mode 100644 index 00000000..2e8bc013 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/user_list_error.proto @@ -0,0 +1,127 @@ +// 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.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"; + +// 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v12/errors/youtube_video_registration_error.proto new file mode 100644 index 00000000..80f737db --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/errors/youtube_video_registration_error.proto @@ -0,0 +1,51 @@ +// 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.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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/googleads_gapic.yaml b/google-cloud/protos/google/ads/googleads/v12/googleads_gapic.yaml new file mode 100644 index 00000000..be30ba68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/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.V12.Services + go: + package_name: google.golang.org/google/ads/googleads/v12/services + java: + package_name: com.google.ads.googleads.v12.services + nodejs: + package_name: v12.services + php: + package_name: Google\Ads\GoogleAds\V12\Services + python: + package_name: google.ads.googleads_v12.gapic.services + ruby: + package_name: Google::Ads::Googleads::V12::Services +interfaces: +- name: google.ads.googleads.v12.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/google-cloud/protos/google/ads/googleads/v12/googleads_grpc_service_config.json b/google-cloud/protos/google/ads/googleads/v12/googleads_grpc_service_config.json new file mode 100755 index 00000000..5767e0ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/googleads_grpc_service_config.json @@ -0,0 +1,330 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v12.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v12.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupAssetSetService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v12.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v12.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v12.services.AdService" + }, + { + "service": "google.ads.googleads.v12.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v12.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v12.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v12.services.AssetGroupSignalService" + }, + { + "service": "google.ads.googleads.v12.services.AssetService" + }, + { + "service": "google.ads.googleads.v12.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v12.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v12.services.AudienceInsightsService" + }, + { + "service": "google.ads.googleads.v12.services.AudienceService" + }, + { + "service": "google.ads.googleads.v12.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v12.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v12.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v12.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignGroupService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignService" + }, + { + "service": "google.ads.googleads.v12.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v12.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v12.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v12.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v12.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerAssetSetService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v12.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v12.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v12.services.ExperimentArmService" + }, + { + "service": "google.ads.googleads.v12.services.ExperimentService" + }, + { + "service": "google.ads.googleads.v12.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v12.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v12.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v12.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v12.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v12.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v12.services.FeedService" + }, + { + "service": "google.ads.googleads.v12.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v12.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v12.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v12.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v12.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v12.services.LabelService" + }, + { + "service": "google.ads.googleads.v12.services.MediaFileService" + }, + { + "service": "google.ads.googleads.v12.services.MerchantCenterLinkService" + }, + { + "service": "google.ads.googleads.v12.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v12.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v12.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v12.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v12.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v12.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v12.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v12.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v12.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v12.services.UserDataService" + }, + { + "service": "google.ads.googleads.v12.services.UserListService" + } + ], + "timeout": "14400s", + "retryPolicy": { + "initialBackoff": "5s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/ads/googleads/v12/googleads_v12.yaml b/google-cloud/protos/google/ads/googleads/v12/googleads_v12.yaml new file mode 100644 index 00000000..b16ee2c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/googleads_v12.yaml @@ -0,0 +1,817 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v12.services.AccountBudgetProposalService +- name: google.ads.googleads.v12.services.AccountLinkService +- name: google.ads.googleads.v12.services.AdGroupAdLabelService +- name: google.ads.googleads.v12.services.AdGroupAdService +- name: google.ads.googleads.v12.services.AdGroupAssetService +- name: google.ads.googleads.v12.services.AdGroupAssetSetService +- name: google.ads.googleads.v12.services.AdGroupBidModifierService +- name: google.ads.googleads.v12.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v12.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v12.services.AdGroupCriterionService +- name: google.ads.googleads.v12.services.AdGroupCustomizerService +- name: google.ads.googleads.v12.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v12.services.AdGroupFeedService +- name: google.ads.googleads.v12.services.AdGroupLabelService +- name: google.ads.googleads.v12.services.AdGroupService +- name: google.ads.googleads.v12.services.AdParameterService +- name: google.ads.googleads.v12.services.AdService +- name: google.ads.googleads.v12.services.AssetGroupAssetService +- name: google.ads.googleads.v12.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v12.services.AssetGroupService +- name: google.ads.googleads.v12.services.AssetGroupSignalService +- name: google.ads.googleads.v12.services.AssetService +- name: google.ads.googleads.v12.services.AssetSetAssetService +- name: google.ads.googleads.v12.services.AssetSetService +- name: google.ads.googleads.v12.services.AudienceInsightsService +- name: google.ads.googleads.v12.services.AudienceService +- name: google.ads.googleads.v12.services.BatchJobService +- name: google.ads.googleads.v12.services.BiddingDataExclusionService +- name: google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v12.services.BiddingStrategyService +- name: google.ads.googleads.v12.services.BillingSetupService +- name: google.ads.googleads.v12.services.CampaignAssetService +- name: google.ads.googleads.v12.services.CampaignAssetSetService +- name: google.ads.googleads.v12.services.CampaignBidModifierService +- name: google.ads.googleads.v12.services.CampaignBudgetService +- name: google.ads.googleads.v12.services.CampaignConversionGoalService +- name: google.ads.googleads.v12.services.CampaignCriterionService +- name: google.ads.googleads.v12.services.CampaignCustomizerService +- name: google.ads.googleads.v12.services.CampaignDraftService +- name: google.ads.googleads.v12.services.CampaignExtensionSettingService +- name: google.ads.googleads.v12.services.CampaignFeedService +- name: google.ads.googleads.v12.services.CampaignGroupService +- name: google.ads.googleads.v12.services.CampaignLabelService +- name: google.ads.googleads.v12.services.CampaignService +- name: google.ads.googleads.v12.services.CampaignSharedSetService +- name: google.ads.googleads.v12.services.ConversionActionService +- name: google.ads.googleads.v12.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v12.services.ConversionCustomVariableService +- name: google.ads.googleads.v12.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v12.services.ConversionUploadService +- name: google.ads.googleads.v12.services.ConversionValueRuleService +- name: google.ads.googleads.v12.services.ConversionValueRuleSetService +- name: google.ads.googleads.v12.services.CustomAudienceService +- name: google.ads.googleads.v12.services.CustomConversionGoalService +- name: google.ads.googleads.v12.services.CustomInterestService +- name: google.ads.googleads.v12.services.CustomerAssetService +- name: google.ads.googleads.v12.services.CustomerAssetSetService +- name: google.ads.googleads.v12.services.CustomerClientLinkService +- name: google.ads.googleads.v12.services.CustomerConversionGoalService +- name: google.ads.googleads.v12.services.CustomerCustomizerService +- name: google.ads.googleads.v12.services.CustomerExtensionSettingService +- name: google.ads.googleads.v12.services.CustomerFeedService +- name: google.ads.googleads.v12.services.CustomerLabelService +- name: google.ads.googleads.v12.services.CustomerManagerLinkService +- name: google.ads.googleads.v12.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v12.services.CustomerService +- name: google.ads.googleads.v12.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v12.services.CustomerUserAccessService +- name: google.ads.googleads.v12.services.CustomizerAttributeService +- name: google.ads.googleads.v12.services.ExperimentArmService +- name: google.ads.googleads.v12.services.ExperimentService +- name: google.ads.googleads.v12.services.ExtensionFeedItemService +- name: google.ads.googleads.v12.services.FeedItemService +- name: google.ads.googleads.v12.services.FeedItemSetLinkService +- name: google.ads.googleads.v12.services.FeedItemSetService +- name: google.ads.googleads.v12.services.FeedItemTargetService +- name: google.ads.googleads.v12.services.FeedMappingService +- name: google.ads.googleads.v12.services.FeedService +- name: google.ads.googleads.v12.services.GeoTargetConstantService +- name: google.ads.googleads.v12.services.GoogleAdsFieldService +- name: google.ads.googleads.v12.services.GoogleAdsService +- name: google.ads.googleads.v12.services.InvoiceService +- name: google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v12.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v12.services.KeywordPlanCampaignService +- name: google.ads.googleads.v12.services.KeywordPlanIdeaService +- name: google.ads.googleads.v12.services.KeywordPlanService +- name: google.ads.googleads.v12.services.KeywordThemeConstantService +- name: google.ads.googleads.v12.services.LabelService +- name: google.ads.googleads.v12.services.MediaFileService +- name: google.ads.googleads.v12.services.MerchantCenterLinkService +- name: google.ads.googleads.v12.services.OfflineUserDataJobService +- name: google.ads.googleads.v12.services.PaymentsAccountService +- name: google.ads.googleads.v12.services.ReachPlanService +- name: google.ads.googleads.v12.services.RecommendationService +- name: google.ads.googleads.v12.services.RemarketingActionService +- name: google.ads.googleads.v12.services.SharedCriterionService +- name: google.ads.googleads.v12.services.SharedSetService +- name: google.ads.googleads.v12.services.SmartCampaignSettingService +- name: google.ads.googleads.v12.services.SmartCampaignSuggestService +- name: google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v12.services.UserDataService +- name: google.ads.googleads.v12.services.UserListService + +types: +- name: google.ads.googleads.v12.errors.GoogleAdsFailure +- name: google.ads.googleads.v12.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v12.services.PromoteExperimentMetadata +- name: google.ads.googleads.v12.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.v12.services.AccountBudgetProposalService.MutateAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v12.services.AccountLinkService.MutateAccountLink + deadline: 600.0 + - selector: google.ads.googleads.v12.services.AdGroupAdLabelService.MutateAdGroupAdLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupAdService.MutateAdGroupAds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupAssetService.MutateAdGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupAssetSetService.MutateAdGroupAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupCriterionService.MutateAdGroupCriteria + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupCustomizerService.MutateAdGroupCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupFeedService.MutateAdGroupFeeds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupLabelService.MutateAdGroupLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdGroupService.MutateAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdParameterService.MutateAdParameters + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdService.GetAd + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AdService.MutateAds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetGroupAssetService.MutateAssetGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetGroupService.MutateAssetGroups + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetGroupSignalService.MutateAssetGroupSignals + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetService.MutateAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetSetAssetService.MutateAssetSetAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.AssetSetService.MutateAssetSets + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.AudienceInsightsService.*' + deadline: 600.0 + - selector: google.ads.googleads.v12.services.AudienceService.MutateAudiences + deadline: 600.0 + - selector: 'google.ads.googleads.v12.services.BatchJobService.*' + deadline: 60.0 + - selector: google.ads.googleads.v12.services.BiddingDataExclusionService.MutateBiddingDataExclusions + deadline: 60.0 + - selector: google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + deadline: 60.0 + - selector: google.ads.googleads.v12.services.BiddingStrategyService.MutateBiddingStrategies + deadline: 60.0 + - selector: google.ads.googleads.v12.services.BillingSetupService.MutateBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignAssetService.MutateCampaignAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignAssetSetService.MutateCampaignAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignBidModifierService.MutateCampaignBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignBudgetService.MutateCampaignBudgets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignConversionGoalService.MutateCampaignConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignCriterionService.MutateCampaignCriteria + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignCustomizerService.MutateCampaignCustomizers + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.CampaignDraftService.*' + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignFeedService.MutateCampaignFeeds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignGroupService.MutateCampaignGroups + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignLabelService.MutateCampaignLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignService.MutateCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CampaignSharedSetService.MutateCampaignSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + deadline: 600.0 + - selector: google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions + deadline: 600.0 + - selector: google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions + deadline: 600.0 + - selector: google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomAudienceService.MutateCustomAudiences + deadline: 600.0 + - selector: google.ads.googleads.v12.services.CustomConversionGoalService.MutateCustomConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomInterestService.MutateCustomInterests + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerAssetService.MutateCustomerAssets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerAssetSetService.MutateCustomerAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerClientLinkService.MutateCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerConversionGoalService.MutateCustomerConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerCustomizerService.MutateCustomerCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerFeedService.MutateCustomerFeeds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerLabelService.MutateCustomerLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerManagerLinkService.MoveManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerManagerLinkService.MutateCustomerManagerLink + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.CustomerService.*' + deadline: 60.0 + - selector: google.ads.googleads.v12.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v12.services.CustomerUserAccessService.MutateCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v12.services.CustomizerAttributeService.MutateCustomizerAttributes + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ExperimentArmService.MutateExperimentArms + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.ExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ExtensionFeedItemService.MutateExtensionFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedItemService.MutateFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedItemSetLinkService.MutateFeedItemSetLinks + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedItemSetService.MutateFeedItemSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedItemTargetService.MutateFeedItemTargets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedMappingService.MutateFeedMappings + deadline: 60.0 + - selector: google.ads.googleads.v12.services.FeedService.MutateFeeds + deadline: 60.0 + - selector: google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants + deadline: 60.0 + - selector: google.ads.googleads.v12.services.GoogleAdsFieldService.GetGoogleAdsField + deadline: 600.0 + - selector: google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields + deadline: 600.0 + - selector: google.ads.googleads.v12.services.GoogleAdsService.Mutate + deadline: 600.0 + - selector: google.ads.googleads.v12.services.GoogleAdsService.Search + deadline: 14400.0 + - selector: google.ads.googleads.v12.services.GoogleAdsService.SearchStream + deadline: 14400.0 + - selector: google.ads.googleads.v12.services.InvoiceService.ListInvoices + deadline: 60.0 + - selector: google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + deadline: 60.0 + - selector: google.ads.googleads.v12.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + deadline: 60.0 + - selector: google.ads.googleads.v12.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.KeywordPlanIdeaService.*' + deadline: 600.0 + - selector: 'google.ads.googleads.v12.services.KeywordPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v12.services.KeywordPlanService.MutateKeywordPlans + deadline: 60.0 + - selector: google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + deadline: 60.0 + - selector: google.ads.googleads.v12.services.LabelService.MutateLabels + deadline: 60.0 + - selector: google.ads.googleads.v12.services.MediaFileService.MutateMediaFiles + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.MerchantCenterLinkService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.OfflineUserDataJobService.*' + deadline: 600.0 + - selector: google.ads.googleads.v12.services.PaymentsAccountService.ListPaymentsAccounts + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.ReachPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v12.services.RecommendationService.ApplyRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v12.services.RecommendationService.DismissRecommendation + deadline: 600.0 + - selector: google.ads.googleads.v12.services.RemarketingActionService.MutateRemarketingActions + deadline: 60.0 + - selector: google.ads.googleads.v12.services.SharedCriterionService.MutateSharedCriteria + deadline: 60.0 + - selector: google.ads.googleads.v12.services.SharedSetService.MutateSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v12.services.SmartCampaignSettingService.MutateSmartCampaignSettings + deadline: 60.0 + - selector: 'google.ads.googleads.v12.services.SmartCampaignSuggestService.*' + deadline: 60.0 + - selector: google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + deadline: 600.0 + - selector: google.ads.googleads.v12.services.UserDataService.UploadUserData + deadline: 600.0 + - selector: google.ads.googleads.v12.services.UserListService.MutateUserLists + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v12/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v12/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v12/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v12/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v12/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v12.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AccountLinkService.MutateAccountLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupAssetSetService.MutateAdGroupAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetGroupSignalService.MutateAssetGroupSignals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.AudienceInsightsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.AudienceService.MutateAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignGroupService.MutateCampaignGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerAssetSetService.MutateCustomerAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerManagerLinkService.MoveManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerManagerLinkService.MutateCustomerManagerLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ExperimentArmService.MutateExperimentArms + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.ExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.KeywordPlanIdeaService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.KeywordPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.MediaFileService.MutateMediaFiles + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.MerchantCenterLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.RecommendationService.ApplyRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.RecommendationService.DismissRecommendation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v12.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v12.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/google-cloud/protos/google/ads/googleads/v12/resources/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/resources/BUILD.bazel new file mode 100644 index 00000000..70ab3bd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/BUILD.bazel @@ -0,0 +1,97 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "resources_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v12/common:common_proto", + "//google/ads/googleads/v12/enums:enums_proto", + "//google/ads/googleads/v12/errors:errors_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "resources_java_proto", + deps = [":resources_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "resources_csharp_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "resources_ruby_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "resources_py_proto", + deps = [":resources_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto new file mode 100644 index 00000000..e809697f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/accessible_bidding_strategy.proto @@ -0,0 +1,171 @@ +// 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.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"; + +// Represents a view of BiddingStrategies owned by and shared with the customer. +// +// In contrast to BiddingStrategy, this resource includes strategies owned by +// managers of the customer and shared with this customer - in addition to +// strategies owned by this customer. This resource does not provide metrics and +// only exposes a limited subset of the BiddingStrategy attributes. +message AccessibleBiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + pattern: "customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}" + }; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + message MaximizeConversionValue { + // Output only. The target return on ad spend (ROAS) option. If set, the bid strategy + // will maximize revenue while averaging the target return on ad spend. If + // the target ROAS is high, the bid strategy may not be able to spend the + // full budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + message MaximizeConversions { + // Output only. The target cost per acquisition (CPA) option. This is the average amount + // that you would like to spend per acquisition. + int64 target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + message TargetCpa { + // Output only. Average CPA target. + // This target should be greater than or equal to minimum billable unit + // based on the currency for the account. + optional int64 target_cpa_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + message TargetImpressionShare { + // Output only. The targeted location on the search results page. + google.ads.googleads.v12.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The chosen fraction of ads to be shown in the targeted location in + // micros. For example, 1% equals 10,000. + optional int64 location_fraction_micros = 2; + + // Output only. The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + optional int64 cpc_bid_ceiling_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that helps you maximize revenue while + // averaging a specific target return on ad spend (ROAS). + message TargetRoas { + // Output only. The chosen revenue (based on conversion data) per unit of spend. + optional double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bid strategy that sets your bids to help get as many clicks + // as possible within your budget. + message TargetSpend { + // Output only. The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 1 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the accessible bidding strategy. + // AccessibleBiddingStrategy resource names have the form: + // + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the bidding strategy. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + google.ads.googleads.v12.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the Customer which owns the bidding strategy. + int64 owner_customer_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. descriptive_name of the Customer which owns the bidding strategy. + string owner_descriptive_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // Output only. An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + MaximizeConversionValue maximize_conversion_value = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + MaximizeConversions maximize_conversions = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + TargetCpa target_cpa = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that automatically optimizes towards a chosen + // percentage of impressions. + TargetImpressionShare target_impression_share = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that helps you maximize revenue while averaging a + // specific target Return On Ad Spend (ROAS). + TargetRoas target_roas = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bid strategy that sets your bids to help get as many clicks as + // possible within your budget. + TargetSpend target_spend = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v12/resources/account_budget.proto new file mode 100644 index 00000000..34dc1161 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/account_budget.proto @@ -0,0 +1,253 @@ +// 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.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"; + +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (for example, spending limit), these differences are +// juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. +// +// This resource is mutated using AccountBudgetProposal and cannot be mutated +// directly. A budget may have at most one pending proposal at any given time. +// It is read through pending_proposal. +// +// Once approved, a budget may be subject to adjustments, such as credit +// adjustments. Adjustments create differences between the 'approved' and +// 'adjusted' fields, which would otherwise be identical. +message AccountBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudget" + pattern: "customers/{customer_id}/accountBudgets/{account_budget_id}" + }; + + // A pending proposal associated with the enclosing account-level budget, + // if applicable. + message PendingAccountBudgetProposal { + // Output only. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + optional string account_budget_proposal = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.v12.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name to assign to the account-level budget. + optional string name = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + optional string start_date_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with this budget. + optional string notes = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this account-level budget proposal was created. + // Formatted as yyyy-MM-dd HH:mm:ss. + optional string creation_date_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The end time of the account-level budget. + oneof end_time { + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + string end_date_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit. + oneof spending_limit { + // Output only. The spending limit in micros. One million is equivalent to + // one unit. + int64 spending_limit_micros = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The spending limit as a well-defined type, for example, INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Output only. The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Output only. The ID of the account-level budget. + optional int64 id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the billing setup associated with this account-level + // budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The status of this account-level budget. + google.ads.googleads.v12.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account-level budget. + optional string name = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + optional string proposed_start_date_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + optional string approved_start_date_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + int64 total_adjustments_micros = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + int64 amount_served_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with the budget. + optional string notes = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + string proposed_end_date_time = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + string approved_end_date_time = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Output only. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. This will only be populated if the proposed spending limit + // is finite, and will always be greater than or equal to the + // proposed spending limit. + int64 approved_spending_limit_micros = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for example, + // INFINITE. This will only be populated if the approved spending limit is + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // Output only. The adjusted spending limit in micros. One million is equivalent to + // one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + int64 adjusted_spending_limit_micros = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted spending limit as a well-defined type, for example, + // INFINITE. This will only be populated if the adjusted spending limit is + // INFINITE, which is guaranteed to be true if the approved spending limit + // is INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v12/resources/account_budget_proposal.proto new file mode 100644 index 00000000..cb97daee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/account_budget_proposal.proto @@ -0,0 +1,161 @@ +// 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.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"; + +// Proto file describing the AccountBudgetProposal resource. + +// An account-level budget proposal. +// +// All fields prefixed with 'proposed' may not necessarily be applied directly. +// For example, proposed spending limits may be adjusted before their +// application. This is true if the 'proposed' field has an 'approved' +// counterpart, for example, spending limits. +// +// Note that the proposal type (proposal_type) changes which fields are +// required and which must remain empty. +message AccountBudgetProposal { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + pattern: "customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}" + }; + + // Immutable. The resource name of the proposal. + // AccountBudgetProposal resource names have the form: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; + + // Output only. The ID of the proposal. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the billing setup associated with this proposal. + optional string billing_setup = 26 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Immutable. The resource name of the account-level budget associated with this + // proposal. + optional string account_budget = 27 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Immutable. The type of this proposal, for example, END to end the budget associated + // with this proposal. + google.ads.googleads.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 name to assign to the account-level budget. + optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + optional string approved_start_date_time = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A purchase order number is a value that enables the user to help them + // reference this budget in their monthly invoices. + optional string proposed_purchase_order_number = 35 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Notes associated with this budget. + optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The date time when this account-level budget proposal was created, which is + // not the same as its approval date time, if applicable. + optional string creation_date_time = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time when this account-level budget was approved, if applicable. + optional string approval_date_time = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed start date time of the account-level budget, which cannot be + // in the past. + oneof proposed_start_time { + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + string proposed_start_date_time = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed start date time as a well-defined type, for example, NOW. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The proposed end date time of the account-level budget, which cannot be in + // the past. + oneof proposed_end_time { + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + string proposed_end_date_time = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved end date time of the account-level budget. + oneof approved_end_time { + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + string approved_end_date_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end date time as a well-defined type, for example, FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Immutable. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved spending limit. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. + int64 approved_spending_limit_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, for example, + // INFINITE. + google.ads.googleads.v12.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/account_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/account_link.proto new file mode 100644 index 00000000..74f6bf1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/account_link.proto @@ -0,0 +1,150 @@ +// 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.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"; + +// Represents the data sharing connection between a Google Ads account and +// another account +message AccountLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountLink" + pattern: "customers/{customer_id}/accountLinks/{account_link_id}" + }; + + // Immutable. Resource name of the account link. + // AccountLink resource names have the form: + // `customers/{customer_id}/accountLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 account_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. + google.ads.googleads.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]; + + // 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 + 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]; + } +} + +// The identifiers of a Third Party App Analytics Link. +message ThirdPartyAppAnalyticsLinkIdentifier { + // Immutable. The ID of the app analytics provider. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional int64 app_analytics_provider_id = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A string that uniquely identifies a mobile application from which the data + // was collected to the Google Ads API. For iOS, the ID string is the 9 digit + // string that appears at the end of an App Store URL (for example, + // "422689480" for "Gmail" whose App Store link is + // https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For + // Android, the ID string is the application's package name (for example, + // "com.google.android.gm" for "Gmail" given Google Play link + // https://play.google.com/store/apps/details?id=com.google.android.gm) + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional string app_id = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vendor of the app. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + google.ads.googleads.v12.enums.MobileAppVendorEnum.MobileAppVendor 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/google-cloud/protos/google/ads/googleads/v12/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad.proto new file mode 100644 index 00000000..4117e193 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad.proto @@ -0,0 +1,193 @@ +// 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.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"; + +// 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.v12.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.v12.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.v12.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.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; + + // 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.v12.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.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; + + // 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.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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group.proto new file mode 100644 index 00000000..401adb59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group.proto @@ -0,0 +1,214 @@ +// 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.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"; + +// Proto file describing the ad group resource. + +// An ad group. +message AdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroup" + pattern: "customers/{customer_id}/adGroups/{ad_group_id}" + }; + + // Settings for the audience targeting. + message AudienceSetting { + // Immutable. If true, this ad group uses an Audience resource for audience targeting. + // If false, this ad group may use audience segment criteria instead. + bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Immutable. The resource name of the ad group. + // Ad group resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the ad group. + optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the ad group. + // + // This field is required and should not be empty when creating new ad + // groups. + // + // It must contain fewer than 255 UTF-8 full-width characters. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 35; + + // The status of the ad group. + google.ads.googleads.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; + + // Output only. For draft or experiment ad groups, this field is the resource name of the + // base ad group from which this ad group was created. If a draft or + // experiment ad group does not have a base ad group, then this field is null. + // + // For base ad groups, this field equals the ad group resource name. + // + // This field is read-only. + optional string base_ad_group = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 6; + + // Immutable. The campaign to which the ad group belongs. + optional string campaign = 38 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The maximum CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 39; + + // Output only. Value will be same as that of the CPC (cost-per-click) bid value when the + // bidding strategy is one of manual cpc, enhanced cpc, page one promoted or + // target outrank share, otherwise the value will be null. + optional int64 effective_cpc_bid_micros = 57 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The maximum CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 40; + + // The target CPA (cost-per-acquisition). If the ad group's campaign + // bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa + // field set), then this field overrides the target CPA specified in the + // campaign's bidding strategy. + // Otherwise, this value is ignored. + optional int64 target_cpa_micros = 41; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 42; + + // Average amount in micros that the advertiser is willing to pay for every + // thousand times the ad is shown. + optional int64 target_cpm_micros = 43; + + // The target ROAS (return-on-ad-spend) override. If the ad group's campaign + // bidding strategy is TargetRoas or MaximizeConversionValue (with its + // target_roas field set), then this field overrides the target ROAS specified + // in the campaign's bidding strategy. + // Otherwise, this value is ignored. + optional double target_roas = 44; + + // The percent cpc bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 45; + + // Settings for the Display Campaign Optimizer, initially termed "Explorer". + google.ads.googleads.v12.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; + + // Allows advertisers to specify a targeting dimension on which to place + // absolute bids. This is only applicable for campaigns that target only the + // display network and not search. + google.ads.googleads.v12.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. + google.ads.googleads.v12.common.TargetingSetting targeting_setting = 25; + + // Immutable. Setting for audience related features. + AudienceSetting audience_setting = 56 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The effective target CPA (cost-per-acquisition). + // This field is read-only. + optional int64 effective_target_cpa_micros = 47 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target CPA. + // This field is read-only. + google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective target ROAS (return-on-ad-spend). + // This field is read-only. + optional double effective_target_roas = 48 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target ROAS. + // This field is read-only. + google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group. + repeated string labels = 49 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // The asset field types that should be excluded from this ad group. Asset + // links with these field types will not be inherited by this ad group from + // the upper levels. + repeated google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 54; + + // The asset set types that should be excluded from this ad group. Asset set + // links with these types will not be inherited by this ad group from the + // upper levels. + // Location group types (GMB_DYNAMIC_LOCATION_GROUP, + // CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of + // LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all + // location group asset sets are not allowed to be linked to this ad group, + // and all Location Extension (LE) and Affiliate Location Extensions (ALE) + // will not be served under this ad group. + // Only LOCATION_SYNC is currently supported. + repeated google.ads.googleads.v12.enums.AssetSetTypeEnum.AssetSetType excluded_parent_asset_set_types = 58; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad.proto new file mode 100644 index 00000000..ff42f216 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad.proto @@ -0,0 +1,102 @@ +// 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.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"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAd" + pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad group ad resource names have the form: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.googleads.v12.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; + + // Immutable. The ad group to which the ad belongs. + optional string ad_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v12.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For example, a + // recommendation could be "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. + 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto new file mode 100644 index 00000000..55eb7669 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_combination_view.proto @@ -0,0 +1,64 @@ +// 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.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"; + +// 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.v12.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/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto new file mode 100644 index 00000000..7b39aad8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,109 @@ +// 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.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"; + +// Proto file describing the ad group ad asset view resource. + +// A link between an AdGroupAd and an Asset. +// Currently we only support AdGroupAdAssetView for AppAds and Responsive Search +// Ads. +message AdGroupAdAssetView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + pattern: "customers/{customer_id}/adGroupAdAssetViews/{ad_group_id}~{ad_id}~{asset_id}~{field_type}" + }; + + // Output only. The resource name of the ad group ad asset view. + // Ad group ad asset view resource names have the form (Before V4): + // + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; + + // Output only. The ad group ad to which the asset is linked. + optional string ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The asset which is linked to the ad group ad. + optional string asset = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset and the latest version of the ad. If true, the + // asset is linked to the latest version of the ad. If false, it means the + // link once existed but has been removed and is no longer present in the + // latest version of the ad. + optional bool enabled = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance of an asset linkage. + google.ads.googleads.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]; +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_label.proto new file mode 100644 index 00000000..9ec9831d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_ad_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset.proto new file mode 100644 index 00000000..67467bda --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset.proto @@ -0,0 +1,83 @@ +// 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.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"; + +// 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.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset_set.proto new file mode 100644 index 00000000..9bd6ffa2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_asset_set.proto @@ -0,0 +1,71 @@ +// 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.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 = "AdGroupAssetSetProto"; +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"; + +// 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.v12.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_audience_view.proto new file mode 100644 index 00000000..3bfab4a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_audience_view.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto new file mode 100644 index 00000000..79665e7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_bid_modifier.proto @@ -0,0 +1,111 @@ +// 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.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"; + +// Proto file describing the ad group bid modifier resource. + +// Represents an ad group bid modifier. +message AdGroupBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + pattern: "customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the ad group bid modifier. + // Ad group bid modifier resource names have the form: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Immutable. The ad group to which this criterion belongs. + optional string ad_group = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. + // Use 0 to opt out of a Device type. + optional double bid_modifier = 15; + + // Output only. The base ad group from which this draft/trial adgroup bid modifier was + // created. If ad_group is a base ad group then this field will be equal to + // ad_group. If the ad group was created in the draft or trial and has no + // corresponding base ad group, then this field will be null. + // This field is readonly. + optional string base_ad_group = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Bid modifier source. + google.ads.googleads.v12.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for hotel date selection (default dates versus user selected). + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion.proto new file mode 100644 index 00000000..f139c45e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion.proto @@ -0,0 +1,293 @@ +// 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.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"; + +// Proto file describing the ad group criterion resource. + +// An ad group criterion. +message AdGroupCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterion" + pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}" + }; + + // A container for ad group criterion quality information. + message QualityInfo { + // Output only. The quality score. + // + // This field may not be populated if Google does not have enough + // information to determine a value. + optional int32 quality_score = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.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]; + } + + // Estimates for criterion bids at various positions. + message PositionEstimates { + // Output only. The estimate of the CPC bid required for ad to be shown on first + // page of search results. + optional int64 first_page_cpc_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed in first + // position, at the top of the first page of search results. + optional int64 first_position_cpc_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed at the top + // of the first page of search results. + optional int64 top_of_page_cpc_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how many clicks per week you might get by changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_clicks_at_first_position_cpc = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how your cost per week might change when changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_cost_at_first_position_cpc = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the ad group criterion. + // Ad group criterion resource names have the form: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. + google.ads.googleads.v12.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; + + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The ad group to which the criterion belongs. + optional string ad_group = 57 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The type of the criterion. + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + // + // This field is immutable. To switch a criterion from positive to negative, + // remove then re-add it. + optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Serving status of the criterion. + google.ads.googleads.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]; + + // Output only. List of disapproval reasons of the criterion. + // + // The different reasons for disapproving a criterion can be found here: + // https://support.google.com/adspolicy/answer/6008942 + // + // This field is read-only. + repeated string disapproval_reasons = 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group criterion. + repeated string labels = 60 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + optional double bid_modifier = 61; + + // The CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 62; + + // The CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 63; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 64; + + // The CPC bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 65; + + // Output only. The effective CPC (cost-per-click) bid. + optional int64 effective_cpc_bid_micros = 66 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + optional int64 effective_cpm_bid_micros = 67 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPV (cost-per-view) bid. + optional int64 effective_cpv_bid_micros = 68 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective Percent CPC bid amount. + optional int64 effective_percent_cpc_bid_micros = 69 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPC bid. + google.ads.googleads.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]; + + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 70; + + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + + // URL template for appending params to final URL. + optional string final_url_suffix = 72; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 73; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + 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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto new file mode 100644 index 00000000..2b38b5f4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,76 @@ +// 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.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"; + +// A customizer value for the associated CustomizerAttribute at the +// AdGroupCriterion level. +message AdGroupCriterionCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + pattern: "customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group criterion customizer. + // Ad group criterion customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + } + ]; + + // Immutable. The ad group criterion to which the customizer attribute is linked. + // It must be a keyword criterion. + optional string ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group criterion. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group criterion customizer. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_label.proto new file mode 100644 index 00000000..02d5e098 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto new file mode 100644 index 00000000..e2eef71f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,89 @@ +// 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.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"; + +// Proto file describing the ad group criterion simulation resource. + +// An ad group criterion simulation. Supported combinations of advertising +// channel type, criterion type, simulation type, and simulation modification +// method are detailed below respectively. Hotel AdGroupCriterion simulation +// operations starting in V5. +// +// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM +// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM +// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM +// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM +// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM +message AdGroupCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + pattern: "customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group criterion simulation. + // Ad group criterion simulation resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; + + // Output only. AdGroup ID of the simulation. + optional int64 ad_group_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.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]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_customizer.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_customizer.proto new file mode 100644 index 00000000..70cb93bf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_customizer.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// A customizer value for the associated CustomizerAttribute at the AdGroup +// level. +message AdGroupCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + pattern: "customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group customizer. + // Ad group customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + } + ]; + + // Immutable. The ad group to which the customizer attribute is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group customizer. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_extension_setting.proto new file mode 100644 index 00000000..8d7c88e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.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"; + +// Proto file describing the AdGroupExtensionSetting resource. + +// An ad group extension setting. +message AdGroupExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + pattern: "customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}" + }; + + // Immutable. The resource name of the ad group extension setting. + // AdGroupExtensionSetting resource names have the form: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; + + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the ad group. The linked extension feed items will + // serve under this ad group. + // AdGroup resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + optional string ad_group = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The resource names of the extension feed items to serve under the ad group. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_feed.proto new file mode 100644 index 00000000..f236d62d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_feed.proto @@ -0,0 +1,82 @@ +// 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.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"; + +// Proto file describing the AdGroupFeed resource. + +// An ad group feed. +message AdGroupFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupFeed" + pattern: "customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}" + }; + + // Immutable. The resource name of the ad group feed. + // Ad group feed resource names have the form: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Immutable. The feed being linked to the ad group. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The ad group being linked to the feed. + optional string ad_group = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // ad group. Required. + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_label.proto new file mode 100644 index 00000000..46fbdedb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_simulation.proto new file mode 100644 index 00000000..981b4245 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_group_simulation.proto @@ -0,0 +1,93 @@ +// 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.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"; + +// Proto file describing the ad group simulation resource. + +// An ad group simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification method is +// detailed below respectively. +// +// 1. SEARCH - CPC_BID - DEFAULT +// 2. SEARCH - CPC_BID - UNIFORM +// 3. SEARCH - TARGET_CPA - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +message AdGroupSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupSimulation" + pattern: "customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group simulation. + // Ad group simulation resource names have the form: + // + // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; + + // Output only. Ad group id of the simulation. + optional int64 ad_group_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.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]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + optional string end_date = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_parameter.proto new file mode 100644 index 00000000..963e0363 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_parameter.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/ad_schedule_view.proto new file mode 100644 index 00000000..81776892 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/ad_schedule_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/age_range_view.proto new file mode 100644 index 00000000..72a72926 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/age_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset.proto new file mode 100644 index 00000000..09dcf1cf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset.proto @@ -0,0 +1,186 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/asset_types.proto"; +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/policy.proto"; +import "google/ads/googleads/v12/enums/asset_source.proto"; +import "google/ads/googleads/v12/enums/asset_type.proto"; +import "google/ads/googleads/v12/enums/policy_approval_status.proto"; +import "google/ads/googleads/v12/enums/policy_review_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 = "AssetProto"; +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"; + +// 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.v12.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.v12.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.v12.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]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.googleads.v12.common.YoutubeVideoAsset youtube_video_asset = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v12.common.MediaBundleAsset media_bundle_asset = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v12.common.ImageAsset image_asset = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v12.common.TextAsset text_asset = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v12.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v12.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v12.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v12.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v12.common.StructuredSnippetAsset structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v12.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v12.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v12.common.DynamicEducationAsset dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v12.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v12.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v12.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v12.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v12.common.CallToActionAsset call_to_action_asset = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic real estate asset. + google.ads.googleads.v12.common.DynamicRealEstateAsset dynamic_real_estate_asset = 30; + + // A dynamic custom asset. + google.ads.googleads.v12.common.DynamicCustomAsset dynamic_custom_asset = 31; + + // A dynamic hotels and rentals asset. + google.ads.googleads.v12.common.DynamicHotelsAndRentalsAsset dynamic_hotels_and_rentals_asset = 32; + + // A dynamic flights asset. + google.ads.googleads.v12.common.DynamicFlightsAsset dynamic_flights_asset = 33; + + // Immutable. A discovery carousel card asset. + google.ads.googleads.v12.common.DiscoveryCarouselCardAsset discovery_carousel_card_asset = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // A dynamic travel asset. + google.ads.googleads.v12.common.DynamicTravelAsset dynamic_travel_asset = 35; + + // A dynamic local asset. + google.ads.googleads.v12.common.DynamicLocalAsset dynamic_local_asset = 36; + + // A dynamic jobs asset. + google.ads.googleads.v12.common.DynamicJobsAsset dynamic_jobs_asset = 37; + + // Output only. A location asset. + google.ads.googleads.v12.common.LocationAsset location_asset = 39 [(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.v12.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.v12.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.v12.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_field_type_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_field_type_view.proto new file mode 100644 index 00000000..4bbc1002 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_field_type_view.proto @@ -0,0 +1,56 @@ +// 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.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"; + +// Proto file describing the AssetFieldTypeView resource. + +// An asset field type view. +// This view reports non-overcounted metrics for each asset field type when the +// asset is used as extension. +message AssetFieldTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + pattern: "customers/{customer_id}/assetFieldTypeViews/{field_type}" + }; + + // Output only. The resource name of the asset field type view. + // Asset field type view resource names have the form: + // + // `customers/{customer_id}/assetFieldTypeViews/{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; + + // Output only. The asset field type of the asset field type view. + google.ads.googleads.v12.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_group.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group.proto new file mode 100644 index 00000000..d459120c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group.proto @@ -0,0 +1,91 @@ +// 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.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"; + +// 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.v12.enums.AssetGroupStatusEnum.AssetGroupStatus status = 6; + + // 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.v12.enums.AdStrengthEnum.AdStrength ad_strength = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_asset.proto new file mode 100644 index 00000000..be668802 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_asset.proto @@ -0,0 +1,82 @@ +// 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.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"; + +// 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.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto new file mode 100644 index 00000000..2bdb8b62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,172 @@ +// 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.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"; + +// 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.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]; + + // 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" + } + ]; +} + +// 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. + google.ads.googleads.v12.enums.ListingGroupFilterBiddingCategoryLevelEnum.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. + google.ads.googleads.v12.enums.ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel channel = 1; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v12.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.v12.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.v12.enums.ListingGroupFilterProductTypeLevelEnum.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/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_product_group_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_product_group_view.proto new file mode 100644 index 00000000..ec875e64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_product_group_view.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_signal.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_signal.proto new file mode 100644 index 00000000..c2f4cd81 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_group_signal.proto @@ -0,0 +1,63 @@ +// 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.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"; + +// 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" + } + ]; + + // 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set.proto new file mode 100644 index 00000000..95aded3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/asset_set_types.proto"; +import "google/ads/googleads/v12/enums/asset_set_status.proto"; +import "google/ads/googleads/v12/enums/asset_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 = "AssetSetProto"; +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"; + +// 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]; + } + + // 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.v12.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.v12.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]; + + // 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.v12.common.LocationSet location_set = 7; + + // Business Profile location group asset set data. + google.ads.googleads.v12.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.v12.common.ChainLocationGroup chain_location_group = 9; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_asset.proto new file mode 100644 index 00000000..9f7efd06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_asset.proto @@ -0,0 +1,69 @@ +// 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.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"; + +// AssetSetAsset is the link between an asset and an asset set. +// Adding an AssetSetAsset links an asset with an asset set. +message AssetSetAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetAsset" + pattern: "customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}" + }; + + // Immutable. The resource name of the asset set asset. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + } + ]; + + // Immutable. The asset set which this asset set asset is linking to. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The asset which this asset set asset is linking to. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.googleads.v12.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_type_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_type_view.proto new file mode 100644 index 00000000..4190667b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/asset_set_type_view.proto @@ -0,0 +1,57 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/asset_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 = "AssetSetTypeViewProto"; +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"; + +// 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.v12.enums.AssetSetTypeEnum.AssetSetType asset_set_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/audience.proto b/google-cloud/protos/google/ads/googleads/v12/resources/audience.proto new file mode 100644 index 00000000..d4bf6dbb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/audience.proto @@ -0,0 +1,76 @@ +// 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.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"; + +// 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.v12.enums.AudienceStatusEnum.AudienceStatus status = 3 [(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; + + // Positive dimensions specifying the audience composition. + repeated google.ads.googleads.v12.common.AudienceDimension dimensions = 6; + + // Negative dimension specifying the audience composition. + google.ads.googleads.v12.common.AudienceExclusionDimension exclusion_dimension = 7; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/batch_job.proto b/google-cloud/protos/google/ads/googleads/v12/resources/batch_job.proto new file mode 100644 index 00000000..75a7c994 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/batch_job.proto @@ -0,0 +1,97 @@ +// 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.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"; + +// 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 resource name of the batch job. + // Batch job resource names have the form: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Output only. ID of this batch job. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The next sequence token to use when adding operations. Only set when the + // batch job status is PENDING. + optional string next_add_sequence_token = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains additional information about this batch job. + BatchJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this batch job. + google.ads.googleads.v12.enums.BatchJobStatusEnum.BatchJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion. Only set when the batch job status is RUNNING or DONE. + optional string long_running_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/bidding_data_exclusion.proto b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_data_exclusion.proto new file mode 100644 index 00000000..6835c405 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_data_exclusion.proto @@ -0,0 +1,107 @@ +// 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.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"; + +// Represents a bidding data exclusion. +// +// See "About data exclusions" at +// https://support.google.com/google-ads/answer/10370710. +message BiddingDataExclusion { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + pattern: "customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}" + }; + + // Immutable. The resource name of the data exclusion. + // Data exclusion resource names have the form: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; + + // Output only. The ID of the data exclusion. + int64 data_exclusion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the data exclusion. + google.ads.googleads.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]; + + // Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss + // format. + // + // A data exclusion is backward looking and should be used for events that + // start in the past and end either in the past or future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the data exclusion. The name can be at most 255 + // characters. + string name = 7; + + // The description of the data exclusion. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this exclusion. + // Otherwise, only the specified targeted devices will be included in this + // exclusion. + repeated google.ads.googleads.v12.enums.DeviceEnum.Device devices = 9; + + // The data exclusion will apply to the campaigns listed when the scope of + // this exclusion is CAMPAIGN. The maximum number of campaigns per event is + // 2000. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 10 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The data_exclusion will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // exclusion is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v12.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 00000000..a9a980ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,113 @@ +// 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.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"; + +// Represents a bidding seasonality adjustment. +// +// See "About seasonality adjustments" at +// https://support.google.com/google-ads/answer/10369906. +message BiddingSeasonalityAdjustment { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + pattern: "customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}" + }; + + // Immutable. The resource name of the seasonality adjustment. + // Seasonality adjustment resource names have the form: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; + + // Output only. The ID of the seasonality adjustment. + int64 seasonality_adjustment_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the seasonality adjustment. + google.ads.googleads.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]; + + // Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd + // HH:mm:ss format. + // + // A seasonality adjustment is forward looking and should be used for events + // that start and end in the future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss + // format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the seasonality adjustment. The name can be at most 255 + // characters. + string name = 7; + + // The description of the seasonality adjustment. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this adjustment. + // Otherwise, only the specified targeted devices will be included in this + // adjustment. + repeated google.ads.googleads.v12.enums.DeviceEnum.Device devices = 9; + + // Conversion rate modifier estimated based on expected conversion rate + // changes. When this field is unset or set to 1.0 no adjustment will be + // applied to traffic. The allowed range is 0.1 to 10.0. + double conversion_rate_modifier = 10; + + // The seasonality adjustment will apply to the campaigns listed when the + // scope of this adjustment is CAMPAIGN. The maximum number of campaigns per + // event is 2000. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 11 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The seasonality adjustment will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // adjustment is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v12.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy.proto new file mode 100644 index 00000000..cd0f9613 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy.proto @@ -0,0 +1,145 @@ +// 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.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"; + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategy" + pattern: "customers/{customer_id}/biddingStrategies/{bidding_strategy_id}" + }; + + // Immutable. The resource name of the bidding strategy. + // Bidding strategy resource names have the form: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + optional int64 id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the bidding strategy. + // All bidding strategies within an account must be named distinctly. + // + // The length of this string should be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 17; + + // Output only. The status of the bidding strategy. + // + // This field is read-only. + google.ads.googleads.v12.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. + google.ads.googleads.v12.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this currency can be set on + // creation and defaults to the manager customer's currency. For serving + // customers, this field cannot be set; all strategies in a serving customer + // implicitly use the serving customer's currency. In all cases the + // effective_currency_code field returns the currency used by the strategy. + string currency_code = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this is the currency set by + // the advertiser when creating the strategy. For serving customers, this is + // the customer's currency_code. + // + // Bidding strategy metrics are reported in this currency. + // + // This field is read-only. + optional string effective_currency_code = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // ID of the campaign budget that this portfolio bidding strategy + // is aligned with. When a portfolio and a campaign budget are aligned, that + // means that they are attached to the same set of campaigns. After a bidding + // strategy is aligned with a campaign budget, campaigns that are added to the + // bidding strategy must also use the aligned campaign budget. + int64 aligned_campaign_budget_id = 25; + + // Output only. The number of campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 campaign_count = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of non-removed campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 non_removed_campaign_count = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // A bidding strategy that raises bids for clicks that seem more likely to + // lead to a conversion and lowers them for clicks where they seem less + // likely. + google.ads.googleads.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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto new file mode 100644 index 00000000..5fb4cf13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/bidding_strategy_simulation.proto @@ -0,0 +1,81 @@ +// 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.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"; + +// Proto file describing the bidding strategy simulation resource. + +// A bidding strategy simulation. Supported combinations of simulation type +// and simulation modification method are detailed below respectively. +// +// 1. TARGET_CPA - UNIFORM +// 2. TARGET_ROAS - UNIFORM +message BiddingStrategySimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + pattern: "customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the bidding strategy simulation. + // Bidding strategy simulation resource names have the form: + // + // `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; + + // Output only. Bidding strategy shared set id of the simulation. + int64 bidding_strategy_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.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]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v12/resources/billing_setup.proto new file mode 100644 index 00000000..121ac998 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/billing_setup.proto @@ -0,0 +1,139 @@ +// 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.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"; + +// Proto file describing the BillingSetup resource. + +// A billing setup, which associates a payments account and an advertiser. A +// billing setup is specific to one advertiser. +message BillingSetup { + option (google.api.resource) = { + type: "googleads.googleapis.com/BillingSetup" + pattern: "customers/{customer_id}/billingSetups/{billing_setup_id}" + }; + + // Container of payments account information for this billing. + message PaymentsAccountInfo { + // Output only. A 16 digit id used to identify the payments account associated with the + // billing setup. + // + // This must be passed as a string with dashes, for example, + // "1234-5678-9012-3456". + optional string payments_account_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name of the payments account associated with the billing setup. + // + // This enables the user to specify a meaningful name for a payments account + // to aid in reconciling monthly invoices. + // + // This name will be printed in the monthly invoices. + optional string payments_account_name = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A 12 digit id used to identify the payments profile associated with the + // billing setup. + // + // This must be passed in as a string with dashes, for example, + // "1234-5678-9012". + optional string payments_profile_id = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The name of the payments profile associated with the billing setup. + optional string payments_profile_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile id present in uncommon situations, for + // example, when a sequential liability agreement has been arranged. + optional string secondary_payments_profile_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the billing setup. + // BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The ID of the billing setup. + optional int64 id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the billing setup. + google.ads.googleads.v12.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the payments account associated with this billing + // setup. Payments resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + // When setting up billing, this is used to signup with an existing payments + // account (and then payments_account_info should not be set). + // When getting a billing setup, this and payments_account_info will be + // populated. + optional string payments_account = 18 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Immutable. The payments account information associated with this billing setup. + // When setting up billing, this is used to signup with a new payments account + // (and then payments_account should not be set). + // When getting a billing setup, this and payments_account will be + // populated. + PaymentsAccountInfo payments_account_info = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // When creating a new billing setup, this is when the setup should take + // effect. NOW is the only acceptable start time if the customer doesn't have + // any approved setups. + // + // When fetching an existing billing setup, this is the requested start time. + // However, if the setup was approved (see status) after the requested start + // time, then this is the approval time. + oneof start_time { + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a + // future time is allowed. + string start_date_time = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; + } + + // When the billing setup ends / ended. This is either FOREVER or the start + // time of the next scheduled billing setup. + oneof end_time { + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + string end_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v12.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/call_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/call_view.proto new file mode 100644 index 00000000..5cce9816 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/call_view.proto @@ -0,0 +1,79 @@ +// 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.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"; + +// Proto file describing the call view resource. + +// A call view that includes data for call tracking of call-only ads or call +// extensions. +message CallView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CallView" + pattern: "customers/{customer_id}/callViews/{call_detail_id}" + }; + + // Output only. The resource name of the call view. + // Call view resource names have the form: + // + // `customers/{customer_id}/callViews/{call_detail_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CallView" + } + ]; + + // Output only. Country code of the caller. + string caller_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Area code of the caller. Null if the call duration is shorter than 15 + // seconds. + string caller_area_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call duration in seconds. + int64 call_duration_seconds = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call start date time. + string start_call_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call end date time. + string end_call_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call tracking display location. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign.proto new file mode 100644 index 00000000..5b23c14f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign.proto @@ -0,0 +1,566 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/bidding.proto"; +import "google/ads/googleads/v12/common/custom_parameter.proto"; +import "google/ads/googleads/v12/common/frequency_cap.proto"; +import "google/ads/googleads/v12/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v12/common/targeting_setting.proto"; +import "google/ads/googleads/v12/enums/ad_serving_optimization_status.proto"; +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/app_campaign_app_store.proto"; +import "google/ads/googleads/v12/enums/app_campaign_bidding_strategy_goal_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_strategy_system_status.proto"; +import "google/ads/googleads/v12/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v12/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v12/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v12/enums/campaign_primary_status.proto"; +import "google/ads/googleads/v12/enums/campaign_primary_status_reason.proto"; +import "google/ads/googleads/v12/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v12/enums/campaign_status.proto"; +import "google/ads/googleads/v12/enums/location_source_type.proto"; +import "google/ads/googleads/v12/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v12/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v12/enums/payment_mode.proto"; +import "google/ads/googleads/v12/enums/performance_max_upgrade_status.proto"; +import "google/ads/googleads/v12/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v12/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v12/enums/vanity_pharma_text.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 = "CampaignProto"; +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"; + +// 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.v12.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. + bool use_vehicle_inventory = 9 [(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.v12.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.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.v12.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. + 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.v12.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; + } + + // 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.v12.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.v12.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.v12.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.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.v12.common.CustomParameter url_custom_parameters = 12; + + // The Local Services Campaign related settings. + LocalServicesCampaignSettings local_services_campaign_settings = 75; + + // Settings for Real-Time Bidding, a feature only available for campaigns + // targeting the Ad Exchange network. + google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.common.FrequencyCapEntry frequency_caps = 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v12.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. + 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.v12.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.v12.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.v12.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]; + + // 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.v12.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.v12.common.ManualCpa manual_cpa = 74; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v12.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v12.common.ManualCpm manual_cpm = 25; + + // Output only. A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v12.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.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.v12.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.v12.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v12.common.TargetCpm target_cpm = 41; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset.proto new file mode 100644 index 00000000..b5b03b8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset.proto @@ -0,0 +1,79 @@ +// 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.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"; + +// 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.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset_set.proto new file mode 100644 index 00000000..39abbe21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_asset_set.proto @@ -0,0 +1,71 @@ +// 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.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"; + +// Proto file describing the CampaignAsset resource. + +// CampaignAssetSet is the linkage between a campaign and an asset set. +// Adding a CampaignAssetSet links an asset set with a campaign. +message CampaignAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAssetSet" + pattern: "customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the campaign asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + } + ]; + + // Immutable. The campaign to which this asset set is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset set which is linked to the campaign. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.googleads.v12.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_audience_view.proto new file mode 100644 index 00000000..87620023 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_audience_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_bid_modifier.proto new file mode 100644 index 00000000..cddb9015 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_bid_modifier.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// Proto file describing the Campaign Bid Modifier resource. + +// Represents a bid-modifiable only criterion at the campaign level. +message CampaignBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBidModifier" + pattern: "customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign bid modifier. + // Campaign bid modifier resource names have the form: + // + // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; + + // Output only. The campaign to which this criterion belongs. + optional string campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. + optional double bid_modifier = 8; + + // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v12.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_budget.proto new file mode 100644 index 00000000..b31a6b35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_budget.proto @@ -0,0 +1,162 @@ +// 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.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"; + +// Proto file describing the Budget resource. + +// A campaign budget. +message CampaignBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBudget" + pattern: "customers/{customer_id}/campaignBudgets/{campaign_budget_id}" + }; + + // Immutable. The resource name of the campaign budget. + // Campaign budget resource names have the form: + // + // `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The ID of the campaign budget. + // + // A campaign budget is created using the CampaignBudgetService create + // operation and is assigned a budget ID. A budget ID can be shared across + // different campaigns; the system will then allocate the campaign budget + // among different campaigns to get optimum results. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign budget. + // + // When creating a campaign budget through CampaignBudgetService, every + // explicitly shared campaign budget must have a non-null, non-empty name. + // Campaign budgets that are not explicitly shared derive their name from the + // attached campaign's name. + // + // The length of this string must be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 20; + + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. Monthly spend is capped at 30.4 times this amount. + optional int64 amount_micros = 21; + + // The lifetime amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + optional int64 total_amount_micros = 22; + + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v12.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. + google.ads.googleads.v12.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; + + // Specifies whether the budget is explicitly shared. Defaults to true if + // unspecified in a create operation. + // + // If true, the budget was created with the purpose of sharing + // across one or more campaigns. + // + // If false, the budget was created with the intention of only being used + // with a single campaign. The budget's name and status will stay in sync + // with the campaign's name and status. Attempting to share the budget with a + // second campaign will result in an error. + // + // A non-shared budget can become an explicitly shared. The same operation + // must also assign the budget a name. + // + // A shared campaign budget can never become non-shared. + optional bool explicitly_shared = 23; + + // Output only. The number of campaigns actively using the budget. + // + // This field is read-only. + optional int64 reference_count = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether there is a recommended budget for this campaign budget. + // + // This field is read-only. + optional bool has_recommended_budget = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount. If no recommendation is available, this will + // be set to the budget amount. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + // + // This field is read-only. + optional int64 recommended_budget_amount_micros = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v12.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The estimated change in weekly clicks if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_clicks = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly cost in micros if the recommended budget is + // applied. One million is equivalent to one currency unit. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly interactions if the recommended budget is + // applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_interactions = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly views if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_views = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of the campaign budget. + google.ads.googleads.v12.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // ID of the portfolio bidding strategy that this shared campaign budget + // is aligned with. When a bidding strategy and a campaign budget are aligned, + // they are attached to the same set of campaigns. After a campaign budget is + // aligned with a bidding strategy, campaigns that are added to the campaign + // budget must also use the aligned bidding strategy. + int64 aligned_bidding_strategy_id = 31; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_conversion_goal.proto new file mode 100644 index 00000000..ff9e434e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_conversion_goal.proto @@ -0,0 +1,68 @@ +// 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.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"; + +// The biddability setting for the specified campaign only for all +// conversion actions with a matching category and origin. +message CampaignConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + pattern: "customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}" + }; + + // Immutable. The resource name of the campaign conversion goal. + // Campaign conversion goal resource names have the form: + // + // `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + } + ]; + + // Immutable. The campaign with which this campaign conversion goal is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The conversion category of this campaign conversion goal. + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v12.enums.ConversionOriginEnum.ConversionOrigin origin = 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion.proto new file mode 100644 index 00000000..2c72fd80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/enums/campaign_criterion_status.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 = "CampaignCriterionProto"; +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"; + +// 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.v12.enums.CriterionTypeEnum.CriterionType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v12.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v12.common.KeywordInfo keyword = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v12.common.PlacementInfo placement = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v12.common.MobileAppCategoryInfo mobile_app_category = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v12.common.MobileApplicationInfo mobile_application = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v12.common.LocationInfo location = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v12.common.DeviceInfo device = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v12.common.AdScheduleInfo ad_schedule = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v12.common.AgeRangeInfo age_range = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v12.common.GenderInfo gender = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v12.common.IncomeRangeInfo income_range = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v12.common.ParentalStatusInfo parental_status = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v12.common.UserListInfo user_list = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v12.common.YouTubeVideoInfo youtube_video = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v12.common.YouTubeChannelInfo youtube_channel = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v12.common.ProximityInfo proximity = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v12.common.TopicInfo topic = 24 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v12.common.ListingScopeInfo listing_scope = 25 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v12.common.LanguageInfo language = 26 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v12.common.IpBlockInfo ip_block = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v12.common.ContentLabelInfo content_label = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v12.common.CarrierInfo carrier = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v12.common.UserInterestInfo user_interest = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v12.common.WebpageInfo webpage = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v12.common.OperatingSystemVersionInfo operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v12.common.MobileDeviceInfo mobile_device = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v12.common.LocationGroupInfo location_group = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v12.common.CustomAffinityInfo custom_affinity = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v12.common.CustomAudienceInfo custom_audience = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v12.common.CombinedAudienceInfo combined_audience = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v12.common.KeywordThemeInfo keyword_theme = 45 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion_simulation.proto new file mode 100644 index 00000000..f5fe9b06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_criterion_simulation.proto @@ -0,0 +1,82 @@ +// 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.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 = "CampaignCriterionSimulationProto"; +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"; + +// Proto file describing the campaign criterion simulation resource. + +// A campaign criterion simulation. Supported combinations of advertising +// channel type, criterion ids, simulation type and simulation modification +// method is detailed below respectively. +// +// 1. SEARCH - 30000,30001,30002 - BID_MODIFIER - UNIFORM +// 2. DISPLAY - 30001 - BID_MODIFIER - UNIFORM +message CampaignCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + pattern: "customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign criterion simulation. + // Campaign criterion simulation resource names have the form: + // + // `customers/{customer_id}/campaignCriterionSimulations/{campaign_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/CampaignCriterionSimulation" + } + ]; + + // Output only. Campaign ID of the simulation. + optional int64 campaign_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.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]; + + // 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 BID_MODIFIER. + google.ads.googleads.v12.common.BidModifierSimulationPointList bid_modifier_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_customizer.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_customizer.proto new file mode 100644 index 00000000..d4c06540 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_customizer.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// A customizer value for the associated CustomizerAttribute at the Campaign +// level. +message CampaignCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCustomizer" + pattern: "customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the campaign customizer. + // Campaign customizer resource names have the form: + // + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + } + ]; + + // Immutable. The campaign to which the customizer attribute is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the campaign. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the campaign customizer. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_draft.proto new file mode 100644 index 00000000..623ca621 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_draft.proto @@ -0,0 +1,97 @@ +// 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.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"; + +// Proto file describing the Campaign Draft resource. + +// A campaign draft. +message CampaignDraft { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignDraft" + pattern: "customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}" + }; + + // Immutable. The resource name of the campaign draft. + // Campaign draft resource names have the form: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Output only. The ID of the draft. + // + // This field is read-only. + optional int64 draft_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The base campaign to which the draft belongs. + optional string base_campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The name of the campaign draft. + // + // This field is required and should not be empty when creating new + // campaign drafts. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 11; + + // Output only. Resource name of the Campaign that results from overlaying the draft + // changes onto the base campaign. + // + // This field is read-only. + optional string draft_campaign = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign draft. This field is read-only. + // + // When a new campaign draft is added, the status defaults to PROPOSED. + google.ads.googleads.v12.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether there is an experiment based on this draft currently serving. + optional bool has_experiment_running = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion of draft promotion. This is only set if the draft promotion + // is in progress or finished. + optional string long_running_operation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_extension_setting.proto new file mode 100644 index 00000000..c9f34fce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_extension_setting.proto @@ -0,0 +1,78 @@ +// 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.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"; + +// Proto file describing the CampaignExtensionSetting resource. + +// A campaign extension setting. +message CampaignExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + pattern: "customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}" + }; + + // Immutable. The resource name of the campaign extension setting. + // CampaignExtensionSetting resource names have the form: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the campaign. The linked extension feed items will + // serve under this campaign. + // Campaign resource names have the form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The resource names of the extension feed items to serve under the campaign. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_feed.proto new file mode 100644 index 00000000..9fe27f90 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_feed.proto @@ -0,0 +1,82 @@ +// 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.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"; + +// Proto file describing the CampaignFeed resource. + +// A campaign feed. +message CampaignFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignFeed" + pattern: "customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}" + }; + + // Immutable. The resource name of the campaign feed. + // Campaign feed resource names have the form: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Immutable. The feed to which the CampaignFeed belongs. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The campaign to which the CampaignFeed belongs. + optional string campaign = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // campaign. Required. + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_group.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_group.proto new file mode 100644 index 00000000..05375fd2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_group.proto @@ -0,0 +1,68 @@ +// 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.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"; + +// 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.v12.enums.CampaignGroupStatusEnum.CampaignGroupStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_label.proto new file mode 100644 index 00000000..a02b3465 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_label.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_shared_set.proto new file mode 100644 index 00000000..ab7c392c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_shared_set.proto @@ -0,0 +1,76 @@ +// 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.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"; + +// Proto file describing the CampaignSharedSet resource. + +// CampaignSharedSets are used for managing the shared sets associated with a +// campaign. +message CampaignSharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSharedSet" + pattern: "customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}" + }; + + // Immutable. The resource name of the campaign shared set. + // Campaign shared set resource names have the form: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Immutable. The campaign to which the campaign shared set belongs. + optional string campaign = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The shared set associated with the campaign. This may be a negative keyword + // shared set of another customer. This customer should be a manager of the + // other customer, otherwise the campaign shared set will exist but have no + // serving effect. Only negative keyword shared sets can be associated with + // Shopping campaigns. Only negative placement shared sets can be associated + // with Display mobile app campaigns. + optional string shared_set = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v12.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/campaign_simulation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_simulation.proto new file mode 100644 index 00000000..5781ad4f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/campaign_simulation.proto @@ -0,0 +1,101 @@ +// 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.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"; + +// 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 +message CampaignSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSimulation" + pattern: "customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign simulation. + // Campaign simulation resource names have the form: + // + // `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; + + // Output only. Campaign id of the simulation. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.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]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/carrier_constant.proto new file mode 100644 index 00000000..929a6c5d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/carrier_constant.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/change_event.proto b/google-cloud/protos/google/ads/googleads/v12/resources/change_event.proto new file mode 100644 index 00000000..77373f21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/change_event.proto @@ -0,0 +1,208 @@ +// 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.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"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.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"; + +// Proto file describing the Change Event resource. + +// Describes the granular change of returned resource of certain resource types. +// Changes made through UI, API and new versions of Editor +// by external users (including external users, and internal users that can be +// shown externally) in the past 30 days will be shown. The change shows the old +// values of the changed fields before the change and the new values right after +// the change. ChangeEvent could have up to 3 minutes delay to reflect a new +// change. +message ChangeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeEvent" + pattern: "customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}" + }; + + // A wrapper proto presenting all supported resources. + // Only the resource of the change_resource_type will be set. + message ChangedResource { + // Output only. Set if change_resource_type == AD. + Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP. + AdGroup ad_group = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_CRITERION. + AdGroupCriterion ad_group_criterion = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN. + Campaign campaign = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_BUDGET. + CampaignBudget campaign_budget = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. + AdGroupBidModifier ad_group_bid_modifier = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_CRITERION. + CampaignCriterion campaign_criterion = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED. + Feed feed = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == FEED_ITEM. + FeedItem feed_item = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_FEED. + CampaignFeed campaign_feed = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_FEED. + AdGroupFeed ad_group_feed = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_AD. + AdGroupAd ad_group_ad = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET. + Asset asset = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CUSTOMER_ASSET. + CustomerAsset customer_asset = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET. + CampaignAsset campaign_asset = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == AD_GROUP_ASSET. + AdGroupAsset ad_group_asset = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET. + AssetSet asset_set = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == ASSET_SET_ASSET. + AssetSetAsset asset_set_asset = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. + CampaignAssetSet campaign_asset_set = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the change event. + // Change event resource names have the form: + // + // `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeEvent" + } + ]; + + // Output only. Time at which the change was committed on this resource. + string change_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the changed resource. This dictates what resource + // will be set in old_resource and new_resource. + google.ads.googleads.v12.enums.ChangeEventResourceTypeEnum.ChangeEventResourceType change_resource_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Simply resource this change occurred on. + string change_resource_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the change was made through. + google.ads.googleads.v12.enums.ChangeClientTypeEnum.ChangeClientType client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the user who made this change. + string user_email = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The old resource before the change. Only changed fields will be populated. + ChangedResource old_resource = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The new resource after the change. Only changed fields will be populated. + ChangedResource new_resource = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operation on the changed resource. + google.ads.googleads.v12.enums.ResourceChangeOperationEnum.ResourceChangeOperation resource_change_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of fields that are changed in the returned resource. + google.protobuf.FieldMask changed_fields = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + string ad_group = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The Feed affected by this change. + string feed = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + string feed_item = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 20 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v12/resources/change_status.proto new file mode 100644 index 00000000..1fcea04f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/change_status.proto @@ -0,0 +1,192 @@ +// 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.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"; + +// Proto file describing the Change Status resource. + +// Describes the status of returned resource. ChangeStatus could have up to 3 +// minutes delay to reflect a new change. +message ChangeStatus { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeStatus" + pattern: "customers/{customer_id}/changeStatus/{change_status_id}" + }; + + // Output only. The resource name of the change status. + // Change status resource names have the form: + // + // `customers/{customer_id}/changeStatus/{change_status_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; + + // Output only. Time at which the most recent change has occurred on this resource. + optional string last_change_date_time = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the type of the changed resource. This dictates what fields + // will be set. For example, for AD_GROUP, campaign and ad_group fields will + // be set. + google.ads.googleads.v12.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + optional string campaign = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + optional string ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Represents the status of the changed resource. + google.ads.googleads.v12.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The AdGroupAd affected by this change. + optional string ad_group_ad = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The AdGroupCriterion affected by this change. + optional string ad_group_criterion = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The CampaignCriterion affected by this change. + optional string campaign_criterion = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Output only. The Feed affected by this change. + optional string feed = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + optional string feed_item = 29 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The AdGroupFeed affected by this change. + optional string ad_group_feed = 30 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Output only. The CampaignFeed affected by this change. + optional string campaign_feed = 31 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Output only. The AdGroupBidModifier affected by this change. + optional string ad_group_bid_modifier = 32 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Output only. The SharedSet affected by this change. + string shared_set = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The CampaignSharedSet affected by this change. + string campaign_shared_set = 34 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 35 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The CustomerAsset affected by this change. + string customer_asset = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Output only. The CampaignAsset affected by this change. + string campaign_asset = 37 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Output only. The AdGroupAsset affected by this change. + string ad_group_asset = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/click_view.proto new file mode 100644 index 00000000..ab14f8f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/click_view.proto @@ -0,0 +1,107 @@ +// 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.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"; + +// Proto file describing the ClickView resource. + +// A click view with metrics aggregated at each click level, including both +// valid and invalid clicks. For non-Search campaigns, metrics.clicks +// represents the number of valid and invalid interactions. +// Queries including ClickView must have a filter limiting the results to one +// day and can be requested for dates back to 90 days before the time of the +// request. +message ClickView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ClickView" + pattern: "customers/{customer_id}/clickViews/{date}~{gclid}" + }; + + // Output only. The resource name of the click view. + // Click view resource names have the form: + // + // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; + + // Output only. The Google Click ID. + optional string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the area of interest associated with the + // impression. + google.ads.googleads.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. Page number in search results where the ad was shown. + optional int64 page_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The associated ad. + optional string ad_group_ad = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The associated campaign location target, if one exists. + optional string campaign_location_target = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The associated user list, if one exists. + optional string user_list = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. The associated keyword, if one exists and the click corresponds to the + // SEARCH channel. + string keyword = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. Basic information about the associated keyword, if it exists. + google.ads.googleads.v12.common.KeywordInfo keyword_info = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/combined_audience.proto b/google-cloud/protos/google/ads/googleads/v12/resources/combined_audience.proto new file mode 100644 index 00000000..65127f4e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/combined_audience.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// Proto file describing the Combined Audience resource. + +// Describe a resource for combined audiences which includes different +// audiences. +message CombinedAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CombinedAudience" + pattern: "customers/{customer_id}/combinedAudiences/{combined_audience_id}" + }; + + // Immutable. The resource name of the combined audience. + // Combined audience names have the form: + // + // `customers/{customer_id}/combinedAudience/{combined_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; + + // Output only. ID of the combined audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this combined audience. Indicates whether the combined audience + // is enabled or removed. + google.ads.googleads.v12.enums.CombinedAudienceStatusEnum.CombinedAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the combined audience. It should be unique across all combined + // audiences. + string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of this combined audience. + string description = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_action.proto new file mode 100644 index 00000000..a081af0e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_action.proto @@ -0,0 +1,197 @@ +// 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.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"; + +// Proto file describing the Conversion Action resource. + +// A conversion action. +message ConversionAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionAction" + pattern: "customers/{customer_id}/conversionActions/{conversion_action_id}" + }; + + // Settings related to this conversion action's attribution model. + message AttributionModelSettings { + // The attribution model type of this conversion action. + google.ads.googleads.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]; + } + + // 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]; + } + + // Immutable. The resource name of the conversion action. + // Conversion action resource names have the form: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; + + // Output only. The ID of the conversion action. + optional int64 id = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the conversion action. + // + // This field is required and should not be empty when creating new + // conversion actions. + optional string name = 22; + + // The status of this conversion action for conversion event accrual. + google.ads.googleads.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]; + + // If a conversion action's primary_for_goal bit is false, the conversion + // action is non-biddable for all campaigns regardless of their customer + // conversion goal or campaign conversion goal. + // However, custom conversion goals do not respect primary_for_goal, so if + // a campaign has a custom conversion goal configured with a + // primary_for_goal = false conversion action, that conversion action is + // still biddable. + // By default, primary_for_goal will be true if not set. In V9, + // primary_for_goal can only be set to false after creation through an + // 'update' operation because it's not declared as optional. + optional bool primary_for_goal = 31; + + // The category of conversions reported for this conversion action. + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; + + // Output only. The resource name of the conversion action owner customer, or null if this + // is a system-defined conversion action. + optional string owner_customer = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Whether this conversion action should be included in the "conversions" + // metric. + optional bool include_in_conversions_metric = 24; + + // The maximum number of days that may elapse between an interaction + // (for example, a click) and a conversion event. + optional int64 click_through_lookback_window_days = 25; + + // The maximum number of days which may elapse between an impression and a + // conversion without an interaction. + optional int64 view_through_lookback_window_days = 26; + + // Settings related to the value for conversion events associated with this + // conversion action. + ValueSettings value_settings = 11; + + // How to count conversion events for the conversion action. + google.ads.googleads.v12.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v12.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The phone call duration in seconds after which a conversion should be + // reported for this conversion action. + // + // The value must be between 0 and 10000, inclusive. + optional int64 phone_call_duration_seconds = 27; + + // App ID for an app conversion action. + optional string app_id = 28; + + // Output only. Mobile app vendor for an app conversion action. + google.ads.googleads.v12.enums.MobileAppVendorEnum.MobileAppVendor mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Firebase settings for Firebase conversion types. + FirebaseSettings firebase_settings = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Third Party App Analytics settings for third party conversion types. + ThirdPartyAppAnalyticsSettings third_party_app_analytics_settings = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/conversion_custom_variable.proto b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_custom_variable.proto new file mode 100644 index 00000000..11aaf89a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_custom_variable.proto @@ -0,0 +1,85 @@ +// 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.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"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable +// See "About custom variables for conversions" at +// https://support.google.com/google-ads/answer/9964350 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Immutable. The resource name of the conversion custom variable. + // Conversion custom variable resource names have the form: + // + // `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; + + // Output only. The ID of the conversion custom variable. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the conversion custom variable. + // Name should be unique. The maximum length of name is 100 characters. + // There should not be any extra spaces before and after. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The tag of the conversion custom variable. It is used in the event snippet + // and sent to Google Ads along with conversion pings. For conversion uploads + // in Google Ads API, the resource name of the conversion custom variable is + // used. + // Tag should be unique. The maximum size of tag is 100 bytes. + // There should not be any extra spaces before and after. + // Currently only lowercase letters, numbers and underscores are allowed in + // the tag. + string tag = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The status of the conversion custom variable for conversion event accrual. + google.ads.googleads.v12.enums.ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus status = 5; + + // Output only. The resource name of the customer that owns the conversion custom variable. + string owner_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto new file mode 100644 index 00000000..d1d84c71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,65 @@ +// 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.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"; + +// Conversion goal settings for a Campaign. +message ConversionGoalCampaignConfig { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + pattern: "customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}" + }; + + // Immutable. The resource name of the conversion goal campaign config. + // Conversion goal campaign config resource names have the form: + // + // `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + } + ]; + + // Immutable. The campaign with which this conversion goal campaign config is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The level of goal config the campaign is using. + google.ads.googleads.v12.enums.GoalConfigLevelEnum.GoalConfigLevel goal_config_level = 3; + + // The custom conversion goal the campaign is using for optimization. + string custom_conversion_goal = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule.proto b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule.proto new file mode 100644 index 00000000..5039b32d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule.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.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"; + +// Proto file describing the Conversion Value Rule resource. + +// A conversion value rule +message ConversionValueRule { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRule" + pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}" + }; + + // Action applied when rule is applied. + message ValueRuleAction { + // Specifies applied operation. + google.ads.googleads.v12.enums.ValueRuleOperationEnum.ValueRuleOperation operation = 1; + + // Specifies applied value. + double value = 2; + } + + // Condition on Geo dimension. + message ValueRuleGeoLocationCondition { + // Geo locations that advertisers want to exclude. + repeated string excluded_geo_target_constants = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Excluded Geo location match type. + google.ads.googleads.v12.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; + + // Geo locations that advertisers want to include. + repeated string geo_target_constants = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Included Geo location match type. + google.ads.googleads.v12.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. + repeated google.ads.googleads.v12.enums.ValueRuleDeviceTypeEnum.ValueRuleDeviceType device_types = 1; + } + + // Condition on Audience dimension. + message ValueRuleAudienceCondition { + // User Lists. + repeated string user_lists = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + + // User Interests. + repeated string user_interests = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + }]; + } + + // Immutable. The resource name of the conversion value rule. + // Conversion value rule resource names have the form: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; + + // Output only. The ID of the conversion value rule. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Action applied when the rule is triggered. + ValueRuleAction action = 3; + + // Condition for Geo location that must be satisfied for the value rule to + // apply. + ValueRuleGeoLocationCondition geo_location_condition = 4; + + // Condition for device type that must be satisfied for the value rule to + // apply. + ValueRuleDeviceCondition device_condition = 5; + + // Condition for audience that must be satisfied for the value rule to apply. + ValueRuleAudienceCondition audience_condition = 6; + + // Output only. The resource name of the conversion value rule's owner customer. + // When the value rule is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // The status of the conversion value rule. + google.ads.googleads.v12.enums.ConversionValueRuleStatusEnum.ConversionValueRuleStatus status = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule_set.proto new file mode 100644 index 00000000..99fb88ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/conversion_value_rule_set.proto @@ -0,0 +1,99 @@ +// 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.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"; + +// Proto file describing the Conversion Value Rule Set resource. + +// A conversion value rule set +message ConversionValueRuleSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + pattern: "customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}" + }; + + // Immutable. The resource name of the conversion value rule set. + // Conversion value rule set resource names have the form: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; + + // Output only. The ID of the conversion value rule set. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource names of rules within the rule set. + repeated string conversion_value_rules = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // Defines dimensions for Value Rule conditions. The condition types of value + // rules within this value rule set must be of these dimensions. The first + // entry in this list is the primary dimension of the included value rules. + // When using value rule primary dimension segmentation, conversion values + // will be segmented into the values adjusted by value rules and the original + // values, if some value rules apply. + repeated google.ads.googleads.v12.enums.ValueRuleSetDimensionEnum.ValueRuleSetDimension dimensions = 4; + + // Output only. The resource name of the conversion value rule set's owner customer. + // When the value rule set is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Immutable. Defines the scope where the conversion value rule set is attached. + google.ads.googleads.v12.enums.ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType attachment_type = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource name of the campaign when the conversion value rule + // set is attached to a campaign. + string campaign = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The status of the conversion value rule set. + // ** Read-only ** + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/currency_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/currency_constant.proto new file mode 100644 index 00000000..140a22e7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/currency_constant.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/custom_audience.proto b/google-cloud/protos/google/ads/googleads/v12/resources/custom_audience.proto new file mode 100644 index 00000000..77e3ea4e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/custom_audience.proto @@ -0,0 +1,106 @@ +// 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.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"; + +// Proto file describing the Custom Audience resource. + +// A custom audience. This is a list of users by interest. +message CustomAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomAudience" + pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}" + }; + + // Immutable. The resource name of the custom audience. + // Custom audience resource names have the form: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; + + // Output only. ID of the custom audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this custom audience. Indicates whether the custom audience is + // enabled or removed. + google.ads.googleads.v12.enums.CustomAudienceStatusEnum.CustomAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the custom audience. It should be unique for all custom audiences + // created by a customer. + // This field is required for creating operations. + string name = 4; + + // Type of the custom audience. + // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom + // audience but kept for existing audiences) + google.ads.googleads.v12.enums.CustomAudienceTypeEnum.CustomAudienceType type = 5; + + // Description of this custom audience. + string description = 6; + + // List of custom audience members that this custom audience is composed of. + // Members can be added during CustomAudience creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomAudienceMember members = 7; +} + +// A member of custom audience. A member can be a KEYWORD, URL, +// PLACE_CATEGORY or APP. It can only be created or removed but not changed. +message CustomAudienceMember { + // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + google.ads.googleads.v12.enums.CustomAudienceMemberTypeEnum.CustomAudienceMemberType member_type = 1; + + // The CustomAudienceMember value. One field is populated depending on the + // member type. + oneof value { + // A keyword or keyword phrase — at most 10 words and 80 characters. + // Languages with double-width characters such as Chinese, Japanese, + // or Korean, are allowed 40 characters, which describes the user's + // interests or actions. + string keyword = 2; + + // An HTTP URL, protocol-included — at most 2048 characters, which includes + // contents users have interests in. + string url = 3; + + // A place type described by a place category users visit. + int64 place_category = 4; + + // A package name of Android apps which users installed such as + // com.google.example. + string app = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/custom_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v12/resources/custom_conversion_goal.proto new file mode 100644 index 00000000..8e4f3831 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/custom_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.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"; + +// Custom conversion goal that can make arbitrary conversion actions biddable. +message CustomConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomConversionGoal" + pattern: "customers/{customer_id}/customConversionGoals/{goal_id}" + }; + + // Immutable. The resource name of the custom conversion goal. + // Custom conversion goal resource names have the form: + // + // `customers/{customer_id}/customConversionGoals/{goal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + } + ]; + + // Immutable. The ID for this custom conversion goal. + int64 id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The name for this custom conversion goal. + string name = 3; + + // Conversion actions that the custom conversion goal makes biddable. + repeated string conversion_actions = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The status of the custom conversion goal. + google.ads.googleads.v12.enums.CustomConversionGoalStatusEnum.CustomConversionGoalStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v12/resources/custom_interest.proto new file mode 100644 index 00000000..daa481f5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/custom_interest.proto @@ -0,0 +1,88 @@ +// 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.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"; + +// Proto file describing the Custom Interest resource. + +// A custom interest. This is a list of users by interest. +message CustomInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomInterest" + pattern: "customers/{customer_id}/customInterests/{custom_interest_id}" + }; + + // Immutable. The resource name of the custom interest. + // Custom interest resource names have the form: + // + // `customers/{customer_id}/customInterests/{custom_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; + + // Output only. Id of the custom interest. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this custom interest. Indicates whether the custom interest is + // enabled or removed. + google.ads.googleads.v12.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; + + // Name of the custom interest. It should be unique across the same custom + // affinity audience. + // This field is required for create operations. + optional string name = 9; + + // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. + // By default the type is set to CUSTOM_AFFINITY. + google.ads.googleads.v12.enums.CustomInterestTypeEnum.CustomInterestType type = 5; + + // Description of this custom interest audience. + optional string description = 10; + + // List of custom interest members that this custom interest is composed of. + // Members can be added during CustomInterest creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomInterestMember members = 7; +} + +// A member of custom interest audience. A member can be a keyword or url. +// It is immutable, that is, it can only be created or removed but not changed. +message CustomInterestMember { + // The type of custom interest member, KEYWORD or URL. + google.ads.googleads.v12.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; + + // Keyword text when member_type is KEYWORD or URL string when + // member_type is URL. + optional string parameter = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer.proto new file mode 100644 index 00000000..cf004243 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer.proto @@ -0,0 +1,188 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/conversion_tracking_status_enum.proto"; +import "google/ads/googleads/v12/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +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 = "CustomerProto"; +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"; + +// 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. + optional string tracking_url_template = 23; + + // The URL template for appending params to the final URL + 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.v12.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.v12.enums.CustomerStatusEnum.CustomerStatus status = 36 [(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.v12.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset.proto new file mode 100644 index 00000000..7a756101 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset.proto @@ -0,0 +1,74 @@ +// 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.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"; + +// 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.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset_set.proto new file mode 100644 index 00000000..569c3204 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_asset_set.proto @@ -0,0 +1,71 @@ +// 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.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 = "CustomerAssetSetProto"; +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"; + +// 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.v12.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_client.proto new file mode 100644 index 00000000..bc672449 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_client.proto @@ -0,0 +1,104 @@ +// 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.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"; + +// Proto file describing the CustomerClient resource. + +// A link between the given customer and a client customer. CustomerClients only +// exist for manager customers. All direct and indirect client customers are +// included, as well as the manager itself. +message CustomerClient { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClient" + pattern: "customers/{customer_id}/customerClients/{client_customer_id}" + }; + + // Output only. The resource name of the customer client. + // CustomerClient resource names have the form: + // `customers/{customer_id}/customerClients/{client_customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; + + // Output only. The resource name of the client-customer which is linked to + // the given customer. Read only. + optional string client_customer = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. Specifies whether this is a + // [hidden account](https://support.google.com/google-ads/answer/7519830). + // Read only. + optional bool hidden = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distance between given customer and client. For self link, the level value + // will be 0. Read only. + optional int64 level = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Common Locale Data Repository (CLDR) string representation of the + // time zone of the client, for example, America/Los_Angeles. Read only. + optional string time_zone = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a test account. Read only. + optional bool test_account = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies if the client is a manager. Read only. + optional bool manager = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Descriptive name for the client. Read only. + optional string descriptive_name = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only. + optional string currency_code = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the client customer. Read only. + optional int64 id = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of the labels owned by the requesting customer that are + // applied to the client customer. + // Label resource names have the form: + // + // `customers/{customer_id}/labels/{label_id}` + repeated string applied_labels = 21 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. The status of the client customer. Read only. + google.ads.googleads.v12.enums.CustomerStatusEnum.CustomerStatus status = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_client_link.proto new file mode 100644 index 00000000..15ecaae4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_client_link.proto @@ -0,0 +1,69 @@ +// 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.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"; + +// Proto file describing the CustomerClientLink resource. + +// Represents customer client link relationship. +message CustomerClientLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClientLink" + pattern: "customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerClientLink resource names have the form: + // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; + + // Immutable. The client customer linked to this customer. + optional string client_customer = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. This is uniquely identifies a customer client link. Read only. + optional int64 manager_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This is the status of the link between client and manager. + google.ads.googleads.v12.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; + + // The visibility of the link. Users can choose whether or not to see hidden + // links in the Google Ads UI. + // Default value is false + optional bool hidden = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_conversion_goal.proto new file mode 100644 index 00000000..795dd8d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_conversion_goal.proto @@ -0,0 +1,63 @@ +// 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.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"; + +// Biddability control for conversion actions with a matching category and +// origin. +message CustomerConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + pattern: "customers/{customer_id}/customerConversionGoals/{category}~{source}" + }; + + // Immutable. The resource name of the customer conversion goal. + // Customer conversion goal resource names have the form: + // + // `customers/{customer_id}/customerConversionGoals/{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + } + ]; + + // The conversion category of this customer conversion goal. Only + // conversion actions that have this category will be included in this goal. + google.ads.googleads.v12.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 2; + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. + google.ads.googleads.v12.enums.ConversionOriginEnum.ConversionOrigin origin = 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_customizer.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_customizer.proto new file mode 100644 index 00000000..b8c1b8d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_customizer.proto @@ -0,0 +1,67 @@ +// 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.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"; + +// A customizer value for the associated CustomizerAttribute at the Customer +// level. +message CustomerCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerCustomizer" + pattern: "customers/{customer_id}/customerCustomizers/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customer customizer. + // Customer customizer resource names have the form: + // + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the customer. + string customizer_attribute = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the customer customizer attribute. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_extension_setting.proto new file mode 100644 index 00000000..50f2affa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_extension_setting.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// Proto file describing the CustomerExtensionSetting resource. + +// A customer extension setting. +message CustomerExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + pattern: "customers/{customer_id}/customerExtensionSettings/{extension_type}" + }; + + // Immutable. The resource name of the customer extension setting. + // CustomerExtensionSetting resource names have the form: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource names of the extension feed items to serve under the customer. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v12.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_feed.proto new file mode 100644 index 00000000..ac48f8bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_feed.proto @@ -0,0 +1,74 @@ +// 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.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"; + +// Proto file describing the CustomerFeed resource. + +// A customer feed. +message CustomerFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerFeed" + pattern: "customers/{customer_id}/customerFeeds/{feed_id}" + }; + + // Immutable. The resource name of the customer feed. + // Customer feed resource names have the form: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; + + // Immutable. The feed being linked to the customer. + optional string feed = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // customer. Required. + repeated google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_label.proto new file mode 100644 index 00000000..96d98762 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_label.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_manager_link.proto new file mode 100644 index 00000000..ebad815a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_manager_link.proto @@ -0,0 +1,64 @@ +// 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.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"; + +// Proto file describing the CustomerManagerLink resource. + +// Represents customer-manager link relationship. +message CustomerManagerLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerManagerLink" + pattern: "customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerManagerLink resource names have the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; + + // Output only. The manager customer linked to the customer. + optional string manager_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. ID of the customer-manager link. This field is read only. + optional int64 manager_link_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the link between the customer and the manager. + google.ads.googleads.v12.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_negative_criterion.proto new file mode 100644 index 00000000..060cb522 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_negative_criterion.proto @@ -0,0 +1,81 @@ +// 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.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"; + +// Proto file describing the Customer Negative Criterion resource. + +// A negative criterion for exclusions at the customer level. +message CustomerNegativeCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + pattern: "customers/{customer_id}/customerNegativeCriteria/{criterion_id}" + }; + + // Immutable. The resource name of the customer negative criterion. + // Customer negative criterion resource names have the form: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; + + // Output only. The ID of the criterion. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access.proto new file mode 100644 index 00000000..e89e20f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access.proto @@ -0,0 +1,71 @@ +// 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.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"; + +// Proto file describing the CustomerUserAccess resource. + +// Represents the permission of a single user onto a single customer. +message CustomerUserAccess { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccess" + pattern: "customers/{customer_id}/customerUserAccesses/{user_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccesses/{user_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; + + // Output only. User id of the user with the customer access. + // Read only field + int64 user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user. + // Read only field + optional string email_address = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Access role of the user. + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 4; + + // Output only. The customer user access creation time. + // Read only field + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string access_creation_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the inviter user. + // Read only field + optional string inviter_user_email_address = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access_invitation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access_invitation.proto new file mode 100644 index 00000000..f5cf3663 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customer_user_access_invitation.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// Proto file describing the CustomerUserAccessInvitation resource. + +// Represent an invitation to a new user on this customer account. +message CustomerUserAccessInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + pattern: "customers/{customer_id}/customerUserAccessInvitations/{invitation_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; + + // Output only. The ID of the invitation. + // This field is read-only. + int64 invitation_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Access role of the user. + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Email address the invitation was sent to. + // This can differ from the email address of the account + // that accepts the invite. + string email_address = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time invitation was created. + // This field is read-only. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invitation status of the user. + google.ads.googleads.v12.enums.AccessInvitationStatusEnum.AccessInvitationStatus invitation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/customizer_attribute.proto b/google-cloud/protos/google/ads/googleads/v12/resources/customizer_attribute.proto new file mode 100644 index 00000000..ca5cf433 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/customizer_attribute.proto @@ -0,0 +1,71 @@ +// 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.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"; + +// A customizer attribute. +// Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or +// AdGroupCriterionCustomizer to associate a customizer attribute and +// set its value at the customer, campaign, ad group, or ad group criterion +// level, respectively. +message CustomizerAttribute { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomizerAttribute" + pattern: "customers/{customer_id}/customizerAttributes/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customizer attribute. + // Customizer Attribute resource names have the form: + // + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The ID of the customizer attribute. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length + // of 1 and maximum length of 40. Name of an enabled customizer attribute must + // be unique (case insensitive). + string name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The type of the customizer attribute. + google.ads.googleads.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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/detail_placement_view.proto new file mode 100644 index 00000000..0e714150 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/detail_placement_view.proto @@ -0,0 +1,71 @@ +// 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.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"; + +// Proto file describing the detail placement view resource. + +// A view with metrics aggregated by ad group and URL or YouTube video. +message DetailPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailPlacementView" + pattern: "customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the detail placement view. + // Detail placement view resource names have the form: + // + // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; + + // Output only. The automatic placement string at detail level, e. g. website URL, mobile + // application ID, or a YouTube video ID. + optional string placement = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name is URL name for websites, YouTube video name for YouTube + // videos, and translated mobile app name for mobile apps. + optional string display_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the mobile + // application in app store, or a YouTube channel URL. + optional string group_placement_target_url = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the placement, for example, website, link to the mobile application + // in app store, or a YouTube video URL. + optional string target_url = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Video, and Mobile + // Application. + google.ads.googleads.v12.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/detailed_demographic.proto b/google-cloud/protos/google/ads/googleads/v12/resources/detailed_demographic.proto new file mode 100644 index 00000000..e01ca420 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/detailed_demographic.proto @@ -0,0 +1,73 @@ +// 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.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"; + +// Proto file describing the Detailed Demographic resource. + +// A detailed demographic: a particular interest-based vertical to be targeted +// to reach users based on long-term life facts. +message DetailedDemographic { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailedDemographic" + pattern: "customers/{customer_id}/detailedDemographics/{detailed_demographic_id}" + }; + + // Output only. The resource name of the detailed demographic. + // Detailed demographic resource names have the form: + // + // `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. The ID of the detailed demographic. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the detailed demographic. For example,"Highest Level of + // Educational Attainment" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the detailed_demographic. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. True if the detailed demographic is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the detailed demographic. + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/display_keyword_view.proto new file mode 100644 index 00000000..26c8c7da --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/display_keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/distance_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/distance_view.proto new file mode 100644 index 00000000..f1791687 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/distance_view.proto @@ -0,0 +1,61 @@ +// 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.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"; + +// Proto file describing the DistanceView resource. + +// A distance view with metrics aggregated by the user's distance from an +// advertiser's location extensions. Each DistanceBucket includes all +// impressions that fall within its distance and a single impression will +// contribute to the metrics for all DistanceBuckets that include the user's +// distance. +message DistanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DistanceView" + pattern: "customers/{customer_id}/distanceViews/{placeholder_chain_id}~{distance_bucket}" + }; + + // Output only. The resource name of the distance view. + // Distance view resource names have the form: + // + // `customers/{customer_id}/distanceViews/1~{distance_bucket}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; + + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v12.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the DistanceBucket is using the metric system, false otherwise. + optional bool metric_system = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v12/resources/domain_category.proto new file mode 100644 index 00000000..c41a717f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/domain_category.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 00000000..742a6751 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/expanded_landing_page_view.proto new file mode 100644 index 00000000..5e0ab62a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/expanded_landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/experiment.proto b/google-cloud/protos/google/ads/googleads/v12/resources/experiment.proto new file mode 100644 index 00000000..d00bcfe3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/experiment.proto @@ -0,0 +1,106 @@ +// 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.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"; + +// 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.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; + + // 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.v12.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.v12.enums.AsyncActionStatusEnum.AsyncActionStatus promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/experiment_arm.proto b/google-cloud/protos/google/ads/googleads/v12/resources/experiment_arm.proto new file mode 100644 index 00000000..329691a7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/experiment_arm.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v12/resources/extension_feed_item.proto new file mode 100644 index 00000000..7717e7a2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/extension_feed_item.proto @@ -0,0 +1,150 @@ +// 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.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"; + +// Proto file describing the ExtensionFeedItem resource. + +// An extension feed item. +message ExtensionFeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + pattern: "customers/{customer_id}/extensionFeedItems/{feed_item_id}" + }; + + // Immutable. The resource name of the extension feed item. + // Extension feed item resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; + + // Output only. The ID of this feed item. Read-only. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The extension type of the extension feed item. + // This field is read-only. + google.ads.googleads.v12.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 26; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 27; + + // List of non-overlapping schedules specifying all time intervals + // for which the feed item may serve. There can be a maximum of 6 schedules + // per day. + repeated google.ads.googleads.v12.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v12.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. + google.ads.googleads.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]; + } + + // 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/google-cloud/protos/google/ads/googleads/v12/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed.proto new file mode 100644 index 00000000..d5dbcfa1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed.proto @@ -0,0 +1,189 @@ +// 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.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"; + +// Proto file describing the Feed resource. + +// A feed. +message Feed { + option (google.api.resource) = { + type: "googleads.googleapis.com/Feed" + pattern: "customers/{customer_id}/feeds/{feed_id}" + }; + + // Data used to configure a location feed populated from Business Profile. + message PlacesLocationFeedData { + // Data used for authorization using OAuth. + message OAuthInfo { + // The HTTP method used to obtain authorization. + optional string http_method = 4; + + // The HTTP request URL used to obtain authorization. + optional string http_request_url = 5; + + // The HTTP authorization header used to obtain authorization. + optional string http_authorization_header = 6; + } + + // Immutable. Required authentication token (from OAuth API) for the email. + // This field can only be specified in a create request. All its subfields + // are not selectable. + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Email address of a Business Profile or email address of a + // manager of the Business Profile. Required. + optional string email_address = 7; + + // Plus page ID of the managed business whose locations should be used. If + // this field is not set, then all businesses accessible by the user + // (specified by email_address) are used. + // This field is mutate-only and is not selectable. + string business_account_id = 8; + + // Used to filter Business Profile listings by business name. If + // business_name_filter is set, only listings with a matching business name + // are candidates to be sync'd into FeedItems. + optional string business_name_filter = 9; + + // Used to filter Business Profile listings by categories. If entries + // exist in category_filters, only listings that belong to any of the + // categories are candidates to be sync'd into FeedItems. If no entries + // exist in category_filters, then all listings are candidates for syncing. + repeated string category_filters = 11; + + // Used to filter Business Profile listings by labels. If entries exist in + // label_filters, only listings that has any of the labels set are + // candidates to be synchronized into FeedItems. If no entries exist in + // label_filters, then all listings are candidates for syncing. + repeated string label_filters = 12; + } + + // Data used to configure an affiliate location feed populated with the + // specified chains. + message AffiliateLocationFeedData { + // The list of chains that the affiliate location feed will sync the + // locations from. + repeated int64 chain_ids = 3; + + // The relationship the chains have with the advertiser. + google.ads.googleads.v12.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; + } + + // Immutable. The resource name of the feed. + // Feed resource names have the form: + // + // `customers/{customer_id}/feeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of the feed. + // This field is read-only. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Name of the feed. Required. + optional string name = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The Feed's attributes. Required on CREATE, unless + // system_feed_generation_data is provided, in which case Google Ads will + // update the feed with the correct attributes. + // Disallowed on UPDATE. Use attribute_operations to add new attributes. + repeated FeedAttribute attributes = 4; + + // The list of operations changing the feed attributes. Attributes can only + // be added, not removed. + repeated FeedAttributeOperation attribute_operations = 9; + + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.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]; + + // The system data for the Feed. This data specifies information for + // generating the feed items of the system generated feed. + oneof system_feed_generation_data { + // Data used to configure a location feed populated from Business Profile. + PlacesLocationFeedData places_location_feed_data = 6; + + // Data used to configure an affiliate location feed populated with + // the specified chains. + AffiliateLocationFeedData affiliate_location_feed_data = 7; + } +} + +// FeedAttributes define the types of data expected to be present in a Feed. A +// single FeedAttribute specifies the expected type of the FeedItemAttributes +// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as +// being part of a FeedItem's unique key. +message FeedAttribute { + // ID of the attribute. + optional int64 id = 5; + + // The name of the attribute. Required. + optional string name = 6; + + // Data type for feed attribute. Required. + google.ads.googleads.v12.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; + + // Indicates that data corresponding to this attribute is part of a + // FeedItem's unique key. It defaults to false if it is unspecified. Note + // that a unique key is not required in a Feed's schema, in which case the + // FeedItems must be referenced by their feed_item_id. + optional bool is_part_of_key = 7; +} + +// Operation to be performed on a feed attribute list in a mutate. +message FeedAttributeOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the attribute to the existing attributes. + ADD = 2; + } + + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item.proto new file mode 100644 index 00000000..d8290012 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item.proto @@ -0,0 +1,214 @@ +// 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.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"; + +// Proto file describing the FeedItem resource. + +// A feed item. +message FeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItem" + pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item. + // Feed item resource names have the form: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The feed to which this feed item belongs. + optional string feed = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of this feed item. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 13; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 14; + + // The feed item's attribute values. + repeated FeedItemAttributeValue attribute_values = 6; + + // Geo targeting restriction specifies the type of location that can be used + // for targeting. + google.ads.googleads.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]; +} + +// A feed item attribute value. +message FeedItemAttributeValue { + // Id of the feed attribute for which the value is associated with. + optional int64 feed_attribute_id = 11; + + // Int64 value. Should be set if feed_attribute_id refers to a feed attribute + // of type INT64. + optional int64 integer_value = 12; + + // Bool value. Should be set if feed_attribute_id refers to a feed attribute + // of type BOOLEAN. + optional bool boolean_value = 13; + + // String value. Should be set if feed_attribute_id refers to a feed attribute + // of type STRING, URL or DATE_TIME. + // For STRING the maximum length is 1500 characters. For URL the maximum + // length is 2076 characters. For DATE_TIME the string must be in the format + // "YYYYMMDD HHMMSS". + optional string string_value = 14; + + // Double value. Should be set if feed_attribute_id refers to a feed attribute + // of type DOUBLE. + optional double double_value = 15; + + // Price value. Should be set if feed_attribute_id refers to a feed attribute + // of type PRICE. + google.ads.googleads.v12.common.Money price_value = 6; + + // Repeated int64 value. Should be set if feed_attribute_id refers to a feed + // attribute of type INT64_LIST. + repeated int64 integer_values = 16; + + // Repeated bool value. Should be set if feed_attribute_id refers to a feed + // attribute of type BOOLEAN_LIST. + repeated bool boolean_values = 17; + + // Repeated string value. Should be set if feed_attribute_id refers to a feed + // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. + // For STRING_LIST and URL_LIST the total size of the list in bytes may not + // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. + // + // For STRING_LIST the maximum length of each string element is 1500 + // characters. For URL_LIST the maximum length is 2076 characters. For + // DATE_TIME the format of the string must be the same as start and end time + // for the feed item. + repeated string string_values = 18; + + // Repeated double value. Should be set if feed_attribute_id refers to a feed + // attribute of type DOUBLE_LIST. + repeated double double_values = 19; +} + +// Policy, validation, and quality approval info for a feed item for the +// specified placeholder type. +message FeedItemPlaceholderPolicyInfo { + // Output only. The placeholder type. + google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The FeedMapping that contains the placeholder type. + optional string feed_mapping_resource_name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.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]; + + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.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]; +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { + // Output only. Error code indicating what validation error was triggered. The description + // of the error can be found in the 'description' field. + google.ads.googleads.v12.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of feed attributes in the feed item flagged during validation. If + // empty, no specific feed attributes can be associated with the error + // (for example, error across the entire feed item). + repeated int64 feed_attribute_ids = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Any extra information related to this error which is not captured by + // validation_error and feed_attribute_id (for example, placeholder field IDs + // when feed_attribute_id is not mapped). Note that extra_info is not + // localized. + optional string extra_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set.proto new file mode 100644 index 00000000..ac77d158 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set.proto @@ -0,0 +1,83 @@ +// 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.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"; + +// Represents a set of feed items. The set can be used and shared among certain +// feed item features. For instance, the set can be referenced within the +// matching functions of CustomerFeed, CampaignFeed, and AdGroupFeed. +message FeedItemSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSet" + pattern: "customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}" + }; + + // Immutable. The resource name of the feed item set. + // Feed item set resource names have the form: + // `customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; + + // Immutable. The resource name of the feed containing the feed items in the set. + // Immutable. Required. + string feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. ID of the set. + int64 feed_item_set_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the set. Must be unique within the account. + string display_name = 4; + + // Output only. Status of the feed item set. + // This field is read-only. + google.ads.googleads.v12.enums.FeedItemSetStatusEnum.FeedItemSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Represents a filter on locations in a feed item set. + // Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. + oneof dynamic_set_filter { + // Filter for dynamic location set. + // It is only used for sets of locations. + google.ads.googleads.v12.common.DynamicLocationSetFilter dynamic_location_set_filter = 5; + + // Filter for dynamic affiliate location set. + // This field doesn't apply generally to feed item sets. It is only used for + // sets of affiliate locations. + google.ads.googleads.v12.common.DynamicAffiliateLocationSetFilter dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set_link.proto new file mode 100644 index 00000000..3090493b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_set_link.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_target.proto new file mode 100644 index 00000000..6cb10da1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_item_target.proto @@ -0,0 +1,107 @@ +// 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.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"; + +// Proto file describing the FeedItemTarget resource. + +// A feed item target. +message FeedItemTarget { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemTarget" + pattern: "customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}" + }; + + // Immutable. The resource name of the feed item target. + // Feed item target resource names have the form: + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; + + // Immutable. The feed item to which this feed item target belongs. + optional string feed_item = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v12.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the targeted resource. This field is read-only. + optional int64 feed_item_target_id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the feed item target. + // This field is read-only. + google.ads.googleads.v12.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The targeted resource. + oneof target { + // Immutable. The targeted campaign. + string campaign = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The targeted ad group. + string ad_group = 15 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The targeted keyword. + google.ads.googleads.v12.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted geo target constant resource name. + string geo_target_constant = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Immutable. The targeted device. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_mapping.proto new file mode 100644 index 00000000..e06b1e5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_mapping.proto @@ -0,0 +1,188 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v12/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v12/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v12/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v12/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/placeholder_type.proto"; +import "google/ads/googleads/v12/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v12/enums/travel_placeholder_field.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 = "FeedMappingProto"; +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"; + +// 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.v12.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.v12.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.v12.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.v12.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v12.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v12.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v12.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.v12.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v12.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v12.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v12.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v12.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v12.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v12.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v12.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v12.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v12.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v12.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v12.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v12.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v12.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v12.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v12.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v12.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v12.enums.ImagePlaceholderFieldEnum.ImagePlaceholderField image_field = 26 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/feed_placeholder_view.proto new file mode 100644 index 00000000..35184cba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/feed_placeholder_view.proto @@ -0,0 +1,54 @@ +// 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.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"; + +// Proto file describing the FeedPlaceholderView resource. + +// A feed placeholder view. +message FeedPlaceholderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + pattern: "customers/{customer_id}/feedPlaceholderViews/{placeholder_type}" + }; + + // Output only. The resource name of the feed placeholder view. + // Feed placeholder view resource names have the form: + // + // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; + + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v12.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/gender_view.proto new file mode 100644 index 00000000..4e4a34a7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/gender_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/geo_target_constant.proto new file mode 100644 index 00000000..fdbfc454 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/geo_target_constant.proto @@ -0,0 +1,81 @@ +// 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.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"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeoTargetConstant" + pattern: "geoTargetConstants/{criterion_id}" + }; + + // Output only. The resource name of the geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{geo_target_constant_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The ID of the geo target constant. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant English name. + optional string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + optional string country_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant target type. + optional string target_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant status. + google.ads.googleads.v12.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fully qualified English name, consisting of the target's name and that + // of its parent and country. + optional string canonical_name = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the parent geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{parent_geo_target_constant_id}` + optional string parent_geo_target = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/geographic_view.proto new file mode 100644 index 00000000..4863e7de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/geographic_view.proto @@ -0,0 +1,62 @@ +// 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.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"; + +// Proto file describing the geographic view resource. + +// A geographic view. +// +// Geographic View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at either actual physical location of +// the user or an area of interest. If other segment fields are used, you may +// get more than one row per country. +message GeographicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeographicView" + pattern: "customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}" + }; + + // Output only. The resource name of the geographic view. + // Geographic view resource names have the form: + // + // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; + + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v12.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v12/resources/google_ads_field.proto new file mode 100644 index 00000000..f80557e7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/google_ads_field.proto @@ -0,0 +1,107 @@ +// 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.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"; + +// Proto file describing the Google Ads Field resource. + +// A field or resource (artifact) used by GoogleAdsService. +message GoogleAdsField { + option (google.api.resource) = { + type: "googleads.googleapis.com/GoogleAdsField" + pattern: "googleAdsFields/{google_ads_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `googleAdsFields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. + google.ads.googleads.v12.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a SELECT clause in search + // queries. + optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a WHERE clause in search + // queries. + optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a ORDER BY clause in search + // queries. + optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources, segments, and metrics that are selectable with + // the described artifact. + repeated string selectable_with = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources that are selectable with the described + // artifact. Fields from these resources do not segment metrics when included + // in search queries. + // + // This field is only set for artifacts whose category is RESOURCE. + repeated string attribute_resources = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all metrics that are selectable with the + // described artifact when it is used in the FROM clause. + // It is only set for artifacts whose category is RESOURCE. + repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all artifacts, whether a segment or another + // resource, that segment metrics when included in search queries and when the + // described artifact is used in the FROM clause. It is only set for artifacts + // whose category is RESOURCE. + repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Values the artifact can assume if it is a field of type ENUM. + // + // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.googleads.v12.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of proto describing the artifact's data type. + optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the field artifact is repeated. + optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/group_placement_view.proto new file mode 100644 index 00000000..dd28fea9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/group_placement_view.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// Proto file describing the group placement view resource. + +// A group placement view. +message GroupPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GroupPlacementView" + pattern: "customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the group placement view. + // Group placement view resource names have the form: + // + // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; + + // Output only. The automatic placement string at group level, e. g. web domain, mobile + // app ID, or a YouTube channel ID. + optional string placement = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Domain name for websites and YouTube channel name for YouTube channels. + optional string display_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, for example, domain, link to the mobile + // application in app store, or a YouTube channel URL. + optional string target_url = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of the placement, for example, Website, YouTube Channel, Mobile + // Application. + google.ads.googleads.v12.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_group_view.proto new file mode 100644 index 00000000..b41a5d88 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_performance_view.proto new file mode 100644 index 00000000..d27f87a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_performance_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/hotel_reconciliation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_reconciliation.proto new file mode 100644 index 00000000..649c2143 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/hotel_reconciliation.proto @@ -0,0 +1,116 @@ +// 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.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"; + +// Proto file describing the hotel reconciliation resource. + +// A hotel reconciliation. It contains conversion information from Hotel +// bookings to reconcile with advertiser records. These rows may be updated +// or canceled before billing through Bulk Uploads. +message HotelReconciliation { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelReconciliation" + pattern: "customers/{customer_id}/hotelReconciliations/{commission_id}" + }; + + // Immutable. The resource name of the hotel reconciliation. + // Hotel reconciliation resource names have the form: + // + // `customers/{customer_id}/hotelReconciliations/{commission_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelReconciliation" + } + ]; + + // Required. Output only. The commission ID is Google's ID for this booking. Every booking event is + // assigned a Commission ID to help you match it to a guest stay. + string commission_id = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. The order ID is the identifier for this booking as provided in the + // 'transaction_id' parameter of the conversion tracking tag. + string order_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name for the Campaign associated with the conversion. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Identifier for the Hotel Center account which provides the rates for the + // Hotel campaign. + int64 hotel_center_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier for the booked property, as provided in the Hotel Center + // feed. The hotel ID comes from the 'ID' parameter of the conversion tracking + // tag. + string hotel_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-in date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_in_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-out date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_out_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If + // original booking value changes for any reason, such as itinerary changes or + // room upsells, the reconciled value should be the full final amount + // collected. If a booking is canceled, the reconciled value should include + // the value of any cancellation fees or non-refundable nights charged. Value + // is in millionths of the base unit currency. For example, $12.35 would be + // represented as 12350000. Currency unit is in the default customer currency. + int64 reconciled_value_micros = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Whether a given booking has been billed. Once billed, a booking can't be + // modified. + bool billed = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Current status of a booking with regards to reconciliation and billing. + // Bookings should be reconciled within 45 days after the check-out date. + // Any booking not reconciled within 45 days will be billed at its original + // value. + google.ads.googleads.v12.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/income_range_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/income_range_view.proto new file mode 100644 index 00000000..bdddaaba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/income_range_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/invoice.proto b/google-cloud/protos/google/ads/googleads/v12/resources/invoice.proto new file mode 100644 index 00000000..6c3dd7e2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/invoice.proto @@ -0,0 +1,282 @@ +// 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.ads.googleads.v12.resources; + +import "google/ads/googleads/v12/common/dates.proto"; +import "google/ads/googleads/v12/enums/invoice_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 = "InvoiceProto"; +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"; + +// 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. + // AccountSummary fields are accessible only to customers on the allow-list. + 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. 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.v12.common.DateRange billable_activity_date_range = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Accessible only to customers on the allow-list. + // 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. Accessible only to customers on the allow-list. + // 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. Accessible only to customers on the allow-list. + // 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. Accessible only to customers on the allow-list. + // 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 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.v12.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.v12.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, in micros. This equals the + // sum of the AccountBudgetSummary subtotal amounts, + // Invoice.adjustments_subtotal_amount_micros, and + // Invoice.regulatory_costs_subtotal_amount_micros. + // Starting with v6, the Invoice.regulatory_costs_subtotal_amount_micros is no + // longer included. + 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 and Invoice.tax_amount_micros. + // Starting with v6, Invoice.regulatory_costs_subtotal_amount_micros is + // also added as it is no longer already included in + // Invoice.tax_amount_micros. + 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/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan.proto new file mode 100644 index 00000000..d0232bf6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan.proto @@ -0,0 +1,82 @@ +// 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.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"; + +// Proto file describing the keyword plan resource. + +// A Keyword Planner plan. +// Max number of saved keyword plans: 10000. +// It's possible to remove plans if limit is reached. +message KeywordPlan { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlan" + pattern: "customers/{customer_id}/keywordPlans/{keyword_plan_id}" + }; + + // Immutable. The resource name of the Keyword Planner plan. + // KeywordPlan resource names have the form: + // + // `customers/{customer_id}/keywordPlans/{kp_plan_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // Output only. The ID of the keyword plan. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan. + // + // This field is required and should not be empty when creating new keyword + // plans. + optional string name = 6; + + // The date period used for forecasting the plan. + KeywordPlanForecastPeriod forecast_period = 4; +} + +// The forecasting period associated with the keyword plan. +message KeywordPlanForecastPeriod { + // Required. The date used for forecasting the Plan. + oneof interval { + // A future date range relative to the current date used for forecasting. + google.ads.googleads.v12.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; + + // The custom date range used for forecasting. It cannot be greater than + // a year. + // The start and end dates must be in the future. Otherwise, an error will + // be returned when the forecasting action is performed. + // The start and end dates are inclusive. + google.ads.googleads.v12.common.DateRange date_range = 2; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto new file mode 100644 index 00000000..980c1224 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 00000000..9ef059b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// Proto file describing the keyword plan ad group keyword resource. + +// A Keyword Plan ad group keyword. +// Max number of keyword plan keywords per plan: 10000. +message KeywordPlanAdGroupKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + pattern: "customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan ad group keyword. + // KeywordPlanAdGroupKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; + + // The Keyword Plan ad group to which this keyword belongs. + optional string keyword_plan_ad_group = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + + // Output only. The ID of the Keyword Plan keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency + // is the same as the account currency code. This will override any CPC bid + // set at the keyword plan ad group level. Not applicable for negative + // keywords. (negative = true) This field is Optional. + optional int64 cpc_bid_micros = 11; + + // Immutable. If true, the keyword is negative. + optional bool negative = 12 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign.proto new file mode 100644 index 00000000..e6a0de51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign.proto @@ -0,0 +1,97 @@ +// 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.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"; + +// Proto file describing the keyword plan campaign resource. + +// A Keyword Plan campaign. +// Max number of keyword plan campaigns per plan allowed: 1. +message KeywordPlanCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + pattern: "customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}" + }; + + // Immutable. The resource name of the Keyword Plan campaign. + // KeywordPlanCampaign resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; + + // The keyword plan this campaign belongs to. + optional string keyword_plan = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + + // Output only. The ID of the Keyword Plan campaign. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the Keyword Plan campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional string name = 11; + + // The languages targeted for the Keyword Plan campaign. + // Max allowed: 1. + repeated string language_constants = 12 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; + + // Targeting network. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + google.ads.googleads.v12.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; + + // A default max cpc bid in micros, and in the account currency, for all ad + // groups under the campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional int64 cpc_bid_micros = 13; + + // The geo targets. + // Max number allowed: 20. + repeated KeywordPlanGeoTarget geo_targets = 8; +} + +// A geo target. +message KeywordPlanGeoTarget { + // Required. The resource name of the geo target. + optional string geo_target_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 00000000..31af4212 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,70 @@ +// 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.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"; + +// Proto file describing the keyword plan negative keyword resource. + +// A Keyword Plan Campaign keyword. +// Only negative keywords are supported for Campaign Keyword. +message KeywordPlanCampaignKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + pattern: "customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan Campaign keyword. + // KeywordPlanCampaignKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; + + // The Keyword Plan campaign to which this negative keyword belongs. + optional string keyword_plan_campaign = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the Keyword Plan negative keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // Immutable. If true, the keyword is negative. + // Must be set to true. Only negative campaign keywords are supported. + optional bool negative = 11 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/keyword_theme_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_theme_constant.proto new file mode 100644 index 00000000..94e73f89 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_theme_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_view.proto new file mode 100644 index 00000000..43ecb603 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/keyword_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/label.proto b/google-cloud/protos/google/ads/googleads/v12/resources/label.proto new file mode 100644 index 00000000..722dd912 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/label.proto @@ -0,0 +1,65 @@ +// 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.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"; + +// A label. +message Label { + option (google.api.resource) = { + type: "googleads.googleapis.com/Label" + pattern: "customers/{customer_id}/labels/{label_id}" + }; + + // Immutable. Name of the resource. + // Label resource names have the form: + // `customers/{customer_id}/labels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. ID of the label. Read only. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the label. + // + // This field is required and should not be empty when creating a new label. + // + // The length of this string should be between 1 and 80, inclusive. + optional string name = 7; + + // Output only. Status of the label. Read only. + google.ads.googleads.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/landing_page_view.proto new file mode 100644 index 00000000..30a82330 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/landing_page_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/language_constant.proto new file mode 100644 index 00000000..1ee3a0f6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/language_constant.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/lead_form_submission_data.proto b/google-cloud/protos/google/ads/googleads/v12/resources/lead_form_submission_data.proto new file mode 100644 index 00000000..93b8a3a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/lead_form_submission_data.proto @@ -0,0 +1,118 @@ +// 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.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"; + +// 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.v12.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/google-cloud/protos/google/ads/googleads/v12/resources/life_event.proto b/google-cloud/protos/google/ads/googleads/v12/resources/life_event.proto new file mode 100644 index 00000000..bc44a9c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/life_event.proto @@ -0,0 +1,72 @@ +// 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.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"; + +// Proto file describing the Life Event resource. + +// A life event: a particular interest-based vertical to be targeted to reach +// users when they are in the midst of important life milestones. +message LifeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/LifeEvent" + pattern: "customers/{customer_id}/lifeEvents/{life_event_id}" + }; + + // Output only. The resource name of the life event. + // Life event resource names have the form: + // + // `customers/{customer_id}/lifeEvents/{life_event_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. The ID of the life event. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the life event, for example,"Recently Moved" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the life_event. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. True if the life event is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the life event. + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/location_view.proto new file mode 100644 index 00000000..fcb33e02 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/location_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/managed_placement_view.proto new file mode 100644 index 00000000..1ad72621 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/managed_placement_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v12/resources/media_file.proto new file mode 100644 index 00000000..d62ffcce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/media_file.proto @@ -0,0 +1,136 @@ +// 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.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"; + +// Proto file describing the media file resource. + +// A media file. +message MediaFile { + option (google.api.resource) = { + type: "googleads.googleapis.com/MediaFile" + pattern: "customers/{customer_id}/mediaFiles/{media_file_id}" + }; + + // Immutable. The resource name of the media file. + // Media file resource names have the form: + // + // `customers/{customer_id}/mediaFiles/{media_file_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; + + // Output only. The ID of the media file. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of the media file. + google.ads.googleads.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]; + + // 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/google-cloud/protos/google/ads/googleads/v12/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/merchant_center_link.proto new file mode 100644 index 00000000..2b79b4b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/merchant_center_link.proto @@ -0,0 +1,63 @@ +// 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.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"; + +// 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. + google.ads.googleads.v12.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/mobile_app_category_constant.proto new file mode 100644 index 00000000..3f6098c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/mobile_app_category_constant.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/mobile_device_constant.proto new file mode 100644 index 00000000..87c28095 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/mobile_device_constant.proto @@ -0,0 +1,66 @@ +// 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.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"; + +// Proto file describing the mobile device constant resource. + +// A mobile device constant. +message MobileDeviceConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + pattern: "mobileDeviceConstants/{criterion_id}" + }; + + // Output only. The resource name of the mobile device constant. + // Mobile device constant resource names have the form: + // + // `mobileDeviceConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; + + // Output only. The ID of the mobile device constant. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the mobile device. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The manufacturer of the mobile device. + optional string manufacturer_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operating system of the mobile device. + optional string operating_system_name = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of mobile device. + google.ads.googleads.v12.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/offline_user_data_job.proto b/google-cloud/protos/google/ads/googleads/v12/resources/offline_user_data_job.proto new file mode 100644 index 00000000..c61e2d9b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/offline_user_data_job.proto @@ -0,0 +1,94 @@ +// 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.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"; + +// Proto file describing the offline user data job resource. + +// A job containing offline user data of store visitors, or user list members +// that will be processed asynchronously. The uploaded data isn't readable and +// the processing results of the job can only be read using +// GoogleAdsService.Search/SearchStream. +message OfflineUserDataJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + pattern: "customers/{customer_id}/offlineUserDataJobs/{offline_user_data_update_id}" + }; + + // Immutable. The resource name of the offline user data job. + // Offline user data job resource names have the form: + // + // `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // Output only. ID of this offline user data job. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. User specified job ID. + optional int64 external_id = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Type of the job. + google.ads.googleads.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]; + + // Output only. Metadata of offline user data job depicting match rate range. + OfflineUserDataJobMetadata operation_metadata = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata of the job. + oneof metadata { + // Immutable. Metadata for data updates to a CRM-based user list. + google.ads.googleads.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]; + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { + // Output only. Match rate of the Customer Match user list upload. Describes the estimated + // match rate when the status of the job is "RUNNING" and final match rate + // when the final match rate is available after the status of the job is + // "SUCCESS/FAILED". + google.ads.googleads.v12.enums.OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange match_rate_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/operating_system_version_constant.proto new file mode 100644 index 00000000..0fca27fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/operating_system_version_constant.proto @@ -0,0 +1,69 @@ +// 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.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"; + +// Proto file describing the operating system version constant resource. + +// A mobile operating system version or a range of versions, depending on +// `operator_type`. List of available mobile platforms at +// https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms +message OperatingSystemVersionConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + pattern: "operatingSystemVersionConstants/{criterion_id}" + }; + + // Output only. The resource name of the operating system version constant. + // Operating system version constant resource names have the form: + // + // `operatingSystemVersionConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; + + // Output only. The ID of the operating system version. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the operating system. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Major Version number. + optional int32 os_major_version = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Minor Version number. + optional int32 os_minor_version = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines whether this constant represents a single version or a range of + // versions. + google.ads.googleads.v12.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto new file mode 100644 index 00000000..e51055f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/paid_organic_search_term_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/parental_status_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/parental_status_view.proto new file mode 100644 index 00000000..cb7781b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/parental_status_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/payments_account.proto b/google-cloud/protos/google/ads/googleads/v12/resources/payments_account.proto new file mode 100644 index 00000000..2bcc1d00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/payments_account.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/per_store_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/per_store_view.proto new file mode 100644 index 00000000..a79c5a0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/per_store_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v12.resources; + +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 = "PerStoreViewProto"; +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"; + +// Proto file describing the PerStoreView resource. + +// An 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/google-cloud/protos/google/ads/googleads/v12/resources/product_bidding_category_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/product_bidding_category_constant.proto new file mode 100644 index 00000000..b6635f5d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/product_bidding_category_constant.proto @@ -0,0 +1,82 @@ +// 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.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"; + +// 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. + 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]; + + // 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/google-cloud/protos/google/ads/googleads/v12/resources/product_group_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/product_group_view.proto new file mode 100644 index 00000000..31e69b08 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/product_group_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/recommendation.proto b/google-cloud/protos/google/ads/googleads/v12/resources/recommendation.proto new file mode 100644 index 00000000..213b6ffe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/recommendation.proto @@ -0,0 +1,476 @@ +// 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.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/keyword_match_type.proto"; +import "google/ads/googleads/v12/enums/recommendation_type.proto"; +import "google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.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 = "RecommendationProto"; +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"; + +// 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 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 { + // Output only. The recommended keyword. + google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(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.v12.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 extension recommendation. + message CalloutExtensionRecommendation { + // Output only. Callout extensions recommended to be added. + repeated google.ads.googleads.v12.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v12.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v12.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v12.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 = 1 [(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.v12.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]; + } + + // 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]; + } + + // 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.v12.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 will be set only when + // the recommendation affects a single campaign. + // + // 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 + 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]; + + // 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 Callout extension recommendation. + CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Sitelink extension recommendation. + SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Call extension recommendation. + CallExtensionRecommendation call_extension_recommendation = 19 [(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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/remarketing_action.proto b/google-cloud/protos/google/ads/googleads/v12/resources/remarketing_action.proto new file mode 100644 index 00000000..f8c7e384 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/remarketing_action.proto @@ -0,0 +1,65 @@ +// 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.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"; + +// Proto file describing the Remarketing Action resource. + +// A remarketing action. A snippet of JavaScript code that will collect the +// product id and the type of page people visited (product page, shopping cart +// page, purchase page, general site visit) on an advertiser's website. +message RemarketingAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/RemarketingAction" + pattern: "customers/{customer_id}/remarketingActions/{remarketing_action_id}" + }; + + // Immutable. The resource name of the remarketing action. + // Remarketing action resource names have the form: + // + // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; + + // Output only. Id of the remarketing action. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the remarketing action. + // + // This field is required and should not be empty when creating new + // remarketing actions. + optional string name = 6; + + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v12.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/search_term_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/search_term_view.proto new file mode 100644 index 00000000..c95afd4f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/search_term_view.proto @@ -0,0 +1,67 @@ +// 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.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"; + +// Proto file describing the SearchTermView resource. + +// A search term view with metrics aggregated by search term at the ad group +// level. +message SearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SearchTermView" + pattern: "customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{query}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group the search term served in. + optional string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Indicates whether the search term is currently one of your + // targeted or excluded keywords. + google.ads.googleads.v12.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/shared_criterion.proto b/google-cloud/protos/google/ads/googleads/v12/resources/shared_criterion.proto new file mode 100644 index 00000000..7aa23558 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/shared_criterion.proto @@ -0,0 +1,91 @@ +// 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.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"; + +// Proto file describing the SharedCriterion resource. + +// A criterion belonging to a shared set. +message SharedCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedCriterion" + pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}" + }; + + // Immutable. The resource name of the shared criterion. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; + + // Immutable. The shared set to which the shared criterion belongs. + optional string shared_set = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/shared_set.proto b/google-cloud/protos/google/ads/googleads/v12/resources/shared_set.proto new file mode 100644 index 00000000..eacc9faa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/shared_set.proto @@ -0,0 +1,76 @@ +// 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.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"; + +// Proto file describing the SharedSet resource. + +// SharedSets are used for sharing criterion exclusions across multiple +// campaigns. +message SharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedSet" + pattern: "customers/{customer_id}/sharedSets/{shared_set_id}" + }; + + // Immutable. The resource name of the shared set. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of this shared set. Read only. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of this shared set: each shared set holds only a single kind + // of resource. Required. Immutable. + google.ads.googleads.v12.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // The name of this shared set. Required. + // Shared Sets must have names that are unique among active shared sets of + // the same type. + // The length of this string should be between 1 and 255 UTF-8 bytes, + // inclusive. + optional string name = 9; + + // Output only. The status of this shared set. Read only. + google.ads.googleads.v12.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shared criteria within this shared set. Read only. + optional int64 member_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns associated with this shared set. Read only. + optional int64 reference_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/shopping_performance_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/shopping_performance_view.proto new file mode 100644 index 00000000..6015c0b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/shopping_performance_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto new file mode 100644 index 00000000..4e466fd8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_setting.proto b/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_setting.proto new file mode 100644 index 00000000..6c38f752 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/smart_campaign_setting.proto @@ -0,0 +1,110 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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 ISO-639-1 language code to advertise in. + 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/google-cloud/protos/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto b/google-cloud/protos/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto new file mode 100644 index 00000000..f042ed90 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/third_party_app_analytics_link.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/topic_constant.proto b/google-cloud/protos/google/ads/googleads/v12/resources/topic_constant.proto new file mode 100644 index 00000000..4b6a1211 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/topic_constant.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/adwords/api/docs/appendix/verticals + repeated string path = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/topic_view.proto new file mode 100644 index 00000000..5c20bfab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/topic_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v12/resources/user_interest.proto new file mode 100644 index 00000000..459b42a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/user_interest.proto @@ -0,0 +1,75 @@ +// 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.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"; + +// Proto file describing the User Interest resource. + +// A user interest: a particular interest-based vertical to be targeted. +message UserInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserInterest" + pattern: "customers/{customer_id}/userInterests/{user_interest_id}" + }; + + // Output only. The resource name of the user interest. + // User interest resource names have the form: + // + // `customers/{customer_id}/userInterests/{user_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v12.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the user interest. + optional int64 user_interest_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the user interest. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the user interest. + optional string user_interest_parent = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. True if the user interest is launched to all channels and locales. + optional bool launched_to_all = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v12.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v12/resources/user_list.proto new file mode 100644 index 00000000..c93df256 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/user_list.proto @@ -0,0 +1,173 @@ +// 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.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"; + +// Proto file describing the User List resource. + +// A user list. This is a list of users a customer may target. +message UserList { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserList" + pattern: "customers/{customer_id}/userLists/{user_list_id}" + }; + + // Immutable. The resource name of the user list. + // User list resource names have the form: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An option that indicates if a user may edit a list. Depends on the list + // ownership and list type. For example, external remarketing user lists are + // not editable. + // + // This field is read-only. + optional bool read_only = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of this user list. Depending on its access_reason, the user list name + // may not be unique (for example, if access_reason=SHARED) + optional string name = 27; + + // Description of this user list. + optional string description = 28; + + // Membership status of this user list. Indicates whether a user list is open + // or active. Only open user lists can accumulate more users and can be + // targeted to. + google.ads.googleads.v12.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; + + // An ID from external system. It is used by user list sellers to correlate + // IDs on their systems. + optional string integration_code = 29; + + // Number of days a user's cookie stays on your list since its most recent + // addition to the list. This field must be between 0 and 540 inclusive. + // However, for CRM based userlists, this field can be set to 10000 which + // means no expiration. + // + // 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.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]; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.googleads.v12.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicating the reason why this user list membership status is closed. It is + // only populated on lists that were automatically closed due to inactivity, + // and will be cleared once the list membership status becomes open. + google.ads.googleads.v12.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; + + // Output only. Indicates the reason this account has been granted access to the list. + // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. + // + // This field is read-only. + google.ads.googleads.v12.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicates if this share is still enabled. When a UserList is shared with + // the user this field is set to ENABLED. Later the userList owner can decide + // to revoke the share and make it DISABLED. + // The default value of this field is set to ENABLED. + google.ads.googleads.v12.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; + + // Indicates if this user list is eligible for Google Search Network. + optional bool eligible_for_search = 33; + + // Output only. Indicates this user list is eligible for Google Display Network. + // + // This field is read-only. + optional bool eligible_for_display = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates match rate for Customer Match lists. The range of this field is + // [0-100]. This will be null for other list types or when it's not possible + // to calculate the match rate. + // + // This field is read-only. + optional int32 match_rate_percentage = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user list. + // + // Exactly one must be set. + oneof user_list { + // User list of CRM users provided by the advertiser. + google.ads.googleads.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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v12/resources/user_location_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/user_location_view.proto new file mode 100644 index 00000000..624056a5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/user_location_view.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/video.proto b/google-cloud/protos/google/ads/googleads/v12/resources/video.proto new file mode 100644 index 00000000..73e3a91d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/video.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/resources/webpage_view.proto b/google-cloud/protos/google/ads/googleads/v12/resources/webpage_view.proto new file mode 100644 index 00000000..82aaeeac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/resources/webpage_view.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v12.resources; + +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 = "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"; + +// 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/google-cloud/protos/google/ads/googleads/v12/services/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v12/services/BUILD.bazel new file mode 100644 index 00000000..358291a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/BUILD.bazel @@ -0,0 +1,138 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "services_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/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/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/google-cloud/protos/google/ads/googleads/v12/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/account_budget_proposal_service.proto new file mode 100644 index 00000000..38e67374 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/account_budget_proposal_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/account_budget_proposal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AccountBudgetProposal service. + +// A service for managing account-level budgets through proposals. +// +// A proposal is a request to create a new budget or make changes to an +// existing one. +// +// Mutates: +// The CREATE operation creates a new proposal. +// UPDATE operations aren't supported. +// The REMOVE operation cancels a pending proposal. +service AccountBudgetProposalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes account budget proposals. Operation statuses + // are returned. + // + // List of thrown errors: + // [AccountBudgetProposalError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/accountBudgetProposals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v12.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +message MutateAccountBudgetProposalRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual account-level budget proposal. + AccountBudgetProposalOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation to propose the creation of a new account-level budget or +// edit/end/remove an existing one. +message AccountBudgetProposalOperation { + // FieldMask that determines which budget fields are modified. While budgets + // may be modified, proposals that propose such modifications are final. + // Therefore, update operations are not supported for proposals. + // + // Proposals that modify budgets have the 'update' proposal type. Specifying + // a mask for any other proposal type is considered an error. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: A new proposal to create a new budget, edit an + // existing budget, end an actively running budget, or remove an approved + // budget scheduled to start in the future. + // No resource name is expected for the new proposal. + google.ads.googleads.v12.resources.AccountBudgetProposal create = 2; + + // Remove operation: A resource name for the removed proposal is expected, + // in this format: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + // A request may be cancelled iff it is pending. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; + } +} + +// Response message for account-level budget mutate operations. +message MutateAccountBudgetProposalResponse { + // The result of the mutate. + MutateAccountBudgetProposalResult result = 2; +} + +// The result for the account budget proposal mutate. +message MutateAccountBudgetProposalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/account_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/account_link_service.proto new file mode 100644 index 00000000..3bda47f9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/account_link_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/account_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// This service allows management of links between Google Ads accounts and other +// accounts. +service AccountLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an account link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ThirdPartyAppAnalyticsLinkError]() + rpc CreateAccountLink(CreateAccountLinkRequest) returns (CreateAccountLinkResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/accountLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,account_link"; + } + + // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Use + // AccountLinkService.CreateAccountLink instead. + // + // List of thrown errors: + // [AccountLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAccountLink(MutateAccountLinkRequest) returns (MutateAccountLinkResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/accountLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkRequest { + // Required. The ID of the customer for which the account link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account link to be created. + google.ads.googleads.v12.resources.AccountLink account_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v12.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkResponse { + // Returned for successful operations. Resource name of the account link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} + +// Request message for [AccountLinkService.MutateAccountLink][google.ads.googleads.v12.services.AccountLinkService.MutateAccountLink]. +message MutateAccountLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the link. + AccountLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single update on an account link. +message AccountLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The operation to perform. + oneof operation { + // Update operation: The account link is expected to have + // a valid resource name. + google.ads.googleads.v12.resources.AccountLink update = 2; + + // Remove operation: A resource name for the account link to remove is + // expected, in this format: + // + // `customers/{customer_id}/accountLinks/{account_link_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; + } +} + +// Response message for account link mutate. +message MutateAccountLinkResponse { + // Result for the mutate. + MutateAccountLinkResult result = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the account link mutate. +message MutateAccountLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_label_service.proto new file mode 100644 index 00000000..7611743a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_label_service.proto @@ -0,0 +1,120 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_ad_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Ad Group Ad Label service. + +// Service to manage labels on ad group ads. +service AdGroupAdLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group ad labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) returns (MutateAdGroupAdLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupAdLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v12.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +message MutateAdGroupAdLabelsRequest { + // Required. ID of the customer whose ad group ad labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group ad labels. + repeated AdGroupAdLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group ad label. +message AdGroupAdLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group ad + // label. + google.ads.googleads.v12.resources.AdGroupAdLabel create = 1; + + // Remove operation: A resource name for the ad group ad label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; + } +} + +// Response message for an ad group ad labels mutate. +message MutateAdGroupAdLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdLabelResult results = 2; +} + +// The result for an ad group ad label mutate. +message MutateAdGroupAdLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_service.proto new file mode 100644 index 00000000..f2d5acf5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_ad_service.proto @@ -0,0 +1,172 @@ +// 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.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"; +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.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"; + +// Proto file describing the Ad Group Ad service. + +// Service to manage ads in an ad group. +service AdGroupAdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ads. Operation statuses are returned. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyValidationParameterError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v12.services.AdGroupAdService.MutateAdGroupAds]. +message MutateAdGroupAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdGroupAdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group ad. +message AdGroupAdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // Configuration for how policies are validated. + google.ads.googleads.v12.common.PolicyValidationParameter policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad is expected, + // in this format: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + } +} + +// Response message for an ad group ad mutate. +message MutateAdGroupAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdGroupAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + }]; + + // The mutated ad group ad with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupAd ad_group_ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_service.proto new file mode 100644 index 00000000..a78fc0bf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AdGroupAsset service. + +// Service to manage ad group assets. +service AdGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAssets(MutateAdGroupAssetsRequest) returns (MutateAdGroupAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v12.services.AdGroupAssetService.MutateAdGroupAssets]. +message MutateAdGroupAssetsRequest { + // Required. The ID of the customer whose ad group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group assets. + repeated AdGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group asset. +message AdGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // asset. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad group asset is + // expected, in this format: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + } +} + +// Response message for an ad group asset mutate. +message MutateAdGroupAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateAdGroupAssetResult results = 2; +} + +// The result for the ad group asset mutate. +message MutateAdGroupAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + }]; + + // The mutated ad group asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupAsset ad_group_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_set_service.proto new file mode 100644 index 00000000..988447a5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_asset_set_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetSetServiceProto"; +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"; + +// 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: "/v12/customers/{customer_id=*}/adGroupAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAssetSetService.MutateAdGroupAssetSets][google.ads.googleads.v12.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.v12.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.v12.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.v12.resources.AdGroupAssetSet ad_group_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto new file mode 100644 index 00000000..0d1f74e1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.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"; +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.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"; + +// Proto file describing the Ad Group Bid Modifier service. + +// Service to manage ad group bid modifiers. +service AdGroupBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupBidModifierError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v12.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +message MutateAdGroupBidModifiersRequest { + // Required. ID of the customer whose ad group bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group bid modifiers. + repeated AdGroupBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group bid modifier. +message AdGroupBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group bid + // modifier. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad group bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + } +} + +// Response message for ad group bid modifiers mutate. +message MutateAdGroupBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + }]; + + // The mutated ad group bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupBidModifier ad_group_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 00000000..e0532734 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_customizer_service.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.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"; +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.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"; + +// Proto file describing the AdGroupCriterionCustomizer service. + +// Service to manage ad group criterion customizer +service AdGroupCriterionCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group criterion customizers. Operation + // statuses are returned. + rpc MutateAdGroupCriterionCustomizers(MutateAdGroupCriterionCustomizersRequest) returns (MutateAdGroupCriterionCustomizersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v12.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +message MutateAdGroupCriterionCustomizersRequest { + // Required. The ID of the customer whose ad group criterion customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group criterion + // customizers. + repeated AdGroupCriterionCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCriterionCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // criterion customizer. + google.ads.googleads.v12.resources.AdGroupCriterionCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group criterion + // customizer is expected, in this format: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + } +} + +// Response message for an ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCriterionCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group criterion customizer mutate. +message MutateAdGroupCriterionCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + }]; + + // The mutated AdGroupCriterionCustomizer with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto new file mode 100644 index 00000000..c3285ad9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_criterion_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Ad Group Criterion Label service. + +// Service to manage labels on ad group criteria. +service AdGroupCriterionLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group criterion labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) returns (MutateAdGroupCriterionLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v12.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +message MutateAdGroupCriterionLabelsRequest { + // Required. ID of the customer whose ad group criterion labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group criterion labels. + repeated AdGroupCriterionLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group criterion label. +message AdGroupCriterionLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v12.resources.AdGroupCriterionLabel create = 1; + + // Remove operation: A resource name for the ad group criterion label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; + } +} + +// Response message for an ad group criterion labels mutate. +message MutateAdGroupCriterionLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionLabelResult results = 2; +} + +// The result for an ad group criterion label mutate. +message MutateAdGroupCriterionLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_service.proto new file mode 100644 index 00000000..11907eac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_criterion_service.proto @@ -0,0 +1,171 @@ +// 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.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"; +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.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"; + +// Proto file describing the Ad Group Criterion service. + +// Service to manage ad group criteria. +service AdGroupCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupCriterionError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v12.services.AdGroupCriterionService.MutateAdGroupCriteria]. +message MutateAdGroupCriteriaRequest { + // Required. ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated AdGroupCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group criterion. +message AdGroupCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, refer to the is_exemptible field in the returned + // PolicyViolationError. + // + // Resources violating these polices will be saved, but will not be eligible + // to serve. They may begin serving at a later time due to a change in + // policies, re-review of the resource, or a change in advertiser + // certificates. + repeated google.ads.googleads.v12.common.PolicyViolationKey exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + } +} + +// Response message for an ad group criterion mutate. +message MutateAdGroupCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateAdGroupCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + }]; + + // The mutated ad group criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupCriterion ad_group_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_customizer_service.proto new file mode 100644 index 00000000..4098daca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AdGroupCustomizer service. + +// Service to manage ad group customizer +service AdGroupCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group customizers. Operation statuses are + // returned. + rpc MutateAdGroupCustomizers(MutateAdGroupCustomizersRequest) returns (MutateAdGroupCustomizersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v12.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +message MutateAdGroupCustomizersRequest { + // Required. The ID of the customer whose ad group customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group customizers. + repeated AdGroupCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // customizer + google.ads.googleads.v12.resources.AdGroupCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group customizer is + // expected, in this format: + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + } +} + +// Response message for an ad group customizer mutate. +message MutateAdGroupCustomizersResponse { + // All results for the mutate. + repeated MutateAdGroupCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the ad group customizer mutate. +message MutateAdGroupCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + }]; + + // The mutated AdGroupCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupCustomizer ad_group_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_extension_setting_service.proto new file mode 100644 index 00000000..0b6a1afc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_extension_setting_service.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.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"; +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.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"; + +// Proto file describing the AdGroupExtensionSetting service. + +// Service to manage ad group extension settings. +service AdGroupExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) returns (MutateAdGroupExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v12.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +message MutateAdGroupExtensionSettingsRequest { + // Required. The ID of the customer whose ad group extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group extension + // settings. + repeated AdGroupExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on an ad group extension setting. +message AdGroupExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad group extension + // setting is expected, in this format: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + } +} + +// Response message for an ad group extension setting mutate. +message MutateAdGroupExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupExtensionSettingResult results = 2; +} + +// The result for the ad group extension setting mutate. +message MutateAdGroupExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + }]; + + // The mutated AdGroupExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupExtensionSetting ad_group_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_feed_service.proto new file mode 100644 index 00000000..71c3e27a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AdGroupFeed service. + +// Service to manage ad group feeds. +service AdGroupFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad group feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdGroupFeedError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v12.services.AdGroupFeedService.MutateAdGroupFeeds]. +message MutateAdGroupFeedsRequest { + // Required. The ID of the customer whose ad group feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group feeds. + repeated AdGroupFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group feed. +message AdGroupFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group feed. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad group feed is + // expected, in this format: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + } +} + +// Response message for an ad group feed mutate. +message MutateAdGroupFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupFeedResult results = 2; +} + +// The result for the ad group feed mutate. +message MutateAdGroupFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + }]; + + // The mutated ad group feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroupFeed ad_group_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_label_service.proto new file mode 100644 index 00000000..f3ce0f89 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_label_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/ad_group_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Ad Group Label service. + +// Service to manage labels on ad groups. +service AdGroupLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes ad group labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) returns (MutateAdGroupLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroupLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v12.services.AdGroupLabelService.MutateAdGroupLabels]. +message MutateAdGroupLabelsRequest { + // Required. ID of the customer whose ad group labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group labels. + repeated AdGroupLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group label. +message AdGroupLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v12.resources.AdGroupLabel create = 1; + + // Remove operation: A resource name for the ad group label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; + } +} + +// Response message for an ad group labels mutate. +message MutateAdGroupLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupLabelResult results = 2; +} + +// The result for an ad group label mutate. +message MutateAdGroupLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_service.proto new file mode 100644 index 00000000..7bafa7ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_group_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Ad Group service. + +// Service to manage ad groups. +service AdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad groups. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v12.services.AdGroupService.MutateAdGroups]. +message MutateAdGroupsRequest { + // Required. The ID of the customer whose ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad groups. + repeated AdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group. +message AdGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed ad group is expected, + // in this format: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} + +// Response message for an ad group mutate. +message MutateAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdGroupResult results = 2; +} + +// The result for the ad group mutate. +message MutateAdGroupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + + // The mutated ad group with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdGroup ad_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_parameter_service.proto new file mode 100644 index 00000000..b6932ba2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_parameter_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/ad_parameter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Ad Parameter service. + +// Service to manage ad parameters. +service AdParameterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes ad parameters. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdParameterError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdParameters(MutateAdParametersRequest) returns (MutateAdParametersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/adParameters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v12.services.AdParameterService.MutateAdParameters] +message MutateAdParametersRequest { + // Required. The ID of the customer whose ad parameters are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad parameters. + repeated AdParameterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on ad parameter. +message AdParameterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad parameter. + google.ads.googleads.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; + + // Remove operation: A resource name for the ad parameter to remove is + // expected in this format: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + } +} + +// Response message for an ad parameter mutate. +message MutateAdParametersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdParameterResult results = 2; +} + +// The result for the ad parameter mutate. +message MutateAdParameterResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + }]; + + // The mutated AdParameter with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AdParameter ad_parameter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/ad_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/ad_service.proto new file mode 100644 index 00000000..1c1809f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/ad_service.proto @@ -0,0 +1,186 @@ +// 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.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"; +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.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"; + +// Proto file describing the Ad service. + +// Service to manage ads. +service AdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v12.resources.Ad) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/ads/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/ads:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdService.GetAd][google.ads.googleads.v12.services.AdService.GetAd]. +message GetAdRequest { + // Required. The resource name of the ad to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + } + ]; +} + +// Request message for [AdService.MutateAds][google.ads.googleads.v12.services.AdService.MutateAds]. +message MutateAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single update operation on an ad. +message AdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // Configuration for how policies are validated. + google.ads.googleads.v12.common.PolicyValidationParameter policy_validation_parameter = 3; + + // The mutate operation. + oneof operation { + // Update operation: The ad is expected to have a valid resource name + // in this format: + // + // `customers/{customer_id}/ads/{ad_id}` + google.ads.googleads.v12.resources.Ad update = 1; + } +} + +// Response message for an ad mutate. +message MutateAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAdResult results = 2; +} + +// The result for the ad mutate. +message MutateAdResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + }]; + + // The mutated ad with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.Ad ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/asset_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_asset_service.proto new file mode 100644 index 00000000..b6aea52e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_asset_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/asset_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AssetGroupAsset service. + +// Service to manage asset group asset. +service AssetGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group assets. Operation statuses are + // returned. + rpc MutateAssetGroupAssets(MutateAssetGroupAssetsRequest) returns (MutateAssetGroupAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assetGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v12.services.AssetGroupAssetService.MutateAssetGroupAssets]. +message MutateAssetGroupAssetsRequest { + // Required. The ID of the customer whose asset group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group assets. + repeated AssetGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group asset. +message AssetGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // asset. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 00000000..aa111106 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,120 @@ +// 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.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"; +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.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"; + +// Proto file describing the AssetGroupListingGroupFilter service. + +// Service to manage asset group listing group filter. +service AssetGroupListingGroupFilterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group listing group filters. Operation + // statuses are returned. + rpc MutateAssetGroupListingGroupFilters(MutateAssetGroupListingGroupFiltersRequest) returns (MutateAssetGroupListingGroupFiltersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v12.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +// partial_failure is not supported because the tree needs to be validated +// together. +message MutateAssetGroupListingGroupFiltersRequest { + // Required. The ID of the customer whose asset group listing group filters are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group listing group + // filters. + repeated AssetGroupListingGroupFilterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on an asset group listing group filter. +message AssetGroupListingGroupFilterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // listing group filter. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed asset group listing + // group filter is expected, in this format: + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + // An entity can be removed only if it's not referenced by other + // parent_listing_group_id. If multiple entities are being deleted, the + // mutates must be in the correct order. + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + } +} + +// Response message for an asset group listing group filter mutate. +message MutateAssetGroupListingGroupFiltersResponse { + // All results for the mutate. + repeated MutateAssetGroupListingGroupFilterResult results = 1; +} + +// The result for the asset group listing group filter mutate. +message MutateAssetGroupListingGroupFilterResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupListingGroupFilter" + }]; + + // The mutated AssetGroupListingGroupFilter with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/asset_group_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_service.proto new file mode 100644 index 00000000..f331010f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_service.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/asset_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AssetGroup service. + +// Service to manage asset group +service AssetGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset groups. Operation statuses are + // returned. + rpc MutateAssetGroups(MutateAssetGroupsRequest) returns (MutateAssetGroupsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assetGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupService.MutateAssetGroups][google.ads.googleads.v12.services.AssetGroupService.MutateAssetGroups]. +message MutateAssetGroupsRequest { + // Required. The ID of the customer whose asset groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset groups. + repeated AssetGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group. +message AssetGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/asset_group_signal_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_signal_service.proto new file mode 100644 index 00000000..33d302a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_group_signal_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.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"; + +// 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: "/v12/customers/{customer_id=*}/assetGroupSignals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupSignalService.MutateAssetGroupSignals][google.ads.googleads.v12.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.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v12.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.v12.resources.AssetGroupSignal asset_group_signal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_service.proto new file mode 100644 index 00000000..46267015 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Asset service. + +// Service to manage assets. Asset types can be created with AssetService are +// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be +// created with Ad inline. +service AssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates assets. Operation statuses are returned. + // + // List of thrown errors: + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [YoutubeVideoRegistrationError]() + rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetService.MutateAssets][google.ads.googleads.v12.services.AssetService.MutateAssets] +message MutateAssetsRequest { + // Required. The ID of the customer whose assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual assets. + repeated AssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation to create an asset. Supported asset types are +// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, and LeadFormAsset. TextAsset +// should be created with Ad inline. +message AssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset. + google.ads.googleads.v12.resources.Asset create = 1; + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` + google.ads.googleads.v12.resources.Asset update = 2; + } +} + +// Response message for an asset mutate. +message MutateAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateAssetResult results = 2; +} + +// The result for the asset mutate. +message MutateAssetResult { + // The resource name returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + }]; + + // The mutated asset with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.Asset asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/asset_set_asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_set_asset_service.proto new file mode 100644 index 00000000..4d8b0ca7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_set_asset_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_set_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AssetSetAsset service. + +// Service to manage asset set asset. +service AssetSetAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset set assets. Operation statuses are + // returned. + rpc MutateAssetSetAssets(MutateAssetSetAssetsRequest) returns (MutateAssetSetAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assetSetAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v12.services.AssetSetAssetService.MutateAssetSetAssets]. +message MutateAssetSetAssetsRequest { + // Required. The ID of the customer whose asset set assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset set assets. + repeated AssetSetAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set asset. +message AssetSetAssetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + // asset + google.ads.googleads.v12.resources.AssetSetAsset create = 1; + + // Remove operation: A resource name for the removed asset set asset is + // expected, in this format: + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + } +} + +// Response message for an asset set asset mutate. +message MutateAssetSetAssetsResponse { + // All results for the mutate. + repeated MutateAssetSetAssetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set asset mutate. +message MutateAssetSetAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + }]; + + // The mutated asset set asset with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AssetSetAsset asset_set_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/asset_set_service.proto new file mode 100644 index 00000000..2cba7da5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/asset_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the AssetSet service. + +// Service to manage asset set +service AssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset sets. Operation statuses are + // returned. + rpc MutateAssetSets(MutateAssetSetsRequest) returns (MutateAssetSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/assetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetService.MutateAssetSets][google.ads.googleads.v12.services.AssetSetService.MutateAssetSets]. +message MutateAssetSetsRequest { + // Required. The ID of the customer whose asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset sets. + repeated AssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set. +message AssetSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + google.ads.googleads.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; + + // Remove operation: A resource name for the removed asset set is + // expected, in this format: + // `customers/{customer_id}/assetSets/{asset_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + } +} + +// Response message for an asset set mutate. +message MutateAssetSetsResponse { + // All results for the mutate. + repeated MutateAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the asset set mutate. +message MutateAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + }]; + + // The mutated asset set with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.AssetSet asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/audience_insights_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/audience_insights_service.proto new file mode 100644 index 00000000..92c56233 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/audience_insights_service.proto @@ -0,0 +1,484 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AudienceInsightsServiceProto"; +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"; + +// 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. +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: "/v12/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: "/v12/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: "/v12/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: "/v12/customers/{customer_id=*}:generateAudienceCompositionInsights" + body: "*" + }; + option (google.api.method_signature) = "customer_id,audience,dimensions"; + } +} + +// Request message for [AudienceInsightsService.GenerateInsightsFinderReport][google.ads.googleads.v12.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.v12.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.v12.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 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.v12.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.v12.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.v12.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.v12.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension dimensions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A free text query. Attributes matching or related to this string will be + // 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.v12.common.LocationInfo location_country_filters = 5; +} + +// Response message for +// [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v12.services.AudienceInsightsService.ListAudienceInsightsAttributes]. +message ListAudienceInsightsAttributesResponse { + // The attributes matching the search query. + repeated AudienceInsightsAttributeMetadata attributes = 1; +} + +// Request message for [AudienceInsightsService.ListAudienceInsightsDates][]. +message ListInsightsEligibleDatesRequest { + +} + +// Response message for [AudienceInsightsService.ListAudienceInsightsDates][]. +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; +} + +// 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.v12.common.AgeRangeInfo age_range = 1; + + // An audience attribute defined by a gender. + google.ads.googleads.v12.common.GenderInfo gender = 2; + + // An audience attribute defined by a geographic location. + google.ads.googleads.v12.common.LocationInfo location = 3; + + // An Affinity or In-Market audience. + google.ads.googleads.v12.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.v12.common.ParentalStatusInfo parental_status = 8; + + // A household income percentile range. + google.ads.googleads.v12.common.IncomeRangeInfo income_range = 9; + + // A YouTube channel. + google.ads.googleads.v12.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.v12.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.v12.common.LocationInfo sub_country_locations = 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v12.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.v12.common.AgeRangeInfo age_ranges = 4; + + // User interests defining this audience. Affinity and In-Market audiences + // are supported. + repeated google.ads.googleads.v12.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.v12.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 { + // The national market associated with the lineup. + google.ads.googleads.v12.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; +} + +// Metadata associated with a Location attribute. +message LocationAttributeMetadata { + // The country location of the sub country location. + google.ads.googleads.v12.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.v12.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.v12.common.LocationInfo sub_country_locations = 2; + + // Gender for the audience. If absent, the audience does not restrict by + // gender. + google.ads.googleads.v12.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.v12.common.AgeRangeInfo age_ranges = 4; + + // Parental status for the audience. If absent, the audience does not + // restrict by parental status. + google.ads.googleads.v12.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.v12.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.v12.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/google-cloud/protos/google/ads/googleads/v12/services/audience_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/audience_service.proto new file mode 100644 index 00000000..7e024007 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/audience_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.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"; + +// 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: "/v12/customers/{customer_id=*}/audiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AudienceService.MutateAudiences][google.ads.googleads.v12.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.v12.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.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; + } +} + +// 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.v12.resources.Audience audience = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/batch_job_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/batch_job_service.proto new file mode 100644 index 00000000..9ad9381d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/batch_job_service.proto @@ -0,0 +1,269 @@ +// 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.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"; +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/rpc/status.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"; + +// Proto file describing the BatchJobService. + +// Service to manage batch jobs. +service BatchJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates a batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateBatchJob(MutateBatchJobRequest) returns (MutateBatchJobResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/batchJobs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns the results of the batch job. The job must be done. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListBatchJobResults(ListBatchJobResultsRequest) returns (ListBatchJobResultsResponse) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/batchJobs/*}:listResults" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Runs the batch job. + // + // The Operation.metadata field type is BatchJobMetadata. When finished, the + // long running operation will not contain errors or a response. Instead, use + // ListBatchJobResults to get the results of the job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RunBatchJob(RunBatchJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v12/{resource_name=customers/*/batchJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v12.resources.BatchJob.BatchJobMetadata" + }; + } + + // Add operations to the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc AddBatchJobOperations(AddBatchJobOperationsRequest) returns (AddBatchJobOperationsResponse) { + option (google.api.http) = { + post: "/v12/{resource_name=customers/*/batchJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v12.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobRequest { + // Required. The ID of the customer for which to create a batch job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual batch job. + BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a batch job. +message BatchJobOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new batch job. + google.ads.googleads.v12.resources.BatchJob create = 1; + + // Remove operation: The batch job must not have been run. A resource name + // for the removed batch job is expected, in this format: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string remove = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; + } +} + +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v12.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobResponse { + // The result for the mutate. + MutateBatchJobResult result = 1; +} + +// The result for the batch job mutate. +message MutateBatchJobResult { + // The resource name of the batch job. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + }]; +} + +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v12.services.BatchJobService.RunBatchJob]. +message RunBatchJobRequest { + // Required. The resource name of the BatchJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v12.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsRequest { + // Required. The resource name of the batch job. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // A token used to enforce sequencing. + // + // The first AddBatchJobOperations request for a batch job should not set + // sequence_token. Subsequent requests must set sequence_token to the value of + // next_sequence_token received in the previous AddBatchJobOperations + // response. + string sequence_token = 2; + + // Required. The list of mutates being added. + // + // Operations can use negative integers as temp ids to signify dependencies + // between entities created in this batch job. For example, a customer with + // id = 1234 can create a campaign and an ad group in that same campaign by + // creating a campaign in the first operation with the resource name + // explicitly set to "customers/1234/campaigns/-1", and creating an ad group + // in the second operation with the campaign field also set to + // "customers/1234/campaigns/-1". + repeated MutateOperation mutate_operations = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v12.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsResponse { + // The total number of operations added so far for this batch job. + int64 total_operations = 1; + + // The sequence token to be used when calling AddBatchJobOperations again if + // more operations need to be added. The next AddBatchJobOperations request + // must set the sequence_token field to the value of this field. + string next_sequence_token = 2; +} + +// Request message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v12.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsRequest { + // Required. The resource name of the batch job whose results are being listed. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// Response message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v12.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsResponse { + // The list of rows that matched the query. + repeated BatchJobResult results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// An individual batch job result. +message BatchJobResult { + // Index of the mutate operation. + int64 operation_index = 1; + + // Response for the mutate. + // May be empty if errors occurred. + MutateOperationResponse mutate_operation_response = 2; + + // Details of the errors when processing the operation. + google.rpc.Status status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/bidding_data_exclusion_service.proto new file mode 100644 index 00000000..d50f1eb2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/bidding_data_exclusion_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_data_exclusion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to manage bidding data exclusions. +service BiddingDataExclusionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes data exclusions. + // Operation statuses are returned. + rpc MutateBiddingDataExclusions(MutateBiddingDataExclusionsRequest) returns (MutateBiddingDataExclusionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/biddingDataExclusions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v12.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +message MutateBiddingDataExclusionsRequest { + // Required. ID of the customer whose data exclusions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual data exclusions. + repeated BiddingDataExclusionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a data exclusion. +message BiddingDataExclusionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new data + // exclusion. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed data exclusion + // is expected, in this format: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + } +} + +// Response message for data exlusions mutate. +message MutateBiddingDataExclusionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingDataExclusionsResult results = 2; +} + +// The result for the data exclusion mutate. +message MutateBiddingDataExclusionsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + }]; + + // The mutated bidding data exclusion with only mutable fields after mutate. + // The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.BiddingDataExclusion bidding_data_exclusion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 00000000..cf023c25 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/bidding_seasonality_adjustment_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_seasonality_adjustment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to manage bidding seasonality adjustments. +service BiddingSeasonalityAdjustmentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes seasonality adjustments. + // Operation statuses are returned. + rpc MutateBiddingSeasonalityAdjustments(MutateBiddingSeasonalityAdjustmentsRequest) returns (MutateBiddingSeasonalityAdjustmentsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v12.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +message MutateBiddingSeasonalityAdjustmentsRequest { + // Required. ID of the customer whose seasonality adjustments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual seasonality adjustments. + repeated BiddingSeasonalityAdjustmentOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a seasonality adjustment. +message BiddingSeasonalityAdjustmentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new seasonality + // adjustment. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed seasonality adjustment + // is expected, in this format: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + } +} + +// Response message for seasonality adjustments mutate. +message MutateBiddingSeasonalityAdjustmentsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingSeasonalityAdjustmentsResult results = 2; +} + +// The result for the seasonality adjustment mutate. +message MutateBiddingSeasonalityAdjustmentsResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + }]; + + // The mutated bidding seasonality adjustment with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/bidding_strategy_service.proto new file mode 100644 index 00000000..f24a6c9f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/bidding_strategy_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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/bidding_strategy.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Bidding Strategy service. + +// Service to manage bidding strategies. +service BiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes bidding strategies. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/biddingStrategies:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v12.services.BiddingStrategyService.MutateBiddingStrategies]. +message MutateBiddingStrategiesRequest { + // Required. The ID of the customer whose bidding strategies are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual bidding strategies. + repeated BiddingStrategyOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a bidding strategy. +message BiddingStrategyOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new bidding + // strategy. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed bidding strategy is + // expected, in this format: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + } +} + +// Response message for bidding strategy mutate. +message MutateBiddingStrategiesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateBiddingStrategyResult results = 2; +} + +// The result for the bidding strategy mutate. +message MutateBiddingStrategyResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + }]; + + // The mutated bidding strategy with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.BiddingStrategy bidding_strategy = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/billing_setup_service.proto new file mode 100644 index 00000000..ec74f432 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/billing_setup_service.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/billing_setup.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the BillingSetup service. + +// A service for designating the business entity responsible for accrued costs. +// +// A billing setup is associated with a payments account. Billing-related +// activity for all billing setups associated with a particular payments account +// will appear on a single invoice generated monthly. +// +// Mutates: +// The REMOVE operation cancels a pending billing setup. +// The CREATE operation creates a new billing setup. +service BillingSetupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates a billing setup, or cancels an existing billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BillingSetupError]() + // [DateError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/billingSetups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for billing setup mutate operations. +message MutateBillingSetupRequest { + // Required. Id of the customer to apply the billing setup mutate operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform. + BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a billing setup, which describes the cancellation of an +// existing billing setup. +message BillingSetupOperation { + // Only one of these operations can be set. "Update" operations are not + // supported. + oneof operation { + // Creates a billing setup. No resource name is expected for the new billing + // setup. + google.ads.googleads.v12.resources.BillingSetup create = 2; + + // Resource name of the billing setup to remove. A setup cannot be + // removed unless it is in a pending state or its scheduled start time is in + // the future. The resource name looks like + // `customers/{customer_id}/billingSetups/{billing_id}`. + string remove = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; + } +} + +// Response message for a billing setup operation. +message MutateBillingSetupResponse { + // A result that identifies the resource affected by the mutate request. + MutateBillingSetupResult result = 1; +} + +// Result for a single billing setup mutate. +message MutateBillingSetupResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_service.proto new file mode 100644 index 00000000..10e723c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_service.proto @@ -0,0 +1,140 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignAsset service. + +// Service to manage campaign assets. +service CampaignAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignAssets(MutateCampaignAssetsRequest) returns (MutateCampaignAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v12.services.CampaignAssetService.MutateCampaignAssets]. +message MutateCampaignAssetsRequest { + // Required. The ID of the customer whose campaign assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign assets. + repeated CampaignAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign asset. +message CampaignAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // asset. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed campaign asset is + // expected, in this format: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + } +} + +// Response message for a campaign asset mutate. +message MutateCampaignAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCampaignAssetResult results = 2; +} + +// The result for the campaign asset mutate. +message MutateCampaignAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + }]; + + // The mutated campaign asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignAsset campaign_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_set_service.proto new file mode 100644 index 00000000..84262367 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_asset_set_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignAssetSet service. + +// Service to manage campaign asset set +service CampaignAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign asset sets. Operation statuses are + // returned. + rpc MutateCampaignAssetSets(MutateCampaignAssetSetsRequest) returns (MutateCampaignAssetSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v12.services.CampaignAssetSetService.MutateCampaignAssetSets]. +message MutateCampaignAssetSetsRequest { + // Required. The ID of the customer whose campaign asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign asset sets. + repeated CampaignAssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a campaign asset set. +message CampaignAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign asset + // set. + google.ads.googleads.v12.resources.CampaignAssetSet create = 1; + + // Remove operation: A resource name for the removed campaign asset set is + // expected, in this format: + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + } +} + +// Response message for a campaign asset set mutate. +message MutateCampaignAssetSetsResponse { + // All results for the mutate. + repeated MutateCampaignAssetSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign asset set mutate. +message MutateCampaignAssetSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + }]; + + // The mutated campaign asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignAssetSet campaign_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto new file mode 100644 index 00000000..b2d341c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_bid_modifier_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign Bid Modifier service. + +// Service to manage campaign bid modifiers. +service CampaignBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v12.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +message MutateCampaignBidModifiersRequest { + // Required. ID of the customer whose campaign bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign bid modifiers. + repeated CampaignBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a campaign bid modifier. +message CampaignBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign bid + // modifier. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed campaign bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + } +} + +// Response message for campaign bid modifiers mutate. +message MutateCampaignBidModifiersResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBidModifierResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignBidModifierResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + }]; + + // The mutated campaign bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignBidModifier campaign_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_budget_service.proto new file mode 100644 index 00000000..e6301118 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_budget_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_budget.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign Budget service. + +// Service to manage campaign budgets. +service CampaignBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign budgets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignBudgetError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignBudgets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v12.services.CampaignBudgetService.MutateCampaignBudgets]. +message MutateCampaignBudgetsRequest { + // Required. The ID of the customer whose campaign budgets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign budgets. + repeated CampaignBudgetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign budget. +message CampaignBudgetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new budget. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed budget is expected, in + // this format: + // + // `customers/{customer_id}/campaignBudgets/{budget_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + } +} + +// Response message for campaign budget mutate. +message MutateCampaignBudgetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignBudgetResult results = 2; +} + +// The result for the campaign budget mutate. +message MutateCampaignBudgetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + }]; + + // The mutated campaign budget with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignBudget campaign_budget = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto new file mode 100644 index 00000000..355ec7d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/campaign_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignConversionGoal service. + +// Service to manage campaign conversion goal. +service CampaignConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign conversion goals. Operation statuses + // are returned. + rpc MutateCampaignConversionGoals(MutateCampaignConversionGoalsRequest) returns (MutateCampaignConversionGoalsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v12.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +message MutateCampaignConversionGoalsRequest { + // Required. The ID of the customer whose campaign conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign conversion goal. + repeated CampaignConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a campaign conversion goal. +message CampaignConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.CampaignConversionGoal update = 1; + } +} + +// Response message for a campaign conversion goal mutate. +message MutateCampaignConversionGoalsResponse { + // All results for the mutate. + repeated MutateCampaignConversionGoalResult results = 1; +} + +// The result for the campaign conversion goal mutate. +message MutateCampaignConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_criterion_service.proto new file mode 100644 index 00000000..16f7683b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_criterion_service.proto @@ -0,0 +1,155 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign Criterion service. + +// Service to manage campaign criteria. +service CampaignCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignCriterionError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v12.services.CampaignCriterionService.MutateCampaignCriteria]. +message MutateCampaignCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CampaignCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign criterion. +message CampaignCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + } +} + +// Response message for campaign criterion mutate. +message MutateCampaignCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignCriterionResult results = 2; +} + +// The result for the criterion mutate. +message MutateCampaignCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + }]; + + // The mutated campaign criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignCriterion campaign_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_customizer_service.proto new file mode 100644 index 00000000..f2ba5e85 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignCustomizer service. + +// Service to manage campaign customizer +service CampaignCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign customizers. Operation statuses are + // returned. + rpc MutateCampaignCustomizers(MutateCampaignCustomizersRequest) returns (MutateCampaignCustomizersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v12.services.CampaignCustomizerService.MutateCampaignCustomizers]. +message MutateCampaignCustomizersRequest { + // Required. The ID of the customer whose campaign customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign customizers. + repeated CampaignCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CampaignCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // customizer + google.ads.googleads.v12.resources.CampaignCustomizer create = 1; + + // Remove operation: A resource name for the removed campaign customizer is + // expected, in this format: + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + } +} + +// Response message for an campaign customizer mutate. +message MutateCampaignCustomizersResponse { + // All results for the mutate. + repeated MutateCampaignCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the campaign customizer mutate. +message MutateCampaignCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + }]; + + // The mutated CampaignCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignCustomizer campaign_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_draft_service.proto new file mode 100644 index 00000000..140cb179 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_draft_service.proto @@ -0,0 +1,236 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_draft.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.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"; + +// Proto file describing the Campaign Draft service. + +// Service to manage campaign drafts. +service CampaignDraftService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign drafts. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignDrafts:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Promotes the changes in a draft back to the base campaign. + // + // This method returns a Long Running Operation (LRO) indicating if the + // Promote is done. Use [Operations.GetOperation] to poll the LRO until it + // is done. Only a done status is returned in the response. See the status + // in the Campaign Draft resource to determine if the promotion was + // successful. If the LRO failed, use + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of + // error reasons. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v12/{campaign_draft=customers/*/campaignDrafts/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_draft"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Returns all errors that occurred during CampaignDraft promote. Throws an + // error if called before campaign draft is promoted. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v12.services.CampaignDraftService.MutateCampaignDrafts]. +message MutateCampaignDraftsRequest { + // Required. The ID of the customer whose campaign drafts are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign drafts. + repeated CampaignDraftOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v12.services.CampaignDraftService.PromoteCampaignDraft]. +message PromoteCampaignDraftRequest { + // Required. The resource name of the campaign draft to promote. + string campaign_draft = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// A single operation (create, update, remove) on a campaign draft. +message CampaignDraftOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // draft. + google.ads.googleads.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; + + // Remove operation: The campaign draft is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + } +} + +// Response message for campaign draft mutate. +message MutateCampaignDraftsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignDraftResult results = 2; +} + +// The result for the campaign draft mutate. +message MutateCampaignDraftResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + }]; + + // The mutated campaign draft with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsRequest { + // Required. The name of the campaign draft from which to retrieve the async errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v12.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsResponse { + // Details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_extension_setting_service.proto new file mode 100644 index 00000000..f7032b8c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_extension_setting_service.proto @@ -0,0 +1,158 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignExtensionSetting service. + +// Service to manage campaign extension settings. +service CampaignExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) returns (MutateCampaignExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v12.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +message MutateCampaignExtensionSettingsRequest { + // Required. The ID of the customer whose campaign extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign extension + // settings. + repeated CampaignExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign extension setting. +message CampaignExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // extension setting. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed campaign extension + // setting is expected, in this format: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + } +} + +// Response message for a campaign extension setting mutate. +message MutateCampaignExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignExtensionSettingResult results = 2; +} + +// The result for the campaign extension setting mutate. +message MutateCampaignExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + }]; + + // The mutated campaign extension setting with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignExtensionSetting campaign_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_feed_service.proto new file mode 100644 index 00000000..8aa4186e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CampaignFeed service. + +// Service to manage campaign feeds. +service CampaignFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaign feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignFeedError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v12.services.CampaignFeedService.MutateCampaignFeeds]. +message MutateCampaignFeedsRequest { + // Required. The ID of the customer whose campaign feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign feeds. + repeated CampaignFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign feed. +message CampaignFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign feed. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed campaign feed is + // expected, in this format: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + } +} + +// Response message for a campaign feed mutate. +message MutateCampaignFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignFeedResult results = 2; +} + +// The result for the campaign feed mutate. +message MutateCampaignFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + }]; + + // The mutated campaign feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignFeed campaign_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_group_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_group_service.proto new file mode 100644 index 00000000..30e29459 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_group_service.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.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"; + +// 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: "/v12/customers/{customer_id=*}/campaignGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v12.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.v12.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.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; + + // 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.v12.resources.CampaignGroup campaign_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_label_service.proto new file mode 100644 index 00000000..1a3598b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_label_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/campaign_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign Label service. + +// Service to manage labels on campaigns. +service CampaignLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes campaign-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignLabels(MutateCampaignLabelsRequest) returns (MutateCampaignLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v12.services.CampaignLabelService.MutateCampaignLabels]. +message MutateCampaignLabelsRequest { + // Required. ID of the customer whose campaign-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on campaign-label relationships. + repeated CampaignLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a campaign-label relationship. +message CampaignLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign-label + // relationship. + google.ads.googleads.v12.resources.CampaignLabel create = 1; + + // Remove operation: A resource name for the campaign-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; + } +} + +// Response message for a campaign labels mutate. +message MutateCampaignLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignLabelResult results = 2; +} + +// The result for a campaign label mutate. +message MutateCampaignLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_service.proto new file mode 100644 index 00000000..c65f1848 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign service. + +// Service to manage campaigns. +service CampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes campaigns. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CampaignBudgetError]() + // [CampaignError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v12.services.CampaignService.MutateCampaigns]. +message MutateCampaignsRequest { + // Required. The ID of the customer whose campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaigns. + repeated CampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign. +message CampaignOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed campaign is + // expected, in this format: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + } +} + +// Response message for campaign mutate. +message MutateCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignResult results = 2; +} + +// The result for the campaign mutate. +message MutateCampaignResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The mutated campaign with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.Campaign campaign = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/campaign_shared_set_service.proto new file mode 100644 index 00000000..e1a441fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/campaign_shared_set_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/campaign_shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Campaign Shared Set service. + +// Service to manage campaign shared sets. +service CampaignSharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes campaign shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignSharedSetError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/campaignSharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v12.services.CampaignSharedSetService.MutateCampaignSharedSets]. +message MutateCampaignSharedSetsRequest { + // Required. The ID of the customer whose campaign shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign shared sets. + repeated CampaignSharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an campaign shared set. +message CampaignSharedSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // shared set. + google.ads.googleads.v12.resources.CampaignSharedSet create = 1; + + // Remove operation: A resource name for the removed campaign shared set is + // expected, in this format: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + } +} + +// Response message for a campaign shared set mutate. +message MutateCampaignSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCampaignSharedSetResult results = 2; +} + +// The result for the campaign shared set mutate. +message MutateCampaignSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + }]; + + // The mutated campaign shared set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CampaignSharedSet campaign_shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_action_service.proto new file mode 100644 index 00000000..5f53abb2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_action_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Conversion Action service. + +// Service to manage conversion actions. +service ConversionActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion actions. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/conversionActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsRequest { + // Required. The ID of the customer whose conversion actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion actions. + repeated ConversionActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a conversion action. +message ConversionActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // action. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed conversion action is + // expected, in this format: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } +} + +// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v12.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateConversionActionResult results = 2; +} + +// The result for the conversion action mutate. +message MutateConversionActionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The mutated conversion action with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ConversionAction conversion_action = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto new file mode 100644 index 00000000..dfe8c247 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/enums/conversion_adjustment_type.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to upload conversion adjustments. +service ConversionAdjustmentUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given conversion adjustments. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) returns (UploadConversionAdjustmentsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:uploadConversionAdjustments" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversion adjustments that are being uploaded. + repeated ConversionAdjustment conversion_adjustments = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried out + // in one transaction if and only if they are all valid. This should always be + // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v12.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsResponse { + // Errors that pertain to conversion adjustment failures in the partial + // failure mode. Returned when all errors occur inside the adjustments. If any + // errors occur outside the adjustments (for example, auth errors), we return + // an RPC level error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversion adjustments. Proto will be + // empty for rows that received an error. Results are not returned when + // validate_only is true. + repeated ConversionAdjustmentResult results = 2; +} + +// A conversion adjustment. +message ConversionAdjustment { + // For adjustments, uniquely identifies a conversion that was reported + // without an order ID specified. If the adjustment_type is ENHANCEMENT, this + // value is optional but may be set in addition to the order_id. + GclidDateTimePair gclid_date_time_pair = 12; + + // The order ID of the conversion to be adjusted. If the conversion was + // reported with an order ID specified, that order ID must be used as the + // identifier here. The order ID is required for enhancements. + optional string order_id = 13; + + // Resource name of the conversion action associated with this conversion + // adjustment. Note: Although this resource name consists of a customer id and + // a conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 8; + + // The date time at which the adjustment occurred. Must be after the + // conversion_date_time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 9; + + // The adjustment type. + google.ads.googleads.v12.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; + + // Information needed to restate the conversion's value. + // Required for restatements. Should not be supplied for retractions. An error + // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + RestatementValue restatement_value = 6; + + // The user identifiers to enhance the original conversion. + // ConversionAdjustmentUploadService only accepts user identifiers in + // enhancements. The maximum number of user identifiers for each + // enhancement is 5. + repeated google.ads.googleads.v12.common.UserIdentifier user_identifiers = 10; + + // The user agent to enhance the original conversion. This can be found in + // your user's HTTP request header when they convert on your web page. + // Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User + // agent can only be specified in enhancements with user identifiers. This + // should match the user agent of the request that sent the original + // conversion so the conversion and its enhancement are either both attributed + // as same-device or both attributed as cross-device. + optional string user_agent = 11; +} + +// Contains information needed to restate a conversion's value. +message RestatementValue { + // The restated conversion value. This is the value of the conversion after + // restatement. For example, to change the value of a conversion from 100 to + // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + optional double adjusted_value = 3; + + // The currency of the restated value. If not provided, then the default + // currency from the conversion action is used, and if that is not set then + // the account currency is used. This is the ISO 4217 3-character currency + // code for example, USD or EUR. + optional string currency_code = 4; +} + +// Uniquely identifies a conversion that was reported without an order ID +// specified. +message GclidDateTimePair { + // Google click ID (gclid) associated with the original conversion for this + // adjustment. + optional string gclid = 3; + + // The date time at which the original conversion for this adjustment + // occurred. The timezone must be specified. The format is "yyyy-mm-dd + // hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 4; +} + +// Information identifying a successfully processed ConversionAdjustment. +message ConversionAdjustmentResult { + // The gclid and conversion date time of the conversion. + GclidDateTimePair gclid_date_time_pair = 9; + + // The order ID of the conversion to be adjusted. + string order_id = 10; + + // Resource name of the conversion action associated with this conversion + // adjustment. + optional string conversion_action = 7; + + // The date time at which the adjustment occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 8; + + // The adjustment type. + google.ads.googleads.v12.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_custom_variable_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_custom_variable_service.proto new file mode 100644 index 00000000..0017703f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_custom_variable_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_custom_variable.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Conversion Custom Variable service. + +// Service to manage conversion custom variables. +service ConversionCustomVariableService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates conversion custom variables. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionCustomVariableError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateConversionCustomVariables(MutateConversionCustomVariablesRequest) returns (MutateConversionCustomVariablesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/conversionCustomVariables:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesRequest { + // Required. The ID of the customer whose conversion custom variables are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion custom + // variables. + repeated ConversionCustomVariableOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update) on a conversion custom variable. +message ConversionCustomVariableOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // custom variable. + google.ads.googleads.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; + } +} + +// Response message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v12.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateConversionCustomVariableResult results = 2; +} + +// The result for the conversion custom variable mutate. +message MutateConversionCustomVariableResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The mutated conversion custom variable with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ConversionCustomVariable conversion_custom_variable = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 00000000..ac3b112c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,103 @@ +// 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.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"; +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.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"; + +// Proto file describing the ConversionGoalCampaignConfig service. + +// Service to manage conversion goal campaign config. +service ConversionGoalCampaignConfigService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion goal campaign config. Operation + // statuses are returned. + rpc MutateConversionGoalCampaignConfigs(MutateConversionGoalCampaignConfigsRequest) returns (MutateConversionGoalCampaignConfigsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfig][]. +message MutateConversionGoalCampaignConfigsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion goal campaign + // config. + repeated ConversionGoalCampaignConfigOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (update) on a conversion goal campaign config. +message ConversionGoalCampaignConfigOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The conversion goal campaign config is expected to have + // a valid resource name. + google.ads.googleads.v12.resources.ConversionGoalCampaignConfig update = 1; + } +} + +// Response message for a conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigsResponse { + // All results for the mutate. + repeated MutateConversionGoalCampaignConfigResult results = 1; +} + +// The result for the conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + }]; + + // The mutated ConversionGoalCampaignConfig with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_upload_service.proto new file mode 100644 index 00000000..3c6b4c22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_upload_service.proto @@ -0,0 +1,367 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/ads/googleads/v12/enums/conversion_environment_enum.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to upload conversions. +service ConversionUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given click conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionUploadError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadClickConversions(UploadClickConversionsRequest) returns (UploadClickConversionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:uploadClickConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } + + // Processes the given call conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadCallConversions(UploadCallConversionsRequest) returns (UploadCallConversionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:uploadCallConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } +} + +// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated ClickConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // If true, the API will perform all upload checks and return errors if + // any are found. If false, it will perform only basic input validation, + // skip subsequent upload checks, and return success even if no click + // was found for the provided `user_identifiers`. + // + // This setting only affects Enhanced conversions for leads uploads that use + // `user_identifiers` instead of `GCLID`, `GBRAID`, or `WBRAID`. When + // uploading enhanced conversions for leads, you should upload all conversion + // events to the API, including those that may not come from Google Ads + // campaigns. The upload of an event that is not from a Google Ads campaign + // will result in a `CLICK_NOT_FOUND` error if this field is set to `true`. + // Since these errors are expected for such events, set this field to `false` + // so you can confirm your uploads are properly formatted but ignore + // `CLICK_NOT_FOUND` errors from all of the conversions that are not from a + // Google Ads campaign. This will allow you to focus only on errors that you + // can address. + // + // Default is false. + bool debug_enabled = 5; +} + +// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated ClickConversionResult results = 2; +} + +// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated CallConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v12.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (for example, auth errors), we return an RPC level + // error. See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + google.rpc.Status partial_failure_error = 1; + + // Returned for successfully processed conversions. Proto will be empty for + // rows that received an error. Results are not returned when validate_only is + // true. + repeated CallConversionResult results = 2; +} + +// A click conversion. +message ClickConversion { + // The Google click ID (gclid) associated with this conversion. + optional string gclid = 9; + + // The click identifier for clicks associated with app conversions and + // originating from iOS devices starting with iOS14. + string gbraid = 18; + + // The click identifier for clicks associated with web conversions and + // originating from iOS devices starting with iOS14. + string wbraid = 19; + + // Resource name of the conversion action associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion action id, validation will ignore the customer id and use the + // conversion action id as the sole identifier of the conversion action. + optional string conversion_action = 10; + + // The date time at which the conversion occurred. Must be after + // the click time. The timezone must be specified. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 11; + + // The value of the conversion for the advertiser. + optional double conversion_value = 12; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 13; + + // The order ID associated with the conversion. An order id can only be used + // for one conversion per conversion action. + optional string order_id = 14; + + // Additional data about externally attributed conversions. This field + // is required for conversions with an externally attributed conversion + // action, but should not be set otherwise. + ExternalAttributionData external_attribution_data = 7; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 15; + + // The cart data associated with this conversion. + CartData cart_data = 16; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.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; +} + +// 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. + repeated google.ads.googleads.v12.common.UserIdentifier user_identifiers = 7; +} + +// Identifying information for a successfully processed CallConversionUpload. +message CallConversionResult { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign. + optional string caller_id = 5; + + // The date time at which the call occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string call_start_date_time = 6; + + // Resource name of the conversion action associated with this conversion. + optional string conversion_action = 7; + + // The date time at which the conversion occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + optional string conversion_date_time = 8; +} + +// A custom variable. +message CustomVariable { + // Resource name of the custom variable associated with this conversion. + // Note: Although this resource name consists of a customer id and a + // conversion custom variable id, validation will ignore the customer id and + // use the conversion custom variable id as the sole identifier of the + // conversion custom variable. + string conversion_custom_variable = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + }]; + + // The value string of this custom variable. + // The value of the custom variable should not contain private customer data, + // such as email addresses or phone numbers. + string value = 2; +} + +// Contains additional information about cart data. +message CartData { + // Contains data of the items purchased. + message Item { + // The shopping id of the item. Must be equal to the Merchant Center product + // identifier. + string product_id = 1; + + // Number of items sold. + int32 quantity = 2; + + // Unit price excluding tax, shipping, and any transaction + // level discounts. The currency code is the same as that in the + // ClickConversion message. + double unit_price = 3; + } + + // The Merchant Center ID where the items are uploaded. + int64 merchant_id = 6; + + // The country code associated with the feed where the items are uploaded. + string feed_country_code = 2; + + // The language code associated with the feed where the items are uploaded. + string feed_language_code = 3; + + // Sum of all transaction level discounts, such as free shipping and + // coupon discounts for the whole cart. The currency code is the same + // as that in the ClickConversion message. + double local_transaction_cost = 4; + + // Data of the items purchased. + repeated Item items = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_service.proto new file mode 100644 index 00000000..52780c59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/conversion_value_rule.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Conversion Value Rule service. + +// Service to manage conversion value rules. +service ConversionValueRuleService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes conversion value rules. Operation statuses are + // returned. + rpc MutateConversionValueRules(MutateConversionValueRulesRequest) returns (MutateConversionValueRulesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/conversionValueRules:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesRequest { + // Required. The ID of the customer whose conversion value rules are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rules. + repeated ConversionValueRuleOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule. +message ConversionValueRuleOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed conversion value rule + // is expected, in this format: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + } +} + +// Response message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v12.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesResponse { + // All results for the mutate. + repeated MutateConversionValueRuleResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; +} + +// The result for the conversion value rule mutate. +message MutateConversionValueRuleResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // The mutated conversion value rule with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ConversionValueRule conversion_value_rule = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto new file mode 100644 index 00000000..80f61519 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/conversion_value_rule_set_service.proto @@ -0,0 +1,128 @@ +// 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.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"; +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.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"; + +// Proto file describing the Conversion Value Rule Set service. + +// Service to manage conversion value rule sets. +service ConversionValueRuleSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion value rule sets. Operation statuses + // are returned. + rpc MutateConversionValueRuleSets(MutateConversionValueRuleSetsRequest) returns (MutateConversionValueRuleSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/conversionValueRuleSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsRequest { + // Required. The ID of the customer whose conversion value rule sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rule sets. + repeated ConversionValueRuleSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule set. +message ConversionValueRuleSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule set. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed conversion value rule + // set is expected, in this format: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + } +} + +// Response message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v12.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsResponse { + // All results for the mutate. + repeated MutateConversionValueRuleSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the conversion value rule set mutate. +message MutateConversionValueRuleSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + }]; + + // The mutated conversion value rule set with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ConversionValueRuleSet conversion_value_rule_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/custom_audience_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/custom_audience_service.proto new file mode 100644 index 00000000..a062eeaa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/custom_audience_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/custom_audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Custom Audience service. + +// Service to manage custom audiences. +service CustomAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomAudienceError]() + // [CustomInterestError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OperationAccessDeniedError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomAudiences(MutateCustomAudiencesRequest) returns (MutateCustomAudiencesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customAudiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v12.services.CustomAudienceService.MutateCustomAudiences]. +message MutateCustomAudiencesRequest { + // Required. The ID of the customer whose custom audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom audiences. + repeated CustomAudienceOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a custom audience. +message CustomAudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // audience. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/custom_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/custom_conversion_goal_service.proto new file mode 100644 index 00000000..9772b250 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/custom_conversion_goal_service.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/custom_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomConversionGoal service. + +// Service to manage custom conversion goal. +service CustomConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes custom conversion goals. Operation statuses + // are returned. + rpc MutateCustomConversionGoals(MutateCustomConversionGoalsRequest) returns (MutateCustomConversionGoalsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v12.services.CustomConversionGoalService.MutateCustomConversionGoals]. +message MutateCustomConversionGoalsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom conversion goal. + repeated CustomConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on a custom conversion goal. +message CustomConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // conversion goal + google.ads.googleads.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; + + // Remove operation: A resource name for the removed custom conversion goal + // is expected, in this format: + // + // 'customers/{customer_id}/conversionActions/{ConversionGoal.custom_goal_config.conversion_type_ids}' + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + } +} + +// Response message for a custom conversion goal mutate. +message MutateCustomConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomConversionGoalResult results = 1; +} + +// The result for the custom conversion goal mutate. +message MutateCustomConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; + + // The mutated CustomConversionGoal with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomConversionGoal custom_conversion_goal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/custom_interest_service.proto new file mode 100644 index 00000000..686e58ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/custom_interest_service.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/custom_interest.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Custom Interest service. + +// Service to manage custom interests. +service CustomInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates custom interests. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [CustomInterestError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateCustomInterests(MutateCustomInterestsRequest) returns (MutateCustomInterestsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customInterests:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v12.services.CustomInterestService.MutateCustomInterests]. +message MutateCustomInterestsRequest { + // Required. The ID of the customer whose custom interests are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom interests. + repeated CustomInterestOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a custom interest. +message CustomInterestOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // interest. + google.ads.googleads.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; + } +} + +// 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/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_service.proto new file mode 100644 index 00000000..c00bf60d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_service.proto @@ -0,0 +1,137 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerAsset service. + +// Service to manage customer assets. +service CustomerAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerAssets(MutateCustomerAssetsRequest) returns (MutateCustomerAssetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v12.services.CustomerAssetService.MutateCustomerAssets]. +message MutateCustomerAssetsRequest { + // Required. The ID of the customer whose customer assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer assets. + repeated CustomerAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer asset. +message CustomerAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // asset. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed customer asset is + // expected, in this format: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + } +} + +// Response message for a customer asset mutate. +message MutateCustomerAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // All results for the mutate. + repeated MutateCustomerAssetResult results = 2; +} + +// The result for the customer asset mutate. +message MutateCustomerAssetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + }]; + + // The mutated customer asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomerAsset customer_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_set_service.proto new file mode 100644 index 00000000..8afb43f0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_asset_set_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetSetServiceProto"; +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"; + +// 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: "/v12/customers/{customer_id=*}/customerAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerAssetSetService.MutateCustomerAssetSets][google.ads.googleads.v12.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.v12.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.v12.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.v12.resources.CustomerAssetSet customer_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_client_link_service.proto new file mode 100644 index 00000000..1eac2d10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_client_link_service.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_client_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to manage customer client links. +service CustomerClientLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates a customer client link. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) returns (MutateCustomerClientLinkResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerClientLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v12.services.CustomerClientLinkService.MutateCustomerClientLink]. +message MutateCustomerClientLinkRequest { + // Required. The ID of the customer whose customer link are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the individual CustomerClientLink. + CustomerClientLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a CustomerClientLink. +message CustomerClientLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new link. + google.ads.googleads.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; + } +} + +// 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/google-cloud/protos/google/ads/googleads/v12/services/customer_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_conversion_goal_service.proto new file mode 100644 index 00000000..790085ab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_conversion_goal_service.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerConversionGoal service. + +// Service to manage customer conversion goal. +service CustomerConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer conversion goals. Operation statuses + // are returned. + rpc MutateCustomerConversionGoals(MutateCustomerConversionGoalsRequest) returns (MutateCustomerConversionGoalsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v12.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +message MutateCustomerConversionGoalsRequest { + // Required. The ID of the customer whose customer conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer conversion goal. + repeated CustomerConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a customer conversion goal. +message CustomerConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v12.resources.CustomerConversionGoal update = 1; + } +} + +// Response message for a customer conversion goal mutate. +message MutateCustomerConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomerConversionGoalResult results = 1; +} + +// The result for the customer conversion goal mutate. +message MutateCustomerConversionGoalResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_customizer_service.proto new file mode 100644 index 00000000..f1b3eb20 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_customizer_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerCustomizer service. + +// Service to manage customer customizer +service CustomerCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer customizers. Operation statuses are + // returned. + rpc MutateCustomerCustomizers(MutateCustomerCustomizersRequest) returns (MutateCustomerCustomizersResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/CustomerCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v12.services.CustomerCustomizerService.MutateCustomerCustomizers]. +message MutateCustomerCustomizersRequest { + // Required. The ID of the customer whose customer customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer customizers. + repeated CustomerCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomerCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // customizer + google.ads.googleads.v12.resources.CustomerCustomizer create = 1; + + // Remove operation: A resource name for the removed customer customizer is + // expected, in this format: + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + } +} + +// Response message for an customizer attribute mutate. +message MutateCustomerCustomizersResponse { + // All results for the mutate. + repeated MutateCustomerCustomizerResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomerCustomizerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + }]; + + // The mutated CustomerCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomerCustomizer customer_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_extension_setting_service.proto new file mode 100644 index 00000000..3345b82b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_extension_setting_service.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerExtensionSetting service. + +// Service to manage customer extension settings. +service CustomerExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) returns (MutateCustomerExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v12.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +message MutateCustomerExtensionSettingsRequest { + // Required. The ID of the customer whose customer extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer extension + // settings. + repeated CustomerExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer extension setting. +message CustomerExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // extension setting. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed customer extension + // setting is expected, in this format: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + } +} + +// Response message for a customer extension setting mutate. +message MutateCustomerExtensionSettingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerExtensionSettingResult results = 2; +} + +// The result for the customer extension setting mutate. +message MutateCustomerExtensionSettingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + }]; + + // The mutated CustomerExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomerExtensionSetting customer_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_feed_service.proto new file mode 100644 index 00000000..7160157d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_feed_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerFeed service. + +// Service to manage customer feeds. +service CustomerFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes customer feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v12.services.CustomerFeedService.MutateCustomerFeeds]. +message MutateCustomerFeedsRequest { + // Required. The ID of the customer whose customer feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer feeds. + repeated CustomerFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer feed. +message CustomerFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer feed. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed customer feed is + // expected, in this format: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + } +} + +// Response message for a customer feed mutate. +message MutateCustomerFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerFeedResult results = 2; +} + +// The result for the customer feed mutate. +message MutateCustomerFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + }]; + + // The mutated customer feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomerFeed customer_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_label_service.proto new file mode 100644 index 00000000..1fb87f00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_label_service.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Customer Label service. + +// Service to manage labels on customers. +service CustomerLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates and removes customer-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerLabels(MutateCustomerLabelsRequest) returns (MutateCustomerLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v12.services.CustomerLabelService.MutateCustomerLabels]. +message MutateCustomerLabelsRequest { + // Required. ID of the customer whose customer-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on customer-label relationships. + repeated CustomerLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a customer-label relationship. +message CustomerLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer-label + // relationship. + google.ads.googleads.v12.resources.CustomerLabel create = 1; + + // Remove operation: A resource name for the customer-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/customerLabels/{label_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; + } +} + +// Response message for a customer labels mutate. +message MutateCustomerLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerLabelResult results = 2; +} + +// The result for a customer label mutate. +message MutateCustomerLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_manager_link_service.proto new file mode 100644 index 00000000..f9481ddd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_manager_link_service.proto @@ -0,0 +1,157 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_manager_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to manage customer-manager links. +service CustomerManagerLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates customer manager links. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) returns (MutateCustomerManagerLinkResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerManagerLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Moves a client customer to a new manager customer. + // This simplifies the complex request that requires two operations to move + // a client customer to a new manager, for example: + // 1. Update operation with Status INACTIVE (previous manager) and, + // 2. Update operation with Status ACTIVE (new manager). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MoveManagerLink(MoveManagerLinkRequest) returns (MoveManagerLinkResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + body: "*" + }; + option (google.api.method_signature) = "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v12.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +message MutateCustomerManagerLinkRequest { + // Required. The ID of the customer whose customer manager links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer manager links. + repeated CustomerManagerLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Request message for [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v12.services.CustomerManagerLinkService.MoveManagerLink]. +message MoveManagerLinkRequest { + // Required. The ID of the client customer that is being moved. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the previous CustomerManagerLink. + // The resource name has the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string previous_customer_manager_link = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the new manager customer that the client wants to move + // to. Customer resource names have the format: "customers/{customer_id}" + string new_manager = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Updates the status of a CustomerManagerLink. +// The following actions are possible: +// 1. Update operation with status ACTIVE accepts a pending invitation. +// 2. Update operation with status REFUSED declines a pending invitation. +// 3. Update operation with status INACTIVE terminates link to manager. +message CustomerManagerLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v12.resources.CustomerManagerLink update = 2; + } +} + +// Response message for a CustomerManagerLink mutate. +message MutateCustomerManagerLinkResponse { + // A result that identifies the resource affected by the mutate request. + repeated MutateCustomerManagerLinkResult results = 1; +} + +// Response message for a CustomerManagerLink moveManagerLink. +message MoveManagerLinkResponse { + // Returned for successful operations. Represents a CustomerManagerLink + // resource of the newly created link between client customer and new manager + // customer. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} + +// The result for the customer manager link mutate. +message MutateCustomerManagerLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_negative_criterion_service.proto new file mode 100644 index 00000000..2261e442 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_negative_criterion_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customer_negative_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage customer negative criteria. +service CustomerNegativeCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) returns (MutateCustomerNegativeCriteriaResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerNegativeCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v12.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +message MutateCustomerNegativeCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CustomerNegativeCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create or remove) on a customer level negative criterion. +message CustomerNegativeCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v12.resources.CustomerNegativeCriterion create = 1; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + } +} + +// Response message for customer negative criterion mutate. +message MutateCustomerNegativeCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateCustomerNegativeCriteriaResult results = 2; +} + +// The result for the criterion mutate. +message MutateCustomerNegativeCriteriaResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + }]; + + // The mutated criterion with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomerNegativeCriterion customer_negative_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_service.proto new file mode 100644 index 00000000..2d3bbbc4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_service.proto @@ -0,0 +1,192 @@ +// 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.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"; +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.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"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates a customer. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns resource names of customers directly accessible by the + // user authenticating the call. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { + option (google.api.http) = { + get: "/v12/customers:listAccessibleCustomers" + }; + } + + // Creates a new client under manager. The new client customer is returned. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CurrencyCodeError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + // [TimeZoneError]() + rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:createCustomerClient" + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v12.services.CustomerService.MutateCustomer]. +message MutateCustomerRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerOperation operation = 4 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 6; +} + +// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v12.services.CustomerService.CreateCustomerClient]. +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new client customer to create. The resource name on this customer + // will be ignored. + google.ads.googleads.v12.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; + + // Email address of the user who should be invited on the created client + // customer. Accessible only to customers on the allow-list. + optional string email_address = 5; + + // The proposed role of user on the created client customer. + // Accessible only to customers on the allow-list. + google.ads.googleads.v12.enums.AccessRoleEnum.AccessRole access_role = 4; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 6; +} + +// A single update on a customer. +message CustomerOperation { + // Mutate operation. Only updates are supported for customer. + google.ads.googleads.v12.resources.Customer update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for CreateCustomerClient mutate. +message CreateCustomerClientResponse { + // The resource name of the newly created customer. Customer resource names + // have the form: `customers/{customer_id}`. + string resource_name = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // Link for inviting user to access the created customer. Accessible to + // allowlisted customers only. + string invitation_link = 3; +} + +// Response message for customer mutate. +message MutateCustomerResponse { + // Result for the mutate. + MutateCustomerResult result = 2; +} + +// The result for the customer mutate. +message MutateCustomerResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + }]; + + // The mutated customer with only mutable fields after mutate. The fields will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.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]. +message ListAccessibleCustomersResponse { + // Resource name of customers directly accessible by the + // user authenticating the call. + repeated string resource_names = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto new file mode 100644 index 00000000..9e0e96c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_invitation_service.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_user_access_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomerUserAccessInvitation service. + +// This service manages the access invitation extended to users for a given +// customer. +service CustomerUserAccessInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes an access invitation. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccessInvitation(MutateCustomerUserAccessInvitationRequest) returns (MutateCustomerUserAccessInvitationResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitation.MutateCustomerUserAccessInvitation][] +message MutateCustomerUserAccessInvitationRequest { + // Required. The ID of the customer whose access invitation is being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the access invitation + CustomerUserAccessInvitationOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (create or remove) on customer user access invitation. +message CustomerUserAccessInvitationOperation { + // The mutate operation + oneof operation { + // Create operation: No resource name is expected for the new access + // invitation. + google.ads.googleads.v12.resources.CustomerUserAccessInvitation create = 1; + + // Remove operation: A resource name for the revoke invitation is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; + } +} + +// Response message for access invitation mutate. +message MutateCustomerUserAccessInvitationResponse { + // Result for the mutate. + MutateCustomerUserAccessInvitationResult result = 1; +} + +// The result for the access invitation mutate. +message MutateCustomerUserAccessInvitationResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_service.proto new file mode 100644 index 00000000..637787fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customer_user_access_service.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/customer_user_access.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// This service manages the permissions of a user on a given customer. +service CustomerUserAccessService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Updates, removes permission of a user on a given customer. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerUserAccessError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccess(MutateCustomerUserAccessRequest) returns (MutateCustomerUserAccessResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customerUserAccesses:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Mutate Request for +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v12.services.CustomerUserAccessService.MutateCustomerUserAccess]. +message MutateCustomerUserAccessRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerUserAccessOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (update, remove) on customer user access. +message CustomerUserAccessOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Update operation: The customer user access is expected to have a valid + // resource name. + google.ads.googleads.v12.resources.CustomerUserAccess update = 1; + + // Remove operation: A resource name for the removed access is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; + } +} + +// Response message for customer user access mutate. +message MutateCustomerUserAccessResponse { + // Result for the mutate. + MutateCustomerUserAccessResult result = 1; +} + +// The result for the customer user access mutate. +message MutateCustomerUserAccessResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/customizer_attribute_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/customizer_attribute_service.proto new file mode 100644 index 00000000..8f30e993 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/customizer_attribute_service.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/customizer_attribute.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the CustomizerAttribute service. + +// Service to manage customizer attribute +service CustomizerAttributeService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customizer attributes. Operation statuses are + // returned. + rpc MutateCustomizerAttributes(MutateCustomizerAttributesRequest) returns (MutateCustomizerAttributesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/customizerAttributes:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v12.services.CustomizerAttributeService.MutateCustomizerAttributes]. +message MutateCustomizerAttributesRequest { + // Required. The ID of the customer whose customizer attributes are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customizer attributes. + repeated CustomizerAttributeOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomizerAttributeOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customizer + // attribute + google.ads.googleads.v12.resources.CustomizerAttribute create = 1; + + // Remove operation: A resource name for the removed customizer attribute is + // expected, in this format: + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + } +} + +// Response message for an customizer attribute mutate. +message MutateCustomizerAttributesResponse { + // All results for the mutate. + repeated MutateCustomizerAttributeResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the customizer attribute mutate. +message MutateCustomizerAttributeResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + }]; + + // The mutated CustomizerAttribute with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.CustomizerAttribute customizer_attribute = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/experiment_arm_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/experiment_arm_service.proto new file mode 100644 index 00000000..7fd0b4b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/experiment_arm_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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.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"; + +// 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: "/v12/customers/{customer_id=*}/experimentArms:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExperimentArmService.MutateExperimentArms][google.ads.googleads.v12.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.v12.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.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; + + // 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.v12.resources.ExperimentArm experiment_arm = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/experiment_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/experiment_service.proto new file mode 100644 index 00000000..d68ab000 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/experiment_service.proto @@ -0,0 +1,390 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/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.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"; + +// 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: "/v12/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: "/v12/{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: "/v12/{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: "/v12/{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: "/v12/{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.v12.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: "/v12/{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.v12.services.PromoteExperimentMetadata" + }; + } +} + +// Request message for [ExperimentService.MutateExperiments][google.ads.googleads.v12.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.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; + + // 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.v12.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.v12.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.v12.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.v12.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.v12.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.v12.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/google-cloud/protos/google/ads/googleads/v12/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/extension_feed_item_service.proto new file mode 100644 index 00000000..8bb8b73c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/extension_feed_item_service.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/extension_feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the ExtensionFeedItem service. + +// Service to manage extension feed items. +service ExtensionFeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes extension feed items. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CountryCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [LanguageCodeError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) returns (MutateExtensionFeedItemsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/extensionFeedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v12.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +message MutateExtensionFeedItemsRequest { + // Required. The ID of the customer whose extension feed items are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual extension feed items. + repeated ExtensionFeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an extension feed item. +message ExtensionFeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new extension + // feed item. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed extension feed item + // is expected, in this format: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + } +} + +// Response message for an extension feed item mutate. +message MutateExtensionFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateExtensionFeedItemResult results = 2; +} + +// The result for the extension feed item mutate. +message MutateExtensionFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The mutated extension feed item with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.ExtensionFeedItem extension_feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_service.proto new file mode 100644 index 00000000..49520521 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_service.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the FeedItem service. + +// Service to manage feed items. +service FeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed items. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v12.services.FeedItemService.MutateFeedItems]. +message MutateFeedItemsRequest { + // Required. The ID of the customer whose feed items are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed items. + repeated FeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed item. +message FeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + } +} + +// Response message for an feed item mutate. +message MutateFeedItemsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemResult results = 2; +} + +// The result for the feed item mutate. +message MutateFeedItemResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + }]; + + // The mutated feed item with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.FeedItem feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_link_service.proto new file mode 100644 index 00000000..e18415a2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_link_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/feed_item_set_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the FeedItemSetLink service. + +// Service to manage feed item set links. +service FeedItemSetLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feed item set links. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSetLinks(MutateFeedItemSetLinksRequest) returns (MutateFeedItemSetLinksResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feedItemSetLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v12.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +message MutateFeedItemSetLinksRequest { + // Required. The ID of the customer whose feed item set links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item set links. + repeated FeedItemSetLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a feed item set link. +message FeedItemSetLinkOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the + // new feed item set link. + google.ads.googleads.v12.resources.FeedItemSetLink create = 1; + + // Remove operation: A resource name for the removed feed item set link is + // expected, in this format: + // + // `customers/{customer_id}/feedItemSetLinks/{feed_id}_{feed_item_set_id}_{feed_item_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; + } +} + +// Response message for a feed item set link mutate. +message MutateFeedItemSetLinksResponse { + // All results for the mutate. + repeated MutateFeedItemSetLinkResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 2; +} + +// The result for the feed item set link mutate. +message MutateFeedItemSetLinkResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_service.proto new file mode 100644 index 00000000..897968b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_set_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/feed_item_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the FeedItemSet service. + +// Service to manage feed Item Set +service FeedItemSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes feed item sets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSets(MutateFeedItemSetsRequest) returns (MutateFeedItemSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feedItemSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v12.services.FeedItemSetService.MutateFeedItemSets]. +message MutateFeedItemSetsRequest { + // Required. The ID of the customer whose feed item sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item sets. + repeated FeedItemSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an feed item set. +message FeedItemSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item set + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_target_service.proto new file mode 100644 index 00000000..c5e71456 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_item_target_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_item_target.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the FeedItemTarget service. + +// Service to manage feed item targets. +service FeedItemTargetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed item targets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedItemTargetError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) returns (MutateFeedItemTargetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feedItemTargets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v12.services.FeedItemTargetService.MutateFeedItemTargets]. +message MutateFeedItemTargetsRequest { + // Required. The ID of the customer whose feed item targets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item targets. + repeated FeedItemTargetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, remove) on an feed item target. +message FeedItemTargetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item + // target. + google.ads.googleads.v12.resources.FeedItemTarget create = 1; + + // Remove operation: A resource name for the removed feed item target is + // expected, in this format: + // + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string remove = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + } +} + +// Response message for an feed item target mutate. +message MutateFeedItemTargetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedItemTargetResult results = 2; +} + +// The result for the feed item target mutate. +message MutateFeedItemTargetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + }]; + + // The mutated feed item target with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.FeedItemTarget feed_item_target = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_mapping_service.proto new file mode 100644 index 00000000..379d3794 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_mapping_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed_mapping.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the FeedMapping service. + +// Service to manage feed mappings. +service FeedMappingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes feed mappings. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedMappingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feedMappings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v12.services.FeedMappingService.MutateFeedMappings]. +message MutateFeedMappingsRequest { + // Required. The ID of the customer whose feed mappings are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed mappings. + repeated FeedMappingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a feed mapping. +message FeedMappingOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed mapping. + google.ads.googleads.v12.resources.FeedMapping create = 1; + + // Remove operation: A resource name for the removed feed mapping is + // expected, in this format: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + } +} + +// Response message for a feed mapping mutate. +message MutateFeedMappingsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedMappingResult results = 2; +} + +// The result for the feed mapping mutate. +message MutateFeedMappingResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + }]; + + // The mutated feed mapping with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.FeedMapping feed_mapping = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/feed_service.proto new file mode 100644 index 00000000..c83fb766 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/feed_service.proto @@ -0,0 +1,150 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Feed service. + +// Service to manage feeds. +service FeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/feeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedService.MutateFeeds][google.ads.googleads.v12.services.FeedService.MutateFeeds]. +message MutateFeedsRequest { + // Required. The ID of the customer whose feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feeds. + repeated FeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed. +message FeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed feed is + // expected, in this format: + // + // `customers/{customer_id}/feeds/{feed_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + } +} + +// Response message for an feed mutate. +message MutateFeedsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateFeedResult results = 2; +} + +// The result for the feed mutate. +message MutateFeedResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + }]; + + // The mutated feed with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.Feed feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/geo_target_constant_service.proto new file mode 100644 index 00000000..c3cb5cbc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/geo_target_constant_service.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.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"; + +// Proto file describing the Geo target constant service. + +// Service to fetch geo target constants. +service GeoTargetConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns GeoTargetConstant suggestions by location name or by resource name. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [GeoTargetConstantSuggestionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) { + option (google.api.http) = { + post: "/v12/geoTargetConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsRequest { + // A list of location names. + message LocationNames { + // A list of location names. + repeated string names = 2; + } + + // A list of geo target constant resource names. + message GeoTargets { + // A list of geo target constant resource names. + repeated string geo_target_constants = 2; + } + + // If possible, returned geo targets are translated using this locale. If not, + // en is used by default. This is also used as a hint for returned geo + // targets. + optional string locale = 6; + + // Returned geo targets are restricted to this country code. + optional string country_code = 7; + + // Required. A selector of geo target constants. + oneof query { + // The location names to search by. At most 25 names can be set. + LocationNames location_names = 1; + + // The geo target constant resource names to filter by. + GeoTargets geo_targets = 2; + } +} + +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v12.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsResponse { + // Geo target constant suggestions. + repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; +} + +// A geo target constant suggestion. +message GeoTargetConstantSuggestion { + // The language this GeoTargetConstantSuggestion is currently translated to. + // It affects the name of geo target fields. For example, if locale=en, then + // name=Spain. If locale=es, then name=España. The default locale will be + // returned if no translation exists for the locale in the request. + optional string locale = 6; + + // Approximate user population that will be targeted, rounded to the + // nearest 100. + optional int64 reach = 7; + + // If the request searched by location name, this is the location name that + // matched the geo target. + optional string search_term = 8; + + // The GeoTargetConstant result. + google.ads.googleads.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/google_ads_field_service.proto new file mode 100644 index 00000000..45ece670 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/google_ads_field_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/google_ads_field.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the GoogleAdsFieldService. + +// Service to fetch Google Ads API fields. +service GoogleAdsFieldService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns just the requested field. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v12.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v12/{resource_name=googleAdsFields/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns all fields that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) { + option (google.api.http) = { + post: "/v12/googleAdsFields:search" + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v12.services.GoogleAdsFieldService.GetGoogleAdsField]. +message GetGoogleAdsFieldRequest { + // Required. The resource name of the field to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; +} + +// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsRequest { + // Required. The query string. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first page of + // results will be returned. Use the value obtained from `next_page_token` + // in the previous response in order to request the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to further + // limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v12.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v12.resources.GoogleAdsField results = 1; + + // Pagination token used to retrieve the next page of results. Pass the + // content of this string as the `page_token` attribute of the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT clause. + int64 total_results_count = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/google_ads_service.proto new file mode 100644 index 00000000..400ae6b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/google_ads_service.proto @@ -0,0 +1,1493 @@ +// 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.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"; +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.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"; + +// 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: "/v12/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: "/v12/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: "/v12/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for [GoogleAdsService.Search][google.ads.googleads.v12.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.v12.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 8; +} + +// Response message for [GoogleAdsService.Search][google.ads.googleads.v12.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; +} + +// Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v12.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.v12.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 3; +} + +// Response message for [GoogleAdsService.SearchStream][google.ads.googleads.v12.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; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + 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]. +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.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v12.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; + + // An 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; + + // An 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; + + // An 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/google-cloud/protos/google/ads/googleads/v12/services/invoice_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/invoice_service.proto new file mode 100644 index 00000000..93854872 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/invoice_service.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/month_of_year.proto"; +import "google/ads/googleads/v12/resources/invoice.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Invoice service. + +// A service to fetch invoices issued for a billing setup during a given month. +service InvoiceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all invoices associated with a billing setup, for a given month. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [InvoiceError]() + // [QuotaError]() + // [RequestError]() + rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { + option (google.api.http) = { + get: "/v12/customers/{customer_id=*}/invoices" + }; + option (google.api.method_signature) = "customer_id,billing_setup,issue_year,issue_month"; + } +} + +// Request message for fetching the invoices of a given billing setup that were +// issued during a given month. +message ListInvoicesRequest { + // Required. The ID of the customer to fetch invoices for. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The billing setup resource name of the requested invoices. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string billing_setup = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue year to retrieve invoices, in yyyy format. Only + // invoices issued in 2019 or later can be retrieved. + string issue_year = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue month to retrieve invoices. + google.ads.googleads.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 00000000..0a9014de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_ad_group_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the keyword plan ad group keyword service. + +// Service to manage Keyword Plan ad group keywords. KeywordPlanAdGroup is +// required to add ad group keywords. Positive and negative keywords are +// supported. A maximum of 10,000 positive keywords are allowed per keyword +// plan. A maximum of 1,000 negative keywords are allower per keyword plan. This +// includes campaign negative keywords and ad group negative keywords. +service KeywordPlanAdGroupKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad group keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroupKeywords(MutateKeywordPlanAdGroupKeywordsRequest) returns (MutateKeywordPlanAdGroupKeywordsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v12.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +message MutateKeywordPlanAdGroupKeywordsRequest { + // Required. The ID of the customer whose Keyword Plan ad group keywords are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad group + // keywords. + repeated KeywordPlanAdGroupKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group +// keyword. +message KeywordPlanAdGroupKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group keyword. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_service.proto new file mode 100644 index 00000000..869c5ef6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_ad_group_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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the keyword plan ad group service. + +// Service to manage Keyword Plan ad groups. +service KeywordPlanAdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v12.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +message MutateKeywordPlanAdGroupsRequest { + // Required. The ID of the customer whose Keyword Plan ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad groups. + repeated KeywordPlanAdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group. +message KeywordPlanAdGroupOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 00000000..26ac9c56 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_campaign_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the keyword plan campaign keyword service. + +// Service to manage Keyword Plan campaign keywords. KeywordPlanCampaign is +// required to add the campaign keywords. Only negative keywords are supported. +// A maximum of 1000 negative keywords are allowed per plan. This includes both +// campaign negative keywords and ad group negative keywords. +service KeywordPlanCampaignKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaign keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignKeywordError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaignKeywords(MutateKeywordPlanCampaignKeywordsRequest) returns (MutateKeywordPlanCampaignKeywordsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v12.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +message MutateKeywordPlanCampaignKeywordsRequest { + // Required. The ID of the customer whose campaign keywords are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaign + // keywords. + repeated KeywordPlanCampaignKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign +// keyword. +message KeywordPlanCampaignKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign keyword. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto new file mode 100644 index 00000000..3e38b7ad --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_campaign_service.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/keyword_plan_campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the keyword plan campaign service. + +// Service to manage Keyword Plan campaigns. +service KeywordPlanCampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [ListOperationError]() + // [MutateError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v12.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +message MutateKeywordPlanCampaignsRequest { + // Required. The ID of the customer whose Keyword Plan campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaigns. + repeated KeywordPlanCampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign. +message KeywordPlanCampaignOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_idea_service.proto new file mode 100644 index 00000000..0d502fa2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_idea_service.proto @@ -0,0 +1,353 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/keyword_plan_common.proto"; +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/ads/googleads/v12/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +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"; + +// 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: "/v12/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: "/v12/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: "/v12/customers/{customer_id=*}:generateAdGroupThemes" + body: "*" + }; + } +} + +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v12.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.v12.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v12.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v12.common.KeywordPlanAggregateMetrics aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v12.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.v12.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v12.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.v12.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v12.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.v12.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.v12.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 7; + + // The aggregate fields to include in response. + google.ads.googleads.v12.common.KeywordPlanAggregateMetrics aggregate_metrics = 8; + + // The options for historical metrics data. + google.ads.googleads.v12.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for +// [KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics][google.ads.googleads.v12.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.v12.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.v12.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} + +// Request message for +// [KeywordPlanIdeaService.GenerateAdGroupThemes][google.ads.googleads.v12.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.v12.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.v12.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_service.proto new file mode 100644 index 00000000..2961ca07 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_plan_service.proto @@ -0,0 +1,421 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/keyword_plan_common.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +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"; + +// 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: "/v12/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Returns the requested Keyword Plan forecast curve. + // Only the bidding strategy is considered for generating forecast curve. + // The bidding strategy value specified in the plan is ignored. + // + // To generate a forecast at a value specified in the plan, use + // KeywordPlanService.GenerateForecastMetrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastCurve(GenerateForecastCurveRequest) returns (GenerateForecastCurveResponse) { + option (google.api.http) = { + post: "/v12/{keyword_plan=customers/*/keywordPlans/*}:generateForecastCurve" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns a forecast in the form of a time series for the Keyword Plan over + // the next 52 weeks. + // (1) Forecasts closer to the current date are generally more accurate than + // further out. + // + // (2) The forecast reflects seasonal trends using current and + // prior traffic patterns. The forecast period of the plan is ignored. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastTimeSeries(GenerateForecastTimeSeriesRequest) returns (GenerateForecastTimeSeriesResponse) { + option (google.api.http) = { + post: "/v12/{keyword_plan=customers/*/keywordPlans/*}:generateForecastTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan forecasts. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) { + option (google.api.http) = { + post: "/v12/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan historical metrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) { + option (google.api.http) = { + post: "/v12/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } +} + +// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v12.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.v12.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v12.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" + }]; +} + +// Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveResponse { + // List of forecast curves for the keyword plan campaign. + // One maximum. + repeated KeywordPlanCampaignForecastCurve campaign_forecast_curves = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesResponse { + // List of weekly time series forecasts for the keyword plan campaign. + // One maximum. + repeated KeywordPlanWeeklyTimeSeriesForecast weekly_time_series_forecasts = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v12.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsResponse { + // List of campaign forecasts. + // One maximum. + repeated KeywordPlanCampaignForecast campaign_forecasts = 1; + + // List of ad group forecasts. + repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; + + // List of keyword forecasts. + repeated KeywordPlanKeywordForecast keyword_forecasts = 3; +} + +// A campaign forecast. +message KeywordPlanCampaignForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The forecast for the Keyword Plan campaign. + ForecastMetrics campaign_forecast = 2; +} + +// An ad group forecast. +message KeywordPlanAdGroupForecast { + // The resource name of the Keyword Plan ad group related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` + optional string keyword_plan_ad_group = 3; + + // The forecast for the Keyword Plan ad group. + ForecastMetrics ad_group_forecast = 2; +} + +// A keyword forecast. +message KeywordPlanKeywordForecast { + // The resource name of the Keyword Plan keyword related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` + optional string keyword_plan_ad_group_keyword = 3; + + // The forecast for the Keyword Plan keyword. + ForecastMetrics keyword_forecast = 2; +} + +// The forecast curve for the campaign. +message KeywordPlanCampaignForecastCurve { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The max cpc bid forecast curve for the campaign. + KeywordPlanMaxCpcBidForecastCurve max_cpc_bid_forecast_curve = 2; +} + +// The max cpc bid forecast curve. +message KeywordPlanMaxCpcBidForecastCurve { + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanMaxCpcBidForecast max_cpc_bid_forecasts = 1; +} + +// The forecast of the campaign at a specific bid. +message KeywordPlanMaxCpcBidForecast { + // The max cpc bid in micros. + optional int64 max_cpc_bid_micros = 3; + + // The forecast for the Keyword Plan campaign at the specific bid. + ForecastMetrics max_cpc_bid_forecast = 2; +} + +// The weekly time series forecast for the keyword plan campaign. +message KeywordPlanWeeklyTimeSeriesForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 1; + + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanWeeklyForecast weekly_forecasts = 2; +} + +// The forecast of the campaign for the week starting start_date. +message KeywordPlanWeeklyForecast { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 1; + + // The forecast for the Keyword Plan campaign for the week. + ForecastMetrics forecast = 2; +} + +// Forecast metrics. +message ForecastMetrics { + // Impressions + optional double impressions = 7; + + // Ctr + optional double ctr = 8; + + // AVG cpc + optional int64 average_cpc = 9; + + // Clicks + optional double clicks = 10; + + // Cost + optional int64 cost_micros = 11; +} + +// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v12.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsRequest { + // Required. The resource name of the keyword plan of which historical metrics are + // requested. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // The aggregate fields to include in response. + google.ads.googleads.v12.common.KeywordPlanAggregateMetrics aggregate_metrics = 2; + + // The options for historical metrics data. + google.ads.googleads.v12.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v12.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsResponse { + // List of keyword historical metrics. + repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; + + // The aggregate metrics for all the keywords in the keyword planner plan. + google.ads.googleads.v12.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2; +} + +// A keyword historical metrics. +message KeywordPlanKeywordHistoricalMetrics { + // The text of the query associated with one or more ad_group_keywords in the + // plan. + // + // Note that we de-dupe your keywords list, eliminating close variants before + // returning the plan's keywords as text. For example, if your plan originally + // contained the keywords 'car' and 'cars', the returned search query will + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. + optional string search_query = 4; + + // The list of close variant queries for search_query whose search results + // are combined into the search_query. + repeated string close_variants = 3; + + // The historical metrics for the query associated with one or more + // ad_group_keywords in the plan. + google.ads.googleads.v12.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/keyword_theme_constant_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/keyword_theme_constant_service.proto new file mode 100644 index 00000000..d85388eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/keyword_theme_constant_service.proto @@ -0,0 +1,77 @@ +// 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.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"; + +// Proto file describing the Smart Campaign keyword theme constant service. + +// Service to fetch Smart Campaign keyword themes. +service KeywordThemeConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns KeywordThemeConstant suggestions by keyword themes. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestKeywordThemeConstants(SuggestKeywordThemeConstantsRequest) returns (SuggestKeywordThemeConstantsResponse) { + option (google.api.http) = { + post: "/v12/keywordThemeConstants:suggest" + body: "*" + }; + } +} + +// Request message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsRequest { + // The query text of a keyword theme that will be used to map to similar + // keyword themes. For example, "plumber" or "roofer". + string query_text = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. This for + // refining the scope of the query, default to 'US' if not set. + string country_code = 2; + + // The two letter language code for get corresponding keyword theme for + // refining the scope of the query, default to 'en' if not set. + string language_code = 3; +} + +// Response message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v12.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v12.resources.KeywordThemeConstant keyword_theme_constants = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/label_service.proto new file mode 100644 index 00000000..6b6bfe42 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/label_service.proto @@ -0,0 +1,145 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Service to manage labels. +service LabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes labels. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/labels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [LabelService.MutateLabels][google.ads.googleads.v12.services.LabelService.MutateLabels]. +message MutateLabelsRequest { + // Required. ID of the customer whose labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on labels. + repeated LabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a label. +message LabelOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new label. + google.ads.googleads.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; + + // Remove operation: A resource name for the label being removed, in + // this format: + // + // `customers/{customer_id}/labels/{label_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + } +} + +// Response message for a labels mutate. +message MutateLabelsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateLabelResult results = 2; +} + +// The result for a label mutate. +message MutateLabelResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + }]; + + // The mutated label with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.Label label = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/media_file_service.proto new file mode 100644 index 00000000..c052705e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/media_file_service.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/media_file.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.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"; + +// 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) = { + post: "/v12/customers/{customer_id=*}/mediaFiles:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v12.services.MediaFileService.MutateMediaFiles] +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. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v12.resources.MediaFile create = 1; + } +} + +// 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". + google.ads.googleads.v12.resources.MediaFile media_file = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/merchant_center_link_service.proto new file mode 100644 index 00000000..a5d5aec9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/merchant_center_link_service.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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/merchant_center_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// 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) = { + get: "/v12/customers/{customer_id=*}/merchantCenterLinks" + }; + 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]() + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v12.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v12/{resource_name=customers/*/merchantCenterLinks/*}" + }; + 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) = { + post: "/v12/customers/{customer_id=*}/merchantCenterLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v12.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +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]; +} + +// 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]. +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" + } + ]; +} + +// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v12.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +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. + google.ads.googleads.v12.resources.MerchantCenterLink update = 1; + + // 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/google-cloud/protos/google/ads/googleads/v12/services/offline_user_data_job_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/offline_user_data_job_service.proto new file mode 100644 index 00000000..efb48522 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/offline_user_data_job_service.proto @@ -0,0 +1,212 @@ +// 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.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"; +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/rpc/status.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"; + +// Proto file describing the OfflineUserDataJobService. + +// Service to manage offline user data jobs. +service OfflineUserDataJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [NotAllowlistedError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc CreateOfflineUserDataJob(CreateOfflineUserDataJobRequest) returns (CreateOfflineUserDataJobResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/offlineUserDataJobs:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,job"; + } + + // Adds operations to the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc AddOfflineUserDataJobOperations(AddOfflineUserDataJobOperationsRequest) returns (AddOfflineUserDataJobOperationsResponse) { + option (google.api.http) = { + post: "/v12/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,operations"; + } + + // Runs the offline user data job. + // + // When finished, the long running operation will contain the processing + // result or failure information, if any. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc RunOfflineUserDataJob(RunOfflineUserDataJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v12/{resource_name=customers/*/offlineUserDataJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v12.resources.OfflineUserDataJobMetadata" + }; + } +} + +// Request message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobRequest { + // Required. The ID of the customer for which to create an offline user data job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The offline user data job to be created. + google.ads.googleads.v12.resources.OfflineUserDataJob job = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // If true, match rate range for the offline user data job is calculated and + // made available in the resource. + bool enable_match_rate_range_preview = 5; +} + +// Response message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + }]; +} + +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v12.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +message RunOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v12.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsRequest { + // Required. The resource name of the OfflineUserDataJob. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // True to enable partial failure for the offline user data job. + optional bool enable_partial_failure = 4; + + // True to enable warnings for the offline user data job. When enabled, a + // warning will not block the OfflineUserDataJobOperation, and will also + // return warning messages about malformed field values. + optional bool enable_warnings = 6; + + // Required. The list of operations to be done. + repeated OfflineUserDataJobOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; +} + +// Operation to be made for the AddOfflineUserDataJobOperationsRequest. +message OfflineUserDataJobOperation { + // Operation to be made for the AddOfflineUserDataJobOperationsRequest. + oneof operation { + // Add the provided data to the transaction. Data cannot be retrieved after + // being uploaded. + google.ads.googleads.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; + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v12.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 1; + + // Non blocking errors that pertain to operation failures in the warnings + // mode. Returned only when enable_warnings = true. + google.rpc.Status warning = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/payments_account_service.proto new file mode 100644 index 00000000..b758400d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/payments_account_service.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/payments_account.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the payments account service. + +// Service to provide payments accounts that can be used to set up consolidated +// billing. +service PaymentsAccountService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all payments accounts associated with all managers + // between the login customer ID and specified serving customer in the + // hierarchy, inclusive. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PaymentsAccountError]() + // [QuotaError]() + // [RequestError]() + rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) { + option (google.api.http) = { + get: "/v12/customers/{customer_id=*}/paymentsAccounts" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for fetching all accessible payments accounts. +message ListPaymentsAccountsRequest { + // Required. The ID of the customer to apply the PaymentsAccount list operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v12.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v12.resources.PaymentsAccount payments_accounts = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/reach_plan_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/reach_plan_service.proto new file mode 100644 index 00000000..ca0e2016 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/reach_plan_service.proto @@ -0,0 +1,594 @@ +// 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.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"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.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"; + +// Proto file describing the reach plan service. + +// Reach Plan Service gives users information about audience size that can +// be reached through advertisement on YouTube. In particular, +// GenerateReachForecast provides estimated number of people of specified +// demographics that can be reached by an ad in a given market by a campaign of +// certain duration with a defined budget. +service ReachPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the list of plannable locations (for example, countries). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableLocations(ListPlannableLocationsRequest) returns (ListPlannableLocationsResponse) { + option (google.api.http) = { + post: "/v12:listPlannableLocations" + body: "*" + }; + } + + // Returns the list of per-location plannable YouTube ad formats with allowed + // targeting. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableProducts(ListPlannableProductsRequest) returns (ListPlannableProductsResponse) { + option (google.api.http) = { + post: "/v12:listPlannableProducts" + body: "*" + }; + option (google.api.method_signature) = "plannable_location_id"; + } + + // Generates a reach forecast for a given targeting / product mix. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateReachForecast(GenerateReachForecastRequest) returns (GenerateReachForecastResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:generateReachForecast" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest { + +} + +// The list of plannable locations. +message ListPlannableLocationsResponse { + // The list of locations available for planning. + // See + // https://developers.google.com/google-ads/api/reference/data/geotargets + // for sample locations. + repeated PlannableLocation plannable_locations = 1; +} + +// A plannable location: country, metro region, province, etc. +message PlannableLocation { + // The location identifier. + optional string id = 4; + + // The unique location name in English. + optional string name = 5; + + // The parent country (not present if location is a country). + // If present, will always be a GeoTargetConstant ID. Additional information + // such as country name is provided by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations] or + // [GoogleAdsService.Search/SearchStream][]. + optional int64 parent_country_id = 6; + + // The ISO-3166-1 alpha-2 country code that is associated with the location. + optional string country_code = 7; + + // The location's type. Location types correspond to target_type returned by + // searching location type in [GoogleAdsService.Search/SearchStream][]. + optional string location_type = 8; +} + +// Request to list available products in a given location. +message ListPlannableProductsRequest { + // Required. The ID of the selected location for planning. To list the available + // plannable location IDs use [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response with all available products. +message ListPlannableProductsResponse { + // The list of products available for planning and related targeting metadata. + repeated ProductMetadata product_metadata = 1; +} + +// The metadata associated with an available plannable product. +message ProductMetadata { + // The code associated with the ad product (for example: BUMPER, + // TRUEVIEW_IN_STREAM). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 4; + + // The name associated with the ad product. + string plannable_product_name = 3; + + // The allowed plannable targeting for this product. + PlannableTargeting plannable_targeting = 2; +} + +// The targeting for which traffic metrics will be reported. +message PlannableTargeting { + // Allowed plannable age ranges for the product for which metrics will be + // reported. Actual targeting is computed by mapping this age range onto + // standard Google common.AgeRangeInfo values. + repeated google.ads.googleads.v12.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v12.common.GenderInfo genders = 2; + + // Targetable devices for the ad product. + // TABLET device targeting is automatically applied to reported metrics + // when MOBILE targeting is selected for CPM_MASTHEAD, + // GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products. + repeated google.ads.googleads.v12.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v12.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; + + // Targetable YouTube Select Lineups for the ad product. + repeated YouTubeSelectLineUp youtube_select_lineups = 5; +} + +// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v12.services.ReachPlanService.GenerateReachForecast]. +message GenerateReachForecastRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The currency code. + // Three-character ISO 4217 currency code. + optional string currency_code = 9; + + // Required. Campaign duration. + CampaignDuration campaign_duration = 3 [(google.api.field_behavior) = REQUIRED]; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user. + // If not specified, no cap is applied. + // + // This field is deprecated in v4 and will eventually be removed. + // Use cookie_frequency_cap_setting instead. + optional int32 cookie_frequency_cap = 10; + + // Chosen cookie frequency cap to be applied to each planned product. + // This is equivalent to the frequency cap exposed in Google Ads when creating + // a campaign, it represents the maximum number of times an ad can be shown to + // the same user during a specified time interval. + // If not specified, a default of 0 (no cap) is applied. + // + // This field replaces the deprecated cookie_frequency_cap field. + FrequencyCap cookie_frequency_cap_setting = 8; + + // Chosen minimum effective frequency (the number of times a person was + // exposed to the ad) for the reported reach metrics [1-10]. + // This won't affect the targeting, but just the reporting. + // If not specified, a default of 1 is applied. + // + // This field cannot be combined with the effective_frequency_limit field. + optional int32 min_effective_frequency = 11; + + // The highest minimum effective frequency (the number of times a person was + // exposed to the ad) value [1-10] to include in + // Forecast.effective_frequency_breakdowns. + // If not specified, Forecast.effective_frequency_breakdowns will not be + // provided. + // + // The effective frequency value provided here will also be used as the + // minimum effective frequency for the reported reach metrics. + // + // This field cannot be combined with the min_effective_frequency field. + optional EffectiveFrequencyLimit effective_frequency_limit = 12; + + // The targeting to be applied to all products selected in the product mix. + // + // This is planned targeting: execution details might vary based on the + // advertising product, consult an implementation specialist. + // + // See specific metrics for details on how targeting affects them. + Targeting targeting = 6; + + // Required. The products to be forecast. + // The max number of allowed planned products is 15. + repeated PlannedProduct planned_products = 7 [(google.api.field_behavior) = REQUIRED]; + + // Controls the forecast metrics returned in the response. + ForecastMetricOptions forecast_metric_options = 13; + + // The name of the customer being planned for. This is a user-defined value. + // Required if targeting.audience_targeting is set. + optional string customer_reach_group = 14; +} + +// Effective frequency limit. +message EffectiveFrequencyLimit { + // The highest effective frequency value to include in + // Forecast.effective_frequency_breakdowns. + // This field supports frequencies 1-10, inclusive. + int32 effective_frequency_breakdown_limit = 1; +} + +// A rule specifying the maximum number of times an ad can be shown to a user +// over a particular time period. +message FrequencyCap { + // Required. The number of impressions, inclusive. + int32 impressions = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of time unit. + google.ads.googleads.v12.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // The ID of the selected location. Plannable location IDs can be + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. + // + // Requests must set either this field or `plannable_location_ids`. + // + // This field is deprecated as of V12 and will be removed in a future release. + // Use `plannable_location_ids` instead. + optional string plannable_location_id = 6; + + // The list of plannable location IDs to target with this forecast. + // + // If more than one ID is provided, all IDs must have the same + // `parent_country_id`. Planning for more than `parent_county` is not + // supported. Plannable location IDs and their `parent_country_id` can be + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v12.services.ReachPlanService.ListPlannableLocations]. + // + // Requests must set either this field or `plannable_location_id`. + repeated string plannable_location_ids = 8; + + // Targeted age range. + // An unset value is equivalent to targeting all ages. + google.ads.googleads.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; + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v12.common.DeviceInfo devices = 4; + + // Targetable network for the ad product. + // If not specified, targets all applicable networks. Applicable networks vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v12.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = 5; + + // Targeted audiences. + // If not specified, does not target any specific audience. + AudienceTargeting audience_targeting = 7; +} + +// The duration of a planned campaign. +message CampaignDuration { + // The duration value in days. + // + // This field cannot be combined with the date_range field. + optional int32 duration_in_days = 2; + + // Date range of the campaign. + // Dates are in the yyyy-mm-dd format and inclusive. + // The end date must be < 1 year in the future and the + // date range must be <= 92 days long. + // + // This field cannot be combined with the duration_in_days field. + google.ads.googleads.v12.common.DateRange date_range = 3; +} + +// A product being planned for reach. +message PlannedProduct { + // Required. Selected product for planning. + // The code associated with the ad product (for example: Trueview, Bumper). + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; + + // Required. Maximum budget allocation in micros for the selected product. + // The value is specified in the selected planning currency_code. + // For example: 1 000 000$ = 1 000 000 000 000 micros. + optional int64 budget_micros = 4; + + // Targeting settings for the selected product. + // To list the available targeting for each product use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v12.services.ReachPlanService.ListPlannableProducts]. + AdvancedProductTargeting advanced_product_targeting = 5; +} + +// Response message containing the generated reach curve. +message GenerateReachForecastResponse { + // Reference on target audiences for this curve. + OnTargetAudienceMetrics on_target_audience_metrics = 1; + + // The generated reach curve for the planned product mix. + ReachCurve reach_curve = 2; +} + +// The reach curve for the planned products. +message ReachCurve { + // All points on the reach curve. + repeated ReachForecast reach_forecasts = 1; +} + +// A point on reach curve. +message ReachForecast { + // The cost in micros. + int64 cost_micros = 5; + + // Forecasted traffic metrics for this point. + Forecast forecast = 2; + + // The forecasted allocation and traffic metrics for each planned product + // at this point on the reach curve. + repeated PlannedProductReachForecast planned_product_reach_forecasts = 4; +} + +// Forecasted traffic metrics for the planned products and targeting. +message Forecast { + // Number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times that exactly + // matches the Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the on_target_reach + // value will be rounded to 0. + optional int64 on_target_reach = 5; + + // Total number of unique people reached at least + // GenerateReachForecastRequest.min_effective_frequency or + // GenerateReachForecastRequest.effective_frequency_limit times. This includes + // people that may fall outside the specified Targeting. + // + // Note that a minimum number of unique people must be reached in order for + // data to be reported. If the minimum number is not met, the total_reach + // value will be rounded to 0. + optional int64 total_reach = 6; + + // Number of ad impressions that exactly matches the Targeting. + optional int64 on_target_impressions = 7; + + // Total number of ad impressions. This includes impressions that may fall + // outside the specified Targeting, due to insufficient information on + // signed-in users. + optional int64 total_impressions = 8; + + // Number of times the ad's impressions were considered viewable. + // See https://support.google.com/google-ads/answer/7029393 for + // more information about what makes an ad viewable and how + // viewability is measured. + optional int64 viewable_impressions = 9; + + // A list of effective frequency forecasts. The list is ordered starting with + // 1+ and ending with the value set in + // GenerateReachForecastRequest.effective_frequency_limit. If no + // effective_frequency_limit was set, this list will be empty. + repeated EffectiveFrequencyBreakdown effective_frequency_breakdowns = 10; + + // Number of unique people reached that exactly matches the Targeting + // including co-viewers. + optional int64 on_target_coview_reach = 11; + + // Number of unique people reached including co-viewers. This includes + // people that may fall outside the specified Targeting. + optional int64 total_coview_reach = 12; + + // Number of ad impressions that exactly matches the Targeting including + // co-viewers. + optional int64 on_target_coview_impressions = 13; + + // Total number of ad impressions including co-viewers. This includes + // impressions that may fall outside the specified Targeting, due to + // insufficient information on signed-in users. + optional int64 total_coview_impressions = 14; +} + +// 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. + repeated google.ads.googleads.v12.common.UserInterestInfo user_interest = 1; +} + +// 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/google-cloud/protos/google/ads/googleads/v12/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/recommendation_service.proto new file mode 100644 index 00000000..f18da77b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/recommendation_service.proto @@ -0,0 +1,346 @@ +// 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.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"; +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.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"; + +// 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: "/v12/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: "/v12/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v12.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.v12.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.v12.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.v12.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.v12.common.CallFeedItem call_extensions = 1; + } + + // Parameters to use when applying sitelink extension recommendation. + message SitelinkExtensionParameters { + // Sitelink extensions to be added. This is a required field. + repeated google.ads.googleads.v12.common.SitelinkFeedItem sitelink_extensions = 1; + } + + // 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.v12.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.v12.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.v12.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; + } + + // 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 extension 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; + } +} + +// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v12.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.v12.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.v12.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/google-cloud/protos/google/ads/googleads/v12/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/remarketing_action_service.proto new file mode 100644 index 00000000..b769dd9e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/remarketing_action_service.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/remarketing_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Remarketing Action service. + +// Service to manage remarketing actions. +service RemarketingActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates remarketing actions. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateRemarketingActions(MutateRemarketingActionsRequest) returns (MutateRemarketingActionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/remarketingActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v12.services.RemarketingActionService.MutateRemarketingActions]. +message MutateRemarketingActionsRequest { + // Required. The ID of the customer whose remarketing actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual remarketing actions. + repeated RemarketingActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a remarketing action. +message RemarketingActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new remarketing + // action. + google.ads.googleads.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; + } +} + +// 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/google-cloud/protos/google/ads/googleads/v12/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/shared_criterion_service.proto new file mode 100644 index 00000000..88a7c173 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/shared_criterion_service.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/shared_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Shared Criterion service. + +// Service to manage shared criteria. +service SharedCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or removes shared criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/sharedCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v12.services.SharedCriterionService.MutateSharedCriteria]. +message MutateSharedCriteriaRequest { + // Required. The ID of the customer whose shared criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared criteria. + repeated SharedCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an shared criterion. +message SharedCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared + // criterion. + google.ads.googleads.v12.resources.SharedCriterion create = 1; + + // Remove operation: A resource name for the removed shared criterion is + // expected, in this format: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + } +} + +// Response message for a shared criterion mutate. +message MutateSharedCriteriaResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedCriterionResult results = 2; +} + +// The result for the shared criterion mutate. +message MutateSharedCriterionResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + }]; + + // The mutated shared criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.SharedCriterion shared_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/shared_set_service.proto new file mode 100644 index 00000000..5400ad23 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/shared_set_service.proto @@ -0,0 +1,149 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/resources/shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the Shared Set service. + +// Service to manage shared sets. +service SharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates, or removes shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/sharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v12.services.SharedSetService.MutateSharedSets]. +message MutateSharedSetsRequest { + // Required. The ID of the customer whose shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared sets. + repeated SharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v12.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an shared set. +message SharedSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared set. + google.ads.googleads.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; + + // Remove operation: A resource name for the removed shared set is expected, + // in this format: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + } +} + +// Response message for a shared set mutate. +message MutateSharedSetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (for example, auth + // errors), we return an RPC level error. + google.rpc.Status partial_failure_error = 3; + + // All results for the mutate. + repeated MutateSharedSetResult results = 2; +} + +// The result for the shared set mutate. +message MutateSharedSetResult { + // Returned for successful operations. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + }]; + + // The mutated shared set with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v12.resources.SharedSet shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_setting_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_setting_service.proto new file mode 100644 index 00000000..3d242b1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_setting_service.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/enums/response_content_type.proto"; +import "google/ads/googleads/v12/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.V12.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +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"; + +// 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"; + + // Updates Smart campaign settings for campaigns. + rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) returns (MutateSmartCampaignSettingsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [SmartCampaignSettingService.MutateSmartCampaignSetting][]. +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.v12.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.v12.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.v12.resources.SmartCampaignSetting smart_campaign_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto new file mode 100644 index 00000000..7a42f52f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/smart_campaign_suggest_service.proto @@ -0,0 +1,240 @@ +// 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.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"; +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.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"; + +// Service to get suggestions for Smart Campaigns. +service SmartCampaignSuggestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns BudgetOption suggestions. + rpc SuggestSmartCampaignBudgetOptions(SuggestSmartCampaignBudgetOptionsRequest) returns (SuggestSmartCampaignBudgetOptionsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + body: "*" + }; + } + + // Suggests a Smart campaign ad compatible with the Ad family of resources, + // based on data points such as targeting and the business to advertise. + rpc SuggestSmartCampaignAd(SuggestSmartCampaignAdRequest) returns (SuggestSmartCampaignAdResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:suggestSmartCampaignAd" + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:suggestKeywordThemes" + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. +message SuggestSmartCampaignBudgetOptionsRequest { + // Required. The ID of the customer whose budget options are to be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. For first time campaign creation use SuggestionInfo, for + // subsequent updates on BudgetOptions based on an already created campaign + // use that campaign. + oneof suggestion_data { + // Required. The resource name of the campaign to get suggestion for. + string campaign = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Information needed to get budget options + SmartCampaignSuggestionInfo suggestion_info = 3 [(google.api.field_behavior) = REQUIRED]; + } +} + +// Information needed to get suggestion for Smart Campaign. More information +// provided will help the system to derive better suggestions. +message SmartCampaignSuggestionInfo { + // A list of locations. + message LocationList { + // Required. Locations. + repeated google.ads.googleads.v12.common.LocationInfo locations = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A context that describes a business. + message BusinessContext { + // Optional. The name of the business. + string business_name = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Landing page URL of the campaign. + string final_url = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The two letter advertising language for the Smart campaign to be + // constructed, default to 'en' if not set. + string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The business ad schedule. + repeated google.ads.googleads.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]; + + // The business settings to consider when generating suggestions. + // Settings are automatically extracted from the business when provided. + // Otherwise, these settings must be specified explicitly. + oneof business_setting { + // Optional. Context describing the business to advertise. + BusinessContext business_context = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The resource name of a Business Profile location. + // Business Profile location resource names can be fetched through the + // Business Profile API and adhere to the following format: + // `locations/{locationId}`. + // + // See the [Business Profile API] + // (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) + // for additional details. + string business_profile_location = 9 [(google.api.field_behavior) = OPTIONAL]; + } + + // The geo target of the campaign, either a list of locations or + // a single proximity shall be specified. + oneof geo_target { + // Optional. The targeting geo location by locations. + LocationList location_list = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The targeting geo location by proximity. + google.ads.googleads.v12.common.ProximityInfo proximity = 5 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. Depending on +// whether the system could suggest the options, either all of the options or +// none of them might be returned. +message SuggestSmartCampaignBudgetOptionsResponse { + // Performance metrics for a given budget option. + message Metrics { + // The estimated min daily clicks. + int64 min_daily_clicks = 1; + + // The estimated max daily clicks. + int64 max_daily_clicks = 2; + } + + // Smart Campaign budget option. + message BudgetOption { + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + int64 daily_amount_micros = 1; + + // Metrics pertaining to the suggested budget, could be empty if there is + // not enough information to derive the estimates. + Metrics metrics = 2; + } + + // Optional. The lowest budget option. + optional BudgetOption low = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The recommended budget option. + optional BudgetOption recommended = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The highest budget option. + optional BudgetOption high = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inputs used to suggest a Smart campaign ad. + // Required fields: final_url, language_code, keyword_themes. + // Optional but recommended fields to improve the quality of the suggestion: + // business_setting and geo_target. + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.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]. +message SuggestKeywordThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Information to get keyword theme suggestions. + // Required fields: + // + // * suggestion_info.final_url + // * suggestion_info.language_code + // * suggestion_info.geo_target + // + // Recommended fields: + // + // * suggestion_info.business_setting + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v12.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesResponse { + // A Smart campaign keyword theme suggestion. + message KeywordTheme { + // A keyword theme. + oneof keyword_theme { + // A Smart campaign keyword theme constant. + google.ads.googleads.v12.resources.KeywordThemeConstant keyword_theme_constant = 1; + + // A free-form text keyword theme. + string free_form_keyword_theme = 2; + } + } + + // Smart campaign keyword theme suggestions. + repeated KeywordTheme keyword_themes = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto new file mode 100644 index 00000000..8fc32633 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v12.services; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/resource.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"; + +// This service allows management of links between Google Ads and third party +// app analytics. +service ThirdPartyAppAnalyticsLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be + // provided to the third party when setting up app analytics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RegenerateShareableLinkId(RegenerateShareableLinkIdRequest) returns (RegenerateShareableLinkIdResponse) { + option (google.api.http) = { + post: "/v12/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + body: "*" + }; + } +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Response message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v12.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse { + +} diff --git a/google-cloud/protos/google/ads/googleads/v12/services/user_data_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/user_data_service.proto new file mode 100644 index 00000000..0b336493 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/user_data_service.proto @@ -0,0 +1,104 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/common/offline_user_data.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the UserDataService. + +// Service to manage user data uploads. +// Any uploads made to a Customer Match list through this service will be +// eligible for matching as per the customer matching process. See +// https://support.google.com/google-ads/answer/7474263. However, the uploads +// made through this service will not be visible under the 'Segment members' +// section for the Customer Match List in the Google Ads UI. +service UserDataService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Uploads the given user data. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + // [UserDataError]() + rpc UploadUserData(UploadUserDataRequest) returns (UploadUserDataResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}:uploadUserData" + body: "*" + }; + } +} + +// Request message for [UserDataService.UploadUserData][google.ads.googleads.v12.services.UserDataService.UploadUserData] +message UploadUserDataRequest { + // Required. The ID of the customer for which to update the user data. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to be done. + repeated UserDataOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // Metadata of the request. + oneof metadata { + // Metadata for data updates to a Customer Match user list. + google.ads.googleads.v12.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 2; + } +} + +// Operation to be made for the UploadUserDataRequest. +message UserDataOperation { + // Operation to be made for the UploadUserDataRequest. + oneof operation { + // The list of user data to be appended to the user list. + google.ads.googleads.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] +// 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/google-cloud/protos/google/ads/googleads/v12/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v12/services/user_list_service.proto new file mode 100644 index 00000000..15aa300d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v12/services/user_list_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v12.services; + +import "google/ads/googleads/v12/resources/user_list.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.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"; + +// Proto file describing the User List service. + +// Service to manage user lists. +service UserListService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates or updates user lists. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [StringFormatError]() + // [StringLengthError]() + // [UserListError]() + rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) { + option (google.api.http) = { + post: "/v12/customers/{customer_id=*}/userLists:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [UserListService.MutateUserLists][google.ads.googleads.v12.services.UserListService.MutateUserLists]. +message MutateUserListsRequest { + // Required. The ID of the customer whose user lists are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual user lists. + repeated UserListOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a user list. +message UserListOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new user list. + google.ads.googleads.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; + + // 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/google-cloud/protos/google/ads/googleads/v2/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v2/common/ad_asset.proto deleted file mode 100644 index 0ca6d0ac..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/ad_asset.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/served_asset_field_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AdAssetProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing assets used inside an ad. - -// A text asset used inside an ad. -message AdTextAsset { - // Asset text. - google.protobuf.StringValue text = 1; - - // The pinned field of the asset. This restricts the asset to only serve - // within this field. Multiple assets can be pinned to the same field. An - // asset that is unpinned or pinned to a different field will not serve in a - // field where some other asset has been pinned. - google.ads.googleads.v2.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2; -} - -// An image asset used inside an ad. -message AdImageAsset { - // The Asset resource name of this image. - google.protobuf.StringValue asset = 1; -} - -// A video asset used inside an ad. -message AdVideoAsset { - // The Asset resource name of this video. - google.protobuf.StringValue asset = 1; -} - -// A media bundle asset used inside an ad. -message AdMediaBundleAsset { - // The Asset resource name of this media bundle. - google.protobuf.StringValue asset = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v2/common/ad_type_infos.proto deleted file mode 100644 index e3fabb34..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/ad_type_infos.proto +++ /dev/null @@ -1,583 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/common/ad_asset.proto"; -import "google/ads/googleads/v2/enums/call_conversion_reporting_state.proto"; -import "google/ads/googleads/v2/enums/display_ad_format_setting.proto"; -import "google/ads/googleads/v2/enums/display_upload_product_type.proto"; -import "google/ads/googleads/v2/enums/legacy_app_install_ad_app_store.proto"; -import "google/ads/googleads/v2/enums/mime_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AdTypeInfosProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file containing info messages for specific ad types. - -// A text ad. -message TextAdInfo { - // The headline of the ad. - google.protobuf.StringValue headline = 1; - - // The first line of the ad's description. - google.protobuf.StringValue description1 = 2; - - // The second line of the ad's description. - google.protobuf.StringValue description2 = 3; -} - -// An expanded text ad. -message ExpandedTextAdInfo { - // The first part of the ad's headline. - google.protobuf.StringValue headline_part1 = 1; - - // The second part of the ad's headline. - google.protobuf.StringValue headline_part2 = 2; - - // The third part of the ad's headline. - google.protobuf.StringValue headline_part3 = 6; - - // The description of the ad. - google.protobuf.StringValue description = 3; - - // The second description of the ad. - google.protobuf.StringValue description2 = 7; - - // The text that can appear alongside the ad's displayed URL. - google.protobuf.StringValue path1 = 4; - - // Additional text that can appear alongside the ad's displayed URL. - google.protobuf.StringValue path2 = 5; -} - -// A call-only ad. -message CallOnlyAdInfo { - // The country code in the ad. - google.protobuf.StringValue country_code = 1; - - // The phone number in the ad. - google.protobuf.StringValue phone_number = 2; - - // The business name in the ad. - google.protobuf.StringValue business_name = 3; - - // First headline in the ad. - google.protobuf.StringValue headline1 = 11; - - // Second headline in the ad. - google.protobuf.StringValue headline2 = 12; - - // The first line of the ad's description. - google.protobuf.StringValue description1 = 4; - - // The second line of the ad's description. - google.protobuf.StringValue description2 = 5; - - // Whether to enable call tracking for the creative. Enabling call - // tracking also enables call conversions. - google.protobuf.BoolValue 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. - google.protobuf.BoolValue disable_call_conversion = 7; - - // The URL to be used for phone number verification. - google.protobuf.StringValue 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. - google.protobuf.StringValue conversion_action = 9; - - // The call conversion behavior of this call only ad. It can use its own call - // conversion setting, inherit the account level setting, or be disabled. - google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; -} - -// An expanded dynamic search ad. -message ExpandedDynamicSearchAdInfo { - // The description of the ad. - google.protobuf.StringValue description = 1; - - // The second description of the ad. - google.protobuf.StringValue description2 = 2; -} - -// A hotel ad. -message HotelAdInfo { - -} - -// 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. - google.protobuf.StringValue headline = 1; -} - -// A Gmail ad. -message GmailAdInfo { - // The Gmail teaser. - GmailTeaser teaser = 1; - - // The MediaFile resource name of the header image. Valid image types are GIF, - // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must - // be between 3:1 and 5:1 (+-1%). - google.protobuf.StringValue header_image = 2; - - // The MediaFile resource name of the marketing image. Valid image types are - // GIF, JPEG and PNG. The image must either be landscape with a minimum size - // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a - // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) - google.protobuf.StringValue marketing_image = 3; - - // Headline of the marketing image. - google.protobuf.StringValue marketing_image_headline = 4; - - // Description of the marketing image. - google.protobuf.StringValue marketing_image_description = 5; - - // Display-call-to-action of the marketing image. - DisplayCallToAction marketing_image_display_call_to_action = 6; - - // Product images. Up to 15 images are supported. - repeated ProductImage product_images = 7; - - // Product videos. Up to 7 videos are supported. At least one product video - // or a marketing image must be specified. - repeated ProductVideo product_videos = 8; -} - -// Gmail teaser data. The teaser is a small header that acts as an invitation -// to view the rest of the ad (the body). -message GmailTeaser { - // Headline of the teaser. - google.protobuf.StringValue headline = 1; - - // Description of the teaser. - google.protobuf.StringValue description = 2; - - // Business name of the advertiser. - google.protobuf.StringValue business_name = 3; - - // The MediaFile resource name of the logo image. Valid image types are GIF, - // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must - // be 1:1 (+-1%). - google.protobuf.StringValue logo_image = 4; -} - -// Data for display call to action. The call to action is a piece of the ad -// that prompts the user to do something. Like clicking a link or making a phone -// call. -message DisplayCallToAction { - // Text for the display-call-to-action. - google.protobuf.StringValue text = 1; - - // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for - // white. - google.protobuf.StringValue text_color = 2; - - // Identifies the url collection in the ad.url_collections field. If not set - // the url defaults to final_url. - google.protobuf.StringValue url_collection_id = 3; -} - -// Product image specific data. -message ProductImage { - // The MediaFile resource name of the product image. Valid image types are - // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio - // must be 1:1 (+-1%). - google.protobuf.StringValue product_image = 1; - - // Description of the product. - google.protobuf.StringValue description = 2; - - // Display-call-to-action of the product image. - DisplayCallToAction display_call_to_action = 3; -} - -// Product video specific data. -message ProductVideo { - // The MediaFile resource name of a video which must be hosted on YouTube. - google.protobuf.StringValue product_video = 1; -} - -// An image ad. -message ImageAdInfo { - // Width in pixels of the full size image. - google.protobuf.Int64Value pixel_width = 4; - - // Height in pixels of the full size image. - google.protobuf.Int64Value pixel_height = 5; - - // URL of the full size image. - google.protobuf.StringValue image_url = 6; - - // Width in pixels of the preview size image. - google.protobuf.Int64Value preview_pixel_width = 7; - - // Height in pixels of the preview size image. - google.protobuf.Int64Value preview_pixel_height = 8; - - // URL of the preview size image. - google.protobuf.StringValue preview_image_url = 9; - - // The mime type of the image. - google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 10; - - // The name of the image. If the image was created from a MediaFile, this is - // the MediaFile's name. If the image was created from bytes, this is empty. - google.protobuf.StringValue name = 11; - - // 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. - google.protobuf.StringValue media_file = 1; - - // Raw image data as bytes. - google.protobuf.BytesValue data = 2; - - // An ad ID to copy the image from. - google.protobuf.Int64Value ad_id_to_copy_image_from = 3; - } -} - -// Representation of video bumper in-stream ad format (very short in-stream -// non-skippable video ad). -message VideoBumperInStreamAdInfo { - // The MediaFile resource name of the companion banner used with the ad. - google.protobuf.StringValue companion_banner = 1; -} - -// Representation of video non-skippable in-stream ad format (15 second -// in-stream non-skippable video ad). -message VideoNonSkippableInStreamAdInfo { - // The MediaFile resource name of the companion banner used with the ad. - google.protobuf.StringValue companion_banner = 1; -} - -// 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. - google.protobuf.StringValue action_button_label = 1; - - // Additional text displayed with the CTA (call-to-action) button to give - // context and encourage clicking on the button. - google.protobuf.StringValue action_headline = 2; - - // The MediaFile resource name of the companion banner used with the ad. - google.protobuf.StringValue companion_banner = 3; -} - -// Representation of video out-stream ad format (ad shown alongside a feed -// with automatic playback, without sound). -message VideoOutstreamAdInfo { - // The headline of the ad. - google.protobuf.StringValue headline = 1; - - // The description line. - google.protobuf.StringValue description = 2; -} - -// A video ad. -message VideoAdInfo { - // The MediaFile resource to use for the video. - google.protobuf.StringValue media_file = 1; - - // 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; - } -} - -// 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 may appear appended to the url displayed in the ad. - google.protobuf.StringValue path1 = 3; - - // Second part of text that may appear appended to the url displayed in the - // ad. This field can only be set when path1 is also set. - google.protobuf.StringValue path2 = 4; -} - -// 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. - google.protobuf.StringValue short_headline = 1; - - // The long version of the ad's headline. - google.protobuf.StringValue long_headline = 2; - - // The description of the ad. - google.protobuf.StringValue description = 3; - - // The business name in the ad. - google.protobuf.StringValue business_name = 4; - - // 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. - google.protobuf.BoolValue allow_flexible_color = 5; - - // The accent color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue accent_color = 6; - - // The main color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue main_color = 7; - - // The call-to-action text for the ad. - google.protobuf.StringValue call_to_action_text = 8; - - // The MediaFile resource name of the logo image used in the ad. - google.protobuf.StringValue logo_image = 9; - - // The MediaFile resource name of the square logo image used in the ad. - google.protobuf.StringValue square_logo_image = 10; - - // The MediaFile resource name of the marketing image used in the ad. - google.protobuf.StringValue marketing_image = 11; - - // The MediaFile resource name of the square marketing image used in the ad. - google.protobuf.StringValue square_marketing_image = 12; - - // Specifies which format the ad will be served in. Default is ALL_FORMATS. - google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; - - // Prefix before price. E.g. 'as low as'. - google.protobuf.StringValue price_prefix = 14; - - // Promotion text used for dyanmic formats of responsive ads. For example - // 'Free two-day shipping'. - google.protobuf.StringValue promo_text = 15; -} - -// An app ad. -message AppAdInfo { - // An optional text asset that, if specified, must always be displayed when - // the ad is served. - 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; -} - -// A legacy app install ad that only can be used by a few select customers. -message LegacyAppInstallAdInfo { - // The id of the mobile app. - google.protobuf.StringValue app_id = 1; - - // The app store the mobile app is available in. - google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; - - // The headline of the ad. - google.protobuf.StringValue headline = 3; - - // The first description line of the ad. - google.protobuf.StringValue description1 = 4; - - // The second description line of the ad. - google.protobuf.StringValue description2 = 5; -} - -// 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 square_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 vidoes 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. - google.protobuf.StringValue business_name = 9; - - // The main color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue main_color = 10; - - // The accent color of the ad in hexadecimal, e.g. #ffffff for white. - // If one of main_color and accent_color is set, the other is required as - // well. - google.protobuf.StringValue accent_color = 11; - - // 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. - google.protobuf.BoolValue allow_flexible_color = 12; - - // The call-to-action text for the ad. Maximum display width is 30. - google.protobuf.StringValue call_to_action_text = 13; - - // Prefix before price. E.g. 'as low as'. - google.protobuf.StringValue price_prefix = 14; - - // Promotion text used for dyanmic formats of responsive ads. For example - // 'Free two-day shipping'. - google.protobuf.StringValue promo_text = 15; - - // Specifies which format the ad will be served in. Default is ALL_FORMATS. - google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; -} - -// A generic type of display ad. The exact ad format is controlled by the -// display_upload_product_type field, which determines what kinds of data -// need to be included with the ad. -message DisplayUploadAdInfo { - // The product type of this ad. See comments on the enum for details. - google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; - - // The asset data that makes up the ad. - oneof media_asset { - // A media bundle asset to be used in the ad. For information about the - // media bundle for HTML5_UPLOAD_AD see - // https://support.google.com/google-ads/answer/1722096 - // Media bundles that are part of dynamic product types use a special format - // that needs to be created through the Google Web Designer. See - // https://support.google.com/webdesigner/answer/7543898 for more - // information. - AdMediaBundleAsset media_bundle = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v2/common/asset_types.proto deleted file mode 100644 index 09060d76..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/asset_types.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/mime_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "AssetTypesProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::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. - google.protobuf.StringValue youtube_video_id = 1; -} - -// 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. - google.protobuf.BytesValue data = 1; -} - -// An Image asset. -message ImageAsset { - // The raw bytes data of an image. This field is mutate only. - google.protobuf.BytesValue data = 1; - - // File size of the image asset in bytes. - google.protobuf.Int64Value file_size = 2; - - // MIME type of the image asset. - google.ads.googleads.v2.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. - google.protobuf.Int64Value height_pixels = 1; - - // Width of the image. - google.protobuf.Int64Value width_pixels = 2; - - // A URL that returns the image with this height and width. - google.protobuf.StringValue url = 3; -} - -// A Text asset. -message TextAsset { - // Text content of the text asset. - google.protobuf.StringValue text = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v2/common/bidding.proto deleted file mode 100644 index 016e3f3c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/bidding.proto +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/page_one_promoted_strategy_goal.proto"; -import "google/ads/googleads/v2/enums/target_impression_share_location.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "BiddingProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing bidding schemes. - -// Commission is an automatic bidding strategy in which the advertiser pays a -// certain portion of the conversion value. -message Commission { - // Commission rate defines the portion of the conversion value that the - // advertiser will be billed. A commission rate of x should be passed into - // this field as (x * 1,000,000). For example, 106,000 represents a commission - // rate of 0.106 (10.6%). - google.protobuf.Int64Value commission_rate_micros = 1; -} - -// 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. -message EnhancedCpc { - -} - -// Manual click-based bidding where user pays per click. -message ManualCpc { - // Whether bids are to be enhanced based on conversion optimizer data. - google.protobuf.BoolValue enhanced_cpc_enabled = 1; -} - -// 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 that sets bids to help get the most conversions -// for your campaign while spending your budget. -message MaximizeConversions { - -} - -// An automated bidding strategy which tries to maximize conversion value -// given a daily 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. - google.protobuf.DoubleValue target_roas = 1; -} - -// An automated bidding strategy which sets CPC bids to target impressions on -// page one, or page one promoted slots on google.com. -// This strategy is deprecated. -message PageOnePromoted { - // The strategy goal of where impressions are desired to be shown on - // search result pages. - google.ads.googleads.v2.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; - - // Bid multiplier to be applied to the relevant bid estimate (depending on - // the `strategy_goal`) in determining a keyword's new CPC bid. - google.protobuf.DoubleValue bid_modifier = 3; - - // Whether the strategy should always follow bid estimate changes, or only - // increase. - // If false, always sets a keyword's new bid to the current bid estimate. - // If true, only updates a keyword's bid if the current bid estimate is - // greater than the current bid. - google.protobuf.BoolValue only_raise_cpc_bids = 4; - - // Whether the strategy is allowed to raise bids when the throttling - // rate of the budget it is serving out of rises above a threshold. - google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5; - - // Whether the strategy is allowed to raise bids on keywords with - // lower-range quality scores. - google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6; -} - -// 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. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value 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. - google.protobuf.Int64Value cpc_bid_floor_micros = 3; -} - -// 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 { - -} - -// 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). -// Next Id = 4 -message TargetImpressionShare { - // The targeted location on the search results page. - google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; - - // The desired fraction of ads to be shown in the targeted location in micros. - // E.g. 1% equals 10,000. - google.protobuf.Int64Value location_fraction_micros = 2; - - // 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. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; -} - -// An automated bidding strategy that sets bids based on the target fraction of -// auctions where the advertiser should outrank a specific competitor. -// This strategy is deprecated. -message TargetOutrankShare { - // The target fraction of auctions where the advertiser should outrank the - // competitor. - // The advertiser outranks the competitor in an auction if either the - // advertiser appears above the competitor in the search results, or appears - // in the search results when the competitor does not. - // Value must be between 1 and 1000000, inclusive. - google.protobuf.Int32Value target_outrank_share_micros = 1; - - // Competitor's visible domain URL. - google.protobuf.StringValue competitor_domain = 2; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; - - // Whether the strategy should always follow bid estimate changes, - // or only increase. - // If false, always set a keyword's new bid to the current bid estimate. - // If true, only updates a keyword's bid if the current bid estimate is - // greater than the current bid. - google.protobuf.BoolValue only_raise_cpc_bids = 4; - - // Whether the strategy is allowed to raise bids on keywords with - // lower-range quality scores. - google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5; -} - -// An automated bidding strategy that helps you maximize revenue while -// averaging a specific target return on ad spend (ROAS). -message TargetRoas { - // Required. The desired revenue (based on conversion data) per unit of spend. - // Value must be between 0.01 and 1000.0, inclusive. - google.protobuf.DoubleValue target_roas = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value 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. - google.protobuf.Int64Value cpc_bid_floor_micros = 3; -} - -// 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. - google.protobuf.Int64Value target_spend_micros = 1; - - // Maximum bid limit that can be set by the bid strategy. - // The limit applies to all keywords managed by the strategy. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; -} - -// 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. - google.protobuf.Int64Value cpc_bid_ceiling_micros = 1; - - // 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. - google.protobuf.BoolValue enhanced_cpc_enabled = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v2/common/click_location.proto deleted file mode 100644 index 79888b52..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/click_location.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ClickLocationProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing a ClickLocation. - -// Location criteria associated with a click. -message ClickLocation { - // The city location criterion associated with the impression. - google.protobuf.StringValue city = 1; - - // The country location criterion associated with the impression. - google.protobuf.StringValue country = 2; - - // The metro location criterion associated with the impression. - google.protobuf.StringValue metro = 3; - - // The most specific location criterion associated with the impression. - google.protobuf.StringValue most_specific = 4; - - // The region location criterion associated with the impression. - google.protobuf.StringValue region = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v2/common/criteria.proto deleted file mode 100644 index b7ac1cca..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/criteria.proto +++ /dev/null @@ -1,594 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/age_range_type.proto"; -import "google/ads/googleads/v2/enums/app_payment_model_type.proto"; -import "google/ads/googleads/v2/enums/content_label_type.proto"; -import "google/ads/googleads/v2/enums/day_of_week.proto"; -import "google/ads/googleads/v2/enums/device.proto"; -import "google/ads/googleads/v2/enums/gender_type.proto"; -import "google/ads/googleads/v2/enums/hotel_date_selection_type.proto"; -import "google/ads/googleads/v2/enums/income_range_type.proto"; -import "google/ads/googleads/v2/enums/interaction_type.proto"; -import "google/ads/googleads/v2/enums/keyword_match_type.proto"; -import "google/ads/googleads/v2/enums/listing_custom_attribute_index.proto"; -import "google/ads/googleads/v2/enums/listing_group_type.proto"; -import "google/ads/googleads/v2/enums/location_group_radius_units.proto"; -import "google/ads/googleads/v2/enums/minute_of_hour.proto"; -import "google/ads/googleads/v2/enums/parental_status_type.proto"; -import "google/ads/googleads/v2/enums/preferred_content_type.proto"; -import "google/ads/googleads/v2/enums/product_bidding_category_level.proto"; -import "google/ads/googleads/v2/enums/product_channel.proto"; -import "google/ads/googleads/v2/enums/product_channel_exclusivity.proto"; -import "google/ads/googleads/v2/enums/product_condition.proto"; -import "google/ads/googleads/v2/enums/product_type_level.proto"; -import "google/ads/googleads/v2/enums/proximity_radius_units.proto"; -import "google/ads/googleads/v2/enums/webpage_condition_operand.proto"; -import "google/ads/googleads/v2/enums/webpage_condition_operator.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CriteriaProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing criteria types. - -// A keyword criterion. -message KeywordInfo { - // The text of the keyword (at most 80 characters and 10 words). - google.protobuf.StringValue text = 1; - - // The match type of the keyword. - google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; -} - -// A placement criterion. This can be used to modify bids for sites when -// targeting the content network. -message PlacementInfo { - // URL of the placement. - // - // For example, "http://www.domain.com". - google.protobuf.StringValue url = 1; -} - -// A mobile app category criterion. -message MobileAppCategoryInfo { - // The mobile app category constant resource name. - google.protobuf.StringValue mobile_app_category_constant = 1; -} - -// 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 (e.g., "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 - // (e.g., "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. - google.protobuf.StringValue app_id = 2; - - // Name of this mobile application. - google.protobuf.StringValue name = 3; -} - -// A location criterion. -message LocationInfo { - // The geo target constant resource name. - google.protobuf.StringValue geo_target_constant = 1; -} - -// A device criterion. -message DeviceInfo { - // Type of the device. - google.ads.googleads.v2.enums.DeviceEnum.Device type = 1; -} - -// A preferred content criterion. -message PreferredContentInfo { - // Type of the preferred content. - google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType type = 2; -} - -// A listing group criterion. -message ListingGroupInfo { - // Type of the listing group. - google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType type = 1; - - // Dimension value with which this listing group is refining its parent. - // Undefined for the root group. - ListingDimensionInfo case_value = 2; - - // Resource name of ad group criterion which is the parent listing group - // subdivision. Null for the root group. - google.protobuf.StringValue parent_ad_group_criterion = 3; -} - -// 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 { - // Brand of the listing. - ListingBrandInfo listing_brand = 1; - - // 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; - - // Listing custom attribute. - ListingCustomAttributeInfo listing_custom_attribute = 7; - - // Bidding category of a product offer. - ProductBiddingCategoryInfo product_bidding_category = 13; - - // 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; - - // Item id of a product offer. - ProductItemIdInfo product_item_id = 11; - - // Type of a product offer. - ProductTypeInfo product_type = 12; - - // Unknown dimension. Set when no other listing dimension is set. - UnknownListingDimensionInfo unknown_listing_dimension = 14; - } -} - -// Brand of the listing. -message ListingBrandInfo { - // String value of the listing brand. - google.protobuf.StringValue value = 1; -} - -// Advertiser-specific hotel ID. -message HotelIdInfo { - // String value of the hotel ID. - google.protobuf.StringValue value = 1; -} - -// Class of the hotel as a number of stars 1 to 5. -message HotelClassInfo { - // Long value of the hotel class. - google.protobuf.Int64Value value = 1; -} - -// Country or Region the hotel is located in. -message HotelCountryRegionInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue country_region_criterion = 1; -} - -// State the hotel is located in. -message HotelStateInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue state_criterion = 1; -} - -// City the hotel is located in. -message HotelCityInfo { - // The Geo Target Constant resource name. - google.protobuf.StringValue city_criterion = 1; -} - -// Listing custom attribute. -message ListingCustomAttributeInfo { - // String value of the listing custom attribute. - google.protobuf.StringValue value = 1; - - // Indicates the index of the custom attribute. - google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 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. - google.protobuf.Int64Value id = 1; - - // Two-letter upper-case country code of the product bidding category. It must - // match the campaign.shopping_setting.sales_country field. - google.protobuf.StringValue country_code = 2; - - // Level of the product bidding category. - google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; -} - -// Locality of a product offer. -message ProductChannelInfo { - // Value of the locality. - google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel channel = 1; -} - -// Availability of a product offer. -message ProductChannelExclusivityInfo { - // Value of the availability. - google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; -} - -// Condition of a product offer. -message ProductConditionInfo { - // Value of the condition. - google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition condition = 1; -} - -// Item id of a product offer. -message ProductItemIdInfo { - // Value of the id. - google.protobuf.StringValue value = 1; -} - -// Type of a product offer. -message ProductTypeInfo { - // Value of the type. - google.protobuf.StringValue value = 1; - - // Level of the type. - google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; -} - -// Unknown listing dimension. -message UnknownListingDimensionInfo { - -} - -// Criterion for hotel date selection (default dates vs. user selected). -message HotelDateSelectionTypeInfo { - // Type of the hotel date selection - google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; -} - -// Criterion for number of days prior to the stay the booking is being made. -message HotelAdvanceBookingWindowInfo { - // Low end of the number of days prior to the stay. - google.protobuf.Int64Value min_days = 1; - - // High end of the number of days prior to the stay. - google.protobuf.Int64Value max_days = 2; -} - -// Criterion for length of hotel stay in nights. -message HotelLengthOfStayInfo { - // Low end of the number of nights in the stay. - google.protobuf.Int64Value min_nights = 1; - - // High end of the number of nights in the stay. - google.protobuf.Int64Value max_nights = 2; -} - -// Criterion for day of the week the booking is for. -message HotelCheckInDayInfo { - // The day of the week. - google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; -} - -// Criterion for Interaction Type. -message InteractionTypeInfo { - // The interaction type. - google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType type = 1; -} - -// Represents an AdSchedule criterion. -// -// AdSchedule is specified as the day of the week and a time interval -// within which ads will be shown. -// -// No more than six AdSchedules can be added for the same day. -message AdScheduleInfo { - // Minutes after the start hour at which this schedule starts. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; - - // Minutes after the end hour at which this schedule ends. The schedule is - // exclusive of the end minute. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; - - // Starting hour in 24 hour time. - // This field must be between 0 and 23, inclusive. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.protobuf.Int32Value start_hour = 3; - - // 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. - google.protobuf.Int32Value end_hour = 4; - - // Day of the week the schedule applies to. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; -} - -// An age range criterion. -message AgeRangeInfo { - // Type of the age range. - google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType type = 1; -} - -// A gender criterion. -message GenderInfo { - // Type of the gender. - google.ads.googleads.v2.enums.GenderTypeEnum.GenderType type = 1; -} - -// An income range criterion. -message IncomeRangeInfo { - // Type of the income range. - google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; -} - -// A parental status criterion. -message ParentalStatusInfo { - // Type of the parental status. - google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; -} - -// A YouTube Video criterion. -message YouTubeVideoInfo { - // YouTube video id as it appears on the YouTube watch page. - google.protobuf.StringValue video_id = 1; -} - -// A YouTube Channel criterion. -message YouTubeChannelInfo { - // The YouTube uploader channel id or the channel code of a YouTube channel. - google.protobuf.StringValue channel_id = 1; -} - -// A User List criterion. Represents a user list that is defined by the -// advertiser to be targeted. -message UserListInfo { - // The User List resource name. - google.protobuf.StringValue user_list = 1; -} - -// 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. - google.protobuf.DoubleValue radius = 2; - - // The unit of measurement of the radius. Default is KILOMETERS. - google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; - - // Full address. - AddressInfo address = 4; -} - -// Geo point for proximity criterion. -message GeoPointInfo { - // Micro degrees for the longitude. - google.protobuf.Int32Value longitude_in_micro_degrees = 1; - - // Micro degrees for the latitude. - google.protobuf.Int32Value latitude_in_micro_degrees = 2; -} - -// Address for proximity criterion. -message AddressInfo { - // Postal code. - google.protobuf.StringValue postal_code = 1; - - // Province or state code. - google.protobuf.StringValue province_code = 2; - - // Country code. - google.protobuf.StringValue country_code = 3; - - // Province or state name. - google.protobuf.StringValue province_name = 4; - - // Street address line 1. - google.protobuf.StringValue street_address = 5; - - // 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. - google.protobuf.StringValue street_address2 = 6; - - // Name of the city. - google.protobuf.StringValue city_name = 7; -} - -// 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. - google.protobuf.StringValue topic_constant = 1; - - // 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 google.protobuf.StringValue path = 2; -} - -// A language criterion. -message LanguageInfo { - // The language constant resource name. - google.protobuf.StringValue language_constant = 1; -} - -// 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. - google.protobuf.StringValue ip_address = 1; -} - -// Content Label for category exclusion. -message ContentLabelInfo { - // Content label type, required for CREATE operations. - google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType type = 1; -} - -// Represents a Carrier Criterion. -message CarrierInfo { - // The Carrier constant resource name. - google.protobuf.StringValue carrier_constant = 1; -} - -// Represents a particular interest-based topic to be targeted. -message UserInterestInfo { - // The UserInterest resource name. - google.protobuf.StringValue user_interest_category = 1; -} - -// 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. - google.protobuf.StringValue criterion_name = 1; - - // Conditions, or logical expressions, for webpage targeting. The list of - // webpage targeting conditions are and-ed together when evaluated - // for targeting. - // - // This field is required for CREATE operations and is prohibited on UPDATE - // operations. - repeated WebpageConditionInfo conditions = 2; -} - -// Logical expression for targeting webpages of an advertiser's website. -message WebpageConditionInfo { - // Operand of webpage targeting condition. - google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; - - // Operator of webpage targeting condition. - google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; - - // Argument of webpage targeting condition. - google.protobuf.StringValue argument = 3; -} - -// Represents an operating system version to be targeted. -message OperatingSystemVersionInfo { - // The operating system version constant resource name. - google.protobuf.StringValue operating_system_version_constant = 1; -} - -// An app payment model criterion. -message AppPaymentModelInfo { - // Type of the app payment model. - google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType type = 1; -} - -// A mobile device criterion. -message MobileDeviceInfo { - // The mobile device constant resource name. - google.protobuf.StringValue mobile_device_constant = 1; -} - -// A custom affinity criterion. -// A criterion of this type is only targetable. -message CustomAffinityInfo { - // The CustomInterest resource name. - google.protobuf.StringValue custom_affinity = 1; -} - -// A custom intent criterion. -// A criterion of this type is only targetable. -message CustomIntentInfo { - // The CustomInterest resource name. - google.protobuf.StringValue custom_intent = 1; -} - -// A radius around a list of locations specified via a feed. -message LocationGroupInfo { - // Feed specifying locations for targeting. - // This is required and must be set in CREATE operations. - google.protobuf.StringValue feed = 1; - - // Geo target constant(s) restricting the scope of the geographic area within - // the feed. Currently only one geo target constant is allowed. - repeated google.protobuf.StringValue geo_target_constants = 2; - - // Distance in units specifying the radius around targeted locations. - // This is required and must be set in CREATE operations. - google.protobuf.Int64Value radius = 3; - - // Unit of the radius, miles and meters supported currently. - // This is required and must be set in CREATE operations. - google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v2/common/criterion_category_availability.proto deleted file mode 100644 index f067d48c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/criterion_category_availability.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/advertising_channel_sub_type.proto"; -import "google/ads/googleads/v2/enums/advertising_channel_type.proto"; -import "google/ads/googleads/v2/enums/criterion_category_channel_availability_mode.proto"; -import "google/ads/googleads/v2/enums/criterion_category_locale_availability_mode.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryAvailabilityProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing criterion category availability information. - -// Information of category availability, per advertising channel. -message CriterionCategoryAvailability { - // Channel types and subtypes that are available to the category. - CriterionCategoryChannelAvailability channel = 1; - - // Locales that are available to the category for the channel. - repeated CriterionCategoryLocaleAvailability locale = 2; -} - -// Information of advertising channel type and subtypes a category is available -// in. -message CriterionCategoryChannelAvailability { - // Format of the channel availability. Can be ALL_CHANNELS (the rest of the - // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type - // will be set, the category is available to all sub types under it) or - // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, - // advertising_channel_sub_type, and include_default_channel_sub_type will all - // be set). - google.ads.googleads.v2.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1; - - // Channel type the category is available to. - google.ads.googleads.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2; - - // Channel subtypes under the channel type the category is available to. - repeated google.ads.googleads.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3; - - // Whether default channel sub type is included. For example, - // advertising_channel_type being DISPLAY and include_default_channel_sub_type - // being false means that the default display campaign where channel sub type - // is not set is not included in this availability configuration. - google.protobuf.BoolValue include_default_channel_sub_type = 4; -} - -// Information about which locales a category is available in. -message CriterionCategoryLocaleAvailability { - // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and - // language will be empty), COUNTRY (only country will be set), LANGUAGE (only - // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will - // be set). - google.ads.googleads.v2.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; - - // Code of the country. - google.protobuf.StringValue country_code = 2; - - // Code of the language. - google.protobuf.StringValue language_code = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v2/common/custom_parameter.proto deleted file mode 100644 index 9634fe59..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/custom_parameter.proto +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "CustomParameterProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing CustomParameter and operation - -// A mapping that can be used by custom parameter tags in a -// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. -message CustomParameter { - // The key matching the parameter tag name. - google.protobuf.StringValue key = 1; - - // The value to be substituted. - google.protobuf.StringValue value = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/dates.proto b/google-cloud/protos/google/ads/googleads/v2/common/dates.proto deleted file mode 100644 index 6ead4150..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/dates.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "DatesProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing date range message. - -// A date range. -message DateRange { - // The start date, in yyyy-mm-dd format. This date is inclusive. - google.protobuf.StringValue start_date = 1; - - // The end date, in yyyy-mm-dd format. This date is inclusive. - google.protobuf.StringValue end_date = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v2/common/explorer_auto_optimizer_setting.proto deleted file mode 100644 index c106ea66..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/explorer_auto_optimizer_setting.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ExplorerAutoOptimizerSettingProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing ExplorerAutoOptimizerSetting - -// Settings for the Display Campaign Optimizer, initially named "Explorer". -// Learn more about -// [automatic targeting](https://support.google.com/google-ads/answer/190596). -message ExplorerAutoOptimizerSetting { - // Indicates whether the optimizer is turned on. - google.protobuf.BoolValue opt_in = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v2/common/extensions.proto deleted file mode 100644 index 23b0ec53..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/extensions.proto +++ /dev/null @@ -1,358 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/common/feed_common.proto"; -import "google/ads/googleads/v2/enums/app_store.proto"; -import "google/ads/googleads/v2/enums/call_conversion_reporting_state.proto"; -import "google/ads/googleads/v2/enums/price_extension_price_qualifier.proto"; -import "google/ads/googleads/v2/enums/price_extension_price_unit.proto"; -import "google/ads/googleads/v2/enums/price_extension_type.proto"; -import "google/ads/googleads/v2/enums/promotion_extension_discount_modifier.proto"; -import "google/ads/googleads/v2/enums/promotion_extension_occasion.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionsProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing extension types. - -// Represents an App extension. -message AppFeedItem { - // The visible text displayed when the link is rendered in an ad. - // This string must not be empty, and the length of this string should - // be between 1 and 25, inclusive. - google.protobuf.StringValue link_text = 1; - - // The store-specific ID for the target application. - // This string must not be empty. - google.protobuf.StringValue app_id = 2; - - // The application store that the target application belongs to. - // This field is required. - google.ads.googleads.v2.enums.AppStoreEnum.AppStore app_store = 3; - - // A list of possible final URLs after all cross domain redirects. - // This list must not be empty. - repeated google.protobuf.StringValue final_urls = 4; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 5; - - // URL template for constructing a tracking URL. Default value is "{lpurl}". - google.protobuf.StringValue tracking_url_template = 6; - - // 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. - google.protobuf.StringValue final_url_suffix = 8; -} - -// Represents a Call extension. -message CallFeedItem { - // The advertiser's phone number to append to the ad. - // This string must not be empty. - google.protobuf.StringValue phone_number = 1; - - // Uppercase two-letter country code of the advertiser's phone number. - // This string must not be empty. - google.protobuf.StringValue country_code = 2; - - // Indicates whether call tracking is enabled. By default, call tracking is - // not enabled. - google.protobuf.BoolValue call_tracking_enabled = 3; - - // 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. - google.protobuf.StringValue call_conversion_action = 4; - - // If true, disable call conversion tracking. call_conversion_action should - // not be set if this is true. Optional. - google.protobuf.BoolValue call_conversion_tracking_disabled = 5; - - // Enum value that indicates whether this call extension uses its own call - // conversion setting (or just have call conversion disabled), or following - // the account level setting. - google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; -} - -// Represents a callout extension. -message CalloutFeedItem { - // The callout text. - // The length of this string should be between 1 and 25, inclusive. - google.protobuf.StringValue callout_text = 1; -} - -// Represents a location extension. -message LocationFeedItem { - // The name of the business. - google.protobuf.StringValue business_name = 1; - - // Line 1 of the business address. - google.protobuf.StringValue address_line_1 = 2; - - // Line 2 of the business address. - google.protobuf.StringValue address_line_2 = 3; - - // City of the business address. - google.protobuf.StringValue city = 4; - - // Province of the business address. - google.protobuf.StringValue province = 5; - - // Postal code of the business address. - google.protobuf.StringValue postal_code = 6; - - // Country code of the business address. - google.protobuf.StringValue country_code = 7; - - // Phone number of the business. - google.protobuf.StringValue phone_number = 8; -} - -// Represents an affiliate location extension. -message AffiliateLocationFeedItem { - // The name of the business. - google.protobuf.StringValue business_name = 1; - - // Line 1 of the business address. - google.protobuf.StringValue address_line_1 = 2; - - // Line 2 of the business address. - google.protobuf.StringValue address_line_2 = 3; - - // City of the business address. - google.protobuf.StringValue city = 4; - - // Province of the business address. - google.protobuf.StringValue province = 5; - - // Postal code of the business address. - google.protobuf.StringValue postal_code = 6; - - // Country code of the business address. - google.protobuf.StringValue country_code = 7; - - // Phone number of the business. - google.protobuf.StringValue phone_number = 8; - - // Id of the retail chain that is advertised as a seller of your product. - google.protobuf.Int64Value chain_id = 9; - - // Name of chain. - google.protobuf.StringValue chain_name = 10; -} - -// 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. - google.protobuf.StringValue business_name = 1; - - // Uppercase two-letter country code of the advertiser's phone number. - // This field is required. - google.protobuf.StringValue country_code = 2; - - // The advertiser's phone number the message will be sent to. Required. - google.protobuf.StringValue phone_number = 3; - - // The text to show in the ad. - // This field is required. - google.protobuf.StringValue text = 4; - - // The message text populated in the messaging app. - google.protobuf.StringValue extension_text = 5; -} - -// Represents a Price extension. -message PriceFeedItem { - // Price extension type of this extension. - google.ads.googleads.v2.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1; - - // Price qualifier for all offers of this price extension. - google.ads.googleads.v2.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; - - // Tracking URL template for all offers of this price extension. - google.protobuf.StringValue tracking_url_template = 3; - - // The code of the language used for this price extension. - google.protobuf.StringValue language_code = 4; - - // The price offerings in this price extension. - repeated PriceOffer price_offerings = 5; - - // URL template for appending params to landing page URLs served with parallel - // tracking. - google.protobuf.StringValue final_url_suffix = 6; -} - -// Represents one price offer in a price extension. -message PriceOffer { - // Header text of this offer. - google.protobuf.StringValue header = 1; - - // Description text of this offer. - google.protobuf.StringValue description = 2; - - // Price value of this offer. - Money price = 3; - - // Price unit for this offer. - google.ads.googleads.v2.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; - - // A list of possible final URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_urls = 5; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 6; -} - -// Represents a Promotion extension. -message PromotionFeedItem { - // A freeform description of what the promotion is targeting. - // This field is required. - google.protobuf.StringValue promotion_target = 1; - - // Enum that modifies the qualification of the discount. - google.ads.googleads.v2.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; - - // Start date of when the promotion is eligible to be redeemed. - google.protobuf.StringValue promotion_start_date = 7; - - // End date of when the promotion is eligible to be redeemed. - google.protobuf.StringValue promotion_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.v2.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; - - // A list of possible final URLs after all cross domain redirects. - // This field is required. - repeated google.protobuf.StringValue final_urls = 10; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 11; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 12; - - // 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. - google.protobuf.StringValue final_url_suffix = 14; - - // The language of the promotion. - // Represented as BCP 47 language tag. - google.protobuf.StringValue language_code = 15; - - // 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. - google.protobuf.Int64Value 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. - google.protobuf.StringValue 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; - } -} - -// Represents a structured snippet extension. -message StructuredSnippetFeedItem { - // The header of the snippet. - // This string must not be empty. - google.protobuf.StringValue header = 1; - - // The values in the snippet. - // The maximum size of this collection is 10. - repeated google.protobuf.StringValue values = 2; -} - -// Represents a sitelink extension. -message SitelinkFeedItem { - // URL display text for the sitelink. - // The length of this string should be between 1 and 25, inclusive. - google.protobuf.StringValue link_text = 1; - - // 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. - google.protobuf.StringValue line1 = 2; - - // 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. - google.protobuf.StringValue line2 = 3; - - // A list of possible final URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_urls = 4; - - // A list of possible final mobile URLs after all cross domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 5; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 6; - - // 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. - google.protobuf.StringValue final_url_suffix = 8; -} - -// Represents a hotel callout extension. -message HotelCalloutFeedItem { - // The callout text. - // The length of this string should be between 1 and 25, inclusive. - google.protobuf.StringValue text = 1; - - // The language of the hotel callout text. - // IETF BCP 47 compliant language code. - google.protobuf.StringValue language_code = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v2/common/feed_common.proto deleted file mode 100644 index 39590d92..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/feed_common.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FeedCommonProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing common feed proto messages. - -// Represents a price in a particular currency. -message Money { - // Three-character ISO 4217 currency code. - google.protobuf.StringValue currency_code = 1; - - // Amount in micros. One million is equivalent to one unit. - google.protobuf.Int64Value amount_micros = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v2/common/final_app_url.proto deleted file mode 100644 index 23657008..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/final_app_url.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/app_url_operating_system_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FinalAppUrlProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file FinalAppUrl type. - -// A URL for deep linking into an app for the given operating system. -message FinalAppUrl { - // The operating system targeted by this URL. Required. - google.ads.googleads.v2.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; - - // The app deep link URL. Deep links specify a location in an app that - // corresponds to the content you'd like to show, and should be of the form - // {scheme}://{host_path} - // The scheme identifies which app to open. For your app, you can use a custom - // scheme that starts with the app's name. The host and path specify the - // unique location in the app where your content exists. - // Example: "exampleapp://productid_1234". Required. - google.protobuf.StringValue url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v2/common/frequency_cap.proto deleted file mode 100644 index 9d0f575a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/frequency_cap.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/frequency_cap_event_type.proto"; -import "google/ads/googleads/v2/enums/frequency_cap_level.proto"; -import "google/ads/googleads/v2/enums/frequency_cap_time_unit.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing frequency caps. - -// A rule specifying the maximum number of times an ad (or some set of ads) can -// be shown to a user over a particular time period. -message FrequencyCapEntry { - // The key of a particular frequency cap. There can be no more - // than one frequency cap with the same key. - FrequencyCapKey key = 1; - - // Maximum number of events allowed during the time range by this cap. - google.protobuf.Int32Value cap = 2; -} - -// 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 (e.g. ad group ad, ad group). - // The cap is applied to all the entities of this level. - google.ads.googleads.v2.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1; - - // The type of event that the cap applies to (e.g. impression). - google.ads.googleads.v2.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3; - - // Unit of time the cap is defined at (e.g. day, week). - google.ads.googleads.v2.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2; - - // Number of time units the cap lasts. - google.protobuf.Int32Value time_length = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v2/common/keyword_plan_common.proto deleted file mode 100644 index 9543c582..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/keyword_plan_common.proto +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/keyword_plan_competition_level.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCommonProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing Keyword Planner messages. - -// Historical metrics. -message KeywordPlanHistoricalMetrics { - // Average monthly searches for the past 12 months. - google.protobuf.Int64Value avg_monthly_searches = 1; - - // The competition level for the query. - google.ads.googleads.v2.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v2/common/matching_function.proto deleted file mode 100644 index 1596c7f3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/matching_function.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/matching_function_context_type.proto"; -import "google/ads/googleads/v2/enums/matching_function_operator.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing a matching function. - -// Matching function associated with a -// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used -// to filter the set of feed items selected. -message MatchingFunction { - // String representation of the Function. - // - // Examples: - // - // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. - // 2. EQUALS(CONTEXT.DEVICE,"Mobile") - // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) - // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) - // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) - // - // For more details, visit - // https://developers.google.com/adwords/api/docs/guides/feed-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. - google.protobuf.StringValue function_string = 1; - - // Operator for a function. - google.ads.googleads.v2.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; - - // The operands on the left hand side of the equation. This is also the - // operand to be used for single operand expressions such as NOT. - repeated Operand left_operands = 2; - - // The operands on the right hand side of the equation. - repeated Operand right_operands = 3; -} - -// An operand in a matching function. -message Operand { - // A constant operand in a matching function. - message ConstantOperand { - // Constant operand values. Required. - oneof constant_operand_value { - // String value of the operand if it is a string type. - google.protobuf.StringValue string_value = 1; - - // Int64 value of the operand if it is a int64 type. - google.protobuf.Int64Value long_value = 2; - - // Boolean value of the operand if it is a boolean type. - google.protobuf.BoolValue boolean_value = 3; - - // Double value of the operand if it is a double type. - google.protobuf.DoubleValue double_value = 4; - } - } - - // A feed attribute operand in a matching function. - // Used to represent a feed attribute in feed. - message FeedAttributeOperand { - // The associated feed. Required. - google.protobuf.Int64Value feed_id = 1; - - // Id of the referenced feed attribute. Required. - google.protobuf.Int64Value feed_attribute_id = 2; - } - - // A function operand in a matching function. - // Used to represent nested functions. - message FunctionOperand { - // The matching function held in this operand. - MatchingFunction matching_function = 1; - } - - // An operand in a function referring to a value in the request context. - message RequestContextOperand { - // Type of value to be referred in the request context. - google.ads.googleads.v2.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; - } - - // Different operands that can be used in a matching function. Required. - oneof function_argument_operand { - // A constant operand in a matching function. - ConstantOperand constant_operand = 1; - - // This operand specifies a feed attribute in feed. - FeedAttributeOperand feed_attribute_operand = 2; - - // A function operand in a matching function. - // Used to represent nested functions. - FunctionOperand function_operand = 3; - - // An operand in a function referring to a value in the request context. - RequestContextOperand request_context_operand = 4; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v2/common/metrics.proto deleted file mode 100644 index 2dafca63..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/metrics.proto +++ /dev/null @@ -1,534 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/interaction_event_type.proto"; -import "google/ads/googleads/v2/enums/quality_score_bucket.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "MetricsProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing metrics. - -// Metrics data. -message Metrics { - // The percent of your ad impressions that are shown as the very first ad - // above the organic search results. - google.protobuf.DoubleValue absolute_top_impression_percentage = 95; - - // Average cost of viewable impressions (`active_view_impressions`). - google.protobuf.DoubleValue active_view_cpm = 1; - - // Active view measurable clicks divided by active view viewable impressions. - // This metric is reported only for display network. - google.protobuf.DoubleValue active_view_ctr = 79; - - // A measurement of how often your ad has become viewable on a Display - // Network site. - google.protobuf.Int64Value active_view_impressions = 2; - - // The ratio of impressions that could be measured by Active View over the - // number of served impressions. - google.protobuf.DoubleValue active_view_measurability = 96; - - // The cost of the impressions you received that were measurable by Active - // View. - google.protobuf.Int64Value active_view_measurable_cost_micros = 3; - - // The number of times your ads are appearing on placements in positions - // where they can be seen. - google.protobuf.Int64Value active_view_measurable_impressions = 4; - - // The percentage of time when your ad appeared on an Active View enabled site - // (measurable impressions) and was viewable (viewable impressions). - google.protobuf.DoubleValue active_view_viewability = 97; - - // All conversions from interactions (as oppose to view through conversions) - // divided by the number of ad interactions. - google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65; - - // The total value of all conversions. - google.protobuf.DoubleValue all_conversions_value = 66; - - // The total number of conversions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue all_conversions = 7; - - // The value of all conversions divided by the total cost of ad interactions - // (such as clicks for text ads or views for video ads). - google.protobuf.DoubleValue all_conversions_value_per_cost = 62; - - // 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. - google.protobuf.DoubleValue all_conversions_from_click_to_call = 118; - - // 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. - google.protobuf.DoubleValue all_conversions_from_directions = 119; - - // The value of all conversions from interactions divided by the total number - // of interactions. - google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67; - - // 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. - google.protobuf.DoubleValue all_conversions_from_menu = 120; - - // The number of times people placed an order at a store after clicking an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_order = 121; - - // 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. - google.protobuf.DoubleValue all_conversions_from_other_engagement = 122; - - // Estimated number of times people visited a store after clicking an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_store_visit = 123; - - // The number of times that people were taken to a store's URL after clicking - // an ad. - // This metric applies to feed items only. - google.protobuf.DoubleValue all_conversions_from_store_website = 124; - - // The average amount you pay per interaction. This amount is the total cost - // of your ads divided by the total number of interactions. - google.protobuf.DoubleValue average_cost = 8; - - // The total cost of all clicks divided by the total number of clicks - // received. - google.protobuf.DoubleValue average_cpc = 9; - - // 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. - google.protobuf.DoubleValue average_cpe = 98; - - // Average cost-per-thousand impressions (CPM). - google.protobuf.DoubleValue average_cpm = 10; - - // 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. - google.protobuf.DoubleValue average_cpv = 11; - - // Average number of pages viewed per session. - google.protobuf.DoubleValue average_page_views = 99; - - // Total duration of all sessions (in seconds) / number of sessions. Imported - // from Google Analytics. - google.protobuf.DoubleValue average_time_on_site = 84; - - // An indication of how other advertisers are bidding on similar products. - google.protobuf.DoubleValue benchmark_average_max_cpc = 14; - - // 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. - google.protobuf.DoubleValue benchmark_ctr = 77; - - // Percentage of clicks where the user only visited a single page on your - // site. Imported from Google Analytics. - google.protobuf.DoubleValue bounce_rate = 15; - - // The number of clicks. - google.protobuf.Int64Value clicks = 19; - - // 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. - google.protobuf.Int64Value combined_clicks = 115; - - // 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. - google.protobuf.DoubleValue combined_clicks_per_query = 116; - - // 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. - google.protobuf.Int64Value combined_queries = 117; - - // 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. - google.protobuf.DoubleValue content_budget_lost_impression_share = 20; - - // 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. - google.protobuf.DoubleValue content_impression_share = 21; - - // 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 (e.g. 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. - google.protobuf.StringValue conversion_last_received_request_date_time = 73; - - // The date of the most recent conversion for this conversion action. The date - // is in the customer's time zone. - google.protobuf.StringValue conversion_last_conversion_date = 74; - - // 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. - google.protobuf.DoubleValue content_rank_lost_impression_share = 22; - - // 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. - google.protobuf.DoubleValue conversions_from_interactions_rate = 69; - - // The total value of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue conversions_value = 70; - - // 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. - google.protobuf.DoubleValue conversions_value_per_cost = 71; - - // 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. - google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72; - - // The number of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. - google.protobuf.DoubleValue conversions = 25; - - // The sum of your cost-per-click (CPC) and cost-per-thousand impressions - // (CPM) costs during this period. - google.protobuf.Int64Value cost_micros = 26; - - // The cost of ad interactions divided by all conversions. - google.protobuf.DoubleValue cost_per_all_conversions = 68; - - // The cost of ad interactions divided by conversions. This only includes - // conversion actions which include_in_conversions_metric attribute is set to - // true. - google.protobuf.DoubleValue cost_per_conversion = 28; - - // 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. - google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106; - - // 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. - google.protobuf.DoubleValue cross_device_conversions = 29; - - // The number of clicks your ad receives (Clicks) divided by the number - // of times your ad is shown (Impressions). - google.protobuf.DoubleValue ctr = 30; - - // 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. - google.protobuf.DoubleValue current_model_attributed_conversions = 101; - - // 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. - google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102; - - // 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. - google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103; - - // The total value of current model attributed conversions. This only includes - // conversion actions which include_in_conversions_metric attribute is set to - // true. - google.protobuf.DoubleValue current_model_attributed_conversions_value = 104; - - // 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. - google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105; - - // 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. - google.protobuf.DoubleValue engagement_rate = 31; - - // 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. - google.protobuf.Int64Value engagements = 32; - - // Average lead value of hotel. - google.protobuf.DoubleValue hotel_average_lead_value_micros = 75; - - // The average price difference between the price offered by reporting hotel - // advertiser and the cheapest price offered by the competing advertiser. - google.protobuf.DoubleValue hotel_price_difference_percentage = 129; - - // The creative historical quality score. - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; - - // The quality of historical landing page experience. - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; - - // The historical quality score. - google.protobuf.Int64Value historical_quality_score = 82; - - // The historical search predicted click through rate (CTR). - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; - - // The number of times the ad was forwarded to someone else as a message. - google.protobuf.Int64Value gmail_forwards = 85; - - // The number of times someone has saved your Gmail ad to their inbox as a - // message. - google.protobuf.Int64Value gmail_saves = 86; - - // The number of clicks to the landing page on the expanded state of Gmail - // ads. - google.protobuf.Int64Value gmail_secondary_clicks = 87; - - // The number of times a store's location-based ad was shown. - // This metric applies to feed items only. - google.protobuf.Int64Value impressions_from_store_reach = 125; - - // Count of how often your ad has appeared on a search results page or - // website on the Google Network. - google.protobuf.Int64Value impressions = 37; - - // 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. - google.protobuf.DoubleValue interaction_rate = 38; - - // 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. - google.protobuf.Int64Value interactions = 39; - - // The types of payable and free interactions. - repeated google.ads.googleads.v2.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; - - // The percentage of clicks filtered out of your total number of clicks - // (filtered + non-filtered clicks) during the reporting period. - google.protobuf.DoubleValue invalid_click_rate = 40; - - // Number of clicks Google considers illegitimate and doesn't charge you for. - google.protobuf.Int64Value invalid_clicks = 41; - - // Number of message chats initiated for Click To Message impressions that - // were message tracking eligible. - google.protobuf.Int64Value message_chats = 126; - - // Number of Click To Message impressions that were message tracking eligible. - google.protobuf.Int64Value message_impressions = 127; - - // 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. - google.protobuf.DoubleValue message_chat_rate = 128; - - // The percentage of mobile clicks that go to a mobile-friendly page. - google.protobuf.DoubleValue mobile_friendly_clicks_percentage = 109; - - // 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. - google.protobuf.Int64Value organic_clicks = 110; - - // 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. - google.protobuf.DoubleValue organic_clicks_per_query = 111; - - // 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. - google.protobuf.Int64Value organic_impressions = 112; - - // 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. - google.protobuf.DoubleValue organic_impressions_per_query = 113; - - // 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. - google.protobuf.Int64Value organic_queries = 114; - - // Percentage of first-time sessions (from people who had never visited your - // site before). Imported from Google Analytics. - google.protobuf.DoubleValue percent_new_visitors = 42; - - // Number of offline phone calls. - google.protobuf.Int64Value phone_calls = 43; - - // Number of offline phone impressions. - google.protobuf.Int64Value phone_impressions = 44; - - // Number of phone calls received (phone_calls) divided by the number of - // times your phone number is shown (phone_impressions). - google.protobuf.DoubleValue phone_through_rate = 45; - - // 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. - google.protobuf.DoubleValue relative_ctr = 46; - - // The percentage of the customer's Shopping or Search ad impressions that are - // shown in the most prominent Shopping position. See - // [this article](https://support.google.com/google-ads/answer/7501826) - // for details. Any value below 0.1 is reported as 0.0999. - google.protobuf.DoubleValue search_absolute_top_impression_share = 78; - - // 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. - google.protobuf.DoubleValue search_budget_lost_absolute_top_impression_share = 88; - - // 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. - google.protobuf.DoubleValue search_budget_lost_impression_share = 47; - - // 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. - google.protobuf.DoubleValue search_budget_lost_top_impression_share = 89; - - // 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. - google.protobuf.DoubleValue search_click_share = 48; - - // 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. - google.protobuf.DoubleValue search_exact_match_impression_share = 49; - - // 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. - google.protobuf.DoubleValue search_impression_share = 50; - - // 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. - google.protobuf.DoubleValue search_rank_lost_absolute_top_impression_share = 90; - - // 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. - google.protobuf.DoubleValue search_rank_lost_impression_share = 51; - - // 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. - google.protobuf.DoubleValue search_rank_lost_top_impression_share = 91; - - // 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. - google.protobuf.DoubleValue search_top_impression_share = 92; - - // 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. - google.protobuf.Int64Value speed_score = 107; - - // The percent of your ad impressions that are shown anywhere above the - // organic search results. - google.protobuf.DoubleValue top_impression_percentage = 93; - - // The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages - // that reach a valid AMP page. - google.protobuf.DoubleValue valid_accelerated_mobile_pages_clicks_percentage = 108; - - // The value of all conversions divided by the number of all conversions. - google.protobuf.DoubleValue value_per_all_conversions = 52; - - // 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. - google.protobuf.DoubleValue value_per_conversion = 53; - - // 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. - google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94; - - // Percentage of impressions where the viewer watched all of your video. - google.protobuf.DoubleValue video_quartile_100_rate = 54; - - // Percentage of impressions where the viewer watched 25% of your video. - google.protobuf.DoubleValue video_quartile_25_rate = 55; - - // Percentage of impressions where the viewer watched 50% of your video. - google.protobuf.DoubleValue video_quartile_50_rate = 56; - - // Percentage of impressions where the viewer watched 75% of your video. - google.protobuf.DoubleValue video_quartile_75_rate = 57; - - // The number of views your TrueView video ad receives divided by its number - // of impressions, including thumbnail impressions for TrueView in-display - // ads. - google.protobuf.DoubleValue video_view_rate = 58; - - // The number of times your video ads were viewed. - google.protobuf.Int64Value video_views = 59; - - // 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 (e.g., - // clicking on) another ad. - google.protobuf.Int64Value view_through_conversions = 60; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/policy.proto b/google-cloud/protos/google/ads/googleads/v2/common/policy.proto deleted file mode 100644 index d9644682..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/policy.proto +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/policy_topic_entry_type.proto"; -import "google/ads/googleads/v2/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; -import "google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_device.proto"; -import "google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "PolicyProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing policy information. - -// Key of the violation. The key is used for referring to a violation -// when filing an exemption request. -message PolicyViolationKey { - // Unique ID of the violated policy. - google.protobuf.StringValue policy_name = 1; - - // The text that violates the policy if specified. - // Otherwise, refers to the policy in general - // (e.g., 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. - google.protobuf.StringValue violating_text = 2; -} - -// Parameter for controlling how policy exemption is done. Ignorable policy -// topics are only usable with expanded text ads and responsive search ads. All -// other ad types must use policy violation keys. -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 google.protobuf.StringValue ignorable_policy_topics = 1; - - // The list of policy violation keys that should not cause a - // PolicyViolationError to be reported. Not all policy violations are - // exemptable, please 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 (e.g. 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. - google.protobuf.StringValue topic = 1; - - // Describes the negative or positive effect this policy will have on serving. - google.ads.googleads.v2.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; - - // Additional information that explains policy finding - // (e.g. the brand name for a trademark finding). - repeated PolicyTopicEvidence evidences = 3; - - // Indicates how serving of this resource may be affected (e.g. 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 google.protobuf.StringValue texts = 1; - } - - // 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 google.protobuf.StringValue websites = 1; - } - - // 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 google.protobuf.StringValue destination_texts = 1; - } - - // Evidence of mismatches between the URLs of a resource. - message DestinationMismatch { - // The set of URLs that did not match each other. - repeated google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; - } - - // Evidence details when the destination is returning an HTTP error - // code or isn't functional in all locations for commonly used devices. - message DestinationNotWorking { - // The full URL that didn't work. - google.protobuf.StringValue expanded_url = 3; - - // The type of device that failed to load the URL. - google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; - - // The time the URL was last checked. - // The format is "YYYY-MM-DD HH:MM:SS". - // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" - google.protobuf.StringValue last_checked_date_time = 5; - - // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. - oneof reason { - // The type of DNS error. - google.ads.googleads.v2.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; - - // The HTTP error code. - google.protobuf.Int64Value http_error_code = 2; - } - } - - // 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". - google.protobuf.StringValue language_code = 5; - - // 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. - google.protobuf.Int32Value total_targeted_countries = 1; - - // 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. - google.protobuf.StringValue country_criterion = 1; - } - - // 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/google-cloud/protos/google/ads/googleads/v2/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v2/common/real_time_bidding_setting.proto deleted file mode 100644 index 2869d1eb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/real_time_bidding_setting.proto +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "RealTimeBiddingSettingProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing RealTimeBiddingSetting - -// Settings for Real-Time Bidding, a feature only available for campaigns -// targeting the Ad Exchange network. -message RealTimeBiddingSetting { - // Whether the campaign is opted in to real-time bidding. - google.protobuf.BoolValue opt_in = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/segments.proto b/google-cloud/protos/google/ads/googleads/v2/common/segments.proto deleted file mode 100644 index a9c20a5f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/segments.proto +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/ad_network_type.proto"; -import "google/ads/googleads/v2/enums/click_type.proto"; -import "google/ads/googleads/v2/enums/conversion_action_category.proto"; -import "google/ads/googleads/v2/enums/conversion_attribution_event_type.proto"; -import "google/ads/googleads/v2/enums/conversion_lag_bucket.proto"; -import "google/ads/googleads/v2/enums/conversion_or_adjustment_lag_bucket.proto"; -import "google/ads/googleads/v2/enums/day_of_week.proto"; -import "google/ads/googleads/v2/enums/device.proto"; -import "google/ads/googleads/v2/enums/external_conversion_source.proto"; -import "google/ads/googleads/v2/enums/hotel_date_selection_type.proto"; -import "google/ads/googleads/v2/enums/hotel_price_bucket.proto"; -import "google/ads/googleads/v2/enums/hotel_rate_type.proto"; -import "google/ads/googleads/v2/enums/month_of_year.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/ads/googleads/v2/enums/product_channel.proto"; -import "google/ads/googleads/v2/enums/product_channel_exclusivity.proto"; -import "google/ads/googleads/v2/enums/product_condition.proto"; -import "google/ads/googleads/v2/enums/search_engine_results_page_type.proto"; -import "google/ads/googleads/v2/enums/search_term_match_type.proto"; -import "google/ads/googleads/v2/enums/slot.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "SegmentsProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing segment only fields. - -// Segment only fields. -message Segments { - // Ad network type. - google.ads.googleads.v2.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3; - - // Click type. - google.ads.googleads.v2.enums.ClickTypeEnum.ClickType click_type = 26; - - // Resource name of the conversion action. - google.protobuf.StringValue conversion_action = 52; - - // Conversion action category. - google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory conversion_action_category = 53; - - // Conversion action name. - google.protobuf.StringValue conversion_action_name = 54; - - // This segments your conversion columns by the original conversion and - // conversion value vs. 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. - google.protobuf.BoolValue conversion_adjustment = 27; - - // Conversion attribution event type. - google.ads.googleads.v2.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.v2.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.v2.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; - - // Date to which metrics apply. - // yyyy-MM-dd format, e.g., 2018-04-17. - google.protobuf.StringValue date = 4; - - // Day of the week, e.g., MONDAY. - google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; - - // Device to which metrics apply. - google.ads.googleads.v2.enums.DeviceEnum.Device device = 1; - - // External conversion source. - google.ads.googleads.v2.enums.ExternalConversionSourceEnum.ExternalConversionSource external_conversion_source = 55; - - // Resource name of the geo target constant that represents an airport. - google.protobuf.StringValue geo_target_airport = 65; - - // Resource name of the geo target constant that represents a canton. - google.protobuf.StringValue geo_target_canton = 76; - - // Resource name of the geo target constant that represents a city. - google.protobuf.StringValue geo_target_city = 62; - - // Resource name of the geo target constant that represents a country. - google.protobuf.StringValue geo_target_country = 77; - - // Resource name of the geo target constant that represents a county. - google.protobuf.StringValue geo_target_county = 68; - - // Resource name of the geo target constant that represents a district. - google.protobuf.StringValue geo_target_district = 69; - - // Resource name of the geo target constant that represents a metro. - google.protobuf.StringValue geo_target_metro = 63; - - // Resource name of the geo target constant that represents the most - // specific location. - google.protobuf.StringValue geo_target_most_specific_location = 72; - - // Resource name of the geo target constant that represents a postal code. - google.protobuf.StringValue geo_target_postal_code = 71; - - // Resource name of the geo target constant that represents a province. - google.protobuf.StringValue geo_target_province = 75; - - // Resource name of the geo target constant that represents a region. - google.protobuf.StringValue geo_target_region = 64; - - // Resource name of the geo target constant that represents a state. - google.protobuf.StringValue geo_target_state = 67; - - // Hotel booking window in days. - google.protobuf.Int64Value hotel_booking_window_days = 6; - - // Hotel center ID. - google.protobuf.Int64Value hotel_center_id = 7; - - // Hotel check-in date. Formatted as yyyy-MM-dd. - google.protobuf.StringValue hotel_check_in_date = 8; - - // Hotel check-in day of week. - google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 9; - - // Hotel city. - google.protobuf.StringValue hotel_city = 10; - - // Hotel class. - google.protobuf.Int32Value hotel_class = 11; - - // Hotel country. - google.protobuf.StringValue hotel_country = 12; - - // Hotel date selection type. - google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 13; - - // Hotel length of stay. - google.protobuf.Int32Value hotel_length_of_stay = 14; - - // Hotel rate rule ID. - google.protobuf.StringValue hotel_rate_rule_id = 73; - - // Hotel rate type. - google.ads.googleads.v2.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; - - // Hotel price bucket. - google.ads.googleads.v2.enums.HotelPriceBucketEnum.HotelPriceBucket hotel_price_bucket = 78; - - // Hotel state. - google.protobuf.StringValue hotel_state = 15; - - // Hour of day as a number between 0 and 23, inclusive. - google.protobuf.Int32Value hour = 16; - - // Only used with feed item metrics. - // Indicates whether the interaction metrics occurred on the feed item itself - // or a different extension or ad unit. - google.protobuf.BoolValue interaction_on_this_extension = 49; - - // Keyword criterion. - Keyword keyword = 61; - - // Month as represented by the date of the first day of a month. Formatted as - // yyyy-MM-dd. - google.protobuf.StringValue month = 17; - - // Month of the year, e.g., January. - google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear month_of_year = 18; - - // Partner hotel ID. - google.protobuf.StringValue partner_hotel_id = 19; - - // Placeholder type. This is only used with feed item metrics. - google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; - - // Aggregator ID of the product. - google.protobuf.UInt64Value product_aggregator_id = 28; - - // Bidding category (level 1) of the product. - google.protobuf.StringValue product_bidding_category_level1 = 56; - - // Bidding category (level 2) of the product. - google.protobuf.StringValue product_bidding_category_level2 = 57; - - // Bidding category (level 3) of the product. - google.protobuf.StringValue product_bidding_category_level3 = 58; - - // Bidding category (level 4) of the product. - google.protobuf.StringValue product_bidding_category_level4 = 59; - - // Bidding category (level 5) of the product. - google.protobuf.StringValue product_bidding_category_level5 = 60; - - // Brand of the product. - google.protobuf.StringValue product_brand = 29; - - // Channel of the product. - google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel product_channel = 30; - - // Channel exclusivity of the product. - google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31; - - // Condition of the product. - google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition product_condition = 32; - - // Resource name of the geo target constant for the country of sale of the - // product. - google.protobuf.StringValue product_country = 33; - - // Custom attribute 0 of the product. - google.protobuf.StringValue product_custom_attribute0 = 34; - - // Custom attribute 1 of the product. - google.protobuf.StringValue product_custom_attribute1 = 35; - - // Custom attribute 2 of the product. - google.protobuf.StringValue product_custom_attribute2 = 36; - - // Custom attribute 3 of the product. - google.protobuf.StringValue product_custom_attribute3 = 37; - - // Custom attribute 4 of the product. - google.protobuf.StringValue product_custom_attribute4 = 38; - - // Item ID of the product. - google.protobuf.StringValue product_item_id = 39; - - // Resource name of the language constant for the language of the product. - google.protobuf.StringValue product_language = 40; - - // Merchant ID of the product. - google.protobuf.UInt64Value product_merchant_id = 41; - - // Store ID of the product. - google.protobuf.StringValue product_store_id = 42; - - // Title of the product. - google.protobuf.StringValue product_title = 43; - - // Type (level 1) of the product. - google.protobuf.StringValue product_type_l1 = 44; - - // Type (level 2) of the product. - google.protobuf.StringValue product_type_l2 = 45; - - // Type (level 3) of the product. - google.protobuf.StringValue product_type_l3 = 46; - - // Type (level 4) of the product. - google.protobuf.StringValue product_type_l4 = 47; - - // Type (level 5) of the product. - google.protobuf.StringValue product_type_l5 = 48; - - // Quarter as represented by the date of the first day of a quarter. - // Uses the calendar year for quarters, e.g., the second quarter of 2018 - // starts on 2018-04-01. Formatted as yyyy-MM-dd. - google.protobuf.StringValue quarter = 21; - - // Type of the search engine results page. - google.ads.googleads.v2.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70; - - // Match type of the keyword that triggered the ad, including variants. - google.ads.googleads.v2.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22; - - // Position of the ad. - google.ads.googleads.v2.enums.SlotEnum.Slot slot = 23; - - // Resource name of the ad group criterion that represents webpage criterion. - google.protobuf.StringValue webpage = 66; - - // Week as defined as Monday through Sunday, and represented by the date of - // Monday. Formatted as yyyy-MM-dd. - google.protobuf.StringValue week = 24; - - // Year, formatted as yyyy. - google.protobuf.Int32Value year = 25; -} - -// A Keyword criterion segment. -message Keyword { - // The AdGroupCriterion resource name. - google.protobuf.StringValue ad_group_criterion = 1; - - // Keyword info. - KeywordInfo info = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v2/common/simulation.proto deleted file mode 100644 index 69a14010..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/simulation.proto +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "SimulationProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing simulation points. - -// A container for simulation points for simulations of type BID_MODIFIER. -message BidModifierSimulationPointList { - // Projected metrics for a series of bid modifier amounts. - repeated BidModifierSimulationPoint points = 1; -} - -// 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; -} - -// Projected metrics for a specific bid modifier amount. -message BidModifierSimulationPoint { - // The simulated bid modifier upon which projected metrics are based. - google.protobuf.DoubleValue bid_modifier = 1; - - // Projected number of biddable conversions. - // Only search advertising channel type supports this field. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - // Only search advertising channel type supports this field. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - // Only search advertising channel type supports this field. - google.protobuf.Int64Value top_slot_impressions = 7; - - // Projected number of biddable conversions for the parent resource. - // Only search advertising channel type supports this field. - google.protobuf.DoubleValue parent_biddable_conversions = 8; - - // Projected total value of biddable conversions for the parent resource. - // Only search advertising channel type supports this field. - google.protobuf.DoubleValue parent_biddable_conversions_value = 9; - - // Projected number of clicks for the parent resource. - google.protobuf.Int64Value parent_clicks = 10; - - // Projected cost in micros for the parent resource. - google.protobuf.Int64Value parent_cost_micros = 11; - - // Projected number of impressions for the parent resource. - google.protobuf.Int64Value parent_impressions = 12; - - // Projected number of top slot impressions for the parent resource. - // Only search advertising channel type supports this field. - google.protobuf.Int64Value parent_top_slot_impressions = 13; - - // Projected minimum daily budget that must be available to the parent - // resource to realize this simulation. - google.protobuf.Int64Value parent_required_budget_micros = 14; -} - -// Projected metrics for a specific CPC bid amount. -message CpcBidSimulationPoint { - // The simulated CPC bid upon which projected metrics are based. - google.protobuf.Int64Value cpc_bid_micros = 1; - - // Projected number of biddable conversions. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - // Only search advertising channel type supports this field. - google.protobuf.Int64Value top_slot_impressions = 7; -} - -// Projected metrics for a specific CPV bid amount. -message CpvBidSimulationPoint { - // The simulated CPV bid upon which projected metrics are based. - google.protobuf.Int64Value cpv_bid_micros = 1; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 2; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 3; - - // Projected number of views. - google.protobuf.Int64Value views = 4; -} - -// Projected metrics for a specific target CPA amount. -message TargetCpaSimulationPoint { - // The simulated target CPA upon which projected metrics are based. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Projected number of biddable conversions. - google.protobuf.DoubleValue biddable_conversions = 2; - - // Projected total value of biddable conversions. - google.protobuf.DoubleValue biddable_conversions_value = 3; - - // Projected number of clicks. - google.protobuf.Int64Value clicks = 4; - - // Projected cost in micros. - google.protobuf.Int64Value cost_micros = 5; - - // Projected number of impressions. - google.protobuf.Int64Value impressions = 6; - - // Projected number of top slot impressions. - // Only search advertising channel type supports this field. - google.protobuf.Int64Value top_slot_impressions = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v2/common/tag_snippet.proto deleted file mode 100644 index 7631d762..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/tag_snippet.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/tracking_code_page_format.proto"; -import "google/ads/googleads/v2/enums/tracking_code_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TagSnippetProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing TagSnippet - -// The site tag and event snippet pair for a TrackingCodeType. -message TagSnippet { - // The type of the generated tag snippets for tracking conversions. - google.ads.googleads.v2.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1; - - // The format of the web page where the tracking tag and snippet will be - // installed, e.g. HTML. - google.ads.googleads.v2.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2; - - // The site tag that adds visitors to your basic remarketing lists and sets - // new cookies on your domain. - google.protobuf.StringValue global_site_tag = 3; - - // The event snippet that works with the site tag to track actions that - // should be counted as conversions. - google.protobuf.StringValue event_snippet = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v2/common/targeting_setting.proto deleted file mode 100644 index a6a55d82..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/targeting_setting.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/targeting_dimension.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TargetingSettingProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::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.googleads.v2.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. - google.protobuf.BoolValue bid_only = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v2/common/text_label.proto deleted file mode 100644 index 6c091fd5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/text_label.proto +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "TextLabelProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::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. - google.protobuf.StringValue background_color = 1; - - // A short description of the label. The length must be no more than 200 - // characters. - google.protobuf.StringValue description = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v2/common/url_collection.proto deleted file mode 100644 index c7bc7a31..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/url_collection.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "UrlCollectionProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file UrlCollection type. - -// Collection of urls that is tagged with a unique identifier. -message UrlCollection { - // Unique identifier for this UrlCollection instance. - google.protobuf.StringValue url_collection_id = 1; - - // A list of possible final URLs. - repeated google.protobuf.StringValue final_urls = 2; - - // A list of possible final mobile URLs. - repeated google.protobuf.StringValue final_mobile_urls = 3; - - // URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v2/common/user_lists.proto deleted file mode 100644 index 6e204016..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/user_lists.proto +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/ads/googleads/v2/enums/customer_match_upload_key_type.proto"; -import "google/ads/googleads/v2/enums/user_list_combined_rule_operator.proto"; -import "google/ads/googleads/v2/enums/user_list_crm_data_source_type.proto"; -import "google/ads/googleads/v2/enums/user_list_date_rule_item_operator.proto"; -import "google/ads/googleads/v2/enums/user_list_logical_rule_operator.proto"; -import "google/ads/googleads/v2/enums/user_list_number_rule_item_operator.proto"; -import "google/ads/googleads/v2/enums/user_list_prepopulation_status.proto"; -import "google/ads/googleads/v2/enums/user_list_rule_type.proto"; -import "google/ads/googleads/v2/enums/user_list_string_rule_item_operator.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "UserListsProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// 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. - google.protobuf.StringValue seed_user_list = 1; -} - -// UserList of CRM users provided by the advertiser. -message CrmBasedUserListInfo { - // 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 (e.g., "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 - // (e.g., "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. - google.protobuf.StringValue app_id = 1; - - // Matching key type of the list. - // Mixed data types are not allowed on the same list. - // This field is required for an ADD operation. - google.ads.googleads.v2.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2; - - // Data source of the list. Default value is FIRST_PARTY. - // Only whitelisted customers can create third-party sourced CRM lists. - google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; -} - -// A client defined rule based on custom parameters sent by web sites or -// uploaded by the advertiser. -message UserListRuleInfo { - // Rule type is used to determine how to group rule items. - // - // The default is OR of ANDs (disjunctive normal form). - // That is, rule items will be ANDed together within rule item groups and the - // groups themselves will be ORed together. - // - // Currently AND of ORs (conjunctive normal form) is only supported for - // ExpressionRuleUserList. - google.ads.googleads.v2.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; - - // List of rule item groups that defines this rule. - // Rule item groups are grouped together based on rule_type. - repeated UserListRuleItemGroupInfo rule_item_groups = 2; -} - -// A group of rule items. -message UserListRuleItemGroupInfo { - // Rule items that will be grouped together based on rule_type. - repeated UserListRuleItemInfo rule_items = 1; -} - -// An atomic rule fragment. -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. - google.protobuf.StringValue name = 1; - - // An atomic rule fragment. - oneof rule_item { - // An atomic rule fragment composed of a number operation. - UserListNumberRuleItemInfo number_rule_item = 2; - - // An atomic rule fragment composed of a string operation. - UserListStringRuleItemInfo string_rule_item = 3; - - // An atomic rule fragment composed of a date operation. - UserListDateRuleItemInfo date_rule_item = 4; - } -} - -// A rule item composed of date operation. -message UserListDateRuleItemInfo { - // Date comparison operator. - // This field is required and must be populated when creating new date - // rule item. - google.ads.googleads.v2.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; - - // String representing date value to be compared with the rule variable. - // Supported date format is YYYY-MM-DD. - // Times are reported in the customer's time zone. - google.protobuf.StringValue value = 2; - - // 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. - google.protobuf.Int64Value offset_in_days = 3; -} - -// A rule item composed of number operation. -message UserListNumberRuleItemInfo { - // Number comparison operator. - // This field is required and must be populated when creating a new number - // rule item. - google.ads.googleads.v2.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; - - // Number value to be compared with the variable. - // This field is required and must be populated when creating a new number - // rule item. - google.protobuf.DoubleValue value = 2; -} - -// A rule item fragment composed of date operation. -message UserListStringRuleItemInfo { - // String comparison operator. - // This field is required and must be populated when creating a new string - // rule item. - google.ads.googleads.v2.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; - - // The right hand side of the string rule item. For URLs or referrer URLs, - // the value can not contain illegal URL chars such as newlines, quotes, - // tabs, or parentheses. This field is required and must be populated when - // creating a new string rule item. - google.protobuf.StringValue value = 2; -} - -// 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.v2.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3; -} - -// Visitors of a page during specific dates. -message DateSpecificRuleUserListInfo { - // Boolean rule that defines visitor of a page. - // - // Required for creating a date specific rule user list. - UserListRuleInfo rule = 1; - - // Start date of users visit. If set to 2000-01-01, then the list includes all - // users before end_date. The date's format should be YYYY-MM-DD. - // - // Required for creating a data specific rule user list. - google.protobuf.StringValue start_date = 2; - - // End date of users visit. If set to 2037-12-30, then the list includes all - // users after start_date. The date's format should be YYYY-MM-DD. - // - // Required for creating a data specific rule user list. - google.protobuf.StringValue end_date = 3; -} - -// Visitors of a page. The page visit is defined by one boolean rule expression. -message ExpressionRuleUserListInfo { - // Boolean rule that defines this user list. The rule consists of a list of - // rule item groups and each rule item group consists of a list of rule items. - // All the rule item groups are ORed or ANDed together for evaluation based on - // rule.rule_type. - // - // Required for creating an expression rule user list. - UserListRuleInfo rule = 1; -} - -// Representation of a userlist that is generated by a rule. -message RuleBasedUserListInfo { - // The status of pre-population. The field is default to NONE if not set which - // means the previous users will not be considered. If set to REQUESTED, past - // site visitors or app users who match the list definition will be included - // in the list (works on the Display Network only). This will only - // add past users from within the last 30 days, depending on the - // list's membership duration and the date when the remarketing tag is added. - // The status will be updated to FINISHED once request is processed, or FAILED - // if the request fails. - google.ads.googleads.v2.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1; - - // 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 during specific dates. The visiting periods are - // defined as follows: - // Between start_date (inclusive) and end_date (inclusive); - // Before end_date (exclusive) with start_date = 2000-01-01; - // After start_date (exclusive) with end_date = 2037-12-30. - DateSpecificRuleUserListInfo date_specific_rule_user_list = 3; - - // Visitors of a page. The page visit is defined by one boolean rule - // expression. - ExpressionRuleUserListInfo expression_rule_user_list = 4; - } -} - -// Represents a user list that is a custom combination of user lists. -message LogicalUserListInfo { - // Logical list rules that define this user list. The rules are defined as a - // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are - // ANDed when they are evaluated. - // - // Required for creating a logical user list. - repeated UserListLogicalRuleInfo rules = 1; -} - -// A user list logical rule. A rule has a logical operator (and/or/not) and a -// list of user lists as operands. -message UserListLogicalRuleInfo { - // The logical operator of the rule. - google.ads.googleads.v2.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; - - // The list of operands of the rule. - repeated LogicalUserListOperandInfo rule_operands = 2; -} - -// Operand of logical user list that consists of a user list. -message LogicalUserListOperandInfo { - // Resource name of a user list as an operand. - google.protobuf.StringValue user_list = 1; -} - -// 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. - google.protobuf.StringValue conversion_action = 1; - - // A remarketing action. - google.protobuf.StringValue remarketing_action = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/common/value.proto b/google-cloud/protos/google/ads/googleads/v2/common/value.proto deleted file mode 100644 index d899fd67..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/common/value.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.common; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/common;common"; -option java_multiple_files = true; -option java_outer_classname = "ValueProto"; -option java_package = "com.google.ads.googleads.v2.common"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V2::Common"; - -// Proto file describing value types - -// A generic data container. -message Value { - // A value. - oneof value { - // A boolean. - bool boolean_value = 1; - - // An int64. - int64 int64_value = 2; - - // A float. - float float_value = 3; - - // A double. - double double_value = 4; - - // A string. - string string_value = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v2/enums/access_reason.proto deleted file mode 100644 index 01f7773b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/access_reason.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccessReasonProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Indicates the way the resource such as user list is related to a user. -message AccessReasonEnum { - // Enum describing possible access reasons. - enum AccessReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The resource is owned by the user. - OWNED = 2; - - // The resource is shared to the user. - SHARED = 3; - - // The resource is licensed to the user. - LICENSED = 4; - - // The user subscribed to the resource. - SUBSCRIBED = 5; - - // The resource is accessible to the user. - AFFILIATED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/access_role.proto b/google-cloud/protos/google/ads/googleads/v2/enums/access_role.proto deleted file mode 100644 index f0c0b19f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/access_role.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccessRoleProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing possible access role for user. -message AccessRoleEnum { - // Possible access role of a user. - enum AccessRole { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Owns its account and can control the addition of other users. - ADMIN = 2; - - // Can modify campaigns, but can't affect other users. - STANDARD = 3; - - // Can view campaigns and account changes, but cannot make edits. - READ_ONLY = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_status.proto deleted file mode 100644 index de207743..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_status.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing AccountBudgetProposal statuses. - -// Message describing AccountBudgetProposal statuses. -message AccountBudgetProposalStatusEnum { - // The possible statuses of an AccountBudgetProposal. - enum AccountBudgetProposalStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The proposal is pending approval. - PENDING = 2; - - // The proposal has been approved but the corresponding billing setup - // has not. This can occur for proposals that set up the first budget - // when signing up for billing or when performing a change of bill-to - // operation. - APPROVED_HELD = 3; - - // The proposal has been approved. - APPROVED = 4; - - // The proposal has been cancelled by the user. - CANCELLED = 5; - - // The proposal has been rejected by the user, e.g. by rejecting an - // acceptance email. - REJECTED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_type.proto deleted file mode 100644 index 91df41fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_proposal_type.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing AccountBudgetProposal types. - -// Message describing AccountBudgetProposal types. -message AccountBudgetProposalTypeEnum { - // The possible types of an AccountBudgetProposal. - enum AccountBudgetProposalType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Identifies a request to create a new budget. - CREATE = 2; - - // Identifies a request to edit an existing budget. - UPDATE = 3; - - // Identifies a request to end a budget that has already started. - END = 4; - - // Identifies a request to remove a budget that hasn't started yet. - REMOVE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_status.proto deleted file mode 100644 index d39190f4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/account_budget_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing AccountBudget statuses. - -// Message describing AccountBudget statuses. -message AccountBudgetStatusEnum { - // The possible statuses of an AccountBudget. - enum AccountBudgetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The account budget is pending approval. - PENDING = 2; - - // The account budget has been approved. - APPROVED = 3; - - // The account budget has been cancelled by the user. - CANCELLED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_customizer_placeholder_field.proto deleted file mode 100644 index 10ed0355..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_customizer_placeholder_field.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Ad Customizer placeholder fields. - -// Values for Ad Customizer placeholder fields. -message AdCustomizerPlaceholderFieldEnum { - // Possible values for Ad Customizers placeholder fields. - enum AdCustomizerPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: INT64. Integer value to be inserted. - INTEGER = 2; - - // Data Type: STRING. Price value to be inserted. - PRICE = 3; - - // Data Type: DATE_TIME. Date value to be inserted. - DATE = 4; - - // Data Type: STRING. String value to be inserted. - STRING = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_rotation_mode.proto deleted file mode 100644 index e3ee2a9a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_rotation_mode.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdRotationModeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing ad group ad rotation mode. - -// Container for enum describing possible ad rotation modes of ads within an -// ad group. -message AdGroupAdRotationModeEnum { - // The possible ad rotation modes of an ad group. - enum AdGroupAdRotationMode { - // The ad rotation mode has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Optimize ad group ads based on clicks or conversions. - OPTIMIZE = 2; - - // Rotate evenly forever. - ROTATE_FOREVER = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_status.proto deleted file mode 100644 index 906e6bbb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_ad_status.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_approval_status.proto deleted file mode 100644 index 7add7c98..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_approval_status.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing approval status for the criterion. - -// Container for enum describing possible AdGroupCriterion approval statuses. -message AdGroupCriterionApprovalStatusEnum { - // Enumerates AdGroupCriterion approval statuses. - enum AdGroupCriterionApprovalStatus { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Approved. - APPROVED = 2; - - // Disapproved. - DISAPPROVED = 3; - - // Pending Review. - PENDING_REVIEW = 4; - - // Under review. - UNDER_REVIEW = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_status.proto deleted file mode 100644 index cac580ae..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_criterion_status.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing AdGroupCriterion statuses. - -// Message describing AdGroupCriterion statuses. -message AdGroupCriterionStatusEnum { - // The possible statuses of an AdGroupCriterion. - enum AdGroupCriterionStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The ad group criterion is enabled. - ENABLED = 2; - - // The ad group criterion is paused. - PAUSED = 3; - - // The ad group criterion is removed. - REMOVED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_status.proto deleted file mode 100644 index ca2191a2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_status.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing ad group status. - -// Container for enum describing possible statuses of an ad group. -message AdGroupStatusEnum { - // The possible statuses of an ad group. - enum AdGroupStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The ad group is enabled. - ENABLED = 2; - - // The ad group is paused. - PAUSED = 3; - - // The ad group is removed. - REMOVED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_type.proto deleted file mode 100644 index 1bc24973..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_group_type.proto +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing ad group types. - -// Defines types of an ad group, specific to a particular campaign channel -// type. This type drives validations that restrict which entities can be -// added to the ad group. -message AdGroupTypeEnum { - // Enum listing the possible types of an ad group. - enum AdGroupType { - // The type has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The default ad group type for Search campaigns. - SEARCH_STANDARD = 2; - - // The default ad group type for Display campaigns. - DISPLAY_STANDARD = 3; - - // The ad group type for Shopping campaigns serving standard product ads. - SHOPPING_PRODUCT_ADS = 4; - - // The default ad group type for Hotel campaigns. - HOTEL_ADS = 6; - - // The type for ad groups in Smart Shopping campaigns. - SHOPPING_SMART_ADS = 7; - - // Short unskippable in-stream video ads. - VIDEO_BUMPER = 8; - - // TrueView (skippable) in-stream video ads. - VIDEO_TRUE_VIEW_IN_STREAM = 9; - - // TrueView in-display video ads. - VIDEO_TRUE_VIEW_IN_DISPLAY = 10; - - // Unskippable in-stream video ads. - VIDEO_NON_SKIPPABLE_IN_STREAM = 11; - - // Outstream video ads. - VIDEO_OUTSTREAM = 12; - - // Ad group type for Dynamic Search Ads ad groups. - SEARCH_DYNAMIC_ADS = 13; - - // The type for ad groups in Shopping Comparison Listing campaigns. - SHOPPING_COMPARISON_LISTING_ADS = 14; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_network_type.proto deleted file mode 100644 index 4bdb4131..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_network_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdNetworkTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_serving_optimization_status.proto deleted file mode 100644 index a6390384..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_serving_optimization_status.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdServingOptimizationStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing ad serving statuses. - -// Possible ad serving statuses of a campaign. -message AdServingOptimizationStatusEnum { - // Enum describing possible serving statuses. - enum AdServingOptimizationStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Ad serving is optimized based on CTR for the campaign. - OPTIMIZE = 2; - - // Ad serving is optimized based on CTR * Conversion for the campaign. If - // the campaign is not in the conversion optimizer bidding strategy, it will - // default to OPTIMIZED. - CONVERSION_OPTIMIZE = 3; - - // Ads are rotated evenly for 90 days, then optimized for clicks. - ROTATE = 4; - - // Show lower performing ads more evenly with higher performing ads, and do - // not optimize. - ROTATE_INDEFINITELY = 5; - - // Ad serving optimization status is not available. - UNAVAILABLE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_strength.proto deleted file mode 100644 index 1bb8b2a5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_strength.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdStrengthProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/ad_type.proto deleted file mode 100644 index 4ab10599..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/ad_type.proto +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_sub_type.proto deleted file mode 100644 index 8f9f3cf4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_sub_type.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdvertisingChannelSubTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing advertising channel subtypes. - -// An immutable specialization of an Advertising Channel. -message AdvertisingChannelSubTypeEnum { - // Enum describing the different channel subtypes. - enum AdvertisingChannelSubType { - // Not specified. - UNSPECIFIED = 0; - - // Used as a return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile app campaigns for Search. - SEARCH_MOBILE_APP = 2; - - // Mobile app campaigns for Display. - DISPLAY_MOBILE_APP = 3; - - // AdWords express campaigns for search. - SEARCH_EXPRESS = 4; - - // AdWords Express campaigns for display. - DISPLAY_EXPRESS = 5; - - // Smart Shopping campaigns. - SHOPPING_SMART_ADS = 6; - - // Gmail Ad campaigns. - DISPLAY_GMAIL_AD = 7; - - // Smart display campaigns. - 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 allows you to 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; - - // Shopping Comparison Listing campaigns. - SHOPPING_COMPARISON_LISTING_ADS = 15; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_type.proto deleted file mode 100644 index 027cdbcc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/advertising_channel_type.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AdvertisingChannelTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing advertising channel types - -// The channel type a campaign may target to serve on. -message AdvertisingChannelTypeEnum { - // Enum describing the various advertising channel types. - enum AdvertisingChannelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Search Network. Includes display bundled, and Search+ campaigns. - SEARCH = 2; - - // Google Display Network only. - DISPLAY = 3; - - // Shopping campaigns serve on the shopping property - // and on google.com search results. - SHOPPING = 4; - - // Hotel Ads campaigns. - HOTEL = 5; - - // Video campaigns. - VIDEO = 6; - - // App Campaigns, and App Campaigns for Engagement, that run - // across multiple channels. - MULTI_CHANNEL = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_feed_relationship_type.proto deleted file mode 100644 index 8289101f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_feed_relationship_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing relation type for affiliate location feeds. - -// Container for enum describing possible values for a relationship type for -// an affiliate location feed. -message AffiliateLocationFeedRelationshipTypeEnum { - // Possible values for a relationship type for an affiliate location feed. - enum AffiliateLocationFeedRelationshipType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // General retailer relationship. - GENERAL_RETAILER = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_placeholder_field.proto deleted file mode 100644 index f2adb8db..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/affiliate_location_placeholder_field.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Affiliate Location placeholder fields. - -// Values for Affiliate Location placeholder fields. -message AffiliateLocationPlaceholderFieldEnum { - // Possible values for Affiliate Location placeholder fields. - enum AffiliateLocationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of the business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 3; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 4; - - // Data Type: STRING. City of the business address. - CITY = 5; - - // Data Type: STRING. Province of the business address. - PROVINCE = 6; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 7; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 8; - - // Data Type: STRING. Phone number of the business. - PHONE_NUMBER = 9; - - // Data Type: STRING. Language code of the business. - LANGUAGE_CODE = 10; - - // Data Type: INT64. ID of the chain. - CHAIN_ID = 11; - - // Data Type: STRING. Name of the chain. - CHAIN_NAME = 12; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/age_range_type.proto deleted file mode 100644 index 8d15a5c6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/age_range_type.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing age range types. - -// Container for enum describing the type of demographic age ranges. -message AgeRangeTypeEnum { - // The type of demographic age ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_app_store.proto deleted file mode 100644 index 49f4a88a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_app_store.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppCampaignAppStoreProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing App Campaign app store. - -// The application store that distributes mobile applications. -message AppCampaignAppStoreEnum { - // Enum describing app campaign app store. - enum AppCampaignAppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple app store. - APPLE_APP_STORE = 2; - - // Google play. - GOOGLE_APP_STORE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_bidding_strategy_goal_type.proto deleted file mode 100644 index d6dc7dcd..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_campaign_bidding_strategy_goal_type.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing App Campaign bidding strategy goal types. - -// Container for enum describing goal towards which the bidding strategy of an -// app campaign should optimize for. -message AppCampaignBiddingStrategyGoalTypeEnum { - // Goal type of App campaign BiddingStrategy. - enum AppCampaignBiddingStrategyGoalType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Aim to maximize the number of app installs. The cpa bid is the - // target cost per install. - OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; - - // Aim to maximize the long term number of selected in-app conversions from - // app installs. The cpa bid is the target cost per install. - OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; - - // Aim to maximize the long term number of selected in-app conversions from - // app installs. The cpa bid is the target cost per in-app conversion. Note - // that the actual cpa may seem higher than the target cpa at first, since - // the long term conversions haven’t happened yet. - OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; - - // Aim to maximize all conversions' value, i.e. install + selected in-app - // conversions while achieving or exceeding target return on advertising - // spend. - OPTIMIZE_RETURN_ON_ADVERTISING_SPEND = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_payment_model_type.proto deleted file mode 100644 index f85fedd6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_payment_model_type.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppPaymentModelTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing criteria types. - -// Represents a criterion for targeting paid apps. -message AppPaymentModelTypeEnum { - // Enum describing possible app payment models. - enum AppPaymentModelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Represents paid-for apps. - PAID = 30; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_placeholder_field.proto deleted file mode 100644 index 3fc34b80..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_placeholder_field.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing App placeholder fields. - -// Values for App placeholder fields. -message AppPlaceholderFieldEnum { - // Possible values for App placeholder fields. - enum AppPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: INT64. The application store that the target application - // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play - // Store. - STORE = 2; - - // Data Type: STRING. The store-specific ID for the target application. - ID = 3; - - // Data Type: STRING. The visible text displayed when the link is rendered - // in an ad. - LINK_TEXT = 4; - - // Data Type: STRING. The destination URL of the in-app link. - URL = 5; - - // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded - // URLs. - FINAL_URLS = 6; - - // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using - // Upgraded URLs. - FINAL_MOBILE_URLS = 7; - - // Data Type: URL. Tracking template for the in-app link when using Upgraded - // URLs. - TRACKING_URL = 8; - - // Data Type: STRING. Final URL suffix for the in-app link when using - // parallel tracking. - FINAL_URL_SUFFIX = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_store.proto deleted file mode 100644 index a12b57b0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_store.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppStoreProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing app store types for an app extension. - -// Container for enum describing app store type in an app extension. -message AppStoreEnum { - // App store type in an app extension. - enum AppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple iTunes. - APPLE_ITUNES = 2; - - // Google Play. - GOOGLE_PLAY = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/app_url_operating_system_type.proto deleted file mode 100644 index f56691ef..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/app_url_operating_system_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AppUrlOperatingSystemTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing operating system for a deeplink app URL. - -// The possible OS types for a deeplink AppUrl. -message AppUrlOperatingSystemTypeEnum { - // Operating System - enum AppUrlOperatingSystemType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The Apple IOS operating system. - IOS = 2; - - // The Android operating system. - ANDROID = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/asset_field_type.proto deleted file mode 100644 index fa266471..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/asset_field_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AssetFieldTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing asset type. - -// Container for enum describing the possible placements of an asset. -message AssetFieldTypeEnum { - // Enum describing the possible placements of an asset. - enum AssetFieldType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The asset is linked for use as a headline. - HEADLINE = 2; - - // The asset is linked for use as a description. - DESCRIPTION = 3; - - // The asset is linked for use as mandatory ad text. - MANDATORY_AD_TEXT = 4; - - // The asset is linked for use as a marketing image. - MARKETING_IMAGE = 5; - - // The asset is linked for use as a media bundle. - MEDIA_BUNDLE = 6; - - // The asset is linked for use as a YouTube video. - YOUTUBE_VIDEO = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/asset_performance_label.proto b/google-cloud/protos/google/ads/googleads/v2/enums/asset_performance_label.proto deleted file mode 100644 index 205a30b9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/asset_performance_label.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AssetPerformanceLabelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the performance label of an asset. - -// Container for enum describing the performance label of an asset. -message AssetPerformanceLabelEnum { - // Enum describing the possible performance labels of an asset, usually - // computed in the context of a linkage. - enum AssetPerformanceLabel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // This asset does not yet have any performance informantion. This may be - // because it is still under review. - PENDING = 2; - - // The asset has started getting impressions but the stats are not - // statistically significant enough to get an asset performance label. - LEARNING = 3; - - // Worst performing assets. - LOW = 4; - - // Good performing assets. - GOOD = 5; - - // Best performing assets. - BEST = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/asset_type.proto deleted file mode 100644 index 80851683..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/asset_type.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AssetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v2/enums/attribution_model.proto deleted file mode 100644 index 0f0b0ae4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/attribution_model.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "AttributionModelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum representing the attribution model that describes how to -// distribute credit for a particular conversion across potentially many prior -// interactions. -message AttributionModelEnum { - // The attribution model that describes how to distribute credit for a - // particular conversion across potentially many prior interactions. - enum AttributionModel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Uses external attribution. - EXTERNAL = 100; - - // Attributes all credit for a conversion to its last click. - GOOGLE_ADS_LAST_CLICK = 101; - - // Attributes all credit for a conversion to its first click using Google - // Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; - - // Attributes credit for a conversion equally across all of its clicks using - // Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; - - // Attributes exponentially more credit for a conversion to its more recent - // clicks using Google Search attribution (half-life is 1 week). - GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; - - // Attributes 40% of the credit for a conversion to its first and last - // clicks. Remaining 20% is evenly distributed across all other clicks. This - // uses Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; - - // Flexible model that uses machine learning to determine the appropriate - // distribution of credit among clicks using Google Search attribution. - GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v2/enums/bid_modifier_source.proto deleted file mode 100644 index 494df692..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/bid_modifier_source.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BidModifierSourceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bid modifier source. - -// Container for enum describing possible bid modifier sources. -message BidModifierSourceEnum { - // Enum describing possible bid modifier sources. - enum BidModifierSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The bid modifier is specified at the campaign level, on the campaign - // level criterion. - CAMPAIGN = 2; - - // The bid modifier is specified (overridden) at the ad group level. - AD_GROUP = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v2/enums/bidding_source.proto deleted file mode 100644 index 6f6cd5d6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_source.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingSourceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bidding sources. - -// Container for enum describing possible bidding sources. -message BiddingSourceEnum { - // Indicates where a bid or target is defined. For example, an ad group - // criterion may define a cpc bid directly, or it can inherit its cpc bid from - // the ad group. - enum BiddingSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Effective bid or target is inherited from campaign bidding strategy. - CAMPAIGN_BIDDING_STRATEGY = 5; - - // The bid or target is defined on the ad group. - AD_GROUP = 6; - - // The bid or target is defined on the ad group criterion. - AD_GROUP_CRITERION = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_status.proto deleted file mode 100644 index ae543a85..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_status.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing BiddingStrategy statuses. - -// Message describing BiddingStrategy statuses. -message BiddingStrategyStatusEnum { - // The possible statuses of a BiddingStrategy. - enum BiddingStrategyStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The bidding strategy is enabled. - ENABLED = 2; - - // The bidding strategy is removed. - REMOVED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_type.proto deleted file mode 100644 index 42474f55..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/bidding_strategy_type.proto +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bidding schemes. - -// Container for enum describing possible bidding strategy types. -message BiddingStrategyTypeEnum { - // Enum describing possible bidding strategy types. - enum BiddingStrategyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Commission is an automatic bidding strategy in which the advertiser pays - // a certain portion of the conversion value. - COMMISSION = 16; - - // Enhanced CPC is a bidding strategy that raises bids for clicks - // that seem more likely to lead to a conversion and lowers - // them for clicks where they seem less likely. - ENHANCED_CPC = 2; - - // 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/google-cloud/protos/google/ads/googleads/v2/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/billing_setup_status.proto deleted file mode 100644 index 23c2a7a2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/billing_setup_status.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing BillingSetup statuses. - -// Message describing BillingSetup statuses. -message BillingSetupStatusEnum { - // The possible statuses of a BillingSetup. - enum BillingSetupStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The billing setup is pending approval. - PENDING = 2; - - // The billing setup has been approved but the corresponding first budget - // has not. This can only occur for billing setups configured for monthly - // invoicing. - APPROVED_HELD = 3; - - // The billing setup has been approved. - APPROVED = 4; - - // The billing setup was cancelled by the user prior to approval. - CANCELLED = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v2/enums/brand_safety_suitability.proto deleted file mode 100644 index d59c9320..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/brand_safety_suitability.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BrandSafetySuitabilityProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing brand safety suitability settings. - -// Container for enum with 3-Tier brand safety suitability control. -message BrandSafetySuitabilityEnum { - // 3-Tier brand safety suitability control. - enum BrandSafetySuitability { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // This option lets you show ads across all inventory on YouTube and video - // partners that meet our standards for monetization. This option may be an - // appropriate choice for brands that want maximum access to the full - // breadth of videos eligible for ads, including, for example, videos that - // have strong profanity in the context of comedy or a documentary, or - // excessive violence as featured in video games. - EXPANDED_INVENTORY = 2; - - // This option lets you show ads across a wide range of content that's - // appropriate for most brands, such as popular music videos, documentaries, - // and movie trailers. The content you can show ads on is based on YouTube's - // advertiser-friendly content guidelines that take into account, for - // example, the strength or frequency of profanity, or the appropriateness - // of subject matter like sensitive events. Ads won't show, for example, on - // content with repeated strong profanity, strong sexual content, or graphic - // violence. - STANDARD_INVENTORY = 3; - - // This option lets you show ads on a reduced range of content that's - // appropriate for brands with particularly strict guidelines around - // inappropriate language and sexual suggestiveness; above and beyond what - // YouTube's advertiser-friendly content guidelines address. The videos - // accessible in this sensitive category meet heightened requirements, - // especially for inappropriate language and sexual suggestiveness. For - // example, your ads will be excluded from showing on some of YouTube's most - // popular music videos and other pop culture content across YouTube and - // Google video partners. - LIMITED_INVENTORY = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v2/enums/budget_delivery_method.proto deleted file mode 100644 index 1d8bc02b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/budget_delivery_method.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetDeliveryMethodProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Budget delivery methods. - -// Message describing Budget delivery methods. A delivery method determines the -// rate at which the Budget is spent. -message BudgetDeliveryMethodEnum { - // Possible delivery methods of a Budget. - enum BudgetDeliveryMethod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The budget server will throttle serving evenly across - // the entire time period. - STANDARD = 2; - - // The budget server will not throttle serving, - // and ads will serve as fast as possible. - ACCELERATED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v2/enums/budget_period.proto deleted file mode 100644 index aef6ce52..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/budget_period.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetPeriodProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Budget delivery methods. - -// Message describing Budget period. -message BudgetPeriodEnum { - // Possible period of a Budget. - enum BudgetPeriod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Daily budget. - DAILY = 2; - - // Custom budget. - CUSTOM = 3; - - // Fixed daily budget. - FIXED_DAILY = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/budget_status.proto deleted file mode 100644 index e2e3b8a5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/budget_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Budget statuses - -// Message describing a Budget status -message BudgetStatusEnum { - // Possible statuses of a Budget. - enum BudgetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Budget is enabled. - ENABLED = 2; - - // Budget is removed. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/budget_type.proto deleted file mode 100644 index 6e9fc133..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/budget_type.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "BudgetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Budget types. - -// Describes Budget types. -message BudgetTypeEnum { - // Possible Budget types. - enum BudgetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Budget type for standard Google Ads usage. - // Caps daily spend at two times the specified budget amount. - // Full details: https://support.google.com/google-ads/answer/6385083 - STANDARD = 2; - - // Budget type for Hotels Ads commission program. - // Full details: https://support.google.com/google-ads/answer/9243945 - // - // This type is only supported by campaigns with - // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION and - // PaymentMode.CONVERSION_VALUE. - HOTEL_ADS_COMMISSION = 3; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v2/enums/call_conversion_reporting_state.proto deleted file mode 100644 index d4175bb6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/call_conversion_reporting_state.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CallConversionReportingStateProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/call_placeholder_field.proto deleted file mode 100644 index 7f7ed94d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/call_placeholder_field.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CallPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Call placeholder fields. - -// Values for Call placeholder fields. -message CallPlaceholderFieldEnum { - // Possible values for Call placeholder fields. - enum CallPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The advertiser's phone number to append to the ad. - PHONE_NUMBER = 2; - - // Data Type: STRING. Uppercase two-letter country code of the advertiser's - // phone number. - COUNTRY_CODE = 3; - - // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: - // true. - TRACKED = 4; - - // Data Type: INT64. The ID of an AdCallMetricsConversion object. This - // object contains the phoneCallDurationfield which is the minimum duration - // (in seconds) of a call to be considered a conversion. - CONVERSION_TYPE_ID = 5; - - // Data Type: STRING. Indicates whether this call extension uses its own - // call conversion setting or follows the account level setting. - // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and - // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. - CONVERSION_REPORTING_STATE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/callout_placeholder_field.proto deleted file mode 100644 index 2e6c3613..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/callout_placeholder_field.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CalloutPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Callout placeholder fields. - -// Values for Callout placeholder fields. -message CalloutPlaceholderFieldEnum { - // Possible values for Callout placeholder fields. - enum CalloutPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Callout text. - CALLOUT_TEXT = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_criterion_status.proto deleted file mode 100644 index 2c42aa3d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_criterion_status.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_draft_status.proto deleted file mode 100644 index 18877e35..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_draft_status.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign draft status. - -// Container for enum describing possible statuses of a campaign draft. -message CampaignDraftStatusEnum { - // Possible statuses of a campaign draft. - enum CampaignDraftStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Initial state of the draft, the advertiser can start adding changes with - // no effect on serving. - PROPOSED = 2; - - // The campaign draft is removed. - REMOVED = 3; - - // Advertiser requested to promote draft's changes back into the original - // campaign. Advertiser can poll the long running operation returned by - // the promote action to see the status of the promotion. - PROMOTING = 5; - - // The process to merge changes in the draft back to the original campaign - // has completed successfully. - PROMOTED = 4; - - // The promotion failed after it was partially applied. Promote cannot be - // attempted again safely, so the issue must be corrected in the original - // campaign. - PROMOTE_FAILED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_status.proto deleted file mode 100644 index 4a73946a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_status.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign experiment status. - -// Container for enum describing possible statuses of a campaign experiment. -message CampaignExperimentStatusEnum { - // Possible statuses of a campaign experiment. - enum CampaignExperimentStatus { - // The status has not been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The experiment campaign is being initialized. - INITIALIZING = 2; - - // Initialization of the experiment campaign failed. - INITIALIZATION_FAILED = 8; - - // The experiment campaign is fully initialized. The experiment is currently - // running, scheduled to run in the future or has ended based on its - // end date. An experiment with the status INITIALIZING will be updated to - // ENABLED when it is fully created. - ENABLED = 3; - - // The experiment campaign was graduated to a stand-alone - // campaign, existing independently of the experiment. - GRADUATED = 4; - - // The experiment is removed. - REMOVED = 5; - - // The experiment's changes are being applied to the original campaign. - // The long running operation returned by the promote method can be polled - // to see the status of the promotion. - PROMOTING = 6; - - // Promote of the experiment campaign failed. - PROMOTION_FAILED = 9; - - // The changes of the experiment are promoted to their original campaign. - PROMOTED = 7; - - // The experiment was ended manually. It did not end based on its end date. - ENDED_MANUALLY = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_traffic_split_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_traffic_split_type.proto deleted file mode 100644 index fcb1de0b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_traffic_split_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentTrafficSplitTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign experiment traffic split type. - -// Container for enum describing campaign experiment traffic split type. -message CampaignExperimentTrafficSplitTypeEnum { - // Enum of strategies for splitting traffic between base and experiment - // campaigns in campaign experiment. - enum CampaignExperimentTrafficSplitType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Traffic is randomly assigned to the base or experiment arm for each - // query, independent of previous assignments for the same user. - RANDOM_QUERY = 2; - - // Traffic is split using cookies to keep users in the same arm (base or - // experiment) of the experiment. - COOKIE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_type.proto deleted file mode 100644 index 01a6f716..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_experiment_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign experiment type. - -// Container for enum describing campaign experiment type. -message CampaignExperimentTypeEnum { - // Indicates if this campaign is a normal campaign, - // a draft campaign, or an experiment campaign. - enum CampaignExperimentType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // This is a regular campaign. - BASE = 2; - - // This is a draft version of a campaign. - // It has some modifications from a base campaign, - // but it does not serve or accrue metrics. - DRAFT = 3; - - // This is an experiment version of a campaign. - // It has some modifications from a base campaign, - // and a percentage of traffic is being diverted - // from the BASE campaign to this experiment campaign. - EXPERIMENT = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_serving_status.proto deleted file mode 100644 index ee998e3c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_serving_status.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignServingStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Campaign serving statuses. - -// Message describing Campaign serving statuses. -message CampaignServingStatusEnum { - // Possible serving statuses of a campaign. - enum CampaignServingStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Serving. - SERVING = 2; - - // None. - NONE = 3; - - // Ended. - ENDED = 4; - - // Pending. - PENDING = 5; - - // Suspended. - SUSPENDED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_shared_set_status.proto deleted file mode 100644 index f35ec720..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_shared_set_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign shared set statuses. - -// Container for enum describing types of campaign shared set statuses. -message CampaignSharedSetStatusEnum { - // Enum listing the possible campaign shared set statuses. - enum CampaignSharedSetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The campaign shared set is enabled. - ENABLED = 2; - - // The campaign shared set is removed and can no longer be used. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/campaign_status.proto deleted file mode 100644 index 21ffd9d2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/campaign_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CampaignStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing campaign status. - -// Container for enum describing possible statuses of a campaign. -message CampaignStatusEnum { - // Possible statuses of a campaign. - enum CampaignStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Campaign is currently serving ads depending on budget information. - ENABLED = 2; - - // Campaign has been paused by the user. - PAUSED = 3; - - // Campaign has been removed. - REMOVED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v2/enums/change_status_operation.proto deleted file mode 100644 index 8361cc33..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/change_status_operation.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusOperationProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the change status operations. - -// Container for enum describing operations for the ChangeStatus resource. -message ChangeStatusOperationEnum { - // Status of the changed resource - enum ChangeStatusOperation { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents an unclassified resource unknown - // in this version. - UNKNOWN = 1; - - // The resource was created. - ADDED = 2; - - // The resource was modified. - CHANGED = 3; - - // The resource was removed. - REMOVED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/change_status_resource_type.proto deleted file mode 100644 index 983aa47e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/change_status_resource_type.proto +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusResourceTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the resource types the ChangeStatus resource supports. - -// Container for enum describing supported resource types for the ChangeStatus -// resource. -message ChangeStatusResourceTypeEnum { - // Enum listing the resource types support by the ChangeStatus resource. - enum ChangeStatusResourceType { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents an unclassified resource unknown - // in this version. - UNKNOWN = 1; - - // An AdGroup resource change. - AD_GROUP = 3; - - // An AdGroupAd resource change. - AD_GROUP_AD = 4; - - // An AdGroupCriterion resource change. - AD_GROUP_CRITERION = 5; - - // A Campaign resource change. - CAMPAIGN = 6; - - // A CampaignCriterion resource change. - CAMPAIGN_CRITERION = 7; - - // A Feed resource change. - FEED = 9; - - // A FeedItem resource change. - FEED_ITEM = 10; - - // An AdGroupFeed resource change. - AD_GROUP_FEED = 11; - - // A CampaignFeed resource change. - CAMPAIGN_FEED = 12; - - // An AdGroupBidModifier resource change. - AD_GROUP_BID_MODIFIER = 13; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/click_type.proto deleted file mode 100644 index 6318147f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/click_type.proto +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ClickTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing click types. - -// Container for enumeration of Google Ads click types. -message ClickTypeEnum { - // Enumerates Google Ads click types. - enum ClickType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // App engagement ad deep link. - APP_DEEPLINK = 2; - - // Breadcrumbs. - BREADCRUMBS = 3; - - // Broadband Plan. - BROADBAND_PLAN = 4; - - // Manually dialed phone calls. - CALL_TRACKING = 5; - - // Phone calls. - CALLS = 6; - - // Click on engagement ad. - CLICK_ON_ENGAGEMENT_AD = 7; - - // Driving direction. - GET_DIRECTIONS = 8; - - // Get location details. - LOCATION_EXPANSION = 9; - - // Call. - LOCATION_FORMAT_CALL = 10; - - // Directions. - LOCATION_FORMAT_DIRECTIONS = 11; - - // Image(s). - LOCATION_FORMAT_IMAGE = 12; - - // Go to landing page. - LOCATION_FORMAT_LANDING_PAGE = 13; - - // Map. - LOCATION_FORMAT_MAP = 14; - - // Go to store info. - LOCATION_FORMAT_STORE_INFO = 15; - - // Text. - LOCATION_FORMAT_TEXT = 16; - - // Mobile phone calls. - MOBILE_CALL_TRACKING = 17; - - // Print offer. - OFFER_PRINTS = 18; - - // Other. - OTHER = 19; - - // Product plusbox offer. - PRODUCT_EXTENSION_CLICKS = 20; - - // Shopping - Product - Online. - PRODUCT_LISTING_AD_CLICKS = 21; - - // Sitelink. - SITELINKS = 22; - - // Show nearby locations. - STORE_LOCATOR = 23; - - // Headline. - URL_CLICKS = 25; - - // App store. - VIDEO_APP_STORE_CLICKS = 26; - - // Call-to-Action overlay. - VIDEO_CALL_TO_ACTION_CLICKS = 27; - - // Cards. - VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; - - // End cap. - VIDEO_END_CAP_CLICKS = 29; - - // Website. - VIDEO_WEBSITE_CLICKS = 30; - - // Visual Sitelinks. - VISUAL_SITELINKS = 31; - - // Wireless Plan. - WIRELESS_PLAN = 32; - - // Shopping - Product - Local. - PRODUCT_LISTING_AD_LOCAL = 33; - - // Shopping - Product - MultiChannel Local. - PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; - - // Shopping - Product - MultiChannel Online. - PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; - - // Shopping - Product - Coupon. - PRODUCT_LISTING_ADS_COUPON = 36; - - // Shopping - Product - Sell on Google. - PRODUCT_LISTING_AD_TRANSACTABLE = 37; - - // Shopping - Product - App engagement ad deep link. - PRODUCT_AD_APP_DEEPLINK = 38; - - // Shopping - Showcase - Category. - SHOWCASE_AD_CATEGORY_LINK = 39; - - // Shopping - Showcase - Local storefront. - SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; - - // Shopping - Showcase - Online product. - SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; - - // Shopping - Showcase - Local product. - SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; - - // Promotion Extension. - PROMOTION_EXTENSION = 44; - - // Ad Headline. - SWIPEABLE_GALLERY_AD_HEADLINE = 45; - - // Swipes. - SWIPEABLE_GALLERY_AD_SWIPES = 46; - - // See More. - SWIPEABLE_GALLERY_AD_SEE_MORE = 47; - - // Sitelink 1. - SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; - - // Sitelink 2. - SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; - - // Sitelink 3. - SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; - - // Sitelink 4. - SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; - - // Sitelink 5. - SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; - - // Hotel price. - HOTEL_PRICE = 53; - - // Price Extension. - PRICE_EXTENSION = 54; - - // Book on Google hotel room selection. - HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; - - // Shopping - Comparison Listing. - SHOPPING_COMPARISON_LISTING = 56; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/content_label_type.proto deleted file mode 100644 index 17b4fb3e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/content_label_type.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ContentLabelTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing content label types. - -// Container for enum describing content label types in ContentLabel. -message ContentLabelTypeEnum { - // Enum listing the content label types supported by ContentLabel criterion. - enum ContentLabelType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Sexually suggestive content. - SEXUALLY_SUGGESTIVE = 2; - - // Below the fold placement. - BELOW_THE_FOLD = 3; - - // Parked domain. - PARKED_DOMAIN = 4; - - // Game. - GAME = 5; - - // 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/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_category.proto deleted file mode 100644 index 6000b061..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_category.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionCategoryProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing the category of conversions that are associated -// with a ConversionAction. -message ConversionActionCategoryEnum { - // The category of conversions that are associated with a ConversionAction. - enum ConversionActionCategory { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Default category. - DEFAULT = 2; - - // User visiting a page. - PAGE_VIEW = 3; - - // Purchase, sales, or "order placed" event. - PURCHASE = 4; - - // Signup user action. - SIGNUP = 5; - - // Lead-generating action. - LEAD = 6; - - // Software download action (as for an app). - DOWNLOAD = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_counting_type.proto deleted file mode 100644 index 354c33ba..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_counting_type.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionCountingTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing conversion action counting type. - -// Container for enum describing the conversion deduplication mode for -// conversion optimizer. -message ConversionActionCountingTypeEnum { - // Indicates how conversions for this action will be counted. For more - // information, see https://support.google.com/google-ads/answer/3438531. - enum ConversionActionCountingType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Count only one conversion per click. - ONE_PER_CLICK = 2; - - // Count all conversions per click. - MANY_PER_CLICK = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_status.proto deleted file mode 100644 index 623d89ed..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_status.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing conversion action status. - -// Container for enum describing possible statuses of a conversion action. -message ConversionActionStatusEnum { - // Possible statuses of a conversion action. - enum ConversionActionStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversions will be recorded. - ENABLED = 2; - - // Conversions will not be recorded. - REMOVED = 3; - - // Conversions will not be recorded and the conversion action will not - // appear in the UI. - HIDDEN = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_type.proto deleted file mode 100644 index c610e190..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_action_type.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing conversion action type. - -// Container for enum describing possible types of a conversion action. -message ConversionActionTypeEnum { - // Possible types of a conversion action. - enum ConversionActionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversions that occur when a user clicks on an ad's call extension. - AD_CALL = 2; - - // Conversions that occur when a user on a mobile device clicks a phone - // number. - CLICK_TO_CALL = 3; - - // Conversions that occur when a user downloads a mobile app from the Google - // Play Store. - GOOGLE_PLAY_DOWNLOAD = 4; - - // Conversions that occur when a user makes a purchase in an app through - // Android billing. - GOOGLE_PLAY_IN_APP_PURCHASE = 5; - - // Call conversions that are tracked by the advertiser and uploaded. - UPLOAD_CALLS = 6; - - // Conversions that are tracked by the advertiser and uploaded with - // attributed clicks. - UPLOAD_CLICKS = 7; - - // Conversions that occur on a webpage. - WEBPAGE = 8; - - // Conversions that occur when a user calls a dynamically-generated phone - // number from an advertiser's website. - WEBSITE_CALL = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_adjustment_type.proto deleted file mode 100644 index be3d9468..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_adjustment_type.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing conversion adjustment type. - -// Container for enum describing conversion adjustment types. -message ConversionAdjustmentTypeEnum { - // The different actions advertisers can take to adjust the conversions that - // they already reported. Retractions negate a conversion. Restatements change - // the value of a conversion. - enum ConversionAdjustmentType { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // Negates a conversion so that its total value and count are both zero. - RETRACTION = 2; - - // Changes the value of a conversion. - RESTATEMENT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_attribution_event_type.proto deleted file mode 100644 index 6bdf939b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_attribution_event_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAttributionEventTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum indicating the event type the conversion is attributed to. -message ConversionAttributionEventTypeEnum { - // The event type of conversions that are attributed to. - enum ConversionAttributionEventType { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // The conversion is attributed to an impression. - IMPRESSION = 2; - - // The conversion is attributed to an interaction. - INTERACTION = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_lag_bucket.proto deleted file mode 100644 index 94a099bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_lag_bucket.proto +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionLagBucketProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum representing the number of days between impression and -// conversion. -message ConversionLagBucketEnum { - // Enum representing the number of days between impression and conversion. - enum ConversionLagBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. - LESS_THAN_ONE_DAY = 2; - - // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. - ONE_TO_TWO_DAYS = 3; - - // Conversion lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - TWO_TO_THREE_DAYS = 4; - - // Conversion lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - THREE_TO_FOUR_DAYS = 5; - - // Conversion lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - FOUR_TO_FIVE_DAYS = 6; - - // Conversion lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - FIVE_TO_SIX_DAYS = 7; - - // Conversion lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - SIX_TO_SEVEN_DAYS = 8; - - // Conversion lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - SEVEN_TO_EIGHT_DAYS = 9; - - // Conversion lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - EIGHT_TO_NINE_DAYS = 10; - - // Conversion lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - NINE_TO_TEN_DAYS = 11; - - // Conversion lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - TEN_TO_ELEVEN_DAYS = 12; - - // Conversion lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - ELEVEN_TO_TWELVE_DAYS = 13; - - // Conversion lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - TWELVE_TO_THIRTEEN_DAYS = 14; - - // Conversion lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - THIRTEEN_TO_FOURTEEN_DAYS = 15; - - // Conversion lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - FOURTEEN_TO_TWENTY_ONE_DAYS = 16; - - // Conversion lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - TWENTY_ONE_TO_THIRTY_DAYS = 17; - - // Conversion lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - THIRTY_TO_FORTY_FIVE_DAYS = 18; - - // Conversion lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - FORTY_FIVE_TO_SIXTY_DAYS = 19; - - // Conversion lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - SIXTY_TO_NINETY_DAYS = 20; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v2/enums/conversion_or_adjustment_lag_bucket.proto deleted file mode 100644 index b5caee44..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/conversion_or_adjustment_lag_bucket.proto +++ /dev/null @@ -1,207 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum representing the number of days between the impression and -// the conversion or between the impression and adjustments to the conversion. -message ConversionOrAdjustmentLagBucketEnum { - // Enum representing the number of days between the impression and the - // conversion or between the impression and adjustments to the conversion. - enum ConversionOrAdjustmentLagBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. - CONVERSION_LESS_THAN_ONE_DAY = 2; - - // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. - CONVERSION_ONE_TO_TWO_DAYS = 3; - - // Conversion lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - CONVERSION_TWO_TO_THREE_DAYS = 4; - - // Conversion lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - CONVERSION_THREE_TO_FOUR_DAYS = 5; - - // Conversion lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - CONVERSION_FOUR_TO_FIVE_DAYS = 6; - - // Conversion lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - CONVERSION_FIVE_TO_SIX_DAYS = 7; - - // Conversion lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - CONVERSION_SIX_TO_SEVEN_DAYS = 8; - - // Conversion lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; - - // Conversion lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - CONVERSION_EIGHT_TO_NINE_DAYS = 10; - - // Conversion lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - CONVERSION_NINE_TO_TEN_DAYS = 11; - - // Conversion lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - CONVERSION_TEN_TO_ELEVEN_DAYS = 12; - - // Conversion lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; - - // Conversion lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; - - // Conversion lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; - - // Conversion lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; - - // Conversion lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; - - // Conversion lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; - - // Conversion lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; - - // Conversion lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - CONVERSION_SIXTY_TO_NINETY_DAYS = 20; - - // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, - // 1 day is not. - ADJUSTMENT_LESS_THAN_ONE_DAY = 21; - - // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, - // 2 days is not. - ADJUSTMENT_ONE_TO_TWO_DAYS = 22; - - // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, - // 3 days is not. - ADJUSTMENT_TWO_TO_THREE_DAYS = 23; - - // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, - // 4 days is not. - ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; - - // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, - // 5 days is not. - ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; - - // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, - // 6 days is not. - ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; - - // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, - // 7 days is not. - ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; - - // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, - // 8 days is not. - ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; - - // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, - // 9 days is not. - ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; - - // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, - // 10 days is not. - ADJUSTMENT_NINE_TO_TEN_DAYS = 30; - - // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, - // 11 days is not. - ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; - - // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, - // 12 days is not. - ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; - - // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, - // 13 days is not. - ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; - - // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, - // 14 days is not. - ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; - - // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, - // 21 days is not. - ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; - - // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, - // 30 days is not. - ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; - - // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, - // 45 days is not. - ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; - - // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, - // 60 days is not. - ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; - - // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, - // 90 days is not. - ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; - - // Conversion adjustment lag bucket from 90 to 145 days. 90 days is - // included, 145 days is not. - ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; - - // Conversion lag bucket UNKNOWN. This is for dates before conversion lag - // bucket was available in Google Ads. - CONVERSION_UNKNOWN = 41; - - // Conversion adjustment lag bucket UNKNOWN. This is for dates before - // conversion adjustment lag bucket was available in Google Ads. - ADJUSTMENT_UNKNOWN = 42; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_channel_availability_mode.proto deleted file mode 100644 index 1d7e15c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_channel_availability_mode.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the criterion category channel availability mode. - -// Describes channel availability mode for a criterion availability - whether -// the availability is meant to include all advertising channels, or a -// particular channel with all its channel subtypes, or a channel with a certain -// subset of channel subtypes. -message CriterionCategoryChannelAvailabilityModeEnum { - // Enum containing the possible CriterionCategoryChannelAvailabilityMode. - enum CriterionCategoryChannelAvailabilityMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The category is available to campaigns of all channel types and subtypes. - ALL_CHANNELS = 2; - - // The category is available to campaigns of a specific channel type, - // including all subtypes under it. - CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; - - // The category is available to campaigns of a specific channel type and - // subtype(s). - CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_locale_availability_mode.proto deleted file mode 100644 index 16b68bbc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_category_locale_availability_mode.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the criterion category locale availability mode. - -// Describes locale availability mode for a criterion availability - whether -// it's available globally, or a particular country with all languages, or a -// particular language with all countries, or a country-language pair. -message CriterionCategoryLocaleAvailabilityModeEnum { - // Enum containing the possible CriterionCategoryLocaleAvailabilityMode. - enum CriterionCategoryLocaleAvailabilityMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The category is available to campaigns of all locales. - ALL_LOCALES = 2; - - // The category is available to campaigns within a list of countries, - // regardless of language. - COUNTRY_AND_ALL_LANGUAGES = 3; - - // The category is available to campaigns within a list of languages, - // regardless of country. - LANGUAGE_AND_ALL_COUNTRIES = 4; - - // The category is available to campaigns within a list of country, language - // pairs. - COUNTRY_AND_LANGUAGE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/criterion_system_serving_status.proto deleted file mode 100644 index 857ccbfc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_system_serving_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionSystemServingStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing approval status for the criterion. - -// Container for enum describing possible criterion system serving statuses. -message CriterionSystemServingStatusEnum { - // Enumerates criterion system serving statuses. - enum CriterionSystemServingStatus { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Eligible. - ELIGIBLE = 2; - - // Low search volume. - RARELY_SERVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/criterion_type.proto deleted file mode 100644 index 7f9a76cc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/criterion_type.proto +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CriterionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing criteria types. - -// The possible types of a criterion. -message CriterionTypeEnum { - // Enum describing possible criterion types. - enum CriterionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Keyword. e.g. 'mars cruise'. - KEYWORD = 2; - - // Placement, aka Website. e.g. '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 (e.g. "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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_member_type.proto deleted file mode 100644 index a0b9dabe..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_member_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestMemberTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing custom interest member type. - -// The types of custom interest member, either KEYWORD or URL. -message CustomInterestMemberTypeEnum { - // Enum containing possible custom interest member types. - enum CustomInterestMemberType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Custom interest member type KEYWORD. - KEYWORD = 2; - - // Custom interest member type URL. - URL = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_status.proto deleted file mode 100644 index 9f9ab6f1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing custom interest status. - -// The status of custom interest. -message CustomInterestStatusEnum { - // Enum containing possible custom interest types. - enum CustomInterestStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Enabled status - custom interest is enabled and can be targeted to. - ENABLED = 2; - - // Removed status - custom interest is removed and cannot be used for - // targeting. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_type.proto deleted file mode 100644 index 2751f2ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/custom_interest_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing custom interest type. - -// The types of custom interest. -message CustomInterestTypeEnum { - // Enum containing possible custom interest types. - enum CustomInterestType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Allows brand advertisers to define custom affinity audience lists. - CUSTOM_AFFINITY = 2; - - // Allows advertisers to define custom intent audience lists. - CUSTOM_INTENT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/custom_placeholder_field.proto deleted file mode 100644 index c614c230..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/custom_placeholder_field.proto +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Custom placeholder fields. - -// Values for Custom placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message CustomPlaceholderFieldEnum { - // Possible values for Custom placeholder fields. - enum CustomPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Combination ID and ID2 must be unique per - // offer. - ID = 2; - - // Data Type: STRING. Combination ID and ID2 must be unique per offer. - ID2 = 3; - - // Data Type: STRING. Required. Main headline with product name to be shown - // in dynamic ad. - ITEM_TITLE = 4; - - // Data Type: STRING. Optional text to be shown in the image ad. - ITEM_SUBTITLE = 5; - - // Data Type: STRING. Optional description of the product to be shown in the - // ad. - ITEM_DESCRIPTION = 6; - - // Data Type: STRING. Full address of your offer or service, including - // postal code. This will be used to identify the closest product to the - // user when there are multiple offers in the feed that are relevant to the - // user. - ITEM_ADDRESS = 7; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 8; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 9; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 10; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 11; - - // Data Type: URL. Image to be displayed in the ad. Highly recommended for - // image ads. - IMAGE_URL = 12; - - // Data Type: STRING. Used as a recommendation engine signal to serve items - // in the same category. - ITEM_CATEGORY = 13; - - // Data Type: URL_LIST. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific product for ads that have multiple - // products. - FINAL_URLS = 14; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 15; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 16; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 17; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 18; - - // Data Type: STRING_LIST. List of recommended IDs to show together with - // this item. - SIMILAR_IDS = 19; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 20; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 21; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/customer_match_upload_key_type.proto deleted file mode 100644 index 16fdfc04..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/customer_match_upload_key_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Indicates what type of data are the user list's members matched from. -message CustomerMatchUploadKeyTypeEnum { - // Enum describing possible customer match upload key types. - enum CustomerMatchUploadKeyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Members are matched from customer info such as email address, phone - // number or physical address. - CONTACT_INFO = 2; - - // Members are matched from a user id generated and assigned by the - // advertiser. - CRM_ID = 3; - - // Members are matched from mobile advertising ids. - MOBILE_ADVERTISING_ID = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v2/enums/customer_pay_per_conversion_eligibility_failure_reason.proto deleted file mode 100644 index f016e30c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing pay per conversion eligibility failure reasons. - -// Container for enum describing reasons why a customer is not eligible to use -// PaymentMode.CONVERSIONS. -message CustomerPayPerConversionEligibilityFailureReasonEnum { - // Enum describing possible reasons a customer is not eligible to use - // PaymentMode.CONVERSIONS. - enum CustomerPayPerConversionEligibilityFailureReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Customer does not have enough conversions. - NOT_ENOUGH_CONVERSIONS = 2; - - // Customer's conversion lag is too high. - CONVERSION_LAG_TOO_HIGH = 3; - - // Customer uses shared budgets. - HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; - - // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. - HAS_UPLOAD_CLICKS_CONVERSION = 5; - - // Customer's average daily spend is too high. - AVERAGE_DAILY_SPEND_TOO_HIGH = 6; - - // Customer's eligibility has not yet been calculated by the Google Ads - // backend. Check back soon. - ANALYSIS_NOT_COMPLETE = 7; - - // Customer is not eligible due to other reasons. - OTHER = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/data_driven_model_status.proto deleted file mode 100644 index fe72a548..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/data_driven_model_status.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DataDrivenModelStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing data-driven model status. - -// Container for enum indicating data driven model status. -message DataDrivenModelStatusEnum { - // Enumerates data driven model statuses. - enum DataDrivenModelStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The data driven model is available. - AVAILABLE = 2; - - // The data driven model is stale. It hasn't been updated for at least 7 - // days. It is still being used, but will become expired if it does not get - // updated for 30 days. - STALE = 3; - - // The data driven model expired. It hasn't been updated for at least 30 - // days and cannot be used. Most commonly this is because there hasn't been - // the required number of events in a recent 30-day period. - EXPIRED = 4; - - // The data driven model has never been generated. Most commonly this is - // because there has never been the required number of events in any 30-day - // period. - NEVER_GENERATED = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v2/enums/day_of_week.proto deleted file mode 100644 index 423b490e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/day_of_week.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DayOfWeekProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of days of the week, e.g., "Monday". -message DayOfWeekEnum { - // Enumerates days of the week, e.g., "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/google-cloud/protos/google/ads/googleads/v2/enums/device.proto b/google-cloud/protos/google/ads/googleads/v2/enums/device.proto deleted file mode 100644 index 67bd0073..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/device.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DeviceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing devices. - -// Container for enumeration of Google Ads devices available for targeting. -message DeviceEnum { - // Enumerates Google Ads devices available for targeting. - enum Device { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Mobile devices with full browsers. - MOBILE = 2; - - // Tablets with full browsers. - TABLET = 3; - - // Computers. - DESKTOP = 4; - - // Smart TVs and game consoles. - CONNECTED_TV = 6; - - // Other device types. - OTHER = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v2/enums/display_ad_format_setting.proto deleted file mode 100644 index c65af399..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/display_ad_format_setting.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DisplayAdFormatSettingProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing display ad format settings. - -// Container for display ad format settings. -message DisplayAdFormatSettingEnum { - // Enumerates display ad format settings. - enum DisplayAdFormatSetting { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Text, image and native formats. - ALL_FORMATS = 2; - - // Text and image formats. - NON_NATIVE = 3; - - // Native format, i.e. the format rendering is controlled by the publisher - // and not by Google. - NATIVE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/display_upload_product_type.proto deleted file mode 100644 index 0dc6b7b6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/display_upload_product_type.proto +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DisplayUploadProductTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing display upload product types. - -// Container for display upload product types. Product types that have the word -// "DYNAMIC" in them must be associated with a campaign that has a dynamic -// remarketing feed. See https://support.google.com/google-ads/answer/6053288 -// for more info about dynamic remarketing. Other product types are regarded -// as "static" and do not have this requirement. -message DisplayUploadProductTypeEnum { - // Enumerates display upload product types. - enum DisplayUploadProductType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // HTML5 upload ad. This product type requires the upload_media_bundle - // field in DisplayUploadAdInfo to be set. - HTML5_UPLOAD_AD = 2; - - // Dynamic HTML5 education ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in an education campaign. - DYNAMIC_HTML5_EDUCATION_AD = 3; - - // Dynamic HTML5 flight ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a flight campaign. - DYNAMIC_HTML5_FLIGHT_AD = 4; - - // Dynamic HTML5 hotel and rental ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a hotel campaign. - DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; - - // Dynamic HTML5 job ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a job campaign. - DYNAMIC_HTML5_JOB_AD = 6; - - // Dynamic HTML5 local ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a local campaign. - DYNAMIC_HTML5_LOCAL_AD = 7; - - // Dynamic HTML5 real estate ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a real estate campaign. - DYNAMIC_HTML5_REAL_ESTATE_AD = 8; - - // Dynamic HTML5 custom ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a custom campaign. - DYNAMIC_HTML5_CUSTOM_AD = 9; - - // Dynamic HTML5 travel ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a travel campaign. - DYNAMIC_HTML5_TRAVEL_AD = 10; - - // Dynamic HTML5 hotel ad. This product type requires the - // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be - // used in a hotel campaign. - DYNAMIC_HTML5_HOTEL_AD = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/distance_bucket.proto b/google-cloud/protos/google/ads/googleads/v2/enums/distance_bucket.proto deleted file mode 100644 index 6aa1e810..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/distance_bucket.proto +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DistanceBucketProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing distance buckets. - -// Container for distance buckets of a user’s distance from an advertiser’s -// location extension. -message DistanceBucketEnum { - // The distance bucket for a user’s distance from an advertiser’s location - // extension. - enum DistanceBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // User was within 700m of the location. - WITHIN_700M = 2; - - // User was within 1KM of the location. - WITHIN_1KM = 3; - - // User was within 5KM of the location. - WITHIN_5KM = 4; - - // User was within 10KM of the location. - WITHIN_10KM = 5; - - // User was within 15KM of the location. - WITHIN_15KM = 6; - - // User was within 20KM of the location. - WITHIN_20KM = 7; - - // User was within 25KM of the location. - WITHIN_25KM = 8; - - // User was within 30KM of the location. - WITHIN_30KM = 9; - - // User was within 35KM of the location. - WITHIN_35KM = 10; - - // User was within 40KM of the location. - WITHIN_40KM = 11; - - // User was within 45KM of the location. - WITHIN_45KM = 12; - - // User was within 50KM of the location. - WITHIN_50KM = 13; - - // User was within 55KM of the location. - WITHIN_55KM = 14; - - // User was within 60KM of the location. - WITHIN_60KM = 15; - - // User was within 65KM of the location. - WITHIN_65KM = 16; - - // User was beyond 65KM of the location. - BEYOND_65KM = 17; - - // User was within 0.7 miles of the location. - WITHIN_0_7MILES = 18; - - // User was within 1 mile of the location. - WITHIN_1MILE = 19; - - // User was within 5 miles of the location. - WITHIN_5MILES = 20; - - // User was within 10 miles of the location. - WITHIN_10MILES = 21; - - // User was within 15 miles of the location. - WITHIN_15MILES = 22; - - // User was within 20 miles of the location. - WITHIN_20MILES = 23; - - // User was within 25 miles of the location. - WITHIN_25MILES = 24; - - // User was within 30 miles of the location. - WITHIN_30MILES = 25; - - // User was within 35 miles of the location. - WITHIN_35MILES = 26; - - // User was within 40 miles of the location. - WITHIN_40MILES = 27; - - // User was beyond 40 miles of the location. - BEYOND_40MILES = 28; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/dsa_page_feed_criterion_field.proto deleted file mode 100644 index 2192313d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/dsa_page_feed_criterion_field.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "DsaPageFeedCriterionFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Dynamic Search Ad Page Feed criterion fields. - -// Values for Dynamic Search Ad Page Feed criterion fields. -message DsaPageFeedCriterionFieldEnum { - // Possible values for Dynamic Search Ad Page Feed criterion fields. - enum DsaPageFeedCriterionField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: URL or URL_LIST. URL of the web page you want to target. - PAGE_URL = 2; - - // Data Type: STRING_LIST. The labels that will help you target ads within - // your page feed. - LABEL = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/education_placeholder_field.proto deleted file mode 100644 index 63e860ae..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/education_placeholder_field.proto +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "EducationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Education placeholder fields. - -// Values for Education placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message EducationPlaceholderFieldEnum { - // Possible values for Education placeholder fields. - enum EducationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID - // must be unique per offer. - PROGRAM_ID = 2; - - // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be - // unique per offer. - LOCATION_ID = 3; - - // Data Type: STRING. Required. Main headline with program name to be shown - // in dynamic ad. - PROGRAM_NAME = 4; - - // Data Type: STRING. Area of study that can be shown in dynamic ad. - AREA_OF_STUDY = 5; - - // Data Type: STRING. Description of program that can be shown in dynamic - // ad. - PROGRAM_DESCRIPTION = 6; - - // Data Type: STRING. Name of school that can be shown in dynamic ad. - SCHOOL_NAME = 7; - - // Data Type: STRING. Complete school address, including postal code. - ADDRESS = 8; - - // Data Type: URL. Image to be displayed in ads. - THUMBNAIL_IMAGE_URL = 9; - - // Data Type: URL. Alternative hosted file of image to be used in the ad. - ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v2/enums/extension_setting_device.proto deleted file mode 100644 index dec6416d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/extension_setting_device.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionSettingDeviceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing extension setting device type. - -// Container for enum describing extension setting device types. -message ExtensionSettingDeviceEnum { - // Possbile 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/google-cloud/protos/google/ads/googleads/v2/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/extension_type.proto deleted file mode 100644 index 31f0b41f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/extension_type.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing extension type. - -// Container for enum describing possible data types for an extension in an -// extension setting. -message ExtensionTypeEnum { - // Possible data types for an extension in an extension setting. - enum ExtensionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // None. - NONE = 2; - - // App. - APP = 3; - - // Call. - CALL = 4; - - // Callout. - CALLOUT = 5; - - // Message. - MESSAGE = 6; - - // Price. - PRICE = 7; - - // Promotion. - PROMOTION = 8; - - // Sitelink. - SITELINK = 10; - - // Structured snippet. - STRUCTURED_SNIPPET = 11; - - // Location. - LOCATION = 12; - - // Affiliate location. - AFFILIATE_LOCATION = 13; - - // Hotel callout - HOTEL_CALLOUT = 15; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v2/enums/external_conversion_source.proto deleted file mode 100644 index ad238935..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/external_conversion_source.proto +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ExternalConversionSourceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing the external conversion source that is -// associated with a ConversionAction. -message ExternalConversionSourceEnum { - // The external conversion source that is associated with a ConversionAction. - enum ExternalConversionSource { - // Not specified. - UNSPECIFIED = 0; - - // Represents value unknown in this version. - UNKNOWN = 1; - - // Conversion that occurs when a user navigates to a particular webpage - // after viewing an ad; Displayed in Google Ads UI as 'Website'. - WEBPAGE = 2; - - // Conversion that comes from linked Google Analytics goal or transaction; - // Displayed in Google Ads UI as 'Analytics'. - ANALYTICS = 3; - - // Website conversion that is uploaded through ConversionUploadService; - // Displayed in Google Ads UI as 'Import from clicks'. - UPLOAD = 4; - - // Conversion that occurs when a user clicks on a call extension directly on - // an ad; Displayed in Google Ads UI as 'Calls from ads'. - AD_CALL_METRICS = 5; - - // Conversion that occurs when a user calls a dynamically-generated phone - // number (by installed javascript) from an advertiser's website after - // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. - WEBSITE_CALL_METRICS = 6; - - // Conversion that occurs when a user visits an advertiser's retail store - // after clicking on a Google ad; - // Displayed in Google Ads UI as 'Store visits'. - STORE_VISITS = 7; - - // Conversion that occurs when a user takes an in-app action such as a - // purchase in an Android app; - // Displayed in Google Ads UI as 'Android in-app action'. - ANDROID_IN_APP = 8; - - // Conversion that occurs when a user takes an in-app action such as a - // purchase in an iOS app; - // Displayed in Google Ads UI as 'iOS in-app action'. - IOS_IN_APP = 9; - - // Conversion that occurs when a user opens an iOS app for the first time; - // Displayed in Google Ads UI as 'iOS app install (first open)'. - IOS_FIRST_OPEN = 10; - - // Legacy app conversions that do not have an AppPlatform provided; - // Displayed in Google Ads UI as 'Mobile app'. - APP_UNSPECIFIED = 11; - - // Conversion that occurs when a user opens an Android app for the first - // time; Displayed in Google Ads UI as 'Android app install (first open)'. - ANDROID_FIRST_OPEN = 12; - - // Call conversion that is uploaded through ConversionUploadService; - // Displayed in Google Ads UI as 'Import from calls'. - UPLOAD_CALLS = 13; - - // Conversion that comes from a linked Firebase event; - // Displayed in Google Ads UI as 'Firebase'. - FIREBASE = 14; - - // Conversion that occurs when a user clicks on a mobile phone number; - // Displayed in Google Ads UI as 'Phone number clicks'. - CLICK_TO_CALL = 15; - - // Conversion that comes from Salesforce; - // Displayed in Google Ads UI as 'Salesforce.com'. - SALESFORCE = 16; - - // Conversion that comes from in-store purchases recorded by CRM; - // Displayed in Google Ads UI as 'Store sales (data partner)'. - STORE_SALES_CRM = 17; - - // Conversion that comes from in-store purchases from payment network; - // Displayed in Google Ads UI as 'Store sales (payment network)'. - STORE_SALES_PAYMENT_NETWORK = 18; - - // Codeless Google Play conversion; - // Displayed in Google Ads UI as 'Google Play'. - GOOGLE_PLAY = 19; - - // Conversion that comes from a linked third-party app analytics event; - // Displayed in Google Ads UI as 'Third-party app analytics'. - THIRD_PARTY_APP_ANALYTICS = 20; - - // Conversion that is controlled by Google Attribution. - GOOGLE_ATTRIBUTION = 21; - - // Store Sales conversion based on first-party or third-party merchant data - // uploads. Displayed in Google Ads UI as 'Store sales (direct)'. - STORE_SALES_DIRECT = 22; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_attribute_type.proto deleted file mode 100644 index 83205a14..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_attribute_type.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedAttributeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed attribute type. - -// Container for enum describing possible data types for a feed attribute. -message FeedAttributeTypeEnum { - // Possible data types for a feed attribute. - enum FeedAttributeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Int64. - INT64 = 2; - - // Double. - DOUBLE = 3; - - // String. - STRING = 4; - - // Boolean. - BOOLEAN = 5; - - // Url. - URL = 6; - - // Datetime. - DATE_TIME = 7; - - // Int64 list. - INT64_LIST = 8; - - // Double (8 bytes) list. - DOUBLE_LIST = 9; - - // String list. - STRING_LIST = 10; - - // Boolean list. - BOOLEAN_LIST = 11; - - // Url list. - URL_LIST = 12; - - // Datetime list. - DATE_TIME_LIST = 13; - - // Price. - PRICE = 14; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_approval_status.proto deleted file mode 100644 index fdba5dbc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_approval_status.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemQualityApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item quality evaluation approval statuses. - -// Container for enum describing possible quality evaluation approval statuses -// of a feed item. -message FeedItemQualityApprovalStatusEnum { - // The possible quality evaluation approval statuses of a feed item. - enum FeedItemQualityApprovalStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Meets all quality expectations. - APPROVED = 2; - - // Does not meet some quality expectations. The specific reason is found in - // the quality_disapproval_reasons field. - DISAPPROVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_disapproval_reason.proto deleted file mode 100644 index 11273709..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_quality_disapproval_reason.proto +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item quality disapproval reasons. - -// Container for enum describing possible quality evaluation disapproval reasons -// of a feed item. -message FeedItemQualityDisapprovalReasonEnum { - // The possible quality evaluation disapproval reasons of a feed item. - enum FeedItemQualityDisapprovalReason { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Price contains repetitive headers. - PRICE_TABLE_REPETITIVE_HEADERS = 2; - - // Price contains repetitive description. - PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; - - // Price contains inconsistent items. - PRICE_TABLE_INCONSISTENT_ROWS = 4; - - // Price contains qualifiers in description. - PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; - - // Price contains an unsupported language. - PRICE_UNSUPPORTED_LANGUAGE = 6; - - // Price item header is not relevant to the price type. - PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; - - // Price item header has promotional text. - PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; - - // Price item description is not relevant to the item header. - PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; - - // Price item description contains promotional text. - PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; - - // Price item header and description are repetitive. - PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; - - // Price item is in a foreign language, nonsense, or can't be rated. - PRICE_TABLE_ROW_UNRATEABLE = 12; - - // Price item price is invalid or inaccurate. - PRICE_TABLE_ROW_PRICE_INVALID = 13; - - // Price item URL is invalid or irrelevant. - PRICE_TABLE_ROW_URL_INVALID = 14; - - // Price item header or description has price. - PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; - - // Structured snippet values do not match the header. - STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; - - // Structured snippet values are repeated. - STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; - - // Structured snippet values violate editorial guidelines like punctuation. - STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; - - // Structured snippet contain promotional text. - STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_status.proto deleted file mode 100644 index 2a4336f7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item status. - -// Container for enum describing possible statuses of a feed item. -message FeedItemStatusEnum { - // Possible statuses of a feed item. - enum FeedItemStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item is enabled. - ENABLED = 2; - - // Feed item has been removed. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_device.proto deleted file mode 100644 index 65208eda..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_device.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetDeviceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item target device type. - -// Container for enum describing possible data types for a feed item target -// device. -message FeedItemTargetDeviceEnum { - // Possible data types for a feed item target device. - enum FeedItemTargetDevice { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile. - MOBILE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_type.proto deleted file mode 100644 index 33b3b560..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_target_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item target type status. - -// Container for enum describing possible types of a feed item target. -message FeedItemTargetTypeEnum { - // Possible type of a feed item target. - enum FeedItemTargetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item targets a campaign. - CAMPAIGN = 2; - - // Feed item targets an ad group. - AD_GROUP = 3; - - // Feed item targets a criterion. - CRITERION = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_validation_status.proto deleted file mode 100644 index 8fb22b4c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_item_validation_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemValidationStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed item validation statuses. - -// Container for enum describing possible validation statuses of a feed item. -message FeedItemValidationStatusEnum { - // The possible validation statuses of a feed item. - enum FeedItemValidationStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Validation pending. - PENDING = 2; - - // An error was found. - INVALID = 3; - - // Feed item is semantically well-formed. - VALID = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_link_status.proto deleted file mode 100644 index e4d82c6d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_link_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedLinkStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing status of a feed link. - -// Container for an enum describing possible statuses of a feed link. -message FeedLinkStatusEnum { - // Possible statuses of a feed link. - enum FeedLinkStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed link is enabled. - ENABLED = 2; - - // Feed link has been removed. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_criterion_type.proto deleted file mode 100644 index 2f7bb5d5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_criterion_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingCriterionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing criterion types for feed mappings. - -// Container for enum describing possible criterion types for a feed mapping. -message FeedMappingCriterionTypeEnum { - // Possible placeholder types for a feed mapping. - enum FeedMappingCriterionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Allows campaign targeting at locations within a location feed. - LOCATION_EXTENSION_TARGETING = 4; - - // Allows url targeting for your dynamic search ads within a page feed. - DSA_PAGE_FEED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_status.proto deleted file mode 100644 index 65771e68..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_mapping_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed mapping status. - -// Container for enum describing possible statuses of a feed mapping. -message FeedMappingStatusEnum { - // Possible statuses of a feed mapping. - enum FeedMappingStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed mapping is enabled. - ENABLED = 2; - - // Feed mapping has been removed. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_origin.proto deleted file mode 100644 index 093a5b55..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_origin.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedOriginProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed origin. - -// Container for enum describing possible values for a feed origin. -message FeedOriginEnum { - // Possible values for a feed origin. - enum FeedOrigin { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The FeedAttributes for this Feed are managed by the - // user. Users can add FeedAttributes to this Feed. - USER = 2; - - // The FeedAttributes for 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/google-cloud/protos/google/ads/googleads/v2/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/feed_status.proto deleted file mode 100644 index 339a43c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/feed_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FeedStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed status. - -// Container for enum describing possible statuses of a feed. -message FeedStatusEnum { - // Possible statuses of a feed. - enum FeedStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed is enabled. - ENABLED = 2; - - // Feed has been removed. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/flight_placeholder_field.proto deleted file mode 100644 index 98f5131b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/flight_placeholder_field.proto +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FlightsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Flight placeholder fields. - -// Values for Flight placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message FlightPlaceholderFieldEnum { - // Possible values for Flight placeholder fields. - enum FlightPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Destination id. Example: PAR, LON. - // For feed items that only have destination id, destination id must be a - // unique key. For feed items that have both destination id and origin id, - // then the combination must be a unique key. - DESTINATION_ID = 2; - - // Data Type: STRING. Origin id. Example: PAR, LON. - // Optional. Combination of destination id and origin id must be unique per - // offer. - ORIGIN_ID = 3; - - // Data Type: STRING. Required. Main headline with product name to be shown - // in dynamic ad. - FLIGHT_DESCRIPTION = 4; - - // Data Type: STRING. Shorter names are recommended. - ORIGIN_NAME = 5; - - // Data Type: STRING. Shorter names are recommended. - DESTINATION_NAME = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - FLIGHT_PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - FLIGHT_SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific flight for ads that show multiple - // flights. - FINAL_URLS = 12; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 13; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 14; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 15; - - // Data Type: STRING_LIST. List of recommended destination IDs to show - // together with this item. - SIMILAR_DESTINATION_IDS = 16; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 17; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 18; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_event_type.proto deleted file mode 100644 index 78036731..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_event_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapEventTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the type of event that the cap applies to. -message FrequencyCapEventTypeEnum { - // The type of event that the cap applies to (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_level.proto deleted file mode 100644 index a3e55fcf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_level.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapLevelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the level on which the cap is to be applied. -message FrequencyCapLevelEnum { - // The level on which the cap is to be applied (e.g ad group ad, ad group). - // Cap is applied to all the resources of this level. - enum FrequencyCapLevel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The cap is applied at the ad group ad level. - AD_GROUP_AD = 2; - - // The cap is applied at the ad group level. - AD_GROUP = 3; - - // The cap is applied at the campaign level. - CAMPAIGN = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_time_unit.proto deleted file mode 100644 index b5da86cf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/frequency_cap_time_unit.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "FrequencyCapTimeUnitProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing frequency caps. - -// Container for enum describing the unit of time the cap is defined at. -message FrequencyCapTimeUnitEnum { - // Unit of time the cap is defined at (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/gender_type.proto deleted file mode 100644 index f81e4fa0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/gender_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GenderTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing gender types. - -// Container for enum describing the type of demographic genders. -message GenderTypeEnum { - // The type of demographic genders (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/geo_target_constant_status.proto deleted file mode 100644 index a52f86f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/geo_target_constant_status.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_restriction.proto deleted file mode 100644 index 1d2e66fd..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_restriction.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetingRestrictionProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing GeoTargetingRestriction. - -// Message describing feed item geo targeting restriction. -message GeoTargetingRestrictionEnum { - // A restriction used to determine if the request context's - // geo should be matched. - enum GeoTargetingRestriction { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Indicates that request context should match the physical location of - // the user. - LOCATION_OF_PRESENCE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_type.proto deleted file mode 100644 index 968c9e2c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/geo_targeting_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetingTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing geo targeting types. - -// Container for enum describing possible geo targeting types. -message GeoTargetingTypeEnum { - // The possible geo targeting types. - enum GeoTargetingType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Location the user is interested in while making the query. - AREA_OF_INTEREST = 2; - - // Location of the user issuing the query. - LOCATION_OF_PRESENCE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_category.proto deleted file mode 100644 index e4aab7ff..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_category.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldCategoryProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing GoogleAdsField categories - -// Container for enum that determines if the described artifact is a resource -// or a field, and if it is a field, when it segments search queries. -message GoogleAdsFieldCategoryEnum { - // The category of the artifact. - enum GoogleAdsFieldCategory { - // Unspecified - UNSPECIFIED = 0; - - // Unknown - UNKNOWN = 1; - - // The described artifact is a resource. - RESOURCE = 2; - - // The described artifact is a field and is an attribute of a resource. - // Including a resource attribute field in a query may segment the query if - // the resource to which it is attributed segments the resource found in - // the FROM clause. - ATTRIBUTE = 3; - - // The described artifact is a field and always segments search queries. - SEGMENT = 5; - - // The described artifact is a field and is a metric. It never segments - // search queries. - METRIC = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_data_type.proto deleted file mode 100644 index ff39c44e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/google_ads_field_data_type.proto +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldDataTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing GoogleAdsField data types - -// Container holding the various data types. -message GoogleAdsFieldDataTypeEnum { - // These are the various types a GoogleAdsService artifact may take on. - enum GoogleAdsFieldDataType { - // Unspecified - UNSPECIFIED = 0; - - // Unknown - UNKNOWN = 1; - - // Maps to google.protobuf.BoolValue - // - // Applicable operators: =, != - BOOLEAN = 2; - - // Maps to google.protobuf.StringValue. It can be compared using the set of - // operators specific to dates however. - // - // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN - DATE = 3; - - // Maps to google.protobuf.DoubleValue - // - // Applicable operators: =, !=, <, >, IN, NOT IN - DOUBLE = 4; - - // Maps to an enum. It's specific definition can be found at type_url. - // - // Applicable operators: =, !=, IN, NOT IN - ENUM = 5; - - // Maps to google.protobuf.FloatValue - // - // Applicable operators: =, !=, <, >, IN, NOT IN - FLOAT = 6; - - // Maps to google.protobuf.Int32Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - INT32 = 7; - - // Maps to google.protobuf.Int64Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - INT64 = 8; - - // Maps to a protocol buffer message type. The data type's details can be - // found in type_url. - // - // No operators work with MESSAGE fields. - MESSAGE = 9; - - // Maps to google.protobuf.StringValue. Represents the resource name - // (unique id) of a resource or one of its foreign keys. - // - // No operators work with RESOURCE_NAME fields. - RESOURCE_NAME = 10; - - // Maps to google.protobuf.StringValue. - // - // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN - STRING = 11; - - // Maps to google.protobuf.UInt64Value - // - // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN - UINT64 = 12; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/hotel_date_selection_type.proto deleted file mode 100644 index 25a12f2b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_date_selection_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelDateSelectionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing hotel date selection types. - -// Container for enum describing possible hotel date selection types -message HotelDateSelectionTypeEnum { - // Enum describing possible hotel date selection types. - enum HotelDateSelectionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Dates selected by default. - DEFAULT_SELECTION = 50; - - // Dates selected by the user. - USER_SELECTED = 51; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/hotel_placeholder_field.proto deleted file mode 100644 index 6117772c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_placeholder_field.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Hotel placeholder fields. - -// Values for Hotel placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message HotelPlaceholderFieldEnum { - // Possible values for Hotel placeholder fields. - enum HotelPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Unique ID. - PROPERTY_ID = 2; - - // Data Type: STRING. Required. Main headline with property name to be shown - // in dynamic ad. - PROPERTY_NAME = 3; - - // Data Type: STRING. Name of destination to be shown in dynamic ad. - DESTINATION_NAME = 4; - - // Data Type: STRING. Description of destination to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: STRING. Category of property used to group like items together - // for recommendation engine. - CATEGORY = 12; - - // Data Type: INT64. Star rating (1 to 5) used to group like items - // together for recommendation engine. - STAR_RATING = 13; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 14; - - // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded - // URLs. User will be redirected to these URLs when they click on an ad, or - // when they click on a specific flight for ads that show multiple - // flights. - FINAL_URLS = 15; - - // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded - // URLs. - FINAL_MOBILE_URLS = 16; - - // Data Type: URL. Tracking template for the ad when using Upgraded URLs. - TRACKING_URL = 17; - - // Data Type: STRING. Android app link. Must be formatted as: - // android-app://{package_id}/{scheme}/{host_path}. - // The components are defined as follows: - // package_id: app ID as specified in Google Play. - // scheme: the scheme to pass to the application. Can be HTTP, or a custom - // scheme. - // host_path: identifies the specific content within your application. - ANDROID_APP_LINK = 18; - - // Data Type: STRING_LIST. List of recommended property IDs to show together - // with this item. - SIMILAR_PROPERTY_IDS = 19; - - // Data Type: STRING. iOS app link. - IOS_APP_LINK = 20; - - // Data Type: INT64. iOS app store ID. - IOS_APP_STORE_ID = 21; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_price_bucket.proto b/google-cloud/protos/google/ads/googleads/v2/enums/hotel_price_bucket.proto deleted file mode 100644 index 0ba3bb51..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_price_bucket.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelPriceBucketProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing hotel price buckets. - -// Container for enum describing hotel price bucket for a hotel itinerary. -message HotelPriceBucketEnum { - // Enum describing possible hotel price buckets. - enum HotelPriceBucket { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/hotel_rate_type.proto deleted file mode 100644 index 9a184225..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/hotel_rate_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "HotelRateTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing hotel rate types. - -// Container for enum describing possible hotel rate types. -message HotelRateTypeEnum { - // Enum describing possible hotel rate types. - enum HotelRateType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Rate type information is unavailable. - UNAVAILABLE = 2; - - // Rates available to everyone. - PUBLIC_RATE = 3; - - // A membership program rate is available and satisfies basic requirements - // like having a public rate available. UI treatment will strikethrough the - // public rate and indicate that a discount is available to the user. For - // more on Qualified Rates, visit - // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates - QUALIFIED_RATE = 4; - - // Rates available to users that satisfy some eligibility criteria. e.g. - // all signed-in users, 20% of mobile users, all mobile users in Canada, - // etc. - PRIVATE_RATE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/income_range_type.proto deleted file mode 100644 index 4e0aaef2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/income_range_type.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "IncomeRangeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing income range types. - -// Container for enum describing the type of demographic income ranges. -message IncomeRangeTypeEnum { - // The type of demographic income ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/interaction_event_type.proto deleted file mode 100644 index 6fb7ddd6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/interaction_event_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "InteractionEventTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing types of payable and free interactions. - -// Container for enum describing types of payable and free interactions. -message InteractionEventTypeEnum { - // Enum describing possible types of payable and free interactions. - enum InteractionEventType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Click to site. In most cases, this interaction navigates to an external - // location, usually the advertiser's landing page. This is also the default - // InteractionEventType for click events. - CLICK = 2; - - // The user's expressed intent to engage with the ad in-place. - ENGAGEMENT = 3; - - // User viewed a video ad. - VIDEO_VIEW = 4; - - // The default InteractionEventType for ad conversion events. - // This is used when an ad conversion row does NOT indicate - // that the free interactions (i.e., 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/google-cloud/protos/google/ads/googleads/v2/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/interaction_type.proto deleted file mode 100644 index be3a9b64..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/interaction_type.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "InteractionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing interaction types. - -// Container for enum describing possible interaction types. -message InteractionTypeEnum { - // Enum describing possible interaction types. - enum InteractionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Calls. - CALLS = 8000; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/invoice_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/invoice_type.proto deleted file mode 100644 index 59312e60..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/invoice_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "InvoiceTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing invoice types. - -// Container for enum describing the type of invoices. -message InvoiceTypeEnum { - // The possible type of invoices. - enum InvoiceType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // An invoice with a negative amount. The account receives a credit. - CREDIT_MEMO = 2; - - // An invoice with a positive amount. The account owes a balance. - INVOICE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/job_placeholder_field.proto deleted file mode 100644 index 2326fbfc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/job_placeholder_field.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "JobsPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Job placeholder fields. - -// Values for Job placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message JobPlaceholderFieldEnum { - // Possible values for Job placeholder fields. - enum JobPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. If only JOB_ID is specified, then it must be - // unique. If both JOB_ID and LOCATION_ID are specified, then the - // pair must be unique. - // ID) pair must be unique. - JOB_ID = 2; - - // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique - // per offer. - LOCATION_ID = 3; - - // Data Type: STRING. Required. Main headline with job title to be shown in - // dynamic ad. - TITLE = 4; - - // Data Type: STRING. Job subtitle to be shown in dynamic ad. - SUBTITLE = 5; - - // Data Type: STRING. Description of job to be shown in dynamic ad. - DESCRIPTION = 6; - - // Data Type: URL. Image to be displayed in the ad. Highly recommended for - // image ads. - IMAGE_URL = 7; - - // Data Type: STRING. Category of property used to group like items together - // for recommendation engine. - CATEGORY = 8; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 9; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 10; - - // Data Type: STRING. Salary or salary range of job to be shown in dynamic - // ad. - SALARY = 11; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/keyword_match_type.proto deleted file mode 100644 index 2e6dcfea..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_match_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordMatchTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Keyword match types. - -// Message describing Keyword match types. -message KeywordMatchTypeEnum { - // Possible Keyword match types. - enum KeywordMatchType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Exact match. - EXACT = 2; - - // Phrase match. - PHRASE = 3; - - // Broad match. - BROAD = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_competition_level.proto deleted file mode 100644 index 490f4216..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_competition_level.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCompetitionLevelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Keyword Planner competition levels. - -// Container for enumeration of keyword competition levels. The competition -// level indicates how competitive ad placement is for a keyword and -// is determined by the number of advertisers bidding on that keyword relative -// to all keywords across Google. The competition level can depend on the -// location and Search Network targeting options you've selected. -message KeywordPlanCompetitionLevelEnum { - // Competition level of a keyword. - enum KeywordPlanCompetitionLevel { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Low competition. - LOW = 2; - - // Medium competition. - MEDIUM = 3; - - // High competition. - HIGH = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_forecast_interval.proto deleted file mode 100644 index df74e119..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_forecast_interval.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanForecastIntervalProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing keyword plan forecast intervals. - -// Container for enumeration of forecast intervals. -message KeywordPlanForecastIntervalEnum { - // Forecast intervals. - enum KeywordPlanForecastInterval { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // The next week date range for keyword plan. The next week is based - // on the default locale of the user's account and is mostly SUN-SAT or - // MON-SUN. - // This can be different from next-7 days. - NEXT_WEEK = 3; - - // The next month date range for keyword plan. - NEXT_MONTH = 4; - - // The next quarter date range for keyword plan. - NEXT_QUARTER = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_network.proto deleted file mode 100644 index 210a1a5d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/keyword_plan_network.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNetworkProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Keyword Planner forecastable network types. - -// Container for enumeration of keyword plan forecastable network types. -message KeywordPlanNetworkEnum { - // Enumerates keyword plan forecastable network types. - enum KeywordPlanNetwork { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Google Search. - GOOGLE_SEARCH = 2; - - // Google Search + Search partners. - GOOGLE_SEARCH_AND_PARTNERS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/label_status.proto deleted file mode 100644 index de559d87..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/label_status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LabelStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v2/enums/legacy_app_install_ad_app_store.proto deleted file mode 100644 index 95a3dd7a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/legacy_app_install_ad_app_store.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing app store types for a legacy app install ad. - -// Container for enum describing app store type in a legacy app install ad. -message LegacyAppInstallAdAppStoreEnum { - // App store type in a legacy app install ad. - enum LegacyAppInstallAdAppStore { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Apple iTunes. - APPLE_APP_STORE = 2; - - // Google Play. - GOOGLE_PLAY = 3; - - // Windows Store. - WINDOWS_STORE = 4; - - // Windows Phone Store. - WINDOWS_PHONE_STORE = 5; - - // The app is hosted in a Chinese app store. - CN_APP_STORE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/listing_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v2/enums/listing_custom_attribute_index.proto deleted file mode 100644 index 7bfa7798..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/listing_custom_attribute_index.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ListingCustomAttributeIndexProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing listing custom attributes. - -// Container for enum describing the index of the listing custom attribute. -message ListingCustomAttributeIndexEnum { - // The index of the listing custom attribute. - enum ListingCustomAttributeIndex { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // First listing custom attribute. - INDEX0 = 7; - - // Second listing custom attribute. - INDEX1 = 8; - - // Third listing custom attribute. - INDEX2 = 9; - - // Fourth listing custom attribute. - INDEX3 = 10; - - // Fifth listing custom attribute. - INDEX4 = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/listing_group_type.proto deleted file mode 100644 index de2d0345..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/listing_group_type.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ListingGroupTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing listing groups. - -// Container for enum describing the type of the listing group. -message ListingGroupTypeEnum { - // The type of the listing group. - enum ListingGroupType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Subdivision of products along some listing dimension. These nodes - // are not used by serving to target listing entries, but is purely - // to define the structure of the tree. - SUBDIVISION = 2; - - // Listing group unit that defines a bid. - UNIT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/local_placeholder_field.proto deleted file mode 100644 index df2b246d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/local_placeholder_field.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocalPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Local placeholder fields. - -// Values for Local placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message LocalPlaceholderFieldEnum { - // Possible values for Local placeholder fields. - enum LocalPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Unique ID. - DEAL_ID = 2; - - // Data Type: STRING. Required. Main headline with local deal title to be - // shown in dynamic ad. - DEAL_NAME = 3; - - // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. - SUBTITLE = 4; - - // Data Type: STRING. Description of local deal to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Price to be shown in the ad. Highly recommended for - // dynamic ads. Example: "100.00 USD" - PRICE = 6; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 7; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 8; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 9; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 10; - - // Data Type: STRING. Complete property address, including postal code. - ADDRESS = 11; - - // Data Type: STRING. Category of local deal used to group like items - // together for recommendation engine. - CATEGORY = 12; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 13; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/location_extension_targeting_criterion_field.proto deleted file mode 100644 index f1fda3fe..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/location_extension_targeting_criterion_field.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Location Extension Targeting criterion fields. - -// Values for Location Extension Targeting criterion fields. -message LocationExtensionTargetingCriterionFieldEnum { - // Possible values for Location Extension Targeting criterion fields. - enum LocationExtensionTargetingCriterionField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 2; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 3; - - // Data Type: STRING. City of the business address. - CITY = 4; - - // Data Type: STRING. Province of the business address. - PROVINCE = 5; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 6; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v2/enums/location_group_radius_units.proto deleted file mode 100644 index 5b3f94c2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/location_group_radius_units.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationGroupRadiusUnitsProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing location group radius units. - -// Container for enum describing unit of radius in location group. -message LocationGroupRadiusUnitsEnum { - // The unit of radius distance in location group (e.g. 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/location_placeholder_field.proto deleted file mode 100644 index 438cb894..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/location_placeholder_field.proto +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "LocationPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Location placeholder fields. - -// Values for Location placeholder fields. -message LocationPlaceholderFieldEnum { - // Possible values for Location placeholder fields. - enum LocationPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of the business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Line 1 of the business address. - ADDRESS_LINE_1 = 3; - - // Data Type: STRING. Line 2 of the business address. - ADDRESS_LINE_2 = 4; - - // Data Type: STRING. City of the business address. - CITY = 5; - - // Data Type: STRING. Province of the business address. - PROVINCE = 6; - - // Data Type: STRING. Postal code of the business address. - POSTAL_CODE = 7; - - // Data Type: STRING. Country code of the business address. - COUNTRY_CODE = 8; - - // Data Type: STRING. Phone number of the business. - PHONE_NUMBER = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/manager_link_status.proto deleted file mode 100644 index 5336a7a9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/manager_link_status.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ManagerLinkStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing possible status of a manager and client link. -message ManagerLinkStatusEnum { - // Possible statuses of a link. - enum ManagerLinkStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Indicates current in-effect relationship - ACTIVE = 2; - - // Indicates terminated relationship - INACTIVE = 3; - - // Indicates relationship has been requested by manager, but the client - // hasn't accepted yet. - PENDING = 4; - - // Relationship was requested by the manager, but the client has refused. - REFUSED = 5; - - // Indicates relationship has been requested by manager, but manager - // canceled it. - CANCELED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_context_type.proto deleted file mode 100644 index 581d094b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_context_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionContextTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing matching function context types. - -// Container for context types for an operand in a matching function. -message MatchingFunctionContextTypeEnum { - // Possible context types for an operand in a matching function. - enum MatchingFunctionContextType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Feed item id in the request context. - FEED_ITEM_ID = 2; - - // The device being used (possible values are 'Desktop' or 'Mobile'). - DEVICE_NAME = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_operator.proto deleted file mode 100644 index 2932d75a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/matching_function_operator.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MatchingFunctionOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing matching function operators. - -// Container for enum describing matching function operator. -message MatchingFunctionOperatorEnum { - // Possible operators in a matching function. - enum MatchingFunctionOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The IN operator. - IN = 2; - - // The IDENTITY operator. - IDENTITY = 3; - - // The EQUALS operator - EQUALS = 4; - - // Operator that takes two or more operands that are of type - // FunctionOperand and checks that all the operands evaluate to true. - // For functions related to ad formats, all the operands must be in - // left_operands. - AND = 5; - - // Operator that returns true if the elements in left_operands contain any - // of the elements in right_operands. Otherwise, return false. The - // right_operands must contain at least 1 and no more than 3 - // ConstantOperands. - CONTAINS_ANY = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/media_type.proto deleted file mode 100644 index 78110045..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/media_type.proto +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MediaTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing media types. - -// Container for enum describing the types of media. -message MediaTypeEnum { - // The type of media. - enum MediaType { - // The media type has not been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Static image, used for image ad. - IMAGE = 2; - - // Small image, used for map ad. - ICON = 3; - - // ZIP file, used in fields of template ads. - MEDIA_BUNDLE = 4; - - // Audio file. - AUDIO = 5; - - // Video file. - VIDEO = 6; - - // Animated image, such as animated GIF. - DYNAMIC_IMAGE = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/merchant_center_link_status.proto deleted file mode 100644 index 617f6585..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/merchant_center_link_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v2/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/message_placeholder_field.proto deleted file mode 100644 index 61246afa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/message_placeholder_field.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MessagePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Message placeholder fields. - -// Values for Message placeholder fields. -message MessagePlaceholderFieldEnum { - // Possible values for Message placeholder fields. - enum MessagePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The name of your business. - BUSINESS_NAME = 2; - - // Data Type: STRING. Country code of phone number. - COUNTRY_CODE = 3; - - // Data Type: STRING. A phone number that's capable of sending and receiving - // text messages. - PHONE_NUMBER = 4; - - // Data Type: STRING. The text that will go in your click-to-message ad. - MESSAGE_EXTENSION_TEXT = 5; - - // Data Type: STRING. The message text automatically shows in people's - // messaging apps when they tap to send you a message. - MESSAGE_TEXT = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/mime_type.proto deleted file mode 100644 index a6b1e665..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/mime_type.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MimeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v2/enums/minute_of_hour.proto deleted file mode 100644 index 34cb4645..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/minute_of_hour.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MinuteOfHourProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of quarter-hours. -message MinuteOfHourEnum { - // Enumerates of quarter-hours. E.g. "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/google-cloud/protos/google/ads/googleads/v2/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/mobile_device_type.proto deleted file mode 100644 index e6e0d2a0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/mobile_device_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing mobile device types. - -// Container for enum describing the types of mobile device. -message MobileDeviceTypeEnum { - // The type of mobile device. - enum MobileDeviceType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Mobile phones. - MOBILE = 2; - - // Tablets. - TABLET = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v2/enums/month_of_year.proto deleted file mode 100644 index 5cc31864..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/month_of_year.proto +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MonthOfYearProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing days of week. - -// Container for enumeration of months of the year, e.g., "January". -message MonthOfYearEnum { - // Enumerates months of the year, e.g., "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/google-cloud/protos/google/ads/googleads/v2/enums/mutate_job_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/mutate_job_status.proto deleted file mode 100644 index 8c88eab9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/mutate_job_status.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing mutate job statuses. - -// Container for enum describing possible mutate job statuses. -message MutateJobStatusEnum { - // The mutate job statuses. - enum MutateJobStatus { - // 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/google-cloud/protos/google/ads/googleads/v2/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/negative_geo_target_type.proto deleted file mode 100644 index c1165ac8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/negative_geo_target_type.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "NegativeGeoTargetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing negative geo target types. - -// Container for enum describing possible negative geo target types. -message NegativeGeoTargetTypeEnum { - // The possible negative geo target types. - enum NegativeGeoTargetType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Specifies that a user is excluded from seeing the ad if they - // are in, or show interest in, advertiser's excluded locations. - PRESENCE_OR_INTEREST = 4; - - // Specifies that a user is excluded from seeing the ad if they - // are in advertiser's excluded locations. - PRESENCE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/operating_system_version_operator_type.proto deleted file mode 100644 index 1a46ed04..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/operating_system_version_operator_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing operating system version operator types. - -// Container for enum describing the type of OS operators. -message OperatingSystemVersionOperatorTypeEnum { - // The type of operating system version. - enum OperatingSystemVersionOperatorType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Equals to the specified version. - EQUALS_TO = 2; - - // Greater than or equals to the specified version. - GREATER_THAN_EQUALS_TO = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/page_one_promoted_strategy_goal.proto b/google-cloud/protos/google/ads/googleads/v2/enums/page_one_promoted_strategy_goal.proto deleted file mode 100644 index 7c9adbbf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/page_one_promoted_strategy_goal.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PageOnePromotedStrategyGoalProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bidding schemes. - -// Container for enum describing possible strategy goals: where impressions are -// desired to be shown on search result pages. -message PageOnePromotedStrategyGoalEnum { - // Enum describing possible strategy goals. - enum PageOnePromotedStrategyGoal { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // First page on google.com. - FIRST_PAGE = 2; - - // Top slots of the first page on google.com. - FIRST_PAGE_PROMOTED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/parental_status_type.proto deleted file mode 100644 index 772c5c55..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/parental_status_type.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ParentalStatusTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing parenal status types. - -// Container for enum describing the type of demographic parental statuses. -message ParentalStatusTypeEnum { - // The type of parental statuses (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v2/enums/payment_mode.proto deleted file mode 100644 index 815ede50..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/payment_mode.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PaymentModeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing payment modes. - -// Container for enum describing possible payment modes. -message PaymentModeEnum { - // Enum describing possible payment modes. - enum PaymentMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Pay per click. - CLICKS = 4; - - // Pay per conversion value. This mode is only supported by campaigns with - // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and - // BudgetType.HOTEL_ADS_COMMISSION. - 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/placeholder_type.proto deleted file mode 100644 index 4d83356e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/placeholder_type.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PlaceholderTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing feed placeholder types. - -// Container for enum describing possible placeholder types for a feed mapping. -message PlaceholderTypeEnum { - // Possible placeholder types for a feed mapping. - enum PlaceholderType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Lets you show links in your ad to pages from your website, including the - // main landing page. - SITELINK = 2; - - // Lets you attach a phone number to an ad, allowing customers to call - // directly from the ad. - CALL = 3; - - // Lets you provide users with a link that points to a mobile app in - // addition to a website. - APP = 4; - - // Lets you show locations of businesses from your Google My Business - // account 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; - - // Allows you to 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/placement_type.proto deleted file mode 100644 index a2fadcbc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/placement_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PlacementTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing placement types. - -// Container for enum describing possible placement types. -message PlacementTypeEnum { - // Possible placement types for a feed mapping. - enum PlacementType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Websites(e.g. 'www.flowers4sale.com'). - WEBSITE = 2; - - // Mobile application categories(e.g. 'Games'). - MOBILE_APP_CATEGORY = 3; - - // mobile applications(e.g. 'mobileapp::2-com.whatsthewordanswers'). - MOBILE_APPLICATION = 4; - - // YouTube videos(e.g. 'youtube.com/video/wtLJPvx7-ys'). - YOUTUBE_VIDEO = 5; - - // YouTube channels(e.g. 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). - YOUTUBE_CHANNEL = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_approval_status.proto deleted file mode 100644 index de6f2d7d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_approval_status.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyApprovalStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing policy approval statuses. - -// Container for enum describing possible policy approval statuses. -message PolicyApprovalStatusEnum { - // The possible policy approval statuses. When there are several approval - // statuses available the most severe one will be used. The order of severity - // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. - enum PolicyApprovalStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Will not serve. - DISAPPROVED = 2; - - // Serves with restrictions. - APPROVED_LIMITED = 3; - - // Serves without restrictions. - APPROVED = 4; - - // Will not serve in targeted countries, but may serve for users who are - // searching for information about the targeted countries. - AREA_OF_INTEREST_ONLY = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_review_status.proto deleted file mode 100644 index c1666433..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_review_status.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyReviewStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing policy review statuses. - -// Container for enum describing possible policy review statuses. -message PolicyReviewStatusEnum { - // The possible policy review statuses. - enum PolicyReviewStatus { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Currently under review. - REVIEW_IN_PROGRESS = 2; - - // Primary review complete. Other reviews may be continuing. - REVIEWED = 3; - - // The resource has been resubmitted for approval or its policy decision has - // been appealed. - UNDER_APPEAL = 4; - - // The resource is eligible and may be serving but could still undergo - // further review. - ELIGIBLE_MAY_SERVE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_entry_type.proto deleted file mode 100644 index 9bbd1ac7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_entry_type.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEntryTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing policy topic entry types. - -// Container for enum describing possible policy topic entry types. -message PolicyTopicEntryTypeEnum { - // The possible policy topic entry types. - enum PolicyTopicEntryType { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The resource will not be served. - PROHIBITED = 2; - - // The resource will not be served under some circumstances. - LIMITED = 4; - - // The resource cannot serve at all because of the current targeting - // criteria. - FULLY_LIMITED = 8; - - // May be of interest, but does not limit how the resource is served. - DESCRIPTIVE = 5; - - // Could increase coverage beyond normal. - BROADENING = 6; - - // Constrained for all targeted countries, but may serve in other countries - // through area of interest. - AREA_OF_INTEREST_ONLY = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_mismatch_url_type.proto deleted file mode 100644 index 539b9eea..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_mismatch_url_type.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing policy topic evidence destination mismatch url types. - -// Container for enum describing possible policy topic evidence destination -// mismatch url types. -message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { - // The possible policy topic evidence destination mismatch url types. - enum PolicyTopicEvidenceDestinationMismatchUrlType { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // The display url. - DISPLAY_URL = 2; - - // The final url. - FINAL_URL = 3; - - // The final mobile url. - FINAL_MOBILE_URL = 4; - - // The tracking url template, with substituted desktop url. - TRACKING_URL = 5; - - // The tracking url template, with substituted mobile url. - MOBILE_TRACKING_URL = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_device.proto deleted file mode 100644 index 222525e2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_device.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing device of destination not working policy topic -// evidence. - -// Container for enum describing possible policy topic evidence destination not -// working devices. -message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { - // The possible policy topic evidence destination not working devices. - enum PolicyTopicEvidenceDestinationNotWorkingDevice { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Landing page doesn't work on desktop device. - DESKTOP = 2; - - // Landing page doesn't work on Android device. - ANDROID = 3; - - // Landing page doesn't work on iOS device. - IOS = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto deleted file mode 100644 index fcf16dd1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing DNS error types of destination not working policy topic -// evidence. - -// Container for enum describing possible policy topic evidence destination not -// working DNS error types. -message PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum { - // The possible policy topic evidence destination not working DNS error types. - enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType { - // No value has been specified. - UNSPECIFIED = 0; - - // The received value is not known in this version. - // - // This is a response-only value. - UNKNOWN = 1; - - // Host name not found in DNS when fetching landing page. - HOSTNAME_NOT_FOUND = 2; - - // Google internal crawler issue when communicating with DNS. This error - // doesn't mean the landing page doesn't work. Google will recrawl the - // landing page. - GOOGLE_CRAWLER_DNS_ISSUE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/positive_geo_target_type.proto deleted file mode 100644 index f094d3ca..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/positive_geo_target_type.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PositiveGeoTargetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing positive geo target types. - -// Container for enum describing possible positive geo target types. -message PositiveGeoTargetTypeEnum { - // The possible positive geo target types. - enum PositiveGeoTargetType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Specifies that an ad is triggered if the user is in, - // or shows interest in, advertiser's targeted locations. - PRESENCE_OR_INTEREST = 5; - - // Specifies that an ad is triggered if the user - // searches for advertiser's targeted locations. - 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/google-cloud/protos/google/ads/googleads/v2/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/preferred_content_type.proto deleted file mode 100644 index fe276bfb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/preferred_content_type.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PreferredContentTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing preferred content criterion type. - -// Container for enumeration of preferred content criterion type. -message PreferredContentTypeEnum { - // Enumerates preferred content criterion type. - enum PreferredContentType { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Represents top content on YouTube. - YOUTUBE_TOP_CONTENT = 400; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_qualifier.proto deleted file mode 100644 index a0fa76dd..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_qualifier.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionPriceQualifierProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing price extension price qualifier type. - -// Container for enum describing a price extension price qualifier. -message PriceExtensionPriceQualifierEnum { - // Enums of price extension price qualifier. - enum PriceExtensionPriceQualifier { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // 'From' qualifier for the price. - FROM = 2; - - // 'Up to' qualifier for the price. - UP_TO = 3; - - // 'Average' qualifier for the price. - AVERAGE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_unit.proto deleted file mode 100644 index 412f3511..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_price_unit.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionPriceUnitProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing price extension price unit. - -// Container for enum describing price extension price unit. -message PriceExtensionPriceUnitEnum { - // Price extension price unit. - enum PriceExtensionPriceUnit { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Per hour. - PER_HOUR = 2; - - // Per day. - PER_DAY = 3; - - // Per week. - PER_WEEK = 4; - - // Per month. - PER_MONTH = 5; - - // Per year. - PER_YEAR = 6; - - // Per night. - PER_NIGHT = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_type.proto deleted file mode 100644 index 495de62a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/price_extension_type.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PriceExtensionTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing price extension type. - -// Container for enum describing types for a price extension. -message PriceExtensionTypeEnum { - // Price extension type. - enum PriceExtensionType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The type for showing a list of brands. - BRANDS = 2; - - // The type for showing a list of events. - EVENTS = 3; - - // The type for showing locations relevant to your business. - LOCATIONS = 4; - - // The type for showing sub-regions or districts within a city or region. - NEIGHBORHOODS = 5; - - // The type for showing a collection of product categories. - PRODUCT_CATEGORIES = 6; - - // The type for showing a collection of related product tiers. - PRODUCT_TIERS = 7; - - // The type for showing a collection of services offered by your business. - SERVICES = 8; - - // The type for showing a collection of service categories. - SERVICE_CATEGORIES = 9; - - // The type for showing a collection of related service tiers. - SERVICE_TIERS = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/price_placeholder_field.proto deleted file mode 100644 index c4aba0bc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/price_placeholder_field.proto +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PricePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Price placeholder fields. - -// Values for Price placeholder fields. -message PricePlaceholderFieldEnum { - // Possible values for Price placeholder fields. - enum PricePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The type of your price feed. Must match one of the - // predefined price feed type exactly. - TYPE = 2; - - // Data Type: STRING. The qualifier of each price. Must match one of the - // predefined price qualifiers exactly. - PRICE_QUALIFIER = 3; - - // Data Type: URL. Tracking template for the price feed when using Upgraded - // URLs. - TRACKING_TEMPLATE = 4; - - // Data Type: STRING. Language of the price feed. Must match one of the - // available available locale codes exactly. - LANGUAGE = 5; - - // Data Type: STRING. Final URL suffix for the price feed when using - // parallel tracking. - FINAL_URL_SUFFIX = 6; - - // Data Type: STRING. The header of item 1 of the table. - ITEM_1_HEADER = 100; - - // Data Type: STRING. The description of item 1 of the table. - ITEM_1_DESCRIPTION = 101; - - // Data Type: MONEY. The price (money with currency) of item 1 of the table, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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, - // e.g., 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/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_level.proto deleted file mode 100644 index 8033b2c8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_level.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryLevelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_status.proto deleted file mode 100644 index 300d2e8d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_bidding_category_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// 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/google-cloud/protos/google/ads/googleads/v2/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_channel.proto deleted file mode 100644 index ddb6fe9e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_channel.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductChannelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_channel_exclusivity.proto deleted file mode 100644 index d1676a32..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_channel_exclusivity.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductChannelExclusivityProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_condition.proto deleted file mode 100644 index 2a2f41f0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_condition.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductConditionProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bidding schemes. - -// Condition of a product offer. -message ProductConditionEnum { - // Enum describing the condition of a product offer. - enum ProductCondition { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The product condition is new. - NEW = 3; - - // The product condition is refurbished. - REFURBISHED = 4; - - // The product condition is used. - USED = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v2/enums/product_type_level.proto deleted file mode 100644 index 81ab5b46..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/product_type_level.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProductTypeLevelProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing bidding schemes. - -// Level of the type of a product offer. -message ProductTypeLevelEnum { - // Enum describing the level of the type of a product offer. - enum ProductTypeLevel { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Level 1. - LEVEL1 = 7; - - // Level 2. - LEVEL2 = 8; - - // Level 3. - LEVEL3 = 9; - - // Level 4. - LEVEL4 = 10; - - // Level 5. - LEVEL5 = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_discount_modifier.proto deleted file mode 100644 index 6e01ba9d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_discount_modifier.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionExtensionDiscountModifierProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing promotion extension discount modifier. - -// Container for enum describing possible a promotion extension -// discount modifier. -message PromotionExtensionDiscountModifierEnum { - // A promotion extension discount modifier. - enum PromotionExtensionDiscountModifier { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // 'Up to'. - UP_TO = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_occasion.proto deleted file mode 100644 index 2aea2f81..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/promotion_extension_occasion.proto +++ /dev/null @@ -1,158 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionExtensionOccasionProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing promotion extension occasion. - -// Container for enum describing a promotion extension occasion. -// For more information about the occasions please 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/google-cloud/protos/google/ads/googleads/v2/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/promotion_placeholder_field.proto deleted file mode 100644 index d1e47e2c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/promotion_placeholder_field.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "PromotionPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Promotion placeholder fields. - -// Values for Promotion placeholder fields. -message PromotionPlaceholderFieldEnum { - // Possible values for Promotion placeholder fields. - enum PromotionPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The text that appears on the ad when the extension is - // shown. - PROMOTION_TARGET = 2; - - // Data Type: STRING. Allows you to 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/google-cloud/protos/google/ads/googleads/v2/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v2/enums/proximity_radius_units.proto deleted file mode 100644 index 6b1c1e9e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/proximity_radius_units.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ProximityRadiusUnitsProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing proximity radius units. - -// Container for enum describing unit of radius in proximity. -message ProximityRadiusUnitsEnum { - // The unit of radius distance in proximity (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v2/enums/quality_score_bucket.proto deleted file mode 100644 index b1a1d079..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/quality_score_bucket.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "QualityScoreBucketProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing quality score buckets. - -// The relative performance compared to other advertisers. -message QualityScoreBucketEnum { - // Enum listing the possible quality score buckets. - enum QualityScoreBucket { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Quality of the creative is below average. - BELOW_AVERAGE = 2; - - // Quality of the creative is average. - AVERAGE = 3; - - // Quality of the creative is above average. - ABOVE_AVERAGE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_ad_length.proto b/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_ad_length.proto deleted file mode 100644 index de3f202c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_ad_length.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ReachPlanAdLengthProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing ad lengths of a plannable video ad. - -// Message describing length of a plannable video ad. -message ReachPlanAdLengthEnum { - // Possible ad length values. - enum ReachPlanAdLength { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // 6 seconds long ad. - SIX_SECONDS = 2; - - // 15 or 20 seconds long ad. - FIFTEEN_OR_TWENTY_SECONDS = 3; - - // More than 20 seconds long ad. - TWENTY_SECONDS_OR_MORE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_age_range.proto b/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_age_range.proto deleted file mode 100644 index de1c2a43..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/reach_plan_age_range.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ReachPlanAgeRangeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing a plannable age range. - -// Message describing plannable age ranges. -message ReachPlanAgeRangeEnum { - // Possible plannable age range values. - enum ReachPlanAgeRange { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Between 18 and 24 years old. - AGE_RANGE_18_24 = 503001; - - // Between 18 and 34 years old. - AGE_RANGE_18_34 = 2; - - // Between 18 and 44 years old. - AGE_RANGE_18_44 = 3; - - // Between 18 and 49 years old. - AGE_RANGE_18_49 = 4; - - // Between 18 and 54 years old. - AGE_RANGE_18_54 = 5; - - // Between 18 and 64 years old. - AGE_RANGE_18_64 = 6; - - // Between 18 and 65+ years old. - AGE_RANGE_18_65_UP = 7; - - // Between 21 and 34 years old. - AGE_RANGE_21_34 = 8; - - // Between 25 and 34 years old. - AGE_RANGE_25_34 = 503002; - - // Between 25 and 44 years old. - AGE_RANGE_25_44 = 9; - - // Between 25 and 49 years old. - AGE_RANGE_25_49 = 10; - - // Between 25 and 54 years old. - AGE_RANGE_25_54 = 11; - - // Between 25 and 64 years old. - AGE_RANGE_25_64 = 12; - - // Between 25 and 65+ years old. - AGE_RANGE_25_65_UP = 13; - - // Between 35 and 44 years old. - AGE_RANGE_35_44 = 503003; - - // Between 35 and 49 years old. - AGE_RANGE_35_49 = 14; - - // Between 35 and 54 years old. - AGE_RANGE_35_54 = 15; - - // Between 35 and 64 years old. - AGE_RANGE_35_64 = 16; - - // Between 35 and 65+ years old. - AGE_RANGE_35_65_UP = 17; - - // Between 45 and 54 years old. - AGE_RANGE_45_54 = 503004; - - // Between 45 and 64 years old. - AGE_RANGE_45_64 = 18; - - // Between 45 and 65+ years old. - AGE_RANGE_45_65_UP = 19; - - // Between 50 and 65+ years old. - AGE_RANGE_50_65_UP = 20; - - // Between 55 and 64 years old. - AGE_RANGE_55_64 = 503005; - - // Between 55 and 65+ years old. - AGE_RANGE_55_65_UP = 21; - - // 65 years old and beyond. - AGE_RANGE_65_UP = 503006; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/real_estate_placeholder_field.proto deleted file mode 100644 index 666a4c20..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/real_estate_placeholder_field.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "RealEstatePlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Real Estate placeholder fields. - -// Values for Real Estate placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message RealEstatePlaceholderFieldEnum { - // Possible values for Real Estate placeholder fields. - enum RealEstatePlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Unique ID. - LISTING_ID = 2; - - // Data Type: STRING. Main headline with listing name to be shown in dynamic - // ad. - LISTING_NAME = 3; - - // Data Type: STRING. City name to be shown in dynamic ad. - CITY_NAME = 4; - - // Data Type: STRING. Description of listing to be shown in dynamic ad. - DESCRIPTION = 5; - - // Data Type: STRING. Complete listing address, including postal code. - ADDRESS = 6; - - // Data Type: STRING. Price to be shown in the ad. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 9; - - // Data Type: STRING. Type of property (house, condo, apartment, etc.) used - // to group like items together for recommendation engine. - PROPERTY_TYPE = 10; - - // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) - // used to group like items together for recommendation engine. - LISTING_TYPE = 11; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 12; - - // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded - // URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/recommendation_type.proto deleted file mode 100644 index 03b35e9e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/recommendation_type.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 budget constrained campaigns. - 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 add callout extensions to a campaign. - CALLOUT_EXTENSION = 11; - - // Recommendation to add sitelink extensions to a campaign. - SITELINK_EXTENSION = 12; - - // Recommendation to add call extensions to a campaign. - CALL_EXTENSION = 13; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/search_engine_results_page_type.proto deleted file mode 100644 index f0d62f1e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/search_engine_results_page_type.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchEngineResultsPageTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing search engine results page types. - -// The type of the search engine results page. -message SearchEngineResultsPageTypeEnum { - // The type of the search engine results page. - enum SearchEngineResultsPageType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Only ads were contained in the search engine results page. - ADS_ONLY = 2; - - // Only organic results were contained in the search engine results page. - ORGANIC_ONLY = 3; - - // Both ads and organic results were contained in the search engine results - // page. - ADS_AND_ORGANIC = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/search_term_match_type.proto deleted file mode 100644 index 930501d8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/search_term_match_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermMatchTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing search term match types. - -// Container for enum describing match types for a keyword triggering an ad. -message SearchTermMatchTypeEnum { - // Possible match types for a keyword triggering an ad, including variants. - enum SearchTermMatchType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Broad match. - BROAD = 2; - - // Exact match. - EXACT = 3; - - // Phrase match. - PHRASE = 4; - - // Exact match (close variant). - NEAR_EXACT = 5; - - // Phrase match (close variant). - NEAR_PHRASE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/search_term_targeting_status.proto deleted file mode 100644 index 0a9dd774..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/search_term_targeting_status.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermTargetingStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing search term targeting statuses. - -// Container for enum indicating whether a search term is one of your targeted -// or excluded keywords. -message SearchTermTargetingStatusEnum { - // Indicates whether the search term is one of your targeted or excluded - // keywords. - enum SearchTermTargetingStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Search term is added to targeted keywords. - ADDED = 2; - - // Search term matches a negative keyword. - EXCLUDED = 3; - - // Search term has been both added and excluded. - ADDED_EXCLUDED = 4; - - // Search term is neither targeted nor excluded. - NONE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/served_asset_field_type.proto deleted file mode 100644 index 9aab79c7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/served_asset_field_type.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ServedAssetFieldTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_status.proto deleted file mode 100644 index f51fe626..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing shared set statuses. - -// Container for enum describing types of shared set statuses. -message SharedSetStatusEnum { - // Enum listing the possible shared set statuses. - enum SharedSetStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The shared set is enabled. - ENABLED = 2; - - // The shared set is removed and can no longer be used. - REMOVED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_type.proto deleted file mode 100644 index f24b30b4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/shared_set_type.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing shared set types. - -// Container for enum describing types of shared sets. -message SharedSetTypeEnum { - // Enum listing the possible shared set types. - enum SharedSetType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // A set of keywords that can be excluded from targeting. - NEGATIVE_KEYWORDS = 2; - - // A set of placements that can be excluded from targeting. - NEGATIVE_PLACEMENTS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v2/enums/simulation_modification_method.proto deleted file mode 100644 index 830ac8ca..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/simulation_modification_method.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SimulationModificationMethodProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing simulation modification methods. - -// Container for enum describing the method by which a simulation modifies -// a field. -message SimulationModificationMethodEnum { - // Enum describing the method by which a simulation modifies a field. - enum SimulationModificationMethod { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The values in a simulation were applied to all children of a given - // resource uniformly. Overrides on child resources were not respected. - UNIFORM = 2; - - // The values in a simulation were applied to the given resource. - // Overrides on child resources were respected, and traffic estimates - // do not include these resources. - DEFAULT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/simulation_type.proto deleted file mode 100644 index b7b51f77..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/simulation_type.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SimulationTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing simulation types. - -// Container for enum describing the field a simulation modifies. -message SimulationTypeEnum { - // Enum describing the field a simulation modifies. - enum SimulationType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The simulation is for a cpc bid. - CPC_BID = 2; - - // The simulation is for a cpv bid. - CPV_BID = 3; - - // The simulation is for a cpa target. - TARGET_CPA = 4; - - // The simulation is for a bid modifier. - BID_MODIFIER = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/sitelink_placeholder_field.proto deleted file mode 100644 index c5886e3e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/sitelink_placeholder_field.proto +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SitelinkPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Sitelink placeholder fields. - -// Values for Sitelink placeholder fields. -message SitelinkPlaceholderFieldEnum { - // Possible values for Sitelink placeholder fields. - enum SitelinkPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The link text for your sitelink. - TEXT = 2; - - // Data Type: STRING. First line of the sitelink description. - LINE_1 = 3; - - // Data Type: STRING. Second line of the sitelink description. - LINE_2 = 4; - - // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded - // URLs. - FINAL_URLS = 5; - - // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using - // Upgraded URLs. - FINAL_MOBILE_URLS = 6; - - // Data Type: URL. Tracking template for the sitelink when using Upgraded - // URLs. - TRACKING_URL = 7; - - // Data Type: STRING. Final URL suffix for sitelink when using parallel - // tracking. - FINAL_URL_SUFFIX = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v2/enums/slot.proto deleted file mode 100644 index c7bba3fe..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/slot.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SlotProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing slots. - -// Container for enumeration of possible positions of the Ad. -message SlotEnum { - // Enumerates possible positions of the Ad. - enum Slot { - // Not specified. - UNSPECIFIED = 0; - - // The value is unknown in this version. - UNKNOWN = 1; - - // Google search: Side. - SEARCH_SIDE = 2; - - // Google search: Top. - SEARCH_TOP = 3; - - // Google search: Other. - SEARCH_OTHER = 4; - - // Google Display Network. - CONTENT = 5; - - // Search partners: Top. - SEARCH_PARTNER_TOP = 6; - - // Search partners: Other. - SEARCH_PARTNER_OTHER = 7; - - // Cross-network. - MIXED = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/spending_limit_type.proto deleted file mode 100644 index 1870c94b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/spending_limit_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SpendingLimitTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing SpendingLimit types. - -// Message describing spending limit types. -message SpendingLimitTypeEnum { - // The possible spending limit types used by certain resources as an - // alternative to absolute money values in micros. - enum SpendingLimitType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Infinite, indicates unlimited spending power. - INFINITE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/structured_snippet_placeholder_field.proto deleted file mode 100644 index 6ccf3f93..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/structured_snippet_placeholder_field.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Structured Snippet placeholder fields. - -// Values for Structured Snippet placeholder fields. -message StructuredSnippetPlaceholderFieldEnum { - // Possible values for Structured Snippet placeholder fields. - enum StructuredSnippetPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. The category of snippet of your products/services. - // Must match exactly one of the predefined structured snippets headers. - // For a list, visit - // https://developers.google.com/adwords/api/docs/appendix/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/google-cloud/protos/google/ads/googleads/v2/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v2/enums/system_managed_entity_source.proto deleted file mode 100644 index 9317f1c7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/system_managed_entity_source.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "SystemManagedEntitySourceProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing system managed entity sources. - -// Container for enum describing possible system managed entity sources. -message SystemManagedResourceSourceEnum { - // Enum listing the possible system managed entity sources. - enum SystemManagedResourceSource { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Generated ad variations experiment ad. - AD_VARIATIONS = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v2/enums/target_cpa_opt_in_recommendation_goal.proto deleted file mode 100644 index c22dafeb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/target_cpa_opt_in_recommendation_goal.proto +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing TargetCpaOptIn recommendation goals. - -// Container for enum describing goals for TargetCpaOptIn recommendation. -message TargetCpaOptInRecommendationGoalEnum { - // Goal of TargetCpaOptIn recommendation. - enum TargetCpaOptInRecommendationGoal { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Recommendation to set Target CPA to maintain the same cost. - SAME_COST = 2; - - // Recommendation to set Target CPA to maintain the same conversions. - SAME_CONVERSIONS = 3; - - // Recommendation to set Target CPA to maintain the same CPA. - SAME_CPA = 4; - - // Recommendation to set Target CPA to a value that is as close as possible - // to, yet lower than, the actual CPA (computed for past 28 days). - CLOSEST_CPA = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v2/enums/target_impression_share_location.proto deleted file mode 100644 index d1a94132..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/target_impression_share_location.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetImpressionShareLocationProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing target impression share goal. - -// Container for enum describing where on the first search results page the -// automated bidding system should target impressions for the -// TargetImpressionShare bidding strategy. -message TargetImpressionShareLocationEnum { - // Enum describing possible goals. - enum TargetImpressionShareLocation { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Any location on the web page. - ANYWHERE_ON_PAGE = 2; - - // Top box of ads. - TOP_OF_PAGE = 3; - - // Top slot in the top box of ads. - ABSOLUTE_TOP_OF_PAGE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v2/enums/targeting_dimension.proto deleted file mode 100644 index 0fed1382..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/targeting_dimension.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TargetingDimensionProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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, e.g. '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, e.g. - // '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/google-cloud/protos/google/ads/googleads/v2/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/time_type.proto deleted file mode 100644 index a4dee47a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/time_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TimeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing TimeType types. - -// Message describing time types. -message TimeTypeEnum { - // The possible time types used by certain resources as an alternative to - // absolute timestamps. - enum TimeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // As soon as possible. - NOW = 2; - - // An infinite point in the future. - FOREVER = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_page_format.proto deleted file mode 100644 index 827d2d3b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_page_format.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TrackingCodePageFormatProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing the format of the web page where the tracking -// tag and snippet will be installed. -message TrackingCodePageFormatEnum { - // The format of the web page where the tracking tag and snippet will be - // installed. - enum TrackingCodePageFormat { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Standard HTML page format. - HTML = 2; - - // Google AMP page format. - AMP = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_type.proto deleted file mode 100644 index ab244490..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/tracking_code_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TrackingCodeTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Container for enum describing the type of the generated tag snippets for -// tracking conversions. -message TrackingCodeTypeEnum { - // The type of the generated tag snippets for tracking conversions. - enum TrackingCodeType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The snippet that is fired as a result of a website page loading. - WEBPAGE = 2; - - // The snippet contains a JavaScript function which fires the tag. This - // function is typically called from an onClick handler added to a link or - // button element on the page. - WEBPAGE_ONCLICK = 3; - - // For embedding on a mobile webpage. The snippet contains a JavaScript - // function which fires the tag. - CLICK_TO_CALL = 4; - - // The snippet that is used to replace the phone number on your website with - // a Google forwarding number for call tracking purposes. - WEBSITE_CALL = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v2/enums/travel_placeholder_field.proto deleted file mode 100644 index 199f7e05..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/travel_placeholder_field.proto +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "TravelPlaceholderFieldProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing Travel placeholder fields. - -// Values for Travel placeholder fields. -// For more information about dynamic remarketing feeds, see -// https://support.google.com/google-ads/answer/6053288. -message TravelPlaceholderFieldEnum { - // Possible values for Travel placeholder fields. - enum TravelPlaceholderField { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Data Type: STRING. Required. Destination id. Example: PAR, LON. - // For feed items that only have destination id, destination id must be a - // unique key. For feed items that have both destination id and origin id, - // then the combination must be a unique key. - DESTINATION_ID = 2; - - // Data Type: STRING. Origin id. Example: PAR, LON. - // Combination of DESTINATION_ID and ORIGIN_ID must be - // unique per offer. - ORIGIN_ID = 3; - - // Data Type: STRING. Required. Main headline with name to be shown in - // dynamic ad. - TITLE = 4; - - // Data Type: STRING. The destination name. Shorter names are recommended. - DESTINATION_NAME = 5; - - // Data Type: STRING. Origin name. Shorter names are recommended. - ORIGIN_NAME = 6; - - // Data Type: STRING. Price to be shown in the ad. Highly recommended for - // dynamic ads. - // Example: "100.00 USD" - PRICE = 7; - - // Data Type: STRING. Formatted price to be shown in the ad. - // Example: "Starting at $100.00 USD", "$80 - $100" - FORMATTED_PRICE = 8; - - // Data Type: STRING. Sale price to be shown in the ad. - // Example: "80.00 USD" - SALE_PRICE = 9; - - // Data Type: STRING. Formatted sale price to be shown in the ad. - // Example: "On sale for $80.00", "$60 - $80" - FORMATTED_SALE_PRICE = 10; - - // Data Type: URL. Image to be displayed in the ad. - IMAGE_URL = 11; - - // Data Type: STRING. Category of travel offer used to group like items - // together for recommendation engine. - CATEGORY = 12; - - // Data Type: STRING_LIST. Keywords used for product retrieval. - CONTEXTUAL_KEYWORDS = 13; - - // Data Type: STRING. Address of travel offer, including postal code. - DESTINATION_ADDRESS = 14; - - // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using - // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v2/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_interest_taxonomy_type.proto deleted file mode 100644 index 5e39b760..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_interest_taxonomy_type.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestTaxonomyTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing the UserInterest taxonomy type - -// Message describing a UserInterestTaxonomyType. -message UserInterestTaxonomyTypeEnum { - // Enum containing the possible UserInterestTaxonomyTypes. - enum UserInterestTaxonomyType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The affinity for this user interest. - AFFINITY = 2; - - // The market for this user interest. - IN_MARKET = 3; - - // Users known to have installed applications in the specified categories. - MOBILE_APP_INSTALL_USER = 4; - - // The geographical location of the interest-based vertical. - VERTICAL_GEO = 5; - - // User interest criteria for new smart phone users. - NEW_SMART_PHONE_USER = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_access_status.proto deleted file mode 100644 index e85e2be6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_access_status.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListAccessStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing user list access status. - -// Indicates if this client still has access to the list. -message UserListAccessStatusEnum { - // Enum containing possible user list access statuses. - enum UserListAccessStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The access is enabled. - ENABLED = 2; - - // The access is disabled. - DISABLED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_closing_reason.proto deleted file mode 100644 index f8286e4e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_closing_reason.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListClosingReasonProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing user list closing reason. - -// Indicates the reason why the userlist was closed. -// This enum is only used when a list is auto-closed by the system. -message UserListClosingReasonEnum { - // Enum describing possible user list closing reasons. - enum UserListClosingReason { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The userlist was closed because of not being used for over one year. - UNUSED = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_combined_rule_operator.proto deleted file mode 100644 index 8a19ee68..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_combined_rule_operator.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListCombinedRuleOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Logical operator connecting two rules. -message UserListCombinedRuleOperatorEnum { - // Enum describing possible user list combined rule operators. - enum UserListCombinedRuleOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // A AND B. - AND = 2; - - // A AND NOT B. - AND_NOT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_crm_data_source_type.proto deleted file mode 100644 index b70f190c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_crm_data_source_type.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListCrmDataSourceTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Indicates source of Crm upload data. -message UserListCrmDataSourceTypeEnum { - // Enum describing possible user list crm data source type. - enum UserListCrmDataSourceType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The uploaded data is first-party data. - FIRST_PARTY = 2; - - // The uploaded data is from a third-party credit bureau. - THIRD_PARTY_CREDIT_BUREAU = 3; - - // The uploaded data is from a third-party voter file. - THIRD_PARTY_VOTER_FILE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_date_rule_item_operator.proto deleted file mode 100644 index 526c6d8a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_date_rule_item_operator.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListDateRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Supported rule operator for date type. -message UserListDateRuleItemOperatorEnum { - // Enum describing possible user list date rule item operators. - enum UserListDateRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Equals. - EQUALS = 2; - - // Not Equals. - NOT_EQUALS = 3; - - // Before. - BEFORE = 4; - - // After. - AFTER = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_logical_rule_operator.proto deleted file mode 100644 index 485af7f5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_logical_rule_operator.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListLogicalRuleOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// The logical operator of the rule. -message UserListLogicalRuleOperatorEnum { - // Enum describing possible user list logical rule operators. - enum UserListLogicalRuleOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // And - all of the operands. - ALL = 2; - - // Or - at least one of the operands. - ANY = 3; - - // Not - none of the operands. - NONE = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_membership_status.proto deleted file mode 100644 index af55c67e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_membership_status.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListMembershipStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing user list membership status. - -// Membership status of this user list. Indicates whether a user list is open -// or active. Only open user lists can accumulate more users and can be used for -// targeting. -message UserListMembershipStatusEnum { - // Enum containing possible user list membership statuses. - enum UserListMembershipStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Open status - List is accruing members and can be targeted to. - OPEN = 2; - - // Closed status - No new members being added. Cannot be used for targeting. - CLOSED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_number_rule_item_operator.proto deleted file mode 100644 index 489b5b15..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_number_rule_item_operator.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListNumberRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Supported rule operator for number type. -message UserListNumberRuleItemOperatorEnum { - // Enum describing possible user list number rule item operators. - enum UserListNumberRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Greater than. - GREATER_THAN = 2; - - // Greater than or equal. - GREATER_THAN_OR_EQUAL = 3; - - // Equals. - EQUALS = 4; - - // Not equals. - NOT_EQUALS = 5; - - // Less than. - LESS_THAN = 6; - - // Less than or equal. - LESS_THAN_OR_EQUAL = 7; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_prepopulation_status.proto deleted file mode 100644 index 2c97a719..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_prepopulation_status.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListPrepopulationStatusProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Indicates status of prepopulation based on the rule. -message UserListPrepopulationStatusEnum { - // Enum describing possible user list prepopulation status. - enum UserListPrepopulationStatus { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Prepopoulation is being requested. - REQUESTED = 2; - - // Prepopulation is finished. - FINISHED = 3; - - // Prepopulation failed. - FAILED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_rule_type.proto deleted file mode 100644 index 0598d55d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_rule_type.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListRuleTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Rule based user list rule type. -message UserListRuleTypeEnum { - // Enum describing possible user list rule types. - enum UserListRuleType { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Conjunctive normal form. - AND_OF_ORS = 2; - - // Disjunctive normal form. - OR_OF_ANDS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_size_range.proto deleted file mode 100644 index b4d062ca..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_size_range.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListSizeRangeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing user list size range. - -// Size range in terms of number of users of a UserList. -message UserListSizeRangeEnum { - // Enum containing possible user list size ranges. - enum UserListSizeRange { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // User list has less than 500 users. - LESS_THAN_FIVE_HUNDRED = 2; - - // User list has number of users in range of 500 to 1000. - LESS_THAN_ONE_THOUSAND = 3; - - // User list has number of users in range of 1000 to 10000. - ONE_THOUSAND_TO_TEN_THOUSAND = 4; - - // User list has number of users in range of 10000 to 50000. - TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; - - // User list has number of users in range of 50000 to 100000. - FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; - - // User list has number of users in range of 100000 to 300000. - ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; - - // User list has number of users in range of 300000 to 500000. - THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; - - // User list has number of users in range of 500000 to 1 million. - FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; - - // User list has number of users in range of 1 to 2 millions. - ONE_MILLION_TO_TWO_MILLION = 10; - - // User list has number of users in range of 2 to 3 millions. - TWO_MILLION_TO_THREE_MILLION = 11; - - // User list has number of users in range of 3 to 5 millions. - THREE_MILLION_TO_FIVE_MILLION = 12; - - // User list has number of users in range of 5 to 10 millions. - FIVE_MILLION_TO_TEN_MILLION = 13; - - // User list has number of users in range of 10 to 20 millions. - TEN_MILLION_TO_TWENTY_MILLION = 14; - - // User list has number of users in range of 20 to 30 millions. - TWENTY_MILLION_TO_THIRTY_MILLION = 15; - - // User list has number of users in range of 30 to 50 millions. - THIRTY_MILLION_TO_FIFTY_MILLION = 16; - - // User list has over 50 million users. - OVER_FIFTY_MILLION = 17; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_string_rule_item_operator.proto deleted file mode 100644 index fdb660c3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_string_rule_item_operator.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListStringRuleItemOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Supported rule operator for string type. -message UserListStringRuleItemOperatorEnum { - // Enum describing possible user list string rule item operators. - enum UserListStringRuleItemOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Contains. - CONTAINS = 2; - - // Equals. - EQUALS = 3; - - // Starts with. - STARTS_WITH = 4; - - // Ends with. - ENDS_WITH = 5; - - // Not equals. - NOT_EQUALS = 6; - - // Not contains. - NOT_CONTAINS = 7; - - // Not starts with. - NOT_STARTS_WITH = 8; - - // Not ends with. - NOT_ENDS_WITH = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v2/enums/user_list_type.proto deleted file mode 100644 index ce9207f2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/user_list_type.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "UserListTypeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::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/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_display_url_mode.proto deleted file mode 100644 index 9bae73ba..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_display_url_mode.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing vanity pharma display url modes. - -// The display mode for vanity pharma URLs. -message VanityPharmaDisplayUrlModeEnum { - // Enum describing possible display modes for vanity pharma URLs. - enum VanityPharmaDisplayUrlMode { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Replace vanity pharma URL with manufacturer website url. - MANUFACTURER_WEBSITE_URL = 2; - - // Replace vanity pharma URL with description of the website. - WEBSITE_DESCRIPTION = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_text.proto deleted file mode 100644 index 5c89fe44..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/vanity_pharma_text.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "VanityPharmaTextProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing vanity pharma texts. - -// The text that will be displayed in display URL of the text ad when website -// description is the selected display mode for vanity pharma URLs. -message VanityPharmaTextEnum { - // Enum describing possible text. - enum VanityPharmaText { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Prescription treatment website with website content in English. - PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; - - // Prescription treatment website with website content in Spanish - // (Sitio de tratamientos con receta). - PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; - - // Prescription device website with website content in English. - PRESCRIPTION_DEVICE_WEBSITE_EN = 4; - - // Prescription device website with website content in Spanish (Sitio de - // dispositivos con receta). - PRESCRIPTION_DEVICE_WEBSITE_ES = 5; - - // Medical device website with website content in English. - MEDICAL_DEVICE_WEBSITE_EN = 6; - - // Medical device website with website content in Spanish (Sitio de - // dispositivos médicos). - MEDICAL_DEVICE_WEBSITE_ES = 7; - - // Preventative treatment website with website content in English. - PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; - - // Preventative treatment website with website content in Spanish (Sitio de - // tratamientos preventivos). - PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; - - // Prescription contraception website with website content in English. - PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; - - // Prescription contraception website with website content in Spanish (Sitio - // de anticonceptivos con receta). - PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; - - // Prescription vaccine website with website content in English. - PRESCRIPTION_VACCINE_WEBSITE_EN = 12; - - // Prescription vaccine website with website content in Spanish (Sitio de - // vacunas con receta). - PRESCRIPTION_VACCINE_WEBSITE_ES = 13; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operand.proto deleted file mode 100644 index 8f961a2f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operand.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "WebpageConditionOperandProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing webpage condition operand. - -// Container for enum describing webpage condition operand in webpage criterion. -message WebpageConditionOperandEnum { - // The webpage condition operand in webpage criterion. - enum WebpageConditionOperand { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // Operand denoting a webpage URL targeting condition. - URL = 2; - - // Operand denoting a webpage category targeting condition. - CATEGORY = 3; - - // Operand denoting a webpage title targeting condition. - PAGE_TITLE = 4; - - // Operand denoting a webpage content targeting condition. - PAGE_CONTENT = 5; - - // Operand denoting a webpage custom label targeting condition. - CUSTOM_LABEL = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operator.proto deleted file mode 100644 index 3f1e547f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/enums/webpage_condition_operator.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "WebpageConditionOperatorProto"; -option java_package = "com.google.ads.googleads.v2.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; - -// Proto file describing webpage condition operator. - -// Container for enum describing webpage condition operator in webpage -// criterion. -message WebpageConditionOperatorEnum { - // The webpage condition operator in webpage criterion. - enum WebpageConditionOperator { - // Not specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // The argument web condition is equal to the compared web condition. - EQUALS = 2; - - // The argument web condition is part of the compared web condition. - CONTAINS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/access_invitation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/access_invitation_error.proto deleted file mode 100644 index 94981d99..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/access_invitation_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AccessInvitationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing AccessInvitation errors. - -// Container for enum describing possible AccessInvitation errors. -message AccessInvitationErrorEnum { - // Enum describing possible AccessInvitation errors. - enum AccessInvitationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The email address is invalid for sending an invitation. - INVALID_EMAIL_ADDRESS = 2; - - // Email address already has access to this customer. - EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/account_budget_proposal_error.proto deleted file mode 100644 index e4faa70a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/account_budget_proposal_error.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing account budget proposal errors. - -// Container for enum describing possible account budget proposal errors. -message AccountBudgetProposalErrorEnum { - // Enum describing possible account budget proposal errors. - enum AccountBudgetProposalError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The field mask must be empty for create/end/remove proposals. - FIELD_MASK_NOT_ALLOWED = 2; - - // The field cannot be set because of the proposal type. - IMMUTABLE_FIELD = 3; - - // The field is required because of the proposal type. - REQUIRED_FIELD_MISSING = 4; - - // Proposals that have been approved cannot be cancelled. - CANNOT_CANCEL_APPROVED_PROPOSAL = 5; - - // Budgets that haven't been approved cannot be removed. - CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; - - // Budgets that are currently running cannot be removed. - CANNOT_REMOVE_RUNNING_BUDGET = 7; - - // Budgets that haven't been approved cannot be truncated. - CANNOT_END_UNAPPROVED_BUDGET = 8; - - // Only budgets that are currently running can be truncated. - CANNOT_END_INACTIVE_BUDGET = 9; - - // All budgets must have names. - BUDGET_NAME_REQUIRED = 10; - - // Expired budgets cannot be edited after a sufficient amount of time has - // passed. - CANNOT_UPDATE_OLD_BUDGET = 11; - - // It is not permissible a propose a new budget that ends in the past. - CANNOT_END_IN_PAST = 12; - - // An expired budget cannot be extended to overlap with the running budget. - CANNOT_EXTEND_END_TIME = 13; - - // A purchase order number is required. - PURCHASE_ORDER_NUMBER_REQUIRED = 14; - - // Budgets that have a pending update cannot be updated. - PENDING_UPDATE_PROPOSAL_EXISTS = 15; - - // Cannot propose more than one budget when the corresponding billing setup - // hasn't been approved. - MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; - - // Cannot update the start time of a budget that has already started. - CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; - - // Cannot update the spending limit of a budget with an amount lower than - // what has already been spent. - SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; - - // Cannot propose a budget update without actually changing any fields. - UPDATE_IS_NO_OP = 19; - - // The end time must come after the start time. - END_TIME_MUST_FOLLOW_START_TIME = 20; - - // The budget's date range must fall within the date range of its billing - // setup. - BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; - - // The user is not authorized to mutate budgets for the given billing setup. - NOT_AUTHORIZED = 22; - - // Mutates are not allowed for the given billing setup. - INVALID_BILLING_SETUP = 23; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_customizer_error.proto deleted file mode 100644 index 0ac20307..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_customizer_error.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdCustomizerErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad customizer errors. - -// Container for enum describing possible ad customizer errors. -message AdCustomizerErrorEnum { - // Enum describing possible ad customizer errors. - enum AdCustomizerError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid date argument in countdown function. - COUNTDOWN_INVALID_DATE_FORMAT = 2; - - // Countdown end date is in the past. - COUNTDOWN_DATE_IN_PAST = 3; - - // Invalid locale string in countdown function. - COUNTDOWN_INVALID_LOCALE = 4; - - // Days-before argument to countdown function is not positive. - COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; - - // A user list referenced in an IF function does not exist. - UNKNOWN_USER_LIST = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_error.proto deleted file mode 100644 index 2c59fada..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_error.proto +++ /dev/null @@ -1,455 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad errors. - -// Container for enum describing possible ad errors. -message AdErrorEnum { - // Enum describing possible ad errors. - enum AdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Ad customizers are not supported for ad type. - AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; - - // Estimating character sizes the string is too long. - APPROXIMATELY_TOO_LONG = 3; - - // Estimating character sizes the string is too short. - APPROXIMATELY_TOO_SHORT = 4; - - // There is a problem with the snippet. - BAD_SNIPPET = 5; - - // Cannot modify an ad. - CANNOT_MODIFY_AD = 6; - - // business name and url cannot be set at the same time - CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; - - // The specified field is incompatible with this ad's type or settings. - CANNOT_SET_FIELD = 8; - - // Cannot set field when originAdId is set. - CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; - - // Cannot set field when an existing ad id is set for sharing. - CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; - - // Cannot set allowFlexibleColor false if no color is provided by user. - CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; - - // When user select native, no color control is allowed because we will - // always respect publisher color for native format serving. - CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; - - // Cannot specify a url for the ad type - CANNOT_SET_URL = 13; - - // Cannot specify a tracking or mobile url without also setting final urls - CANNOT_SET_WITHOUT_FINAL_URLS = 14; - - // Cannot specify a legacy url and a final url simultaneously - CANNOT_SET_WITH_FINAL_URLS = 15; - - // Cannot specify a urls in UrlData and in template fields simultaneously. - CANNOT_SET_WITH_URL_DATA = 17; - - // This operator cannot be used with a subclass of Ad. - CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; - - // Customer is not approved for mobile ads. - CUSTOMER_NOT_APPROVED_MOBILEADS = 19; - - // Customer is not approved for 3PAS richmedia ads. - CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; - - // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. - CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; - - // Not an eligible customer - CUSTOMER_NOT_ELIGIBLE = 22; - - // Customer is not eligible for updating beacon url - CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; - - // There already exists an ad with the same dimensions in the union. - DIMENSION_ALREADY_IN_UNION = 24; - - // Ad's dimension must be set before setting union dimension. - DIMENSION_MUST_BE_SET = 25; - - // Ad's dimension must be included in the union dimensions. - DIMENSION_NOT_IN_UNION = 26; - - // Display Url cannot be specified (applies to Ad Exchange Ads) - DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; - - // Telephone number contains invalid characters or invalid format. Please - // re-enter your number using digits (0-9), dashes (-), and parentheses - // only. - DOMESTIC_PHONE_NUMBER_FORMAT = 28; - - // Emergency telephone numbers are not allowed. Please 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. Please 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 (e.g. {lpurl}) - MISSING_DESTINATION_URL_TAG = 65; - - // The tracking url template of ExpandedDynamicSearchAd must contain at - // least one tag. (e.g. {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 - // (e.g. 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. Please 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_ad_error.proto deleted file mode 100644 index 55d90fb0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_ad_error.proto +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad group ad errors. - -// Container for enum describing possible ad group ad errors. -message AdGroupAdErrorEnum { - // Enum describing possible ad group ad errors. - enum AdGroupAdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No link found between the adgroup ad and the label. - AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; - - // The label has already been attached to the adgroup ad. - AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; - - // The specified ad was not found in the adgroup - AD_NOT_UNDER_ADGROUP = 4; - - // Removed ads may not be modified - CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; - - // An ad of this type is deprecated and cannot be created. Only deletions - // are permitted. - CANNOT_CREATE_DEPRECATED_ADS = 6; - - // Text ads are deprecated and cannot be created. Use expanded text ads - // instead. - CANNOT_CREATE_TEXT_ADS = 7; - - // A required field was not specified or is an empty string. - EMPTY_FIELD = 8; - - // An ad may only be modified once per call - RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_bid_modifier_error.proto deleted file mode 100644 index 65834bb6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_bid_modifier_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad group bid modifier errors. - -// Container for enum describing possible ad group bid modifier errors. -message AdGroupBidModifierErrorEnum { - // Enum describing possible ad group bid modifier errors. - enum AdGroupBidModifierError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The criterion ID does not support bid modification. - CRITERION_ID_NOT_SUPPORTED = 2; - - // Cannot override the bid modifier for the given criterion ID if the parent - // campaign is opted out of the same criterion. - CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_criterion_error.proto deleted file mode 100644 index ea96df9d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_criterion_error.proto +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad group criterion errors. - -// Container for enum describing possible ad group criterion errors. -message AdGroupCriterionErrorEnum { - // Enum describing possible ad group criterion errors. - enum AdGroupCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No link found between the AdGroupCriterion and the label. - AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; - - // The label has already been attached to the AdGroupCriterion. - AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; - - // Negative AdGroupCriterion cannot have labels. - CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; - - // Too many operations for a single call. - TOO_MANY_OPERATIONS = 5; - - // Negative ad group criteria are not updateable. - CANT_UPDATE_NEGATIVE = 6; - - // Concrete type of criterion (keyword v.s. placement) is required for ADD - // and SET operations. - CONCRETE_TYPE_REQUIRED = 7; - - // Bid is incompatible with ad group's bidding settings. - BID_INCOMPATIBLE_WITH_ADGROUP = 8; - - // Cannot target and exclude the same criterion at once. - CANNOT_TARGET_AND_EXCLUDE = 9; - - // The URL of a placement is invalid. - ILLEGAL_URL = 10; - - // Keyword text was invalid. - INVALID_KEYWORD_TEXT = 11; - - // Destination URL was invalid. - INVALID_DESTINATION_URL = 12; - - // The destination url must contain at least one tag (e.g. {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. - // Please 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; - - // Ad group is invalid due to the listing groups it contains. - INVALID_LISTING_GROUP_HIERARCHY = 39; - - // Listing group unit cannot have children. - LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 40; - - // Subdivided listing groups must have an "others" case. - LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 41; - - // Dimension type of listing group must be the same as that of its siblings. - LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 42; - - // Listing group cannot be added to the ad group because it already exists. - LISTING_GROUP_ALREADY_EXISTS = 43; - - // Listing group referenced in the operation was not found in the ad group. - LISTING_GROUP_DOES_NOT_EXIST = 44; - - // Recursive removal failed because listing group subdivision is being - // created or modified in this request. - LISTING_GROUP_CANNOT_BE_REMOVED = 45; - - // Listing group type is not allowed for specified ad group criterion type. - INVALID_LISTING_GROUP_TYPE = 46; - - // Listing group in an ADD operation specifies a non temporary criterion id. - LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 47; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_error.proto deleted file mode 100644 index 1b197c9c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_error.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad group errors. - -// Container for enum describing possible ad group errors. -message AdGroupErrorEnum { - // Enum describing possible ad group errors. - enum AdGroupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // AdGroup with the same name already exists for the campaign. - DUPLICATE_ADGROUP_NAME = 2; - - // AdGroup name is not valid. - INVALID_ADGROUP_NAME = 3; - - // Advertiser is not allowed to target sites or set site bids that are not - // on the Google Search Network. - ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; - - // Bid amount is too big. - BID_TOO_BIG = 6; - - // AdGroup bid does not match the campaign's bidding strategy. - BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; - - // AdGroup name is required for Add. - MISSING_ADGROUP_NAME = 8; - - // No link found between the ad group and the label. - ADGROUP_LABEL_DOES_NOT_EXIST = 9; - - // The label has already been attached to the ad group. - ADGROUP_LABEL_ALREADY_EXISTS = 10; - - // The CriterionTypeGroup is not supported for the content bid dimension. - INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; - - // The ad group type is not compatible with the campaign channel type. - AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; - - // The ad group type is not supported in the country of sale of the - // campaign. - ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; - - // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to - // campaigns that have DynamicSearchAdsSetting attached. - CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_feed_error.proto deleted file mode 100644 index cfdc268b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_group_feed_error.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad group feed errors. - -// Container for enum describing possible ad group feed errors. -message AdGroupFeedErrorEnum { - // Enum describing possible ad group feed errors. - enum AdGroupFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this ad group and place holder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 3; - - // The AdGroupFeed already exists. UPDATE operation should be used to modify - // the existing AdGroupFeed. - ADGROUP_FEED_ALREADY_EXISTS = 4; - - // Cannot operate on removed AdGroupFeed. - CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 6; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; - - // Location AdGroupFeeds cannot be created unless there is a location - // CustomerFeed for the specified feed. - NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_parameter_error.proto deleted file mode 100644 index 561765b3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_parameter_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad parameter errors. - -// Container for enum describing possible ad parameter errors. -message AdParameterErrorEnum { - // Enum describing possible ad parameter errors. - enum AdParameterError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The ad group criterion must be a keyword criterion. - AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; - - // The insertion text is invalid. - INVALID_INSERTION_TEXT_FORMAT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/ad_sharing_error.proto deleted file mode 100644 index 1296d56a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/ad_sharing_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdSharingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ad sharing errors. - -// Container for enum describing possible ad sharing errors. -message AdSharingErrorEnum { - // Enum describing possible ad sharing errors. - enum AdSharingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Error resulting in attempting to add an Ad to an AdGroup that already - // contains the Ad. - AD_GROUP_ALREADY_CONTAINS_AD = 2; - - // Ad is not compatible with the AdGroup it is being shared with. - INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; - - // Cannot add AdGroupAd on inactive Ad. - CANNOT_SHARE_INACTIVE_AD = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/adx_error.proto deleted file mode 100644 index 47646546..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/adx_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AdxErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing adx errors. - -// Container for enum describing possible adx errors. -message AdxErrorEnum { - // Enum describing possible adx errors. - enum AdxError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Attempt to use non-AdX feature by AdX customer. - UNSUPPORTED_FEATURE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/asset_error.proto deleted file mode 100644 index 9b69fea8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/asset_error.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AssetErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing asset errors. - -// Container for enum describing possible asset errors. -message AssetErrorEnum { - // Enum describing possible asset errors. - enum AssetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The customer is not whitelisted for this asset type. - CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/authentication_error.proto deleted file mode 100644 index 1a639d9b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/authentication_error.proto +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AuthenticationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing authentication errors. - -// Container for enum describing possible authentication errors. -message AuthenticationErrorEnum { - // Enum describing possible authentication errors. - enum AuthenticationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Authentication of the request failed. - AUTHENTICATION_ERROR = 2; - - // Client Customer Id is not a number. - CLIENT_CUSTOMER_ID_INVALID = 5; - - // No customer found for the provided customer id. - CUSTOMER_NOT_FOUND = 8; - - // Client's Google Account is deleted. - GOOGLE_ACCOUNT_DELETED = 9; - - // Google account login token in the cookie is invalid. - GOOGLE_ACCOUNT_COOKIE_INVALID = 10; - - // A problem occurred during Google account authentication. - GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; - - // The user in the google account login token does not match the UserId 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/authorization_error.proto deleted file mode 100644 index 0f233b6a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/authorization_error.proto +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "AuthorizationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing authorization errors. - -// Container for enum describing possible authorization errors. -message AuthorizationErrorEnum { - // Enum describing possible authorization errors. - enum AuthorizationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // User doesn't have permission to access customer. Note: If you're - // accessing a client customer, the manager's customer ID must be set in the - // `login-customer-id` header. Learn more at - // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid - USER_PERMISSION_DENIED = 2; - - // The developer token is not whitelisted. - DEVELOPER_TOKEN_NOT_WHITELISTED = 3; - - // 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 - // (e.g., ADD, UPDATE, REMOVE) on the resource or call a method. - ACTION_NOT_PERMITTED = 7; - - // Signup not complete. - INCOMPLETE_SIGNUP = 8; - - // The customer can't be used because it isn't enabled. - 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 not approved. Non-approved developer tokens can - // only be used with test accounts. - 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/bidding_error.proto deleted file mode 100644 index 5c84b226..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/bidding_error.proto +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BiddingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing bidding errors. - -// Container for enum describing possible bidding errors. -message BiddingErrorEnum { - // Enum describing possible bidding errors. - enum BiddingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot transition to new bidding strategy. - BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; - - // Cannot attach bidding strategy to campaign. - CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; - - // Bidding strategy is not supported or cannot be used as anonymous. - INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; - - // The type does not match the named strategy's type. - INVALID_BIDDING_STRATEGY_TYPE = 14; - - // The bid is invalid. - INVALID_BID = 17; - - // Bidding strategy is not available for the account type. - BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; - - // Conversion tracking is not enabled for the campaign for VBB transition. - CONVERSION_TRACKING_NOT_ENABLED = 19; - - // Not enough conversions tracked for VBB transitions. - NOT_ENOUGH_CONVERSIONS = 20; - - // 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 - // whitelisted customers 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; - - // The field is not compatible with the budget type. - NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; - - // The field is not compatible with the bidding strategy type. - NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/bidding_strategy_error.proto deleted file mode 100644 index f7ecea26..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/bidding_strategy_error.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing bidding strategy errors. - -// Container for enum describing possible bidding strategy errors. -message BiddingStrategyErrorEnum { - // Enum describing possible bidding strategy errors. - enum BiddingStrategyError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Each bidding strategy must have a unique name. - DUPLICATE_NAME = 2; - - // Bidding strategy type is immutable. - CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; - - // Only bidding strategies not linked to campaigns, adgroups or adgroup - // criteria can be removed. - CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; - - // The specified bidding strategy is not supported. - BIDDING_STRATEGY_NOT_SUPPORTED = 5; - - // The bidding strategy is incompatible with the campaign's bidding - // strategy goal type. - INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/billing_setup_error.proto deleted file mode 100644 index bdfac506..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/billing_setup_error.proto +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing billing setup errors. - -// Container for enum describing possible billing setup errors. -message BillingSetupErrorEnum { - // Enum describing possible billing setup errors. - enum BillingSetupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot specify both an existing payments account and a new payments - // account when setting up billing. - CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2; - - // Cannot cancel an approved billing setup whose start time has passed. - CANNOT_REMOVE_STARTED_BILLING_SETUP = 3; - - // Cannot perform a Change of Bill-To (CBT) to the same payments account. - CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4; - - // Billing setups can only be used by customers with ENABLED or DRAFT - // status. - BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5; - - // Billing setups must either include a correctly formatted existing - // payments account id, or a non-empty new payments account name. - INVALID_PAYMENTS_ACCOUNT = 6; - - // Only billable and third-party customers can create billing setups. - BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7; - - // Billing setup creations can only use NOW for start time type. - INVALID_START_TIME_TYPE = 8; - - // Billing setups can only be created for a third-party customer if they do - // not already have a setup. - THIRD_PARTY_ALREADY_HAS_BILLING = 9; - - // Billing setups cannot be created if there is already a pending billing in - // progress. - BILLING_SETUP_IN_PROGRESS = 10; - - // Billing setups can only be created by customers who have permission to - // setup billings. Users can contact a representative for help setting up - // permissions. - NO_SIGNUP_PERMISSION = 11; - - // Billing setups cannot be created if there is already a future-approved - // billing. - CHANGE_OF_BILL_TO_IN_PROGRESS = 12; - - // Requested payments profile not found. - PAYMENTS_PROFILE_NOT_FOUND = 13; - - // Requested payments account not found. - PAYMENTS_ACCOUNT_NOT_FOUND = 14; - - // Billing setup creation failed because the payments profile is ineligible. - PAYMENTS_PROFILE_INELIGIBLE = 15; - - // Billing setup creation failed because the payments account is ineligible. - PAYMENTS_ACCOUNT_INELIGIBLE = 16; - - // Billing setup creation failed because the payments profile needs internal - // approval. - CUSTOMER_NEEDS_INTERNAL_APPROVAL = 17; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_budget_error.proto deleted file mode 100644 index 7ab1b149..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_budget_error.proto +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign budget errors. - -// Container for enum describing possible campaign budget errors. -message CampaignBudgetErrorEnum { - // Enum describing possible campaign budget errors. - enum CampaignBudgetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The campaign budget cannot be shared. - CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; - - // The requested campaign budget no longer exists. - CAMPAIGN_BUDGET_REMOVED = 2; - - // The campaign budget is associated with at least one campaign, and so the - // campaign budget cannot be removed. - CAMPAIGN_BUDGET_IN_USE = 3; - - // Customer is not whitelisted 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_criterion_error.proto deleted file mode 100644 index ba0a017c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_criterion_error.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign criterion errors. - -// Container for enum describing possible campaign criterion errors. -message CampaignCriterionErrorEnum { - // Enum describing possible campaign criterion errors. - enum CampaignCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Concrete type of criterion (keyword v.s. placement) is required for - // CREATE and UPDATE operations. - CONCRETE_TYPE_REQUIRED = 2; - - // Invalid placement URL. - INVALID_PLACEMENT_URL = 3; - - // Criteria type can not be excluded for the campaign by the customer. like - // AOL account type cannot target site type criteria - CANNOT_EXCLUDE_CRITERIA_TYPE = 4; - - // Cannot set the campaign criterion status for this criteria type. - CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; - - // Cannot set the campaign criterion status for an excluded criteria. - CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; - - // Cannot target and exclude the same criterion. - CANNOT_TARGET_AND_EXCLUDE = 7; - - // The mutate contained too many operations. - TOO_MANY_OPERATIONS = 8; - - // This operator cannot be applied to a criterion of this type. - OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; - - // The Shopping campaign sales country is not supported for - // ProductSalesChannel targeting. - SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; - - // The existing field can't be updated with CREATE operation. It can be - // updated with UPDATE operation only. - CANNOT_ADD_EXISTING_FIELD = 11; - - // Negative criteria are immutable, so updates are not allowed. - CANNOT_UPDATE_NEGATIVE_CRITERION = 12; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_draft_error.proto deleted file mode 100644 index 257ccb13..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_draft_error.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign draft errors. - -// Container for enum describing possible campaign draft errors. -message CampaignDraftErrorEnum { - // Enum describing possible campaign draft errors. - enum CampaignDraftError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A draft with this name already exists for this campaign. - DUPLICATE_DRAFT_NAME = 2; - - // The draft is removed and cannot be transitioned to another status. - INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; - - // The draft has been promoted and cannot be transitioned to the specified - // status. - INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; - - // The draft has failed to be promoted and cannot be transitioned to the - // specified status. - INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; - - // This customer is not allowed to create drafts. - CUSTOMER_CANNOT_CREATE_DRAFT = 6; - - // This campaign is not allowed to create drafts. - CAMPAIGN_CANNOT_CREATE_DRAFT = 7; - - // This modification cannot be made on a draft. - INVALID_DRAFT_CHANGE = 8; - - // The draft cannot be transitioned to the specified status from its - // current status. - INVALID_STATUS_TRANSITION = 9; - - // The campaign has reached the maximum number of drafts that can be created - // for a campaign throughout its lifetime. No additional drafts can be - // created for this campaign. Removed drafts also count towards this limit. - MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; - - // ListAsyncErrors was called without first promoting the draft. - LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_error.proto deleted file mode 100644 index c35bebe4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_error.proto +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign errors. - -// Container for enum describing possible campaign errors. -message CampaignErrorEnum { - // Enum describing possible campaign errors. - enum CampaignError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot target content network. - CANNOT_TARGET_CONTENT_NETWORK = 3; - - // Cannot target search network. - CANNOT_TARGET_SEARCH_NETWORK = 4; - - // Cannot cover search network without google search network. - CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; - - // Cannot target Google Search network for a CPM campaign. - CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; - - // Must target at least one network. - CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; - - // Only some Google partners are allowed to target partner search network. - CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; - - // Cannot target content network only as campaign has criteria-level bidding - // strategy. - CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; - - // Cannot modify the start or end date such that the campaign duration would - // not contain the durations of all runnable trials. - CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; - - // Cannot modify dates, budget or campaign name 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. An 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; - - // A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a - // UniversalAppCampaignSetting specified. - MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_experiment_error.proto deleted file mode 100644 index 25db480c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_experiment_error.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign experiment errors. - -// Container for enum describing possible campaign experiment errors. -message CampaignExperimentErrorEnum { - // Enum describing possible campaign experiment errors. - enum CampaignExperimentError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active campaign or experiment with this name already exists. - DUPLICATE_NAME = 2; - - // Experiment cannot be updated from the current state to the - // requested target state. For example, an experiment can only graduate - // if its status is ENABLED. - INVALID_TRANSITION = 3; - - // Cannot create an experiment from a campaign using an explicitly shared - // budget. - CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; - - // Cannot create an experiment for a removed base campaign. - CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; - - // Cannot create an experiment from a draft, which has a status other than - // proposed. - CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; - - // This customer is not allowed to create an experiment. - CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; - - // This campaign is not allowed to create an experiment. - CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; - - // Trying to set an experiment duration which overlaps with another - // experiment. - EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; - - // All non-removed experiments must start and end within their campaign's - // duration. - EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; - - // The experiment cannot be modified because its status is in a terminal - // state, such as REMOVED. - CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_feed_error.proto deleted file mode 100644 index 37fd105d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_feed_error.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign feed errors. - -// Container for enum describing possible campaign feed errors. -message CampaignFeedErrorEnum { - // Enum describing possible campaign feed errors. - enum CampaignFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this campaign and placeholder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 4; - - // The CampaignFeed already exists. UPDATE should be used to modify the - // existing CampaignFeed. - CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; - - // Cannot update removed campaign feed. - CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 7; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/campaign_shared_set_error.proto deleted file mode 100644 index 0623b73a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/campaign_shared_set_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing campaign shared set errors. - -// Container for enum describing possible campaign shared set errors. -message CampaignSharedSetErrorEnum { - // Enum describing possible campaign shared set errors. - enum CampaignSharedSetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The shared set belongs to another customer and permission isn't granted. - SHARED_SET_ACCESS_DENIED = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/change_status_error.proto deleted file mode 100644 index 957f2f68..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/change_status_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing change status errors. - -// Container for enum describing possible change status errors. -message ChangeStatusErrorEnum { - // Enum describing possible change status errors. - enum ChangeStatusError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The requested start date is too old. - START_DATE_TOO_OLD = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/collection_size_error.proto deleted file mode 100644 index 32dee5f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/collection_size_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CollectionSizeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing collection size errors. - -// Container for enum describing possible collection size errors. -message CollectionSizeErrorEnum { - // Enum describing possible collection size errors. - enum CollectionSizeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too few. - TOO_FEW = 2; - - // Too many. - TOO_MANY = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/context_error.proto deleted file mode 100644 index 90ac6cbb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/context_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ContextErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing context errors. - -// Container for enum describing possible context errors. -message ContextErrorEnum { - // Enum describing possible context errors. - enum ContextError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The operation is not allowed for the given context. - OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; - - // The operation is not allowed for removed resources. - OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/conversion_action_error.proto deleted file mode 100644 index 083641e2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_action_error.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing conversion action errors. - -// Container for enum describing possible conversion action errors. -message ConversionActionErrorEnum { - // Enum describing possible conversion action errors. - enum ConversionActionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified conversion action name already exists. - DUPLICATE_NAME = 2; - - // Another conversion action with the specified app id already exists. - DUPLICATE_APP_ID = 3; - - // Android first open action conflicts with Google play codeless download - // action tracking the same app. - TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; - - // Android first open action conflicts with Google play codeless download - // action tracking the same app. - BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; - - // The attribution model cannot be set to DATA_DRIVEN because a data-driven - // model has never been generated. - DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is expired. - DATA_DRIVEN_MODEL_EXPIRED = 7; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is stale. - DATA_DRIVEN_MODEL_STALE = 8; - - // The attribution model cannot be set to DATA_DRIVEN because the - // data-driven model is unavailable or the conversion action was newly - // added. - DATA_DRIVEN_MODEL_UNKNOWN = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/conversion_adjustment_upload_error.proto deleted file mode 100644 index d2eb1e90..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_adjustment_upload_error.proto +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::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; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified conversion action was created too recently. - // Please try the upload again after 4-6 hours have passed since the - // conversion action was created. - TOO_RECENT_CONVERSION_ACTION = 2; - - // No conversion action of a supported ConversionActionType that matches the - // provided information can be found for the customer. - INVALID_CONVERSION_ACTION = 3; - - // A retraction was already reported for this conversion. - CONVERSION_ALREADY_RETRACTED = 4; - - // A conversion for the supplied combination of conversion - // action and conversion identifier could not be found. - CONVERSION_NOT_FOUND = 5; - - // The specified conversion has already expired. Conversions expire after 55 - // days, after which adjustments cannot be reported against them. - CONVERSION_EXPIRED = 6; - - // The supplied adjustment date time precedes that of the original - // conversion. - ADJUSTMENT_PRECEDES_CONVERSION = 7; - - // A restatement with a more recent adjustment date time was already - // reported for this conversion. - MORE_RECENT_RESTATEMENT_FOUND = 8; - - // The conversion was created too recently. - TOO_RECENT_CONVERSION = 9; - - // Restatements cannot be reported for a conversion action that always uses - // the default value. - CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/conversion_upload_error.proto deleted file mode 100644 index af55a472..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/conversion_upload_error.proto +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ConversionUploadErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::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; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The request contained more than 2000 conversions. - TOO_MANY_CONVERSIONS_IN_REQUEST = 2; - - // The specified gclid could not be decoded. - UNPARSEABLE_GCLID = 3; - - // The specified conversion_date_time is before the event time - // associated with the given gclid. - CONVERSION_PRECEDES_GCLID = 4; - - // The click associated with the given gclid is either too old to be - // imported or occurred outside of the click through lookback window for the - // specified conversion action. - EXPIRED_GCLID = 5; - - // The click associated with the given gclid occurred too recently. Please - // try uploading again after 24 hours have passed since the click occurred. - TOO_RECENT_GCLID = 6; - - // The click associated with the given gclid could not be found in the - // system. This can happen if Google Click IDs are collected for non Google - // Ads clicks. - GCLID_NOT_FOUND = 7; - - // The click associated with the given gclid is owned by a customer - // account that the uploading customer does not manage. - UNAUTHORIZED_CUSTOMER = 8; - - // No upload eligible conversion action that matches the provided - // information can be found for the customer. - INVALID_CONVERSION_ACTION = 9; - - // The specified conversion action was created too recently. - // Please try the upload again after 4-6 hours have passed since the - // conversion action was created. - TOO_RECENT_CONVERSION_ACTION = 10; - - // The click associated with the given gclid does not contain conversion - // tracking information. - CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; - - // The specified conversion action does not use an external attribution - // model, but external_attribution_data was set. - EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12; - - // The specified conversion action uses an external attribution model, but - // external_attribution_data or one of its contained fields was not set. - // Both external_attribution_credit and external_attribution_model must be - // set for externally attributed conversion actions. - EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13; - - // Order IDs are not supported for conversion actions which use an external - // attribution model. - ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; - - // A conversion with the same order id and conversion action combination - // already exists in our system. - ORDER_ID_ALREADY_IN_USE = 15; - - // The request contained two or more conversions with the same order id and - // conversion action combination. - DUPLICATE_ORDER_ID = 16; - - // The call occurred too recently. Please try uploading again after 24 hours - // have passed since the call occurred. - TOO_RECENT_CALL = 17; - - // The click that initiated the call is too old for this conversion to be - // imported. - EXPIRED_CALL = 18; - - // The call or the click leading to the call was not found. - CALL_NOT_FOUND = 19; - - // The specified conversion_date_time is before the call_start_date_time. - CONVERSION_PRECEDES_CALL = 20; - - // The click associated with the call does not contain conversion tracking - // information. - CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; - - // The caller’s phone number cannot be parsed. It should be formatted either - // as E.164 "+16502531234", International "+64 3-331 6005" or US national - // number "6502531234". - UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/country_code_error.proto deleted file mode 100644 index c1a8ea55..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/country_code_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CountryCodeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing country code errors. - -// Container for enum describing country code errors. -message CountryCodeErrorEnum { - // Enum describing country code errors. - enum CountryCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The country code is invalid. - INVALID_COUNTRY_CODE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/criterion_error.proto deleted file mode 100644 index 8a39c6d0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/criterion_error.proto +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CriterionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing criterion errors. - -// Container for enum describing possible criterion errors. -message CriterionErrorEnum { - // Enum describing possible criterion errors. - enum CriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Concrete type of criterion is required for CREATE and UPDATE operations. - CONCRETE_TYPE_REQUIRED = 2; - - // The category requested for exclusion is invalid. - INVALID_EXCLUDED_CATEGORY = 3; - - // Invalid keyword criteria text. - INVALID_KEYWORD_TEXT = 4; - - // Keyword text should be less than 80 chars. - KEYWORD_TEXT_TOO_LONG = 5; - - // Keyword text has too many words. - KEYWORD_HAS_TOO_MANY_WORDS = 6; - - // Keyword text has invalid characters or symbols. - KEYWORD_HAS_INVALID_CHARS = 7; - - // Invalid placement URL. - INVALID_PLACEMENT_URL = 8; - - // Invalid user list criterion. - INVALID_USER_LIST = 9; - - // Invalid user interest criterion. - INVALID_USER_INTEREST = 10; - - // Placement URL has wrong format. - INVALID_FORMAT_FOR_PLACEMENT_URL = 11; - - // Placement URL is too long. - PLACEMENT_URL_IS_TOO_LONG = 12; - - // Indicates the URL contains an illegal character. - PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; - - // Indicates the URL contains multiple comma separated URLs. - PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; - - // Indicates the domain is blacklisted. - 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; - - // Product filter in the product criteria has invalid characters. Operand - // and the argument in the filter can not have "==" or "&+". - INVALID_PRODUCT_FILTER = 24; - - // Product filter in the product criteria is translated to a string as - // operand1==argument1&+operand2==argument2, maximum allowed length for the - // string is 255 chars. - PRODUCT_FILTER_TOO_LONG = 25; - - // 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 custom affinity criterion. - INVALID_CUSTOM_AFFINITY = 96; - - // Invalid custom intent criterion. - INVALID_CUSTOM_INTENT = 97; - - // 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; - - // The combined length of product dimension values of the product scope - // criterion is too long. - PRODUCT_SCOPE_TOO_LONG = 70; - - // Product scope contains too many dimensions. - PRODUCT_SCOPE_TOO_MANY_DIMENSIONS = 71; - - // The combined length of product dimension values of the product partition - // criterion is too long. - PRODUCT_PARTITION_TOO_LONG = 72; - - // Product partition contains too many dimensions. - PRODUCT_PARTITION_TOO_MANY_DIMENSIONS = 73; - - // The product dimension is invalid (e.g. dimension contains illegal value, - // dimension type is represented with wrong class, etc). Product dimension - // value can not contain "==" or "&+". - INVALID_PRODUCT_DIMENSION = 74; - - // Product 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 product 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" product - // partition 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_PRODUCT_DIMENSION_TYPE = 75; - - // 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; - - // 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, e.g. 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/currency_code_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/currency_code_error.proto deleted file mode 100644 index 3889e9b6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/currency_code_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CurrencyCodeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing currency code errors. - -// Container for enum describing possible currency code errors. -message CurrencyCodeErrorEnum { - // Enum describing possible currency code errors. - enum CurrencyCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The currency code is not supported. - UNSUPPORTED = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/custom_interest_error.proto deleted file mode 100644 index d457d84b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/custom_interest_error.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing custom interest errors. - -// Container for enum describing possible custom interest errors. -message CustomInterestErrorEnum { - // Enum describing possible custom interest errors. - enum CustomInterestError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Duplicate custom interest name ignoring case. - NAME_ALREADY_USED = 2; - - // In the remove custom interest member operation, both member ID and - // pair [type, parameter] are not present. - CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; - - // The pair of [type, parameter] does not exist. - TYPE_AND_PARAMETER_NOT_FOUND = 4; - - // The pair of [type, parameter] already exists. - TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; - - // Unsupported custom interest member type. - INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; - - // Cannot remove a custom interest while it's still being targeted. - CANNOT_REMOVE_WHILE_IN_USE = 7; - - // Cannot mutate custom interest type. - CANNOT_CHANGE_TYPE = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/customer_client_link_error.proto deleted file mode 100644 index 4543aef1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/customer_client_link_error.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing CustomerClientLink errors. - -// Container for enum describing possible CustomeClientLink errors. -message CustomerClientLinkErrorEnum { - // Enum describing possible CustomerClientLink errors. - enum CustomerClientLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Trying to manage a client that already in being managed by customer. - CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; - - // Already managed by some other manager in the hierarchy. - CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; - - // Attempt to create a cycle in the hierarchy. - CYCLIC_LINK_NOT_ALLOWED = 4; - - // Managed accounts has the maximum number of linked accounts. - CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; - - // Invitor has the maximum pending invitations. - CLIENT_HAS_TOO_MANY_INVITATIONS = 6; - - // Attempt to change hidden status of a link that is not active. - CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; - - // Parent manager account has the maximum number of linked accounts. - CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/customer_error.proto deleted file mode 100644 index 1bab8b7d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/customer_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Container for enum describing possible customer errors. -message CustomerErrorEnum { - // Set of errors that are related to requests dealing with Customer. - // Next id: 26 - 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/google-cloud/protos/google/ads/googleads/v2/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/customer_feed_error.proto deleted file mode 100644 index 6c8290bc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/customer_feed_error.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing customer feed errors. - -// Container for enum describing possible customer feed errors. -message CustomerFeedErrorEnum { - // Enum describing possible customer feed errors. - enum CustomerFeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An active feed already exists for this customer and place holder type. - FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; - - // The specified feed is removed. - CANNOT_CREATE_FOR_REMOVED_FEED = 3; - - // The CustomerFeed already exists. Update should be used to modify the - // existing CustomerFeed. - CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; - - // Cannot update removed customer feed. - CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; - - // Invalid placeholder type. - INVALID_PLACEHOLDER_TYPE = 6; - - // Feed mapping for this placeholder type does not exist. - MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; - - // Placeholder not allowed at the account level. - PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/customer_manager_link_error.proto deleted file mode 100644 index 48d2ad85..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/customer_manager_link_error.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing CustomerManagerLink errors. - -// Container for enum describing possible CustomerManagerLink errors. -message CustomerManagerLinkErrorEnum { - // Enum describing possible CustomerManagerLink errors. - enum CustomerManagerLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // No pending invitation. - NO_PENDING_INVITE = 2; - - // Attempt to operate on the same client more than once in the same call. - SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; - - // Manager account has the maximum number of linked accounts. - MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; - - // If no active user on account it cannot be unlinked from its manager. - CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; - - // Account should have at least one active owner on it before being - // unlinked. - CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; - - // Only account owners may change their permission role. - CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; - - // When a client's link to its manager is not active, the link role cannot - // be changed. - CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; - - // Attempt to link a child to a parent that contains or will contain - // duplicate children. - DUPLICATE_CHILD_FOUND = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/database_error.proto deleted file mode 100644 index 5018e03e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/database_error.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DatabaseErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing database errors. - -// Container for enum describing possible database errors. -message DatabaseErrorEnum { - // Enum describing possible database errors. - enum DatabaseError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Multiple requests were attempting to modify the same resource at once. - // Please 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/date_error.proto deleted file mode 100644 index 803069a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/date_error.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DateErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing date errors. - -// Container for enum describing possible date errors. -message DateErrorEnum { - // Enum describing possible date errors. - enum DateError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Given field values do not correspond to a valid date. - INVALID_FIELD_VALUES_IN_DATE = 2; - - // Given field values do not correspond to a valid date time. - INVALID_FIELD_VALUES_IN_DATE_TIME = 3; - - // The string date's format should be yyyy-mm-dd. - INVALID_STRING_DATE = 4; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. - INVALID_STRING_DATE_TIME_MICROS = 6; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss. - INVALID_STRING_DATE_TIME_SECONDS = 11; - - // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. - INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; - - // Date is before allowed minimum. - EARLIER_THAN_MINIMUM_DATE = 7; - - // Date is after allowed maximum. - LATER_THAN_MAXIMUM_DATE = 8; - - // Date range bounds are not in order. - DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; - - // Both dates in range are null. - DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/date_range_error.proto deleted file mode 100644 index a748d7fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/date_range_error.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DateRangeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing date range errors. - -// Container for enum describing possible date range errors. -message DateRangeErrorEnum { - // Enum describing possible date range errors. - enum DateRangeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid date. - INVALID_DATE = 2; - - // The start date was after the end date. - START_DATE_AFTER_END_DATE = 3; - - // Cannot set date to past time - CANNOT_SET_DATE_TO_PAST = 4; - - // A date was used that is past the system "last" date. - AFTER_MAXIMUM_ALLOWABLE_DATE = 5; - - // Trying to change start date on a resource that has started. - CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/distinct_error.proto deleted file mode 100644 index cc80a645..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/distinct_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "DistinctErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing distinct errors. - -// Container for enum describing possible distinct errors. -message DistinctErrorEnum { - // Enum describing possible distinct errors. - enum DistinctError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Duplicate element. - DUPLICATE_ELEMENT = 2; - - // Duplicate type. - DUPLICATE_TYPE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/enum_error.proto deleted file mode 100644 index c03ca0d6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/enum_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "EnumErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing enum errors. - -// Container for enum describing possible enum errors. -message EnumErrorEnum { - // Enum describing possible enum errors. - enum EnumError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The enum value is not permitted. - ENUM_VALUE_NOT_PERMITTED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v2/errors/errors.proto deleted file mode 100644 index f02dbbf1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/errors.proto +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/common/value.proto"; -import "google/ads/googleads/v2/errors/access_invitation_error.proto"; -import "google/ads/googleads/v2/errors/account_budget_proposal_error.proto"; -import "google/ads/googleads/v2/errors/ad_customizer_error.proto"; -import "google/ads/googleads/v2/errors/ad_error.proto"; -import "google/ads/googleads/v2/errors/ad_group_ad_error.proto"; -import "google/ads/googleads/v2/errors/ad_group_bid_modifier_error.proto"; -import "google/ads/googleads/v2/errors/ad_group_criterion_error.proto"; -import "google/ads/googleads/v2/errors/ad_group_error.proto"; -import "google/ads/googleads/v2/errors/ad_group_feed_error.proto"; -import "google/ads/googleads/v2/errors/ad_parameter_error.proto"; -import "google/ads/googleads/v2/errors/ad_sharing_error.proto"; -import "google/ads/googleads/v2/errors/adx_error.proto"; -import "google/ads/googleads/v2/errors/asset_error.proto"; -import "google/ads/googleads/v2/errors/authentication_error.proto"; -import "google/ads/googleads/v2/errors/authorization_error.proto"; -import "google/ads/googleads/v2/errors/bidding_error.proto"; -import "google/ads/googleads/v2/errors/bidding_strategy_error.proto"; -import "google/ads/googleads/v2/errors/billing_setup_error.proto"; -import "google/ads/googleads/v2/errors/campaign_budget_error.proto"; -import "google/ads/googleads/v2/errors/campaign_criterion_error.proto"; -import "google/ads/googleads/v2/errors/campaign_draft_error.proto"; -import "google/ads/googleads/v2/errors/campaign_error.proto"; -import "google/ads/googleads/v2/errors/campaign_experiment_error.proto"; -import "google/ads/googleads/v2/errors/campaign_feed_error.proto"; -import "google/ads/googleads/v2/errors/campaign_shared_set_error.proto"; -import "google/ads/googleads/v2/errors/change_status_error.proto"; -import "google/ads/googleads/v2/errors/collection_size_error.proto"; -import "google/ads/googleads/v2/errors/context_error.proto"; -import "google/ads/googleads/v2/errors/conversion_action_error.proto"; -import "google/ads/googleads/v2/errors/conversion_adjustment_upload_error.proto"; -import "google/ads/googleads/v2/errors/conversion_upload_error.proto"; -import "google/ads/googleads/v2/errors/country_code_error.proto"; -import "google/ads/googleads/v2/errors/criterion_error.proto"; -import "google/ads/googleads/v2/errors/currency_code_error.proto"; -import "google/ads/googleads/v2/errors/custom_interest_error.proto"; -import "google/ads/googleads/v2/errors/customer_client_link_error.proto"; -import "google/ads/googleads/v2/errors/customer_error.proto"; -import "google/ads/googleads/v2/errors/customer_feed_error.proto"; -import "google/ads/googleads/v2/errors/customer_manager_link_error.proto"; -import "google/ads/googleads/v2/errors/database_error.proto"; -import "google/ads/googleads/v2/errors/date_error.proto"; -import "google/ads/googleads/v2/errors/date_range_error.proto"; -import "google/ads/googleads/v2/errors/distinct_error.proto"; -import "google/ads/googleads/v2/errors/enum_error.proto"; -import "google/ads/googleads/v2/errors/extension_feed_item_error.proto"; -import "google/ads/googleads/v2/errors/extension_setting_error.proto"; -import "google/ads/googleads/v2/errors/feed_attribute_reference_error.proto"; -import "google/ads/googleads/v2/errors/feed_error.proto"; -import "google/ads/googleads/v2/errors/feed_item_error.proto"; -import "google/ads/googleads/v2/errors/feed_item_target_error.proto"; -import "google/ads/googleads/v2/errors/feed_item_validation_error.proto"; -import "google/ads/googleads/v2/errors/feed_mapping_error.proto"; -import "google/ads/googleads/v2/errors/field_error.proto"; -import "google/ads/googleads/v2/errors/field_mask_error.proto"; -import "google/ads/googleads/v2/errors/function_error.proto"; -import "google/ads/googleads/v2/errors/function_parsing_error.proto"; -import "google/ads/googleads/v2/errors/geo_target_constant_suggestion_error.proto"; -import "google/ads/googleads/v2/errors/header_error.proto"; -import "google/ads/googleads/v2/errors/id_error.proto"; -import "google/ads/googleads/v2/errors/image_error.proto"; -import "google/ads/googleads/v2/errors/internal_error.proto"; -import "google/ads/googleads/v2/errors/invoice_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_ad_group_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_campaign_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_idea_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_keyword_error.proto"; -import "google/ads/googleads/v2/errors/keyword_plan_negative_keyword_error.proto"; -import "google/ads/googleads/v2/errors/label_error.proto"; -import "google/ads/googleads/v2/errors/language_code_error.proto"; -import "google/ads/googleads/v2/errors/list_operation_error.proto"; -import "google/ads/googleads/v2/errors/manager_link_error.proto"; -import "google/ads/googleads/v2/errors/media_bundle_error.proto"; -import "google/ads/googleads/v2/errors/media_file_error.proto"; -import "google/ads/googleads/v2/errors/media_upload_error.proto"; -import "google/ads/googleads/v2/errors/multiplier_error.proto"; -import "google/ads/googleads/v2/errors/mutate_error.proto"; -import "google/ads/googleads/v2/errors/mutate_job_error.proto"; -import "google/ads/googleads/v2/errors/new_resource_creation_error.proto"; -import "google/ads/googleads/v2/errors/not_empty_error.proto"; -import "google/ads/googleads/v2/errors/not_whitelisted_error.proto"; -import "google/ads/googleads/v2/errors/null_error.proto"; -import "google/ads/googleads/v2/errors/operation_access_denied_error.proto"; -import "google/ads/googleads/v2/errors/operator_error.proto"; -import "google/ads/googleads/v2/errors/partial_failure_error.proto"; -import "google/ads/googleads/v2/errors/policy_finding_error.proto"; -import "google/ads/googleads/v2/errors/policy_validation_parameter_error.proto"; -import "google/ads/googleads/v2/errors/policy_violation_error.proto"; -import "google/ads/googleads/v2/errors/query_error.proto"; -import "google/ads/googleads/v2/errors/quota_error.proto"; -import "google/ads/googleads/v2/errors/range_error.proto"; -import "google/ads/googleads/v2/errors/reach_plan_error.proto"; -import "google/ads/googleads/v2/errors/recommendation_error.proto"; -import "google/ads/googleads/v2/errors/region_code_error.proto"; -import "google/ads/googleads/v2/errors/request_error.proto"; -import "google/ads/googleads/v2/errors/resource_access_denied_error.proto"; -import "google/ads/googleads/v2/errors/resource_count_limit_exceeded_error.proto"; -import "google/ads/googleads/v2/errors/setting_error.proto"; -import "google/ads/googleads/v2/errors/shared_criterion_error.proto"; -import "google/ads/googleads/v2/errors/shared_set_error.proto"; -import "google/ads/googleads/v2/errors/size_limit_error.proto"; -import "google/ads/googleads/v2/errors/string_format_error.proto"; -import "google/ads/googleads/v2/errors/string_length_error.proto"; -import "google/ads/googleads/v2/errors/url_field_error.proto"; -import "google/ads/googleads/v2/errors/user_list_error.proto"; -import "google/ads/googleads/v2/errors/youtube_video_registration_error.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ErrorsProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing the common error protos - -// Describes how a GoogleAds API call failed. It's returned inside -// google.rpc.Status.details when a call fails. -message GoogleAdsFailure { - // The list of errors that occurred. - repeated GoogleAdsError errors = 1; -} - -// GoogleAds-specific error. -message GoogleAdsError { - // An enum value that indicates which error occurred. - ErrorCode error_code = 1; - - // A human-readable description of the error. - string message = 2; - - // The value that triggered the error. - google.ads.googleads.v2.common.Value trigger = 3; - - // Describes the part of the request proto that caused the error. - ErrorLocation location = 4; - - // Additional error details, which are returned by certain error codes. Most - // error codes do not include details. - ErrorDetails details = 5; -} - -// The error reason represented by type and enum. -message ErrorCode { - // The list of error enums - oneof error_code { - // An error caused by the request - RequestErrorEnum.RequestError request_error = 1; - - // An error with a Bidding Strategy mutate. - BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; - - // An error with a URL field mutate. - UrlFieldErrorEnum.UrlFieldError url_field_error = 3; - - // An error with a list operation. - ListOperationErrorEnum.ListOperationError list_operation_error = 4; - - // An error with an AWQL query - QueryErrorEnum.QueryError query_error = 5; - - // An error with a mutate - MutateErrorEnum.MutateError mutate_error = 7; - - // An error with a field mask - FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; - - // An error encountered when trying to authorize a user. - AuthorizationErrorEnum.AuthorizationError authorization_error = 9; - - // An unexpected server-side error. - InternalErrorEnum.InternalError internal_error = 10; - - // An error with the 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; - - // Indicates failure to properly authenticate user. - AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = 18; - - // 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 bidding errors - BiddingErrorEnum.BiddingError bidding_error = 26; - - // The reasons for the campaign criterion error - CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = 29; - - // The reasons for the collection size error - CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31; - - // 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 customer error - CustomerErrorEnum.CustomerError customer_error = 90; - - // 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; - - // 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 upload error - ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = 111; - - // 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 negative keyword error. - KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError keyword_plan_negative_keyword_error = 73; - - // The reason for keyword plan ad group error. - KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError keyword_plan_ad_group_error = 74; - - // The reason for keyword plan keyword error. - KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError keyword_plan_keyword_error = 75; - - // 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 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 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 - MutateJobErrorEnum.MutateJobError mutate_job_error = 108; - - // 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 not whitelisted error - NotWhitelistedErrorEnum.NotWhitelistedError not_whitelisted_error = 120; - - // 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 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; - } -} - -// 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 - google.protobuf.Int64Value index = 2; - } - - // 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 InternalError.ERROR_CODE_NOT_PUBLISHED. - string unpublished_error_code = 1; - - // Describes an ad policy violation. - PolicyViolationDetails policy_violation_details = 2; - - // Describes policy violation findings. - PolicyFindingDetails policy_finding_details = 3; -} - -// Error returned as part of a mutate response. -// This error indicates single policy violation by some text -// in one of the fields. -message PolicyViolationDetails { - // Human readable description of policy violation. - string external_policy_description = 2; - - // Unique identifier for this violation. - // If policy is exemptible, this key may be used to request exemption. - google.ads.googleads.v2.common.PolicyViolationKey key = 4; - - // Human readable name of the policy. - string external_policy_name = 5; - - // Whether user can file an exemption request for this violation. - bool is_exemptible = 6; -} - -// Error returned as part of a mutate response. -// This error indicates one or more policy findings in the fields of a -// resource. -message PolicyFindingDetails { - // The list of policy topics for the resource. Contains the PROHIBITED or - // FULLY_LIMITED policy topic entries that prevented the resource from being - // saved (among any other entries the resource may also have). - repeated google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/extension_feed_item_error.proto deleted file mode 100644 index ba98509f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/extension_feed_item_error.proto +++ /dev/null @@ -1,189 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing extension feed item errors. - -// Container for enum describing possible extension feed item error. -message ExtensionFeedItemErrorEnum { - // Enum describing possible extension feed item errors. - enum ExtensionFeedItemError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Value is not within the accepted range. - VALUE_OUT_OF_RANGE = 2; - - // Url list is too long. - URL_LIST_TOO_LONG = 3; - - // Cannot have a geo targeting restriction without having geo targeting. - CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; - - // Cannot simultaneously set sitelink field with final urls. - CANNOT_SET_WITH_FINAL_URLS = 5; - - // Must set field with final urls. - CANNOT_SET_WITHOUT_FINAL_URLS = 6; - - // Phone number for a call extension is invalid. - INVALID_PHONE_NUMBER = 7; - - // Phone number for a call extension is not supported for the given country - // code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; - - // A carrier specific number in short format is not allowed for call - // extensions. - CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; - - // Premium rate numbers are not allowed for call extensions. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; - - // Phone number type for a call extension is not allowed. - // For example, personal number is not allowed for a call extension in - // most regions. - DISALLOWED_NUMBER_TYPE = 11; - - // Phone number for a call extension does not meet domestic format - // requirements. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; - - // Vanity phone numbers (i.e. 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 whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15; - - // 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. Please 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 blacklisted 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 (i.e., 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 i.e. 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/extension_setting_error.proto deleted file mode 100644 index 85a64640..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/extension_setting_error.proto +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionSettingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing extension setting validation errors. - -// Container for enum describing validation errors of extension settings. -message ExtensionSettingErrorEnum { - // Enum describing possible extension setting errors. - enum ExtensionSettingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A platform restriction was provided without input extensions or existing - // extensions. - EXTENSIONS_REQUIRED = 2; - - // The provided feed type does not correspond to the provided extensions. - FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; - - // The provided feed type cannot be used. - INVALID_FEED_TYPE = 4; - - // The provided feed type cannot be used at the customer level. - INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; - - // Cannot change a feed item field on a CREATE operation. - CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; - - // Cannot update an extension that is not already in this setting. - CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; - - // There is no existing AdGroupExtensionSetting for this type. - NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; - - // There is no existing CampaignExtensionSetting for this type. - NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; - - // There is no existing CustomerExtensionSetting for this type. - NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; - - // The AdGroupExtensionSetting already exists. UPDATE should be used to - // modify the existing AdGroupExtensionSetting. - AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; - - // The CampaignExtensionSetting already exists. UPDATE should be used to - // modify the existing CampaignExtensionSetting. - CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; - - // The CustomerExtensionSetting already exists. UPDATE should be used to - // modify the existing CustomerExtensionSetting. - CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; - - // An active ad group feed already exists for this place holder type. - AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; - - // An active campaign feed already exists for this place holder type. - CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; - - // An active customer feed already exists for this place holder type. - CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; - - // Value is not within the accepted range. - VALUE_OUT_OF_RANGE = 17; - - // Cannot simultaneously set specified field with final urls. - CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; - - // Must set field with final urls. - FINAL_URLS_NOT_SET = 19; - - // Phone number for a call extension is invalid. - INVALID_PHONE_NUMBER = 20; - - // Phone number for a call extension is not supported for the given country - // code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; - - // A carrier specific number in short format is not allowed for call - // extensions. - CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; - - // Premium rate numbers are not allowed for call extensions. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; - - // Phone number type for a call extension is not allowed. - DISALLOWED_NUMBER_TYPE = 24; - - // Phone number for a call extension does not meet domestic format - // requirements. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; - - // Vanity phone numbers (i.e. 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 whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29; - - // 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 blacklisted 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 (i.e., 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 (e.g., 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. Please 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_attribute_reference_error.proto deleted file mode 100644 index cbd82ea9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_attribute_reference_error.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedAttributeReferenceErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed attribute reference errors. - -// Container for enum describing possible feed attribute reference errors. -message FeedAttributeReferenceErrorEnum { - // Enum describing possible feed attribute reference errors. - enum FeedAttributeReferenceError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A feed referenced by ID has been removed. - CANNOT_REFERENCE_REMOVED_FEED = 2; - - // There is no enabled feed with the given name. - INVALID_FEED_NAME = 3; - - // There is no feed attribute in an enabled feed with the given name. - INVALID_FEED_ATTRIBUTE_NAME = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_error.proto deleted file mode 100644 index 43461f66..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_error.proto +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed errors. - -// Container for enum describing possible feed errors. -message FeedErrorEnum { - // Enum describing possible feed errors. - enum FeedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The names of the FeedAttributes must be unique. - ATTRIBUTE_NAMES_NOT_UNIQUE = 2; - - // The attribute list must be an exact copy of the existing list if the - // attribute ID's are present. - ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; - - // Cannot specify USER origin for a system generated feed. - CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; - - // Cannot specify GOOGLE origin for a non-system generated feed. - CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; - - // Cannot specify feed attributes for system feed. - CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; - - // Cannot update FeedAttributes on feed with origin GOOGLE. - CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; - - // The given ID refers to a removed Feed. Removed Feeds are immutable. - FEED_REMOVED = 8; - - // The origin of the feed is not valid for the client. - INVALID_ORIGIN_VALUE = 9; - - // A user can only create and modify feeds with USER origin. - FEED_ORIGIN_IS_NOT_USER = 10; - - // Invalid auth token for the given email. - INVALID_AUTH_TOKEN_FOR_EMAIL = 11; - - // Invalid email specified. - INVALID_EMAIL = 12; - - // Feed name matches that of another active Feed. - DUPLICATE_FEED_NAME = 13; - - // Name of feed is not allowed. - INVALID_FEED_NAME = 14; - - // Missing OAuthInfo. - MISSING_OAUTH_INFO = 15; - - // New FeedAttributes must not affect the unique key. - NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; - - // Too many FeedAttributes for a Feed. - TOO_MANY_ATTRIBUTES = 17; - - // The business account is not valid. - INVALID_BUSINESS_ACCOUNT = 18; - - // Business account cannot access Google My Business account. - 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_error.proto deleted file mode 100644 index a26c2efc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_error.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed item errors. - -// Container for enum describing possible feed item errors. -message FeedItemErrorEnum { - // Enum describing possible feed item errors. - enum FeedItemError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot convert the feed attribute value from string to its real type. - CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; - - // Cannot operate on removed feed item. - CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; - - // Date time zone does not match the account's time zone. - DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; - - // Feed item with the key attributes could not be found. - KEY_ATTRIBUTES_NOT_FOUND = 5; - - // Url feed attribute value is not valid. - INVALID_URL = 6; - - // Some key attributes are missing. - MISSING_KEY_ATTRIBUTES = 7; - - // Feed item has same key attributes as another feed item. - KEY_ATTRIBUTES_NOT_UNIQUE = 8; - - // Cannot modify key attributes on an existing feed item. - CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; - - // The feed attribute value is too large. - SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_target_error.proto deleted file mode 100644 index b54277f7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_target_error.proto +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed item target errors. - -// Container for enum describing possible feed item target errors. -message FeedItemTargetErrorEnum { - // Enum describing possible feed item target errors. - enum FeedItemTargetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // On CREATE, the FeedItemTarget must have a populated field in the oneof - // target. - MUST_SET_TARGET_ONEOF_ON_CREATE = 2; - - // The specified feed item target already exists, so it cannot be added. - FEED_ITEM_TARGET_ALREADY_EXISTS = 3; - - // The schedules for a given feed item cannot overlap. - FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; - - // Too many targets of a given type were added for a single feed item. - TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; - - // Too many AdSchedules are enabled for the feed item for the given day. - TOO_MANY_SCHEDULES_PER_DAY = 6; - - // A feed item may either have an enabled campaign target or an enabled ad - // group target. - CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; - - // Duplicate ad schedules aren't allowed. - DUPLICATE_AD_SCHEDULE = 8; - - // Duplicate keywords aren't allowed. - DUPLICATE_KEYWORD = 9; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_validation_error.proto deleted file mode 100644 index 22b2dbea..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_item_validation_error.proto +++ /dev/null @@ -1,354 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemValidationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed item validation errors. - -// Container for enum describing possible validation errors of a feed item. -message FeedItemValidationErrorEnum { - // The possible validation errors of a feed item. - enum FeedItemValidationError { - // No value has been specified. - UNSPECIFIED = 0; - - // Used for return value only. Represents value unknown in this version. - UNKNOWN = 1; - - // String is too short. - STRING_TOO_SHORT = 2; - - // String is too long. - STRING_TOO_LONG = 3; - - // Value is not provided. - VALUE_NOT_SPECIFIED = 4; - - // Phone number format is invalid for region. - INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; - - // String does not represent a phone number. - INVALID_PHONE_NUMBER = 6; - - // Phone number format is not compatible with country code. - PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; - - // Premium rate number is not allowed. - PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; - - // Phone number type is not allowed. - DISALLOWED_NUMBER_TYPE = 9; - - // Specified value is outside of the valid range. - VALUE_OUT_OF_RANGE = 10; - - // Call tracking is not supported in the selected country. - CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; - - // Customer is not whitelisted for call tracking. - CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12; - - // 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 (e.g., 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. Please 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/feed_mapping_error.proto deleted file mode 100644 index 72c62c30..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/feed_mapping_error.proto +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing feed item errors. - -// Container for enum describing possible feed item errors. -message FeedMappingErrorEnum { - // Enum describing possible feed item errors. - enum FeedMappingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The given placeholder field does not exist. - INVALID_PLACEHOLDER_FIELD = 2; - - // The given criterion field does not exist. - INVALID_CRITERION_FIELD = 3; - - // The given placeholder type does not exist. - INVALID_PLACEHOLDER_TYPE = 4; - - // The given criterion type does not exist. - INVALID_CRITERION_TYPE = 5; - - // A feed mapping must contain at least one attribute field mapping. - NO_ATTRIBUTE_FIELD_MAPPINGS = 7; - - // The type of the feed attribute referenced in the attribute field mapping - // must match the type of the placeholder field. - FEED_ATTRIBUTE_TYPE_MISMATCH = 8; - - // A feed mapping for a system generated feed cannot be operated on. - CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; - - // Only one feed mapping for a placeholder type is allowed per feed or - // customer (depending on the placeholder type). - MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; - - // Only one feed mapping for a criterion type is allowed per customer. - MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; - - // Only one feed attribute mapping for a placeholder field is allowed - // (depending on the placeholder type). - MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; - - // Only one feed attribute mapping for a criterion field is allowed - // (depending on the criterion type). - MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; - - // This feed mapping may not contain any explicit attribute field mappings. - UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; - - // Location placeholder feed mappings can only be created for Places feeds. - LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; - - // Mappings for typed feeds cannot be modified. - CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; - - // The given placeholder type can only be mapped to system generated feeds. - INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; - - // The given placeholder type cannot be mapped to a system generated feed - // with the given type. - INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/field_error.proto deleted file mode 100644 index 06932760..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/field_error.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FieldErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing field errors. - -// Container for enum describing possible field errors. -message FieldErrorEnum { - // Enum describing possible field errors. - enum FieldError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The required field was not present. - REQUIRED = 2; - - // The field attempted to be mutated is immutable. - IMMUTABLE_FIELD = 3; - - // The field's value is invalid. - INVALID_VALUE = 4; - - // The field cannot be set. - VALUE_MUST_BE_UNSET = 5; - - // The required repeated field was empty. - REQUIRED_NONEMPTY_LIST = 6; - - // The field cannot be cleared. - FIELD_CANNOT_BE_CLEARED = 7; - - // The field's value is on a blacklist for this field. - BLACKLISTED_VALUE = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/field_mask_error.proto deleted file mode 100644 index 89ef4067..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/field_mask_error.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FieldMaskErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing field mask errors. - -// Container for enum describing possible field mask errors. -message FieldMaskErrorEnum { - // Enum describing possible field mask errors. - enum FieldMaskError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The field mask must be provided for update operations. - FIELD_MASK_MISSING = 5; - - // The field mask must be empty for create and remove operations. - FIELD_MASK_NOT_ALLOWED = 4; - - // The field mask contained an invalid field. - FIELD_NOT_FOUND = 2; - - // The field mask updated a field with subfields. Fields with subfields may - // be cleared, but not updated. To fix this, the field mask should select - // all the subfields of the invalid field. - FIELD_HAS_SUBFIELDS = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/function_error.proto deleted file mode 100644 index bdf31bc0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/function_error.proto +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FunctionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing function errors. - -// Container for enum describing possible function errors. -message FunctionErrorEnum { - // Enum describing possible function errors. - enum FunctionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The format of the function is not recognized as a supported function - // format. - INVALID_FUNCTION_FORMAT = 2; - - // Operand data types do not match. - DATA_TYPE_MISMATCH = 3; - - // The operands cannot be used together in a conjunction. - INVALID_CONJUNCTION_OPERANDS = 4; - - // Invalid numer of Operands. - INVALID_NUMBER_OF_OPERANDS = 5; - - // Operand Type not supported. - INVALID_OPERAND_TYPE = 6; - - // Operator not supported. - INVALID_OPERATOR = 7; - - // Request context type not supported. - INVALID_REQUEST_CONTEXT_TYPE = 8; - - // The matching function is not allowed for call placeholders - INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; - - // The matching function is not allowed for the specified placeholder - INVALID_FUNCTION_FOR_PLACEHOLDER = 10; - - // Invalid operand. - INVALID_OPERAND = 11; - - // Missing value for the constant operand. - MISSING_CONSTANT_OPERAND_VALUE = 12; - - // The value of the constant operand is invalid. - INVALID_CONSTANT_OPERAND_VALUE = 13; - - // Invalid function nesting. - INVALID_NESTING = 14; - - // The Feed ID was different from another Feed ID in the same function. - MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; - - // The matching function is invalid for use with a feed with a fixed schema. - INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; - - // Invalid attribute name. - INVALID_ATTRIBUTE_NAME = 17; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/function_parsing_error.proto deleted file mode 100644 index b93804c4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/function_parsing_error.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "FunctionParsingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing function parsing errors. - -// Container for enum describing possible function parsing errors. -message FunctionParsingErrorEnum { - // Enum describing possible function parsing errors. - enum FunctionParsingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Unexpected end of function string. - NO_MORE_INPUT = 2; - - // Could not find an expected character. - EXPECTED_CHARACTER = 3; - - // Unexpected separator character. - UNEXPECTED_SEPARATOR = 4; - - // Unmatched left bracket or parenthesis. - UNMATCHED_LEFT_BRACKET = 5; - - // Unmatched right bracket or parenthesis. - UNMATCHED_RIGHT_BRACKET = 6; - - // Functions are nested too deeply. - TOO_MANY_NESTED_FUNCTIONS = 7; - - // Missing right-hand-side operand. - MISSING_RIGHT_HAND_OPERAND = 8; - - // Invalid operator/function name. - INVALID_OPERATOR_NAME = 9; - - // Feed attribute operand's argument is not an integer. - FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; - - // Missing function operands. - NO_OPERANDS = 11; - - // Function had too many operands. - TOO_MANY_OPERANDS = 12; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/geo_target_constant_suggestion_error.proto deleted file mode 100644 index 4a490446..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/geo_target_constant_suggestion_error.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Container for enum describing possible geo target constant suggestion errors. -message GeoTargetConstantSuggestionErrorEnum { - // Enum describing possible geo target constant suggestion errors. - enum GeoTargetConstantSuggestionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A location name cannot be greater than 300 characters. - LOCATION_NAME_SIZE_LIMIT = 2; - - // At most 25 location names can be specified in a SuggestGeoTargetConstants - // method. - LOCATION_NAME_LIMIT = 3; - - // The country code is invalid. - INVALID_COUNTRY_CODE = 4; - - // Geo target constant resource names or location names must be provided in - // the request. - REQUEST_PARAMETERS_UNSET = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/header_error.proto deleted file mode 100644 index bd3276d8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/header_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "HeaderErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing header errors. - -// Container for enum describing possible header errors. -message HeaderErrorEnum { - // Enum describing possible header errors. - enum HeaderError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The login customer id could not be validated. - INVALID_LOGIN_CUSTOMER_ID = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/id_error.proto deleted file mode 100644 index 4324e8f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/id_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "IdErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing id errors. - -// Container for enum describing possible id errors. -message IdErrorEnum { - // Enum describing possible id errors. - enum IdError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Id not found - NOT_FOUND = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/image_error.proto deleted file mode 100644 index 2d76b539..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/image_error.proto +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ImageErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing image errors. - -// Container for enum describing possible image errors. -message ImageErrorEnum { - // Enum describing possible image errors. - enum ImageError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The image is not valid. - INVALID_IMAGE = 2; - - // The image could not be stored. - STORAGE_ERROR = 3; - - // There was a problem with the request. - BAD_REQUEST = 4; - - // The image is not of legal dimensions. - UNEXPECTED_SIZE = 5; - - // Animated image are not permitted. - ANIMATED_NOT_ALLOWED = 6; - - // Animation is too long. - ANIMATION_TOO_LONG = 7; - - // There was an error on the server. - SERVER_ERROR = 8; - - // Image cannot be in CMYK color format. - CMYK_JPEG_NOT_ALLOWED = 9; - - // Flash images are not permitted. - FLASH_NOT_ALLOWED = 10; - - // Flash images must support clickTag. - FLASH_WITHOUT_CLICKTAG = 11; - - // A flash error has occurred after fixing the click tag. - FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; - - // Unacceptable visual effects. - ANIMATED_VISUAL_EFFECT = 13; - - // There was a problem with the flash image. - FLASH_ERROR = 14; - - // Incorrect image layout. - LAYOUT_PROBLEM = 15; - - // There was a problem reading the image file. - PROBLEM_READING_IMAGE_FILE = 16; - - // There was an error storing the image. - ERROR_STORING_IMAGE = 17; - - // The aspect ratio of the image is not allowed. - ASPECT_RATIO_NOT_ALLOWED = 18; - - // Flash cannot have network objects. - FLASH_HAS_NETWORK_OBJECTS = 19; - - // Flash cannot have network methods. - FLASH_HAS_NETWORK_METHODS = 20; - - // Flash cannot have a Url. - FLASH_HAS_URL = 21; - - // Flash cannot use mouse tracking. - FLASH_HAS_MOUSE_TRACKING = 22; - - // Flash cannot have a random number. - FLASH_HAS_RANDOM_NUM = 23; - - // Ad click target cannot be '_self'. - FLASH_SELF_TARGETS = 24; - - // GetUrl method should only use '_blank'. - FLASH_BAD_GETURL_TARGET = 25; - - // Flash version is not supported. - FLASH_VERSION_NOT_SUPPORTED = 26; - - // Flash movies need to have hard coded click URL or clickTAG - FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; - - // Uploaded flash file is corrupted. - INVALID_FLASH_FILE = 28; - - // Uploaded flash file can be parsed, but the click tag can not be fixed - // properly. - FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; - - // Flash movie accesses network resources - FLASH_ACCESSES_NETWORK_RESOURCES = 30; - - // Flash movie attempts to call external javascript code - FLASH_EXTERNAL_JS_CALL = 31; - - // Flash movie attempts to call flash system commands - FLASH_EXTERNAL_FS_CALL = 32; - - // Image file is too large. - FILE_TOO_LARGE = 33; - - // Image data is too large. - IMAGE_DATA_TOO_LARGE = 34; - - // Error while processing the image. - IMAGE_PROCESSING_ERROR = 35; - - // Image is too small. - IMAGE_TOO_SMALL = 36; - - // Input was invalid. - INVALID_INPUT = 37; - - // There was a problem reading the image file. - PROBLEM_READING_FILE = 38; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/internal_error.proto deleted file mode 100644 index 59ee78f5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/internal_error.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "InternalErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing internal errors. - -// Container for enum describing possible internal errors. -message InternalErrorEnum { - // Enum describing possible internal errors. - enum InternalError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Google Ads API encountered unexpected internal error. - INTERNAL_ERROR = 2; - - // The intended error code doesn't exist in specified API version. It will - // be released in a future API version. - ERROR_CODE_NOT_PUBLISHED = 3; - - // Google Ads API encountered an unexpected transient error. The user - // should retry their request in these cases. - TRANSIENT_ERROR = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/invoice_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/invoice_error.proto deleted file mode 100644 index a163c6f1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/invoice_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "InvoiceErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing invoice errors. - -// Container for enum describing possible invoice errors. -message InvoiceErrorEnum { - // Enum describing possible invoice errors. - enum InvoiceError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot request invoices issued before 2019-01-01. - YEAR_MONTH_TOO_OLD = 2; - - // Cannot request invoices for customer who doesn't receive invoices. - NOT_INVOICED_CUSTOMER = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_ad_group_error.proto deleted file mode 100644 index 15cd514e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_ad_group_error.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying a keyword plan ad group. - -// Container for enum describing possible errors from applying a keyword plan -// ad group. -message KeywordPlanAdGroupErrorEnum { - // Enum describing possible errors from applying a keyword plan ad group. - enum KeywordPlanAdGroupError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The keyword plan ad group name is missing, empty, longer than allowed - // limit or contains invalid chars. - INVALID_NAME = 2; - - // The keyword plan ad group name is duplicate to an existing keyword plan - // AdGroup name or other keyword plan AdGroup name in the request. - DUPLICATE_NAME = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_campaign_error.proto deleted file mode 100644 index 50b7b2eb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_campaign_error.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying a keyword plan campaign. - -// Container for enum describing possible errors from applying a keyword plan -// campaign. -message KeywordPlanCampaignErrorEnum { - // Enum describing possible errors from applying a keyword plan campaign. - enum KeywordPlanCampaignError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A keyword plan campaign name is missing, empty, longer than allowed limit - // or contains invalid chars. - INVALID_NAME = 2; - - // A keyword plan campaign contains one or more untargetable languages. - INVALID_LANGUAGES = 3; - - // A keyword plan campaign contains one or more invalid geo targets. - INVALID_GEOS = 4; - - // The keyword plan campaign name is duplicate to an existing keyword plan - // campaign name or other keyword plan campaign name in the request. - DUPLICATE_NAME = 5; - - // The number of geo targets in the keyword plan campaign exceeds limits. - MAX_GEOS_EXCEEDED = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_error.proto deleted file mode 100644 index f2b71eb0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_error.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying keyword plan resources (keyword -// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) -// or KeywordPlanService RPC. - -// Container for enum describing possible errors from applying a keyword plan -// resource (keyword plan, keyword plan campaign, keyword plan ad group or -// keyword plan keyword) or KeywordPlanService RPC. -message KeywordPlanErrorEnum { - // Enum describing possible errors from applying a keyword plan. - enum KeywordPlanError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The plan's bid multiplier value is outside the valid range. - BID_MULTIPLIER_OUT_OF_RANGE = 2; - - // The plan's bid value is too high. - BID_TOO_HIGH = 3; - - // The plan's bid value is too low. - BID_TOO_LOW = 4; - - // The plan's cpc bid is not a multiple of the minimum billable unit. - BID_TOO_MANY_FRACTIONAL_DIGITS = 5; - - // The plan's daily budget value is too low. - DAILY_BUDGET_TOO_LOW = 6; - - // The plan's daily budget is not a multiple of the minimum billable unit. - DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; - - // The input has an invalid value. - INVALID_VALUE = 8; - - // The plan has no keyword. - KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; - - // The plan is not enabled and API cannot provide mutation, forecast or - // stats. - KEYWORD_PLAN_NOT_ENABLED = 10; - - // The requested plan cannot be found for providing forecast or stats. - KEYWORD_PLAN_NOT_FOUND = 11; - - // The plan is missing a cpc bid. - MISSING_BID = 13; - - // The plan is missing required forecast_period field. - MISSING_FORECAST_PERIOD = 14; - - // The plan's forecast_period has invalid forecast date range. - INVALID_FORECAST_DATE_RANGE = 15; - - // The plan's name is invalid. - INVALID_NAME = 16; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_idea_error.proto deleted file mode 100644 index c5c1fff6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_idea_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanIdeaErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from KeywordPlanIdeaService. - -// Container for enum describing possible errors from KeywordPlanIdeaService. -message KeywordPlanIdeaErrorEnum { - // Enum describing possible errors from KeywordPlanIdeaService. - enum KeywordPlanIdeaError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Error when crawling the input URL. - URL_CRAWL_ERROR = 2; - - // The input has an invalid value. - INVALID_VALUE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_keyword_error.proto deleted file mode 100644 index 12a19d43..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_keyword_error.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying a keyword plan keyword or keyword -// plan negative keyword. - -// Container for enum describing possible errors from applying a keyword or a -// negative keyword from a keyword plan. -message KeywordPlanKeywordErrorEnum { - // Enum describing possible errors from applying a keyword plan keyword. - enum KeywordPlanKeywordError { - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_negative_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_negative_keyword_error.proto deleted file mode 100644 index b835f81d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/keyword_plan_negative_keyword_error.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying a keyword plan negative keyword. - -// Container for enum describing possible errors from applying a keyword plan -// negative keyword. -message KeywordPlanNegativeKeywordErrorEnum { - // Enum describing possible errors from applying a keyword plan negative - // keyword. - enum KeywordPlanNegativeKeywordError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/label_error.proto deleted file mode 100644 index 1698d3d8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/label_error.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "LabelErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing label errors. - -// Container for enum describing possible label errors. -message LabelErrorEnum { - // Enum describing possible label errors. - enum LabelError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // An inactive label cannot be applied. - CANNOT_APPLY_INACTIVE_LABEL = 2; - - // A label cannot be applied to a disabled ad group criterion. - CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; - - // A label cannot be applied to a negative ad group criterion. - CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; - - // Cannot apply more than 50 labels per resource. - EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; - - // Labels from a manager account cannot be applied to campaign, ad group, - // ad group ad, or ad group criterion resources. - INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; - - // Label names must be unique. - DUPLICATE_NAME = 7; - - // Label names cannot be empty. - INVALID_LABEL_NAME = 8; - - // Labels cannot be applied to a draft. - CANNOT_ATTACH_LABEL_TO_DRAFT = 9; - - // Labels not from a manager account cannot be applied to the customer - // resource. - CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/language_code_error.proto deleted file mode 100644 index 6fe688ac..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/language_code_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "LanguageCodeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing language code errors. - -// Container for enum describing language code errors. -message LanguageCodeErrorEnum { - // Enum describing language code errors. - enum LanguageCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The input language code is not recognized. - LANGUAGE_CODE_NOT_FOUND = 2; - - // The language is not allowed to use. - INVALID_LANGUAGE_CODE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/list_operation_error.proto deleted file mode 100644 index 535b8f3d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/list_operation_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ListOperationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing list operation errors. - -// Container for enum describing possible list operation errors. -message ListOperationErrorEnum { - // Enum describing possible list operation errors. - enum ListOperationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Field required in value is missing. - REQUIRED_FIELD_MISSING = 7; - - // Duplicate or identical value is sent in multiple list operations. - DUPLICATE_VALUES = 8; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/manager_link_error.proto deleted file mode 100644 index 13a567de..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/manager_link_error.proto +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ManagerLinkErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing ManagerLink errors. - -// Container for enum describing possible ManagerLink errors. -message ManagerLinkErrorEnum { - // Enum describing possible ManagerLink errors. - enum ManagerLinkError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The manager and client have incompatible account types. - ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; - - // Client is already linked to too many managers. - TOO_MANY_MANAGERS = 3; - - // Manager has too many pending invitations. - TOO_MANY_INVITES = 4; - - // Client is already invited by this manager. - ALREADY_INVITED_BY_THIS_MANAGER = 5; - - // The client is already managed by this manager. - ALREADY_MANAGED_BY_THIS_MANAGER = 6; - - // Client is already managed in hierarchy. - ALREADY_MANAGED_IN_HIERARCHY = 7; - - // Manger 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/media_bundle_error.proto deleted file mode 100644 index 54976519..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/media_bundle_error.proto +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaBundleErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing media bundle errors. - -// Container for enum describing possible media bundle errors. -message MediaBundleErrorEnum { - // Enum describing possible media bundle errors. - enum MediaBundleError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // There was a problem with the request. - BAD_REQUEST = 3; - - // HTML5 ads using DoubleClick Studio created ZIP files are not supported. - DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; - - // Cannot reference URL external to the media bundle. - EXTERNAL_URL_NOT_ALLOWED = 5; - - // Media bundle file is too large. - FILE_TOO_LARGE = 6; - - // ZIP file from Google Web Designer is not published. - GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; - - // Input was invalid. - INVALID_INPUT = 8; - - // There was a problem with the media bundle. - INVALID_MEDIA_BUNDLE = 9; - - // There was a problem with one or more of the media bundle entries. - INVALID_MEDIA_BUNDLE_ENTRY = 10; - - // The media bundle contains a file with an unknown mime type - INVALID_MIME_TYPE = 11; - - // The media bundle contain an invalid asset path. - INVALID_PATH = 12; - - // HTML5 ad is trying to reference an asset not in .ZIP file - INVALID_URL_REFERENCE = 13; - - // Media data is too large. - MEDIA_DATA_TOO_LARGE = 14; - - // The media bundle contains no primary entry. - MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; - - // There was an error on the server. - SERVER_ERROR = 16; - - // The image could not be stored. - STORAGE_ERROR = 17; - - // Media bundle created with the Swiffy tool is not allowed. - SWIFFY_BUNDLE_NOT_ALLOWED = 18; - - // The media bundle contains too many files. - TOO_MANY_FILES = 19; - - // The media bundle is not of legal dimensions. - UNEXPECTED_SIZE = 20; - - // Google Web Designer not created for "Google Ads" environment. - UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; - - // Unsupported HTML5 feature in HTML5 asset. - UNSUPPORTED_HTML5_FEATURE = 22; - - // URL in HTML5 entry is not ssl compliant. - URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; - - // Custom exits not allowed in HTML5 entry. - CUSTOM_EXIT_NOT_ALLOWED = 24; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/media_file_error.proto deleted file mode 100644 index 9e8505e1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/media_file_error.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing media file errors. - -// Container for enum describing possible media file errors. -message MediaFileErrorEnum { - // Enum describing possible media file errors. - enum MediaFileError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Cannot create a standard icon type. - CANNOT_CREATE_STANDARD_ICON = 2; - - // May only select Standard Icons alone. - CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; - - // Image contains both a media file ID and data. - CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; - - // A media file with given type and reference ID already exists. - DUPLICATE_MEDIA = 5; - - // A required field was not specified or is an empty string. - EMPTY_FIELD = 6; - - // A media file may only be modified once per call. - RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; - - // Field is not supported for the media sub type. - FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; - - // The media file ID is invalid. - INVALID_MEDIA_FILE_ID = 9; - - // The media subtype is invalid. - INVALID_MEDIA_SUB_TYPE = 10; - - // The media file type is invalid. - INVALID_MEDIA_FILE_TYPE = 11; - - // The mimetype is invalid. - INVALID_MIME_TYPE = 12; - - // The media reference ID is invalid. - INVALID_REFERENCE_ID = 13; - - // The YouTube video ID is invalid. - INVALID_YOU_TUBE_ID = 14; - - // Media file has failed transcoding - MEDIA_FILE_FAILED_TRANSCODING = 15; - - // Media file has not been transcoded. - MEDIA_NOT_TRANSCODED = 16; - - // The media type does not match the actual media file's type. - MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; - - // None of the fields have been specified. - NO_FIELDS_SPECIFIED = 18; - - // One of reference ID or media file ID must be specified. - NULL_REFERENCE_ID_AND_MEDIA_ID = 19; - - // The string has too many characters. - TOO_LONG = 20; - - // The specified type is not supported. - UNSUPPORTED_TYPE = 21; - - // YouTube is unavailable for requesting video data. - YOU_TUBE_SERVICE_UNAVAILABLE = 22; - - // The YouTube video has a non positive duration. - YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; - - // The YouTube video ID is syntactically valid but the video was not found. - YOU_TUBE_VIDEO_NOT_FOUND = 24; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/media_upload_error.proto deleted file mode 100644 index f1438353..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/media_upload_error.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MediaUploadErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing media uploading errors. - -// Container for enum describing possible media uploading errors. -message MediaUploadErrorEnum { - // Enum describing possible media uploading errors. - enum MediaUploadError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The uploaded file is too big. - FILE_TOO_BIG = 2; - - // Image data is unparseable. - UNPARSEABLE_IMAGE = 3; - - // Animated images are not allowed. - ANIMATED_IMAGE_NOT_ALLOWED = 4; - - // The image or media bundle format is not allowed. - FORMAT_NOT_ALLOWED = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/multiplier_error.proto deleted file mode 100644 index bf3ffbdb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/multiplier_error.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MultiplierErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing multiplier errors. - -// Container for enum describing possible multiplier errors. -message MultiplierErrorEnum { - // Enum describing possible multiplier errors. - enum MultiplierError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Multiplier value is too high - MULTIPLIER_TOO_HIGH = 2; - - // Multiplier value is too low - MULTIPLIER_TOO_LOW = 3; - - // Too many fractional digits - TOO_MANY_FRACTIONAL_DIGITS = 4; - - // A multiplier cannot be set for this bidding strategy - MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; - - // A multiplier cannot be set when there is no base bid (e.g., 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 vs. cpm) needs to match campaign's bidding strategy - MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/mutate_error.proto deleted file mode 100644 index 78a492a8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/mutate_error.proto +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MutateErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing mutate errors. - -// Container for enum describing possible mutate errors. -message MutateErrorEnum { - // Enum describing possible mutate errors. - enum MutateError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Requested resource was not found. - RESOURCE_NOT_FOUND = 3; - - // Cannot mutate the same resource twice in one request. - ID_EXISTS_IN_MULTIPLE_MUTATES = 7; - - // The field's contents don't match another field that represents the same - // data. - INCONSISTENT_FIELD_VALUES = 8; - - // Mutates are not allowed for the requested resource. - MUTATE_NOT_ALLOWED = 9; - - // The resource isn't in Google Ads. It belongs to another ads system. - RESOURCE_NOT_IN_GOOGLE_ADS = 10; - - // The resource being created already exists. - RESOURCE_ALREADY_EXISTS = 11; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/mutate_job_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/mutate_job_error.proto deleted file mode 100644 index 482c8bcf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/mutate_job_error.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing mutate job errors. - -// Container for enum describing possible mutate job errors. -message MutateJobErrorEnum { - // Enum describing possible request errors. - enum MutateJobError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The mutate job cannot add more operations or run after it has started - // running. - CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; - - // The operations for an AddMutateJobOperations request were empty. - EMPTY_OPERATIONS = 3; - - // The sequence token for an AddMutateJobOperations request was invalid. - INVALID_SEQUENCE_TOKEN = 4; - - // Mutate Job Results can only be retrieved once the job is finished. - RESULTS_NOT_READY = 5; - - // The page size for ListMutateJobResults was invalid. - INVALID_PAGE_SIZE = 6; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/new_resource_creation_error.proto deleted file mode 100644 index 0a329e5f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/new_resource_creation_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NewResourceCreationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing new resource creation errors. - -// Container for enum describing possible new resource creation errors. -message NewResourceCreationErrorEnum { - // Enum describing possible new resource creation errors. - enum NewResourceCreationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Do not set the id field while creating new resources. - CANNOT_SET_ID_FOR_CREATE = 2; - - // Creating more than one resource with the same temp ID is not allowed. - DUPLICATE_TEMP_IDS = 3; - - // Parent resource with specified temp ID failed validation, so no - // validation will be done for this child resource. - TEMP_ID_RESOURCE_HAD_ERRORS = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/not_empty_error.proto deleted file mode 100644 index 6ce8e191..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/not_empty_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NotEmptyErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing not empty errors. - -// Container for enum describing possible not empty errors. -message NotEmptyErrorEnum { - // Enum describing possible not empty errors. - enum NotEmptyError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Empty list. - EMPTY_LIST = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/not_whitelisted_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/not_whitelisted_error.proto deleted file mode 100644 index 559f694a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/not_whitelisted_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NotWhitelistedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing not whitelisted errors. - -// Container for enum describing possible not whitelisted errors. -message NotWhitelistedErrorEnum { - // Enum describing possible not whitelisted errors. - enum NotWhitelistedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Customer is not whitelisted for accessing this feature. - CUSTOMER_NOT_WHITELISTED_FOR_THIS_FEATURE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/null_error.proto deleted file mode 100644 index f93b149d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/null_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "NullErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing null errors. - -// Container for enum describing possible null errors. -message NullErrorEnum { - // Enum describing possible null errors. - enum NullError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Specified list/container must not contain any null elements - NULL_CONTENT = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/operation_access_denied_error.proto deleted file mode 100644 index 59986c22..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/operation_access_denied_error.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "OperationAccessDeniedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing operation access denied errors. - -// Container for enum describing possible operation access denied errors. -message OperationAccessDeniedErrorEnum { - // Enum describing possible operation access denied errors. - enum OperationAccessDeniedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Unauthorized invocation of a service's method (get, mutate, etc.) - ACTION_NOT_PERMITTED = 2; - - // Unauthorized CREATE operation in invoking a service's mutate method. - CREATE_OPERATION_NOT_PERMITTED = 3; - - // Unauthorized REMOVE operation in invoking a service's mutate method. - REMOVE_OPERATION_NOT_PERMITTED = 4; - - // Unauthorized UPDATE operation in invoking a service's mutate method. - UPDATE_OPERATION_NOT_PERMITTED = 5; - - // A mutate action is not allowed on this campaign, 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 campaign or adgroup 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/google-cloud/protos/google/ads/googleads/v2/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/operator_error.proto deleted file mode 100644 index 8e56aaa4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/operator_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "OperatorErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing operator errors. - -// Container for enum describing possible operator errors. -message OperatorErrorEnum { - // Enum describing possible operator errors. - enum OperatorError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Operator not supported. - OPERATOR_NOT_SUPPORTED = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/partial_failure_error.proto deleted file mode 100644 index f6d7e9f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/partial_failure_error.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PartialFailureErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing partial failure errors. - -// Container for enum describing possible partial failure errors. -message PartialFailureErrorEnum { - // Enum describing possible partial failure errors. - enum PartialFailureError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The partial failure field was false in the request. - // This method requires this field be set to true. - PARTIAL_FAILURE_MODE_REQUIRED = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/policy_finding_error.proto deleted file mode 100644 index 15701cdb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/policy_finding_error.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyFindingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing policy finding errors. - -// Container for enum describing possible policy finding errors. -message PolicyFindingErrorEnum { - // Enum describing possible policy finding errors. - enum PolicyFindingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The resource has been disapproved since the policy summary includes - // policy topics of type PROHIBITED. - POLICY_FINDING = 2; - - // The given policy topic does not exist. - POLICY_TOPIC_NOT_FOUND = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/policy_validation_parameter_error.proto deleted file mode 100644 index 5cb64236..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/policy_validation_parameter_error.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyValidationParameterErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing policy validation parameter errors. - -// Container for enum describing possible policy validation parameter errors. -message PolicyValidationParameterErrorEnum { - // Enum describing possible policy validation parameter errors. - enum PolicyValidationParameterError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Ignorable policy topics are not supported for the ad type. - UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; - - // Exempt policy violation keys are not supported for the ad type. - UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; - - // Cannot set ignorable policy topics and exempt policy violation keys in - // the same policy violation parameter. - CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/policy_violation_error.proto deleted file mode 100644 index 07e462bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/policy_violation_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "PolicyViolationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing policy violation errors. - -// Container for enum describing possible policy violation errors. -message PolicyViolationErrorEnum { - // Enum describing possible policy violation errors. - enum PolicyViolationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // A policy was violated. See PolicyViolationDetails for more detail. - POLICY_ERROR = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/query_error.proto deleted file mode 100644 index 8a56b489..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/query_error.proto +++ /dev/null @@ -1,219 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "QueryErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing query errors. - -// Container for enum describing possible query errors. -message QueryErrorEnum { - // Enum describing possible query errors. - enum QueryError { - // Name unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Returned if all other query error reasons are not applicable. - QUERY_ERROR = 50; - - // A condition used in the query references an invalid enum constant. - BAD_ENUM_CONSTANT = 18; - - // Query contains an invalid escape sequence. - BAD_ESCAPE_SEQUENCE = 7; - - // Field name is invalid. - BAD_FIELD_NAME = 12; - - // Limit value is invalid (i.e. 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; - - // Value passed was not a string when it should have been. I.e., 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; - - // A non-string 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/quota_error.proto deleted file mode 100644 index 869c3e8a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/quota_error.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "QuotaErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing quota errors. - -// Container for enum describing possible quota errors. -message QuotaErrorEnum { - // Enum describing possible quota errors. - enum QuotaError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too many requests. - RESOURCE_EXHAUSTED = 2; - - // Access is prohibited. - ACCESS_PROHIBITED = 3; - - // Too many requests in a short amount of time. - RESOURCE_TEMPORARILY_EXHAUSTED = 4; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/range_error.proto deleted file mode 100644 index 95470104..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/range_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RangeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing range errors. - -// Container for enum describing possible range errors. -message RangeErrorEnum { - // Enum describing possible range errors. - enum RangeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too low. - TOO_LOW = 2; - - // Too high. - TOO_HIGH = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/reach_plan_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/reach_plan_error.proto deleted file mode 100644 index 91f54901..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/reach_plan_error.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ReachPlanErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors generated from ReachPlanService. - -// Container for enum describing possible errors returned from -// the ReachPlanService. -message ReachPlanErrorEnum { - // Enum describing possible errors from ReachPlanService. - enum ReachPlanError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/recommendation_error.proto deleted file mode 100644 index 34a0d6d8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/recommendation_error.proto +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing errors from applying a recommendation. - -// Container for enum describing possible errors from applying a recommendation. -message RecommendationErrorEnum { - // Enum describing possible errors from applying a recommendation. - enum RecommendationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The specified budget amount is too low e.g. 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. e.g. 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. e.g. 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/region_code_error.proto deleted file mode 100644 index 608fd137..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/region_code_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RegionCodeErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing region code errors. - -// Container for enum describing possible region code errors. -message RegionCodeErrorEnum { - // Enum describing possible region code errors. - enum RegionCodeError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Invalid region code. - INVALID_REGION_CODE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/request_error.proto deleted file mode 100644 index 0a956951..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/request_error.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "RequestErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing request errors. - -// Container for enum describing possible request errors. -message RequestErrorEnum { - // Enum describing possible request errors. - enum RequestError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Resource name is required for this request. - RESOURCE_NAME_MISSING = 3; - - // Resource name provided is malformed. - RESOURCE_NAME_MALFORMED = 4; - - // Resource name provided is malformed. - BAD_RESOURCE_ID = 17; - - // Customer ID is invalid. - INVALID_CUSTOMER_ID = 16; - - // Mutate operation should have either create, update, or remove specified. - OPERATION_REQUIRED = 5; - - // Requested resource not found. - RESOURCE_NOT_FOUND = 6; - - // Next page token specified in user request is invalid. - INVALID_PAGE_TOKEN = 7; - - // Next page token specified in user request has expired. - EXPIRED_PAGE_TOKEN = 8; - - // Page size specified in user request is invalid. - INVALID_PAGE_SIZE = 22; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/resource_access_denied_error.proto deleted file mode 100644 index a683d452..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/resource_access_denied_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ResourceAccessDeniedErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing resource access denied errors. - -// Container for enum describing possible resource access denied errors. -message ResourceAccessDeniedErrorEnum { - // Enum describing possible resource access denied errors. - enum ResourceAccessDeniedError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // User did not have write access. - WRITE_ACCESS_DENIED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/resource_count_limit_exceeded_error.proto deleted file mode 100644 index 025f69b3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/resource_count_limit_exceeded_error.proto +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "ResourceCountLimitExceededErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing resource count limit exceeded errors. - -// Container for enum describing possible resource count limit exceeded errors. -message ResourceCountLimitExceededErrorEnum { - // Enum describing possible resource count limit exceeded errors. - enum ResourceCountLimitExceededError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Indicates that this request would exceed the number of allowed resources - // for the Google Ads account. The exact resource type and limit being - // checked can be inferred from accountLimitType. - ACCOUNT_LIMIT = 2; - - // Indicates that this request would exceed the number of allowed resources - // in a Campaign. The exact resource type and limit being checked can be - // inferred from accountLimitType, and the numeric id of the - // Campaign involved is given by enclosingId. - CAMPAIGN_LIMIT = 3; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group. The exact resource type and limit being checked can be - // inferred from accountLimitType, and the numeric id of the - // ad group involved is given by enclosingId. - ADGROUP_LIMIT = 4; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group ad. The exact resource type and limit being checked can - // be inferred from accountLimitType, and the enclosingId - // contains the ad group id followed by the ad id, separated by a single - // comma (,). - AD_GROUP_AD_LIMIT = 5; - - // Indicates that this request would exceed the number of allowed resources - // in an ad group criterion. The exact resource type and limit being checked - // can be inferred from accountLimitType, and the - // enclosingId contains the ad group id followed by the - // criterion id, separated by a single comma (,). - AD_GROUP_CRITERION_LIMIT = 6; - - // Indicates that this request would exceed the number of allowed resources - // in this shared set. The exact resource type and limit being checked can - // be inferred from accountLimitType, and the numeric id of the - // shared set involved is given by enclosingId. - SHARED_SET_LIMIT = 7; - - // Exceeds a limit related to a matching function. - MATCHING_FUNCTION_LIMIT = 8; - - // The response for this request would exceed the maximum number of rows - // that can be returned. - RESPONSE_ROW_LIMIT_EXCEEDED = 9; - - // This request would exceed a limit on the number of allowed resources. - // The details of which type of limit was exceeded will eventually be - // returned in ErrorDetails. - RESOURCE_LIMIT = 10; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/setting_error.proto deleted file mode 100644 index 5aa5f09a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/setting_error.proto +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SettingErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing setting errors. - -// Container for enum describing possible setting errors. -message SettingErrorEnum { - // Enum describing possible setting errors. - enum SettingError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The campaign setting is not available for this Google Ads account. - SETTING_TYPE_IS_NOT_AVAILABLE = 3; - - // The setting is not compatible with the campaign. - SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; - - // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See - // CriterionTypeGroup documentation for CriterionTypeGroups allowed - // in Campaign or AdGroup TargetingSettings. - TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; - - // TargetingSetting must not explicitly - // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, - // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in - // which case the system will set them to true automatically). - TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6; - - // TargetingSetting cannot change any of - // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, - // INCOME_RANGE) from true to false. - TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7; - - // At least one feed id should be present. - DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; - - // The supplied DynamicSearchAdsSetting contains an invalid domain name. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; - - // The supplied DynamicSearchAdsSetting contains a subdomain name. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; - - // The supplied DynamicSearchAdsSetting contains an invalid language code. - DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; - - // TargetingSettings in search campaigns should not have - // CriterionTypeGroup.PLACEMENT set to targetAll. - TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; - - // Duplicate description in universal app setting description field. - UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13; - - // Description line width is too long in universal app setting description - // field. - UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14; - - // Universal app setting appId field cannot be modified for COMPLETE - // campaigns. - UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15; - - // YoutubeVideoMediaIds in universal app setting cannot exceed size limit. - TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16; - - // ImageMediaIds in universal app setting cannot exceed size limit. - TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17; - - // Media is incompatible for universal app campaign. - MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18; - - // Too many exclamation marks in universal app campaign ad text ideas. - TOO_MANY_EXCLAMATION_MARKS = 19; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/shared_criterion_error.proto deleted file mode 100644 index 1af20ad7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/shared_criterion_error.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SharedCriterionErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing shared criterion errors. - -// Container for enum describing possible shared criterion errors. -message SharedCriterionErrorEnum { - // Enum describing possible shared criterion errors. - enum SharedCriterionError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The criterion is not appropriate for the shared set type. - CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/shared_set_error.proto deleted file mode 100644 index d47e1d41..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/shared_set_error.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing shared set errors. - -// Container for enum describing possible shared set errors. -message SharedSetErrorEnum { - // Enum describing possible shared set errors. - enum SharedSetError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The customer cannot create this type of shared set. - CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; - - // A shared set with this name already exists. - DUPLICATE_NAME = 3; - - // Removed shared sets cannot be mutated. - SHARED_SET_REMOVED = 4; - - // The shared set cannot be removed because it is in use. - SHARED_SET_IN_USE = 5; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/size_limit_error.proto deleted file mode 100644 index f49ee810..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/size_limit_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "SizeLimitErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing size limit errors. - -// Container for enum describing possible size limit errors. -message SizeLimitErrorEnum { - // Enum describing possible size limit errors. - enum SizeLimitError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The number of entries in the request exceeds the system limit. - REQUEST_SIZE_LIMIT_EXCEEDED = 2; - - // The number of entries in the response exceeds the system limit. - RESPONSE_SIZE_LIMIT_EXCEEDED = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/string_format_error.proto deleted file mode 100644 index 63b3916e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/string_format_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "StringFormatErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing string format errors. - -// Container for enum describing possible string format errors. -message StringFormatErrorEnum { - // Enum describing possible string format errors. - enum StringFormatError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The input string value contains disallowed characters. - ILLEGAL_CHARS = 2; - - // The input string value is invalid for the associated field. - INVALID_FORMAT = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/string_length_error.proto deleted file mode 100644 index 3191fb42..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/string_length_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "StringLengthErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing string length errors. - -// Container for enum describing possible string length errors. -message StringLengthErrorEnum { - // Enum describing possible string length errors. - enum StringLengthError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Too short. - TOO_SHORT = 2; - - // Too long. - TOO_LONG = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/url_field_error.proto deleted file mode 100644 index 715aac11..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/url_field_error.proto +++ /dev/null @@ -1,216 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "UrlFieldErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing url field errors. - -// Container for enum describing possible url field errors. -message UrlFieldErrorEnum { - // Enum describing possible url field errors. - enum UrlFieldError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // The tracking url template is invalid. - INVALID_TRACKING_URL_TEMPLATE = 2; - - // The tracking url template contains invalid tag. - INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; - - // The tracking url template must contain at least one tag (e.g. {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 (i.e. {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 - // (i.e. {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 (i.e. {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 - // (i.e. {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. (E.g. "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 (i.e. {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 (e.g. {lpurl}), This applies only - // to urls associated with website ads or product ads. - 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, e.g, 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/user_list_error.proto deleted file mode 100644 index afd4d5d4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/user_list_error.proto +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "UserListErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing user list errors. - -// Container for enum describing possible user list errors. -message UserListErrorEnum { - // Enum describing possible user list errors. - enum UserListError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Creating and updating external remarketing user lists is not supported. - EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; - - // Concrete type of user list is required. - CONCRETE_TYPE_REQUIRED = 3; - - // Creating/updating user list conversion types requires specifying the - // conversion type Id. - CONVERSION_TYPE_ID_REQUIRED = 4; - - // Remarketing user list cannot have duplicate conversion types. - DUPLICATE_CONVERSION_TYPES = 5; - - // Conversion type is invalid/unknown. - INVALID_CONVERSION_TYPE = 6; - - // User list description is empty or invalid. - INVALID_DESCRIPTION = 7; - - // User list name is empty or invalid. - INVALID_NAME = 8; - - // Type of the UserList does not match. - INVALID_TYPE = 9; - - // Embedded logical user lists are not allowed. - CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; - - // User list rule operand is invalid. - INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; - - // Name is already being used for another user list for the account. - NAME_ALREADY_USED = 12; - - // Name is required when creating a new conversion type. - NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; - - // The given conversion type name has been used. - CONVERSION_TYPE_NAME_ALREADY_USED = 14; - - // Only an owner account may edit a user list. - OWNERSHIP_REQUIRED_FOR_SET = 15; - - // Creating user list without setting type in oneof user_list field, or - // creating/updating read-only user list types is not allowed. - USER_LIST_MUTATE_NOT_SUPPORTED = 16; - - // Rule is invalid. - INVALID_RULE = 17; - - // The specified date range is empty. - INVALID_DATE_RANGE = 27; - - // A UserList which is privacy sensitive or legal rejected cannot be mutated - // by external users. - CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; - - // Maximum number of rulebased user lists a customer can have. - MAX_NUM_RULEBASED_USERLISTS = 29; - - // BasicUserList's billable record field cannot be modified once it is set. - CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; - - // crm_based_user_list.app_id field must be set when upload_key_type is - // MOBILE_ADVERTISING_ID. - APP_ID_NOT_SET = 31; - - // Name of the user list is reserved for system generated lists and cannot - // be used. - USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; - - // Advertiser needs to be whitelisted to use remarketing lists created from - // advertiser uploaded data (e.g., Customer Match lists). - ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33; - - // 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; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v2/errors/youtube_video_registration_error.proto deleted file mode 100644 index 7eec32be..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/errors/youtube_video_registration_error.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.errors; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Errors"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/errors;errors"; -option java_multiple_files = true; -option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; -option java_package = "com.google.ads.googleads.v2.errors"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Errors"; -option ruby_package = "Google::Ads::GoogleAds::V2::Errors"; - -// Proto file describing YouTube video registration errors. - -// Container for enum describing YouTube video registration errors. -message YoutubeVideoRegistrationErrorEnum { - // Enum describing YouTube video registration errors. - enum YoutubeVideoRegistrationError { - // Enum unspecified. - UNSPECIFIED = 0; - - // The received error code is not known in this version. - UNKNOWN = 1; - - // Video to be registered wasn't found. - VIDEO_NOT_FOUND = 2; - - // Video to be registered is not accessible (e.g. private). - VIDEO_NOT_ACCESSIBLE = 3; - } - - -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v2/resources/account_budget.proto deleted file mode 100644 index 74abe4d3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/account_budget.proto +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/account_budget_proposal_type.proto"; -import "google/ads/googleads/v2/enums/account_budget_status.proto"; -import "google/ads/googleads/v2/enums/spending_limit_type.proto"; -import "google/ads/googleads/v2/enums/time_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the AccountBudget resource. - -// An account-level budget. It contains information about the budget itself, -// as well as the most recently approved changes to the budget and proposed -// changes that are pending approval. The proposed changes that are pending -// approval, if any, are found in 'pending_proposal'. Effective details about -// the budget are found in fields prefixed 'approved_', 'adjusted_' and those -// without a prefix. Since some effective details may differ from what the user -// had originally requested (e.g. spending limit), these differences are -// juxtaposed via '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 { - // A pending proposal associated with the enclosing account-level budget, - // if applicable. - message PendingAccountBudgetProposal { - // The resource name of the proposal. - // AccountBudgetProposal resource names have the form: - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - google.protobuf.StringValue account_budget_proposal = 1; - - // The type of this proposal, e.g. END to end the budget associated - // with this proposal. - google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2; - - // The name to assign to the account-level budget. - google.protobuf.StringValue name = 3; - - // The start time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue start_date_time = 4; - - // A purchase order number is a value that helps users reference this budget - // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 9; - - // Notes associated with this budget. - google.protobuf.StringValue notes = 10; - - // The time when this account-level budget proposal was created. - // Formatted as yyyy-MM-dd HH:mm:ss. - google.protobuf.StringValue creation_date_time = 11; - - // The end time of the account-level budget. - oneof end_time { - // The end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 5; - - // The end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 6; - } - - // The spending limit. - oneof spending_limit { - // The spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value spending_limit_micros = 7; - - // The spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8; - } - } - - // 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; - - // The ID of the account-level budget. - google.protobuf.Int64Value id = 2; - - // 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}` - google.protobuf.StringValue billing_setup = 3; - - // The status of this account-level budget. - google.ads.googleads.v2.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4; - - // The name of the account-level budget. - google.protobuf.StringValue name = 5; - - // 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. - google.protobuf.StringValue proposed_start_date_time = 6; - - // 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. - google.protobuf.StringValue approved_start_date_time = 7; - - // The total adjustments amount. - // - // An example of an adjustment is courtesy credits. - google.protobuf.Int64Value total_adjustments_micros = 18; - - // 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). - google.protobuf.Int64Value amount_served_micros = 19; - - // A purchase order number is a value that helps users reference this budget - // in their monthly invoices. - google.protobuf.StringValue purchase_order_number = 20; - - // Notes associated with the budget. - google.protobuf.StringValue notes = 21; - - // The pending proposal to modify this budget, if applicable. - PendingAccountBudgetProposal pending_proposal = 22; - - // The proposed end time of the account-level budget. - oneof proposed_end_time { - // The proposed end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 8; - - // The proposed end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; - } - - // 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 { - // The approved end time in yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 10; - - // The approved end time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 11; - } - - // The proposed spending limit. - oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 12; - - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13; - } - - // 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 { - // 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. - google.protobuf.Int64Value approved_spending_limit_micros = 14; - - // The approved spending limit as a well-defined type, e.g. INFINITE. This - // will only be populated if the approved spending limit is INFINITE. - google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15; - } - - // 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 { - // 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. - google.protobuf.Int64Value adjusted_spending_limit_micros = 16; - - // The adjusted spending limit as a well-defined type, e.g. 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.v2.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v2/resources/account_budget_proposal.proto deleted file mode 100644 index 7d8e9302..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/account_budget_proposal.proto +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/account_budget_proposal_status.proto"; -import "google/ads/googleads/v2/enums/account_budget_proposal_type.proto"; -import "google/ads/googleads/v2/enums/spending_limit_type.proto"; -import "google/ads/googleads/v2/enums/time_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the AccountBudgetProposal resource. - -// An account-level budget proposal. -// -// All fields prefixed with 'proposed' may not necessarily be applied directly. -// For example, proposed spending limits may be adjusted before their -// application. This is true if the 'proposed' field has an 'approved' -// counterpart, e.g. spending limits. -// -// Please note that the proposal type (proposal_type) changes which fields are -// required and which must remain empty. -message AccountBudgetProposal { - // The resource name of the proposal. - // AccountBudgetProposal resource names have the form: - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - string resource_name = 1; - - // The ID of the proposal. - google.protobuf.Int64Value id = 14; - - // The resource name of the billing setup associated with this proposal. - google.protobuf.StringValue billing_setup = 2; - - // The resource name of the account-level budget associated with this - // proposal. - google.protobuf.StringValue account_budget = 3; - - // The type of this proposal, e.g. END to end the budget associated with this - // proposal. - google.ads.googleads.v2.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4; - - // The status of this proposal. - // When a new proposal is created, the status defaults to PENDING. - google.ads.googleads.v2.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15; - - // The name to assign to the account-level budget. - google.protobuf.StringValue proposed_name = 5; - - // The approved start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_start_date_time = 20; - - // A purchase order number is a value that enables the user to help them - // reference this budget in their monthly invoices. - google.protobuf.StringValue proposed_purchase_order_number = 12; - - // Notes associated with this budget. - google.protobuf.StringValue proposed_notes = 13; - - // The date time when this account-level budget proposal was created, which is - // not the same as its approval date time, if applicable. - google.protobuf.StringValue creation_date_time = 16; - - // The date time when this account-level budget was approved, if applicable. - google.protobuf.StringValue approval_date_time = 17; - - // The proposed start date time of the account-level budget, which cannot be - // in the past. - oneof proposed_start_time { - // The proposed start date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_start_date_time = 18; - - // The proposed start date time as a well-defined type, e.g. NOW. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7; - } - - // The proposed end date time of the account-level budget, which cannot be in - // the past. - oneof proposed_end_time { - // The proposed end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue proposed_end_date_time = 19; - - // The proposed end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; - } - - // The approved end date time of the account-level budget. - oneof approved_end_time { - // The approved end date time in yyyy-mm-dd hh:mm:ss format. - google.protobuf.StringValue approved_end_date_time = 21; - - // The approved end date time as a well-defined type, e.g. FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType approved_end_time_type = 22; - } - - // The proposed spending limit. - oneof proposed_spending_limit { - // The proposed spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value proposed_spending_limit_micros = 10; - - // The proposed spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11; - } - - // The approved spending limit. - oneof approved_spending_limit { - // The approved spending limit in micros. One million is equivalent to - // one unit. - google.protobuf.Int64Value approved_spending_limit_micros = 23; - - // The approved spending limit as a well-defined type, e.g. INFINITE. - google.ads.googleads.v2.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad.proto deleted file mode 100644 index 9bc2e0a0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad.proto +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/ad_type_infos.proto"; -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/common/final_app_url.proto"; -import "google/ads/googleads/v2/common/url_collection.proto"; -import "google/ads/googleads/v2/enums/ad_type.proto"; -import "google/ads/googleads/v2/enums/device.proto"; -import "google/ads/googleads/v2/enums/system_managed_entity_source.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad type. - -// An ad. -message Ad { - // The resource name of the ad. - // Ad resource names have the form: - // - // `customers/{customer_id}/ads/{ad_id}` - string resource_name = 37; - - // The ID of the ad. - google.protobuf.Int64Value id = 1; - - // The list of possible final URLs after all cross-domain redirects for the - // ad. - repeated google.protobuf.StringValue final_urls = 2; - - // A list of final app URLs that will be used on mobile if the user has the - // specific app installed. - repeated google.ads.googleads.v2.common.FinalAppUrl final_app_urls = 35; - - // The list of possible final mobile URLs after all cross-domain redirects - // for the ad. - repeated google.protobuf.StringValue final_mobile_urls = 16; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 12; - - // The suffix to use when constructing a final URL. - google.protobuf.StringValue final_url_suffix = 38; - - // The list of mappings that can be used to substitute custom parameter tags - // in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. - repeated google.ads.googleads.v2.common.CustomParameter url_custom_parameters = 10; - - // The URL that appears in the ad description for some ad formats. - google.protobuf.StringValue display_url = 4; - - // The type of ad. - google.ads.googleads.v2.enums.AdTypeEnum.AdType type = 5; - - // 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. - google.protobuf.BoolValue added_by_google_ads = 19; - - // 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, e.g. 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.v2.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.v2.common.UrlCollection url_collections = 26; - - // 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. - google.protobuf.StringValue name = 23; - - // If this ad is system managed, then this field will indicate the source. - // This field is read-only. - google.ads.googleads.v2.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27; - - // Details pertinent to the ad type. Exactly one value must be set. - oneof ad_data { - // Details pertaining to a text ad. - google.ads.googleads.v2.common.TextAdInfo text_ad = 6; - - // Details pertaining to an expanded text ad. - google.ads.googleads.v2.common.ExpandedTextAdInfo expanded_text_ad = 7; - - // Details pertaining to a call-only ad. - google.ads.googleads.v2.common.CallOnlyAdInfo call_only_ad = 13; - - // 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.v2.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14; - - // Details pertaining to a hotel ad. - google.ads.googleads.v2.common.HotelAdInfo hotel_ad = 15; - - // Details pertaining to a Smart Shopping ad. - google.ads.googleads.v2.common.ShoppingSmartAdInfo shopping_smart_ad = 17; - - // Details pertaining to a Shopping product ad. - google.ads.googleads.v2.common.ShoppingProductAdInfo shopping_product_ad = 18; - - // Details pertaining to a Gmail ad. - google.ads.googleads.v2.common.GmailAdInfo gmail_ad = 21; - - // Details pertaining to an Image ad. - google.ads.googleads.v2.common.ImageAdInfo image_ad = 22; - - // Details pertaining to a Video ad. - google.ads.googleads.v2.common.VideoAdInfo video_ad = 24; - - // Details pertaining to a responsive search ad. - google.ads.googleads.v2.common.ResponsiveSearchAdInfo responsive_search_ad = 25; - - // Details pertaining to a legacy responsive display ad. - google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; - - // Details pertaining to an app ad. - google.ads.googleads.v2.common.AppAdInfo app_ad = 29; - - // Details pertaining to a legacy app install ad. - google.ads.googleads.v2.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30; - - // Details pertaining to a responsive display ad. - google.ads.googleads.v2.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; - - // Details pertaining to a display upload ad. - google.ads.googleads.v2.common.DisplayUploadAdInfo display_upload_ad = 33; - - // Details pertaining to an app engagement ad. - google.ads.googleads.v2.common.AppEngagementAdInfo app_engagement_ad = 34; - - // Details pertaining to a Shopping Comparison Listing ad. - google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group.proto deleted file mode 100644 index e1d85f74..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group.proto +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/common/explorer_auto_optimizer_setting.proto"; -import "google/ads/googleads/v2/common/targeting_setting.proto"; -import "google/ads/googleads/v2/enums/ad_group_ad_rotation_mode.proto"; -import "google/ads/googleads/v2/enums/ad_group_status.proto"; -import "google/ads/googleads/v2/enums/ad_group_type.proto"; -import "google/ads/googleads/v2/enums/bidding_source.proto"; -import "google/ads/googleads/v2/enums/targeting_dimension.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group resource. - -// An ad group. -message AdGroup { - // 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; - - // The ID of the ad group. - google.protobuf.Int64Value id = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // The status of the ad group. - google.ads.googleads.v2.enums.AdGroupStatusEnum.AdGroupStatus status = 5; - - // The type of the ad group. - google.ads.googleads.v2.enums.AdGroupTypeEnum.AdGroupType type = 12; - - // The ad rotation mode of the ad group. - google.ads.googleads.v2.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; - - // 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. - google.protobuf.StringValue base_ad_group = 18; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 13; - - // 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.v2.common.CustomParameter url_custom_parameters = 6; - - // The campaign to which the ad group belongs. - google.protobuf.StringValue campaign = 10; - - // The maximum CPC (cost-per-click) bid. - google.protobuf.Int64Value cpc_bid_micros = 14; - - // The maximum CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value cpm_bid_micros = 15; - - // The target CPA (cost-per-acquisition). - google.protobuf.Int64Value target_cpa_micros = 27; - - // The CPV (cost-per-view) bid. - google.protobuf.Int64Value cpv_bid_micros = 17; - - // Average amount in micros that the advertiser is willing to pay for every - // thousand times the ad is shown. - google.protobuf.Int64Value target_cpm_micros = 26; - - // The target ROAS (return-on-ad-spend) override. If the ad group's campaign - // bidding strategy is a standard Target ROAS strategy, then this field - // overrides the target ROAS specified in the campaign's bidding strategy. - // Otherwise, this value is ignored. - google.protobuf.DoubleValue target_roas = 30; - - // 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]. - google.protobuf.Int64Value percent_cpc_bid_micros = 20; - - // Settings for the Display Campaign Optimizer, initially termed "Explorer". - google.ads.googleads.v2.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; - - // Allows advertisers to specify a targeting dimension on which to place - // absolute bids. This is only applicable for campaigns that target only the - // display network and not search. - google.ads.googleads.v2.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; - - // URL template for appending params to Final URL. - google.protobuf.StringValue final_url_suffix = 24; - - // Setting for targeting related features. - google.ads.googleads.v2.common.TargetingSetting targeting_setting = 25; - - // The effective target CPA (cost-per-acquisition). - // This field is read-only. - google.protobuf.Int64Value effective_target_cpa_micros = 28; - - // Source of the effective target CPA. - // This field is read-only. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29; - - // The effective target ROAS (return-on-ad-spend). - // This field is read-only. - google.protobuf.DoubleValue effective_target_roas = 31; - - // Source of the effective target ROAS. - // This field is read-only. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32; - - // The resource names of labels attached to this ad group. - repeated google.protobuf.StringValue labels = 33; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad.proto deleted file mode 100644 index ff2a256e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/enums/ad_group_ad_status.proto"; -import "google/ads/googleads/v2/enums/ad_strength.proto"; -import "google/ads/googleads/v2/enums/policy_approval_status.proto"; -import "google/ads/googleads/v2/enums/policy_review_status.proto"; -import "google/ads/googleads/v2/resources/ad.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group ad resource. - -// An ad group ad. -message AdGroupAd { - // 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; - - // The status of the ad. - google.ads.googleads.v2.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; - - // The ad group to which the ad belongs. - google.protobuf.StringValue ad_group = 4; - - // The ad. - Ad ad = 5; - - // Policy information for the ad. - AdGroupAdPolicySummary policy_summary = 6; - - // Overall ad strength for this ad group ad. - google.ads.googleads.v2.enums.AdStrengthEnum.AdStrength ad_strength = 7; -} - -// Contains policy information for an ad. -message AdGroupAdPolicySummary { - // The list of policy findings for this ad. - repeated google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1; - - // Where in the review process this ad is. - google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2; - - // The overall approval status of this ad, calculated based on the status of - // its individual policy topic entries. - google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto deleted file mode 100644 index 88a772ce..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/enums/asset_field_type.proto"; -import "google/ads/googleads/v2/enums/asset_performance_label.proto"; -import "google/ads/googleads/v2/enums/policy_approval_status.proto"; -import "google/ads/googleads/v2/enums/policy_review_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdAssetViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group ad asset view resource. - -// A link between an AdGroupAd and an Asset. -message AdGroupAdAssetView { - // The resource name of the ad group ad asset view. - // Ad group ad asset view resource names have the form: - // - // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}` - string resource_name = 1; - - // The ad group ad to which the asset is linked. - google.protobuf.StringValue ad_group_ad = 5; - - // The asset which is linked to the ad group ad. - google.protobuf.StringValue asset = 6; - - // Role that the asset takes in the ad. - google.ads.googleads.v2.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2; - - // Policy information for the ad group ad asset. - AdGroupAdAssetPolicySummary policy_summary = 3; - - // Performance of an asset linkage. - google.ads.googleads.v2.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4; -} - -// Contains policy information for an ad group ad asset. -message AdGroupAdAssetPolicySummary { - // The list of policy findings for the ad group ad asset. - repeated google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 1; - - // Where in the review process this ad group ad asset is. - google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2; - - // The overall approval status of this ad group ad asset, calculated based on - // the status of its individual policy topic entries. - google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_label.proto deleted file mode 100644 index fe7640ab..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_ad_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdLabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group ad label resource. - -// A relationship between an ad group ad and a label. -message AdGroupAdLabel { - // 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; - - // The ad group ad to which the label is attached. - google.protobuf.StringValue ad_group_ad = 2; - - // The label assigned to the ad group ad. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_audience_view.proto deleted file mode 100644 index 78adb1b1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_audience_view.proto +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAudienceViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto deleted file mode 100644 index 8565356a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/bid_modifier_source.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group bid modifier resource. - -// Represents an ad group bid modifier. -message AdGroupBidModifier { - // 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; - - // The ad group to which this criterion belongs. - google.protobuf.StringValue ad_group = 2; - - // The ID of the criterion to bid modify. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; - - // 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. - google.protobuf.DoubleValue bid_modifier = 4; - - // 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. - google.protobuf.StringValue base_ad_group = 9; - - // Bid modifier source. - google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10; - - // The criterion of this ad group bid modifier. - oneof criterion { - // Criterion for hotel date selection (default dates vs. user selected). - google.ads.googleads.v2.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5; - - // Criterion for number of days prior to the stay the booking is being made. - google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6; - - // Criterion for length of hotel stay in nights. - google.ads.googleads.v2.common.HotelLengthOfStayInfo hotel_length_of_stay = 7; - - // Criterion for day of the week the booking is for. - google.ads.googleads.v2.common.HotelCheckInDayInfo hotel_check_in_day = 8; - - // A device criterion. - google.ads.googleads.v2.common.DeviceInfo device = 11; - - // A preferred content criterion. - google.ads.googleads.v2.common.PreferredContentInfo preferred_content = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion.proto deleted file mode 100644 index b839cfb4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion.proto +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/enums/ad_group_criterion_approval_status.proto"; -import "google/ads/googleads/v2/enums/ad_group_criterion_status.proto"; -import "google/ads/googleads/v2/enums/bidding_source.proto"; -import "google/ads/googleads/v2/enums/criterion_system_serving_status.proto"; -import "google/ads/googleads/v2/enums/criterion_type.proto"; -import "google/ads/googleads/v2/enums/quality_score_bucket.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group criterion resource. - -// An ad group criterion. -message AdGroupCriterion { - // A container for ad group criterion quality information. - message QualityInfo { - // The quality score. - // - // This field may not be populated if Google does not have enough - // information to determine a value. - google.protobuf.Int32Value quality_score = 1; - - // The performance of the ad compared to other advertisers. - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2; - - // The quality score of the landing page. - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3; - - // The click-through rate compared to that of other advertisers. - google.ads.googleads.v2.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4; - } - - // Estimates for criterion bids at various positions. - message PositionEstimates { - // The estimate of the CPC bid required for ad to be shown on first - // page of search results. - google.protobuf.Int64Value first_page_cpc_micros = 1; - - // 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. - google.protobuf.Int64Value first_position_cpc_micros = 2; - - // The estimate of the CPC bid required for ad to be displayed at the top - // of the first page of search results. - google.protobuf.Int64Value top_of_page_cpc_micros = 3; - - // Estimate of how many clicks per week you might get by changing your - // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4; - - // Estimate of how your cost per week might change when changing your - // keyword bid to the value in first_position_cpc_micros. - google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5; - } - - // 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; - - // The ID of the criterion. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 26; - - // The status of the criterion. - google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; - - // Information regarding the quality of the criterion. - QualityInfo quality_info = 4; - - // The ad group to which the criterion belongs. - google.protobuf.StringValue ad_group = 5; - - // The type of the criterion. - google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 25; - - // 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. - google.protobuf.BoolValue negative = 31; - - // Serving status of the criterion. - google.ads.googleads.v2.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52; - - // Approval status of the criterion. - google.ads.googleads.v2.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53; - - // 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. - google.protobuf.DoubleValue bid_modifier = 44; - - // The CPC (cost-per-click) bid. - google.protobuf.Int64Value cpc_bid_micros = 16; - - // The CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value cpm_bid_micros = 17; - - // The CPV (cost-per-view) bid. - google.protobuf.Int64Value cpv_bid_micros = 24; - - // 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]. - google.protobuf.Int64Value percent_cpc_bid_micros = 33; - - // The effective CPC (cost-per-click) bid. - google.protobuf.Int64Value effective_cpc_bid_micros = 18; - - // The effective CPM (cost-per-thousand viewable impressions) bid. - google.protobuf.Int64Value effective_cpm_bid_micros = 19; - - // The effective CPV (cost-per-view) bid. - google.protobuf.Int64Value effective_cpv_bid_micros = 20; - - // The effective Percent CPC bid amount. - google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34; - - // Source of the effective CPC bid. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21; - - // Source of the effective CPM bid. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22; - - // Source of the effective CPV bid. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23; - - // Source of the effective Percent CPC bid. - google.ads.googleads.v2.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35; - - // Estimates for criterion bids at various positions. - PositionEstimates position_estimates = 10; - - // The list of possible final URLs after all cross-domain redirects for the - // ad. - repeated google.protobuf.StringValue final_urls = 11; - - // The list of possible final mobile URLs after all cross-domain redirects. - repeated google.protobuf.StringValue final_mobile_urls = 51; - - // URL template for appending params to final URL. - google.protobuf.StringValue final_url_suffix = 50; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 13; - - // 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.v2.common.CustomParameter url_custom_parameters = 14; - - // The ad group criterion. - // - // Exactly one must be set. - oneof criterion { - // Keyword. - google.ads.googleads.v2.common.KeywordInfo keyword = 27; - - // Placement. - google.ads.googleads.v2.common.PlacementInfo placement = 28; - - // Mobile app category. - google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 29; - - // Mobile application. - google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 30; - - // Listing group. - google.ads.googleads.v2.common.ListingGroupInfo listing_group = 32; - - // Age range. - google.ads.googleads.v2.common.AgeRangeInfo age_range = 36; - - // Gender. - google.ads.googleads.v2.common.GenderInfo gender = 37; - - // Income range. - google.ads.googleads.v2.common.IncomeRangeInfo income_range = 38; - - // Parental status. - google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 39; - - // User List. - google.ads.googleads.v2.common.UserListInfo user_list = 42; - - // YouTube Video. - google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 40; - - // YouTube Channel. - google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 41; - - // Topic. - google.ads.googleads.v2.common.TopicInfo topic = 43; - - // User Interest. - google.ads.googleads.v2.common.UserInterestInfo user_interest = 45; - - // Webpage - google.ads.googleads.v2.common.WebpageInfo webpage = 46; - - // App Payment Model. - google.ads.googleads.v2.common.AppPaymentModelInfo app_payment_model = 47; - - // Custom Affinity. - google.ads.googleads.v2.common.CustomAffinityInfo custom_affinity = 48; - - // Custom Intent. - google.ads.googleads.v2.common.CustomIntentInfo custom_intent = 49; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_label.proto deleted file mode 100644 index 25f65231..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionLabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group criterion label resource. - -// A relationship between an ad group criterion and a label. -message AdGroupCriterionLabel { - // 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; - - // The ad group criterion to which the label is attached. - google.protobuf.StringValue ad_group_criterion = 2; - - // The label assigned to the ad group criterion. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto deleted file mode 100644 index 4cf32d5e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/simulation.proto"; -import "google/ads/googleads/v2/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v2/enums/simulation_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionSimulationProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group criterion simulation resource. - -// An ad group criterion simulation. Supported combinations of advertising -// channel type, criterion type, simulation type, and simulation modification -// method are detailed below respectively. -// -// DISPLAY KEYWORD CPC_BID UNIFORM -// SEARCH KEYWORD CPC_BID UNIFORM -// SHOPPING LISTING_GROUP CPC_BID UNIFORM -message AdGroupCriterionSimulation { - // 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; - - // AdGroup ID of the simulation. - google.protobuf.Int64Value ad_group_id = 2; - - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; - - // The field that the simulation modifies. - google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4; - - // How the simulation modifies the field. - google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; - - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_extension_setting.proto deleted file mode 100644 index f1244580..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_extension_setting.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/extension_setting_device.proto"; -import "google/ads/googleads/v2/enums/extension_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the AdGroupExtensionSetting resource. - -// An ad group extension setting. -message AdGroupExtensionSetting { - // 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; - - // The extension type of the ad group extension setting. - google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; - - // 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}` - google.protobuf.StringValue ad_group = 3; - - // 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 google.protobuf.StringValue extension_feed_items = 4; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_feed.proto deleted file mode 100644 index 9d7692c9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_feed.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/matching_function.proto"; -import "google/ads/googleads/v2/enums/feed_link_status.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the AdGroupFeed resource. - -// An ad group feed. -message AdGroupFeed { - // 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; - - // The feed being linked to the ad group. - google.protobuf.StringValue feed = 2; - - // The ad group being linked to the feed. - google.protobuf.StringValue ad_group = 3; - - // Indicates which placeholder types the feed may populate under the connected - // ad group. Required. - repeated google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; - - // Matching function associated with the AdGroupFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v2.common.MatchingFunction matching_function = 5; - - // Status of the ad group feed. - // This field is read-only. - google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_label.proto deleted file mode 100644 index 7595e964..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupLabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group label resource. - -// A relationship between an ad group and a label. -message AdGroupLabel { - // 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; - - // The ad group to which the label is attached. - google.protobuf.StringValue ad_group = 2; - - // The label assigned to the ad group. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_simulation.proto deleted file mode 100644 index af4b9e88..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_group_simulation.proto +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/simulation.proto"; -import "google/ads/googleads/v2/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v2/enums/simulation_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupSimulationProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad group simulation resource. - -// An ad group simulation. Supported combinations of advertising -// channel type, simulation type and simulation modification method is -// detailed below respectively. -// -// SEARCH CPC_BID DEFAULT -// SEARCH CPC_BID UNIFORM -// SEARCH TARGET_CPA UNIFORM -// DISPLAY CPC_BID DEFAULT -// DISPLAY CPC_BID UNIFORM -// DISPLAY TARGET_CPA UNIFORM -// VIDEO CPV_BID DEFAULT -// VIDEO CPV_BID UNIFORM -message AdGroupSimulation { - // 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; - - // Ad group id of the simulation. - google.protobuf.Int64Value ad_group_id = 2; - - // The field that the simulation modifies. - google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 3; - - // How the simulation modifies the field. - google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 5; - - // Last day on which the simulation is based, in YYYY-MM-DD format - google.protobuf.StringValue end_date = 6; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is CPC_BID. - google.ads.googleads.v2.common.CpcBidSimulationPointList cpc_bid_point_list = 8; - - // Simulation points if the simulation type is CPV_BID. - google.ads.googleads.v2.common.CpvBidSimulationPointList cpv_bid_point_list = 10; - - // Simulation points if the simulation type is TARGET_CPA. - google.ads.googleads.v2.common.TargetCpaSimulationPointList target_cpa_point_list = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_parameter.proto deleted file mode 100644 index 4f11cfb8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_parameter.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad parameter resource. - -// An ad parameter that is used to update numeric values (such as prices or -// inventory levels) in any text line of an ad (including URLs). There can -// be a maximum of two AdParameters per ad group criterion. (One with -// parameter_index = 1 and one with parameter_index = 2.) -// In the ad the parameters are referenced by a placeholder of the form -// "{param#:value}". E.g. "{param1:$17}" -message AdParameter { - // 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; - - // The ad group criterion that this ad parameter belongs to. - google.protobuf.StringValue ad_group_criterion = 2; - - // The unique index of this ad parameter. Must be either 1 or 2. - google.protobuf.Int64Value parameter_index = 3; - - // 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. - google.protobuf.StringValue insertion_text = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/ad_schedule_view.proto deleted file mode 100644 index 618c9610..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/ad_schedule_view.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AdScheduleViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ad schedule view resource. - -// An ad schedule view summarizes the performance of campaigns by -// AdSchedule criteria. -message AdScheduleView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/age_range_view.proto deleted file mode 100644 index 5f1c1b40..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/age_range_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the age range view resource. - -// An age range view. -message AgeRangeView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v2/resources/asset.proto deleted file mode 100644 index fc473ce3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/asset.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/asset_types.proto"; -import "google/ads/googleads/v2/enums/asset_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "AssetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::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. -message Asset { - // The resource name of the asset. - // Asset resource names have the form: - // - // `customers/{customer_id}/assets/{asset_id}` - string resource_name = 1; - - // The ID of the asset. - google.protobuf.Int64Value id = 2; - - // Optional name of the asset. - google.protobuf.StringValue name = 3; - - // Type of the asset. - google.ads.googleads.v2.enums.AssetTypeEnum.AssetType type = 4; - - // The specific type of the asset. - oneof asset_data { - // A YouTube video asset. - google.ads.googleads.v2.common.YoutubeVideoAsset youtube_video_asset = 5; - - // A media bundle asset. - google.ads.googleads.v2.common.MediaBundleAsset media_bundle_asset = 6; - - // An image asset. - google.ads.googleads.v2.common.ImageAsset image_asset = 7; - - // A text asset. - google.ads.googleads.v2.common.TextAsset text_asset = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v2/resources/bidding_strategy.proto deleted file mode 100644 index 1c3cf33a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/bidding_strategy.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/bidding.proto"; -import "google/ads/googleads/v2/enums/bidding_strategy_status.proto"; -import "google/ads/googleads/v2/enums/bidding_strategy_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the BiddingStrategy resource - -// A bidding strategy. -message BiddingStrategy { - // 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; - - // The ID of the bidding strategy. - google.protobuf.Int64Value id = 3; - - // 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). - google.protobuf.StringValue name = 4; - - // The status of the bidding strategy. - // - // This field is read-only. - google.ads.googleads.v2.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15; - - // The type of the bidding strategy. - // Create a bidding strategy by setting the bidding scheme. - // - // This field is read-only. - google.ads.googleads.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5; - - // The number of campaigns attached to this bidding strategy. - // - // This field is read-only. - google.protobuf.Int64Value campaign_count = 13; - - // The number of non-removed campaigns attached to this bidding strategy. - // - // This field is read-only. - google.protobuf.Int64Value non_removed_campaign_count = 14; - - // The bidding scheme. - // - // Only one can be set. - oneof scheme { - // A bidding strategy that raises bids for clicks that seem more likely to - // lead to a conversion and lowers them for clicks where they seem less - // likely. - google.ads.googleads.v2.common.EnhancedCpc enhanced_cpc = 7; - - // A bidding strategy that sets max CPC bids to target impressions on - // page one or page one promoted slots on google.com. - // 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.googleads.v2.common.PageOnePromoted page_one_promoted = 8; - - // 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.v2.common.TargetCpa target_cpa = 9; - - // A bidding strategy that automatically optimizes towards a desired - // percentage of impressions. - google.ads.googleads.v2.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.googleads.v2.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.googleads.v2.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.v2.common.TargetSpend target_spend = 12; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v2/resources/billing_setup.proto deleted file mode 100644 index 69423d41..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/billing_setup.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/billing_setup_status.proto"; -import "google/ads/googleads/v2/enums/time_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the BillingSetup resource. - -// A billing setup, which associates a payments account and an advertiser. A -// billing setup is specific to one advertiser. -message BillingSetup { - // Container of payments account information for this billing. - message PaymentsAccountInfo { - // A 16 digit id used to identify the payments account associated with the - // billing setup. - // - // This must be passed as a string with dashes, e.g. "1234-5678-9012-3456". - google.protobuf.StringValue payments_account_id = 1; - - // 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. - google.protobuf.StringValue payments_account_name = 2; - - // 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, e.g. "1234-5678-9012". - google.protobuf.StringValue payments_profile_id = 3; - - // The name of the payments profile associated with the billing setup. - google.protobuf.StringValue payments_profile_name = 4; - - // A secondary payments profile id present in uncommon situations, e.g. - // when a sequential liability agreement has been arranged. - google.protobuf.StringValue secondary_payments_profile_id = 5; - } - - // The resource name of the billing setup. - // BillingSetup resource names have the form: - // - // `customers/{customer_id}/billingSetups/{billing_setup_id}` - string resource_name = 1; - - // The ID of the billing setup. - google.protobuf.Int64Value id = 2; - - // The status of the billing setup. - google.ads.googleads.v2.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3; - - // 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. - google.protobuf.StringValue payments_account = 11; - - // 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; - - // 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 { - // The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a - // future time is allowed. - google.protobuf.StringValue start_date_time = 9; - - // The start time as a type. Only NOW is allowed. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType start_time_type = 10; - } - - // When the billing setup ends / ended. This is either FOREVER or the start - // time of the next scheduled billing setup. - oneof end_time { - // The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. - google.protobuf.StringValue end_date_time = 13; - - // The end time as a type. The only possible value is FOREVER. - google.ads.googleads.v2.enums.TimeTypeEnum.TimeType end_time_type = 14; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign.proto deleted file mode 100644 index 3d91906c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign.proto +++ /dev/null @@ -1,360 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/bidding.proto"; -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/common/frequency_cap.proto"; -import "google/ads/googleads/v2/common/real_time_bidding_setting.proto"; -import "google/ads/googleads/v2/common/targeting_setting.proto"; -import "google/ads/googleads/v2/enums/ad_serving_optimization_status.proto"; -import "google/ads/googleads/v2/enums/advertising_channel_sub_type.proto"; -import "google/ads/googleads/v2/enums/advertising_channel_type.proto"; -import "google/ads/googleads/v2/enums/app_campaign_app_store.proto"; -import "google/ads/googleads/v2/enums/app_campaign_bidding_strategy_goal_type.proto"; -import "google/ads/googleads/v2/enums/bidding_strategy_type.proto"; -import "google/ads/googleads/v2/enums/brand_safety_suitability.proto"; -import "google/ads/googleads/v2/enums/campaign_experiment_type.proto"; -import "google/ads/googleads/v2/enums/campaign_serving_status.proto"; -import "google/ads/googleads/v2/enums/campaign_status.proto"; -import "google/ads/googleads/v2/enums/negative_geo_target_type.proto"; -import "google/ads/googleads/v2/enums/payment_mode.proto"; -import "google/ads/googleads/v2/enums/positive_geo_target_type.proto"; -import "google/ads/googleads/v2/enums/vanity_pharma_display_url_mode.proto"; -import "google/ads/googleads/v2/enums/vanity_pharma_text.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Campaign resource. - -// A campaign. -message Campaign { - // The network settings for the campaign. - message NetworkSettings { - // Whether ads will be served with google.com search results. - google.protobuf.BoolValue target_google_search = 1; - - // Whether ads will be served on partner sites in the Google Search Network - // (requires `target_google_search` to also be `true`). - google.protobuf.BoolValue target_search_network = 2; - - // Whether ads will be served on specified placements in the Google Display - // Network. Placements are specified using the Placement criterion. - google.protobuf.BoolValue target_content_network = 3; - - // Whether ads will be served on the Google Partner Network. - // This is available only to some select Google partner accounts. - google.protobuf.BoolValue target_partner_search_network = 4; - } - - // Campaign-level settings for hotel ads. - message HotelSettingInfo { - // The linked Hotel Center account. - google.protobuf.Int64Value hotel_center_id = 1; - } - - // Selective optimization setting for this campaign, which includes a set of - // conversion actions to optimize this campaign towards. - message SelectiveOptimization { - // The selected set of conversion actions for optimizing this campaign. - repeated google.protobuf.StringValue conversion_actions = 1; - } - - // The setting for controlling Dynamic Search Ads (DSA). - message DynamicSearchAdsSetting { - // The Internet domain name that this setting represents, e.g., "google.com" - // or "www.google.com". - google.protobuf.StringValue domain_name = 1; - - // The language code specifying the language of the domain, e.g., "en". - google.protobuf.StringValue language_code = 2; - - // Whether the campaign uses advertiser supplied URLs exclusively. - google.protobuf.BoolValue use_supplied_urls_only = 3; - - // The list of page feeds associated with the campaign. - repeated google.protobuf.StringValue feeds = 5; - } - - // 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.v2.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; - - // A string that uniquely identifies a mobile application. - google.protobuf.StringValue app_id = 2; - - // The application store that distributes this specific app. - google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3; - } - - // The setting for Shopping campaigns. Defines the universe of products that - // can be advertised by the campaign, and how this campaign interacts with - // other Shopping campaigns. - message ShoppingSetting { - // ID of the Merchant Center account. - // This field is required for create operations. This field is immutable for - // Shopping campaigns. - google.protobuf.Int64Value merchant_id = 1; - - // Sales country of products to include in the campaign. - // This field is required for Shopping campaigns. This field is immutable. - // This field is optional for non-Shopping campaigns, but it must be equal - // to 'ZZ' if set. - google.protobuf.StringValue sales_country = 2; - - // 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. - google.protobuf.Int32Value campaign_priority = 3; - - // Whether to include local products. - google.protobuf.BoolValue enable_local = 4; - } - - // Campaign level settings for tracking information. - message TrackingSetting { - // The url used for dynamic tracking. - google.protobuf.StringValue tracking_url = 1; - } - - // Represents a collection of settings related to ads geotargeting. - message GeoTargetTypeSetting { - // The setting used for positive geotargeting in this particular campaign. - google.ads.googleads.v2.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; - - // The setting used for negative geotargeting in this particular campaign. - google.ads.googleads.v2.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2; - } - - // Describes how unbranded pharma ads will be displayed. - message VanityPharma { - // The display mode for vanity pharma URLs. - google.ads.googleads.v2.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.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; - } - - // The resource name of the campaign. - // Campaign resource names have the form: - // - // `customers/{customer_id}/campaigns/{campaign_id}` - string resource_name = 1; - - // The ID of the campaign. - google.protobuf.Int64Value id = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // The status of the campaign. - // - // When a new campaign is added, the status defaults to ENABLED. - google.ads.googleads.v2.enums.CampaignStatusEnum.CampaignStatus status = 5; - - // The ad serving status of the campaign. - google.ads.googleads.v2.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21; - - // The ad serving optimization status of the campaign. - google.ads.googleads.v2.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8; - - // 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.v2.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9; - - // 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.v2.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10; - - // The URL template for constructing a tracking URL. - google.protobuf.StringValue tracking_url_template = 11; - - // 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.v2.common.CustomParameter url_custom_parameters = 12; - - // Settings for Real-Time Bidding, a feature only available for campaigns - // targeting the Ad Exchange network. - google.ads.googleads.v2.common.RealTimeBiddingSetting real_time_bidding_setting = 39; - - // The network settings for the campaign. - NetworkSettings network_settings = 14; - - // The hotel setting for the campaign. - HotelSettingInfo hotel_setting = 32; - - // 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.v2.common.TargetingSetting targeting_setting = 43; - - // The setting for ads geotargeting. - GeoTargetTypeSetting geo_target_type_setting = 47; - - // The setting related to App Campaign. - AppCampaignSetting app_campaign_setting = 51; - - // The resource names of labels attached to this campaign. - repeated google.protobuf.StringValue labels = 53; - - // The type of campaign: normal, draft, or experiment. - google.ads.googleads.v2.enums.CampaignExperimentTypeEnum.CampaignExperimentType experiment_type = 17; - - // 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. - google.protobuf.StringValue base_campaign = 28; - - // The budget of the campaign. - google.protobuf.StringValue campaign_budget = 6; - - // 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.v2.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22; - - // The date when campaign started. - // - // This field must not be used in WHERE clauses. - google.protobuf.StringValue start_date = 19; - - // The date when campaign ended. - // - // This field must not be used in WHERE clauses. - google.protobuf.StringValue end_date = 20; - - // Suffix used to append query parameters to landing pages that are served - // with parallel tracking. - google.protobuf.StringValue final_url_suffix = 38; - - // A list that limits how often each user will see this campaign's ads. - repeated google.ads.googleads.v2.common.FrequencyCapEntry frequency_caps = 40; - - // 3-Tier Brand Safety setting for the campaign. - google.ads.googleads.v2.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42; - - // 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. - SelectiveOptimization selective_optimization = 45; - - // Campaign level settings for tracking information. - TrackingSetting tracking_setting = 46; - - // Payment mode for the campaign. - google.ads.googleads.v2.enums.PaymentModeEnum.PaymentMode payment_mode = 52; - - // The bidding strategy for the campaign. - // - // Must be either portfolio (created via BiddingStrategy service) or - // standard, that is embedded into the campaign. - oneof campaign_bidding_strategy { - // Portfolio bidding strategy used by campaign. - google.protobuf.StringValue bidding_strategy = 23; - - // Commission is an automatic bidding strategy in which the advertiser pays - // a certain portion of the conversion value. - google.ads.googleads.v2.common.Commission commission = 49; - - // Standard Manual CPC bidding strategy. - // Manual click-based bidding where user pays per click. - google.ads.googleads.v2.common.ManualCpc manual_cpc = 24; - - // Standard Manual CPM bidding strategy. - // Manual impression-based bidding where user pays per thousand - // impressions. - google.ads.googleads.v2.common.ManualCpm manual_cpm = 25; - - // A bidding strategy that pays a configurable amount per video view. - google.ads.googleads.v2.common.ManualCpv manual_cpv = 37; - - // Standard Maximize Conversions bidding strategy that automatically - // maximizes number of conversions given a daily budget. - google.ads.googleads.v2.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.v2.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.v2.common.TargetCpa target_cpa = 26; - - // Target Impression Share bidding strategy. An automated bidding strategy - // that sets bids to achieve a desired percentage of impressions. - google.ads.googleads.v2.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.v2.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.v2.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.v2.common.PercentCpc percent_cpc = 34; - - // A bidding strategy that automatically optimizes cost per thousand - // impressions. - google.ads.googleads.v2.common.TargetCpm target_cpm = 41; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_audience_view.proto deleted file mode 100644 index 9950d5d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_audience_view.proto +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignAudienceViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_bid_modifier.proto deleted file mode 100644 index d12e8eda..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_bid_modifier.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBidModifierProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Campaign Bid Modifier resource. - -// Represents a bid-modifiable only criterion at the campaign level. -message CampaignBidModifier { - // 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; - - // The campaign to which this criterion belongs. - google.protobuf.StringValue campaign = 2; - - // The ID of the criterion to bid modify. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 3; - - // The modifier for the bid when the criterion matches. - google.protobuf.DoubleValue bid_modifier = 4; - - // The criterion of this campaign bid modifier. - oneof criterion { - // Criterion for interaction type. Only supported for search campaigns. - google.ads.googleads.v2.common.InteractionTypeInfo interaction_type = 5; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_budget.proto deleted file mode 100644 index 4a8725e7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_budget.proto +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/budget_delivery_method.proto"; -import "google/ads/googleads/v2/enums/budget_period.proto"; -import "google/ads/googleads/v2/enums/budget_status.proto"; -import "google/ads/googleads/v2/enums/budget_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Budget resource. - -// A campaign budget. -message CampaignBudget { - // The resource name of the campaign budget. - // Campaign budget resource names have the form: - // - // `customers/{customer_id}/campaignBudgets/{budget_id}` - string resource_name = 1; - - // 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. - google.protobuf.Int64Value id = 3; - - // 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). - google.protobuf.StringValue name = 4; - - // 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. - google.protobuf.Int64Value amount_micros = 5; - - // 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. - google.protobuf.Int64Value total_amount_micros = 10; - - // The status of this campaign budget. This field is read-only. - google.ads.googleads.v2.enums.BudgetStatusEnum.BudgetStatus status = 6; - - // The delivery method that determines the rate at which the campaign budget - // is spent. - // - // Defaults to STANDARD if unspecified in a create operation. - google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; - - // Specifies whether the budget is explicitly shared. Defaults to true if - // unspecified in a create operation. - // - // If true, the budget was created with the purpose of sharing - // across one or more campaigns. - // - // If false, the budget was created with the intention of only being used - // with a single campaign. The budget's name and status will stay in sync - // with the campaign's name and status. Attempting to share the budget with a - // second campaign will result in an error. - // - // A non-shared budget can become an explicitly shared. The same operation - // must also assign the budget a name. - // - // A shared campaign budget can never become non-shared. - google.protobuf.BoolValue explicitly_shared = 8; - - // The number of campaigns actively using the budget. - // - // This field is read-only. - google.protobuf.Int64Value reference_count = 9; - - // Indicates whether there is a recommended budget for this campaign budget. - // - // This field is read-only. - google.protobuf.BoolValue has_recommended_budget = 11; - - // 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. - google.protobuf.Int64Value recommended_budget_amount_micros = 12; - - // Period over which to spend the budget. Defaults to DAILY if not specified. - google.ads.googleads.v2.enums.BudgetPeriodEnum.BudgetPeriod period = 13; - - // The estimated change in weekly clicks if the recommended budget is applied. - // - // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14; - - // 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. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15; - - // The estimated change in weekly interactions if the recommended budget is - // applied. - // - // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16; - - // The estimated change in weekly views if the recommended budget is applied. - // - // This field is read-only. - google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17; - - // The type of the campaign budget. - google.ads.googleads.v2.enums.BudgetTypeEnum.BudgetType type = 18; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion.proto deleted file mode 100644 index 57d1a2af..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion.proto +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/campaign_criterion_status.proto"; -import "google/ads/googleads/v2/enums/criterion_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Campaign Criterion resource. - -// A campaign criterion. -message CampaignCriterion { - // 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; - - // The campaign to which the criterion belongs. - google.protobuf.StringValue campaign = 4; - - // The ID of the criterion. - // - // This field is ignored during mutate. - google.protobuf.Int64Value criterion_id = 5; - - // 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. - google.protobuf.FloatValue bid_modifier = 14; - - // Whether to target (`false`) or exclude (`true`) the criterion. - google.protobuf.BoolValue negative = 7; - - // The type of the criterion. - google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 6; - - // The status of the criterion. - google.ads.googleads.v2.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; - - // The campaign criterion. - // - // Exactly one must be set. - oneof criterion { - // Keyword. - google.ads.googleads.v2.common.KeywordInfo keyword = 8; - - // Placement. - google.ads.googleads.v2.common.PlacementInfo placement = 9; - - // Mobile app category. - google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 10; - - // Mobile application. - google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 11; - - // Location. - google.ads.googleads.v2.common.LocationInfo location = 12; - - // Device. - google.ads.googleads.v2.common.DeviceInfo device = 13; - - // Ad Schedule. - google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 15; - - // Age range. - google.ads.googleads.v2.common.AgeRangeInfo age_range = 16; - - // Gender. - google.ads.googleads.v2.common.GenderInfo gender = 17; - - // Income range. - google.ads.googleads.v2.common.IncomeRangeInfo income_range = 18; - - // Parental status. - google.ads.googleads.v2.common.ParentalStatusInfo parental_status = 19; - - // User List. - google.ads.googleads.v2.common.UserListInfo user_list = 22; - - // YouTube Video. - google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 20; - - // YouTube Channel. - google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 21; - - // Proximity. - google.ads.googleads.v2.common.ProximityInfo proximity = 23; - - // Topic. - google.ads.googleads.v2.common.TopicInfo topic = 24; - - // Listing scope. - google.ads.googleads.v2.common.ListingScopeInfo listing_scope = 25; - - // Language. - google.ads.googleads.v2.common.LanguageInfo language = 26; - - // IpBlock. - google.ads.googleads.v2.common.IpBlockInfo ip_block = 27; - - // ContentLabel. - google.ads.googleads.v2.common.ContentLabelInfo content_label = 28; - - // Carrier. - google.ads.googleads.v2.common.CarrierInfo carrier = 29; - - // User Interest. - google.ads.googleads.v2.common.UserInterestInfo user_interest = 30; - - // Webpage. - google.ads.googleads.v2.common.WebpageInfo webpage = 31; - - // Operating system version. - google.ads.googleads.v2.common.OperatingSystemVersionInfo operating_system_version = 32; - - // Mobile Device. - google.ads.googleads.v2.common.MobileDeviceInfo mobile_device = 33; - - // Location Group - google.ads.googleads.v2.common.LocationGroupInfo location_group = 34; - - // Custom Affinity. - google.ads.googleads.v2.common.CustomAffinityInfo custom_affinity = 36; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion_simulation.proto deleted file mode 100644 index f3cdcc3e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_criterion_simulation.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/simulation.proto"; -import "google/ads/googleads/v2/enums/simulation_modification_method.proto"; -import "google/ads/googleads/v2/enums/simulation_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionSimulationProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the campaign criterion simulation resource. - -// A campaign criterion simulation. Supported combinations of advertising -// channel type, criterion ids, simulation type and simulation modification -// method is detailed below respectively. -// -// SEARCH 30000,30001,30002 BID_MODIFIER UNIFORM -// SHOPPING 30000,30001,30002 BID_MODIFIER UNIFORM -// DISPLAY 30001 BID_MODIFIER UNIFORM -message CampaignCriterionSimulation { - // The resource name of the campaign criterion simulation. - // Campaign criterion simulation resource names have the form: - // - // `customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` - string resource_name = 1; - - // Campaign ID of the simulation. - google.protobuf.Int64Value campaign_id = 2; - - // Criterion ID of the simulation. - google.protobuf.Int64Value criterion_id = 3; - - // The field that the simulation modifies. - google.ads.googleads.v2.enums.SimulationTypeEnum.SimulationType type = 4; - - // How the simulation modifies the field. - google.ads.googleads.v2.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5; - - // First day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue start_date = 6; - - // Last day on which the simulation is based, in YYYY-MM-DD format. - google.protobuf.StringValue end_date = 7; - - // List of simulation points. - oneof point_list { - // Simulation points if the simulation type is BID_MODIFIER. - google.ads.googleads.v2.common.BidModifierSimulationPointList bid_modifier_point_list = 8; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_draft.proto deleted file mode 100644 index f6b7f1de..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_draft.proto +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/campaign_draft_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Campaign Draft resource. - -// A campaign draft. -message CampaignDraft { - // 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; - - // The ID of the draft. - // - // This field is read-only. - google.protobuf.Int64Value draft_id = 2; - - // The base campaign to which the draft belongs. - google.protobuf.StringValue base_campaign = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // Resource name of the Campaign that results from overlaying the draft - // changes onto the base campaign. - // - // This field is read-only. - google.protobuf.StringValue draft_campaign = 5; - - // The status of the campaign draft. This field is read-only. - // - // When a new campaign draft is added, the status defaults to PROPOSED. - google.ads.googleads.v2.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6; - - // Whether there is an experiment based on this draft currently serving. - google.protobuf.BoolValue has_experiment_running = 7; - - // 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. - google.protobuf.StringValue long_running_operation = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_experiment.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_experiment.proto deleted file mode 100644 index ecf55d8a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_experiment.proto +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/campaign_experiment_status.proto"; -import "google/ads/googleads/v2/enums/campaign_experiment_traffic_split_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Campaign Experiment resource. - -// An A/B experiment that compares the performance of the base campaign -// (the control) and a variation of that campaign (the experiment). -message CampaignExperiment { - // The resource name of the campaign experiment. - // Campaign experiment resource names have the form: - // - // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` - string resource_name = 1; - - // The ID of the campaign experiment. - // - // This field is read-only. - google.protobuf.Int64Value id = 2; - - // The campaign draft with staged changes to the base campaign. - google.protobuf.StringValue campaign_draft = 3; - - // The name of the campaign experiment. - // - // This field is required when creating new campaign experiments - // and must not conflict with the name of another non-removed - // campaign experiment or campaign. - // - // It must not contain any null (code point 0x0), NL line feed - // (code point 0xA) or carriage return (code point 0xD) characters. - google.protobuf.StringValue name = 4; - - // The description of the experiment. - google.protobuf.StringValue description = 5; - - // Share of traffic directed to experiment as a percent (must be between 1 and - // 99 inclusive. Base campaign receives the remainder of the traffic - // (100 - traffic_split_percent). Required for create. - google.protobuf.Int64Value traffic_split_percent = 6; - - // Determines the behavior of the traffic split. - google.ads.googleads.v2.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7; - - // The experiment campaign, as opposed to the base campaign. - google.protobuf.StringValue experiment_campaign = 8; - - // The status of the campaign experiment. This field is read-only. - google.ads.googleads.v2.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9; - - // The resource name of the long-running operation that can be used to poll - // for completion of experiment create or promote. The most recent long - // running operation is returned. - google.protobuf.StringValue long_running_operation = 10; - - // Date when the campaign 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. Cannot be changed once the experiment starts. - // - // Format: YYYY-MM-DD - // Example: 2019-03-14 - google.protobuf.StringValue start_date = 11; - - // Date when the campaign 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 - google.protobuf.StringValue end_date = 12; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_extension_setting.proto deleted file mode 100644 index c497dffc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_extension_setting.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/extension_setting_device.proto"; -import "google/ads/googleads/v2/enums/extension_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CampaignExtensionSetting resource. - -// A campaign extension setting. -message CampaignExtensionSetting { - // 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; - - // The extension type of the customer extension setting. - google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; - - // 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}` - google.protobuf.StringValue campaign = 3; - - // 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 google.protobuf.StringValue extension_feed_items = 4; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_feed.proto deleted file mode 100644 index d2359451..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_feed.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/matching_function.proto"; -import "google/ads/googleads/v2/enums/feed_link_status.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CampaignFeed resource. - -// A campaign feed. -message CampaignFeed { - // 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; - - // The feed to which the CampaignFeed belongs. - google.protobuf.StringValue feed = 2; - - // The campaign to which the CampaignFeed belongs. - google.protobuf.StringValue campaign = 3; - - // Indicates which placeholder types the feed may populate under the connected - // campaign. Required. - repeated google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; - - // Matching function associated with the CampaignFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v2.common.MatchingFunction matching_function = 5; - - // Status of the campaign feed. - // This field is read-only. - google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_label.proto deleted file mode 100644 index f3b320e4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_label.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignLabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the campaign label resource. - -// Represents a relationship between a campaign and a label. -message CampaignLabel { - // Name of the resource. - // Campaign label resource names have the form: - // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` - string resource_name = 1; - - // The campaign to which the label is attached. - google.protobuf.StringValue campaign = 2; - - // The label assigned to the campaign. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v2/resources/campaign_shared_set.proto deleted file mode 100644 index e1e0ece8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/campaign_shared_set.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/campaign_shared_set_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CampaignSharedSet resource. - -// CampaignSharedSets are used for managing the shared sets associated with a -// campaign. -message CampaignSharedSet { - // 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; - - // The campaign to which the campaign shared set belongs. - google.protobuf.StringValue campaign = 3; - - // 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. - google.protobuf.StringValue shared_set = 4; - - // The status of this campaign shared set. Read only. - google.ads.googleads.v2.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/carrier_constant.proto deleted file mode 100644 index 3ffa24d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/carrier_constant.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CarrierConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Carrier constant resource. - -// A carrier criterion that can be used in campaign targeting. -message CarrierConstant { - // The resource name of the carrier criterion. - // Carrier criterion resource names have the form: - // - // `carrierConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the carrier criterion. - google.protobuf.Int64Value id = 2; - - // The full name of the carrier in English. - google.protobuf.StringValue name = 3; - - // The country code of the country where the carrier is located, e.g., "AR", - // "FR", etc. - google.protobuf.StringValue country_code = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v2/resources/change_status.proto deleted file mode 100644 index 626b16ee..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/change_status.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/change_status_operation.proto"; -import "google/ads/googleads/v2/enums/change_status_resource_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Change Status resource. - -// Describes the status of returned resource. -message ChangeStatus { - // 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; - - // Time at which the most recent change has occurred on this resource. - google.protobuf.StringValue last_change_date_time = 3; - - // 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.v2.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4; - - // The Campaign affected by this change. - google.protobuf.StringValue campaign = 5; - - // The AdGroup affected by this change. - google.protobuf.StringValue ad_group = 6; - - // Represents the status of the changed resource. - google.ads.googleads.v2.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8; - - // The AdGroupAd affected by this change. - google.protobuf.StringValue ad_group_ad = 9; - - // The AdGroupCriterion affected by this change. - google.protobuf.StringValue ad_group_criterion = 10; - - // The CampaignCriterion affected by this change. - google.protobuf.StringValue campaign_criterion = 11; - - // The Feed affected by this change. - google.protobuf.StringValue feed = 12; - - // The FeedItem affected by this change. - google.protobuf.StringValue feed_item = 13; - - // The AdGroupFeed affected by this change. - google.protobuf.StringValue ad_group_feed = 14; - - // The CampaignFeed affected by this change. - google.protobuf.StringValue campaign_feed = 15; - - // The AdGroupBidModifier affected by this change. - google.protobuf.StringValue ad_group_bid_modifier = 16; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/click_view.proto deleted file mode 100644 index ff2c50c1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/click_view.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/click_location.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ClickViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ClickView resource. - -// A click view with metrics aggregated at each click level, including both -// valid and invalid clicks. For non-Search campaigns, metrics.clicks -// represents the number of valid and invalid interactions. -message ClickView { - // 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; - - // The Google Click ID. - google.protobuf.StringValue gclid = 2; - - // The location criteria matching the area of interest associated with the - // impression. - google.ads.googleads.v2.common.ClickLocation area_of_interest = 3; - - // The location criteria matching the location of presence associated with the - // impression. - google.ads.googleads.v2.common.ClickLocation location_of_presence = 4; - - // Page number in search results where the ad was shown. - google.protobuf.Int64Value page_number = 5; - - // The associated ad. - google.protobuf.StringValue ad_group_ad = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v2/resources/conversion_action.proto deleted file mode 100644 index 89d6e59f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/conversion_action.proto +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/tag_snippet.proto"; -import "google/ads/googleads/v2/enums/attribution_model.proto"; -import "google/ads/googleads/v2/enums/conversion_action_category.proto"; -import "google/ads/googleads/v2/enums/conversion_action_counting_type.proto"; -import "google/ads/googleads/v2/enums/conversion_action_status.proto"; -import "google/ads/googleads/v2/enums/conversion_action_type.proto"; -import "google/ads/googleads/v2/enums/data_driven_model_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Conversion Action resource. - -// A conversion action. -message ConversionAction { - // Settings related to this conversion action's attribution model. - message AttributionModelSettings { - // The attribution model type of this conversion action. - google.ads.googleads.v2.enums.AttributionModelEnum.AttributionModel attribution_model = 1; - - // The status of the data-driven attribution model for the conversion - // action. - google.ads.googleads.v2.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2; - } - - // 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. - google.protobuf.DoubleValue default_value = 1; - - // 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. - google.protobuf.StringValue default_currency_code = 2; - - // 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. - google.protobuf.BoolValue always_use_default_value = 3; - } - - // 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; - - // The ID of the conversion action. - google.protobuf.Int64Value id = 2; - - // The name of the conversion action. - // - // This field is required and should not be empty when creating new - // conversion actions. - google.protobuf.StringValue name = 3; - - // The status of this conversion action for conversion event accrual. - google.ads.googleads.v2.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; - - // The type of this conversion action. - google.ads.googleads.v2.enums.ConversionActionTypeEnum.ConversionActionType type = 5; - - // The category of conversions reported for this conversion action. - google.ads.googleads.v2.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; - - // The resource name of the conversion action owner customer, or null if this - // is a system-defined conversion action. - google.protobuf.StringValue owner_customer = 7; - - // Whether this conversion action should be included in the "conversions" - // metric. - google.protobuf.BoolValue include_in_conversions_metric = 8; - - // The maximum number of days that may elapse between an interaction - // (e.g., a click) and a conversion event. - google.protobuf.Int64Value click_through_lookback_window_days = 9; - - // The maximum number of days which may elapse between an impression and a - // conversion without an interaction. - google.protobuf.Int64Value view_through_lookback_window_days = 10; - - // Settings related to the value for conversion events associated with this - // conversion action. - ValueSettings value_settings = 11; - - // How to count conversion events for the conversion action. - google.ads.googleads.v2.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; - - // Settings related to this conversion action's attribution model. - AttributionModelSettings attribution_model_settings = 13; - - // The snippets used for tracking conversions. - repeated google.ads.googleads.v2.common.TagSnippet tag_snippets = 14; - - // 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. - google.protobuf.Int64Value phone_call_duration_seconds = 15; - - // App ID for an app conversion action. - google.protobuf.StringValue app_id = 16; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v2/resources/custom_interest.proto deleted file mode 100644 index 9bd79b22..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/custom_interest.proto +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/custom_interest_member_type.proto"; -import "google/ads/googleads/v2/enums/custom_interest_status.proto"; -import "google/ads/googleads/v2/enums/custom_interest_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Custom Interest resource. - -// A custom interest. This is a list of users by interest. -message CustomInterest { - // 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; - - // Id of the custom interest. - google.protobuf.Int64Value id = 2; - - // Status of this custom interest. Indicates whether the custom interest is - // enabled or removed. - google.ads.googleads.v2.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; - - // Name of the custom interest. It should be unique across the same custom - // affinity audience. - // This field is required for create operations. - google.protobuf.StringValue name = 4; - - // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. - // By default the type is set to CUSTOM_AFFINITY. - google.ads.googleads.v2.enums.CustomInterestTypeEnum.CustomInterestType type = 5; - - // Description of this custom interest audience. - google.protobuf.StringValue description = 6; - - // List of custom interest members that this custom interest is composed of. - // Members can be added during CustomInterest creation. If members are - // presented in UPDATE operation, existing members will be overridden. - repeated CustomInterestMember members = 7; -} - -// A member of custom interest audience. A member can be a keyword or url. -// It is immutable, that is, it can only be created or removed but not changed. -message CustomInterestMember { - // The type of custom interest member, KEYWORD or URL. - google.ads.googleads.v2.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; - - // Keyword text when member_type is KEYWORD or URL string when - // member_type is URL. - google.protobuf.StringValue parameter = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer.proto deleted file mode 100644 index 6322bb9f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer.proto +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Customer resource. - -// A customer. -message Customer { - // The resource name of the customer. - // Customer resource names have the form: - // - // `customers/{customer_id}` - string resource_name = 1; - - // The ID of the customer. - google.protobuf.Int64Value id = 3; - - // Optional, non-unique descriptive name of the customer. - google.protobuf.StringValue descriptive_name = 4; - - // The currency in which the account operates. - // A subset of the currency codes from the ISO 4217 standard is - // supported. - google.protobuf.StringValue currency_code = 5; - - // The local timezone ID of the customer. - google.protobuf.StringValue time_zone = 6; - - // The URL template for constructing a tracking URL out of parameters. - google.protobuf.StringValue tracking_url_template = 7; - - // The URL template for appending params to the final URL - google.protobuf.StringValue final_url_suffix = 11; - - // Whether auto-tagging is enabled for the customer. - google.protobuf.BoolValue auto_tagging_enabled = 8; - - // 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. - google.protobuf.BoolValue has_partners_badge = 9; - - // Whether the customer is a manager. - google.protobuf.BoolValue manager = 12; - - // Whether the customer is a test account. - google.protobuf.BoolValue test_account = 13; - - // Call reporting setting for a customer. - CallReportingSetting call_reporting_setting = 10; - - // Conversion tracking setting for a customer. - ConversionTrackingSetting conversion_tracking_setting = 14; - - // Remarketing setting for a customer. - RemarketingSetting remarketing_setting = 15; - - // 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.v2.enums.CustomerPayPerConversionEligibilityFailureReasonEnum.CustomerPayPerConversionEligibilityFailureReason pay_per_conversion_eligibility_failure_reasons = 16; -} - -// Call reporting setting for a customer. -message CallReportingSetting { - // Enable reporting of phone call events by redirecting them via Google - // System. - google.protobuf.BoolValue call_reporting_enabled = 1; - - // Whether to enable call conversion reporting. - google.protobuf.BoolValue call_conversion_reporting_enabled = 2; - - // 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. - google.protobuf.StringValue call_conversion_action = 9; -} - -// A collection of customer-wide settings related to Google Ads Conversion -// Tracking. -message ConversionTrackingSetting { - // The conversion tracking id used for this account. This id is automatically - // assigned after any conversion tracking feature is used. If the customer - // doesn't use conversion tracking, this is 0. This field is read-only. - google.protobuf.Int64Value conversion_tracking_id = 1; - - // 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. - google.protobuf.Int64Value cross_account_conversion_tracking_id = 2; -} - -// Remarketing setting for a customer. -message RemarketingSetting { - // The Google global site tag. - google.protobuf.StringValue google_global_site_tag = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_client.proto deleted file mode 100644 index 8969aead..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_client.proto +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CustomerClient resource. - -// A link between the given customer and a client customer. CustomerClients only -// exist for manager customers. All direct and indirect client customers are -// included, as well as the manager itself. -message CustomerClient { - // The resource name of the customer client. - // CustomerClient resource names have the form: - // `customers/{customer_id}/customerClients/{client_customer_id}` - string resource_name = 1; - - // The resource name of the client-customer which is linked to - // the given customer. Read only. - google.protobuf.StringValue client_customer = 3; - - // Specifies whether this is a - // [hidden account](https://support.google.com/google-ads/answer/7519830). - // Read only. - google.protobuf.BoolValue hidden = 4; - - // Distance between given customer and client. For self link, the level value - // will be 0. Read only. - google.protobuf.Int64Value level = 5; - - // Common Locale Data Repository (CLDR) string representation of the - // time zone of the client, e.g. America/Los_Angeles. Read only. - google.protobuf.StringValue time_zone = 6; - - // Identifies if the client is a test account. Read only. - google.protobuf.BoolValue test_account = 7; - - // Identifies if the client is a manager. Read only. - google.protobuf.BoolValue manager = 8; - - // Descriptive name for the client. Read only. - google.protobuf.StringValue descriptive_name = 9; - - // Currency code (e.g. 'USD', 'EUR') for the client. Read only. - google.protobuf.StringValue currency_code = 10; - - // The ID of the client customer. Read only. - google.protobuf.Int64Value id = 11; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_client_link.proto deleted file mode 100644 index a346f845..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_client_link.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/manager_link_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CustomerClientLink resource. - -// Represents customer client link relationship. -message CustomerClientLink { - // Name of the resource. - // CustomerClientLink resource names have the form: - // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` - string resource_name = 1; - - // The client customer linked to this customer. - google.protobuf.StringValue client_customer = 3; - - // This is uniquely identifies a customer client link. Read only. - google.protobuf.Int64Value manager_link_id = 4; - - // This is the status of the link between client and manager. - google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; - - // The visibility of the link. Users can choose whether or not to see hidden - // links in the AdWords UI. - // Default value is false - google.protobuf.BoolValue hidden = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_extension_setting.proto deleted file mode 100644 index a877779a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_extension_setting.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/extension_setting_device.proto"; -import "google/ads/googleads/v2/enums/extension_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerExtensionSettingProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CustomerExtensionSetting resource. - -// A customer extension setting. -message CustomerExtensionSetting { - // The resource name of the customer extension setting. - // CustomerExtensionSetting resource names have the form: - // - // `customers/{customer_id}/customerExtensionSettings/{extension_type}` - string resource_name = 1; - - // The extension type of the customer extension setting. - google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 2; - - // 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 google.protobuf.StringValue extension_feed_items = 3; - - // The device for which the extensions will serve. Optional. - google.ads.googleads.v2.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_feed.proto deleted file mode 100644 index e17dc363..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_feed.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/matching_function.proto"; -import "google/ads/googleads/v2/enums/feed_link_status.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CustomerFeed resource. - -// A customer feed. -message CustomerFeed { - // The resource name of the customer feed. - // Customer feed resource names have the form: - // - // `customers/{customer_id}/customerFeeds/{feed_id}` - string resource_name = 1; - - // The feed being linked to the customer. - google.protobuf.StringValue feed = 2; - - // Indicates which placeholder types the feed may populate under the connected - // customer. Required. - repeated google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; - - // Matching function associated with the CustomerFeed. - // The matching function is used to filter the set of feed items selected. - // Required. - google.ads.googleads.v2.common.MatchingFunction matching_function = 4; - - // Status of the customer feed. - // This field is read-only. - google.ads.googleads.v2.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_label.proto deleted file mode 100644 index c67989a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_label.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerLabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the customer label resource. - -// Represents a relationship between a customer and a label. This customer may -// not have access to all the labels attached to it. Additional CustomerLabels -// may be returned by increasing permissions with login-customer-id. -message CustomerLabel { - // Name of the resource. - // Customer label resource names have the form: - // `customers/{customer_id}/customerLabels/{label_id}` - string resource_name = 1; - - // The resource name of the customer to which the label is attached. - // Read only. - google.protobuf.StringValue customer = 2; - - // 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. - google.protobuf.StringValue label = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_manager_link.proto deleted file mode 100644 index 09f46a83..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_manager_link.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/manager_link_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the CustomerManagerLink resource. - -// Represents customer-manager link relationship. -message CustomerManagerLink { - // Name of the resource. - // CustomerManagerLink resource names have the form: - // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` - string resource_name = 1; - - // The manager customer linked to the customer. - google.protobuf.StringValue manager_customer = 3; - - // ID of the customer-manager link. This field is read only. - google.protobuf.Int64Value manager_link_id = 4; - - // Status of the link between the customer and the manager. - google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v2/resources/customer_negative_criterion.proto deleted file mode 100644 index 230c82b8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/customer_negative_criterion.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/criterion_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "CustomerNegativeCriterionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Customer Negative Criterion resource. - -// A negative criterion for exclusions at the customer level. -message CustomerNegativeCriterion { - // 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; - - // The ID of the criterion. - google.protobuf.Int64Value id = 2; - - // The type of the criterion. - google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 3; - - // The customer negative criterion. - // - // Exactly one must be set. - oneof criterion { - // ContentLabel. - google.ads.googleads.v2.common.ContentLabelInfo content_label = 4; - - // MobileApplication. - google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 5; - - // MobileAppCategory. - google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 6; - - // Placement. - google.ads.googleads.v2.common.PlacementInfo placement = 7; - - // YouTube Video. - google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 8; - - // YouTube Channel. - google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/detail_placement_view.proto deleted file mode 100644 index 5568cac9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/detail_placement_view.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/placement_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DetailPlacementViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the detail placement view resource. - -// A view with metrics aggregated by ad group and URL or YouTube video. -message DetailPlacementView { - // 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; - - // The automatic placement string at detail level, e. g. website URL, mobile - // application ID, or a YouTube video ID. - google.protobuf.StringValue placement = 2; - - // The display name is URL name for websites, YouTube video name for YouTube - // videos, and translated mobile app name for mobile apps. - google.protobuf.StringValue display_name = 3; - - // URL of the group placement, e.g. domain, link to the mobile application in - // app store, or a YouTube channel URL. - google.protobuf.StringValue group_placement_target_url = 4; - - // URL of the placement, e.g. website, link to the mobile application in app - // store, or a YouTube video URL. - google.protobuf.StringValue target_url = 5; - - // Type of the placement, e.g. Website, YouTube Video, and Mobile Application. - google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/display_keyword_view.proto deleted file mode 100644 index e5f8ab94..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/display_keyword_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DisplayKeywordViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the display keyword view resource. - -// A display keyword view. -message DisplayKeywordView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/distance_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/distance_view.proto deleted file mode 100644 index 3074a0d8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/distance_view.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/distance_bucket.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DistanceViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the DistanceView resource. - -// A distance view with metrics aggregated by the user’s distance from an -// advertiser’s location extensions. Each DistanceBucket includes all -// impressions that fall within its distance and a single impression will -// contribute to the metrics for all DistanceBuckets that include the user’s -// distance. -message DistanceView { - // 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; - - // Grouping of user distance from location extensions. - google.ads.googleads.v2.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2; - - // True if the DistanceBucket is using the metric system, false otherwise. - google.protobuf.BoolValue metric_system = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v2/resources/domain_category.proto deleted file mode 100644 index 3b79b4b4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/domain_category.proto +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DomainCategoryProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Domain Category resource. - -// A category generated automatically by crawling a domain. If a campaign uses -// the DynamicSearchAdsSetting, then domain categories will be generated for -// the domain. The categories can be targeted using WebpageConditionInfo. -// See: https://support.google.com/google-ads/answer/2471185 -message DomainCategory { - // 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; - - // The campaign this category is recommended for. - google.protobuf.StringValue campaign = 2; - - // Recommended category for the website domain. e.g. if you have a website - // about electronics, the categories could be "cameras", "televisions", etc. - google.protobuf.StringValue category = 3; - - // The language code specifying the language of the website. e.g. "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. - google.protobuf.StringValue language_code = 4; - - // The domain for the website. The domain can be specified in the - // DynamicSearchAdsSetting required for dynamic search ads. - google.protobuf.StringValue domain = 5; - - // Fraction of pages on your site that this category matches. - google.protobuf.DoubleValue coverage_fraction = 6; - - // The position of this category in the set of categories. Lower numbers - // indicate a better match for the domain. null indicates not recommended. - google.protobuf.Int64Value category_rank = 7; - - // Indicates whether this category has sub-categories. - google.protobuf.BoolValue has_children = 8; - - // The recommended cost per click for the category. - google.protobuf.Int64Value recommended_cpc_bid_micros = 9; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto deleted file mode 100644 index 222ba1f4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Dynamic Search Ads Search Term View resource. - -// A dynamic search ads search term view. -message DynamicSearchAdsSearchTermView { - // 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_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}` - string resource_name = 1; - - // Search term - // - // This field is read-only. - google.protobuf.StringValue search_term = 2; - - // The dynamically generated headline of the Dynamic Search Ad. - // - // This field is read-only. - google.protobuf.StringValue headline = 3; - - // The dynamically selected landing page URL of the impression. - // - // This field is read-only. - google.protobuf.StringValue landing_page = 4; - - // The URL of page feed item served for the impression. - // - // This field is read-only. - google.protobuf.StringValue page_url = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/expanded_landing_page_view.proto deleted file mode 100644 index c99db600..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/expanded_landing_page_view.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ExpandedLandingPageViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the expanded landing page view resource. - -// A landing page view with metrics aggregated at the expanded final URL -// level. -message ExpandedLandingPageView { - // 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; - - // The final URL that clicks are directed to. - google.protobuf.StringValue expanded_final_url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v2/resources/extension_feed_item.proto deleted file mode 100644 index afa49b81..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/extension_feed_item.proto +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/common/extensions.proto"; -import "google/ads/googleads/v2/enums/extension_type.proto"; -import "google/ads/googleads/v2/enums/feed_item_status.proto"; -import "google/ads/googleads/v2/enums/feed_item_target_device.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ExtensionFeedItem resource. - -// An extension feed item. -message ExtensionFeedItem { - // 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; - - // The ID of this feed item. Read-only. - google.protobuf.Int64Value id = 24; - - // The extension type of the extension feed item. - // This field is read-only. - google.ads.googleads.v2.enums.ExtensionTypeEnum.ExtensionType extension_type = 13; - - // 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" - google.protobuf.StringValue start_date_time = 5; - - // 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" - google.protobuf.StringValue end_date_time = 6; - - // List of non-overlapping schedules specifying all time intervals - // for which the feed item may serve. There can be a maximum of 6 schedules - // per day. - repeated google.ads.googleads.v2.common.AdScheduleInfo ad_schedules = 16; - - // The targeted device. - google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; - - // The targeted geo target constant. - google.protobuf.StringValue targeted_geo_target_constant = 20; - - // The targeted keyword. - google.ads.googleads.v2.common.KeywordInfo targeted_keyword = 22; - - // Status of the feed item. - // This field is read-only. - google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 4; - - // Extension type. - oneof extension { - // Sitelink extension. - google.ads.googleads.v2.common.SitelinkFeedItem sitelink_feed_item = 2; - - // Structured snippet extension. - google.ads.googleads.v2.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3; - - // App extension. - google.ads.googleads.v2.common.AppFeedItem app_feed_item = 7; - - // Call extension. - google.ads.googleads.v2.common.CallFeedItem call_feed_item = 8; - - // Callout extension. - google.ads.googleads.v2.common.CalloutFeedItem callout_feed_item = 9; - - // Text message extension. - google.ads.googleads.v2.common.TextMessageFeedItem text_message_feed_item = 10; - - // Price extension. - google.ads.googleads.v2.common.PriceFeedItem price_feed_item = 11; - - // Promotion extension. - google.ads.googleads.v2.common.PromotionFeedItem promotion_feed_item = 12; - - // Location extension. Locations are synced from a GMB account into a feed. - // This field is read-only. - google.ads.googleads.v2.common.LocationFeedItem location_feed_item = 14; - - // Affiliate location extension. Feed locations are populated by Google Ads - // based on a chain ID. - // This field is read-only. - google.ads.googleads.v2.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15; - - // Hotel Callout extension. - google.ads.googleads.v2.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; - } - - // 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. - google.protobuf.StringValue targeted_campaign = 18; - - // The targeted ad group. - google.protobuf.StringValue targeted_ad_group = 19; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v2/resources/feed.proto deleted file mode 100644 index 1760048d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/feed.proto +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/affiliate_location_feed_relationship_type.proto"; -import "google/ads/googleads/v2/enums/feed_attribute_type.proto"; -import "google/ads/googleads/v2/enums/feed_origin.proto"; -import "google/ads/googleads/v2/enums/feed_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Feed resource. - -// A feed. -message Feed { - // Data used to configure a location feed populated from Google My Business - // Locations. - message PlacesLocationFeedData { - // Data used for authorization using OAuth. - message OAuthInfo { - // The HTTP method used to obtain authorization. - google.protobuf.StringValue http_method = 1; - - // The HTTP request URL used to obtain authorization. - google.protobuf.StringValue http_request_url = 2; - - // The HTTP authorization header used to obtain authorization. - google.protobuf.StringValue http_authorization_header = 3; - } - - // 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; - - // Email address of a Google My Business account or email address of a - // manager of the Google My Business account. Required. - google.protobuf.StringValue email_address = 2; - - // 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. - google.protobuf.StringValue business_account_id = 10; - - // Used to filter Google My Business 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. - google.protobuf.StringValue business_name_filter = 4; - - // Used to filter Google My Business 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 google.protobuf.StringValue category_filters = 5; - - // Used to filter Google My Business 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 google.protobuf.StringValue label_filters = 6; - } - - // 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 google.protobuf.Int64Value chain_ids = 1; - - // The relationship the chains have with the advertiser. - google.ads.googleads.v2.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; - } - - // The resource name of the feed. - // Feed resource names have the form: - // - // `customers/{customer_id}/feeds/{feed_id}` - string resource_name = 1; - - // The ID of the feed. - // This field is read-only. - google.protobuf.Int64Value id = 2; - - // Name of the feed. Required. - google.protobuf.StringValue name = 3; - - // The Feed's attributes. Required on CREATE. - // 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; - - // Specifies who manages the FeedAttributes for the Feed. - google.ads.googleads.v2.enums.FeedOriginEnum.FeedOrigin origin = 5; - - // Status of the feed. - // This field is read-only. - google.ads.googleads.v2.enums.FeedStatusEnum.FeedStatus status = 8; - - // 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 Google My Business - // Locations. - 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. - google.protobuf.Int64Value id = 1; - - // The name of the attribute. Required. - google.protobuf.StringValue name = 2; - - // Data type for feed attribute. Required. - google.ads.googleads.v2.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; - - // Indicates that data corresponding to this attribute is part of a - // FeedItem's unique key. It defaults to false if it is unspecified. Note - // that a unique key is not required in a Feed's schema, in which case the - // FeedItems must be referenced by their feed_item_id. - google.protobuf.BoolValue is_part_of_key = 4; -} - -// 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; - } - - // Type of list operation to perform. - Operator operator = 1; - - // The feed attribute being added to the list. - FeedAttribute value = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v2/resources/feed_item.proto deleted file mode 100644 index 1ba2df74..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/feed_item.proto +++ /dev/null @@ -1,199 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/custom_parameter.proto"; -import "google/ads/googleads/v2/common/feed_common.proto"; -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/enums/feed_item_quality_approval_status.proto"; -import "google/ads/googleads/v2/enums/feed_item_quality_disapproval_reason.proto"; -import "google/ads/googleads/v2/enums/feed_item_status.proto"; -import "google/ads/googleads/v2/enums/feed_item_validation_status.proto"; -import "google/ads/googleads/v2/enums/geo_targeting_restriction.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/ads/googleads/v2/enums/policy_approval_status.proto"; -import "google/ads/googleads/v2/enums/policy_review_status.proto"; -import "google/ads/googleads/v2/errors/feed_item_validation_error.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the FeedItem resource. - -// A feed item. -message FeedItem { - // 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; - - // The feed to which this feed item belongs. - google.protobuf.StringValue feed = 2; - - // The ID of this feed item. - google.protobuf.Int64Value id = 3; - - // 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" - google.protobuf.StringValue start_date_time = 4; - - // 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" - google.protobuf.StringValue end_date_time = 5; - - // The feed item's attribute values. - repeated FeedItemAttributeValue attribute_values = 6; - - // Geo targeting restriction specifies the type of location that can be used - // for targeting. - google.ads.googleads.v2.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.v2.common.CustomParameter url_custom_parameters = 8; - - // Status of the feed item. - // This field is read-only. - google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus status = 9; - - // 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, e.g. 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; -} - -// A feed item attribute value. -message FeedItemAttributeValue { - // Id of the feed attribute for which the value is associated with. - google.protobuf.Int64Value feed_attribute_id = 1; - - // Int64 value. Should be set if feed_attribute_id refers to a feed attribute - // of type INT64. - google.protobuf.Int64Value integer_value = 2; - - // Bool value. Should be set if feed_attribute_id refers to a feed attribute - // of type BOOLEAN. - google.protobuf.BoolValue boolean_value = 3; - - // 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 format of the string must - // be the same as start and end time for the feed item. - google.protobuf.StringValue string_value = 4; - - // Double value. Should be set if feed_attribute_id refers to a feed attribute - // of type DOUBLE. - google.protobuf.DoubleValue double_value = 5; - - // Price value. Should be set if feed_attribute_id refers to a feed attribute - // of type PRICE. - google.ads.googleads.v2.common.Money price_value = 6; - - // Repeated int64 value. Should be set if feed_attribute_id refers to a feed - // attribute of type INT64_LIST. - repeated google.protobuf.Int64Value integer_values = 7; - - // Repeated bool value. Should be set if feed_attribute_id refers to a feed - // attribute of type BOOLEAN_LIST. - repeated google.protobuf.BoolValue boolean_values = 8; - - // 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 google.protobuf.StringValue string_values = 9; - - // Repeated double value. Should be set if feed_attribute_id refers to a feed - // attribute of type DOUBLE_LIST. - repeated google.protobuf.DoubleValue double_values = 10; -} - -// Policy, validation, and quality approval info for a feed item for the -// specified placeholder type. -message FeedItemPlaceholderPolicyInfo { - // The placeholder type. - google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10; - - // The FeedMapping that contains the placeholder type. - google.protobuf.StringValue feed_mapping_resource_name = 2; - - // Where the placeholder type is in the review process. - google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3; - - // The overall approval status of the placeholder type, calculated based on - // the status of its individual policy topic entries. - google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4; - - // The list of policy findings for the placeholder type. - repeated google.ads.googleads.v2.common.PolicyTopicEntry policy_topic_entries = 5; - - // The validation status of the palceholder type. - google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6; - - // List of placeholder type validation errors. - repeated FeedItemValidationError validation_errors = 7; - - // Placeholder type quality evaluation approval status. - google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8; - - // List of placeholder type quality evaluation disapproval reasons. - repeated google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9; -} - -// Stores a validation error and the set of offending feed attributes which -// together are responsible for causing a feed item validation error. -message FeedItemValidationError { - // Error code indicating what validation error was triggered. The description - // of the error can be found in the 'description' field. - google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1; - - // The description of the validation error. - google.protobuf.StringValue description = 2; - - // Set of feed attributes in the feed item flagged during validation. If - // empty, no specific feed attributes can be associated with the error - // (e.g. error across the entire feed item). - repeated google.protobuf.Int64Value feed_attribute_ids = 3; - - // Any extra information related to this error which is not captured by - // validation_error and feed_attribute_id (e.g. placeholder field IDs when - // feed_attribute_id is not mapped). Note that extra_info is not localized. - google.protobuf.StringValue extra_info = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v2/resources/feed_item_target.proto deleted file mode 100644 index 7d15e0a6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/feed_item_target.proto +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/feed_item_target_device.proto"; -import "google/ads/googleads/v2/enums/feed_item_target_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the FeedItemTarget resource. - -// A feed item target. -message FeedItemTarget { - // 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; - - // The feed item to which this feed item target belongs. - google.protobuf.StringValue feed_item = 2; - - // The target type of this feed item target. This field is read-only. - google.ads.googleads.v2.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3; - - // The ID of the targeted resource. This field is read-only. - google.protobuf.Int64Value feed_item_target_id = 6; - - // The targeted resource. - oneof target { - // The targeted campaign. - google.protobuf.StringValue campaign = 4; - - // The targeted ad group. - google.protobuf.StringValue ad_group = 5; - - // The targeted keyword. - google.ads.googleads.v2.common.KeywordInfo keyword = 7; - - // The targeted geo target constant resource name. - google.protobuf.StringValue geo_target_constant = 8; - - // The targeted device. - google.ads.googleads.v2.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9; - - // The targeted schedule. - google.ads.googleads.v2.common.AdScheduleInfo ad_schedule = 10; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v2/resources/feed_mapping.proto deleted file mode 100644 index 5d7a601f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/feed_mapping.proto +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/ad_customizer_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/affiliate_location_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/app_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/call_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/callout_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/custom_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/dsa_page_feed_criterion_field.proto"; -import "google/ads/googleads/v2/enums/education_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/feed_mapping_criterion_type.proto"; -import "google/ads/googleads/v2/enums/feed_mapping_status.proto"; -import "google/ads/googleads/v2/enums/flight_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/hotel_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/job_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/local_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/location_extension_targeting_criterion_field.proto"; -import "google/ads/googleads/v2/enums/location_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/message_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/ads/googleads/v2/enums/price_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/promotion_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/real_estate_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/sitelink_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/structured_snippet_placeholder_field.proto"; -import "google/ads/googleads/v2/enums/travel_placeholder_field.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the FeedMapping resource. - -// A feed mapping. -message FeedMapping { - // 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; - - // The feed of this feed mapping. - google.protobuf.StringValue feed = 2; - - // 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; - - // Status of the feed mapping. - // This field is read-only. - google.ads.googleads.v2.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6; - - // 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 { - // The placeholder type of this mapping (i.e., if the mapping maps feed - // attributes to placeholder fields). - google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3; - - // The criterion type of this mapping (i.e., if the mapping maps feed - // attributes to criterion fields). - google.ads.googleads.v2.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4; - } -} - -// Maps from feed attribute id to a placeholder or criterion field id. -message AttributeFieldMapping { - // Feed attribute from which to map. - google.protobuf.Int64Value feed_attribute_id = 1; - - // 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. - google.protobuf.Int64Value field_id = 2; - - // Placeholder or criterion field to be populated using data from - // the above feed attribute. Required. - oneof field { - // Sitelink Placeholder Fields. - google.ads.googleads.v2.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3; - - // Call Placeholder Fields. - google.ads.googleads.v2.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4; - - // App Placeholder Fields. - google.ads.googleads.v2.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5; - - // Location Placeholder Fields. This field is read-only. - google.ads.googleads.v2.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6; - - // Affiliate Location Placeholder Fields. This field is read-only. - google.ads.googleads.v2.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7; - - // Callout Placeholder Fields. - google.ads.googleads.v2.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8; - - // Structured Snippet Placeholder Fields. - google.ads.googleads.v2.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9; - - // Message Placeholder Fields. - google.ads.googleads.v2.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10; - - // Price Placeholder Fields. - google.ads.googleads.v2.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11; - - // Promotion Placeholder Fields. - google.ads.googleads.v2.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12; - - // Ad Customizer Placeholder Fields - google.ads.googleads.v2.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13; - - // Dynamic Search Ad Page Feed Fields. - google.ads.googleads.v2.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14; - - // Location Target Fields. - google.ads.googleads.v2.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15; - - // Education Placeholder Fields - google.ads.googleads.v2.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16; - - // Flight Placeholder Fields - google.ads.googleads.v2.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17; - - // Custom Placeholder Fields - google.ads.googleads.v2.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18; - - // Hotel Placeholder Fields - google.ads.googleads.v2.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19; - - // Real Estate Placeholder Fields - google.ads.googleads.v2.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20; - - // Travel Placeholder Fields - google.ads.googleads.v2.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21; - - // Local Placeholder Fields - google.ads.googleads.v2.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22; - - // Job Placeholder Fields - google.ads.googleads.v2.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/feed_placeholder_view.proto deleted file mode 100644 index a3f6f0e3..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/feed_placeholder_view.proto +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/placeholder_type.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "FeedPlaceholderViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the FeedPlaceholderView resource. - -// A feed placeholder view. -message FeedPlaceholderView { - // 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; - - // The placeholder type of the feed placeholder view. - google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/gender_view.proto deleted file mode 100644 index 77d0631a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/gender_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GenderViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the gender view resource. - -// A gender view. -message GenderView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/geo_target_constant.proto deleted file mode 100644 index 1cbe1d1d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/geo_target_constant.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/geo_target_constant_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the geo target constant resource. - -// A geo target constant. -message GeoTargetConstant { - // 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; - - // The ID of the geo target constant. - google.protobuf.Int64Value id = 3; - - // Geo target constant English name. - google.protobuf.StringValue name = 4; - - // The ISO-3166-1 alpha-2 country code that is associated with the target. - google.protobuf.StringValue country_code = 5; - - // Geo target constant target type. - google.protobuf.StringValue target_type = 6; - - // Geo target constant status. - google.ads.googleads.v2.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7; - - // The fully qualified English name, consisting of the target's name and that - // of its parent and country. - google.protobuf.StringValue canonical_name = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/geographic_view.proto deleted file mode 100644 index 85159e6f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/geographic_view.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/geo_targeting_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GeographicViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the geographic view resource. - -// A geographic view. -// -// Geographic View includes all metrics aggregated at the country level, -// one row per country. It reports metrics at either actual physical location of -// the user or an area of interest. If other segment fields are used, you may -// get more than one row per country. -message GeographicView { - // 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; - - // Type of the geo targeting of the campaign. - google.ads.googleads.v2.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3; - - // Criterion Id for the country. - google.protobuf.Int64Value country_criterion_id = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v2/resources/google_ads_field.proto deleted file mode 100644 index ecdbc0e0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/google_ads_field.proto +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/google_ads_field_category.proto"; -import "google/ads/googleads/v2/enums/google_ads_field_data_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Google Ads Field resource. - -// A field or resource (artifact) used by GoogleAdsService. -message GoogleAdsField { - // The resource name of the artifact. - // Artifact resource names have the form: - // - // `googleAdsFields/{name}` - string resource_name = 1; - - // The name of the artifact. - google.protobuf.StringValue name = 2; - - // The category of the artifact. - google.ads.googleads.v2.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3; - - // Whether the artifact can be used in a SELECT clause in search - // queries. - google.protobuf.BoolValue selectable = 4; - - // Whether the artifact can be used in a WHERE clause in search - // queries. - google.protobuf.BoolValue filterable = 5; - - // Whether the artifact can be used in a ORDER BY clause in search - // queries. - google.protobuf.BoolValue sortable = 6; - - // The names of all resources, segments, and metrics that are selectable with - // the described artifact. - repeated google.protobuf.StringValue selectable_with = 7; - - // 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 google.protobuf.StringValue attribute_resources = 8; - - // At and beyond version V1 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. - // - // Before version V1 this field lists the names of all metrics that are - // selectable with the described artifact. It is only set for artifacts whose - // category is either RESOURCE or SEGMENT - repeated google.protobuf.StringValue metrics = 9; - - // At and beyond version V1 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. - // - // Before version V1 this field lists the names of all artifacts, whether a - // segment or another resource, that segment metrics when included in search - // queries. It is only set for artifacts of category RESOURCE, SEGMENT or - // METRIC. - repeated google.protobuf.StringValue segments = 10; - - // 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 google.protobuf.StringValue enum_values = 11; - - // This field determines the operators that can be used with the artifact - // in WHERE clauses. - google.ads.googleads.v2.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12; - - // The URL of proto describing the artifact's data type. - google.protobuf.StringValue type_url = 13; - - // Whether the field artifact is repeated. - google.protobuf.BoolValue is_repeated = 14; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/group_placement_view.proto deleted file mode 100644 index 9f22e177..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/group_placement_view.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/placement_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "GroupPlacementViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the group placement view resource. - -// A group placement view. -message GroupPlacementView { - // 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; - - // The automatic placement string at group level, e. g. web domain, mobile - // app ID, or a YouTube channel ID. - google.protobuf.StringValue placement = 2; - - // Domain name for websites and YouTube channel name for YouTube channels. - google.protobuf.StringValue display_name = 3; - - // URL of the group placement, e.g. domain, link to the mobile application in - // app store, or a YouTube channel URL. - google.protobuf.StringValue target_url = 4; - - // Type of the placement, e.g. Website, YouTube Channel, Mobile Application. - google.ads.googleads.v2.enums.PlacementTypeEnum.PlacementType placement_type = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/hotel_group_view.proto deleted file mode 100644 index bcdec281..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/hotel_group_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "HotelGroupViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the hotel group view resource. - -// A hotel group view. -message HotelGroupView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/hotel_performance_view.proto deleted file mode 100644 index bc254641..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/hotel_performance_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "HotelPerformanceViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the hotel performance view resource. - -// A hotel performance view. -message HotelPerformanceView { - // The resource name of the hotel performance view. - // Hotel performance view resource names have the form: - // - // `customers/{customer_id}/hotelPerformanceView` - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/invoice.proto b/google-cloud/protos/google/ads/googleads/v2/resources/invoice.proto deleted file mode 100644 index 0995fbe8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/invoice.proto +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/dates.proto"; -import "google/ads/googleads/v2/enums/invoice_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "InvoiceProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 { - // Represents a summarized account budget billable cost. - message AccountBudgetSummary { - // 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}` - google.protobuf.StringValue customer = 1; - - // The descriptive name of the account budget’s customer. It appears on the - // invoice PDF as "Account". - google.protobuf.StringValue customer_descriptive_name = 2; - - // 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}` - google.protobuf.StringValue account_budget = 3; - - // The name of the account budget. It appears on the invoice PDF as "Account - // budget". - google.protobuf.StringValue account_budget_name = 4; - - // The purchase order number of the account budget. It appears on the - // invoice PDF as "Purchase order". - google.protobuf.StringValue purchase_order_number = 5; - - // The pretax subtotal amount attributable to this budget during the service - // period, in micros. - google.protobuf.Int64Value subtotal_amount_micros = 6; - - // The tax amount attributable to this budget during the service period, in - // micros. - google.protobuf.Int64Value tax_amount_micros = 7; - - // 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. - google.protobuf.Int64Value total_amount_micros = 8; - - // 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.v2.common.DateRange billable_activity_date_range = 9; - } - - // 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; - - // The ID of the invoice. It appears on the invoice PDF as "Invoice number". - google.protobuf.StringValue id = 2; - - // The type of invoice. - google.ads.googleads.v2.enums.InvoiceTypeEnum.InvoiceType type = 3; - - // The resource name of this invoice’s billing setup. - // - // `customers/{customer_id}/billingSetups/{billing_setup_id}` - google.protobuf.StringValue billing_setup = 4; - - // A 16 digit ID used to identify the payments account associated with the - // billing setup, e.g. "1234-5678-9012-3456". It appears on the invoice PDF as - // "Billing Account Number". - google.protobuf.StringValue payments_account_id = 5; - - // A 12 digit ID used to identify the payments profile associated with the - // billing setup, e.g. "1234-5678-9012". It appears on the invoice PDF as - // "Billing ID". - google.protobuf.StringValue payments_profile_id = 6; - - // The issue date in yyyy-mm-dd format. It appears on the invoice PDF as - // either "Issue date" or "Invoice date". - google.protobuf.StringValue issue_date = 7; - - // The due date in yyyy-mm-dd format. - google.protobuf.StringValue due_date = 8; - - // The service period date range of this invoice. The end date is inclusive. - google.ads.googleads.v2.common.DateRange service_date_range = 9; - - // The currency code. All costs are returned in this currency. A subset of the - // currency codes derived from the ISO 4217 standard is supported. - google.protobuf.StringValue currency_code = 10; - - // The total amount of invoice level adjustments. These adjustments are made - // on the invoice, not on a specific account budget. - google.protobuf.Int64Value invoice_level_adjustments_micros = 11; - - // The pretax subtotal amount, in micros. This equals the sum of the - // AccountBudgetSummary subtotal amounts, plus the invoice level adjustments. - google.protobuf.Int64Value subtotal_amount_micros = 12; - - // 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. - google.protobuf.Int64Value tax_amount_micros = 13; - - // The total amount, in micros. This equals the sum of the invoice subtotal - // amount and the invoice tax amount. - google.protobuf.Int64Value total_amount_micros = 14; - - // 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}` - google.protobuf.StringValue corrected_invoice = 15; - - // 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 google.protobuf.StringValue replaced_invoices = 16; - - // The URL to a PDF copy of the invoice. Users need to pass in their OAuth - // token to request the PDF with this URL. - google.protobuf.StringValue pdf_url = 17; - - // The list of summarized account budget information associated with this - // invoice. - repeated AccountBudgetSummary account_budget_summaries = 18; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan.proto deleted file mode 100644 index 653dde2c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/dates.proto"; -import "google/ads/googleads/v2/enums/keyword_plan_forecast_interval.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword plan resource. - -// A Keyword Planner plan. -// Max number of saved keyword plans: 10000. -// It's possible to remove plans if limit is reached. -message KeywordPlan { - // 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; - - // The ID of the keyword plan. - google.protobuf.Int64Value id = 2; - - // The name of the keyword plan. - // - // This field is required and should not be empty when creating new keyword - // plans. - google.protobuf.StringValue name = 3; - - // The date period used for forecasting the plan. - KeywordPlanForecastPeriod forecast_period = 4; -} - -// The forecasting period associated with the keyword plan. -message KeywordPlanForecastPeriod { - // Required. The date used for forecasting the Plan. - oneof interval { - // A future date range relative to the current date used for forecasting. - google.ads.googleads.v2.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; - - // The custom date range used for forecasting. - // The start and end dates must be in the future. Otherwise, an error will - // be returned when the forecasting action is performed. - // The start and end dates are inclusive. - google.ads.googleads.v2.common.DateRange date_range = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_ad_group.proto deleted file mode 100644 index fe47479c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_ad_group.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword plan ad group resource. - -// A Keyword Planner ad group. -// Max number of keyword plan ad groups per plan: 200. -message KeywordPlanAdGroup { - // 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; - - // The keyword plan campaign to which this ad group belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; - - // The ID of the keyword plan ad group. - google.protobuf.Int64Value id = 3; - - // The name of the keyword plan ad group. - // - // This field is required and should not be empty when creating keyword plan - // ad group. - google.protobuf.StringValue name = 4; - - // 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. - google.protobuf.Int64Value cpc_bid_micros = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_campaign.proto deleted file mode 100644 index 5bdb7946..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_campaign.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/keyword_plan_network.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword plan campaign resource. - -// A Keyword Plan campaign. -// Max number of keyword plan campaigns per plan allowed: 1. -message KeywordPlanCampaign { - // 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; - - // The keyword plan this campaign belongs to. - google.protobuf.StringValue keyword_plan = 2; - - // The ID of the Keyword Plan campaign. - google.protobuf.Int64Value id = 3; - - // The name of the Keyword Plan campaign. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.protobuf.StringValue name = 4; - - // The languages targeted for the Keyword Plan campaign. - // Max allowed: 1. - repeated google.protobuf.StringValue language_constants = 5; - - // Targeting network. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; - - // A default max cpc bid in micros, and in the account currency, for all ad - // groups under the campaign. - // - // This field is required and should not be empty when creating Keyword Plan - // campaigns. - google.protobuf.Int64Value cpc_bid_micros = 7; - - // The geo targets. - // Max number allowed: 20. - repeated KeywordPlanGeoTarget geo_targets = 8; -} - -// A geo target. -// Next ID: 3 -message KeywordPlanGeoTarget { - // Required. The resource name of the geo target. - google.protobuf.StringValue geo_target_constant = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_keyword.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_keyword.proto deleted file mode 100644 index f4ecf0ee..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_keyword.proto +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/keyword_match_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword plan keyword resource. - -// A Keyword Plan ad group keyword. -// Max number of keyword plan keywords per plan: 2500. -message KeywordPlanKeyword { - // The resource name of the Keyword Plan ad group keyword. - // KeywordPlanKeyword resource names have the form: - // - // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}` - string resource_name = 1; - - // The Keyword Plan ad group to which this keyword belongs. - google.protobuf.StringValue keyword_plan_ad_group = 2; - - // The ID of the Keyword Plan keyword. - google.protobuf.Int64Value id = 3; - - // The keyword text. - google.protobuf.StringValue text = 4; - - // The keyword match type. - google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; - - // A keyword level max cpc bid in micros, in the account currency, that - // overrides the keyword plan ad group cpc bid. - google.protobuf.Int64Value cpc_bid_micros = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto deleted file mode 100644 index d45bb3bc..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/keyword_match_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword plan negative keyword resource. - -// A Keyword Plan negative keyword. -// Max number of keyword plan negative keywords per plan: 1000. -message KeywordPlanNegativeKeyword { - // The resource name of the Keyword Plan negative keyword. - // KeywordPlanNegativeKeyword resource names have the form: - // - // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}` - string resource_name = 1; - - // The Keyword Plan campaign to which this negative keyword belongs. - google.protobuf.StringValue keyword_plan_campaign = 2; - - // The ID of the Keyword Plan negative keyword. - google.protobuf.Int64Value id = 3; - - // The keyword text. - google.protobuf.StringValue text = 4; - - // The keyword match type. - google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/keyword_view.proto deleted file mode 100644 index 9e8c2843..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/keyword_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "KeywordViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the keyword view resource. - -// A keyword view. -message KeywordView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/label.proto b/google-cloud/protos/google/ads/googleads/v2/resources/label.proto deleted file mode 100644 index c105e863..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/label.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/text_label.proto"; -import "google/ads/googleads/v2/enums/label_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LabelProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// A label. -message Label { - // Name of the resource. - // Label resource names have the form: - // `customers/{customer_id}/labels/{label_id}` - string resource_name = 1; - - // Id of the label. Read only. - google.protobuf.Int64Value id = 2; - - // 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. - google.protobuf.StringValue name = 3; - - // Status of the label. Read only. - google.ads.googleads.v2.enums.LabelStatusEnum.LabelStatus status = 4; - - // A type of label displaying text on a colored background. - google.ads.googleads.v2.common.TextLabel text_label = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/landing_page_view.proto deleted file mode 100644 index 702997e5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/landing_page_view.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LandingPageViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the landing page view resource. - -// A landing page view with metrics aggregated at the unexpanded final URL -// level. -message LandingPageView { - // 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; - - // The advertiser-specified final URL. - google.protobuf.StringValue unexpanded_final_url = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/language_constant.proto deleted file mode 100644 index 6b5f92a1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/language_constant.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LanguageConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the language constant resource. - -// A language. -message LanguageConstant { - // The resource name of the language constant. - // Language constant resource names have the form: - // - // `languageConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the language constant. - google.protobuf.Int64Value id = 2; - - // The language code, e.g. "en_US", "en_AU", "es", "fr", etc. - google.protobuf.StringValue code = 3; - - // The full name of the language in English, e.g., "English (US)", "Spanish", - // etc. - google.protobuf.StringValue name = 4; - - // Whether the language is targetable. - google.protobuf.BoolValue targetable = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/location_view.proto deleted file mode 100644 index 56bf76fa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/location_view.proto +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "LocationViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the location view resource. - -// A location view summarizes the performance of campaigns by -// Location criteria. -message LocationView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/managed_placement_view.proto deleted file mode 100644 index b28b8326..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/managed_placement_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ManagedPlacementViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Managed Placement view resource. - -// A managed placement view. -message ManagedPlacementView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v2/resources/media_file.proto deleted file mode 100644 index 476923b5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/media_file.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/media_type.proto"; -import "google/ads/googleads/v2/enums/mime_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the media file resource. - -// A media file. -message MediaFile { - // 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; - - // The ID of the media file. - google.protobuf.Int64Value id = 2; - - // Type of the media file. - google.ads.googleads.v2.enums.MediaTypeEnum.MediaType type = 5; - - // The mime type of the media file. - google.ads.googleads.v2.enums.MimeTypeEnum.MimeType mime_type = 6; - - // The URL of where the original media file was downloaded from (or a file - // name). Only used for media of type AUDIO and IMAGE. - google.protobuf.StringValue source_url = 7; - - // The name of the media file. The name can be used by clients to help - // identify previously uploaded media. - google.protobuf.StringValue name = 8; - - // The size of the media file in bytes. - google.protobuf.Int64Value file_size = 9; - - // The specific type of the media file. - oneof mediatype { - // Encapsulates an Image. - MediaImage image = 3; - - // A ZIP archive media the content of which contains HTML5 assets. - MediaBundle media_bundle = 4; - - // Encapsulates an Audio. - MediaAudio audio = 10; - - // Encapsulates a Video. - MediaVideo video = 11; - } -} - -// Encapsulates an Image. -message MediaImage { - // Raw image data. - google.protobuf.BytesValue data = 1; -} - -// Represents a ZIP archive media the content of which contains HTML5 assets. -message MediaBundle { - // Raw zipped data. - google.protobuf.BytesValue data = 1; -} - -// Encapsulates an Audio. -message MediaAudio { - // The duration of the Audio in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; -} - -// Encapsulates a Video. -message MediaVideo { - // The duration of the Video in milliseconds. - google.protobuf.Int64Value ad_duration_millis = 1; - - // The YouTube video ID (as seen in YouTube URLs). - google.protobuf.StringValue youtube_video_id = 2; - - // The Advertising Digital Identification code for this video, as defined by - // the American Association of Advertising Agencies, used mainly for - // television commercials. - google.protobuf.StringValue advertising_id_code = 3; - - // The Industry Standard Commercial Identifier code for this video, used - // mainly for television commercials. - google.protobuf.StringValue isci_code = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v2/resources/merchant_center_link.proto deleted file mode 100644 index f94b6196..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/merchant_center_link.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/merchant_center_link_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// 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 { - // 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; - - // The ID of the Merchant Center account. - // This field is readonly. - google.protobuf.Int64Value id = 3; - - // The name of the Merchant Center account. - // This field is readonly. - google.protobuf.StringValue merchant_center_account_name = 4; - - // The status of the link. - google.ads.googleads.v2.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/mobile_app_category_constant.proto deleted file mode 100644 index b33e32a9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/mobile_app_category_constant.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MobileAppCategoryConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Mobile App Category Constant resource. - -// A mobile application category constant. -message MobileAppCategoryConstant { - // 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; - - // The ID of the mobile app category constant. - google.protobuf.Int32Value id = 2; - - // Mobile app category name. - google.protobuf.StringValue name = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/mobile_device_constant.proto deleted file mode 100644 index 5050f4d7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/mobile_device_constant.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/mobile_device_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the mobile device constant resource. - -// A mobile device constant. -message MobileDeviceConstant { - // The resource name of the mobile device constant. - // Mobile device constant resource names have the form: - // - // `mobileDeviceConstants/{criterion_id}` - string resource_name = 1; - - // The ID of the mobile device constant. - google.protobuf.Int64Value id = 2; - - // The name of the mobile device. - google.protobuf.StringValue name = 3; - - // The manufacturer of the mobile device. - google.protobuf.StringValue manufacturer_name = 4; - - // The operating system of the mobile device. - google.protobuf.StringValue operating_system_name = 5; - - // The type of mobile device. - google.ads.googleads.v2.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/mutate_job.proto b/google-cloud/protos/google/ads/googleads/v2/resources/mutate_job.proto deleted file mode 100644 index abb48467..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/mutate_job.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/mutate_job_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the mutate 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 MutateJobService.ListMutateJobResults. -message MutateJob { - // Additional information about the mutate job. This message is also used as - // metadata returned in mutate job Long Running Operations. - message MutateJobMetadata { - // The time when this mutate job was created. - // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" - google.protobuf.StringValue creation_date_time = 1; - - // The time when this mutate job was completed. - // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" - google.protobuf.StringValue completion_date_time = 2; - - // 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. - google.protobuf.DoubleValue estimated_completion_ratio = 3; - - // The number of mutate operations in the mutate job. - google.protobuf.Int64Value operation_count = 4; - - // The number of mutate operations executed by the mutate job. - // Present only if the job has started running. - google.protobuf.Int64Value executed_operation_count = 5; - } - - // The resource name of the mutate job. - // Mutate job resource names have the form: - // - // `customers/{customer_id}/mutateJobs/{mutate_job_id}` - string resource_name = 1; - - // ID of this mutate job. - google.protobuf.Int64Value id = 2; - - // The next sequence token to use when adding operations. Only set when the - // mutate job status is PENDING. - google.protobuf.StringValue next_add_sequence_token = 3; - - // Contains additional information about this mutate job. - MutateJobMetadata metadata = 4; - - // Status of this mutate job. - google.ads.googleads.v2.enums.MutateJobStatusEnum.MutateJobStatus status = 5; - - // The resource name of the long-running operation that can be used to poll - // for completion. Only set when the mutate job status is RUNNING or DONE. - google.protobuf.StringValue long_running_operation = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/operating_system_version_constant.proto deleted file mode 100644 index ef484b58..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/operating_system_version_constant.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/operating_system_version_operator_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the operating system version constant resource. - -// A mobile operating system version or a range of versions, depending on -// `operator_type`. List of available mobile platforms at -// https://developers.google.com/adwords/api/docs/appendix/codes-formats#mobile-platforms -message OperatingSystemVersionConstant { - // 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; - - // The ID of the operating system version. - google.protobuf.Int64Value id = 2; - - // Name of the operating system. - google.protobuf.StringValue name = 3; - - // The OS Major Version number. - google.protobuf.Int32Value os_major_version = 4; - - // The OS Minor Version number. - google.protobuf.Int32Value os_minor_version = 5; - - // Determines whether this constant represents a single version or a range of - // versions. - google.ads.googleads.v2.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/paid_organic_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/paid_organic_search_term_view.proto deleted file mode 100644 index 4569dc20..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/paid_organic_search_term_view.proto +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "PaidOrganicSearchTermViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the PaidOrganicSearchTermView resource. - -// A paid organic search term view providing a view of search stats across -// ads and organic listings aggregated by search term at the ad group level. -message PaidOrganicSearchTermView { - // 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; - - // The search term. - google.protobuf.StringValue search_term = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/parental_status_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/parental_status_view.proto deleted file mode 100644 index a189d18a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/parental_status_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ParentalStatusViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the parental status view resource. - -// A parental status view. -message ParentalStatusView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/payments_account.proto b/google-cloud/protos/google/ads/googleads/v2/resources/payments_account.proto deleted file mode 100644 index 0a347b9e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/payments_account.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "PaymentsAccountProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the PaymentsAccount resource. - -// A payments account, which can be used to set up billing for an Ads customer. -message PaymentsAccount { - // The resource name of the payments account. - // PaymentsAccount resource names have the form: - // - // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` - string resource_name = 1; - - // A 16 digit ID used to identify a payments account. - google.protobuf.StringValue payments_account_id = 2; - - // The name of the payments account. - google.protobuf.StringValue name = 3; - - // The currency code of the payments account. - // A subset of the currency codes derived from the ISO 4217 standard is - // supported. - google.protobuf.StringValue currency_code = 4; - - // A 12 digit ID used to identify the payments profile associated with the - // payments account. - google.protobuf.StringValue payments_profile_id = 5; - - // A secondary payments profile ID present in uncommon situations, e.g. - // when a sequential liability agreement has been arranged. - google.protobuf.StringValue secondary_payments_profile_id = 6; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/product_bidding_category_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/product_bidding_category_constant.proto deleted file mode 100644 index 3cdc323a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/product_bidding_category_constant.proto +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/product_bidding_category_level.proto"; -import "google/ads/googleads/v2/enums/product_bidding_category_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ProductBiddingCategoryConstant resource. - -// A Product Bidding Category. -message ProductBiddingCategoryConstant { - // 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; - - // 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. - google.protobuf.Int64Value id = 2; - - // Two-letter upper-case country code of the product bidding category. - google.protobuf.StringValue country_code = 3; - - // Resource name of the parent product bidding category. - google.protobuf.StringValue product_bidding_category_constant_parent = 4; - - // Level of the product bidding category. - google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5; - - // Status of the product bidding category. - google.ads.googleads.v2.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6; - - // Language code of the product bidding category. - google.protobuf.StringValue language_code = 7; - - // Display value of the product bidding category localized according to - // language_code. - google.protobuf.StringValue localized_name = 8; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/product_group_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/product_group_view.proto deleted file mode 100644 index d9965d32..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/product_group_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ProductGroupViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the ProductGroup View resource. - -// A product group view. -message ProductGroupView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/recommendation.proto b/google-cloud/protos/google/ads/googleads/v2/resources/recommendation.proto deleted file mode 100644 index dc9359ee..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/recommendation.proto +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/common/extensions.proto"; -import "google/ads/googleads/v2/enums/keyword_match_type.proto"; -import "google/ads/googleads/v2/enums/recommendation_type.proto"; -import "google/ads/googleads/v2/enums/target_cpa_opt_in_recommendation_goal.proto"; -import "google/ads/googleads/v2/resources/ad.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Recommendation resource. - -// A recommendation. -message Recommendation { - // The impact of making the change as described in the recommendation. - // Some types of recommendations may not have impact information. - message RecommendationImpact { - // Base metrics at the time the recommendation was generated. - RecommendationMetrics base_metrics = 1; - - // Estimated metrics if the recommendation is applied. - RecommendationMetrics potential_metrics = 2; - } - - // Weekly account performance metrics. For some recommendation types, these - // are averaged over the past 90-day period and hence can be fractional. - message RecommendationMetrics { - // Number of ad impressions. - google.protobuf.DoubleValue impressions = 1; - - // Number of ad clicks. - google.protobuf.DoubleValue clicks = 2; - - // Cost (in micros) for advertising, in the local currency for the account. - google.protobuf.Int64Value cost_micros = 3; - - // Number of conversions. - google.protobuf.DoubleValue conversions = 4; - - // Number of video views for a video ad campaign. - google.protobuf.DoubleValue video_views = 5; - } - - // The budget recommendation for budget constrained campaigns. - message CampaignBudgetRecommendation { - // The impact estimates for a given budget amount. - message CampaignBudgetRecommendationOption { - // The budget amount for this option. - google.protobuf.Int64Value budget_amount_micros = 1; - - // The impact estimate if budget is changed to amount specified in this - // option. - RecommendationImpact impact = 2; - } - - // The current budget amount in micros. - google.protobuf.Int64Value current_budget_amount_micros = 1; - - // The recommended budget amount in micros. - google.protobuf.Int64Value recommended_budget_amount_micros = 2; - - // The budget amounts and associated impact estimates for some values of - // possible budget amounts. - repeated CampaignBudgetRecommendationOption budget_options = 3; - } - - // The keyword recommendation. - message KeywordRecommendation { - // The recommended keyword. - google.ads.googleads.v2.common.KeywordInfo keyword = 1; - - // The recommended CPC (cost-per-click) bid. - google.protobuf.Int64Value recommended_cpc_bid_micros = 2; - } - - // The Sitelink extension recommendation. - message SitelinkExtensionRecommendation { - // Sitelink extensions recommended to be added. - repeated google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1; - } - - // The move unused budget recommendation. - message MoveUnusedBudgetRecommendation { - // The excess budget's resource_name. - google.protobuf.StringValue excess_campaign_budget = 1; - - // The recommendation for the constrained budget to increase. - CampaignBudgetRecommendation budget_recommendation = 2; - } - - // The text ad recommendation. - message TextAdRecommendation { - // Recommended ad. - Ad ad = 1; - - // Creation date of the recommended ad. - // YYYY-MM-DD format, e.g., 2018-04-17. - google.protobuf.StringValue creation_date = 2; - - // Date, if present, is the earliest when the recommendation will be auto - // applied. - // YYYY-MM-DD format, e.g., 2018-04-17. - google.protobuf.StringValue auto_apply_date = 3; - } - - // The Target CPA opt-in recommendation. - message TargetCpaOptInRecommendation { - // The Target CPA opt-in option with impact estimate. - message TargetCpaOptInRecommendationOption { - // The goal achieved by this option. - google.ads.googleads.v2.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1; - - // Average CPA target. - google.protobuf.Int64Value target_cpa_micros = 2; - - // 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. - google.protobuf.Int64Value required_campaign_budget_amount_micros = 3; - - // The impact estimate if this option is selected. - RecommendationImpact impact = 4; - } - - // The available goals and corresponding options for Target CPA strategy. - repeated TargetCpaOptInRecommendationOption options = 1; - - // The recommended average CPA target. See required budget amount and impact - // of using this recommendation in options list. - google.protobuf.Int64Value recommended_target_cpa_micros = 2; - } - - // The Maximize Conversions Opt-In recommendation. - message MaximizeConversionsOptInRecommendation { - // The recommended new budget amount. - google.protobuf.Int64Value recommended_budget_amount_micros = 1; - } - - // The Optimize Ad Rotation recommendation. - message OptimizeAdRotationRecommendation { - - } - - // The Enhanced Cost-Per-Click Opt-In recommendation. - message EnhancedCpcOptInRecommendation { - - } - - // The Search Partners Opt-In recommendation. - message SearchPartnersOptInRecommendation { - - } - - // The keyword match type recommendation. - message KeywordMatchTypeRecommendation { - // The existing keyword where the match type should be more broad. - google.ads.googleads.v2.common.KeywordInfo keyword = 1; - - // The recommended new match type. - google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2; - } - - // The Maximize Clicks opt-in recommendation. - message MaximizeClicksOptInRecommendation { - // The recommended new budget amount. - // Only set if the current budget is too high. - google.protobuf.Int64Value recommended_budget_amount_micros = 1; - } - - // The Callout extension recommendation. - message CalloutExtensionRecommendation { - // Callout extensions recommended to be added. - repeated google.ads.googleads.v2.common.CalloutFeedItem recommended_extensions = 1; - } - - // The Call extension recommendation. - message CallExtensionRecommendation { - // Call extensions recommended to be added. - repeated google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1; - } - - // The resource name of the recommendation. - // - // `customers/{customer_id}/recommendations/{recommendation_id}` - string resource_name = 1; - - // The type of recommendation. - google.ads.googleads.v2.enums.RecommendationTypeEnum.RecommendationType type = 2; - - // The impact on account performance as a result of applying the - // recommendation. - RecommendationImpact impact = 3; - - // 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, MOVE_UNUSED_BUDGET - google.protobuf.StringValue campaign_budget = 5; - - // The campaign targeted by this recommendation. This will be set only when - // the recommendation affects a single campaign. - // - // This field will be set for the following recommendation types: - // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, - // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, - // OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, - // TARGET_CPA_OPT_IN, TEXT_AD - google.protobuf.StringValue campaign = 6; - - // 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, TEXT_AD - google.protobuf.StringValue ad_group = 7; - - // Whether the recommendation is dismissed or not. - google.protobuf.BoolValue dismissed = 13; - - // The details of recommendation. - oneof recommendation { - // The campaign budget recommendation. - CampaignBudgetRecommendation campaign_budget_recommendation = 4; - - // The keyword recommendation. - KeywordRecommendation keyword_recommendation = 8; - - // Add expanded text ad recommendation. - TextAdRecommendation text_ad_recommendation = 9; - - // The TargetCPA opt-in recommendation. - TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10; - - // The MaximizeConversions Opt-In recommendation. - MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11; - - // The Enhanced Cost-Per-Click Opt-In recommendation. - EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12; - - // The Search Partners Opt-In recommendation. - SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14; - - // The MaximizeClicks Opt-In recommendation. - MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15; - - // The Optimize Ad Rotation recommendation. - OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16; - - // The Callout extension recommendation. - CalloutExtensionRecommendation callout_extension_recommendation = 17; - - // The Sitelink extension recommendation. - SitelinkExtensionRecommendation sitelink_extension_recommendation = 18; - - // The Call extension recommendation. - CallExtensionRecommendation call_extension_recommendation = 19; - - // The keyword match type recommendation. - KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20; - - // The move unused budget recommendation. - MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/remarketing_action.proto b/google-cloud/protos/google/ads/googleads/v2/resources/remarketing_action.proto deleted file mode 100644 index b5f30a8d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/remarketing_action.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/tag_snippet.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "RemarketingActionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Remarketing Action resource. - -// A remarketing action. A snippet of JavaScript code that will collect the -// product id and the type of page people visited (product page, shopping cart -// page, purchase page, general site visit) on an advertiser's website. -message RemarketingAction { - // 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; - - // Id of the remarketing action. - google.protobuf.Int64Value id = 2; - - // The name of the remarketing action. - // - // This field is required and should not be empty when creating new - // remarketing actions. - google.protobuf.StringValue name = 3; - - // The snippets used for tracking remarketing actions. - repeated google.ads.googleads.v2.common.TagSnippet tag_snippets = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/search_term_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/search_term_view.proto deleted file mode 100644 index bbeb1f97..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/search_term_view.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/search_term_targeting_status.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the SearchTermView resource. - -// A search term view with metrics aggregated by search term at the ad group -// level. -message SearchTermView { - // 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; - - // The search term. - google.protobuf.StringValue search_term = 2; - - // The ad group the search term served in. - google.protobuf.StringValue ad_group = 3; - - // Indicates whether the search term is currently one of your - // targeted or excluded keywords. - google.ads.googleads.v2.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/shared_criterion.proto b/google-cloud/protos/google/ads/googleads/v2/resources/shared_criterion.proto deleted file mode 100644 index 954d48bb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/shared_criterion.proto +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/criterion_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "SharedCriterionProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the SharedCriterion resource. - -// A criterion belonging to a shared set. -message SharedCriterion { - // 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; - - // The shared set to which the shared criterion belongs. - google.protobuf.StringValue shared_set = 2; - - // The ID of the criterion. - // - // This field is ignored for mutates. - google.protobuf.Int64Value criterion_id = 26; - - // The type of the criterion. - google.ads.googleads.v2.enums.CriterionTypeEnum.CriterionType type = 4; - - // The criterion. - // - // Exactly one must be set. - oneof criterion { - // Keyword. - google.ads.googleads.v2.common.KeywordInfo keyword = 3; - - // YouTube Video. - google.ads.googleads.v2.common.YouTubeVideoInfo youtube_video = 5; - - // YouTube Channel. - google.ads.googleads.v2.common.YouTubeChannelInfo youtube_channel = 6; - - // Placement. - google.ads.googleads.v2.common.PlacementInfo placement = 7; - - // Mobile App Category. - google.ads.googleads.v2.common.MobileAppCategoryInfo mobile_app_category = 8; - - // Mobile application. - google.ads.googleads.v2.common.MobileApplicationInfo mobile_application = 9; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/shared_set.proto b/google-cloud/protos/google/ads/googleads/v2/resources/shared_set.proto deleted file mode 100644 index 027cbcfb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/shared_set.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/enums/shared_set_status.proto"; -import "google/ads/googleads/v2/enums/shared_set_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the SharedSet resource. - -// SharedSets are used for sharing criterion exclusions across multiple -// campaigns. -message SharedSet { - // 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; - - // The ID of this shared set. Read only. - google.protobuf.Int64Value id = 2; - - // The type of this shared set: each shared set holds only a single kind - // of resource. Required. Immutable. - google.ads.googleads.v2.enums.SharedSetTypeEnum.SharedSetType type = 3; - - // 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. - google.protobuf.StringValue name = 4; - - // The status of this shared set. Read only. - google.ads.googleads.v2.enums.SharedSetStatusEnum.SharedSetStatus status = 5; - - // The number of shared criteria within this shared set. Read only. - google.protobuf.Int64Value member_count = 6; - - // The number of campaigns associated with this shared set. Read only. - google.protobuf.Int64Value reference_count = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/shopping_performance_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/shopping_performance_view.proto deleted file mode 100644 index ed574458..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/shopping_performance_view.proto +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "ShoppingPerformanceViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::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 { - // The resource name of the Shopping performance view. - // Shopping performance view resource names have the form: - // `customers/{customer_id}/shoppingPerformanceView` - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/topic_constant.proto b/google-cloud/protos/google/ads/googleads/v2/resources/topic_constant.proto deleted file mode 100644 index d0ba4a45..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/topic_constant.proto +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "TopicConstantProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the Topic Constant resource. - -// Use topics to target or exclude placements in the Google Display Network -// based on the category into which the placement falls (for example, -// "Pets & Animals/Pets/Dogs"). -message TopicConstant { - // The resource name of the topic constant. - // topic constant resource names have the form: - // - // `topicConstants/{topic_id}` - string resource_name = 1; - - // The ID of the topic. - google.protobuf.Int64Value id = 2; - - // Resource name of parent of the topic constant. - google.protobuf.StringValue topic_constant_parent = 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. List of available topic categories at - // https://developers.google.com/adwords/api/docs/appendix/verticals - repeated google.protobuf.StringValue path = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/topic_view.proto deleted file mode 100644 index 74750013..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/topic_view.proto +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "TopicViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the topic view resource. - -// A topic view. -message TopicView { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v2/resources/user_interest.proto deleted file mode 100644 index c956e28a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/user_interest.proto +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/criterion_category_availability.proto"; -import "google/ads/googleads/v2/enums/user_interest_taxonomy_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the User Interest resource. - -// A user interest: a particular interest-based vertical to be targeted. -message UserInterest { - // 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; - - // Taxonomy type of the user interest. - google.ads.googleads.v2.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2; - - // The ID of the user interest. - google.protobuf.Int64Value user_interest_id = 3; - - // The name of the user interest. - google.protobuf.StringValue name = 4; - - // The parent of the user interest. - google.protobuf.StringValue user_interest_parent = 5; - - // True if the user interest is launched to all channels and locales. - google.protobuf.BoolValue launched_to_all = 6; - - // Availability information of the user interest. - repeated google.ads.googleads.v2.common.CriterionCategoryAvailability availabilities = 7; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v2/resources/user_list.proto deleted file mode 100644 index 9157e426..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/user_list.proto +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/ads/googleads/v2/common/user_lists.proto"; -import "google/ads/googleads/v2/enums/access_reason.proto"; -import "google/ads/googleads/v2/enums/user_list_access_status.proto"; -import "google/ads/googleads/v2/enums/user_list_closing_reason.proto"; -import "google/ads/googleads/v2/enums/user_list_membership_status.proto"; -import "google/ads/googleads/v2/enums/user_list_size_range.proto"; -import "google/ads/googleads/v2/enums/user_list_type.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "UserListProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the User List resource. - -// A user list. This is a list of users a customer may target. -message UserList { - // 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; - - // Id of the user list. - google.protobuf.Int64Value id = 2; - - // A flag 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. - google.protobuf.BoolValue read_only = 3; - - // Name of this user list. Depending on its access_reason, the user list name - // may not be unique (e.g. if access_reason=SHARED) - google.protobuf.StringValue name = 4; - - // Description of this user list. - google.protobuf.StringValue description = 5; - - // Membership status of this user list. Indicates whether a user list is open - // or active. Only open user lists can accumulate more users and can be - // targeted to. - google.ads.googleads.v2.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; - - // An ID from external system. It is used by user list sellers to correlate - // IDs on their systems. - google.protobuf.StringValue integration_code = 7; - - // 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. - google.protobuf.Int64Value membership_life_span = 8; - - // 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. - google.protobuf.Int64Value size_for_display = 9; - - // Size range in terms of number of users of the UserList, on the Google - // Display Network. - // - // This field is read-only. - google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10; - - // 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. - google.protobuf.Int64Value size_for_search = 11; - - // Size range in terms of number of users of the UserList, for Search ads. - // - // This field is read-only. - google.ads.googleads.v2.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12; - - // Type of this list. - // - // This field is read-only. - google.ads.googleads.v2.enums.UserListTypeEnum.UserListType type = 13; - - // Indicating the reason why this user list membership status is closed. It is - // only populated on lists that were automatically closed due to inactivity, - // and will be cleared once the list membership status becomes open. - google.ads.googleads.v2.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; - - // Indicates the reason this account has been granted access to the list. - // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. - // - // This field is read-only. - google.ads.googleads.v2.enums.AccessReasonEnum.AccessReason access_reason = 15; - - // Indicates if this share is still enabled. When a UserList is shared with - // the user this field is set to ENABLED. Later the userList owner can decide - // to revoke the share and make it DISABLED. - // The default value of this field is set to ENABLED. - google.ads.googleads.v2.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; - - // Indicates if this user list is eligible for Google Search Network. - google.protobuf.BoolValue eligible_for_search = 17; - - // Indicates this user list is eligible for Google Display Network. - // - // This field is read-only. - google.protobuf.BoolValue eligible_for_display = 18; - - // The user list. - // - // Exactly one must be set. - oneof user_list { - // User list of CRM users provided by the advertiser. - google.ads.googleads.v2.common.CrmBasedUserListInfo crm_based_user_list = 19; - - // User list which are similar to users from another UserList. - // These lists are readonly and automatically created by google. - google.ads.googleads.v2.common.SimilarUserListInfo similar_user_list = 20; - - // User list generated by a rule. - google.ads.googleads.v2.common.RuleBasedUserListInfo rule_based_user_list = 21; - - // User list that is a custom combination of user lists and user interests. - google.ads.googleads.v2.common.LogicalUserListInfo logical_user_list = 22; - - // User list targeting as a collection of conversion or remarketing actions. - google.ads.googleads.v2.common.BasicUserListInfo basic_user_list = 23; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/user_location_view.proto b/google-cloud/protos/google/ads/googleads/v2/resources/user_location_view.proto deleted file mode 100644 index a99de5e5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/user_location_view.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "UserLocationViewProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the user location view resource. - -// A user location view. -// -// User Location View includes all metrics aggregated at the country level, -// one row per country. It reports metrics at the actual physical location of -// the user by targeted or not targeted location. If other segment fields are -// used, you may get more than one row per country. -message UserLocationView { - // 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; - - // Criterion Id for the country. - google.protobuf.Int64Value country_criterion_id = 2; - - // Indicates whether location was targeted or not. - google.protobuf.BoolValue targeting_location = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/resources/video.proto b/google-cloud/protos/google/ads/googleads/v2/resources/video.proto deleted file mode 100644 index de05bc4c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/resources/video.proto +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.resources; - -import "google/protobuf/wrappers.proto"; -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/resources;resources"; -option java_multiple_files = true; -option java_outer_classname = "VideoProto"; -option java_package = "com.google.ads.googleads.v2.resources"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; - -// Proto file describing the video resource. - -// A video. -message Video { - // The resource name of the video. - // Video resource names have the form: - // - // `customers/{customer_id}/videos/{video_id}` - string resource_name = 1; - - // The ID of the video. - google.protobuf.StringValue id = 2; - - // The owner channel id of the video. - google.protobuf.StringValue channel_id = 3; - - // The duration of the video in milliseconds. - google.protobuf.Int64Value duration_millis = 4; - - // The title of the video. - google.protobuf.StringValue title = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/account_budget_proposal_service.proto deleted file mode 100644 index 5b47c06d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/account_budget_proposal_service.proto +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/account_budget_proposal.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetProposalServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AccountBudgetProposal service. - -// A service for managing account-level budgets via proposals. -// -// A proposal is a request to create a new budget or make changes to an -// existing one. -// -// Reads for account-level budgets managed by these proposals will be -// supported in a future version. Until then, please use the -// BudgetOrderService from the AdWords API. Learn more at -// https://developers.google.com/adwords/api/docs/guides/budget-order -// -// 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"; - - // Returns an account-level budget proposal in full detail. - rpc GetAccountBudgetProposal(GetAccountBudgetProposalRequest) returns (google.ads.googleads.v2.resources.AccountBudgetProposal) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/accountBudgetProposals/*}" - }; - } - - // Creates, updates, or removes account budget proposals. Operation statuses - // are returned. - rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/accountBudgetProposals:mutate" - body: "*" - }; - } -} - -// Request message for -// [AccountBudgetProposalService.GetAccountBudgetProposal][google.ads.googleads.v2.services.AccountBudgetProposalService.GetAccountBudgetProposal]. -message GetAccountBudgetProposalRequest { - // The resource name of the account-level budget proposal to fetch. - string resource_name = 1; -} - -// Request message for -// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v2.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. -message MutateAccountBudgetProposalRequest { - // The ID of the customer. - string customer_id = 1; - - // The operation to perform on an individual account-level budget proposal. - AccountBudgetProposalOperation operation = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 3; -} - -// A single operation to propose the creation of a new account-level budget or -// edit/end/remove an existing one. -message AccountBudgetProposalOperation { - // FieldMask that determines which budget fields are modified. While budgets - // may be modified, proposals that propose such modifications are final. - // Therefore, update operations are not supported for proposals. - // - // Proposals that modify budgets have the 'update' proposal type. Specifying - // a mask for any other proposal type is considered an error. - google.protobuf.FieldMask update_mask = 3; - - // The mutate operation. - oneof operation { - // Create operation: A new proposal to create a new budget, edit an - // existing budget, end an actively running budget, or remove an approved - // budget scheduled to start in the future. - // No resource name is expected for the new proposal. - google.ads.googleads.v2.resources.AccountBudgetProposal create = 2; - - // Remove operation: A resource name for the removed proposal is expected, - // in this format: - // - // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` - // A request may be cancelled iff it is pending. - string remove = 1; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/account_budget_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/account_budget_service.proto deleted file mode 100644 index f793c512..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/account_budget_service.proto +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/account_budget.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AccountBudgetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AccountBudget service. - -// A service for fetching an account-level budget. -// -// Account-level budgets are mutated by creating proposal resources. -service AccountBudgetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns an account-level budget in full detail. - rpc GetAccountBudget(GetAccountBudgetRequest) returns (google.ads.googleads.v2.resources.AccountBudget) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/accountBudgets/*}" - }; - } -} - -// Request message for -// [AccountBudgetService.GetAccountBudget][google.ads.googleads.v2.services.AccountBudgetService.GetAccountBudget]. -message GetAccountBudgetRequest { - // The resource name of the account-level budget to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_asset_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_asset_view_service.proto deleted file mode 100644 index 1ddcf83d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_asset_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdAssetViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the ad group ad asset view service. - -// Service to fetch ad group ad asset views. -service AdGroupAdAssetViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group ad asset view in full detail. - rpc GetAdGroupAdAssetView(GetAdGroupAdAssetViewRequest) returns (google.ads.googleads.v2.resources.AdGroupAdAssetView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupAdAssetViews/*}" - }; - } -} - -// Request message for [AdGroupAdAssetViewService.GetAdGroupAdAssetView][google.ads.googleads.v2.services.AdGroupAdAssetViewService.GetAdGroupAdAssetView]. -message GetAdGroupAdAssetViewRequest { - // The resource name of the ad group ad asset view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_label_service.proto deleted file mode 100644 index 044f7bb1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_label_service.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_ad_label.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdLabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Ad Label service. - -// Service to manage labels on ad group ads. -service AdGroupAdLabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group ad label in full detail. - rpc GetAdGroupAdLabel(GetAdGroupAdLabelRequest) returns (google.ads.googleads.v2.resources.AdGroupAdLabel) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupAdLabels/*}" - }; - } - - // Creates and removes ad group ad labels. - // Operation statuses are returned. - rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) returns (MutateAdGroupAdLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupAdLabels:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupAdLabelService.GetAdGroupAdLabel][google.ads.googleads.v2.services.AdGroupAdLabelService.GetAdGroupAdLabel]. -message GetAdGroupAdLabelRequest { - // The resource name of the ad group ad label to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v2.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. -message MutateAdGroupAdLabelsRequest { - // ID of the customer whose ad group ad labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group ad labels. - repeated AdGroupAdLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group ad label. -message AdGroupAdLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group ad - // label. - google.ads.googleads.v2.resources.AdGroupAdLabel create = 1; - - // Remove operation: A resource name for the ad group ad label - // being removed, in this format: - // - // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id} - // _{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_service.proto deleted file mode 100644 index 852de5c5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_ad_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/resources/ad_group_ad.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAdServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Ad service. - -// Service to manage ads in an ad group. -service AdGroupAdService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad in full detail. - rpc GetAdGroupAd(GetAdGroupAdRequest) returns (google.ads.googleads.v2.resources.AdGroupAd) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupAds/*}" - }; - } - - // Creates, updates, or removes ads. Operation statuses are returned. - rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupAds:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupAdService.GetAdGroupAd][google.ads.googleads.v2.services.AdGroupAdService.GetAdGroupAd]. -message GetAdGroupAdRequest { - // The resource name of the ad to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v2.services.AdGroupAdService.MutateAdGroupAds]. -message MutateAdGroupAdsRequest { - // The ID of the customer whose ads are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ads. - repeated AdGroupAdOperation operations = 2; - - // 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 ad. -message AdGroupAdOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // Configuration for how policies are validated. - google.ads.googleads.v2.common.PolicyValidationParameter policy_validation_parameter = 5; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad. - google.ads.googleads.v2.resources.AdGroupAd create = 1; - - // Update operation: The ad is expected to have a valid resource name. - google.ads.googleads.v2.resources.AdGroupAd update = 2; - - // Remove operation: A resource name for the removed ad is expected, - // in this format: - // - // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_audience_view_service.proto deleted file mode 100644 index d07da3d9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_audience_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_audience_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupAudienceViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdGroup Audience View service. - -// Service to manage ad group audience views. -service AdGroupAudienceViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group audience view in full detail. - rpc GetAdGroupAudienceView(GetAdGroupAudienceViewRequest) returns (google.ads.googleads.v2.resources.AdGroupAudienceView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupAudienceViews/*}" - }; - } -} - -// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][]. -message GetAdGroupAudienceViewRequest { - // The resource name of the ad group audience view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_bid_modifier_service.proto deleted file mode 100644 index 9a7327d5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_bid_modifier_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_bid_modifier.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupBidModifierServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Bid Modifier service. - -// Service to manage ad group bid modifiers. -service AdGroupBidModifierService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group bid modifier in full detail. - rpc GetAdGroupBidModifier(GetAdGroupBidModifierRequest) returns (google.ads.googleads.v2.resources.AdGroupBidModifier) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupBidModifiers/*}" - }; - } - - // Creates, updates, or removes ad group bid modifiers. - // Operation statuses are returned. - rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupBidModifiers:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupBidModifierService.GetAdGroupBidModifier][google.ads.googleads.v2.services.AdGroupBidModifierService.GetAdGroupBidModifier]. -message GetAdGroupBidModifierRequest { - // The resource name of the ad group bid modifier to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v2.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. -message MutateAdGroupBidModifiersRequest { - // ID of the customer whose ad group bid modifiers are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group bid modifiers. - repeated AdGroupBidModifierOperation operations = 2; - - // 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, update) on an ad group bid modifier. -message AdGroupBidModifierOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group bid - // modifier. - google.ads.googleads.v2.resources.AdGroupBidModifier create = 1; - - // Update operation: The ad group bid modifier is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.AdGroupBidModifier update = 2; - - // Remove operation: A resource name for the removed ad group bid modifier - // is expected, in this format: - // - // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_label_service.proto deleted file mode 100644 index c64db682..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_label_service.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_criterion_label.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionLabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Criterion Label service. - -// Service to manage labels on ad group criteria. -service AdGroupCriterionLabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group criterion label in full detail. - rpc GetAdGroupCriterionLabel(GetAdGroupCriterionLabelRequest) returns (google.ads.googleads.v2.resources.AdGroupCriterionLabel) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupCriterionLabels/*}" - }; - } - - // Creates and removes ad group criterion labels. - // Operation statuses are returned. - rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) returns (MutateAdGroupCriterionLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupCriterionLabels:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupCriterionLabelService.GetAdGroupCriterionLabel][google.ads.googleads.v2.services.AdGroupCriterionLabelService.GetAdGroupCriterionLabel]. -message GetAdGroupCriterionLabelRequest { - // The resource name of the ad group criterion label to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v2.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. -message MutateAdGroupCriterionLabelsRequest { - // ID of the customer whose ad group criterion labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group criterion labels. - repeated AdGroupCriterionLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group criterion label. -message AdGroupCriterionLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // label. - google.ads.googleads.v2.resources.AdGroupCriterionLabel create = 1; - - // Remove operation: A resource name for the ad group criterion label - // being removed, in this format: - // - // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_service.proto deleted file mode 100644 index bb0c2f88..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_service.proto +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/policy.proto"; -import "google/ads/googleads/v2/resources/ad_group_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Criterion service. - -// Service to manage ad group criteria. -service AdGroupCriterionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested criterion in full detail. - rpc GetAdGroupCriterion(GetAdGroupCriterionRequest) returns (google.ads.googleads.v2.resources.AdGroupCriterion) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupCriteria/*}" - }; - } - - // Creates, updates, or removes criteria. Operation statuses are returned. - rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupCriteria:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupCriterionService.GetAdGroupCriterion][google.ads.googleads.v2.services.AdGroupCriterionService.GetAdGroupCriterion]. -message GetAdGroupCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v2.services.AdGroupCriterionService.MutateAdGroupCriteria]. -message MutateAdGroupCriteriaRequest { - // ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated AdGroupCriterionOperation operations = 2; - - // 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, 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, please 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.v2.common.PolicyViolationKey exempt_policy_violation_keys = 5; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v2.resources.AdGroupCriterion create = 1; - - // Update operation: The criterion is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.AdGroupCriterion update = 2; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_simulation_service.proto deleted file mode 100644 index c407a2a5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_criterion_simulation_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupCriterionSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdGroupCriterionSimulation service. - -// Service to fetch ad group criterion simulations. -service AdGroupCriterionSimulationService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group criterion simulation in full detail. - rpc GetAdGroupCriterionSimulation(GetAdGroupCriterionSimulationRequest) returns (google.ads.googleads.v2.resources.AdGroupCriterionSimulation) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupCriterionSimulations/*}" - }; - } -} - -// Request message for -// [AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation][google.ads.googleads.v2.services.AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation]. -message GetAdGroupCriterionSimulationRequest { - // The resource name of the ad group criterion simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_extension_setting_service.proto deleted file mode 100644 index 87f6b7e8..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_extension_setting_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdGroupExtensionSetting service. - -// Service to manage ad group extension settings. -service AdGroupExtensionSettingService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group extension setting in full detail. - rpc GetAdGroupExtensionSetting(GetAdGroupExtensionSettingRequest) returns (google.ads.googleads.v2.resources.AdGroupExtensionSetting) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupExtensionSettings/*}" - }; - } - - // Creates, updates, or removes ad group extension settings. Operation - // statuses are returned. - rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) returns (MutateAdGroupExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [AdGroupExtensionSettingService.GetAdGroupExtensionSetting][google.ads.googleads.v2.services.AdGroupExtensionSettingService.GetAdGroupExtensionSetting]. -message GetAdGroupExtensionSettingRequest { - // The resource name of the ad group extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v2.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. -message MutateAdGroupExtensionSettingsRequest { - // The ID of the customer whose ad group extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group extension - // settings. - repeated AdGroupExtensionSettingOperation operations = 2; - - // 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 mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // extension setting. - google.ads.googleads.v2.resources.AdGroupExtensionSetting create = 1; - - // Update operation: The ad group extension setting is expected to have a - // valid resource name. - google.ads.googleads.v2.resources.AdGroupExtensionSetting update = 2; - - // Remove operation: A resource name for the removed ad group extension - // setting is expected, in this format: - // - // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_feed_service.proto deleted file mode 100644 index 15c07d43..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_feed_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupFeedServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdGroupFeed service. - -// Service to manage ad group feeds. -service AdGroupFeedService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group feed in full detail. - rpc GetAdGroupFeed(GetAdGroupFeedRequest) returns (google.ads.googleads.v2.resources.AdGroupFeed) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupFeeds/*}" - }; - } - - // Creates, updates, or removes ad group feeds. Operation statuses are - // returned. - rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupFeeds:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupFeedService.GetAdGroupFeed][google.ads.googleads.v2.services.AdGroupFeedService.GetAdGroupFeed]. -message GetAdGroupFeedRequest { - // The resource name of the ad group feed to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v2.services.AdGroupFeedService.MutateAdGroupFeeds]. -message MutateAdGroupFeedsRequest { - // The ID of the customer whose ad group feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad group feeds. - repeated AdGroupFeedOperation operations = 2; - - // 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 feed. -message AdGroupFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group feed. - google.ads.googleads.v2.resources.AdGroupFeed create = 1; - - // Update operation: The ad group feed is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.AdGroupFeed update = 2; - - // Remove operation: A resource name for the removed ad group feed is - // expected, in this format: - // - // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_label_service.proto deleted file mode 100644 index de648145..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_label_service.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_label.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupLabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group Label service. - -// Service to manage labels on ad groups. -service AdGroupLabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group label in full detail. - rpc GetAdGroupLabel(GetAdGroupLabelRequest) returns (google.ads.googleads.v2.resources.AdGroupLabel) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupLabels/*}" - }; - } - - // Creates and removes ad group labels. - // Operation statuses are returned. - rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) returns (MutateAdGroupLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroupLabels:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupLabelService.GetAdGroupLabel][google.ads.googleads.v2.services.AdGroupLabelService.GetAdGroupLabel]. -message GetAdGroupLabelRequest { - // The resource name of the ad group label to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v2.services.AdGroupLabelService.MutateAdGroupLabels]. -message MutateAdGroupLabelsRequest { - // ID of the customer whose ad group labels are being modified. - string customer_id = 1; - - // The list of operations to perform on ad group labels. - repeated AdGroupLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on an ad group label. -message AdGroupLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group - // label. - google.ads.googleads.v2.resources.AdGroupLabel create = 1; - - // Remove operation: A resource name for the ad group label - // being removed, in this format: - // - // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_service.proto deleted file mode 100644 index 3d01e537..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_service.proto +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Group service. - -// Service to manage ad groups. -service AdGroupService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group in full detail. - rpc GetAdGroup(GetAdGroupRequest) returns (google.ads.googleads.v2.resources.AdGroup) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroups/*}" - }; - } - - // Creates, updates, or removes ad groups. Operation statuses are returned. - rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adGroups:mutate" - body: "*" - }; - } -} - -// Request message for [AdGroupService.GetAdGroup][google.ads.googleads.v2.services.AdGroupService.GetAdGroup]. -message GetAdGroupRequest { - // The resource name of the ad group to fetch. - string resource_name = 1; -} - -// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v2.services.AdGroupService.MutateAdGroups]. -message MutateAdGroupsRequest { - // The ID of the customer whose ad groups are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad groups. - repeated AdGroupOperation operations = 2; - - // 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. -message AdGroupOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad group. - google.ads.googleads.v2.resources.AdGroup create = 1; - - // Update operation: The ad group is expected to have a valid resource name. - google.ads.googleads.v2.resources.AdGroup update = 2; - - // Remove operation: A resource name for the removed ad group is expected, - // in this format: - // - // `customers/{customer_id}/adGroups/{ad_group_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_group_simulation_service.proto deleted file mode 100644 index cfebaab1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_group_simulation_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_group_simulation.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdGroupSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdGroupSimulation service. - -// Service to fetch ad group simulations. -service AdGroupSimulationService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad group simulation in full detail. - rpc GetAdGroupSimulation(GetAdGroupSimulationRequest) returns (google.ads.googleads.v2.resources.AdGroupSimulation) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adGroupSimulations/*}" - }; - } -} - -// Request message for [AdGroupSimulationService.GetAdGroupSimulation][google.ads.googleads.v2.services.AdGroupSimulationService.GetAdGroupSimulation]. -message GetAdGroupSimulationRequest { - // The resource name of the ad group simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_parameter_service.proto deleted file mode 100644 index 2993711b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_parameter_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_parameter.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdParameterServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad Parameter service. - -// Service to manage ad parameters. -service AdParameterService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad parameter in full detail. - rpc GetAdParameter(GetAdParameterRequest) returns (google.ads.googleads.v2.resources.AdParameter) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adParameters/*}" - }; - } - - // Creates, updates, or removes ad parameters. Operation statuses are - // returned. - rpc MutateAdParameters(MutateAdParametersRequest) returns (MutateAdParametersResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/adParameters:mutate" - body: "*" - }; - } -} - -// Request message for [AdParameterService.GetAdParameter][google.ads.googleads.v2.services.AdParameterService.GetAdParameter] -message GetAdParameterRequest { - // The resource name of the ad parameter to fetch. - string resource_name = 1; -} - -// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v2.services.AdParameterService.MutateAdParameters] -message MutateAdParametersRequest { - // The ID of the customer whose ad parameters are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ad parameters. - repeated AdParameterOperation operations = 2; - - // 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 ad parameter. -message AdParameterOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new ad parameter. - google.ads.googleads.v2.resources.AdParameter create = 1; - - // Update operation: The ad parameter is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.AdParameter update = 2; - - // Remove operation: A resource name for the ad parameter to remove is - // expected in this format: - // - // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_schedule_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_schedule_view_service.proto deleted file mode 100644 index 465f25a0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_schedule_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad_schedule_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdScheduleViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the AdSchedule View service. - -// Service to fetch ad schedule views. -service AdScheduleViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad schedule view in full detail. - rpc GetAdScheduleView(GetAdScheduleViewRequest) returns (google.ads.googleads.v2.resources.AdScheduleView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/adScheduleViews/*}" - }; - } -} - -// Request message for [AdScheduleViewService.GetAdScheduleView][google.ads.googleads.v2.services.AdScheduleViewService.GetAdScheduleView]. -message GetAdScheduleViewRequest { - // The resource name of the ad schedule view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/ad_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/ad_service.proto deleted file mode 100644 index 9f764d7c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/ad_service.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/ad.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AdServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Ad service. - -// Service to manage ads. -service AdService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested ad in full detail. - rpc GetAd(GetAdRequest) returns (google.ads.googleads.v2.resources.Ad) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/ads/*}" - }; - } - - // Updates ads. Operation statuses are returned. - rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/ads:mutate" - body: "*" - }; - } -} - -// Request message for [AdService.GetAd][google.ads.googleads.v2.services.AdService.GetAd]. -message GetAdRequest { - // The resource name of the ad to fetch. - string resource_name = 1; -} - -// Request message for [AdService.MutateAds][google.ads.googleads.v2.services.AdService.MutateAds]. -message MutateAdsRequest { - // The ID of the customer whose ads are being modified. - string customer_id = 1; - - // The list of operations to perform on individual ads. - repeated AdOperation operations = 2; -} - -// 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; - - // The mutate operation. - oneof operation { - // Update operation: The ad is expected to have a valid resource name - // in this format: - // - // `customers/{customer_id}/ads/{ad_id}` - google.ads.googleads.v2.resources.Ad update = 1; - } -} - -// Response message for an ad mutate. -message MutateAdsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/age_range_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/age_range_view_service.proto deleted file mode 100644 index 5db684b0..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/age_range_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/age_range_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AgeRangeViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Age Range View service. - -// Service to manage age range views. -service AgeRangeViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested age range view in full detail. - rpc GetAgeRangeView(GetAgeRangeViewRequest) returns (google.ads.googleads.v2.resources.AgeRangeView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/ageRangeViews/*}" - }; - } -} - -// Request message for [AgeRangeViewService.GetAgeRangeView][google.ads.googleads.v2.services.AgeRangeViewService.GetAgeRangeView]. -message GetAgeRangeViewRequest { - // The resource name of the age range view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/asset_service.proto deleted file mode 100644 index 394c52b2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/asset_service.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/asset.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "AssetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Asset service. - -// Service to manage assets. Asset types can be created with AssetService are -// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be -// created with Ad inline. -service AssetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested asset in full detail. - rpc GetAsset(GetAssetRequest) returns (google.ads.googleads.v2.resources.Asset) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/assets/*}" - }; - } - - // Creates assets. Operation statuses are returned. - rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/assets:mutate" - body: "*" - }; - } -} - -// Request message for [AssetService.GetAsset][google.ads.googleads.v2.services.AssetService.GetAsset] -message GetAssetRequest { - // The resource name of the asset to fetch. - string resource_name = 1; -} - -// Request message for [AssetService.MutateAssets][google.ads.googleads.v2.services.AssetService.MutateAssets] -message MutateAssetsRequest { - // The ID of the customer whose assets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual assets. - repeated AssetOperation operations = 2; -} - -// A single operation to create an asset. Supported asset types are -// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be -// created with Ad inline. -message AssetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new asset. - google.ads.googleads.v2.resources.Asset create = 1; - } -} - -// Response message for an asset mutate. -message MutateAssetsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/bidding_strategy_service.proto deleted file mode 100644 index 74af8c08..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/bidding_strategy_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/bidding_strategy.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "BiddingStrategyServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Bidding Strategy service. - -// Service to manage bidding strategies. -service BiddingStrategyService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested bidding strategy in full detail. - rpc GetBiddingStrategy(GetBiddingStrategyRequest) returns (google.ads.googleads.v2.resources.BiddingStrategy) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/biddingStrategies/*}" - }; - } - - // Creates, updates, or removes bidding strategies. Operation statuses are - // returned. - rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/biddingStrategies:mutate" - body: "*" - }; - } -} - -// Request message for [BiddingStrategyService.GetBiddingStrategy][google.ads.googleads.v2.services.BiddingStrategyService.GetBiddingStrategy]. -message GetBiddingStrategyRequest { - // The resource name of the bidding strategy to fetch. - string resource_name = 1; -} - -// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v2.services.BiddingStrategyService.MutateBiddingStrategies]. -message MutateBiddingStrategiesRequest { - // The ID of the customer whose bidding strategies are being modified. - string customer_id = 1; - - // The list of operations to perform on individual bidding strategies. - repeated BiddingStrategyOperation operations = 2; - - // 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 bidding strategy. -message BiddingStrategyOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new bidding - // strategy. - google.ads.googleads.v2.resources.BiddingStrategy create = 1; - - // Update operation: The bidding strategy is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.BiddingStrategy update = 2; - - // Remove operation: A resource name for the removed bidding strategy is - // expected, in this format: - // - // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/billing_setup_service.proto deleted file mode 100644 index 3287b69e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/billing_setup_service.proto +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/billing_setup.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "BillingSetupServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the BillingSetup service. - -// A service for designating the business entity responsible for accrued costs. -// -// A billing setup is associated with a payments account. Billing-related -// activity for all billing setups associated with a particular payments account -// will appear on a single invoice generated monthly. -// -// Mutates: -// The REMOVE operation cancels a pending billing setup. -// The CREATE operation creates a new billing setup. -service BillingSetupService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns a billing setup. - rpc GetBillingSetup(GetBillingSetupRequest) returns (google.ads.googleads.v2.resources.BillingSetup) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/billingSetups/*}" - }; - } - - // Creates a billing setup, or cancels an existing billing setup. - rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/billingSetups:mutate" - body: "*" - }; - } -} - -// Request message for -// [BillingSetupService.GetBillingSetup][google.ads.googleads.v2.services.BillingSetupService.GetBillingSetup]. -message GetBillingSetupRequest { - // The resource name of the billing setup to fetch. - string resource_name = 1; -} - -// Request message for billing setup mutate operations. -message MutateBillingSetupRequest { - // Id of the customer to apply the billing setup mutate operation to. - string customer_id = 1; - - // The operation to perform. - BillingSetupOperation operation = 2; -} - -// A single operation on a billing setup, which describes the cancellation of an -// existing billing setup. -message BillingSetupOperation { - // Only one of these operations can be set. "Update" operations are not - // supported. - oneof operation { - // Creates a billing setup. No resource name is expected for the new billing - // setup. - google.ads.googleads.v2.resources.BillingSetup create = 2; - - // Resource name of the billing setup to remove. A setup cannot be - // removed unless it is in a pending state or its scheduled start time is in - // the future. The resource name looks like - // `customers/{customer_id}/billingSetups/{billing_id}`. - string remove = 1; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_audience_view_service.proto deleted file mode 100644 index 410da40a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_audience_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_audience_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignAudienceViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Audience View service. - -// Service to manage campaign audience views. -service CampaignAudienceViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign audience view in full detail. - rpc GetCampaignAudienceView(GetCampaignAudienceViewRequest) returns (google.ads.googleads.v2.resources.CampaignAudienceView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignAudienceViews/*}" - }; - } -} - -// Request message for [CampaignAudienceViewService.GetCampaignAudienceView][google.ads.googleads.v2.services.CampaignAudienceViewService.GetCampaignAudienceView]. -message GetCampaignAudienceViewRequest { - // The resource name of the campaign audience view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto deleted file mode 100644 index 3ed35d60..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_bid_modifier.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBidModifierServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Bid Modifier service. - -// Service to manage campaign bid modifiers. -service CampaignBidModifierService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign bid modifier in full detail. - rpc GetCampaignBidModifier(GetCampaignBidModifierRequest) returns (google.ads.googleads.v2.resources.CampaignBidModifier) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignBidModifiers/*}" - }; - } - - // Creates, updates, or removes campaign bid modifiers. - // Operation statuses are returned. - rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignBidModifiers:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignBidModifierService.GetCampaignBidModifier][google.ads.googleads.v2.services.CampaignBidModifierService.GetCampaignBidModifier]. -message GetCampaignBidModifierRequest { - // The resource name of the campaign bid modifier to fetch. - string resource_name = 1; -} - -// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][]. -message MutateCampaignBidModifiersRequest { - // ID of the customer whose campaign bid modifiers are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign bid modifiers. - repeated CampaignBidModifierOperation operations = 2; - - // 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, update) on a campaign bid modifier. -message CampaignBidModifierOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign bid - // modifier. - google.ads.googleads.v2.resources.CampaignBidModifier create = 1; - - // Update operation: The campaign bid modifier is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.CampaignBidModifier update = 2; - - // Remove operation: A resource name for the removed campaign bid modifier - // is expected, in this format: - // - // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_budget_service.proto deleted file mode 100644 index a9171c89..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_budget_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_budget.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignBudgetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Budget service. - -// Service to manage campaign budgets. -service CampaignBudgetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Campaign Budget in full detail. - rpc GetCampaignBudget(GetCampaignBudgetRequest) returns (google.ads.googleads.v2.resources.CampaignBudget) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignBudgets/*}" - }; - } - - // Creates, updates, or removes campaign budgets. Operation statuses are - // returned. - rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignBudgets:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignBudgetService.GetCampaignBudget][google.ads.googleads.v2.services.CampaignBudgetService.GetCampaignBudget]. -message GetCampaignBudgetRequest { - // The resource name of the campaign budget to fetch. - string resource_name = 1; -} - -// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v2.services.CampaignBudgetService.MutateCampaignBudgets]. -message MutateCampaignBudgetsRequest { - // The ID of the customer whose campaign budgets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign budgets. - repeated CampaignBudgetOperation operations = 2; - - // 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 campaign budget. -message CampaignBudgetOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new budget. - google.ads.googleads.v2.resources.CampaignBudget create = 1; - - // Update operation: The campaign budget is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.CampaignBudget update = 2; - - // Remove operation: A resource name for the removed budget is expected, in - // this format: - // - // `customers/{customer_id}/campaignBudgets/{budget_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_service.proto deleted file mode 100644 index ae4c6008..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_service.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_criterion.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Criterion service. - -// Service to manage campaign criteria. -service CampaignCriterionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested criterion in full detail. - rpc GetCampaignCriterion(GetCampaignCriterionRequest) returns (google.ads.googleads.v2.resources.CampaignCriterion) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignCriteria/*}" - }; - } - - // Creates, updates, or removes criteria. Operation statuses are returned. - rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignCriteria:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignCriterionService.GetCampaignCriterion][google.ads.googleads.v2.services.CampaignCriterionService.GetCampaignCriterion]. -message GetCampaignCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v2.services.CampaignCriterionService.MutateCampaignCriteria]. -message MutateCampaignCriteriaRequest { - // The ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated CampaignCriterionOperation operations = 2; - - // 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 campaign criterion. -message CampaignCriterionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v2.resources.CampaignCriterion create = 1; - - // Update operation: The criterion is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.CampaignCriterion update = 2; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_simulation_service.proto deleted file mode 100644 index 2c7e8dd7..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_criterion_simulation_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_criterion_simulation.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignCriterionSimulationServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the CampaignCriterionSimulation service. - -// Service to fetch campaign criterion simulations. -service CampaignCriterionSimulationService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign criterion simulation in full detail. - rpc GetCampaignCriterionSimulation(GetCampaignCriterionSimulationRequest) returns (google.ads.googleads.v2.resources.CampaignCriterionSimulation) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignCriterionSimulations/*}" - }; - } -} - -// Request message for -// [CampaignCriterionSimulationService.GetCampaignCriterionSimulation][google.ads.googleads.v2.services.CampaignCriterionSimulationService.GetCampaignCriterionSimulation]. -message GetCampaignCriterionSimulationRequest { - // The resource name of the campaign criterion simulation to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_draft_service.proto deleted file mode 100644 index 8437e798..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_draft_service.proto +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_draft.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignDraftServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Draft service. - -// Service to manage campaign drafts. -service CampaignDraftService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign draft in full detail. - rpc GetCampaignDraft(GetCampaignDraftRequest) returns (google.ads.googleads.v2.resources.CampaignDraft) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignDrafts/*}" - }; - } - - // Creates, updates, or removes campaign drafts. Operation statuses are - // returned. - rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignDrafts:mutate" - body: "*" - }; - } - - // Promotes the changes in a draft back to the base campaign. - // - // This method returns a Long Running Operation (LRO) indicating if the - // Promote is done. Use [Operations.GetOperation] to poll the LRO until it - // is done. Only a done status is returned in the response. See the status - // in the Campaign Draft resource to determine if the promotion was - // successful. If the LRO failed, use - // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v2.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of - // error reasons. - rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v2/{campaign_draft=customers/*/campaignDrafts/*}:promote" - body: "*" - }; - option (google.longrunning.operation_info) = { - response_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. - rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" - }; - } -} - -// Request message for [CampaignDraftService.GetCampaignDraft][google.ads.googleads.v2.services.CampaignDraftService.GetCampaignDraft]. -message GetCampaignDraftRequest { - // The resource name of the campaign draft to fetch. - string resource_name = 1; -} - -// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v2.services.CampaignDraftService.MutateCampaignDrafts]. -message MutateCampaignDraftsRequest { - // The ID of the customer whose campaign drafts are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign drafts. - repeated CampaignDraftOperation operations = 2; - - // 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; -} - -// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v2.services.CampaignDraftService.PromoteCampaignDraft]. -message PromoteCampaignDraftRequest { - // The resource name of the campaign draft to promote. - string campaign_draft = 1; -} - -// A single operation (create, update, remove) on a campaign draft. -message CampaignDraftOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // draft. - google.ads.googleads.v2.resources.CampaignDraft create = 1; - - // Update operation: The campaign draft is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.CampaignDraft update = 2; - - // Remove operation: The campaign draft is expected to have a valid - // resource name, in this format: - // - // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} - -// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v2.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. -message ListCampaignDraftAsyncErrorsRequest { - // The name of the campaign draft from which to retrieve the async errors. - string resource_name = 1; - - // Token of the page to retrieve. If not specified, the first - // page of results will be returned. Use the value obtained from - // `next_page_token` in the previous response in order to request - // the next page of results. - string page_token = 2; - - // Number of elements to retrieve in a single page. - // When a page request is too large, the server may decide to - // further limit the number of returned resources. - int32 page_size = 3; -} - -// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v2.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. -message ListCampaignDraftAsyncErrorsResponse { - // Details of the errors when performing the asynchronous operation. - repeated google.rpc.Status errors = 1; - - // Pagination token used to retrieve the next page of results. - // Pass the content of this string as the `page_token` attribute of - // the next request. `next_page_token` is not returned for the last - // page. - string next_page_token = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_experiment_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_experiment_service.proto deleted file mode 100644 index 17b8d1e5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_experiment_service.proto +++ /dev/null @@ -1,274 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_experiment.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExperimentServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Experiment service. - -// CampaignExperimentService manages the life cycle of campaign experiments. -// It is used to create new experiments from drafts, modify experiment -// properties, promote changes in an experiment back to its base campaign, -// graduate experiments into new stand-alone campaigns, and to remove an -// experiment. -// -// An experiment consists of two variants or arms - the base campaign and the -// experiment campaign, directing a fixed share of traffic to each arm. -// A campaign experiment is created from a draft of changes to the base campaign -// and will be a snapshot of changes in the draft at the time of creation. -service CampaignExperimentService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign experiment in full detail. - rpc GetCampaignExperiment(GetCampaignExperimentRequest) returns (google.ads.googleads.v2.resources.CampaignExperiment) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignExperiments/*}" - }; - } - - // Creates a campaign experiment based on a campaign draft. The draft campaign - // will be forked into a real campaign (called the experiment campaign) that - // will begin serving ads if successfully created. - // - // The campaign experiment is created immediately with status INITIALIZING. - // This method return a long running operation that tracks the forking of the - // draft campaign. If the forking fails, a list of errors can be retrieved - // using the ListCampaignExperimentAsyncErrors method. The operation's - // metadata will be a StringValue containing the resource name of the created - // campaign experiment. - rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignExperiments:create" - body: "*" - }; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "google.ads.googleads.v2.services.CreateCampaignExperimentMetadata" - }; - } - - // Updates campaign experiments. Operation statuses are returned. - rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignExperiments:mutate" - body: "*" - }; - } - - // Graduates a campaign experiment to a full campaign. The base and experiment - // campaigns will start running independently with their own budgets. - rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse) { - option (google.api.http) = { - post: "/v2/{campaign_experiment=customers/*/campaignExperiments/*}:graduate" - body: "*" - }; - } - - // Promotes the changes in a experiment campaign back to the base campaign. - // - // The campaign experiment is updated immediately with status PROMOTING. - // This method return a long running operation that tracks the promoting of - // the experiment campaign. If the promoting fails, a list of errors can be - // retrieved using the ListCampaignExperimentAsyncErrors method. - rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v2/{campaign_experiment=customers/*/campaignExperiments/*}:promote" - body: "*" - }; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - }; - } - - // Immediately ends a campaign 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. - rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v2/{campaign_experiment=customers/*/campaignExperiments/*}:end" - body: "*" - }; - } - - // Returns all errors that occurred during CampaignExperiment create or - // promote (whichever occurred last). - // Supports standard list paging. - rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors" - }; - } -} - -// Request message for [CampaignExperimentService.GetCampaignExperiment][google.ads.googleads.v2.services.CampaignExperimentService.GetCampaignExperiment]. -message GetCampaignExperimentRequest { - // The resource name of the campaign experiment to fetch. - string resource_name = 1; -} - -// Request message for [CampaignExperimentService.MutateCampaignExperiments][google.ads.googleads.v2.services.CampaignExperimentService.MutateCampaignExperiments]. -message MutateCampaignExperimentsRequest { - // The ID of the customer whose campaign experiments are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign experiments. - repeated CampaignExperimentOperation operations = 2; - - // 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 operation on a campaign experiment. -message CampaignExperimentOperation { - // 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 campaign experiment is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.CampaignExperiment update = 1; - - // Remove operation: The campaign experiment is expected to have a valid - // resource name, in this format: - // - // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` - string remove = 2; - } -} - -// Response message for campaign experiment mutate. -message MutateCampaignExperimentsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateCampaignExperimentResult results = 2; -} - -// The result for the campaign experiment mutate. -message MutateCampaignExperimentResult { - // Returned for successful operations. - string resource_name = 1; -} - -// Request message for [CampaignExperimentService.CreateCampaignExperiment][google.ads.googleads.v2.services.CampaignExperimentService.CreateCampaignExperiment]. -message CreateCampaignExperimentRequest { - // The ID of the customer whose campaign experiment is being created. - string customer_id = 1; - - // The campaign experiment to be created. - google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 3; -} - -// Message used as metadata returned in Long Running Operations for -// CreateCampaignExperimentRequest -message CreateCampaignExperimentMetadata { - // Resource name of campaign experiment created. - string campaign_experiment = 1; -} - -// Request message for [CampaignExperimentService.GraduateCampaignExperiment][google.ads.googleads.v2.services.CampaignExperimentService.GraduateCampaignExperiment]. -message GraduateCampaignExperimentRequest { - // The resource name of the campaign experiment to graduate. - string campaign_experiment = 1; - - // Resource name of the budget to attach to the campaign graduated from the - // experiment. - string campaign_budget = 2; -} - -// Response message for campaign experiment graduate. -message GraduateCampaignExperimentResponse { - // The resource name of the campaign from the graduated experiment. - // This campaign is the same one as CampaignExperiment.experiment_campaign. - string graduated_campaign = 1; -} - -// Request message for [CampaignExperimentService.PromoteCampaignExperiment][google.ads.googleads.v2.services.CampaignExperimentService.PromoteCampaignExperiment]. -message PromoteCampaignExperimentRequest { - // The resource name of the campaign experiment to promote. - string campaign_experiment = 1; -} - -// Request message for [CampaignExperimentService.EndCampaignExperiment][google.ads.googleads.v2.services.CampaignExperimentService.EndCampaignExperiment]. -message EndCampaignExperimentRequest { - // The resource name of the campaign experiment to end. - string campaign_experiment = 1; -} - -// Request message for -// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v2.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. -message ListCampaignExperimentAsyncErrorsRequest { - // The name of the campaign experiment from which to retrieve the async - // errors. - string resource_name = 1; - - // 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 -// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v2.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. -message ListCampaignExperimentAsyncErrorsResponse { - // 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/google-cloud/protos/google/ads/googleads/v2/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_extension_setting_service.proto deleted file mode 100644 index 39f9221c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_extension_setting_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the CampaignExtensionSetting service. - -// Service to manage campaign extension settings. -service CampaignExtensionSettingService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign extension setting in full detail. - rpc GetCampaignExtensionSetting(GetCampaignExtensionSettingRequest) returns (google.ads.googleads.v2.resources.CampaignExtensionSetting) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignExtensionSettings/*}" - }; - } - - // Creates, updates, or removes campaign extension settings. Operation - // statuses are returned. - rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) returns (MutateCampaignExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [CampaignExtensionSettingService.GetCampaignExtensionSetting][google.ads.googleads.v2.services.CampaignExtensionSettingService.GetCampaignExtensionSetting]. -message GetCampaignExtensionSettingRequest { - // The resource name of the campaign extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v2.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. -message MutateCampaignExtensionSettingsRequest { - // The ID of the customer whose campaign extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign extension - // settings. - repeated CampaignExtensionSettingOperation operations = 2; - - // 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 campaign extension setting. -message CampaignExtensionSettingOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // extension setting. - google.ads.googleads.v2.resources.CampaignExtensionSetting create = 1; - - // Update operation: The campaign extension setting is expected to have a - // valid resource name. - google.ads.googleads.v2.resources.CampaignExtensionSetting update = 2; - - // Remove operation: A resource name for the removed campaign extension - // setting is expected, in this format: - // - // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_feed_service.proto deleted file mode 100644 index 6cc483ea..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_feed_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignFeedServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the CampaignFeed service. - -// Service to manage campaign feeds. -service CampaignFeedService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign feed in full detail. - rpc GetCampaignFeed(GetCampaignFeedRequest) returns (google.ads.googleads.v2.resources.CampaignFeed) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignFeeds/*}" - }; - } - - // Creates, updates, or removes campaign feeds. Operation statuses are - // returned. - rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignFeeds:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignFeedService.GetCampaignFeed][google.ads.googleads.v2.services.CampaignFeedService.GetCampaignFeed]. -message GetCampaignFeedRequest { - // The resource name of the campaign feed to fetch. - string resource_name = 1; -} - -// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v2.services.CampaignFeedService.MutateCampaignFeeds]. -message MutateCampaignFeedsRequest { - // The ID of the customer whose campaign feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign feeds. - repeated CampaignFeedOperation operations = 2; - - // 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 campaign feed. -message CampaignFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign feed. - google.ads.googleads.v2.resources.CampaignFeed create = 1; - - // Update operation: The campaign feed is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.CampaignFeed update = 2; - - // Remove operation: A resource name for the removed campaign feed is - // expected, in this format: - // - // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_label_service.proto deleted file mode 100644 index b08184df..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_label_service.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_label.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignLabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Label service. - -// Service to manage labels on campaigns. -service CampaignLabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign-label relationship in full detail. - rpc GetCampaignLabel(GetCampaignLabelRequest) returns (google.ads.googleads.v2.resources.CampaignLabel) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignLabels/*}" - }; - } - - // Creates and removes campaign-label relationships. - // Operation statuses are returned. - rpc MutateCampaignLabels(MutateCampaignLabelsRequest) returns (MutateCampaignLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignLabels:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignLabelService.GetCampaignLabel][google.ads.googleads.v2.services.CampaignLabelService.GetCampaignLabel]. -message GetCampaignLabelRequest { - // The resource name of the campaign-label relationship to fetch. - string resource_name = 1; -} - -// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v2.services.CampaignLabelService.MutateCampaignLabels]. -message MutateCampaignLabelsRequest { - // ID of the customer whose campaign-label relationships are being modified. - string customer_id = 1; - - // The list of operations to perform on campaign-label relationships. - repeated CampaignLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on a campaign-label relationship. -message CampaignLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign-label - // relationship. - google.ads.googleads.v2.resources.CampaignLabel create = 1; - - // Remove operation: A resource name for the campaign-label relationship - // being removed, in this format: - // - // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_service.proto deleted file mode 100644 index d972fa6c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_service.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign service. - -// Service to manage campaigns. -service CampaignService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign in full detail. - rpc GetCampaign(GetCampaignRequest) returns (google.ads.googleads.v2.resources.Campaign) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaigns/*}" - }; - } - - // Creates, updates, or removes campaigns. Operation statuses are returned. - rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaigns:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignService.GetCampaign][google.ads.googleads.v2.services.CampaignService.GetCampaign]. -message GetCampaignRequest { - // The resource name of the campaign to fetch. - string resource_name = 1; -} - -// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v2.services.CampaignService.MutateCampaigns]. -message MutateCampaignsRequest { - // The ID of the customer whose campaigns are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaigns. - repeated CampaignOperation operations = 2; - - // 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 campaign. -message CampaignOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign. - google.ads.googleads.v2.resources.Campaign create = 1; - - // Update operation: The campaign is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.Campaign update = 2; - - // Remove operation: A resource name for the removed campaign is - // expected, in this format: - // - // `customers/{customer_id}/campaigns/{campaign_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/campaign_shared_set_service.proto deleted file mode 100644 index 9e358599..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/campaign_shared_set_service.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/campaign_shared_set.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CampaignSharedSetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Campaign Shared Set service. - -// Service to manage campaign shared sets. -service CampaignSharedSetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested campaign shared set in full detail. - rpc GetCampaignSharedSet(GetCampaignSharedSetRequest) returns (google.ads.googleads.v2.resources.CampaignSharedSet) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/campaignSharedSets/*}" - }; - } - - // Creates or removes campaign shared sets. Operation statuses are returned. - rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/campaignSharedSets:mutate" - body: "*" - }; - } -} - -// Request message for [CampaignSharedSetService.GetCampaignSharedSet][google.ads.googleads.v2.services.CampaignSharedSetService.GetCampaignSharedSet]. -message GetCampaignSharedSetRequest { - // The resource name of the campaign shared set to fetch. - string resource_name = 1; -} - -// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v2.services.CampaignSharedSetService.MutateCampaignSharedSets]. -message MutateCampaignSharedSetsRequest { - // The ID of the customer whose campaign shared sets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual campaign shared sets. - repeated CampaignSharedSetOperation operations = 2; - - // 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 campaign shared set. -message CampaignSharedSetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new campaign - // shared set. - google.ads.googleads.v2.resources.CampaignSharedSet create = 1; - - // Remove operation: A resource name for the removed campaign shared set is - // expected, in this format: - // - // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/carrier_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/carrier_constant_service.proto deleted file mode 100644 index 20cc19c9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/carrier_constant_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/carrier_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CarrierConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the carrier constant service. - -// Service to fetch carrier constants. -service CarrierConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested carrier constant in full detail. - rpc GetCarrierConstant(GetCarrierConstantRequest) returns (google.ads.googleads.v2.resources.CarrierConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=carrierConstants/*}" - }; - } -} - -// Request message for [CarrierConstantService.GetCarrierConstant][google.ads.googleads.v2.services.CarrierConstantService.GetCarrierConstant]. -message GetCarrierConstantRequest { - // Resource name of the carrier constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/change_status_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/change_status_service.proto deleted file mode 100644 index 29014b30..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/change_status_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/change_status.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ChangeStatusServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Change Status service. - -// Service to fetch change statuses. -service ChangeStatusService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested change status in full detail. - rpc GetChangeStatus(GetChangeStatusRequest) returns (google.ads.googleads.v2.resources.ChangeStatus) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/changeStatus/*}" - }; - } -} - -// Request message for '[ChangeStatusService.GetChangeStatus][google.ads.googleads.v2.services.ChangeStatusService.GetChangeStatus]'. -message GetChangeStatusRequest { - // The resource name of the change status to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/click_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/click_view_service.proto deleted file mode 100644 index f6a68b14..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/click_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/click_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ClickViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the ClickView service. - -// Service to fetch click views. -service ClickViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested click view in full detail. - rpc GetClickView(GetClickViewRequest) returns (google.ads.googleads.v2.resources.ClickView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/clickViews/*}" - }; - } -} - -// Request message for [ClickViewService.GetClickView][google.ads.googleads.v2.services.ClickViewService.GetClickView]. -message GetClickViewRequest { - // The resource name of the click view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/conversion_action_service.proto deleted file mode 100644 index d056d551..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/conversion_action_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/conversion_action.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionActionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Conversion Action service. - -// Service to manage conversion actions. -service ConversionActionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested conversion action. - rpc GetConversionAction(GetConversionActionRequest) returns (google.ads.googleads.v2.resources.ConversionAction) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/conversionActions/*}" - }; - } - - // Creates, updates or removes conversion actions. Operation statuses are - // returned. - rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/conversionActions:mutate" - body: "*" - }; - } -} - -// Request message for [ConversionActionService.GetConversionAction][google.ads.googleads.v2.services.ConversionActionService.GetConversionAction]. -message GetConversionActionRequest { - // The resource name of the conversion action to fetch. - string resource_name = 1; -} - -// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v2.services.ConversionActionService.MutateConversionActions]. -message MutateConversionActionsRequest { - // The ID of the customer whose conversion actions are being modified. - string customer_id = 1; - - // The list of operations to perform on individual conversion actions. - repeated ConversionActionOperation operations = 2; - - // 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 conversion action. -message ConversionActionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new conversion - // action. - google.ads.googleads.v2.resources.ConversionAction create = 1; - - // Update operation: The conversion action is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.ConversionAction update = 2; - - // Remove operation: A resource name for the removed conversion action is - // expected, in this format: - // - // `customers/{customer_id}/conversionActions/{conversion_action_id}` - string remove = 3; - } -} - -// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v2.services.ConversionActionService.MutateConversionActions]. -message MutateConversionActionsResponse { - // Errors that pertain to operation failures in the partial failure mode. - // Returned only when partial_failure = true and all errors occur inside the - // operations. If any errors occur outside the operations (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto deleted file mode 100644 index 7b643cfa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/enums/conversion_adjustment_type.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to upload conversion adjustments. -service ConversionAdjustmentUploadService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Processes the given conversion adjustments. - rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) returns (UploadConversionAdjustmentsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:uploadConversionAdjustments" - body: "*" - }; - } -} - -// Request message for -// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v2.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. -message UploadConversionAdjustmentsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversion adjustments that are being uploaded. - repeated ConversionAdjustment conversion_adjustments = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for -// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v2.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. -message UploadConversionAdjustmentsResponse { - // Errors that pertain to conversion adjustment failures in the partial - // failure mode. Returned when all errors occur inside the adjustments. If any - // errors occur outside the adjustments (e.g. auth errors), we return an RPC - // level error. - 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; -} - -// A conversion adjustment. -message ConversionAdjustment { - // 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. - google.protobuf.StringValue conversion_action = 3; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue adjustment_date_time = 4; - - // The adjustment type. - google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; - - // Information needed to restate the conversion's value. - // Required for restatements. Should not be supplied for retractions. An error - // will be returned if provided for a retraction. - RestatementValue restatement_value = 6; - - // Identifies the conversion to be adjusted. - oneof conversion_identifier { - // Uniquely identifies a conversion that was reported without an order ID - // specified. - GclidDateTimePair gclid_date_time_pair = 1; - - // 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. - google.protobuf.StringValue order_id = 2; - } -} - -// 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. - google.protobuf.DoubleValue adjusted_value = 1; - - // 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 e.g. USD or EUR. - google.protobuf.StringValue currency_code = 2; -} - -// 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. - google.protobuf.StringValue gclid = 1; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 2; -} - -// Information identifying a successfully processed ConversionAdjustment. -message ConversionAdjustmentResult { - // Resource name of the conversion action associated with this conversion - // adjustment. - google.protobuf.StringValue conversion_action = 3; - - // The date time at which the adjustment occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue adjustment_date_time = 4; - - // The adjustment type. - google.ads.googleads.v2.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; - - // Identifies the conversion that was adjusted. - oneof conversion_identifier { - // Uniquely identifies a conversion that was reported without an order ID - // specified. - GclidDateTimePair gclid_date_time_pair = 1; - - // The order ID of the conversion that was adjusted. - google.protobuf.StringValue order_id = 2; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/conversion_upload_service.proto deleted file mode 100644 index de70a790..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/conversion_upload_service.proto +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ConversionUploadServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to upload conversions. -service ConversionUploadService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Processes the given click conversions. - rpc UploadClickConversions(UploadClickConversionsRequest) returns (UploadClickConversionsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:uploadClickConversions" - body: "*" - }; - } - - // Processes the given call conversions. - rpc UploadCallConversions(UploadCallConversionsRequest) returns (UploadCallConversionsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:uploadCallConversions" - body: "*" - }; - } -} - -// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v2.services.ConversionUploadService.UploadClickConversions]. -message UploadClickConversionsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversions that are being uploaded. - repeated ClickConversion conversions = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v2.services.ConversionUploadService.UploadClickConversions]. -message UploadClickConversionsResponse { - // Errors that pertain to conversion failures in the partial failure mode. - // Returned when all errors occur inside the conversions. If any errors occur - // outside the conversions (e.g. auth errors), we return an RPC level error. - 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; -} - -// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v2.services.ConversionUploadService.UploadCallConversions]. -message UploadCallConversionsRequest { - // The ID of the customer performing the upload. - string customer_id = 1; - - // The conversions that are being uploaded. - repeated CallConversion conversions = 2; - - // 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. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v2.services.ConversionUploadService.UploadCallConversions]. -message UploadCallConversionsResponse { - // Errors that pertain to conversion failures in the partial failure mode. - // Returned when all errors occur inside the conversions. If any errors occur - // outside the conversions (e.g. auth errors), we return an RPC level error. - 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. - google.protobuf.StringValue gclid = 1; - - // 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. - google.protobuf.StringValue conversion_action = 2; - - // 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", e.g. “2019-01-01 12:32:45-08:00”. - google.protobuf.StringValue conversion_date_time = 3; - - // The value of the conversion for the advertiser. - google.protobuf.DoubleValue conversion_value = 4; - - // Currency associated with the conversion value. This is the ISO 4217 - // 3-character currency code. For example: USD, EUR. - google.protobuf.StringValue currency_code = 5; - - // The order ID associated with the conversion. An order id can only be used - // for one conversion per conversion action. - google.protobuf.StringValue order_id = 6; - - // 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; -} - -// 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. e.g. "+16502531234". - google.protobuf.StringValue caller_id = 1; - - // The date time at which the call occurred. The timezone must be specified. - // The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", - // e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue call_start_date_time = 2; - - // 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. - google.protobuf.StringValue conversion_action = 3; - - // 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", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 4; - - // The value of the conversion for the advertiser. - google.protobuf.DoubleValue conversion_value = 5; - - // Currency associated with the conversion value. This is the ISO 4217 - // 3-character currency code. For example: USD, EUR. - google.protobuf.StringValue currency_code = 6; -} - -// Contains additional information about externally attributed conversions. -message ExternalAttributionData { - // Represents the fraction of the conversion that is attributed to the - // Google Ads click. - google.protobuf.DoubleValue external_attribution_credit = 1; - - // Specifies the attribution model name. - google.protobuf.StringValue external_attribution_model = 2; -} - -// Identifying information for a successfully processed ClickConversion. -message ClickConversionResult { - // The Google Click ID (gclid) associated with this conversion. - google.protobuf.StringValue gclid = 1; - - // Resource name of the conversion action associated with this conversion. - google.protobuf.StringValue conversion_action = 2; - - // The date time at which the conversion occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. “2019-01-01 12:32:45-08:00”. - google.protobuf.StringValue conversion_date_time = 3; -} - -// 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. - google.protobuf.StringValue caller_id = 1; - - // The date time at which the call occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue call_start_date_time = 2; - - // Resource name of the conversion action associated with this conversion. - google.protobuf.StringValue conversion_action = 3; - - // The date time at which the conversion occurred. The format is - // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". - google.protobuf.StringValue conversion_date_time = 4; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/custom_interest_service.proto deleted file mode 100644 index eef10f29..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/custom_interest_service.proto +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/custom_interest.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomInterestServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Custom Interest service. - -// Service to manage custom interests. -service CustomInterestService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested custom interest in full detail. - rpc GetCustomInterest(GetCustomInterestRequest) returns (google.ads.googleads.v2.resources.CustomInterest) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customInterests/*}" - }; - } - - // Creates or updates custom interests. Operation statuses are returned. - rpc MutateCustomInterests(MutateCustomInterestsRequest) returns (MutateCustomInterestsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customInterests:mutate" - body: "*" - }; - } -} - -// Request message for [CustomInterestService.GetCustomInterest][google.ads.googleads.v2.services.CustomInterestService.GetCustomInterest]. -message GetCustomInterestRequest { - // The resource name of the custom interest to fetch. - string resource_name = 1; -} - -// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v2.services.CustomInterestService.MutateCustomInterests]. -message MutateCustomInterestsRequest { - // The ID of the customer whose custom interests are being modified. - string customer_id = 1; - - // The list of operations to perform on individual custom interests. - repeated CustomInterestOperation operations = 2; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a custom interest. -message CustomInterestOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new custom - // interest. - google.ads.googleads.v2.resources.CustomInterest create = 1; - - // Update operation: The custom interest is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.CustomInterest update = 2; - } -} - -// Response message for custom interest mutate. -message MutateCustomInterestsResponse { - // All results for the mutate. - repeated MutateCustomInterestResult results = 2; -} - -// The result for the custom interest mutate. -message MutateCustomInterestResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_client_link_service.proto deleted file mode 100644 index 74730999..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_client_link_service.proto +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_client_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientLinkServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to manage customer client links. -service CustomerClientLinkService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested CustomerClientLink in full detail. - rpc GetCustomerClientLink(GetCustomerClientLinkRequest) returns (google.ads.googleads.v2.resources.CustomerClientLink) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerClientLinks/*}" - }; - } - - // Creates or updates a customer client link. Operation statuses are returned. - rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) returns (MutateCustomerClientLinkResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerClientLinks:mutate" - body: "*" - }; - } -} - -// Request message for [CustomerClientLinkService.GetCustomerClientLink][google.ads.googleads.v2.services.CustomerClientLinkService.GetCustomerClientLink]. -message GetCustomerClientLinkRequest { - // The resource name of the customer client link to fetch. - string resource_name = 1; -} - -// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v2.services.CustomerClientLinkService.MutateCustomerClientLink]. -message MutateCustomerClientLinkRequest { - // The ID of the customer whose customer link are being modified. - string customer_id = 1; - - // The operation to perform on the individual CustomerClientLink. - CustomerClientLinkOperation operation = 2; -} - -// A single operation (create, update) on a CustomerClientLink. -message CustomerClientLinkOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new link. - google.ads.googleads.v2.resources.CustomerClientLink create = 1; - - // Update operation: The link is expected to have a valid resource name. - google.ads.googleads.v2.resources.CustomerClientLink update = 2; - } -} - -// Response message for a CustomerClientLink mutate. -message MutateCustomerClientLinkResponse { - // A result that identifies the resource affected by the mutate request. - MutateCustomerClientLinkResult result = 1; -} - -// The result for a single customer client link mutate. -message MutateCustomerClientLinkResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_client_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_client_service.proto deleted file mode 100644 index 495d8c11..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_client_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_client.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerClientServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Customer Client service. - -// Service to get clients in a customer's hierarchy. -service CustomerClientService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested client in full detail. - rpc GetCustomerClient(GetCustomerClientRequest) returns (google.ads.googleads.v2.resources.CustomerClient) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerClients/*}" - }; - } -} - -// Request message for [CustomerClientService.GetCustomerClient][google.ads.googleads.v2.services.CustomerClientService.GetCustomerClient]. -message GetCustomerClientRequest { - // The resource name of the client to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_extension_setting_service.proto deleted file mode 100644 index 7dce72c4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_extension_setting_service.proto +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_extension_setting.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerExtensionSettingServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the CustomerExtensionSetting service. - -// Service to manage customer extension settings. -service CustomerExtensionSettingService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested customer extension setting in full detail. - rpc GetCustomerExtensionSetting(GetCustomerExtensionSettingRequest) returns (google.ads.googleads.v2.resources.CustomerExtensionSetting) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerExtensionSettings/*}" - }; - } - - // Creates, updates, or removes customer extension settings. Operation - // statuses are returned. - rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) returns (MutateCustomerExtensionSettingsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerExtensionSettings:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerExtensionSettingService.GetCustomerExtensionSetting][google.ads.googleads.v2.services.CustomerExtensionSettingService.GetCustomerExtensionSetting]. -message GetCustomerExtensionSettingRequest { - // The resource name of the customer extension setting to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v2.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. -message MutateCustomerExtensionSettingsRequest { - // The ID of the customer whose customer extension settings are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual customer extension - // settings. - repeated CustomerExtensionSettingOperation operations = 2; - - // 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 customer extension setting. -message CustomerExtensionSettingOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer - // extension setting. - google.ads.googleads.v2.resources.CustomerExtensionSetting create = 1; - - // Update operation: The customer extension setting is expected to have a - // valid resource name. - google.ads.googleads.v2.resources.CustomerExtensionSetting update = 2; - - // Remove operation: A resource name for the removed customer extension - // setting is expected, in this format: - // - // `customers/{customer_id}/customerExtensionSettings/{extension_type}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_feed_service.proto deleted file mode 100644 index 5cfde112..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_feed_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerFeedServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the CustomerFeed service. - -// Service to manage customer feeds. -service CustomerFeedService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested customer feed in full detail. - rpc GetCustomerFeed(GetCustomerFeedRequest) returns (google.ads.googleads.v2.resources.CustomerFeed) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerFeeds/*}" - }; - } - - // Creates, updates, or removes customer feeds. Operation statuses are - // returned. - rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerFeeds:mutate" - body: "*" - }; - } -} - -// Request message for [CustomerFeedService.GetCustomerFeed][google.ads.googleads.v2.services.CustomerFeedService.GetCustomerFeed]. -message GetCustomerFeedRequest { - // The resource name of the customer feed to fetch. - string resource_name = 1; -} - -// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v2.services.CustomerFeedService.MutateCustomerFeeds]. -message MutateCustomerFeedsRequest { - // The ID of the customer whose customer feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual customer feeds. - repeated CustomerFeedOperation operations = 2; - - // 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 customer feed. -message CustomerFeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer feed. - google.ads.googleads.v2.resources.CustomerFeed create = 1; - - // Update operation: The customer feed is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.CustomerFeed update = 2; - - // Remove operation: A resource name for the removed customer feed is - // expected, in this format: - // - // `customers/{customer_id}/customerFeeds/{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_label_service.proto deleted file mode 100644 index 00f8cb25..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_label_service.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_label.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerLabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Customer Label service. - -// Service to manage labels on customers. -service CustomerLabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested customer-label relationship in full detail. - rpc GetCustomerLabel(GetCustomerLabelRequest) returns (google.ads.googleads.v2.resources.CustomerLabel) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerLabels/*}" - }; - } - - // Creates and removes customer-label relationships. - // Operation statuses are returned. - rpc MutateCustomerLabels(MutateCustomerLabelsRequest) returns (MutateCustomerLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerLabels:mutate" - body: "*" - }; - } -} - -// Request message for [CustomerLabelService.GetCustomerLabel][google.ads.googleads.v2.services.CustomerLabelService.GetCustomerLabel]. -message GetCustomerLabelRequest { - // The resource name of the customer-label relationship to fetch. - string resource_name = 1; -} - -// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v2.services.CustomerLabelService.MutateCustomerLabels]. -message MutateCustomerLabelsRequest { - // ID of the customer whose customer-label relationships are being modified. - string customer_id = 1; - - // The list of operations to perform on customer-label relationships. - repeated CustomerLabelOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, remove) on a customer-label relationship. -message CustomerLabelOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new customer-label - // relationship. - google.ads.googleads.v2.resources.CustomerLabel create = 1; - - // Remove operation: A resource name for the customer-label relationship - // being removed, in this format: - // - // `customers/{customer_id}/customerLabels/{label_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_manager_link_service.proto deleted file mode 100644 index b98cb3df..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_manager_link_service.proto +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_manager_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerManagerLinkServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to manage customer-manager links. -service CustomerManagerLinkService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested CustomerManagerLink in full detail. - rpc GetCustomerManagerLink(GetCustomerManagerLinkRequest) returns (google.ads.googleads.v2.resources.CustomerManagerLink) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerManagerLinks/*}" - }; - } - - // Creates or updates customer manager links. Operation statuses are returned. - rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) returns (MutateCustomerManagerLinkResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerManagerLinks:mutate" - body: "*" - }; - } -} - -// Request message for [CustomerManagerLinkService.GetCustomerManagerLink][google.ads.googleads.v2.services.CustomerManagerLinkService.GetCustomerManagerLink]. -message GetCustomerManagerLinkRequest { - // The resource name of the CustomerManagerLink to fetch. - string resource_name = 1; -} - -// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v2.services.CustomerManagerLinkService.MutateCustomerManagerLink]. -message MutateCustomerManagerLinkRequest { - // The ID of the customer whose customer manager links are being modified. - string customer_id = 1; - - // The list of operations to perform on individual customer manager links. - repeated CustomerManagerLinkOperation operations = 2; -} - -// Updates the status of a CustomerManagerLink. -// The following actions are possible: -// 1. Update operation with status ACTIVE accepts a pending invitation. -// 2. Update operation with status REFUSED declines a pending invitation. -// 3. Update operation with status INACTIVE terminates link to manager. -message CustomerManagerLinkOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Update operation: The link is expected to have a valid resource name. - google.ads.googleads.v2.resources.CustomerManagerLink update = 2; - } -} - -// Response message for a CustomerManagerLink mutate. -message MutateCustomerManagerLinkResponse { - // A result that identifies the resource affected by the mutate request. - repeated MutateCustomerManagerLinkResult results = 1; -} - -// The result for the customer manager link mutate. -message MutateCustomerManagerLinkResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_negative_criterion_service.proto deleted file mode 100644 index bcd6d2a2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_negative_criterion_service.proto +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/customer_negative_criterion.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerNegativeCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Customer Negative Criterion service. - -// Service to manage customer negative criteria. -service CustomerNegativeCriterionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested criterion in full detail. - rpc GetCustomerNegativeCriterion(GetCustomerNegativeCriterionRequest) returns (google.ads.googleads.v2.resources.CustomerNegativeCriterion) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/customerNegativeCriteria/*}" - }; - } - - // Creates or removes criteria. Operation statuses are returned. - rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) returns (MutateCustomerNegativeCriteriaResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/customerNegativeCriteria:mutate" - body: "*" - }; - } -} - -// Request message for -// [CustomerNegativeCriterionService.GetCustomerNegativeCriterion][google.ads.googleads.v2.services.CustomerNegativeCriterionService.GetCustomerNegativeCriterion]. -message GetCustomerNegativeCriterionRequest { - // The resource name of the criterion to fetch. - string resource_name = 1; -} - -// Request message for -// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v2.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. -message MutateCustomerNegativeCriteriaRequest { - // The ID of the customer whose criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual criteria. - repeated CustomerNegativeCriterionOperation operations = 2; - - // 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 or remove) on a customer level negative criterion. -message CustomerNegativeCriterionOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new criterion. - google.ads.googleads.v2.resources.CustomerNegativeCriterion create = 1; - - // Remove operation: A resource name for the removed criterion is expected, - // in this format: - // - // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` - string remove = 2; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/customer_service.proto deleted file mode 100644 index beba6c60..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/customer_service.proto +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/enums/access_role.proto"; -import "google/ads/googleads/v2/resources/customer.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "CustomerServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Customer service. - -// Service to manage customers. -service CustomerService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested customer in full detail. - rpc GetCustomer(GetCustomerRequest) returns (google.ads.googleads.v2.resources.Customer) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*}" - }; - } - - // Updates a customer. Operation statuses are returned. - rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:mutate" - body: "*" - }; - } - - // Returns resource names of customers directly accessible by the - // user authenticating the call. - rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { - option (google.api.http) = { - get: "/v2/customers:listAccessibleCustomers" - }; - } - - // Creates a new client under manager. The new client customer is returned. - rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:createCustomerClient" - body: "*" - }; - } -} - -// Request message for [CustomerService.GetCustomer][google.ads.googleads.v2.services.CustomerService.GetCustomer]. -message GetCustomerRequest { - // The resource name of the customer to fetch. - string resource_name = 1; -} - -// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v2.services.CustomerService.MutateCustomer]. -message MutateCustomerRequest { - // The ID of the customer being modified. - string customer_id = 1; - - // The operation to perform on the customer - CustomerOperation operation = 4; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 5; -} - -// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v2.services.CustomerService.CreateCustomerClient]. -message CreateCustomerClientRequest { - // The ID of the Manager under whom client customer is being created. - string customer_id = 1; - - // The new client customer to create. The resource name on this customer - // will be ignored. - google.ads.googleads.v2.resources.Customer customer_client = 2; - - // Email address of the user who should be invited on the created client - // customer. Accessible to whitelisted customers only. - google.protobuf.StringValue email_address = 3; - - // The proposed role of user on the created client customer. - // Accessible to whitelisted customers only. - google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole access_role = 4; -} - -// A single update on a customer. -message CustomerOperation { - // Mutate operation. Only updates are supported for customer. - google.ads.googleads.v2.resources.Customer update = 1; - - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 2; -} - -// Response message for CreateCustomerClient mutate. -message CreateCustomerClientResponse { - // The resource name of the newly created customer client. - string resource_name = 2; -} - -// 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; -} - -// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v2.services.CustomerService.ListAccessibleCustomers]. -message ListAccessibleCustomersRequest { - -} - -// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v2.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/google-cloud/protos/google/ads/googleads/v2/services/detail_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/detail_placement_view_service.proto deleted file mode 100644 index 21847c11..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/detail_placement_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/detail_placement_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DetailPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Detail Placement View service. - -// Service to fetch Detail Placement views. -service DetailPlacementViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Detail Placement view in full detail. - rpc GetDetailPlacementView(GetDetailPlacementViewRequest) returns (google.ads.googleads.v2.resources.DetailPlacementView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/detailPlacementViews/*}" - }; - } -} - -// Request message for [DetailPlacementViewService.GetDetailPlacementView][google.ads.googleads.v2.services.DetailPlacementViewService.GetDetailPlacementView]. -message GetDetailPlacementViewRequest { - // The resource name of the Detail Placement view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/display_keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/display_keyword_view_service.proto deleted file mode 100644 index 22c82bf5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/display_keyword_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/display_keyword_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DisplayKeywordViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Display Keyword View service. - -// Service to manage display keyword views. -service DisplayKeywordViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested display keyword view in full detail. - rpc GetDisplayKeywordView(GetDisplayKeywordViewRequest) returns (google.ads.googleads.v2.resources.DisplayKeywordView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/displayKeywordViews/*}" - }; - } -} - -// Request message for [DisplayKeywordViewService.GetDisplayKeywordView][google.ads.googleads.v2.services.DisplayKeywordViewService.GetDisplayKeywordView]. -message GetDisplayKeywordViewRequest { - // The resource name of the display keyword view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/distance_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/distance_view_service.proto deleted file mode 100644 index 44ffaf91..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/distance_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/distance_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DistanceViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Distance View service. - -// Service to fetch distance views. -service DistanceViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the attributes of the requested distance view. - rpc GetDistanceView(GetDistanceViewRequest) returns (google.ads.googleads.v2.resources.DistanceView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/distanceViews/*}" - }; - } -} - -// Request message for [DistanceViewService.GetDistanceView][google.ads.googleads.v2.services.DistanceViewService.GetDistanceView]. -message GetDistanceViewRequest { - // The resource name of the distance view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/domain_category_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/domain_category_service.proto deleted file mode 100644 index eba38c15..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/domain_category_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/domain_category.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DomainCategoryServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the DomainCategory Service. - -// Service to fetch domain categories. -service DomainCategoryService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested domain category. - rpc GetDomainCategory(GetDomainCategoryRequest) returns (google.ads.googleads.v2.resources.DomainCategory) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/domainCategories/*}" - }; - } -} - -// Request message for -// [DomainCategoryService.GetDomainCategory][google.ads.googleads.v2.services.DomainCategoryService.GetDomainCategory]. -message GetDomainCategoryRequest { - // Resource name of the domain category to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/dynamic_search_ads_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/dynamic_search_ads_search_term_view_service.proto deleted file mode 100644 index 922b7e70..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/dynamic_search_ads_search_term_view_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "DynamicSearchAdsSearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Dynamic Search Ads Search Term View service. - -// Service to fetch dynamic search ads views. -service DynamicSearchAdsSearchTermViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested dynamic search ads search term view in full detail. - rpc GetDynamicSearchAdsSearchTermView(GetDynamicSearchAdsSearchTermViewRequest) returns (google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/dynamicSearchAdsSearchTermViews/*}" - }; - } -} - -// Request message for -// [DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView][google.ads.googleads.v2.services.DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView]. -message GetDynamicSearchAdsSearchTermViewRequest { - // The resource name of the dynamic search ads search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/expanded_landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/expanded_landing_page_view_service.proto deleted file mode 100644 index 96cf5701..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/expanded_landing_page_view_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/expanded_landing_page_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ExpandedLandingPageViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the expanded landing page view service. - -// Service to fetch expanded landing page views. -service ExpandedLandingPageViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested expanded landing page view in full detail. - rpc GetExpandedLandingPageView(GetExpandedLandingPageViewRequest) returns (google.ads.googleads.v2.resources.ExpandedLandingPageView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/expandedLandingPageViews/*}" - }; - } -} - -// Request message for -// [ExpandedLandingPageViewService.GetExpandedLandingPageView][google.ads.googleads.v2.services.ExpandedLandingPageViewService.GetExpandedLandingPageView]. -message GetExpandedLandingPageViewRequest { - // The resource name of the expanded landing page view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/extension_feed_item_service.proto deleted file mode 100644 index 5a5f65bf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/extension_feed_item_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/extension_feed_item.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ExtensionFeedItemServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the ExtensionFeedItem service. - -// Service to manage extension feed items. -service ExtensionFeedItemService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested extension feed item in full detail. - rpc GetExtensionFeedItem(GetExtensionFeedItemRequest) returns (google.ads.googleads.v2.resources.ExtensionFeedItem) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/extensionFeedItems/*}" - }; - } - - // Creates, updates, or removes extension feed items. Operation - // statuses are returned. - rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) returns (MutateExtensionFeedItemsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/extensionFeedItems:mutate" - body: "*" - }; - } -} - -// Request message for [ExtensionFeedItemService.GetExtensionFeedItem][google.ads.googleads.v2.services.ExtensionFeedItemService.GetExtensionFeedItem]. -message GetExtensionFeedItemRequest { - // The resource name of the extension feed item to fetch. - string resource_name = 1; -} - -// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v2.services.ExtensionFeedItemService.MutateExtensionFeedItems]. -message MutateExtensionFeedItemsRequest { - // The ID of the customer whose extension feed items are being - // modified. - string customer_id = 1; - - // The list of operations to perform on individual extension feed items. - repeated ExtensionFeedItemOperation operations = 2; - - // 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 extension feed item. -message ExtensionFeedItemOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new extension - // feed item. - google.ads.googleads.v2.resources.ExtensionFeedItem create = 1; - - // Update operation: The extension feed item is expected to have a - // valid resource name. - google.ads.googleads.v2.resources.ExtensionFeedItem update = 2; - - // Remove operation: A resource name for the removed extension feed item - // is expected, in this format: - // - // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/feed_item_service.proto deleted file mode 100644 index 3387c28f..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/feed_item_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/feed_item.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the FeedItem service. - -// Service to manage feed items. -service FeedItemService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested feed item in full detail. - rpc GetFeedItem(GetFeedItemRequest) returns (google.ads.googleads.v2.resources.FeedItem) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/feedItems/*}" - }; - } - - // Creates, updates, or removes feed items. Operation statuses are - // returned. - rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/feedItems:mutate" - body: "*" - }; - } -} - -// Request message for [FeedItemService.GetFeedItem][google.ads.googleads.v2.services.FeedItemService.GetFeedItem]. -message GetFeedItemRequest { - // The resource name of the feed item to fetch. - string resource_name = 1; -} - -// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v2.services.FeedItemService.MutateFeedItems]. -message MutateFeedItemsRequest { - // The ID of the customer whose feed items are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed items. - repeated FeedItemOperation operations = 2; - - // 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 feed item. -message FeedItemOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed item. - google.ads.googleads.v2.resources.FeedItem create = 1; - - // Update operation: The feed item is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.FeedItem update = 2; - - // Remove operation: A resource name for the removed feed item is - // expected, in this format: - // - // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/feed_item_target_service.proto deleted file mode 100644 index 33a30f80..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/feed_item_target_service.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/feed_item_target.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedItemTargetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the FeedItemTarget service. - -// Service to manage feed item targets. -service FeedItemTargetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested feed item targets in full detail. - rpc GetFeedItemTarget(GetFeedItemTargetRequest) returns (google.ads.googleads.v2.resources.FeedItemTarget) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/feedItemTargets/*}" - }; - } - - // Creates or removes feed item targets. Operation statuses are returned. - rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) returns (MutateFeedItemTargetsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/feedItemTargets:mutate" - body: "*" - }; - } -} - -// Request message for [FeedItemTargetService.GetFeedItemTarget][google.ads.googleads.v2.services.FeedItemTargetService.GetFeedItemTarget]. -message GetFeedItemTargetRequest { - // The resource name of the feed item targets to fetch. - string resource_name = 1; -} - -// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v2.services.FeedItemTargetService.MutateFeedItemTargets]. -message MutateFeedItemTargetsRequest { - // The ID of the customer whose feed item targets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed item targets. - repeated FeedItemTargetOperation operations = 2; -} - -// A single operation (create, remove) on an feed item target. -message FeedItemTargetOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed item - // target. - google.ads.googleads.v2.resources.FeedItemTarget create = 1; - - // Remove operation: A resource name for the removed feed item target is - // expected, in this format: - // - // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` - string remove = 2; - } -} - -// Response message for an feed item target mutate. -message MutateFeedItemTargetsResponse { - // 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/feed_mapping_service.proto deleted file mode 100644 index c27fc80a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/feed_mapping_service.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/feed_mapping.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedMappingServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the FeedMapping service. - -// Service to manage feed mappings. -service FeedMappingService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested feed mapping in full detail. - rpc GetFeedMapping(GetFeedMappingRequest) returns (google.ads.googleads.v2.resources.FeedMapping) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/feedMappings/*}" - }; - } - - // Creates or removes feed mappings. Operation statuses are - // returned. - rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/feedMappings:mutate" - body: "*" - }; - } -} - -// Request message for [FeedMappingService.GetFeedMapping][google.ads.googleads.v2.services.FeedMappingService.GetFeedMapping]. -message GetFeedMappingRequest { - // The resource name of the feed mapping to fetch. - string resource_name = 1; -} - -// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v2.services.FeedMappingService.MutateFeedMappings]. -message MutateFeedMappingsRequest { - // The ID of the customer whose feed mappings are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feed mappings. - repeated FeedMappingOperation operations = 2; - - // 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 feed mapping. -message FeedMappingOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed mapping. - google.ads.googleads.v2.resources.FeedMapping create = 1; - - // Remove operation: A resource name for the removed feed mapping is - // expected, in this format: - // - // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/feed_placeholder_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/feed_placeholder_view_service.proto deleted file mode 100644 index 03f7520b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/feed_placeholder_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/feed_placeholder_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedPlaceholderViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the FeedPlaceholderView service. - -// Service to fetch feed placeholder views. -service FeedPlaceholderViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested feed placeholder view in full detail. - rpc GetFeedPlaceholderView(GetFeedPlaceholderViewRequest) returns (google.ads.googleads.v2.resources.FeedPlaceholderView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/feedPlaceholderViews/*}" - }; - } -} - -// Request message for [FeedPlaceholderViewService.GetFeedPlaceholderView][google.ads.googleads.v2.services.FeedPlaceholderViewService.GetFeedPlaceholderView]. -message GetFeedPlaceholderViewRequest { - // The resource name of the feed placeholder view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/feed_service.proto deleted file mode 100644 index e3f667b6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/feed_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/feed.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "FeedServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Feed service. - -// Service to manage feeds. -service FeedService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested feed in full detail. - rpc GetFeed(GetFeedRequest) returns (google.ads.googleads.v2.resources.Feed) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/feeds/*}" - }; - } - - // Creates, updates, or removes feeds. Operation statuses are - // returned. - rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/feeds:mutate" - body: "*" - }; - } -} - -// Request message for [FeedService.GetFeed][google.ads.googleads.v2.services.FeedService.GetFeed]. -message GetFeedRequest { - // The resource name of the feed to fetch. - string resource_name = 1; -} - -// Request message for [FeedService.MutateFeeds][google.ads.googleads.v2.services.FeedService.MutateFeeds]. -message MutateFeedsRequest { - // The ID of the customer whose feeds are being modified. - string customer_id = 1; - - // The list of operations to perform on individual feeds. - repeated FeedOperation operations = 2; - - // 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 feed. -message FeedOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new feed. - google.ads.googleads.v2.resources.Feed create = 1; - - // Update operation: The feed is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.Feed update = 2; - - // Remove operation: A resource name for the removed feed is - // expected, in this format: - // - // `customers/{customer_id}/feeds/{feed_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/gender_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/gender_view_service.proto deleted file mode 100644 index 7804be7b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/gender_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/gender_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GenderViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Gender View service. - -// Service to manage gender views. -service GenderViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested gender view in full detail. - rpc GetGenderView(GetGenderViewRequest) returns (google.ads.googleads.v2.resources.GenderView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/genderViews/*}" - }; - } -} - -// Request message for [GenderViewService.GetGenderView][google.ads.googleads.v2.services.GenderViewService.GetGenderView]. -message GetGenderViewRequest { - // The resource name of the gender view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/geo_target_constant_service.proto deleted file mode 100644 index 45e80844..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/geo_target_constant_service.proto +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/geo_target_constant.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GeoTargetConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Geo target constant service. - -// Service to fetch geo target constants. -service GeoTargetConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested geo target constant in full detail. - rpc GetGeoTargetConstant(GetGeoTargetConstantRequest) returns (google.ads.googleads.v2.resources.GeoTargetConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=geoTargetConstants/*}" - }; - } - - // Returns GeoTargetConstant suggestions by location name or by resource name. - rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) { - option (google.api.http) = { - post: "/v2/geoTargetConstants:suggest" - body: "*" - }; - } -} - -// Request message for [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v2.services.GeoTargetConstantService.GetGeoTargetConstant]. -message GetGeoTargetConstantRequest { - // The resource name of the geo target constant to fetch. - string resource_name = 1; -} - -// Request message for -// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][]. -message SuggestGeoTargetConstantsRequest { - // A list of location names. - message LocationNames { - // A list of location names. - repeated google.protobuf.StringValue names = 1; - } - - // A list of geo target constant resource names. - message GeoTargets { - // A list of geo target constant resource names. - repeated google.protobuf.StringValue geo_target_constants = 1; - } - - // 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. - google.protobuf.StringValue locale = 3; - - // Returned geo targets are restricted to this country code. - google.protobuf.StringValue country_code = 5; - - // Required. A selector of geo target constants. - oneof query { - // The location names to search by. At most 25 names can be set. - LocationNames location_names = 1; - - // The geo target constant resource names to filter by. - GeoTargets geo_targets = 2; - } -} - -// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v2.services.GeoTargetConstantService.SuggestGeoTargetConstants] -message SuggestGeoTargetConstantsResponse { - // Geo target constant suggestions. - repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; -} - -// A geo target constant suggestion. -message GeoTargetConstantSuggestion { - // The language this GeoTargetConstantSuggestion is currently translated to. - // It affects the name of geo target fields. For example, if locale=en, then - // name=Spain. If locale=es, then name=España. The default locale will be - // returned if no translation exists for the locale in the request. - google.protobuf.StringValue locale = 1; - - // Approximate user population that will be targeted, rounded to the - // nearest 100. - google.protobuf.Int64Value reach = 2; - - // If the request searched by location name, this is the location name that - // matched the geo target. - google.protobuf.StringValue search_term = 3; - - // The GeoTargetConstant result. - google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 4; - - // The list of parents of the geo target constant. - repeated google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant_parents = 5; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/geographic_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/geographic_view_service.proto deleted file mode 100644 index 424710aa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/geographic_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/geographic_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GeographicViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the GeographicViewService. - -// Service to manage geographic views. -service GeographicViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested geographic view in full detail. - rpc GetGeographicView(GetGeographicViewRequest) returns (google.ads.googleads.v2.resources.GeographicView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/geographicViews/*}" - }; - } -} - -// Request message for [GeographicViewService.GetGeographicView][google.ads.googleads.v2.services.GeographicViewService.GetGeographicView]. -message GetGeographicViewRequest { - // The resource name of the geographic view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/google_ads_field_service.proto deleted file mode 100644 index 5eb683a2..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/google_ads_field_service.proto +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/google_ads_field.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsFieldServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the GoogleAdsFieldService - -// Service to fetch Google Ads API fields. -service GoogleAdsFieldService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns just the requested field. - rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v2.resources.GoogleAdsField) { - option (google.api.http) = { - get: "/v2/{resource_name=googleAdsFields/*}" - }; - } - - // Returns all fields that match the search query. - rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) { - option (google.api.http) = { - post: "/v2/googleAdsFields:search" - body: "*" - }; - } -} - -// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v2.services.GoogleAdsFieldService.GetGoogleAdsField]. -message GetGoogleAdsFieldRequest { - // The resource name of the field to get. - string resource_name = 1; -} - -// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v2.services.GoogleAdsFieldService.SearchGoogleAdsFields]. -message SearchGoogleAdsFieldsRequest { - // The query string. - string query = 1; - - // Token of the page to retrieve. If not specified, the first page of - // results will be returned. Use the value obtained from `next_page_token` - // in the previous response in order to request the next page of results. - string page_token = 2; - - // Number of elements to retrieve in a single page. - // When too large a page is requested, the server may decide to further - // limit the number of returned resources. - int32 page_size = 3; -} - -// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v2.services.GoogleAdsFieldService.SearchGoogleAdsFields]. -message SearchGoogleAdsFieldsResponse { - // The list of fields that matched the query. - repeated google.ads.googleads.v2.resources.GoogleAdsField results = 1; - - // Pagination token used to retrieve the next page of results. Pass the - // content of this string as the `page_token` attribute of the next request. - // `next_page_token` is not returned for the last page. - string next_page_token = 2; - - // Total number of results that match the query ignoring the LIMIT clause. - int64 total_results_count = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/google_ads_service.proto deleted file mode 100644 index df519798..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/google_ads_service.proto +++ /dev/null @@ -1,867 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/metrics.proto"; -import "google/ads/googleads/v2/common/segments.proto"; -import "google/ads/googleads/v2/resources/account_budget.proto"; -import "google/ads/googleads/v2/resources/account_budget_proposal.proto"; -import "google/ads/googleads/v2/resources/ad_group.proto"; -import "google/ads/googleads/v2/resources/ad_group_ad.proto"; -import "google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto"; -import "google/ads/googleads/v2/resources/ad_group_ad_label.proto"; -import "google/ads/googleads/v2/resources/ad_group_audience_view.proto"; -import "google/ads/googleads/v2/resources/ad_group_bid_modifier.proto"; -import "google/ads/googleads/v2/resources/ad_group_criterion.proto"; -import "google/ads/googleads/v2/resources/ad_group_criterion_label.proto"; -import "google/ads/googleads/v2/resources/ad_group_criterion_simulation.proto"; -import "google/ads/googleads/v2/resources/ad_group_extension_setting.proto"; -import "google/ads/googleads/v2/resources/ad_group_feed.proto"; -import "google/ads/googleads/v2/resources/ad_group_label.proto"; -import "google/ads/googleads/v2/resources/ad_group_simulation.proto"; -import "google/ads/googleads/v2/resources/ad_parameter.proto"; -import "google/ads/googleads/v2/resources/ad_schedule_view.proto"; -import "google/ads/googleads/v2/resources/age_range_view.proto"; -import "google/ads/googleads/v2/resources/asset.proto"; -import "google/ads/googleads/v2/resources/bidding_strategy.proto"; -import "google/ads/googleads/v2/resources/billing_setup.proto"; -import "google/ads/googleads/v2/resources/campaign.proto"; -import "google/ads/googleads/v2/resources/campaign_audience_view.proto"; -import "google/ads/googleads/v2/resources/campaign_bid_modifier.proto"; -import "google/ads/googleads/v2/resources/campaign_budget.proto"; -import "google/ads/googleads/v2/resources/campaign_criterion.proto"; -import "google/ads/googleads/v2/resources/campaign_criterion_simulation.proto"; -import "google/ads/googleads/v2/resources/campaign_draft.proto"; -import "google/ads/googleads/v2/resources/campaign_experiment.proto"; -import "google/ads/googleads/v2/resources/campaign_extension_setting.proto"; -import "google/ads/googleads/v2/resources/campaign_feed.proto"; -import "google/ads/googleads/v2/resources/campaign_label.proto"; -import "google/ads/googleads/v2/resources/campaign_shared_set.proto"; -import "google/ads/googleads/v2/resources/carrier_constant.proto"; -import "google/ads/googleads/v2/resources/change_status.proto"; -import "google/ads/googleads/v2/resources/click_view.proto"; -import "google/ads/googleads/v2/resources/conversion_action.proto"; -import "google/ads/googleads/v2/resources/custom_interest.proto"; -import "google/ads/googleads/v2/resources/customer.proto"; -import "google/ads/googleads/v2/resources/customer_client.proto"; -import "google/ads/googleads/v2/resources/customer_client_link.proto"; -import "google/ads/googleads/v2/resources/customer_extension_setting.proto"; -import "google/ads/googleads/v2/resources/customer_feed.proto"; -import "google/ads/googleads/v2/resources/customer_label.proto"; -import "google/ads/googleads/v2/resources/customer_manager_link.proto"; -import "google/ads/googleads/v2/resources/customer_negative_criterion.proto"; -import "google/ads/googleads/v2/resources/detail_placement_view.proto"; -import "google/ads/googleads/v2/resources/display_keyword_view.proto"; -import "google/ads/googleads/v2/resources/distance_view.proto"; -import "google/ads/googleads/v2/resources/domain_category.proto"; -import "google/ads/googleads/v2/resources/dynamic_search_ads_search_term_view.proto"; -import "google/ads/googleads/v2/resources/expanded_landing_page_view.proto"; -import "google/ads/googleads/v2/resources/extension_feed_item.proto"; -import "google/ads/googleads/v2/resources/feed.proto"; -import "google/ads/googleads/v2/resources/feed_item.proto"; -import "google/ads/googleads/v2/resources/feed_item_target.proto"; -import "google/ads/googleads/v2/resources/feed_mapping.proto"; -import "google/ads/googleads/v2/resources/feed_placeholder_view.proto"; -import "google/ads/googleads/v2/resources/gender_view.proto"; -import "google/ads/googleads/v2/resources/geo_target_constant.proto"; -import "google/ads/googleads/v2/resources/geographic_view.proto"; -import "google/ads/googleads/v2/resources/group_placement_view.proto"; -import "google/ads/googleads/v2/resources/hotel_group_view.proto"; -import "google/ads/googleads/v2/resources/hotel_performance_view.proto"; -import "google/ads/googleads/v2/resources/keyword_plan.proto"; -import "google/ads/googleads/v2/resources/keyword_plan_ad_group.proto"; -import "google/ads/googleads/v2/resources/keyword_plan_campaign.proto"; -import "google/ads/googleads/v2/resources/keyword_plan_keyword.proto"; -import "google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto"; -import "google/ads/googleads/v2/resources/keyword_view.proto"; -import "google/ads/googleads/v2/resources/label.proto"; -import "google/ads/googleads/v2/resources/landing_page_view.proto"; -import "google/ads/googleads/v2/resources/language_constant.proto"; -import "google/ads/googleads/v2/resources/location_view.proto"; -import "google/ads/googleads/v2/resources/managed_placement_view.proto"; -import "google/ads/googleads/v2/resources/media_file.proto"; -import "google/ads/googleads/v2/resources/mobile_app_category_constant.proto"; -import "google/ads/googleads/v2/resources/mobile_device_constant.proto"; -import "google/ads/googleads/v2/resources/mutate_job.proto"; -import "google/ads/googleads/v2/resources/operating_system_version_constant.proto"; -import "google/ads/googleads/v2/resources/paid_organic_search_term_view.proto"; -import "google/ads/googleads/v2/resources/parental_status_view.proto"; -import "google/ads/googleads/v2/resources/product_bidding_category_constant.proto"; -import "google/ads/googleads/v2/resources/product_group_view.proto"; -import "google/ads/googleads/v2/resources/recommendation.proto"; -import "google/ads/googleads/v2/resources/remarketing_action.proto"; -import "google/ads/googleads/v2/resources/search_term_view.proto"; -import "google/ads/googleads/v2/resources/shared_criterion.proto"; -import "google/ads/googleads/v2/resources/shared_set.proto"; -import "google/ads/googleads/v2/resources/shopping_performance_view.proto"; -import "google/ads/googleads/v2/resources/topic_constant.proto"; -import "google/ads/googleads/v2/resources/topic_view.proto"; -import "google/ads/googleads/v2/resources/user_interest.proto"; -import "google/ads/googleads/v2/resources/user_list.proto"; -import "google/ads/googleads/v2/resources/user_location_view.proto"; -import "google/ads/googleads/v2/resources/video.proto"; -import "google/ads/googleads/v2/services/ad_group_ad_label_service.proto"; -import "google/ads/googleads/v2/services/ad_group_ad_service.proto"; -import "google/ads/googleads/v2/services/ad_group_bid_modifier_service.proto"; -import "google/ads/googleads/v2/services/ad_group_criterion_label_service.proto"; -import "google/ads/googleads/v2/services/ad_group_criterion_service.proto"; -import "google/ads/googleads/v2/services/ad_group_extension_setting_service.proto"; -import "google/ads/googleads/v2/services/ad_group_feed_service.proto"; -import "google/ads/googleads/v2/services/ad_group_label_service.proto"; -import "google/ads/googleads/v2/services/ad_group_service.proto"; -import "google/ads/googleads/v2/services/ad_parameter_service.proto"; -import "google/ads/googleads/v2/services/asset_service.proto"; -import "google/ads/googleads/v2/services/bidding_strategy_service.proto"; -import "google/ads/googleads/v2/services/campaign_bid_modifier_service.proto"; -import "google/ads/googleads/v2/services/campaign_budget_service.proto"; -import "google/ads/googleads/v2/services/campaign_criterion_service.proto"; -import "google/ads/googleads/v2/services/campaign_draft_service.proto"; -import "google/ads/googleads/v2/services/campaign_experiment_service.proto"; -import "google/ads/googleads/v2/services/campaign_extension_setting_service.proto"; -import "google/ads/googleads/v2/services/campaign_feed_service.proto"; -import "google/ads/googleads/v2/services/campaign_label_service.proto"; -import "google/ads/googleads/v2/services/campaign_service.proto"; -import "google/ads/googleads/v2/services/campaign_shared_set_service.proto"; -import "google/ads/googleads/v2/services/conversion_action_service.proto"; -import "google/ads/googleads/v2/services/customer_extension_setting_service.proto"; -import "google/ads/googleads/v2/services/customer_feed_service.proto"; -import "google/ads/googleads/v2/services/customer_label_service.proto"; -import "google/ads/googleads/v2/services/customer_negative_criterion_service.proto"; -import "google/ads/googleads/v2/services/customer_service.proto"; -import "google/ads/googleads/v2/services/extension_feed_item_service.proto"; -import "google/ads/googleads/v2/services/feed_item_service.proto"; -import "google/ads/googleads/v2/services/feed_item_target_service.proto"; -import "google/ads/googleads/v2/services/feed_mapping_service.proto"; -import "google/ads/googleads/v2/services/feed_service.proto"; -import "google/ads/googleads/v2/services/label_service.proto"; -import "google/ads/googleads/v2/services/media_file_service.proto"; -import "google/ads/googleads/v2/services/remarketing_action_service.proto"; -import "google/ads/googleads/v2/services/shared_criterion_service.proto"; -import "google/ads/googleads/v2/services/shared_set_service.proto"; -import "google/ads/googleads/v2/services/user_list_service.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GoogleAdsServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the GoogleAdsService. - -// Service to fetch data and metrics across resources. -service GoogleAdsService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns all rows that match the search query. - rpc Search(SearchGoogleAdsRequest) returns (SearchGoogleAdsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/googleAds:search" - body: "*" - }; - } - - // 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 desired 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. - rpc Mutate(MutateGoogleAdsRequest) returns (MutateGoogleAdsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/googleAds:mutate" - body: "*" - }; - } -} - -// Request message for [GoogleAdsService.Search][google.ads.googleads.v2.services.GoogleAdsService.Search]. -message SearchGoogleAdsRequest { - // The ID of the customer being queried. - string customer_id = 1; - - // The query string. - string query = 2; - - // 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, summary row will be included in the response. - // Otherwise(false or not specified) summary row will not be returned. - bool return_summary_row = 6; -} - -// Response message for [GoogleAdsService.Search][google.ads.googleads.v2.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; -} - -// A returned row from the query. -message GoogleAdsRow { - // The account budget in the query. - google.ads.googleads.v2.resources.AccountBudget account_budget = 42; - - // The account budget proposal referenced in the query. - google.ads.googleads.v2.resources.AccountBudgetProposal account_budget_proposal = 43; - - // The ad group referenced in the query. - google.ads.googleads.v2.resources.AdGroup ad_group = 3; - - // The ad referenced in the query. - google.ads.googleads.v2.resources.AdGroupAd ad_group_ad = 16; - - // The ad group ad asset view in the query. - google.ads.googleads.v2.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131; - - // The ad group ad label referenced in the query. - google.ads.googleads.v2.resources.AdGroupAdLabel ad_group_ad_label = 120; - - // The ad group audience view referenced in the query. - google.ads.googleads.v2.resources.AdGroupAudienceView ad_group_audience_view = 57; - - // The bid modifier referenced in the query. - google.ads.googleads.v2.resources.AdGroupBidModifier ad_group_bid_modifier = 24; - - // The criterion referenced in the query. - google.ads.googleads.v2.resources.AdGroupCriterion ad_group_criterion = 17; - - // The ad group criterion label referenced in the query. - google.ads.googleads.v2.resources.AdGroupCriterionLabel ad_group_criterion_label = 121; - - // The ad group criterion simulation referenced in the query. - google.ads.googleads.v2.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110; - - // The ad group extension setting referenced in the query. - google.ads.googleads.v2.resources.AdGroupExtensionSetting ad_group_extension_setting = 112; - - // The ad group feed referenced in the query. - google.ads.googleads.v2.resources.AdGroupFeed ad_group_feed = 67; - - // The ad group label referenced in the query. - google.ads.googleads.v2.resources.AdGroupLabel ad_group_label = 115; - - // The ad group simulation referenced in the query. - google.ads.googleads.v2.resources.AdGroupSimulation ad_group_simulation = 107; - - // The ad parameter referenced in the query. - google.ads.googleads.v2.resources.AdParameter ad_parameter = 130; - - // The age range view referenced in the query. - google.ads.googleads.v2.resources.AgeRangeView age_range_view = 48; - - // The ad schedule view referenced in the query. - google.ads.googleads.v2.resources.AdScheduleView ad_schedule_view = 89; - - // The domain category referenced in the query. - google.ads.googleads.v2.resources.DomainCategory domain_category = 91; - - // The asset referenced in the query. - google.ads.googleads.v2.resources.Asset asset = 105; - - // The bidding strategy referenced in the query. - google.ads.googleads.v2.resources.BiddingStrategy bidding_strategy = 18; - - // The billing setup referenced in the query. - google.ads.googleads.v2.resources.BillingSetup billing_setup = 41; - - // The campaign budget referenced in the query. - google.ads.googleads.v2.resources.CampaignBudget campaign_budget = 19; - - // The campaign referenced in the query. - google.ads.googleads.v2.resources.Campaign campaign = 2; - - // The campaign audience view referenced in the query. - google.ads.googleads.v2.resources.CampaignAudienceView campaign_audience_view = 69; - - // The campaign bid modifier referenced in the query. - google.ads.googleads.v2.resources.CampaignBidModifier campaign_bid_modifier = 26; - - // The campaign criterion referenced in the query. - google.ads.googleads.v2.resources.CampaignCriterion campaign_criterion = 20; - - // The campaign criterion simulation referenced in the query. - google.ads.googleads.v2.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111; - - // The campaign draft referenced in the query. - google.ads.googleads.v2.resources.CampaignDraft campaign_draft = 49; - - // The campaign experiment referenced in the query. - google.ads.googleads.v2.resources.CampaignExperiment campaign_experiment = 84; - - // The campaign extension setting referenced in the query. - google.ads.googleads.v2.resources.CampaignExtensionSetting campaign_extension_setting = 113; - - // The campaign feed referenced in the query. - google.ads.googleads.v2.resources.CampaignFeed campaign_feed = 63; - - // The campaign label referenced in the query. - google.ads.googleads.v2.resources.CampaignLabel campaign_label = 108; - - // Campaign Shared Set referenced in AWQL query. - google.ads.googleads.v2.resources.CampaignSharedSet campaign_shared_set = 30; - - // The carrier constant referenced in the query. - google.ads.googleads.v2.resources.CarrierConstant carrier_constant = 66; - - // The ChangeStatus referenced in the query. - google.ads.googleads.v2.resources.ChangeStatus change_status = 37; - - // The conversion action referenced in the query. - google.ads.googleads.v2.resources.ConversionAction conversion_action = 103; - - // The ClickView referenced in the query. - google.ads.googleads.v2.resources.ClickView click_view = 122; - - // The CustomInterest referenced in the query. - google.ads.googleads.v2.resources.CustomInterest custom_interest = 104; - - // The customer referenced in the query. - google.ads.googleads.v2.resources.Customer customer = 1; - - // The CustomerManagerLink referenced in the query. - google.ads.googleads.v2.resources.CustomerManagerLink customer_manager_link = 61; - - // The CustomerClientLink referenced in the query. - google.ads.googleads.v2.resources.CustomerClientLink customer_client_link = 62; - - // The CustomerClient referenced in the query. - google.ads.googleads.v2.resources.CustomerClient customer_client = 70; - - // The customer extension setting referenced in the query. - google.ads.googleads.v2.resources.CustomerExtensionSetting customer_extension_setting = 114; - - // The customer feed referenced in the query. - google.ads.googleads.v2.resources.CustomerFeed customer_feed = 64; - - // The customer label referenced in the query. - google.ads.googleads.v2.resources.CustomerLabel customer_label = 124; - - // The customer negative criterion referenced in the query. - google.ads.googleads.v2.resources.CustomerNegativeCriterion customer_negative_criterion = 88; - - // The detail placement view referenced in the query. - google.ads.googleads.v2.resources.DetailPlacementView detail_placement_view = 118; - - // The display keyword view referenced in the query. - google.ads.googleads.v2.resources.DisplayKeywordView display_keyword_view = 47; - - // The distance view referenced in the query. - google.ads.googleads.v2.resources.DistanceView distance_view = 132; - - // The dynamic search ads search term view referenced in the query. - google.ads.googleads.v2.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106; - - // The expanded landing page view referenced in the query. - google.ads.googleads.v2.resources.ExpandedLandingPageView expanded_landing_page_view = 128; - - // The extension feed item referenced in the query. - google.ads.googleads.v2.resources.ExtensionFeedItem extension_feed_item = 85; - - // The feed referenced in the query. - google.ads.googleads.v2.resources.Feed feed = 46; - - // The feed item referenced in the query. - google.ads.googleads.v2.resources.FeedItem feed_item = 50; - - // The feed item target referenced in the query. - google.ads.googleads.v2.resources.FeedItemTarget feed_item_target = 116; - - // The feed mapping referenced in the query. - google.ads.googleads.v2.resources.FeedMapping feed_mapping = 58; - - // The feed placeholder view referenced in the query. - google.ads.googleads.v2.resources.FeedPlaceholderView feed_placeholder_view = 97; - - // The gender view referenced in the query. - google.ads.googleads.v2.resources.GenderView gender_view = 40; - - // The geo target constant referenced in the query. - google.ads.googleads.v2.resources.GeoTargetConstant geo_target_constant = 23; - - // The geographic view referenced in the query. - google.ads.googleads.v2.resources.GeographicView geographic_view = 125; - - // The group placement view referenced in the query. - google.ads.googleads.v2.resources.GroupPlacementView group_placement_view = 119; - - // The hotel group view referenced in the query. - google.ads.googleads.v2.resources.HotelGroupView hotel_group_view = 51; - - // The hotel performance view referenced in the query. - google.ads.googleads.v2.resources.HotelPerformanceView hotel_performance_view = 71; - - // The keyword view referenced in the query. - google.ads.googleads.v2.resources.KeywordView keyword_view = 21; - - // The keyword plan referenced in the query. - google.ads.googleads.v2.resources.KeywordPlan keyword_plan = 32; - - // The keyword plan campaign referenced in the query. - google.ads.googleads.v2.resources.KeywordPlanCampaign keyword_plan_campaign = 33; - - // The keyword plan negative keyword referenced in the query. - google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword keyword_plan_negative_keyword = 34; - - // The keyword plan ad group referenced in the query. - google.ads.googleads.v2.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35; - - // The keyword plan keyword referenced in the query. - google.ads.googleads.v2.resources.KeywordPlanKeyword keyword_plan_keyword = 36; - - // The label referenced in the query. - google.ads.googleads.v2.resources.Label label = 52; - - // The landing page view referenced in the query. - google.ads.googleads.v2.resources.LandingPageView landing_page_view = 126; - - // The language constant referenced in the query. - google.ads.googleads.v2.resources.LanguageConstant language_constant = 55; - - // The location view referenced in the query. - google.ads.googleads.v2.resources.LocationView location_view = 123; - - // The managed placement view referenced in the query. - google.ads.googleads.v2.resources.ManagedPlacementView managed_placement_view = 53; - - // The media file referenced in the query. - google.ads.googleads.v2.resources.MediaFile media_file = 90; - - // The mobile app category constant referenced in the query. - google.ads.googleads.v2.resources.MobileAppCategoryConstant mobile_app_category_constant = 87; - - // The mobile device constant referenced in the query. - google.ads.googleads.v2.resources.MobileDeviceConstant mobile_device_constant = 98; - - // The mutate job referenced in the query. - google.ads.googleads.v2.resources.MutateJob mutate_job = 127; - - // The operating system version constant referenced in the query. - google.ads.googleads.v2.resources.OperatingSystemVersionConstant operating_system_version_constant = 86; - - // The paid organic search term view referenced in the query. - google.ads.googleads.v2.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129; - - // The parental status view referenced in the query. - google.ads.googleads.v2.resources.ParentalStatusView parental_status_view = 45; - - // The Product Bidding Category referenced in the query. - google.ads.googleads.v2.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109; - - // The product group view referenced in the query. - google.ads.googleads.v2.resources.ProductGroupView product_group_view = 54; - - // The recommendation referenced in the query. - google.ads.googleads.v2.resources.Recommendation recommendation = 22; - - // The search term view referenced in the query. - google.ads.googleads.v2.resources.SearchTermView search_term_view = 68; - - // The shared set referenced in the query. - google.ads.googleads.v2.resources.SharedCriterion shared_criterion = 29; - - // The shared set referenced in the query. - google.ads.googleads.v2.resources.SharedSet shared_set = 27; - - // The shopping performance view referenced in the query. - google.ads.googleads.v2.resources.ShoppingPerformanceView shopping_performance_view = 117; - - // The topic view referenced in the query. - google.ads.googleads.v2.resources.TopicView topic_view = 44; - - // The user interest referenced in the query. - google.ads.googleads.v2.resources.UserInterest user_interest = 59; - - // The user list referenced in the query. - google.ads.googleads.v2.resources.UserList user_list = 38; - - // The user location view referenced in the query. - google.ads.googleads.v2.resources.UserLocationView user_location_view = 135; - - // The remarketing action referenced in the query. - google.ads.googleads.v2.resources.RemarketingAction remarketing_action = 60; - - // The topic constant referenced in the query. - google.ads.googleads.v2.resources.TopicConstant topic_constant = 31; - - // The video referenced in the query. - google.ads.googleads.v2.resources.Video video = 39; - - // The metrics. - google.ads.googleads.v2.common.Metrics metrics = 4; - - // The segments. - google.ads.googleads.v2.common.Segments segments = 102; -} - -// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v2.services.GoogleAdsService.Mutate]. -message MutateGoogleAdsRequest { - // The ID of the customer whose resources are being modified. - string customer_id = 1; - - // The list of operations to perform on individual resources. - repeated MutateOperation mutate_operations = 2; - - // 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; -} - -// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v2.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 (e.g., 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 bid modifier mutate operation. - AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2; - - // 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 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 parameter mutate operation. - AdParameterOperation ad_parameter_operation = 22; - - // An asset mutate operation. - AssetOperation asset_operation = 23; - - // A bidding strategy mutate operation. - BiddingStrategyOperation bidding_strategy_operation = 6; - - // A campaign bid modifier mutate operation. - CampaignBidModifierOperation campaign_bid_modifier_operation = 7; - - // A campaign budget mutate operation. - CampaignBudgetOperation campaign_budget_operation = 8; - - // A campaign criterion mutate operation. - CampaignCriterionOperation campaign_criterion_operation = 13; - - // A campaign draft mutate operation. - CampaignDraftOperation campaign_draft_operation = 24; - - // A campaign experiment mutate operation. - CampaignExperimentOperation campaign_experiment_operation = 25; - - // A campaign extension setting mutate operation. - CampaignExtensionSettingOperation campaign_extension_setting_operation = 26; - - // A campaign feed mutate operation. - CampaignFeedOperation campaign_feed_operation = 27; - - // 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 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; - - // 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 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 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 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 bid modifier mutate. - MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2; - - // 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 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 asset mutate. - MutateAssetResult asset_result = 23; - - // The result for the bidding strategy mutate. - MutateBiddingStrategyResult bidding_strategy_result = 6; - - // 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 criterion mutate. - MutateCampaignCriterionResult campaign_criterion_result = 13; - - // The result for the campaign draft mutate. - MutateCampaignDraftResult campaign_draft_result = 24; - - // The result for the campaign experiment mutate. - MutateCampaignExperimentResult campaign_experiment_result = 25; - - // 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 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 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 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 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 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 user list mutate. - MutateUserListResult user_list_result = 16; - } -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/group_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/group_placement_view_service.proto deleted file mode 100644 index 6bdae84d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/group_placement_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/group_placement_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "GroupPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Group Placement View service. - -// Service to fetch Group Placement views. -service GroupPlacementViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Group Placement view in full detail. - rpc GetGroupPlacementView(GetGroupPlacementViewRequest) returns (google.ads.googleads.v2.resources.GroupPlacementView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/groupPlacementViews/*}" - }; - } -} - -// Request message for [GroupPlacementViewService.GetGroupPlacementView][google.ads.googleads.v2.services.GroupPlacementViewService.GetGroupPlacementView]. -message GetGroupPlacementViewRequest { - // The resource name of the Group Placement view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/hotel_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/hotel_group_view_service.proto deleted file mode 100644 index 9a3ab0dd..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/hotel_group_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/hotel_group_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "HotelGroupViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Hotel Group View Service. - -// Service to manage Hotel Group Views. -service HotelGroupViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Hotel Group View in full detail. - rpc GetHotelGroupView(GetHotelGroupViewRequest) returns (google.ads.googleads.v2.resources.HotelGroupView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/hotelGroupViews/*}" - }; - } -} - -// Request message for [HotelGroupViewService.GetHotelGroupView][google.ads.googleads.v2.services.HotelGroupViewService.GetHotelGroupView]. -message GetHotelGroupViewRequest { - // Resource name of the Hotel Group View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/hotel_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/hotel_performance_view_service.proto deleted file mode 100644 index ab54b8a9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/hotel_performance_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/hotel_performance_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "HotelPerformanceViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Hotel Performance View Service. - -// Service to manage Hotel Performance Views. -service HotelPerformanceViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Hotel Performance View in full detail. - rpc GetHotelPerformanceView(GetHotelPerformanceViewRequest) returns (google.ads.googleads.v2.resources.HotelPerformanceView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/hotelPerformanceView}" - }; - } -} - -// Request message for [HotelPerformanceViewService.GetHotelPerformanceView][google.ads.googleads.v2.services.HotelPerformanceViewService.GetHotelPerformanceView]. -message GetHotelPerformanceViewRequest { - // Resource name of the Hotel Performance View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/invoice_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/invoice_service.proto deleted file mode 100644 index af3e1643..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/invoice_service.proto +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/enums/month_of_year.proto"; -import "google/ads/googleads/v2/resources/invoice.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "InvoiceServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Invoice service. - -// A service to fetch invoices issued for a billing setup during a given month. -service InvoiceService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns all invoices associated with a billing setup, for a given month. - rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { - option (google.api.http) = { - get: "/v2/customers/{customer_id=*}/invoices" - }; - } -} - -// Request message for fetching the invoices of a given billing setup that were -// issued during a given month. -message ListInvoicesRequest { - // The ID of the customer to fetch invoices for. - string customer_id = 1; - - // Required. The billing setup resource name of the requested invoices. - // - // `customers/{customer_id}/billingSetups/{billing_setup_id}` - string billing_setup = 2; - - // Required. The issue year to retrieve invoices, in yyyy format. Only - // invoices issued in 2019 or later can be retrieved. - string issue_year = 3; - - // Required. The issue month to retrieve invoices. - google.ads.googleads.v2.enums.MonthOfYearEnum.MonthOfYear issue_month = 4; -} - -// Response message for [InvoiceService.ListInvoices][google.ads.googleads.v2.services.InvoiceService.ListInvoices]. -message ListInvoicesResponse { - // The list of invoices that match the billing setup and time period. - repeated google.ads.googleads.v2.resources.Invoice invoices = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto deleted file mode 100644 index f6ae5a9d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/keyword_plan_ad_group.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanAdGroupServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan ad group service. - -// Service to manage Keyword Plan ad groups. -service KeywordPlanAdGroupService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Keyword Plan ad group in full detail. - rpc GetKeywordPlanAdGroup(GetKeywordPlanAdGroupRequest) returns (google.ads.googleads.v2.resources.KeywordPlanAdGroup) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordPlanAdGroups/*}" - }; - } - - // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are - // returned. - rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/keywordPlanAdGroups:mutate" - body: "*" - }; - } -} - -// Request message for [KeywordPlanAdGroupService.GetKeywordPlanAdGroup][google.ads.googleads.v2.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup]. -message GetKeywordPlanAdGroupRequest { - // The resource name of the Keyword Plan ad group to fetch. - string resource_name = 1; -} - -// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v2.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. -message MutateKeywordPlanAdGroupsRequest { - // The ID of the customer whose Keyword Plan ad groups are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan ad groups. - repeated KeywordPlanAdGroupOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update, remove) on a Keyword Plan ad group. -message KeywordPlanAdGroupOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // ad group. - google.ads.googleads.v2.resources.KeywordPlanAdGroup create = 1; - - // Update operation: The Keyword Plan ad group is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.KeywordPlanAdGroup update = 2; - - // Remove operation: A resource name for the removed Keyword Plan ad group - // is expected, in this format: - // - // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` - string remove = 3; - } -} - -// 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 (e.g. auth errors), - // we return an RPC level error. - google.rpc.Status partial_failure_error = 3; - - // All results for the mutate. - repeated MutateKeywordPlanAdGroupResult results = 2; -} - -// The result for the Keyword Plan ad group mutate. -message MutateKeywordPlanAdGroupResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_campaign_service.proto deleted file mode 100644 index 70ee20af..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_campaign_service.proto +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/keyword_plan_campaign.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanCampaignServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan campaign service. - -// Service to manage Keyword Plan campaigns. -service KeywordPlanCampaignService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Keyword Plan campaign in full detail. - rpc GetKeywordPlanCampaign(GetKeywordPlanCampaignRequest) returns (google.ads.googleads.v2.resources.KeywordPlanCampaign) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordPlanCampaigns/*}" - }; - } - - // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are - // returned. - rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/keywordPlanCampaigns:mutate" - body: "*" - }; - } -} - -// Request message for [KeywordPlanCampaignService.GetKeywordPlanCampaign][google.ads.googleads.v2.services.KeywordPlanCampaignService.GetKeywordPlanCampaign]. -message GetKeywordPlanCampaignRequest { - // The resource name of the Keyword Plan campaign to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v2.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. -message MutateKeywordPlanCampaignsRequest { - // The ID of the customer whose Keyword Plan campaigns are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan campaigns. - repeated KeywordPlanCampaignOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update, remove) on a Keyword Plan campaign. -message KeywordPlanCampaignOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // campaign. - google.ads.googleads.v2.resources.KeywordPlanCampaign create = 1; - - // Update operation: The Keyword Plan campaign is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.KeywordPlanCampaign update = 2; - - // Remove operation: A resource name for the removed Keyword Plan campaign - // is expected, in this format: - // - // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_idea_service.proto deleted file mode 100644 index 1e656665..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_idea_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/keyword_plan_common.proto"; -import "google/ads/googleads/v2/enums/keyword_plan_network.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanIdeaServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan idea service. - -// Service to generate keyword ideas. -service KeywordPlanIdeaService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns a list of keyword ideas. - rpc GenerateKeywordIdeas(GenerateKeywordIdeasRequest) returns (GenerateKeywordIdeaResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:generateKeywordIdeas" - body: "*" - }; - } -} - -// Request message for [KeywordIdeaService.GenerateKeywordIdeas][]. -message GenerateKeywordIdeasRequest { - // The ID of the customer with the recommendation. - string customer_id = 1; - - // The resource name of the language to target. - // Required - google.protobuf.StringValue language = 7; - - // The resource names of the location to target. - // Max 10 - repeated google.protobuf.StringValue geo_target_constants = 8; - - // Targeting network. - google.ads.googleads.v2.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; - - // The type of seed to generate keyword ideas. - oneof seed { - // A Keyword and a specific Url to generate ideas from - // e.g. cars, www.example.com/cars. - KeywordAndUrlSeed keyword_and_url_seed = 2; - - // A Keyword or phrase to generate ideas from, e.g. cars. - KeywordSeed keyword_seed = 3; - - // A specific url to generate ideas from, e.g. www.example.com/cars. - UrlSeed url_seed = 5; - } -} - -// Keyword And Url Seed -message KeywordAndUrlSeed { - // The URL to crawl in order to generate keyword ideas. - google.protobuf.StringValue url = 1; - - // Requires at least one keyword. - repeated google.protobuf.StringValue keywords = 2; -} - -// Keyword Seed -message KeywordSeed { - // Requires at least one keyword. - repeated google.protobuf.StringValue keywords = 1; -} - -// Url Seed -message UrlSeed { - // The URL to crawl in order to generate keyword ideas. - google.protobuf.StringValue url = 1; -} - -// Response message for [KeywordIdeaService.GenerateKeywordIdeas][]. -message GenerateKeywordIdeaResponse { - // Results of generating keyword ideas. - repeated GenerateKeywordIdeaResult results = 1; -} - -// 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. - google.protobuf.StringValue text = 2; - - // The historical metrics for the keyword - google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_keyword_service.proto deleted file mode 100644 index 1e9a1aad..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_keyword_service.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/keyword_plan_keyword.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanKeywordServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan keyword service. - -// Service to manage Keyword Plan ad group keywords. -service KeywordPlanKeywordService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Keyword Plan keyword in full detail. - rpc GetKeywordPlanKeyword(GetKeywordPlanKeywordRequest) returns (google.ads.googleads.v2.resources.KeywordPlanKeyword) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordPlanKeywords/*}" - }; - } - - // Creates, updates, or removes Keyword Plan keywords. Operation statuses are - // returned. - rpc MutateKeywordPlanKeywords(MutateKeywordPlanKeywordsRequest) returns (MutateKeywordPlanKeywordsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/keywordPlanKeywords:mutate" - body: "*" - }; - } -} - -// Request message for [KeywordPlanKeywordService.GetKeywordPlanKeyword][google.ads.googleads.v2.services.KeywordPlanKeywordService.GetKeywordPlanKeyword]. -message GetKeywordPlanKeywordRequest { - // The resource name of the ad group keyword to fetch. - string resource_name = 1; -} - -// Request message for [KeywordPlanKeywordService.MutateKeywordPlanKeywords][google.ads.googleads.v2.services.KeywordPlanKeywordService.MutateKeywordPlanKeywords]. -message MutateKeywordPlanKeywordsRequest { - // The ID of the customer whose Keyword Plan keywords are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan keywords. - repeated KeywordPlanKeywordOperation operations = 2; - - // 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 keyword. -message KeywordPlanKeywordOperation { - // The FieldMask that determines which resource fields are modified in an - // update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new Keyword Plan - // ad group keyword. - google.ads.googleads.v2.resources.KeywordPlanKeyword create = 1; - - // Update operation: The Keyword Plan keyword is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.KeywordPlanKeyword update = 2; - - // Remove operation: A resource name for the removed Keyword Plan keyword is - // expected, in this format: - // - // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}` - string remove = 3; - } -} - -// Response message for a Keyword Plan keyword mutate. -message MutateKeywordPlanKeywordsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateKeywordPlanKeywordResult results = 2; -} - -// The result for the Keyword Plan keyword mutate. -message MutateKeywordPlanKeywordResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_negative_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_negative_keyword_service.proto deleted file mode 100644 index 197cae4d..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_negative_keyword_service.proto +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/keyword_plan_negative_keyword.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanNegativeKeywordServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan negative keyword service. - -// Service to manage Keyword Plan negative keywords. -service KeywordPlanNegativeKeywordService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested plan in full detail. - rpc GetKeywordPlanNegativeKeyword(GetKeywordPlanNegativeKeywordRequest) returns (google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordPlanNegativeKeywords/*}" - }; - } - - // Creates, updates, or removes Keyword Plan negative keywords. Operation - // statuses are returned. - rpc MutateKeywordPlanNegativeKeywords(MutateKeywordPlanNegativeKeywordsRequest) returns (MutateKeywordPlanNegativeKeywordsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/keywordPlanNegativeKeywords:mutate" - body: "*" - }; - } -} - -// Request message for -// [KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword][google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword]. -message GetKeywordPlanNegativeKeywordRequest { - // The resource name of the plan to fetch. - string resource_name = 1; -} - -// Request message for -// [KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords][google.ads.googleads.v2.services.KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords]. -message MutateKeywordPlanNegativeKeywordsRequest { - // The ID of the customer whose negative keywords are being modified. - string customer_id = 1; - - // The list of operations to perform on individual Keyword Plan negative - // keywords. - repeated KeywordPlanNegativeKeywordOperation operations = 2; - - // 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 negative -// keyword. -message KeywordPlanNegativeKeywordOperation { - // 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 - // negative keyword. - google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword create = 1; - - // Update operation: The Keyword Plan negative keyword expected to have a - // valid resource name. - google.ads.googleads.v2.resources.KeywordPlanNegativeKeyword update = 2; - - // Remove operation: A resource name for the removed Keyword Plan negative - // keywords expected in this format: - // - // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}` - string remove = 3; - } -} - -// Response message for a Keyword Plan negative keyword mutate. -message MutateKeywordPlanNegativeKeywordsResponse { - // 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 = 3; - - // All results for the mutate. - repeated MutateKeywordPlanNegativeKeywordResult results = 2; -} - -// The result for the Keyword Plan negative keyword mutate. -message MutateKeywordPlanNegativeKeywordResult { - // Returned for successful operations. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_service.proto deleted file mode 100644 index 7d5095ab..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_plan_service.proto +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/keyword_plan_common.proto"; -import "google/ads/googleads/v2/resources/keyword_plan.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordPlanServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the keyword plan service. - -// Service to manage keyword plans. -service KeywordPlanService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested plan in full detail. - rpc GetKeywordPlan(GetKeywordPlanRequest) returns (google.ads.googleads.v2.resources.KeywordPlan) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordPlans/*}" - }; - } - - // Creates, updates, or removes keyword plans. Operation statuses are - // returned. - rpc MutateKeywordPlans(MutateKeywordPlansRequest) returns (MutateKeywordPlansResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/keywordPlans:mutate" - body: "*" - }; - } - - // Returns the requested Keyword Plan forecasts. - rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) { - option (google.api.http) = { - post: "/v2/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" - body: "*" - }; - } - - // Returns the requested Keyword Plan historical metrics. - rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) { - option (google.api.http) = { - post: "/v2/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" - body: "*" - }; - } -} - -// Request message for [KeywordPlanService.GetKeywordPlan][google.ads.googleads.v2.services.KeywordPlanService.GetKeywordPlan]. -message GetKeywordPlanRequest { - // The resource name of the plan to fetch. - string resource_name = 1; -} - -// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v2.services.KeywordPlanService.MutateKeywordPlans]. -message MutateKeywordPlansRequest { - // The ID of the customer whose keyword plans are being modified. - string customer_id = 1; - - // The list of operations to perform on individual keyword plans. - repeated KeywordPlanOperation operations = 2; - - // 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.v2.resources.KeywordPlan create = 1; - - // Update operation: The keyword plan is expected to have a valid resource - // name. - google.ads.googleads.v2.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; - } -} - -// 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 (e.g. 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; -} - -// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v2.services.KeywordPlanService.GenerateForecastMetrics]. -message GenerateForecastMetricsRequest { - // The resource name of the keyword plan to be forecasted. - string keyword_plan = 1; -} - -// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v2.services.KeywordPlanService.GenerateForecastMetrics]. -message GenerateForecastMetricsResponse { - // List of campaign forecasts. - // One maximum. - repeated KeywordPlanCampaignForecast campaign_forecasts = 1; - - // List of ad group forecasts. - repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; - - // List of keyword forecasts. - repeated KeywordPlanKeywordForecast keyword_forecasts = 3; -} - -// A campaign forecast. -message KeywordPlanCampaignForecast { - // The resource name of the Keyword Plan campaign related to the forecast. - // - // `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}` - google.protobuf.StringValue keyword_plan_campaign = 1; - - // The forecast for the Keyword Plan campaign. - ForecastMetrics campaign_forecast = 2; -} - -// An ad group forecast. -message KeywordPlanAdGroupForecast { - // The resource name of the Keyword Plan ad group related to the forecast. - // - // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` - google.protobuf.StringValue keyword_plan_ad_group = 1; - - // The forecast for the Keyword Plan ad group. - ForecastMetrics ad_group_forecast = 2; -} - -// A keyword forecast. -message KeywordPlanKeywordForecast { - // The resource name of the Keyword Plan keyword related to the forecast. - // - // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` - google.protobuf.StringValue keyword_plan_ad_group_keyword = 1; - - // The forecast for the Keyword Plan keyword. - ForecastMetrics keyword_forecast = 2; -} - -// Forecast metrics. -message ForecastMetrics { - // Impressions - google.protobuf.DoubleValue impressions = 1; - - // Ctr - google.protobuf.DoubleValue ctr = 2; - - // AVG cpc - google.protobuf.Int64Value average_cpc = 3; - - // Clicks - google.protobuf.DoubleValue clicks = 5; - - // Cost - google.protobuf.Int64Value cost_micros = 6; -} - -// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v2.services.KeywordPlanService.GenerateHistoricalMetrics]. -message GenerateHistoricalMetricsRequest { - // The resource name of the keyword plan of which historical metrics are - // requested. - string keyword_plan = 1; -} - -// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v2.services.KeywordPlanService.GenerateHistoricalMetrics]. -message GenerateHistoricalMetricsResponse { - // List of keyword historical metrics. - repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; -} - -// A keyword historical metrics. -message KeywordPlanKeywordHistoricalMetrics { - // The text of the query associated with one or more ad_group_keywords in the - // plan. - // - // Note that we de-dupe your keywords list, eliminating close variants before - // returning the plan's keywords as text. For example, if your plan originally - // contained the keywords 'car' and 'cars', the returned search query will - // only contain 'car'. - google.protobuf.StringValue search_query = 1; - - // The historical metrics for the query associated with one or more - // ad_group_keywords in the plan. - google.ads.googleads.v2.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/keyword_view_service.proto deleted file mode 100644 index 776c594e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/keyword_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/keyword_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "KeywordViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Keyword View service. - -// Service to manage keyword views. -service KeywordViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested keyword view in full detail. - rpc GetKeywordView(GetKeywordViewRequest) returns (google.ads.googleads.v2.resources.KeywordView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/keywordViews/*}" - }; - } -} - -// Request message for [KeywordViewService.GetKeywordView][google.ads.googleads.v2.services.KeywordViewService.GetKeywordView]. -message GetKeywordViewRequest { - // The resource name of the keyword view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/label_service.proto deleted file mode 100644 index b06c492a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/label_service.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/label.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LabelServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to manage labels. -service LabelService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested label in full detail. - rpc GetLabel(GetLabelRequest) returns (google.ads.googleads.v2.resources.Label) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/labels/*}" - }; - } - - // Creates, updates, or removes labels. Operation statuses are returned. - rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/labels:mutate" - body: "*" - }; - } -} - -// Request message for [LabelService.GetLabel][google.ads.googleads.v2.services.LabelService.GetLabel]. -message GetLabelRequest { - // The resource name of the label to fetch. - string resource_name = 1; -} - -// Request message for [LabelService.MutateLabels][google.ads.googleads.v2.services.LabelService.MutateLabels]. -message MutateLabelsRequest { - // ID of the customer whose labels are being modified. - string customer_id = 1; - - // The list of operations to perform on labels. - repeated LabelOperation operations = 2; - - // 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, update) on a label. -message LabelOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new label. - google.ads.googleads.v2.resources.Label create = 1; - - // Update operation: The label is expected to have a valid resource name. - google.ads.googleads.v2.resources.Label update = 2; - - // Remove operation: A resource name for the label being removed, in - // this format: - // - // `customers/{customer_id}/labels/{label_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/landing_page_view_service.proto deleted file mode 100644 index ef5e9f13..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/landing_page_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/landing_page_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LandingPageViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the landing page view service. - -// Service to fetch landing page views. -service LandingPageViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested landing page view in full detail. - rpc GetLandingPageView(GetLandingPageViewRequest) returns (google.ads.googleads.v2.resources.LandingPageView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/landingPageViews/*}" - }; - } -} - -// Request message for [LandingPageViewService.GetLandingPageView][google.ads.googleads.v2.services.LandingPageViewService.GetLandingPageView]. -message GetLandingPageViewRequest { - // The resource name of the landing page view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/language_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/language_constant_service.proto deleted file mode 100644 index b326a54e..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/language_constant_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/language_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LanguageConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the language constant service. - -// Service to fetch language constants. -service LanguageConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested language constant. - rpc GetLanguageConstant(GetLanguageConstantRequest) returns (google.ads.googleads.v2.resources.LanguageConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=languageConstants/*}" - }; - } -} - -// Request message for [LanguageConstantService.GetLanguageConstant][google.ads.googleads.v2.services.LanguageConstantService.GetLanguageConstant]. -message GetLanguageConstantRequest { - // Resource name of the language constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/location_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/location_view_service.proto deleted file mode 100644 index 2e164c5c..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/location_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/location_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "LocationViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Location View service. - -// Service to fetch location views. -service LocationViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested location view in full detail. - rpc GetLocationView(GetLocationViewRequest) returns (google.ads.googleads.v2.resources.LocationView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/locationViews/*}" - }; - } -} - -// Request message for [LocationViewService.GetLocationView][google.ads.googleads.v2.services.LocationViewService.GetLocationView]. -message GetLocationViewRequest { - // The resource name of the location view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/managed_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/managed_placement_view_service.proto deleted file mode 100644 index 3575c8b4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/managed_placement_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/managed_placement_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ManagedPlacementViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Managed Placement View service. - -// Service to manage Managed Placement views. -service ManagedPlacementViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Managed Placement view in full detail. - rpc GetManagedPlacementView(GetManagedPlacementViewRequest) returns (google.ads.googleads.v2.resources.ManagedPlacementView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/managedPlacementViews/*}" - }; - } -} - -// Request message for [ManagedPlacementViewService.GetManagedPlacementView][google.ads.googleads.v2.services.ManagedPlacementViewService.GetManagedPlacementView]. -message GetManagedPlacementViewRequest { - // The resource name of the Managed Placement View to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/media_file_service.proto deleted file mode 100644 index f465583a..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/media_file_service.proto +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/media_file.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MediaFileServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Media File service. - -// Service to manage media files. -service MediaFileService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested media file in full detail. - rpc GetMediaFile(GetMediaFileRequest) returns (google.ads.googleads.v2.resources.MediaFile) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/mediaFiles/*}" - }; - } - - // Creates media files. Operation statuses are returned. - rpc MutateMediaFiles(MutateMediaFilesRequest) returns (MutateMediaFilesResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/mediaFiles:mutate" - body: "*" - }; - } -} - -// Request message for [MediaFileService.GetMediaFile][google.ads.googleads.v2.services.MediaFileService.GetMediaFile] -message GetMediaFileRequest { - // The resource name of the media file to fetch. - string resource_name = 1; -} - -// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v2.services.MediaFileService.MutateMediaFiles] -message MutateMediaFilesRequest { - // The ID of the customer whose media files are being modified. - string customer_id = 1; - - // The list of operations to perform on individual media file. - repeated MediaFileOperation operations = 2; - - // 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 to create media file. -message MediaFileOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new media file. - google.ads.googleads.v2.resources.MediaFile create = 1; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/merchant_center_link_service.proto deleted file mode 100644 index 828302c4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/merchant_center_link_service.proto +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/merchant_center_link.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MerchantCenterLinkServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// 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"; - - // Returns Merchant Center links available for this customer. - rpc ListMerchantCenterLinks(ListMerchantCenterLinksRequest) returns (ListMerchantCenterLinksResponse) { - option (google.api.http) = { - get: "/v2/customers/{customer_id=*}/merchantCenterLinks" - }; - } - - // Returns the Merchant Center link in full detail. - rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v2.resources.MerchantCenterLink) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/merchantCenterLinks/*}" - }; - } - - // Updates status or removes a Merchant Center link. - rpc MutateMerchantCenterLink(MutateMerchantCenterLinkRequest) returns (MutateMerchantCenterLinkResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/merchantCenterLinks:mutate" - body: "*" - }; - } -} - -// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v2.services.MerchantCenterLinkService.ListMerchantCenterLinks]. -message ListMerchantCenterLinksRequest { - // The ID of the customer onto which to apply the Merchant Center link list - // operation. - string customer_id = 1; -} - -// Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v2.services.MerchantCenterLinkService.ListMerchantCenterLinks]. -message ListMerchantCenterLinksResponse { - // Merchant Center links available for the requested customer - repeated google.ads.googleads.v2.resources.MerchantCenterLink merchant_center_links = 1; -} - -// Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v2.services.MerchantCenterLinkService.GetMerchantCenterLink]. -message GetMerchantCenterLinkRequest { - // Resource name of the Merchant Center link. - string resource_name = 1; -} - -// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v2.services.MerchantCenterLinkService.MutateMerchantCenterLink]. -message MutateMerchantCenterLinkRequest { - // The ID of the customer being modified. - string customer_id = 1; - - // The operation to perform on the link - MerchantCenterLinkOperation operation = 2; -} - -// 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. - google.ads.googleads.v2.resources.MerchantCenterLink update = 1; - - // 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; - } -} - -// 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/mobile_app_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/mobile_app_category_constant_service.proto deleted file mode 100644 index 180c99f9..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/mobile_app_category_constant_service.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/mobile_app_category_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MobileAppCategoryConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Service to fetch mobile app category constants. -service MobileAppCategoryConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested mobile app category constant. - rpc GetMobileAppCategoryConstant(GetMobileAppCategoryConstantRequest) returns (google.ads.googleads.v2.resources.MobileAppCategoryConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=mobileAppCategoryConstants/*}" - }; - } -} - -// Request message for -// [MobileAppCategoryConstantService.GetMobileAppCategoryConstant][google.ads.googleads.v2.services.MobileAppCategoryConstantService.GetMobileAppCategoryConstant]. -message GetMobileAppCategoryConstantRequest { - // Resource name of the mobile app category constant to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/mobile_device_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/mobile_device_constant_service.proto deleted file mode 100644 index 9a742792..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/mobile_device_constant_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/mobile_device_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MobileDeviceConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the mobile device constant service. - -// Service to fetch mobile device constants. -service MobileDeviceConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested mobile device constant in full detail. - rpc GetMobileDeviceConstant(GetMobileDeviceConstantRequest) returns (google.ads.googleads.v2.resources.MobileDeviceConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=mobileDeviceConstants/*}" - }; - } -} - -// Request message for [MobileDeviceConstantService.GetMobileDeviceConstant][google.ads.googleads.v2.services.MobileDeviceConstantService.GetMobileDeviceConstant]. -message GetMobileDeviceConstantRequest { - // Resource name of the mobile device to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/mutate_job_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/mutate_job_service.proto deleted file mode 100644 index 6f4bf62b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/mutate_job_service.proto +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/mutate_job.proto"; -import "google/ads/googleads/v2/services/google_ads_service.proto"; -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "MutateJobServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the MutateJobService. - -// Service to manage mutate jobs. -service MutateJobService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Creates a mutate job. - rpc CreateMutateJob(CreateMutateJobRequest) returns (CreateMutateJobResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/mutateJobs:create" - body: "*" - }; - } - - // Returns the mutate job. - rpc GetMutateJob(GetMutateJobRequest) returns (google.ads.googleads.v2.resources.MutateJob) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/mutateJobs/*}" - }; - } - - // Returns the results of the mutate job. The job must be done. - // Supports standard list paging. - rpc ListMutateJobResults(ListMutateJobResultsRequest) returns (ListMutateJobResultsResponse) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/mutateJobs/*}:listResults" - }; - } - - // Runs the mutate job. - // - // The Operation.metadata field type is MutateJobMetadata. When finished, the - // long running operation will not contain errors or a response. Instead, use - // ListMutateJobResults to get the results of the job. - rpc RunMutateJob(RunMutateJobRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v2/{resource_name=customers/*/mutateJobs/*}:run" - body: "*" - }; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "google.ads.googleads.v2.resources.MutateJob.MutateJobMetadata" - }; - } - - // Add operations to the mutate job. - rpc AddMutateJobOperations(AddMutateJobOperationsRequest) returns (AddMutateJobOperationsResponse) { - option (google.api.http) = { - post: "/v2/{resource_name=customers/*/mutateJobs/*}:addOperations" - body: "*" - }; - } -} - -// Request message for [MutateJobService.CreateMutateJobRequest][] -message CreateMutateJobRequest { - // The ID of the customer for which to create a mutate job. - string customer_id = 1; -} - -// Response message for [MutateJobService.CreateMutateJobResponse][] -message CreateMutateJobResponse { - // The resource name of the MutateJob. - string resource_name = 1; -} - -// Request message for [MutateJobService.GetMutateJob][google.ads.googleads.v2.services.MutateJobService.GetMutateJob] -message GetMutateJobRequest { - // The resource name of the MutateJob to get. - string resource_name = 1; -} - -// Request message for [MutateJobService.RunMutateJob][google.ads.googleads.v2.services.MutateJobService.RunMutateJob] -message RunMutateJobRequest { - // The resource name of the MutateJob to run. - string resource_name = 1; -} - -// Request message for [MutateJobService.AddMutateJobOperations][google.ads.googleads.v2.services.MutateJobService.AddMutateJobOperations] -message AddMutateJobOperationsRequest { - // The resource name of the MutateJob. - string resource_name = 1; - - // A token used to enforce sequencing. - // - // The first AddMutateJobOperations request for a MutateJob should not set - // sequence_token. Subsequent requests must set sequence_token to the value of - // next_sequence_token received in the previous AddMutateJobOperations - // response. - string sequence_token = 2; - - // The list of mutates being added. - // - // Operations can use negative integers as temp ids to signify dependencies - // between entities created in this MutateJob. 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; -} - -// Response message for [MutateJobService.AddMutateJobOperations][google.ads.googleads.v2.services.MutateJobService.AddMutateJobOperations] -message AddMutateJobOperationsResponse { - // The total number of operations added so far for this job. - int64 total_operations = 1; - - // The sequence token to be used when calling AddMutateJobOperations again if - // more operations need to be added. The next AddMutateJobOperations request - // must set the sequence_token field to the value of this field. - string next_sequence_token = 2; -} - -// Request message for [MutateJobService.ListMutateJobResults][google.ads.googleads.v2.services.MutateJobService.ListMutateJobResults]. -message ListMutateJobResultsRequest { - // The resource name of the MutateJob whose results are being listed. - string resource_name = 1; - - // 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 [MutateJobService.ListMutateJobResults][google.ads.googleads.v2.services.MutateJobService.ListMutateJobResults]. -message ListMutateJobResultsResponse { - // The list of rows that matched the query. - repeated MutateJobResult 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; -} - -// MutateJob result. -message MutateJobResult { - // 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/google-cloud/protos/google/ads/googleads/v2/services/operating_system_version_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/operating_system_version_constant_service.proto deleted file mode 100644 index 349ab351..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/operating_system_version_constant_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/operating_system_version_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "OperatingSystemVersionConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the OS version constant service - -// Service to fetch Operating System Version constants. -service OperatingSystemVersionConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested OS version constant in full detail. - rpc GetOperatingSystemVersionConstant(GetOperatingSystemVersionConstantRequest) returns (google.ads.googleads.v2.resources.OperatingSystemVersionConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=operatingSystemVersionConstants/*}" - }; - } -} - -// Request message for -// [OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant][google.ads.googleads.v2.services.OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant]. -message GetOperatingSystemVersionConstantRequest { - // Resource name of the OS version to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/paid_organic_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/paid_organic_search_term_view_service.proto deleted file mode 100644 index 586f9fd4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/paid_organic_search_term_view_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/paid_organic_search_term_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "PaidOrganicSearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Paid Organic Search Term View service. - -// Service to fetch paid organic search term views. -service PaidOrganicSearchTermViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested paid organic search term view in full detail. - rpc GetPaidOrganicSearchTermView(GetPaidOrganicSearchTermViewRequest) returns (google.ads.googleads.v2.resources.PaidOrganicSearchTermView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/paidOrganicSearchTermViews/*}" - }; - } -} - -// Request message for -// [PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView][google.ads.googleads.v2.services.PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView]. -message GetPaidOrganicSearchTermViewRequest { - // The resource name of the paid organic search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/parental_status_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/parental_status_view_service.proto deleted file mode 100644 index 2ae50b21..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/parental_status_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/parental_status_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ParentalStatusViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Parental Status View service. - -// Service to manage parental status views. -service ParentalStatusViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested parental status view in full detail. - rpc GetParentalStatusView(GetParentalStatusViewRequest) returns (google.ads.googleads.v2.resources.ParentalStatusView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/parentalStatusViews/*}" - }; - } -} - -// Request message for [ParentalStatusViewService.GetParentalStatusView][google.ads.googleads.v2.services.ParentalStatusViewService.GetParentalStatusView]. -message GetParentalStatusViewRequest { - // The resource name of the parental status view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/payments_account_service.proto deleted file mode 100644 index 3ab572aa..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/payments_account_service.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/payments_account.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "PaymentsAccountServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the payments account service. - -// Service to provide payments accounts that can be used to set up consolidated -// billing. -service PaymentsAccountService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns all payments accounts associated with all managers - // between the login customer ID and specified serving customer in the - // hierarchy, inclusive. - rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) { - option (google.api.http) = { - get: "/v2/customers/{customer_id=*}/paymentsAccounts" - }; - } -} - -// Request message for fetching all accessible payments accounts. -message ListPaymentsAccountsRequest { - // The ID of the customer to apply the PaymentsAccount list operation to. - string customer_id = 1; -} - -// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v2.services.PaymentsAccountService.ListPaymentsAccounts]. -message ListPaymentsAccountsResponse { - // The list of accessible payments accounts. - repeated google.ads.googleads.v2.resources.PaymentsAccount payments_accounts = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto deleted file mode 100644 index 7f32d21b..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/product_bidding_category_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ProductBiddingCategoryConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Product Bidding Category constant service - -// Service to fetch Product Bidding Categories. -service ProductBiddingCategoryConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Product Bidding Category in full detail. - rpc GetProductBiddingCategoryConstant(GetProductBiddingCategoryConstantRequest) returns (google.ads.googleads.v2.resources.ProductBiddingCategoryConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=productBiddingCategoryConstants/*}" - }; - } -} - -// Request message for -// [ProductBiddingCategoryService.GetProductBiddingCategory][]. -message GetProductBiddingCategoryConstantRequest { - // Resource name of the Product Bidding Category to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/product_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/product_group_view_service.proto deleted file mode 100644 index 08f7a1d4..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/product_group_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/product_group_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ProductGroupViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the ProductGroup View service. - -// Service to manage product group views. -service ProductGroupViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested product group view in full detail. - rpc GetProductGroupView(GetProductGroupViewRequest) returns (google.ads.googleads.v2.resources.ProductGroupView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/productGroupViews/*}" - }; - } -} - -// Request message for [ProductGroupViewService.GetProductGroupView][google.ads.googleads.v2.services.ProductGroupViewService.GetProductGroupView]. -message GetProductGroupViewRequest { - // The resource name of the product group view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/reach_plan_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/reach_plan_service.proto deleted file mode 100644 index 06da15ca..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/reach_plan_service.proto +++ /dev/null @@ -1,354 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/criteria.proto"; -import "google/ads/googleads/v2/enums/reach_plan_ad_length.proto"; -import "google/ads/googleads/v2/enums/reach_plan_age_range.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ReachPlanServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the reach plan service. - -// Reach Plan Service gives users information about audience size that can -// be reached through advertisement on YouTube. In particular, -// GenerateReachForecast provides estimated number of people of specified -// demographics that can be reached by an ad in a given market by a campaign of -// certain duration with a defined budget. -service ReachPlanService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the list of plannable locations (for example, countries & DMAs). - rpc ListPlannableLocations(ListPlannableLocationsRequest) returns (ListPlannableLocationsResponse) { - option (google.api.http) = { - post: "/v2:listPlannableLocations" - body: "*" - }; - } - - // Returns the list of per-location plannable YouTube ad formats with allowed - // targeting. - rpc ListPlannableProducts(ListPlannableProductsRequest) returns (ListPlannableProductsResponse) { - option (google.api.http) = { - post: "/v2:listPlannableProducts" - body: "*" - }; - } - - // Generates a product mix ideas given a set of preferences. This method - // helps the advertiser to obtain a good mix of ad formats and budget - // allocations based on its preferences. - rpc GenerateProductMixIdeas(GenerateProductMixIdeasRequest) returns (GenerateProductMixIdeasResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:generateProductMixIdeas" - body: "*" - }; - } - - // Generates a reach forecast for a given targeting / product mix. - rpc GenerateReachForecast(GenerateReachForecastRequest) returns (GenerateReachForecastResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}:generateReachForecast" - body: "*" - }; - } -} - -// Request message for [ReachForecastService.ListPlannableLocations][] -message ListPlannableLocationsRequest { - -} - -// The list of plannable locations. -message ListPlannableLocationsResponse { - // The list of locations available for planning (Countries, DMAs, - // sub-countries). - // For locations like Countries, DMAs see - // https://developers.google.com/adwords/api/docs/appendix/geotargeting for - // more information. - repeated PlannableLocation plannable_locations = 1; -} - -// A plannable location: a country, a DMA, a metro region, a tv region, -// a province. -message PlannableLocation { - // The location identifier. - google.protobuf.StringValue id = 1; - - // The unique location name in english. - google.protobuf.StringValue name = 2; - - // The parent country code, not present if location is a country. - // If present will always be a criterion id: additional information, such as - // country name are returned both via ListPlannableLocations or directly by - // accessing GeoTargetConstantService with the criterion id. - google.protobuf.Int64Value parent_country_id = 3; -} - -// Request to list available products in a given location. -message ListPlannableProductsRequest { - // The ID of the selected location for planning. To list the available - // plannable location ids use ListPlannableLocations. - google.protobuf.StringValue plannable_location_id = 1; -} - -// 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. E.g. Trueview, Bumper - // To list the available plannable product codes use ListPlannableProducts. - google.protobuf.StringValue plannable_product_code = 1; - - // The allowed plannable targeting for this product. - PlannableTargeting plannable_targeting = 2; -} - -// The targeting for which traffic metrics will be reported. -message PlannableTargeting { - // Allowed plannable age ranges for the product for which metrics will be - // reported. Actual targeting is computed by mapping this age range onto - // standard Google common.AgeRangeInfo values. - repeated google.ads.googleads.v2.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; - - // Targetable genders for the ad product. - repeated google.ads.googleads.v2.common.GenderInfo genders = 2; - - // Targetable devices for the ad product. - repeated google.ads.googleads.v2.common.DeviceInfo devices = 3; -} - -// Request message for [ReachForecastService.GenerateProductMixIdeas][]. -message GenerateProductMixIdeasRequest { - // The ID of the customer. - string customer_id = 1; - - // Required. The ID of the location, this is one of the ids returned by - // ListPlannableLocations. - google.protobuf.StringValue plannable_location_id = 2; - - // Required. Currency code. - // Three-character ISO 4217 currency code. - google.protobuf.StringValue currency_code = 3; - - // Required. Total budget. - // Amount in micros. One million is equivalent to one unit. - google.protobuf.Int64Value budget_micros = 4; - - // The preferences of the suggested product mix. - // An unset preference is interpreted as all possible values are allowed, - // unless explicitly specified. - Preferences preferences = 5; -} - -// Set of preferences about the planned mix. -message Preferences { - // True if ad skippable. - // If not set, default is any value. - google.protobuf.BoolValue is_skippable = 1; - - // True if ad start with sound. - // If not set, default is any value. - google.protobuf.BoolValue starts_with_sound = 2; - - // The length of the ad. - // If not set, default is any value. - google.ads.googleads.v2.enums.ReachPlanAdLengthEnum.ReachPlanAdLength ad_length = 3; - - // True if ad will only show on the top content. - // If not set, default is false. - google.protobuf.BoolValue top_content_only = 4; - - // True if the price guaranteed. The cost of serving the ad is agreed upfront - // and not subject to an auction. - // If not set, default is any value. - google.protobuf.BoolValue has_guaranteed_price = 5; -} - -// The suggested product mix. -message GenerateProductMixIdeasResponse { - // A list of products (ad formats) and the associated budget allocation idea. - repeated ProductAllocation product_allocation = 1; -} - -// An allocation of a part of the budget on a given product. -message ProductAllocation { - // Selected product for planning. The product codes returned are within the - // set of the ones returned by ListPlannableProducts when using the same - // location id. - google.protobuf.StringValue plannable_product_code = 1; - - // The value to be allocated for the suggested product in requested currency. - // Amount in micros. One million is equivalent to one unit. - google.protobuf.Int64Value budget_micros = 2; -} - -// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v2.services.ReachPlanService.GenerateReachForecast]. -message GenerateReachForecastRequest { - // The ID of the customer. - string customer_id = 1; - - // Required. The currency code. - // Three-character ISO 4217 currency code. - google.protobuf.StringValue currency_code = 2; - - // Campaign duration. - CampaignDuration campaign_duration = 3; - - // Desired cookie frequency cap that will 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. - google.protobuf.Int32Value cookie_frequency_cap = 4; - - // Desired 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. - google.protobuf.Int32Value min_effective_frequency = 5; - - // 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, please consult an implementation specialist. - // - // If no targeting dimensions are specified, then campaigns will target - // everywhere and everyone. - // - // See specific metrics for details on how targeting affects them. - // - // In some cases, targeting may be overridden using the - // PlannedProduct.advanced_product_targeting field. - Targeting targeting = 6; - - // The product to be planned. - repeated PlannedProduct planned_products = 7; -} - -// The targeting for which traffic metrics will be reported. -message Targeting { - // Required. The ID of the selected location. - // Plannable locations ID can be obtained from ListPlannableLocations. - google.protobuf.StringValue plannable_location_id = 1; - - // Required - // Selected age range to be planned on. - google.ads.googleads.v2.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_range = 2; - - // Targetable genders for the ad product. - repeated google.ads.googleads.v2.common.GenderInfo genders = 3; - - // Targetable devices for the ad product. - repeated google.ads.googleads.v2.common.DeviceInfo devices = 4; -} - -// The duration of a planned campaign. -message CampaignDuration { - // The duration value in days. - google.protobuf.Int32Value duration_in_days = 1; -} - -// A product being planned for reach. -message PlannedProduct { - // Required. Selected product for planning. - // Plannable products codes can be obtained from ListPlannableProducts. - google.protobuf.StringValue plannable_product_code = 1; - - // Required. Maximum budget allocation in micros for the selected product. - // The value is specified in the selected planning currency_code. - // E.g. 1 000 000$ = 1 000 000 000 000 micros. - google.protobuf.Int64Value budget_micros = 2; -} - -// 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. - google.protobuf.Int64Value cost_micros = 1; - - // Forecasted traffic metrics for this point. - Forecast forecast = 2; - - // The forecasted allocation. This differs from the input allocation if one - // or more product cannot fulfill the budget because of limited inventory. - repeated ProductAllocation forecasted_product_allocations = 3; -} - -// Forecasted traffic metrics for the planned products and targeting. -message Forecast { - // Number of unique people reached at least - // GenerateReachForecastRequest.min_effective_frequency times that exactly - // matches the Targeting. - google.protobuf.Int64Value on_target_reach = 1; - - // Total number of unique people reached at least - // GenerateReachForecastRequest.min_effective_frequency times. This includes - // people that may fall outside the specified Targeting. - google.protobuf.Int64Value total_reach = 2; - - // Number of ad impressions that exactly matches the Targeting. - google.protobuf.Int64Value on_target_impressions = 3; - - // Total number of ad impressions. This includes impressions that may fall - // outside the specified Targeting, due to insufficent information on - // signed-in users. - google.protobuf.Int64Value total_impressions = 4; -} - -// 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. - google.protobuf.Int64Value youtube_audience_size = 1; - - // Reference audience size matching the considered targeting for Census. - google.protobuf.Int64Value census_audience_size = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/recommendation_service.proto deleted file mode 100644 index 92d6ad11..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/recommendation_service.proto +++ /dev/null @@ -1,246 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/common/extensions.proto"; -import "google/ads/googleads/v2/enums/keyword_match_type.proto"; -import "google/ads/googleads/v2/resources/ad.proto"; -import "google/ads/googleads/v2/resources/recommendation.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "RecommendationServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Recommendation service. - -// Service to manage recommendations. -service RecommendationService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested recommendation in full detail. - rpc GetRecommendation(GetRecommendationRequest) returns (google.ads.googleads.v2.resources.Recommendation) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/recommendations/*}" - }; - } - - // Applies given recommendations with corresponding apply parameters. - rpc ApplyRecommendation(ApplyRecommendationRequest) returns (ApplyRecommendationResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/recommendations:apply" - body: "*" - }; - } - - // Dismisses given recommendations. - rpc DismissRecommendation(DismissRecommendationRequest) returns (DismissRecommendationResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/recommendations:dismiss" - body: "*" - }; - } -} - -// Request message for [RecommendationService.GetRecommendation][google.ads.googleads.v2.services.RecommendationService.GetRecommendation]. -message GetRecommendationRequest { - // The resource name of the recommendation to fetch. - string resource_name = 1; -} - -// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v2.services.RecommendationService.ApplyRecommendation]. -message ApplyRecommendationRequest { - // The ID of the customer with the recommendation. - string customer_id = 1; - - // 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; - - // 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. - google.protobuf.Int64Value new_budget_amount_micros = 1; - } - - // 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.v2.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. - google.protobuf.StringValue ad_group = 1; - - // The match type of the keyword. This is a required field. - google.ads.googleads.v2.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. - google.protobuf.Int64Value cpc_bid_micros = 3; - } - - // Parameters to use when applying Target CPA recommendation. - message TargetCpaOptInParameters { - // Average CPA to use for Target CPA bidding strategy. This is a required - // field. - google.protobuf.Int64Value target_cpa_micros = 1; - - // Optional, budget amount to set for the campaign. - google.protobuf.Int64Value 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.v2.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.v2.common.CallFeedItem call_extensions = 1; - } - - // Parameters to use when applying sitelink extension recommendation. - message SitelinkExtensionParameters { - // Sitelink extensions to be added. This is a required field. - repeated google.ads.googleads.v2.common.SitelinkFeedItem sitelink_extensions = 1; - } - - // 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. - google.protobuf.Int64Value budget_micros_to_move = 1; - } - - // The resource name of the recommendation to apply. - string resource_name = 1; - - // 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; - - // 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 extension recommendation. - SitelinkExtensionParameters sitelink_extension = 8; - - // Parameters to use when applying move unused budget recommendation. - MoveUnusedBudgetParameters move_unused_budget = 9; - } -} - -// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v2.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 (e.g. 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; -} - -// Request message for [RecommendationService.DismissRecommendation][google.ads.googleads.v2.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; - } - - // The ID of the customer with the recommendation. - string customer_id = 1; - - // 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; - - // 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.v2.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 (e.g. auth errors) - // we return the RPC level error. - google.rpc.Status partial_failure_error = 2; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/remarketing_action_service.proto deleted file mode 100644 index baf27857..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/remarketing_action_service.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/remarketing_action.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "RemarketingActionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Remarketing Action service. - -// Service to manage remarketing actions. -service RemarketingActionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested remarketing action in full detail. - rpc GetRemarketingAction(GetRemarketingActionRequest) returns (google.ads.googleads.v2.resources.RemarketingAction) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/remarketingActions/*}" - }; - } - - // Creates or updates remarketing actions. Operation statuses are returned. - rpc MutateRemarketingActions(MutateRemarketingActionsRequest) returns (MutateRemarketingActionsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/remarketingActions:mutate" - body: "*" - }; - } -} - -// Request message for [RemarketingActionService.GetRemarketingAction][google.ads.googleads.v2.services.RemarketingActionService.GetRemarketingAction]. -message GetRemarketingActionRequest { - // The resource name of the remarketing action to fetch. - string resource_name = 1; -} - -// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v2.services.RemarketingActionService.MutateRemarketingActions]. -message MutateRemarketingActionsRequest { - // The ID of the customer whose remarketing actions are being modified. - string customer_id = 1; - - // The list of operations to perform on individual remarketing actions. - repeated RemarketingActionOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a remarketing action. -message RemarketingActionOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new remarketing - // action. - google.ads.googleads.v2.resources.RemarketingAction create = 1; - - // Update operation: The remarketing action is expected to have a valid - // resource name. - google.ads.googleads.v2.resources.RemarketingAction update = 2; - } -} - -// Response message for remarketing action mutate. -message MutateRemarketingActionsResponse { - // Errors that pertain to operation failures in the partial failure mode. - // Returned only when partial_failure = true and all errors occur inside the - // operations. If any errors occur outside the operations (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/search_term_view_service.proto deleted file mode 100644 index f319ca17..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/search_term_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/search_term_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SearchTermViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Search Term View service. - -// Service to manage search term views. -service SearchTermViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the attributes of the requested search term view. - rpc GetSearchTermView(GetSearchTermViewRequest) returns (google.ads.googleads.v2.resources.SearchTermView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/searchTermViews/*}" - }; - } -} - -// Request message for [SearchTermViewService.GetSearchTermView][google.ads.googleads.v2.services.SearchTermViewService.GetSearchTermView]. -message GetSearchTermViewRequest { - // The resource name of the search term view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/shared_criterion_service.proto deleted file mode 100644 index b2a237b1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/shared_criterion_service.proto +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/shared_criterion.proto"; -import "google/api/annotations.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SharedCriterionServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Shared Criterion service. - -// Service to manage shared criteria. -service SharedCriterionService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested shared criterion in full detail. - rpc GetSharedCriterion(GetSharedCriterionRequest) returns (google.ads.googleads.v2.resources.SharedCriterion) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/sharedCriteria/*}" - }; - } - - // Creates or removes shared criteria. Operation statuses are returned. - rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/sharedCriteria:mutate" - body: "*" - }; - } -} - -// Request message for [SharedCriterionService.GetSharedCriterion][google.ads.googleads.v2.services.SharedCriterionService.GetSharedCriterion]. -message GetSharedCriterionRequest { - // The resource name of the shared criterion to fetch. - string resource_name = 1; -} - -// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v2.services.SharedCriterionService.MutateSharedCriteria]. -message MutateSharedCriteriaRequest { - // The ID of the customer whose shared criteria are being modified. - string customer_id = 1; - - // The list of operations to perform on individual shared criteria. - repeated SharedCriterionOperation operations = 2; - - // 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 shared criterion. -message SharedCriterionOperation { - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new shared - // criterion. - google.ads.googleads.v2.resources.SharedCriterion create = 1; - - // Remove operation: A resource name for the removed shared criterion is - // expected, in this format: - // - // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/shared_set_service.proto deleted file mode 100644 index c35224bb..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/shared_set_service.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/shared_set.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "SharedSetServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Shared Set service. - -// Service to manage shared sets. -service SharedSetService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested shared set in full detail. - rpc GetSharedSet(GetSharedSetRequest) returns (google.ads.googleads.v2.resources.SharedSet) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/sharedSets/*}" - }; - } - - // Creates, updates, or removes shared sets. Operation statuses are returned. - rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/sharedSets:mutate" - body: "*" - }; - } -} - -// Request message for [SharedSetService.GetSharedSet][google.ads.googleads.v2.services.SharedSetService.GetSharedSet]. -message GetSharedSetRequest { - // The resource name of the shared set to fetch. - string resource_name = 1; -} - -// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v2.services.SharedSetService.MutateSharedSets]. -message MutateSharedSetsRequest { - // The ID of the customer whose shared sets are being modified. - string customer_id = 1; - - // The list of operations to perform on individual shared sets. - repeated SharedSetOperation operations = 2; - - // 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 shared set. -message SharedSetOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new shared set. - google.ads.googleads.v2.resources.SharedSet create = 1; - - // Update operation: The shared set is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.SharedSet update = 2; - - // Remove operation: A resource name for the removed shared set is expected, - // in this format: - // - // `customers/{customer_id}/sharedSets/{shared_set_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/shopping_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/shopping_performance_view_service.proto deleted file mode 100644 index 4f36ba39..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/shopping_performance_view_service.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/shopping_performance_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "ShoppingPerformanceViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the ShoppingPerformanceView service. - -// Service to fetch Shopping performance views. -service ShoppingPerformanceViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested Shopping performance view in full detail. - rpc GetShoppingPerformanceView(GetShoppingPerformanceViewRequest) returns (google.ads.googleads.v2.resources.ShoppingPerformanceView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/shoppingPerformanceView}" - }; - } -} - -// Request message for -// [ShoppingPerformanceViewService.GetShoppingPerformanceView][google.ads.googleads.v2.services.ShoppingPerformanceViewService.GetShoppingPerformanceView]. -message GetShoppingPerformanceViewRequest { - // The resource name of the Shopping performance view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/topic_constant_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/topic_constant_service.proto deleted file mode 100644 index dc08e3a1..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/topic_constant_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/topic_constant.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "TopicConstantServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Topic constant service - -// Service to fetch topic constants. -service TopicConstantService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested topic constant in full detail. - rpc GetTopicConstant(GetTopicConstantRequest) returns (google.ads.googleads.v2.resources.TopicConstant) { - option (google.api.http) = { - get: "/v2/{resource_name=topicConstants/*}" - }; - } -} - -// Request message for [TopicConstantService.GetTopicConstant][google.ads.googleads.v2.services.TopicConstantService.GetTopicConstant]. -message GetTopicConstantRequest { - // Resource name of the Topic to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/topic_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/topic_view_service.proto deleted file mode 100644 index 4692ef93..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/topic_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/topic_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "TopicViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Topic View service. - -// Service to manage topic views. -service TopicViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested topic view in full detail. - rpc GetTopicView(GetTopicViewRequest) returns (google.ads.googleads.v2.resources.TopicView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/topicViews/*}" - }; - } -} - -// Request message for [TopicViewService.GetTopicView][google.ads.googleads.v2.services.TopicViewService.GetTopicView]. -message GetTopicViewRequest { - // The resource name of the topic view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/user_interest_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/user_interest_service.proto deleted file mode 100644 index df98d0a5..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/user_interest_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/user_interest.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "UserInterestServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the user interest service - -// Service to fetch Google Ads User Interest. -service UserInterestService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested user interest in full detail - rpc GetUserInterest(GetUserInterestRequest) returns (google.ads.googleads.v2.resources.UserInterest) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/userInterests/*}" - }; - } -} - -// Request message for [UserInterestService.GetUserInterest][google.ads.googleads.v2.services.UserInterestService.GetUserInterest]. -message GetUserInterestRequest { - // Resource name of the UserInterest to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/user_list_service.proto deleted file mode 100644 index ae3582e6..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/user_list_service.proto +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/user_list.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/field_mask.proto"; -import "google/rpc/status.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "UserListServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the User List service. - -// Service to manage user lists. -service UserListService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested user list. - rpc GetUserList(GetUserListRequest) returns (google.ads.googleads.v2.resources.UserList) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/userLists/*}" - }; - } - - // Creates or updates user lists. Operation statuses are returned. - rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) { - option (google.api.http) = { - post: "/v2/customers/{customer_id=*}/userLists:mutate" - body: "*" - }; - } -} - -// Request message for [UserListService.GetUserList][google.ads.googleads.v2.services.UserListService.GetUserList]. -message GetUserListRequest { - // The resource name of the user list to fetch. - string resource_name = 1; -} - -// Request message for [UserListService.MutateUserLists][google.ads.googleads.v2.services.UserListService.MutateUserLists]. -message MutateUserListsRequest { - // The ID of the customer whose user lists are being modified. - string customer_id = 1; - - // The list of operations to perform on individual user lists. - repeated UserListOperation operations = 2; - - // If true, successful operations will be carried out and invalid - // operations will return errors. If false, all operations will be carried - // out in one transaction if and only if they are all valid. - // Default is false. - bool partial_failure = 3; - - // If true, the request is validated but not executed. Only errors are - // returned, not results. - bool validate_only = 4; -} - -// A single operation (create, update) on a user list. -message UserListOperation { - // FieldMask that determines which resource fields are modified in an update. - google.protobuf.FieldMask update_mask = 4; - - // The mutate operation. - oneof operation { - // Create operation: No resource name is expected for the new user list. - google.ads.googleads.v2.resources.UserList create = 1; - - // Update operation: The user list is expected to have a valid resource - // name. - google.ads.googleads.v2.resources.UserList update = 2; - - // Remove operation: A resource name for the removed user list is expected, - // in this format: - // - // `customers/{customer_id}/userLists/{user_list_id}` - string remove = 3; - } -} - -// 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 (e.g. 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; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/user_location_view_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/user_location_view_service.proto deleted file mode 100644 index 43494edf..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/user_location_view_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/user_location_view.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "UserLocationViewServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the UserLocationView service. - -// Service to manage user location views. -service UserLocationViewService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested user location view in full detail. - rpc GetUserLocationView(GetUserLocationViewRequest) returns (google.ads.googleads.v2.resources.UserLocationView) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/userLocationViews/*}" - }; - } -} - -// Request message for [UserLocationViewService.GetUserLocationView][google.ads.googleads.v2.services.UserLocationViewService.GetUserLocationView]. -message GetUserLocationViewRequest { - // The resource name of the user location view to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v2/services/video_service.proto b/google-cloud/protos/google/ads/googleads/v2/services/video_service.proto deleted file mode 100644 index 7acb6fbe..00000000 --- a/google-cloud/protos/google/ads/googleads/v2/services/video_service.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v2.services; - -import "google/ads/googleads/v2/resources/video.proto"; -import "google/api/annotations.proto"; -import "google/api/client.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V2.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v2/services;services"; -option java_multiple_files = true; -option java_outer_classname = "VideoServiceProto"; -option java_package = "com.google.ads.googleads.v2.services"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V2\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V2::Services"; - -// Proto file describing the Video service. - -// Service to manage videos. -service VideoService { - option (google.api.default_host) = "googleads.googleapis.com"; - - // Returns the requested video in full detail. - rpc GetVideo(GetVideoRequest) returns (google.ads.googleads.v2.resources.Video) { - option (google.api.http) = { - get: "/v2/{resource_name=customers/*/videos/*}" - }; - } -} - -// Request message for [VideoService.GetVideo][google.ads.googleads.v2.services.VideoService.GetVideo]. -message GetVideoRequest { - // The resource name of the video to fetch. - string resource_name = 1; -} diff --git a/google-cloud/protos/google/ads/googleads/v9/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/BUILD.bazel new file mode 100644 index 00000000..40452d1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/BUILD.bazel @@ -0,0 +1,266 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "googleads_proto", + srcs = [], + deps = [ + "//google/ads/googleads/v9/common:common_proto", + "//google/ads/googleads/v9/enums:enums_proto", + "//google/ads/googleads/v9/errors:errors_proto", + "//google/ads/googleads/v9/resources:resources_proto", + "//google/ads/googleads/v9/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", + deps = [ + "//google/ads/googleads/v9/common:common_java_proto", + "//google/ads/googleads/v9/enums:enums_java_proto", + "//google/ads/googleads/v9/resources:resources_java_proto", + "//google/ads/googleads/v9/services:services_java_grpc", + "//google/ads/googleads/v9/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.v9.services.CampaignServiceClientTest", + ], + runtime_deps = [":googleads_java_gapic_test"], +) + +java_gapic_assembly_gradle_pkg( + name = "googleads-java", + deps = [ + ":googleads_java_gapic", + "//google/ads/googleads/v9:googleads_proto", + "//google/ads/googleads/v9/common:common_java_proto", + "//google/ads/googleads/v9/enums:enums_java_proto", + "//google/ads/googleads/v9/errors:errors_java_proto", + "//google/ads/googleads/v9/resources:resources_java_proto", + "//google/ads/googleads/v9/services:services_java_grpc", + "//google/ads/googleads/v9/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_v9.yaml", + 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", + deps = [ + "//google/ads/googleads/v9/services:services_csharp_grpc", + ], +) + +csharp_gapic_assembly_pkg( + name = "googleads-csharp", + deps = [ + ":googleads_csharp_gapic", + "//google/ads/googleads/v9/common:common_csharp_proto", + "//google/ads/googleads/v9/enums:enums_csharp_proto", + "//google/ads/googleads/v9/errors:errors_csharp_proto", + "//google/ads/googleads/v9/resources:resources_csharp_proto", + "//google/ads/googleads/v9/services:services_csharp_grpc", + "//google/ads/googleads/v9/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", +) + +ruby_gapic_assembly_pkg( + name = "googleads-ruby", + deps = [ + ":googleads_ruby_gapic", + "//google/ads/googleads/v9/common:common_ruby_proto", + "//google/ads/googleads/v9/enums:enums_ruby_proto", + "//google/ads/googleads/v9/errors:errors_ruby_proto", + "//google/ads/googleads/v9/resources:resources_ruby_proto", + "//google/ads/googleads/v9/services:services_ruby_grpc", + "//google/ads/googleads/v9/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"], + grpc_service_config = "googleads_grpc_service_config.json", + opt_args = [ + "old-naming", + "lazy-import", + "python-gapic-name=googleads", + "python-gapic-templates=ads-templates", + "warehouse-package-name=google-ads", + ], +) + +py_gapic_assembly_pkg( + name = "googleads-py", + deps = [ + ":googleads_py_gapic", + "//google/ads/googleads/v9/common:common_py_proto", + "//google/ads/googleads/v9/enums:enums_py_proto", + "//google/ads/googleads/v9/errors:errors_py_proto", + "//google/ads/googleads/v9/resources:resources_py_proto", + "//google/ads/googleads/v9/services:services_py_grpc", + "//google/ads/googleads/v9/services:services_py_proto", + ], +) + +############################################################################## +# 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.v9", + service_yaml = "googleads_v9.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "googleads-nodejs", + deps = [ + ":googleads_nodejs_gapic", + ":googleads_proto", + ], +) diff --git a/google-cloud/protos/google/ads/googleads/v9/common/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/common/BUILD.bazel new file mode 100644 index 00000000..b90f195c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "common_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v9/enums:enums_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "common_java_proto", + deps = [":common_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "common_csharp_proto", + deps = [":common_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "common_ruby_proto", + deps = [":common_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "common_py_proto", + deps = [":common_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v9/common/ad_asset.proto b/google-cloud/protos/google/ads/googleads/v9/common/ad_asset.proto new file mode 100644 index 00000000..d69a5c14 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/ad_asset.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/asset_policy.proto"; +import "google/ads/googleads/v9/enums/asset_performance_label.proto"; +import "google/ads/googleads/v9/enums/served_asset_field_type.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdAssetProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing assets used inside an ad. + +// A text asset used inside an ad. +message AdTextAsset { + // Asset text. + optional string text = 4; + + // The pinned field of the asset. This restricts the asset to only serve + // within this field. Multiple assets can be pinned to the same field. An + // asset that is unpinned or pinned to a different field will not serve in a + // field where some other asset has been pinned. + google.ads.googleads.v9.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2; + + // The performance label of this text asset. + google.ads.googleads.v9.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel asset_performance_label = 5; + + // The policy summary of this text asset. + AdAssetPolicySummary policy_summary_info = 6; +} + +// An image asset used inside an ad. +message AdImageAsset { + // The Asset resource name of this image. + optional string asset = 2; +} + +// A video asset used inside an ad. +message AdVideoAsset { + // The Asset resource name of this video. + optional string asset = 2; +} + +// A media bundle asset used inside an ad. +message AdMediaBundleAsset { + // The Asset resource name of this media bundle. + optional string asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/ad_type_infos.proto b/google-cloud/protos/google/ads/googleads/v9/common/ad_type_infos.proto new file mode 100644 index 00000000..7a449e99 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/ad_type_infos.proto @@ -0,0 +1,724 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/ad_asset.proto"; +import "google/ads/googleads/v9/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v9/enums/display_ad_format_setting.proto"; +import "google/ads/googleads/v9/enums/display_upload_product_type.proto"; +import "google/ads/googleads/v9/enums/legacy_app_install_ad_app_store.proto"; +import "google/ads/googleads/v9/enums/mime_type.proto"; +import "google/ads/googleads/v9/enums/video_thumbnail.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeInfosProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file containing info messages for specific ad types. + +// A text ad. +message TextAdInfo { + // The headline of the ad. + optional string headline = 4; + + // The first line of the ad's description. + optional string description1 = 5; + + // The second line of the ad's description. + optional string description2 = 6; +} + +// An expanded text ad. +message ExpandedTextAdInfo { + // The first part of the ad's headline. + optional string headline_part1 = 8; + + // The second part of the ad's headline. + optional string headline_part2 = 9; + + // The third part of the ad's headline. + optional string headline_part3 = 10; + + // The description of the ad. + optional string description = 11; + + // The second description of the ad. + optional string description2 = 12; + + // The text that can appear alongside the ad's displayed URL. + optional string path1 = 13; + + // Additional text that can appear alongside the ad's displayed URL. + optional string path2 = 14; +} + +// An expanded dynamic search ad. +message ExpandedDynamicSearchAdInfo { + // The description of the ad. + optional string description = 3; + + // The second description of the ad. + optional string description2 = 4; +} + +// A hotel ad. +message HotelAdInfo { + +} + +// A 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; +} + +// A Gmail ad. +message GmailAdInfo { + // The Gmail teaser. + GmailTeaser teaser = 1; + + // The MediaFile resource name of the header image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must + // be between 3:1 and 5:1 (+-1%). + optional string header_image = 10; + + // The MediaFile resource name of the marketing image. Valid image types are + // GIF, JPEG and PNG. The image must either be landscape with a minimum size + // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a + // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%) + optional string marketing_image = 11; + + // Headline of the marketing image. + optional string marketing_image_headline = 12; + + // Description of the marketing image. + optional string marketing_image_description = 13; + + // Display-call-to-action of the marketing image. + DisplayCallToAction marketing_image_display_call_to_action = 6; + + // Product images. Up to 15 images are supported. + repeated ProductImage product_images = 7; + + // Product videos. Up to 7 videos are supported. At least one product video + // or a marketing image must be specified. + repeated ProductVideo product_videos = 8; +} + +// Gmail teaser data. The teaser is a small header that acts as an invitation +// to view the rest of the ad (the body). +message GmailTeaser { + // Headline of the teaser. + optional string headline = 5; + + // Description of the teaser. + optional string description = 6; + + // Business name of the advertiser. + optional string business_name = 7; + + // The MediaFile resource name of the logo image. Valid image types are GIF, + // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must + // be 1:1 (+-1%). + optional string logo_image = 8; +} + +// Data for display call to action. The call to action is a piece of the ad +// that prompts the user to do something. Like clicking a link or making a phone +// call. +message DisplayCallToAction { + // Text for the display-call-to-action. + optional string text = 5; + + // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for + // white. + optional string text_color = 6; + + // Identifies the URL collection in the `ad.url_collections` field. If not + // set, the URL defaults to `final_url`. + optional string url_collection_id = 7; +} + +// Product image specific data. +message ProductImage { + // The MediaFile resource name of the product image. Valid image types are + // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio + // must be 1:1 (+-1%). + optional string product_image = 4; + + // Description of the product. + optional string description = 5; + + // Display-call-to-action of the product image. + DisplayCallToAction display_call_to_action = 3; +} + +// Product video specific data. +message ProductVideo { + // The MediaFile resource name of a video which must be hosted on YouTube. + optional string product_video = 2; +} + +// An image ad. +message ImageAdInfo { + // Width in pixels of the full size image. + optional int64 pixel_width = 15; + + // Height in pixels of the full size image. + optional int64 pixel_height = 16; + + // URL of the full size image. + optional string image_url = 17; + + // Width in pixels of the preview size image. + optional int64 preview_pixel_width = 18; + + // Height in pixels of the preview size image. + optional int64 preview_pixel_height = 19; + + // URL of the preview size image. + optional string preview_image_url = 20; + + // The mime type of the image. + google.ads.googleads.v9.enums.MimeTypeEnum.MimeType mime_type = 10; + + // The name of the image. If the image was created from a MediaFile, this is + // the MediaFile's name. If the image was created from bytes, this is empty. + optional string name = 21; + + // The image to create the ImageAd from. This can be specified in one of + // two ways. + // 1. An existing MediaFile resource. + // 2. The raw image data as bytes. + oneof image { + // The 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; +} + +// 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 video TrueView discovery ad format. +message VideoTrueViewDiscoveryAdInfo { + // The headline of the ad. + string headline = 4; + + // First text line for a TrueView video discovery ad. + string description1 = 5; + + // Second text line for a TrueView video discovery ad. + string description2 = 6; + + // Video thumbnail image to use. + google.ads.googleads.v9.enums.VideoThumbnailEnum.VideoThumbnail thumbnail = 7; +} + +// 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; + + // Video TrueView discovery ad format. + VideoTrueViewDiscoveryAdInfo discovery = 6; + } +} + +// A video responsive ad. +message VideoResponsiveAdInfo { + // List of text assets used for the short headline, e.g. 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, e.g. 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; +} + +// 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, e.g. #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, e.g. #ffffff for white. + // If one of `main_color` and `accent_color` is set, the other is required as + // well. + optional string main_color = 22; + + // The call-to-action text for the ad. + optional string call_to_action_text = 23; + + // The MediaFile resource name of the logo image used in the ad. + optional string logo_image = 24; + + // The MediaFile resource name of the square logo image used in the ad. + optional string square_logo_image = 25; + + // The MediaFile resource name of the marketing image used in the ad. + optional string marketing_image = 26; + + // The MediaFile resource name of the square marketing image used in the ad. + optional string square_marketing_image = 27; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v9.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13; + + // Prefix before price. E.g. 'as low as'. + optional string price_prefix = 28; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 29; +} + +// An app ad. +message AppAdInfo { + // Mandatory ad text. + AdTextAsset mandatory_ad_text = 1; + + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 2; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 3; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 4; + + // List of YouTube video assets that may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 5; + + // List of media bundle assets that may be used with the ad. + repeated AdMediaBundleAsset html5_media_bundles = 6; +} + +// App engagement ads allow you to write text encouraging a specific action in +// the app, like checking in, making a purchase, or booking a flight. +// They allow you to send users to a specific part of your app where they can +// find what they're looking for easier and faster. +message AppEngagementAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image assets that may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of video assets that may be displayed with the ad. + repeated AdVideoAsset videos = 4; +} + +// App pre-registration ads link to your app or game listing on Google Play, and +// can run on Google Play, on YouTube (in-stream only), and within other apps +// and mobile websites on the Display Network. It will help capture people’s +// interest in your app or game and generate an early install base for your app +// or game before a launch. +message AppPreRegistrationAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. + repeated AdTextAsset descriptions = 2; + + // List of image asset IDs whose images may be displayed with the ad. + repeated AdImageAsset images = 3; + + // List of YouTube video asset IDs whose videos may be displayed with the ad. + repeated AdVideoAsset youtube_videos = 4; +} + +// A legacy app install ad that only can be used by a few select customers. +message LegacyAppInstallAdInfo { + // The ID of the mobile app. + optional string app_id = 6; + + // The app store the mobile app is available in. + google.ads.googleads.v9.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore app_store = 2; + + // The headline of the ad. + optional string headline = 7; + + // The first description line of the ad. + optional string description1 = 8; + + // The second description line of the ad. + optional string description2 = 9; +} + +// A responsive display ad. +message ResponsiveDisplayAdInfo { + // Marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must + // be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined + // with `square_marketing_images`, the maximum is 15. + repeated AdImageAsset marketing_images = 1; + + // Square marketing images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must + // be 1:1 (+-1%). At least one square `marketing_image` is required. Combined + // with `marketing_images`, the maximum is 15. + repeated AdImageAsset square_marketing_images = 2; + + // Logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must + // be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + repeated AdImageAsset logo_images = 3; + + // Square logo images to be used in the ad. Valid image types are GIF, + // JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must + // be 1:1 (+-1%). Combined with `square_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, e.g. #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, e.g. #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. E.g. 'as low as'. + optional string price_prefix = 22; + + // Promotion text used for dynamic formats of responsive ads. For example + // 'Free two-day shipping'. + optional string promo_text = 23; + + // Specifies which format the ad will be served in. Default is ALL_FORMATS. + google.ads.googleads.v9.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 16; + + // Specification for various creative controls. + ResponsiveDisplayAdControlSpec control_spec = 24; +} + +// A local ad. +message LocalAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. At least 1 and at most 5 headlines must be + // specified. + repeated AdTextAsset headlines = 1; + + // List of text assets for descriptions. When the ad serves the descriptions + // will be selected from this list. At least 1 and at most 5 descriptions must + // be specified. + repeated AdTextAsset descriptions = 2; + + // List of text assets for call-to-actions. When the ad serves the + // call-to-actions will be selected from this list. Call-to-actions are + // optional and at most 5 can 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. Videos + // are optional and at most 20 can be specified. + repeated AdVideoAsset videos = 6; + + // First part of optional text that can be appended to the URL in the ad. + optional string path1 = 9; + + // Second part of optional text that can be appended to the URL in the ad. + // This field can only be set when `path1` is also set. + optional string path2 = 10; +} + +// A generic type of display ad. The exact ad format is controlled by the +// `display_upload_product_type` field, which determines what kinds of data +// need to be included with the ad. +message DisplayUploadAdInfo { + // The product type of this ad. See comments on the enum for details. + google.ads.googleads.v9.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType display_upload_product_type = 1; + + // The asset data that makes up the ad. + oneof media_asset { + // A media bundle asset to be used in the ad. For information about the + // media bundle for HTML5_UPLOAD_AD, see + // https://support.google.com/google-ads/answer/1722096 + // Media bundles that are part of dynamic product types use a special format + // that needs to be created through the Google Web Designer. See + // https://support.google.com/webdesigner/answer/7543898 for more + // information. + AdMediaBundleAsset media_bundle = 2; + } +} + +// Specification for various creative controls for a responsive display ad. +message ResponsiveDisplayAdControlSpec { + // Whether the advertiser has opted into the asset enhancements feature. + bool enable_asset_enhancements = 1; + + // Whether the advertiser has opted into auto-gen video feature. + bool enable_autogen_video = 2; +} + +// A Smart campaign ad. +message SmartCampaignAdInfo { + // List of text assets for headlines. When the ad serves the headlines will + // be selected from this list. 3 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. 2 descriptions must be specified. + repeated AdTextAsset descriptions = 2; +} + +// A call ad. +message CallAdInfo { + // The country code in the ad. + string country_code = 1; + + // The phone number in the ad. + string phone_number = 2; + + // The business name in the ad. + string business_name = 3; + + // First headline in the ad. + string headline1 = 11; + + // Second headline in the ad. + string headline2 = 12; + + // The first line of the ad's description. + string description1 = 4; + + // The second line of the ad's description. + string description2 = 5; + + // Whether to enable call tracking for the creative. Enabling call + // tracking also enables call conversions. + bool call_tracked = 6; + + // Whether to disable call conversion for the creative. + // If set to `true`, disables call conversions even when `call_tracked` is + // `true`. + // If `call_tracked` is `false`, this field is ignored. + bool disable_call_conversion = 7; + + // The URL to be used for phone number verification. + string phone_number_verification_url = 8; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // `call_tracked` is set to `true`. Otherwise this field is ignored. + string conversion_action = 9; + + // The call conversion behavior of this call ad. It can use its own call + // conversion setting, inherit the account level setting, or be disabled. + google.ads.googleads.v9.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10; + + // First part of text that can be appended to the URL in the ad. Optional. + string path1 = 13; + + // Second part of text that can be appended to the URL in the ad. This field + // can only be set when `path1` is also set. Optional. + string path2 = 14; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/asset_policy.proto b/google-cloud/protos/google/ads/googleads/v9/common/asset_policy.proto new file mode 100644 index 00000000..f9a5ffe2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/asset_policy.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetPolicyProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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.v9.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/asset_types.proto b/google-cloud/protos/google/ads/googleads/v9/common/asset_types.proto new file mode 100644 index 00000000..eb67517b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/asset_types.proto @@ -0,0 +1,502 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/common/feed_common.proto"; +import "google/ads/googleads/v9/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v9/enums/call_to_action_type.proto"; +import "google/ads/googleads/v9/enums/lead_form_call_to_action_type.proto"; +import "google/ads/googleads/v9/enums/lead_form_desired_intent.proto"; +import "google/ads/googleads/v9/enums/lead_form_field_user_input_type.proto"; +import "google/ads/googleads/v9/enums/lead_form_post_submit_call_to_action_type.proto"; +import "google/ads/googleads/v9/enums/mime_type.proto"; +import "google/ads/googleads/v9/enums/mobile_app_vendor.proto"; +import "google/ads/googleads/v9/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v9/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v9/enums/price_extension_type.proto"; +import "google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v9/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypesProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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.v9.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. + repeated LeadFormField fields = 8; + + // 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.v9.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; + + // Desired intent for the lead form, e.g. more volume or more qualified. + google.ads.googleads.v9.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 "Do you own a car?". + google.ads.googleads.v9.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; + } +} + +// 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.v9.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.v9.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, e.g. Nursing. Required. + string program_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Subject of study, e.g. Health. + string subject = 4; + + // Program description, e.g. Nursing Certification. + string program_description = 5; + + // School name, e.g. 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, e.g. Mountain View, CA, USA. + // (2) Full address, e.g. 123 Boulevard St, Mountain View, CA 94043. + // (3) Latitude-longitude in the DDD format, e.g. 41.40338, 2.17403 + string address = 7; + + // Contextual keywords, e.g. Nursing certification, Health, Mountain View. + repeated string contextual_keywords = 8; + + // Android deep link, e.g. + // 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, e.g. 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, e.g. http://www.example.com/thumbnail.png. The + // thumbnail image will not be uploaded as image asset. + string thumbnail_image_url = 13; + + // Image url, e.g. 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.v9.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.v9.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.v9.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The price qualifier of the price asset. + google.ads.googleads.v9.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.v9.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.v9.enums.CallToActionTypeEnum.CallToActionType call_to_action = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/bidding.proto b/google-cloud/protos/google/ads/googleads/v9/common/bidding.proto new file mode 100644 index 00000000..eb41ee52 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/bidding.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/target_impression_share_location.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing bidding schemes. + +// Commission is an automatic bidding strategy in which the advertiser pays a +// certain portion of the conversion value. +message Commission { + // Commission rate defines the portion of the conversion value that the + // advertiser will be billed. A commission rate of x should be passed into + // this field as (x * 1,000,000). For example, 106,000 represents a commission + // rate of 0.106 (10.6%). + optional int64 commission_rate_micros = 2; +} + +// An automated bidding strategy that raises bids for clicks +// that seem more likely to lead to a conversion and lowers +// them for clicks where they seem less likely. +message EnhancedCpc { + +} + +// 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 { + // The target cost-per-action (CPA) option. This is the average amount that + // you would like to spend per conversion action. 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 = 1; + + // 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; +} + +// 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 { + +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v9.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; + + // The desired fraction of ads to be shown in the targeted location in micros. + // E.g. 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 desired 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/google-cloud/protos/google/ads/googleads/v9/common/click_location.proto b/google-cloud/protos/google/ads/googleads/v9/common/click_location.proto new file mode 100644 index 00000000..e43f034f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/click_location.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ClickLocationProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing a ClickLocation. + +// Location criteria associated with a click. +message ClickLocation { + // The city location criterion associated with the impression. + optional string city = 6; + + // The country location criterion associated with the impression. + optional string country = 7; + + // The metro location criterion associated with the impression. + optional string metro = 8; + + // The most specific location criterion associated with the impression. + optional string most_specific = 9; + + // The region location criterion associated with the impression. + optional string region = 10; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/criteria.proto b/google-cloud/protos/google/ads/googleads/v9/common/criteria.proto new file mode 100644 index 00000000..0f57f985 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/criteria.proto @@ -0,0 +1,651 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/age_range_type.proto"; +import "google/ads/googleads/v9/enums/app_payment_model_type.proto"; +import "google/ads/googleads/v9/enums/content_label_type.proto"; +import "google/ads/googleads/v9/enums/day_of_week.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/gender_type.proto"; +import "google/ads/googleads/v9/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v9/enums/income_range_type.proto"; +import "google/ads/googleads/v9/enums/interaction_type.proto"; +import "google/ads/googleads/v9/enums/keyword_match_type.proto"; +import "google/ads/googleads/v9/enums/listing_group_type.proto"; +import "google/ads/googleads/v9/enums/location_group_radius_units.proto"; +import "google/ads/googleads/v9/enums/minute_of_hour.proto"; +import "google/ads/googleads/v9/enums/parental_status_type.proto"; +import "google/ads/googleads/v9/enums/preferred_content_type.proto"; +import "google/ads/googleads/v9/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v9/enums/product_channel.proto"; +import "google/ads/googleads/v9/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v9/enums/product_condition.proto"; +import "google/ads/googleads/v9/enums/product_custom_attribute_index.proto"; +import "google/ads/googleads/v9/enums/product_type_level.proto"; +import "google/ads/googleads/v9/enums/proximity_radius_units.proto"; +import "google/ads/googleads/v9/enums/webpage_condition_operand.proto"; +import "google/ads/googleads/v9/enums/webpage_condition_operator.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriteriaProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing criteria types. + +// A keyword criterion. +message KeywordInfo { + // The text of the keyword (at most 80 characters and 10 words). + optional string text = 3; + + // The match type of the keyword. + google.ads.googleads.v9.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2; +} + +// A placement criterion. This can be used to modify bids for sites when +// targeting the content network. +message PlacementInfo { + // URL of the placement. + // + // For example, "http://www.domain.com". + optional string url = 2; +} + +// A 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 (e.g., "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 + // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link + // "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). + // A well formed app id for Google Ads API would thus be "1-476943146" for iOS + // and "2-com.labpixies.colordrips" for Android. + // This field is required and must be set in CREATE operations. + optional string app_id = 4; + + // Name of this mobile application. + optional string name = 5; +} + +// A location criterion. +message LocationInfo { + // The geo target constant resource name. + optional string geo_target_constant = 2; +} + +// A device criterion. +message DeviceInfo { + // Type of the device. + google.ads.googleads.v9.enums.DeviceEnum.Device type = 1; +} + +// A preferred content criterion. +message PreferredContentInfo { + // Type of the preferred content. + google.ads.googleads.v9.enums.PreferredContentTypeEnum.PreferredContentType type = 2; +} + +// A listing group criterion. +message ListingGroupInfo { + // Type of the listing group. + google.ads.googleads.v9.enums.ListingGroupTypeEnum.ListingGroupType type = 1; + + // Dimension value with which this listing group is refining its parent. + // Undefined for the root group. + ListingDimensionInfo case_value = 2; + + // Resource name of ad group criterion which is the parent listing group + // subdivision. Null for the root group. + optional string parent_ad_group_criterion = 4; +} + +// 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; + + // 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; + + // Two-letter upper-case country code of the product bidding category. It must + // match the campaign.shopping_setting.sales_country field. + optional string country_code = 5; + + // Level of the product bidding category. + google.ads.googleads.v9.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 3; +} + +// Brand of the product. +message ProductBrandInfo { + // String value of the product brand. + optional string value = 2; +} + +// Locality of a product offer. +message ProductChannelInfo { + // Value of the locality. + google.ads.googleads.v9.enums.ProductChannelEnum.ProductChannel channel = 1; +} + +// Availability of a product offer. +message ProductChannelExclusivityInfo { + // Value of the availability. + google.ads.googleads.v9.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1; +} + +// Condition of a product offer. +message ProductConditionInfo { + // Value of the condition. + google.ads.googleads.v9.enums.ProductConditionEnum.ProductCondition condition = 1; +} + +// Custom attribute of a product offer. +message ProductCustomAttributeInfo { + // String value of the product custom attribute. + optional string value = 3; + + // Indicates the index of the custom attribute. + google.ads.googleads.v9.enums.ProductCustomAttributeIndexEnum.ProductCustomAttributeIndex index = 2; +} + +// Item id of a product offer. +message ProductItemIdInfo { + // Value of the id. + optional string value = 2; +} + +// Type of a product offer. +message ProductTypeInfo { + // Value of the type. + optional string value = 3; + + // Level of the type. + google.ads.googleads.v9.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2; +} + +// Unknown listing dimension. +message UnknownListingDimensionInfo { + +} + +// Criterion for hotel date selection (default dates vs. user selected). +message HotelDateSelectionTypeInfo { + // Type of the hotel date selection + google.ads.googleads.v9.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1; +} + +// Criterion for number of days prior to the stay the booking is being made. +message HotelAdvanceBookingWindowInfo { + // Low end of the number of days prior to the stay. + optional int64 min_days = 3; + + // High end of the number of days prior to the stay. + optional int64 max_days = 4; +} + +// Criterion for length of hotel stay in nights. +message HotelLengthOfStayInfo { + // Low end of the number of nights in the stay. + optional int64 min_nights = 3; + + // High end of the number of nights in the stay. + optional int64 max_nights = 4; +} + +// Criterion for a check-in date range. +message HotelCheckInDateRangeInfo { + // Start date in the YYYY-MM-DD format. + string start_date = 1; + + // End date in the YYYY-MM-DD format. + string end_date = 2; +} + +// Criterion for day of the week the booking is for. +message HotelCheckInDayInfo { + // The day of the week. + google.ads.googleads.v9.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1; +} + +// Criterion for Interaction Type. +message InteractionTypeInfo { + // The interaction type. + google.ads.googleads.v9.enums.InteractionTypeEnum.InteractionType type = 1; +} + +// Represents an AdSchedule criterion. +// +// AdSchedule is specified as the day of the week and a time interval +// within which ads will be shown. +// +// No more than six AdSchedules can be added for the same day. +message AdScheduleInfo { + // Minutes after the start hour at which this schedule starts. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v9.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1; + + // Minutes after the end hour at which this schedule ends. The schedule is + // exclusive of the end minute. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v9.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2; + + // Starting hour in 24 hour time. + // This field must be between 0 and 23, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 start_hour = 6; + + // Ending hour in 24 hour time; 24 signifies end of the day. + // This field must be between 0 and 24, inclusive. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + optional int32 end_hour = 7; + + // Day of the week the schedule applies to. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + google.ads.googleads.v9.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; +} + +// An age range criterion. +message AgeRangeInfo { + // Type of the age range. + google.ads.googleads.v9.enums.AgeRangeTypeEnum.AgeRangeType type = 1; +} + +// A gender criterion. +message GenderInfo { + // Type of the gender. + google.ads.googleads.v9.enums.GenderTypeEnum.GenderType type = 1; +} + +// An income range criterion. +message IncomeRangeInfo { + // Type of the income range. + google.ads.googleads.v9.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1; +} + +// A parental status criterion. +message ParentalStatusInfo { + // Type of the parental status. + google.ads.googleads.v9.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1; +} + +// A YouTube Video criterion. +message YouTubeVideoInfo { + // YouTube video id as it appears on the YouTube watch page. + optional string video_id = 2; +} + +// A YouTube Channel criterion. +message YouTubeChannelInfo { + // The YouTube uploader channel id or the channel code of a YouTube channel. + optional string channel_id = 2; +} + +// A User List criterion. Represents a user list that is defined by the +// advertiser to be targeted. +message UserListInfo { + // The User List resource name. + optional string user_list = 2; +} + +// A Proximity criterion. The geo point and radius determine what geographical +// area is included. The address is a description of the geo point that does +// not affect ad serving. +// +// There are two ways to create a proximity. First, by setting an address +// and radius. The geo point will be automatically computed. Second, by +// setting a geo point and radius. The address is an optional label that won't +// be validated. +message ProximityInfo { + // Latitude and longitude. + GeoPointInfo geo_point = 1; + + // The radius of the proximity. + optional double radius = 5; + + // The unit of measurement of the radius. Default is KILOMETERS. + google.ads.googleads.v9.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3; + + // Full address. + AddressInfo address = 4; +} + +// Geo point for proximity criterion. +message GeoPointInfo { + // Micro degrees for the longitude. + optional int32 longitude_in_micro_degrees = 3; + + // Micro degrees for the latitude. + optional int32 latitude_in_micro_degrees = 4; +} + +// Address for proximity criterion. +message AddressInfo { + // Postal code. + optional string postal_code = 8; + + // Province or state code. + optional string province_code = 9; + + // Country code. + optional string country_code = 10; + + // Province or state name. + optional string province_name = 11; + + // Street address line 1. + optional string street_address = 12; + + // Street address line 2. This field is write-only. It is only used for + // calculating the longitude and latitude of an address when geo_point is + // empty. + optional string street_address2 = 13; + + // Name of the city. + optional string city_name = 14; +} + +// A topic criterion. Use topics to target or exclude placements in the +// Google Display Network based on the category into which the placement falls +// (for example, "Pets & Animals/Pets/Dogs"). +message TopicInfo { + // The Topic Constant resource name. + optional string topic_constant = 3; + + // The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" + // category. + repeated string path = 4; +} + +// A language criterion. +message LanguageInfo { + // The language constant resource name. + optional string language_constant = 2; +} + +// An IpBlock criterion used for IP exclusions. We allow: +// - IPv4 and IPv6 addresses +// - individual addresses (192.168.0.1) +// - masks for individual addresses (192.168.0.1/32) +// - masks for Class C networks (192.168.0.1/24) +message IpBlockInfo { + // The IP address of this IP block. + optional string ip_address = 2; +} + +// Content Label for category exclusion. +message ContentLabelInfo { + // Content label type, required for CREATE operations. + google.ads.googleads.v9.enums.ContentLabelTypeEnum.ContentLabelType type = 1; +} + +// 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. + // + // This field is required for CREATE operations and is prohibited on UPDATE + // operations. + repeated WebpageConditionInfo conditions = 2; + + // Website criteria coverage percentage. This is the computed percentage + // of website coverage based on the website target, negative website target + // and negative keywords in the ad group and campaign. For instance, when + // coverage returns as 1, it indicates it has 100% coverage. This field is + // read-only. + double coverage_percentage = 4; + + // List of sample urls that match the website target. This field is read-only. + WebpageSampleInfo sample = 5; +} + +// Logical expression for targeting webpages of an advertiser's website. +message WebpageConditionInfo { + // Operand of webpage targeting condition. + google.ads.googleads.v9.enums.WebpageConditionOperandEnum.WebpageConditionOperand operand = 1; + + // Operator of webpage targeting condition. + google.ads.googleads.v9.enums.WebpageConditionOperatorEnum.WebpageConditionOperator operator = 2; + + // Argument of webpage targeting condition. + optional string argument = 4; +} + +// List of sample urls that match the website target +message WebpageSampleInfo { + // Webpage sample urls + repeated string sample_urls = 1; +} + +// Represents an operating system version to be targeted. +message OperatingSystemVersionInfo { + // The operating system version constant resource name. + optional string operating_system_version_constant = 2; +} + +// An app payment model criterion. +message AppPaymentModelInfo { + // Type of the app payment model. + google.ads.googleads.v9.enums.AppPaymentModelTypeEnum.AppPaymentModelType 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 via a feed. +message LocationGroupInfo { + // Feed specifying locations for targeting. + // 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. + 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. + // This is required and must be set in CREATE operations. + google.ads.googleads.v9.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4; + + // FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, + // then all items that appear in at least one set are targeted. This field + // cannot be used with geo_target_constants. This is optional and can only be + // set in CREATE operations. + repeated string feed_item_sets = 8; +} + +// 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; +} + +// 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; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/criterion_category_availability.proto b/google-cloud/protos/google/ads/googleads/v9/common/criterion_category_availability.proto new file mode 100644 index 00000000..811ee4e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/criterion_category_availability.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/criterion_category_channel_availability_mode.proto"; +import "google/ads/googleads/v9/enums/criterion_category_locale_availability_mode.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryAvailabilityProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing criterion category availability information. + +// Information of category availability, per advertising channel. +message CriterionCategoryAvailability { + // Channel types and subtypes that are available to the category. + CriterionCategoryChannelAvailability channel = 1; + + // Locales that are available to the category for the channel. + repeated CriterionCategoryLocaleAvailability locale = 2; +} + +// Information of advertising channel type and subtypes a category is available +// in. +message CriterionCategoryChannelAvailability { + // Format of the channel availability. Can be ALL_CHANNELS (the rest of the + // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type + // will be set, the category is available to all sub types under it) or + // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, + // advertising_channel_sub_type, and include_default_channel_sub_type will all + // be set). + google.ads.googleads.v9.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1; + + // Channel type the category is available to. + google.ads.googleads.v9.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2; + + // Channel subtypes under the channel type the category is available to. + repeated google.ads.googleads.v9.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3; + + // Whether default channel sub type is included. For example, + // advertising_channel_type being DISPLAY and include_default_channel_sub_type + // being false means that the default display campaign where channel sub type + // is not set is not included in this availability configuration. + optional bool include_default_channel_sub_type = 5; +} + +// Information about which locales a category is available in. +message CriterionCategoryLocaleAvailability { + // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and + // language will be empty), COUNTRY (only country will be set), LANGUAGE (only + // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will + // be set). + google.ads.googleads.v9.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1; + + // Code of the country. + optional string country_code = 4; + + // Code of the language. + optional string language_code = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/custom_parameter.proto b/google-cloud/protos/google/ads/googleads/v9/common/custom_parameter.proto new file mode 100644 index 00000000..4bc74113 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/custom_parameter.proto @@ -0,0 +1,40 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomParameterProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing CustomParameter and operation + +// A mapping that can be used by custom parameter tags in a +// `tracking_url_template`, `final_urls`, or `mobile_final_urls`. +message CustomParameter { + // The key matching the parameter tag name. + optional string key = 3; + + // The value to be substituted. + optional string value = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/customizer_value.proto b/google-cloud/protos/google/ads/googleads/v9/common/customizer_value.proto new file mode 100644 index 00000000..46b96fa8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/customizer_value.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing common customizer value proto messages. + +// A customizer value that is referenced in customizer linkage entities +// like CustomerCustomizer, CampaignCustomizer, etc. +message CustomizerValue { + // Required. The data type for the customizer value. It must match the attribute type. + // The string_value content must match the constraints associated with the + // type. + google.ads.googleads.v9.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Value to insert in creative text. Customizer values of all types are stored + // as string to make formatting unambiguous. + string string_value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/dates.proto b/google-cloud/protos/google/ads/googleads/v9/common/dates.proto new file mode 100644 index 00000000..4ae678e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/dates.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/month_of_year.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "DatesProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing date range message. + +// A date range. +message DateRange { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 3; + + // The end date, in yyyy-mm-dd format. This date is inclusive. + optional string end_date = 4; +} + +// The year month range inclusive of the start and end months. +// Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). +message YearMonthRange { + // The inclusive start year month. + YearMonth start = 1; + + // The inclusive end year month. + YearMonth end = 2; +} + +// Year month. +message YearMonth { + // The year (e.g. 2020). + int64 year = 1; + + // The month of the year. (e.g. FEBRUARY). + google.ads.googleads.v9.enums.MonthOfYearEnum.MonthOfYear month = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/explorer_auto_optimizer_setting.proto b/google-cloud/protos/google/ads/googleads/v9/common/explorer_auto_optimizer_setting.proto new file mode 100644 index 00000000..51a368b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/explorer_auto_optimizer_setting.proto @@ -0,0 +1,38 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExplorerAutoOptimizerSettingProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing ExplorerAutoOptimizerSetting + +// Settings for the Display Campaign Optimizer, initially named "Explorer". +// Learn more about +// [automatic targeting](https://support.google.com/google-ads/answer/190596). +message ExplorerAutoOptimizerSetting { + // Indicates whether the optimizer is turned on. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/extensions.proto b/google-cloud/protos/google/ads/googleads/v9/common/extensions.proto new file mode 100644 index 00000000..2a91b364 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/extensions.proto @@ -0,0 +1,368 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/feed_common.proto"; +import "google/ads/googleads/v9/enums/app_store.proto"; +import "google/ads/googleads/v9/enums/call_conversion_reporting_state.proto"; +import "google/ads/googleads/v9/enums/price_extension_price_qualifier.proto"; +import "google/ads/googleads/v9/enums/price_extension_price_unit.proto"; +import "google/ads/googleads/v9/enums/price_extension_type.proto"; +import "google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto"; +import "google/ads/googleads/v9/enums/promotion_extension_occasion.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionsProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing extension types. + +// Represents an App extension. +message AppFeedItem { + // The visible text displayed when the link is rendered in an ad. + // This string must not be empty, and the length of this string should + // be between 1 and 25, inclusive. + optional string link_text = 9; + + // The store-specific ID for the target application. + // This string must not be empty. + optional string app_id = 10; + + // The application store that the target application belongs to. + // This field is required. + google.ads.googleads.v9.enums.AppStoreEnum.AppStore app_store = 3; + + // A list of possible final URLs after all cross domain redirects. + // This list must not be empty. + repeated string final_urls = 11; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 12; + + // URL template for constructing a tracking URL. Default value is "{lpurl}". + optional string tracking_url_template = 13; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 7; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 14; +} + +// Represents a Call extension. +message CallFeedItem { + // The advertiser's phone number to append to the ad. + // This string must not be empty. + optional string phone_number = 7; + + // Uppercase two-letter country code of the advertiser's phone number. + // This string must not be empty. + optional string country_code = 8; + + // Indicates whether call tracking is enabled. By default, call tracking is + // not enabled. + optional bool call_tracking_enabled = 9; + + // The conversion action to attribute a call conversion to. If not set a + // default conversion action is used. This field only has effect if + // call_tracking_enabled is set to true. Otherwise this field is ignored. + optional string call_conversion_action = 10; + + // If true, disable call conversion tracking. call_conversion_action should + // not be set if this is true. Optional. + optional bool call_conversion_tracking_disabled = 11; + + // Enum value that indicates whether this call extension uses its own call + // conversion setting (or just have call conversion disabled), or following + // the account level setting. + google.ads.googleads.v9.enums.CallConversionReportingStateEnum.CallConversionReportingState call_conversion_reporting_state = 6; +} + +// Represents a callout extension. +message CalloutFeedItem { + // The callout text. + // The length of this string should be between 1 and 25, inclusive. + optional string callout_text = 2; +} + +// Represents a location extension. +message LocationFeedItem { + // The name of the business. + optional string business_name = 9; + + // Line 1 of the business address. + optional string address_line_1 = 10; + + // Line 2 of the business address. + optional string address_line_2 = 11; + + // City of the business address. + optional string city = 12; + + // Province of the business address. + optional string province = 13; + + // Postal code of the business address. + optional string postal_code = 14; + + // Country code of the business address. + optional string country_code = 15; + + // Phone number of the business. + optional string phone_number = 16; +} + +// Represents an affiliate location extension. +message AffiliateLocationFeedItem { + // The name of the business. + optional string business_name = 11; + + // Line 1 of the business address. + optional string address_line_1 = 12; + + // Line 2 of the business address. + optional string address_line_2 = 13; + + // City of the business address. + optional string city = 14; + + // Province of the business address. + optional string province = 15; + + // Postal code of the business address. + optional string postal_code = 16; + + // Country code of the business address. + optional string country_code = 17; + + // Phone number of the business. + optional string phone_number = 18; + + // Id of the retail chain that is advertised as a seller of your product. + optional int64 chain_id = 19; + + // Name of chain. + optional string chain_name = 20; +} + +// An extension that users can click on to send a text message to the +// advertiser. +message TextMessageFeedItem { + // The business name to prepend to the message text. + // This field is required. + optional string business_name = 6; + + // Uppercase two-letter country code of the advertiser's phone number. + // This field is required. + optional string country_code = 7; + + // The advertiser's phone number the message will be sent to. Required. + optional string phone_number = 8; + + // The text to show in the ad. + // This field is required. + optional string text = 9; + + // The message extension_text populated in the messaging app. + optional string extension_text = 10; +} + +// Represents a Price extension. +message PriceFeedItem { + // Price extension type of this extension. + google.ads.googleads.v9.enums.PriceExtensionTypeEnum.PriceExtensionType type = 1; + + // Price qualifier for all offers of this price extension. + google.ads.googleads.v9.enums.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier price_qualifier = 2; + + // Tracking URL template for all offers of this price extension. + optional string tracking_url_template = 7; + + // The code of the language used for this price extension. + optional string language_code = 8; + + // The price offerings in this price extension. + repeated PriceOffer price_offerings = 5; + + // Tracking URL template for all offers of this price extension. + optional string final_url_suffix = 9; +} + +// Represents one price offer in a price extension. +message PriceOffer { + // Header text of this offer. + optional string header = 7; + + // Description text of this offer. + optional string description = 8; + + // Price value of this offer. + Money price = 3; + + // Price unit for this offer. + google.ads.googleads.v9.enums.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit unit = 4; + + // A list of possible final URLs after all cross domain redirects. + repeated string final_urls = 9; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 10; +} + +// Represents a Promotion extension. +message PromotionFeedItem { + // A freeform description of what the promotion is targeting. + // This field is required. + optional string promotion_target = 16; + + // Enum that modifies the qualification of the discount. + google.ads.googleads.v9.enums.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier discount_modifier = 2; + + // Start date of when the promotion is eligible to be redeemed. + optional string promotion_start_date = 19; + + // Last date when the promotion is eligible to be redeemed. + optional string promotion_end_date = 20; + + // The occasion the promotion was intended for. + // If an occasion is set, the redemption window will need to fall within + // the date range associated with the occasion. + google.ads.googleads.v9.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion occasion = 9; + + // A list of possible final URLs after all cross domain redirects. + // This field is required. + repeated string final_urls = 21; + + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 22; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 23; + + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated CustomParameter url_custom_parameters = 13; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 24; + + // The language of the promotion. + // Represented as BCP 47 language tag. + optional string language_code = 25; + + // Discount type, can be percentage off or amount off. + oneof discount_type { + // Percentage off discount in the promotion in micros. + // One million is equivalent to one percent. + // Either this or money_off_amount is required. + int64 percent_off = 17; + + // Money amount off for discount in the promotion. + // Either this or percent_off is required. + Money money_amount_off = 4; + } + + // Promotion trigger. Can be by promotion code or promo by eligible order + // amount. + oneof promotion_trigger { + // A code the user should use in order to be eligible for the promotion. + string promotion_code = 18; + + // The amount the total order needs to be for the user to be eligible for + // the promotion. + Money orders_over_amount = 6; + } +} + +// Represents a structured snippet extension. +message StructuredSnippetFeedItem { + // The header of the snippet. + // This string must not be empty. + optional string header = 3; + + // The values in the snippet. + // The maximum size of this collection is 10. + repeated string values = 4; +} + +// Represents a sitelink extension. +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/google-cloud/protos/google/ads/googleads/v9/common/feed_common.proto b/google-cloud/protos/google/ads/googleads/v9/common/feed_common.proto new file mode 100644 index 00000000..60aef622 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/feed_common.proto @@ -0,0 +1,39 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedCommonProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing common feed proto messages. + +// Represents a price in a particular currency. +message Money { + // Three-character ISO 4217 currency code. + optional string currency_code = 3; + + // Amount in micros. One million is equivalent to one unit. + optional int64 amount_micros = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/feed_item_set_filter_type_infos.proto b/google-cloud/protos/google/ads/googleads/v9/common/feed_item_set_filter_type_infos.proto new file mode 100644 index 00000000..9331c983 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/feed_item_set_filter_type_infos.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/feed_item_set_string_filter_type.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetFilterTypeInfosProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Represents a filter on locations in a feed item set. +// Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. +message DynamicLocationSetFilter { + // If multiple labels are set, then only feeditems marked with all the labels + // will be added to the FeedItemSet. + repeated string labels = 1; + + // Business name filter. + BusinessNameFilter business_name_filter = 2; +} + +// Represents a business name filter on locations in a FeedItemSet. +message BusinessNameFilter { + // Business name string to use for filtering. + string business_name = 1; + + // The type of string matching to use when filtering with business_name. + google.ads.googleads.v9.enums.FeedItemSetStringFilterTypeEnum.FeedItemSetStringFilterType filter_type = 2; +} + +// Represents a filter on affiliate locations in a FeedItemSet. +// Only applicable if the parent Feed of the FeedItemSet is an +// AFFILIATE_LOCATION feed. +message DynamicAffiliateLocationSetFilter { + // Used to filter affiliate locations by chain ids. Only affiliate locations + // that belong to the specified chain(s) will be added to the FeedItemSet. + repeated int64 chain_ids = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/final_app_url.proto b/google-cloud/protos/google/ads/googleads/v9/common/final_app_url.proto new file mode 100644 index 00000000..674161c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/final_app_url.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/app_url_operating_system_type.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.googleads.v9.enums.AppUrlOperatingSystemTypeEnum.AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/frequency_cap.proto b/google-cloud/protos/google/ads/googleads/v9/common/frequency_cap.proto new file mode 100644 index 00000000..39b47bbe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/frequency_cap.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/frequency_cap_event_type.proto"; +import "google/ads/googleads/v9/enums/frequency_cap_level.proto"; +import "google/ads/googleads/v9/enums/frequency_cap_time_unit.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing frequency caps. + +// A rule specifying the maximum number of times an ad (or some set of ads) can +// be shown to a user over a particular time period. +message FrequencyCapEntry { + // The key of a particular frequency cap. There can be no more + // than one frequency cap with the same key. + FrequencyCapKey key = 1; + + // Maximum number of events allowed during the time range by this cap. + optional int32 cap = 3; +} + +// A group of fields used as keys for a frequency cap. +// There can be no more than one frequency cap with the same key. +message FrequencyCapKey { + // The level on which the cap is to be applied (e.g. ad group ad, ad group). + // The cap is applied to all the entities of this level. + google.ads.googleads.v9.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1; + + // The type of event that the cap applies to (e.g. impression). + google.ads.googleads.v9.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3; + + // Unit of time the cap is defined at (e.g. day, week). + google.ads.googleads.v9.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2; + + // Number of time units the cap lasts. + optional int32 time_length = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/keyword_plan_common.proto b/google-cloud/protos/google/ads/googleads/v9/common/keyword_plan_common.proto new file mode 100644 index 00000000..3a28644f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/keyword_plan_common.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/dates.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_aggregate_metric_type.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_competition_level.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_concept_group_type.proto"; +import "google/ads/googleads/v9/enums/month_of_year.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCommonProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing Keyword Planner messages. + +// Historical metrics specific to the targeting options selected. +// Targeting options include geographies, network, etc. +// Refer to https://support.google.com/google-ads/answer/3022575 for more +// details. +message KeywordPlanHistoricalMetrics { + // Approximate number of monthly searches on this query averaged + // for the past 12 months. + optional int64 avg_monthly_searches = 7; + + // Approximate number of searches on this query for the past twelve months. + repeated MonthlySearchVolume monthly_search_volumes = 6; + + // The competition level for the query. + google.ads.googleads.v9.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2; + + // The competition index for the query in the range [0, 100]. + // Shows how competitive ad placement is for a keyword. + // The level of competition from 0-100 is determined by the number of ad slots + // filled divided by the total number of ad slots available. If not enough + // data is available, null is returned. + optional int64 competition_index = 8; + + // Top of page bid low range (20th percentile) in micros for the keyword. + optional int64 low_top_of_page_bid_micros = 9; + + // Top of page bid high range (80th percentile) in micros for the keyword. + optional int64 high_top_of_page_bid_micros = 10; +} + +// Historical metrics options. +message HistoricalMetricsOptions { + // The year month range for historical metrics. If not specified the searches + // will be returned for past 12 months. + // Searches data is 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 will be returned. + optional YearMonthRange year_month_range = 1; +} + +// Monthly search volume. +message MonthlySearchVolume { + // The year of the search volume (e.g. 2020). + optional int64 year = 4; + + // The month of the search volume. + google.ads.googleads.v9.enums.MonthOfYearEnum.MonthOfYear month = 2; + + // Approximate number of searches for the month. + // A null value indicates the search volume is unavailable for + // that month. + optional int64 monthly_searches = 5; +} + +// The aggregate metrics specification of the request. +message KeywordPlanAggregateMetrics { + // The list of aggregate metrics to fetch data. + repeated google.ads.googleads.v9.enums.KeywordPlanAggregateMetricTypeEnum.KeywordPlanAggregateMetricType aggregate_metric_types = 1; +} + +// The aggregated historical metrics for keyword plan keywords. +message KeywordPlanAggregateMetricResults { + // The aggregate searches for all the keywords segmented by device + // for the specified time. + // Supports the following device types: MOBILE, TABLET, DESKTOP. + // + // This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set + // in the KeywordPlanAggregateMetrics field in the request. + repeated KeywordPlanDeviceSearches device_searches = 1; +} + +// The total searches for the device type during the specified time period. +message KeywordPlanDeviceSearches { + // The device type. + google.ads.googleads.v9.enums.DeviceEnum.Device device = 1; + + // The total searches for the device. + optional int64 search_count = 2; +} + +// The Annotations for the Keyword plan keywords. +message KeywordAnnotations { + // The list of concepts for the keyword. + repeated KeywordConcept concepts = 1; +} + +// The concept for the keyword. +message KeywordConcept { + // The concept name for the keyword in the concept_group. + string name = 1; + + // The concept group of the concept details. + ConceptGroup concept_group = 2; +} + +// The concept group for the keyword concept. +message ConceptGroup { + // The concept group name. + string name = 1; + + // The concept group type. + google.ads.googleads.v9.enums.KeywordPlanConceptGroupTypeEnum.KeywordPlanConceptGroupType type = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/matching_function.proto b/google-cloud/protos/google/ads/googleads/v9/common/matching_function.proto new file mode 100644 index 00000000..1300f30e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/matching_function.proto @@ -0,0 +1,126 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/matching_function_context_type.proto"; +import "google/ads/googleads/v9/enums/matching_function_operator.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing a matching function. + +// Matching function associated with a +// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used +// to filter the set of feed items selected. +message MatchingFunction { + // String representation of the Function. + // + // Examples: + // + // 1. IDENTITY(true) or IDENTITY(false). All or no feed items served. + // 2. EQUALS(CONTEXT.DEVICE,"Mobile") + // 3. IN(FEED_ITEM_ID,{1000001,1000002,1000003}) + // 4. CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"}) + // 5. AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile")) + // + // For more details, visit + // https://developers.google.com/adwords/api/docs/guides/feed-matching-functions + // + // Note that because multiple strings may represent the same underlying + // function (whitespace and single versus double quotation marks, for + // example), the value returned may not be identical to the string sent in a + // mutate request. + optional string function_string = 5; + + // Operator for a function. + google.ads.googleads.v9.enums.MatchingFunctionOperatorEnum.MatchingFunctionOperator operator = 4; + + // The operands on the left hand side of the equation. This is also the + // operand to be used for single operand expressions such as NOT. + repeated Operand left_operands = 2; + + // The operands on the right hand side of the equation. + repeated Operand right_operands = 3; +} + +// An operand in a matching function. +message Operand { + // A constant operand in a matching function. + message ConstantOperand { + // Constant operand values. Required. + oneof constant_operand_value { + // String value of the operand if it is a string type. + string string_value = 5; + + // Int64 value of the operand if it is a int64 type. + int64 long_value = 6; + + // Boolean value of the operand if it is a boolean type. + bool boolean_value = 7; + + // Double value of the operand if it is a double type. + double double_value = 8; + } + } + + // A feed attribute operand in a matching function. + // Used to represent a feed attribute in feed. + message FeedAttributeOperand { + // The associated feed. Required. + optional int64 feed_id = 3; + + // Id of the referenced feed attribute. Required. + optional int64 feed_attribute_id = 4; + } + + // A function operand in a matching function. + // Used to represent nested functions. + message FunctionOperand { + // The matching function held in this operand. + MatchingFunction matching_function = 1; + } + + // An operand in a function referring to a value in the request context. + message RequestContextOperand { + // Type of value to be referred in the request context. + google.ads.googleads.v9.enums.MatchingFunctionContextTypeEnum.MatchingFunctionContextType context_type = 1; + } + + // Different operands that can be used in a matching function. Required. + oneof function_argument_operand { + // A constant operand in a matching function. + ConstantOperand constant_operand = 1; + + // This operand specifies a feed attribute in feed. + FeedAttributeOperand feed_attribute_operand = 2; + + // A function operand in a matching function. + // Used to represent nested functions. + FunctionOperand function_operand = 3; + + // An operand in a function referring to a value in the request context. + RequestContextOperand request_context_operand = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/metrics.proto b/google-cloud/protos/google/ads/googleads/v9/common/metrics.proto new file mode 100644 index 00000000..377bbcac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/metrics.proto @@ -0,0 +1,619 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/interaction_event_type.proto"; +import "google/ads/googleads/v9/enums/quality_score_bucket.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "MetricsProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing metrics. + +// Metrics data. +message Metrics { + // The percent of your ad impressions that are shown as the very first ad + // above the organic search results. + optional double absolute_top_impression_percentage = 183; + + // Average cost of viewable impressions (`active_view_impressions`). + optional double active_view_cpm = 184; + + // Active view measurable clicks divided by active view viewable impressions. + // This metric is reported only for 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; + + // 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; + + // 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; + + // 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 (e.g. 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; + + // 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; + + // The average price difference between the price offered by reporting hotel + // advertiser and the cheapest price offered by the competing advertiser. + optional double hotel_price_difference_percentage = 214; + + // The number of impressions that hotel partners could have had given their + // feed performance. + optional int64 hotel_eligible_impressions = 215; + + // The creative historical quality score. + google.ads.googleads.v9.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; + + // The quality of historical landing page experience. + google.ads.googleads.v9.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; + + // The historical quality score. + optional int64 historical_quality_score = 216; + + // The historical search predicted click through rate (CTR). + google.ads.googleads.v9.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; + + // The number of times the ad was forwarded to someone else as a message. + optional int64 gmail_forwards = 217; + + // The number of times someone has saved your Gmail ad to their inbox as a + // message. + optional int64 gmail_saves = 218; + + // The number of clicks to the landing page on the expanded state of Gmail + // ads. + optional int64 gmail_secondary_clicks = 219; + + // The number of times a store's location-based ad was shown. + // This metric applies to feed items only. + optional int64 impressions_from_store_reach = 220; + + // Count of how often your ad has appeared on a search results page or + // website on the Google Network. + optional int64 impressions = 221; + + // How often people interact with your ad after it is shown to them. + // This is the number of interactions divided by the number of times your ad + // is shown. + optional double interaction_rate = 222; + + // The number of interactions. + // An interaction is the main user action associated with an ad format-clicks + // for text and shopping ads, views for video ads, and so on. + optional int64 interactions = 223; + + // The types of payable and free interactions. + repeated google.ads.googleads.v9.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; + + // The percentage of clicks filtered out of your total number of clicks + // (filtered + non-filtered clicks) during the reporting period. + optional double invalid_click_rate = 224; + + // Number of clicks Google considers illegitimate and doesn't charge you for. + optional int64 invalid_clicks = 225; + + // Number of message chats initiated for Click To Message impressions that + // were message tracking eligible. + optional int64 message_chats = 226; + + // Number of Click To Message impressions that were message tracking eligible. + optional int64 message_impressions = 227; + + // Number of message chats initiated (message_chats) divided by the number + // of message impressions (message_impressions). + // Rate at which a user initiates a message chat from an ad impression with + // a messaging option and message tracking enabled. + // Note that this rate can be more than 1.0 for a given message impression. + optional double message_chat_rate = 228; + + // The percentage of mobile clicks that go to a mobile-friendly page. + optional double mobile_friendly_clicks_percentage = 229; + + // Total optimization score uplift of all recommendations. + optional double optimization_score_uplift = 247; + + // URL for the optimization score page in the Google Ads web interface. + // This metric can be selected from `customer` or `campaign`, and can be + // segmented by `segments.recommendation_type`. For example, `SELECT + // metrics.optimization_score_url, segments.recommendation_type FROM + // customer` will return a URL for each unique (customer, recommendation_type) + // combination. + optional string optimization_score_url = 248; + + // The number of times someone clicked your site's listing in the unpaid + // results for a particular query. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_clicks = 230; + + // The number of times someone clicked your site's listing in the unpaid + // results (organic_clicks) divided by the total number of searches that + // returned pages from your site (organic_queries). See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_clicks_per_query = 231; + + // The number of listings for your site in the unpaid search results. See the + // help page at https://support.google.com/google-ads/answer/3097241 for + // details. + optional int64 organic_impressions = 232; + + // The number of times a page from your site was listed in the unpaid search + // results (organic_impressions) divided by the number of searches returning + // your site's listing in the unpaid results (organic_queries). See the help + // page at https://support.google.com/google-ads/answer/3097241 for details. + optional double organic_impressions_per_query = 233; + + // The total number of searches that returned your site's listing in the + // unpaid results. See the help page at + // https://support.google.com/google-ads/answer/3097241 for details. + optional int64 organic_queries = 234; + + // Percentage of first-time sessions (from people who had never visited your + // site before). Imported from Google Analytics. + optional double percent_new_visitors = 235; + + // Number of offline phone calls. + optional int64 phone_calls = 236; + + // Number of offline phone impressions. + optional int64 phone_impressions = 237; + + // Number of phone calls received (phone_calls) divided by the number of + // times your phone number is shown (phone_impressions). + optional double phone_through_rate = 238; + + // Your clickthrough rate (Ctr) divided by the average clickthrough rate of + // all advertisers on the websites that show your ads. Measures how your ads + // perform on Display Network sites compared to other ads on the same sites. + optional double relative_ctr = 239; + + // The percentage of the customer's Shopping or Search ad impressions that are + // shown in the most prominent Shopping position. See + // https://support.google.com/google-ads/answer/7501826 + // for details. Any value below 0.1 is reported as 0.0999. + optional double search_absolute_top_impression_share = 136; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to a low budget. Note: Search + // budget lost absolute top impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_budget_lost_absolute_top_impression_share = 137; + + // The estimated percent of times that your ad was eligible to show on the + // Search Network but didn't because your budget was too low. Note: Search + // budget lost impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_impression_share = 138; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to a low budget. Note: Search + // budget lost top impression share is reported in the range of 0 to 0.9. Any + // value above 0.9 is reported as 0.9001. + optional double search_budget_lost_top_impression_share = 139; + + // The number of clicks you've received on the Search Network + // divided by the estimated number of clicks you were eligible to receive. + // Note: Search click share is reported in the range of 0.1 to 1. Any value + // below 0.1 is reported as 0.0999. + optional double search_click_share = 140; + + // The impressions you've received divided by the estimated number of + // impressions you were eligible to receive on the Search Network for search + // terms that matched your keywords exactly (or were close variants of your + // keyword), regardless of your keyword match types. Note: Search exact match + // impression share is reported in the range of 0.1 to 1. Any value below 0.1 + // is reported as 0.0999. + optional double search_exact_match_impression_share = 141; + + // The impressions you've received on the Search Network divided + // by the estimated number of impressions you were eligible to receive. + // Note: Search impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_impression_share = 142; + + // The number estimating how often your ad wasn't the very first ad above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost absolute top impression share is reported in the + // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_absolute_top_impression_share = 143; + + // The estimated percentage of impressions on the Search Network + // that your ads didn't receive due to poor Ad Rank. + // Note: Search rank lost impression share is reported in the range of 0 to + // 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_impression_share = 144; + + // The number estimating how often your ad didn't show anywhere above the + // organic search results due to poor Ad Rank. + // Note: Search rank lost top impression share is reported in the range of 0 + // to 0.9. Any value above 0.9 is reported as 0.9001. + optional double search_rank_lost_top_impression_share = 145; + + // The impressions you've received in the top location (anywhere above the + // organic search results) compared to the estimated number of impressions you + // were eligible to receive in the top location. + // Note: Search top impression share is reported in the range of 0.1 to 1. Any + // value below 0.1 is reported as 0.0999. + optional double search_top_impression_share = 146; + + // 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 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 (e.g., + // 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/offline_user_data.proto b/google-cloud/protos/google/ads/googleads/v9/common/offline_user_data.proto new file mode 100644 index 00000000..ba80cef0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/offline_user_data.proto @@ -0,0 +1,296 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/user_identifier_source.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing offline user data. + +// Address identifier of offline data. +message OfflineUserAddressInfo { + // First name of the user, which is hashed as SHA-256 after normalized + // (Lowercase all characters; Remove any extra spaces before, after, and in + // between). + optional string hashed_first_name = 7; + + // Last name of the user, which is hashed as SHA-256 after normalized (lower + // case only and no punctuation). + optional string hashed_last_name = 8; + + // City of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string city = 9; + + // State code of the address. Only accepted for Store Sales and + // ConversionAdjustmentUploadService. + optional string state = 10; + + // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + optional string country_code = 11; + + // Postal code of the user's address. + optional string postal_code = 12; + + // The street address of the user hashed using SHA-256 hash function after + // normalization (lower case only). Only accepted for + // ConversionAdjustmentUploadService. + optional string hashed_street_address = 13; +} + +// User identifying information. +message UserIdentifier { + // Source of the user identifier when the upload is from Store Sales, + // ConversionUploadService, or ConversionAdjustmentUploadService. + google.ads.googleads.v9.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; + + // Exactly one must be specified. For OfflineUserDataJobService, Customer + // Match accepts hashed_email, hashed_phone_number, mobile_id, + // third_party_user_id, and address_info; Store Sales accepts hashed_email, + // hashed_phone_number, third_party_user_id, and address_info. + // ConversionUploadService accepts hashed_email and hashed_phone_number. + // ConversionAdjustmentUploadService accepts hashed_email, + // hashed_phone_number, and address_info. + oneof identifier { + // Hashed email address using SHA-256 hash function after normalization. + // Accepted for Customer Match, Store Sales, ConversionUploadService, and + // ConversionAdjustmentUploadService. + string hashed_email = 7; + + // Hashed phone number using SHA-256 hash function after normalization + // (E164 standard). Accepted for Customer Match, Store Sales, + // ConversionUploadService, and ConversionAdjustmentUploadService. + string hashed_phone_number = 8; + + // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. + string mobile_id = 9; + + // Advertiser-assigned user ID for Customer Match upload, or + // third-party-assigned user ID for Store Sales. Accepted only for Customer + // Match and Store Sales. + string third_party_user_id = 10; + + // Address information. Accepted only for Customer Match, Store Sales, and + // ConversionAdjustmentUploadService. + OfflineUserAddressInfo address_info = 5; + } +} + +// Attribute of the store sales transaction. +message TransactionAttribute { + // Timestamp when transaction occurred. Required. + // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an + // optional timezone offset from UTC. If the offset is absent, the API will + // use the account's timezone as default. + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + optional string transaction_date_time = 8; + + // Transaction amount in micros. Required. + // Transaction amount in micros needs to be greater than 1000. + // If item Attributes are provided, it represents the total value of the + // items, after multiplying the unit price per item by the quantity provided + // in the ItemAttributes. + optional double transaction_amount_micros = 9; + + // Transaction currency code. ISO 4217 three-letter code is used. Required. + optional string currency_code = 10; + + // The resource name of conversion action to report conversions to. + // Required. + optional string conversion_action = 11; + + // Transaction order id. + // Accessible only to customers on the allow-list. + optional string order_id = 12; + + // Store attributes of the transaction. + // Accessible only to customers on the allow-list. + StoreAttribute store_attribute = 6; + + // Value of the custom variable for each transaction. + // Accessible only to customers on the allow-list. + optional string custom_value = 13; + + // Item attributes of the transaction. + ItemAttribute item_attribute = 14; +} + +// Store attributes of the transaction. +message StoreAttribute { + // Store code from + // https://support.google.com/business/answer/3370250#storecode + optional string store_code = 2; +} + +// Item attributes of the transaction. +message ItemAttribute { + // A unique identifier of a product. It can be either the Merchant Center Item + // ID or GTIN (Global Trade Item Number). + string item_id = 1; + + // ID of the Merchant Center Account. + optional int64 merchant_id = 2; + + // Common Locale Data Repository (CLDR) territory code of the country + // associated with the feed where your items are uploaded. See + // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes + // for more information. + string country_code = 3; + + // ISO 639-1 code of the language associated with the feed where your items + // are uploaded + string language_code = 4; + + // The number of items sold. Defaults to 1 if not set. + int64 quantity = 5; +} + +// User data holding user identifiers and attributes. +message UserData { + // User identification info. Required. + repeated UserIdentifier user_identifiers = 1; + + // Additional transactions/attributes associated with the user. + // Required when updating store sales data. + TransactionAttribute transaction_attribute = 2; + + // Additional attributes associated with the user. Required when updating + // customer match attributes. These have an expiration of 540 days. + UserAttribute user_attribute = 3; +} + +// 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 users’ consent. + optional ShoppingLoyalty shopping_loyalty = 7; +} + +// 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 (i.e., + // 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. Please 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/google-cloud/protos/google/ads/googleads/v9/common/policy.proto b/google-cloud/protos/google/ads/googleads/v9/common/policy.proto new file mode 100644 index 00000000..d3741b5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/policy.proto @@ -0,0 +1,220 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/policy_topic_entry_type.proto"; +import "google/ads/googleads/v9/enums/policy_topic_evidence_destination_mismatch_url_type.proto"; +import "google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_device.proto"; +import "google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing policy information. + +// Key of the violation. The key is used for referring to a violation +// when filing an exemption request. +message PolicyViolationKey { + // Unique ID of the violated policy. + optional string policy_name = 3; + + // The text that violates the policy if specified. + // Otherwise, refers to the policy in general + // (e.g., 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, please 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 (e.g. alcohol policy associated with +// a site that sells alcohol). +// +// Each PolicyTopicEntry has a topic that indicates the specific ads policy +// the entry is about and a type to indicate the effect that the entry will have +// on serving. It may optionally have one or more evidences that indicate the +// reason for the finding. It may also optionally have one or more constraints +// that provide details about how serving may be restricted. +message PolicyTopicEntry { + // Policy topic this finding refers to. For example, "ALCOHOL", + // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible + // policy topics is not fixed for a particular API version and may change + // at any time. + optional string topic = 5; + + // Describes the negative or positive effect this policy will have on serving. + google.ads.googleads.v9.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2; + + // Additional information that explains policy finding + // (e.g. the brand name for a trademark finding). + repeated PolicyTopicEvidence evidences = 3; + + // Indicates how serving of this resource may be affected (e.g. not serving + // in a country). + repeated PolicyTopicConstraint constraints = 4; +} + +// Additional information that explains a policy finding. +message PolicyTopicEvidence { + // A list of fragments of text that violated a policy. + message TextList { + // The fragments of text from the resource that caused the policy finding. + repeated string texts = 2; + } + + // A list of websites that caused a policy finding. Used for + // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more + // than five websites, only the top five (those that appear in resources the + // most) will be listed here. + message WebsiteList { + // Websites that caused the policy finding. + repeated string websites = 2; + } + + // A list of strings found in a destination page that caused a policy + // finding. + message DestinationTextList { + // List of text found in the resource's destination page. + repeated string destination_texts = 2; + } + + // Evidence of mismatches between the URLs of a resource. + message DestinationMismatch { + // The set of URLs that did not match each other. + repeated google.ads.googleads.v9.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1; + } + + // Evidence details when the destination is returning an HTTP error + // code or isn't functional in all locations for commonly used devices. + message DestinationNotWorking { + // The full URL that didn't work. + optional string expanded_url = 7; + + // The type of device that failed to load the URL. + google.ads.googleads.v9.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice device = 4; + + // The time the URL was last checked. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string last_checked_date_time = 8; + + // Indicates the reason of the DESTINATION_NOT_WORKING policy finding. + oneof reason { + // The type of DNS error. + google.ads.googleads.v9.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType dns_error_type = 1; + + // The HTTP error code. + int64 http_error_code = 6; + } + } + + // Specific evidence information depending on the evidence type. + oneof value { + // List of websites linked with this resource. + WebsiteList website_list = 3; + + // List of evidence found in the text of a resource. + TextList text_list = 4; + + // The language the resource was detected to be written in. + // This is an IETF language tag such as "en-US". + string language_code = 9; + + // The text in the destination of the resource that is causing a policy + // finding. + DestinationTextList destination_text_list = 6; + + // Mismatch between the destinations of a resource's URLs. + DestinationMismatch destination_mismatch = 7; + + // Details when the destination is returning an HTTP error code or isn't + // functional in all locations for commonly used devices. + DestinationNotWorking destination_not_working = 8; + } +} + +// Describes the effect on serving that a policy topic entry will have. +message PolicyTopicConstraint { + // A list of countries where a resource's serving is constrained. + message CountryConstraintList { + // Total number of countries targeted by the resource. + optional int32 total_targeted_countries = 3; + + // Countries in which serving is restricted. + repeated CountryConstraint countries = 2; + } + + // Indicates that a policy topic was constrained due to disapproval of the + // website for reseller purposes. + message ResellerConstraint { + + } + + // Indicates that a resource's ability to serve in a particular country is + // constrained. + message CountryConstraint { + // Geo target constant resource name of the country in which serving is + // constrained. + optional string country_criterion = 2; + } + + // Specific information about the constraint. + oneof value { + // Countries where the resource cannot serve. + CountryConstraintList country_constraint_list = 1; + + // Reseller constraint. + ResellerConstraint reseller_constraint = 2; + + // Countries where a certificate is required for serving. + CountryConstraintList certificate_missing_in_country_list = 3; + + // Countries where the resource's domain is not covered by the + // certificates associated with it. + CountryConstraintList certificate_domain_mismatch_in_country_list = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/policy_summary.proto b/google-cloud/protos/google/ads/googleads/v9/common/policy_summary.proto new file mode 100644 index 00000000..e84f3682 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/policy_summary.proto @@ -0,0 +1,46 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "PolicySummaryProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing policy summary. + +// Contains policy summary information. +message PolicySummary { + // The list of policy findings. + repeated PolicyTopicEntry policy_topic_entries = 1; + + // Where in the review process the resource is. + google.ads.googleads.v9.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.v9.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/real_time_bidding_setting.proto b/google-cloud/protos/google/ads/googleads/v9/common/real_time_bidding_setting.proto new file mode 100644 index 00000000..c827b26e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/real_time_bidding_setting.proto @@ -0,0 +1,37 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "RealTimeBiddingSettingProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing RealTimeBiddingSetting + +// Settings for Real-Time Bidding, a feature only available for campaigns +// targeting the Ad Exchange network. +message RealTimeBiddingSetting { + // Whether the campaign is opted in to real-time bidding. + optional bool opt_in = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/segments.proto b/google-cloud/protos/google/ads/googleads/v9/common/segments.proto new file mode 100644 index 00000000..5fe127bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/segments.proto @@ -0,0 +1,369 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/ad_destination_type.proto"; +import "google/ads/googleads/v9/enums/ad_network_type.proto"; +import "google/ads/googleads/v9/enums/budget_campaign_association_status.proto"; +import "google/ads/googleads/v9/enums/click_type.proto"; +import "google/ads/googleads/v9/enums/conversion_action_category.proto"; +import "google/ads/googleads/v9/enums/conversion_attribution_event_type.proto"; +import "google/ads/googleads/v9/enums/conversion_lag_bucket.proto"; +import "google/ads/googleads/v9/enums/conversion_or_adjustment_lag_bucket.proto"; +import "google/ads/googleads/v9/enums/conversion_value_rule_primary_dimension.proto"; +import "google/ads/googleads/v9/enums/day_of_week.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/external_conversion_source.proto"; +import "google/ads/googleads/v9/enums/hotel_date_selection_type.proto"; +import "google/ads/googleads/v9/enums/hotel_price_bucket.proto"; +import "google/ads/googleads/v9/enums/hotel_rate_type.proto"; +import "google/ads/googleads/v9/enums/month_of_year.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/ads/googleads/v9/enums/product_channel.proto"; +import "google/ads/googleads/v9/enums/product_channel_exclusivity.proto"; +import "google/ads/googleads/v9/enums/product_condition.proto"; +import "google/ads/googleads/v9/enums/recommendation_type.proto"; +import "google/ads/googleads/v9/enums/search_engine_results_page_type.proto"; +import "google/ads/googleads/v9/enums/search_term_match_type.proto"; +import "google/ads/googleads/v9/enums/slot.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SegmentsProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing segment only fields. + +// Segment only fields. +message Segments { + // Ad Destination type. + google.ads.googleads.v9.enums.AdDestinationTypeEnum.AdDestinationType ad_destination_type = 136; + + // Ad network type. + google.ads.googleads.v9.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 3; + + // Budget campaign association status. + BudgetCampaignAssociationStatus budget_campaign_association_status = 134; + + // Click type. + google.ads.googleads.v9.enums.ClickTypeEnum.ClickType click_type = 26; + + // Resource name of the conversion action. + optional string conversion_action = 113; + + // Conversion action category. + google.ads.googleads.v9.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 vs. 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.v9.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.v9.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.v9.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket conversion_or_adjustment_lag_bucket = 51; + + // Date to which metrics apply. + // yyyy-MM-dd format, e.g., 2018-04-17. + optional string date = 79; + + // Day of the week, e.g., MONDAY. + google.ads.googleads.v9.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5; + + // Device to which metrics apply. + google.ads.googleads.v9.enums.DeviceEnum.Device device = 1; + + // External conversion source. + google.ads.googleads.v9.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.v9.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.v9.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.v9.enums.HotelRateTypeEnum.HotelRateType hotel_rate_type = 74; + + // Hotel price bucket. + google.ads.googleads.v9.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, e.g., January. + google.ads.googleads.v9.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.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 20; + + // 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. + google.ads.googleads.v9.enums.ProductChannelEnum.ProductChannel product_channel = 30; + + // Channel exclusivity of the product. + google.ads.googleads.v9.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity product_channel_exclusivity = 31; + + // Condition of the product. + google.ads.googleads.v9.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; + + // 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, e.g., the second quarter of 2018 + // starts on 2018-04-01. Formatted as yyyy-MM-dd. + optional string quarter = 128; + + // Recommendation type. + google.ads.googleads.v9.enums.RecommendationTypeEnum.RecommendationType recommendation_type = 140; + + // Type of the search engine results page. + google.ads.googleads.v9.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType search_engine_results_page_type = 70; + + // Match type of the keyword that triggered the ad, including variants. + google.ads.googleads.v9.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 22; + + // Position of the ad. + google.ads.googleads.v9.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.v9.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, e.g. non-iOS campaign. + optional int64 sk_ad_network_conversion_value = 137; + + // 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 (e.g. clicks) are counted across all the parts of the served + // ad (e.g. 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; +} + +// 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.v9.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/simulation.proto b/google-cloud/protos/google/ads/googleads/v9/common/simulation.proto new file mode 100644 index 00000000..f2df4233 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/simulation.proto @@ -0,0 +1,358 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "SimulationProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing simulation points. + +// A container for simulation points for simulations of type BID_MODIFIER. +message BidModifierSimulationPointList { + // Projected metrics for a series of bid modifier amounts. + repeated BidModifierSimulationPoint points = 1; +} + +// 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 bid modifier amount. +message BidModifierSimulationPoint { + // The simulated bid modifier upon which projected metrics are based. + optional double bid_modifier = 15; + + // Projected number of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions = 16; + + // Projected total value of biddable conversions. + // Only search advertising channel type supports this field. + optional double biddable_conversions_value = 17; + + // Projected number of clicks. + optional int64 clicks = 18; + + // Projected cost in micros. + optional int64 cost_micros = 19; + + // Projected number of impressions. + optional int64 impressions = 20; + + // Projected number of top slot impressions. + // Only search advertising channel type supports this field. + optional int64 top_slot_impressions = 21; + + // Projected number of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions = 22; + + // Projected total value of biddable conversions for the parent resource. + // Only search advertising channel type supports this field. + optional double parent_biddable_conversions_value = 23; + + // Projected number of clicks for the parent resource. + optional int64 parent_clicks = 24; + + // Projected cost in micros for the parent resource. + optional int64 parent_cost_micros = 25; + + // Projected number of impressions for the parent resource. + optional int64 parent_impressions = 26; + + // Projected number of top slot impressions for the parent resource. + // Only search advertising channel type supports this field. + optional int64 parent_top_slot_impressions = 27; + + // Projected minimum daily budget that must be available to the parent + // resource to realize this simulation. + optional int64 parent_required_budget_micros = 28; +} + +// 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. + // E.g. 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/google-cloud/protos/google/ads/googleads/v9/common/tag_snippet.proto b/google-cloud/protos/google/ads/googleads/v9/common/tag_snippet.proto new file mode 100644 index 00000000..35ad133f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/tag_snippet.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/tracking_code_page_format.proto"; +import "google/ads/googleads/v9/enums/tracking_code_type.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TagSnippetProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing TagSnippet + +// The site tag and event snippet pair for a TrackingCodeType. +message TagSnippet { + // The type of the generated tag snippets for tracking conversions. + google.ads.googleads.v9.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1; + + // The format of the web page where the tracking tag and snippet will be + // installed, e.g. HTML. + google.ads.googleads.v9.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2; + + // The site tag that adds visitors to your basic remarketing lists and sets + // new cookies on your domain. + optional string global_site_tag = 5; + + // The event snippet that works with the site tag to track actions that + // should be counted as conversions. + optional string event_snippet = 6; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/targeting_setting.proto b/google-cloud/protos/google/ads/googleads/v9/common/targeting_setting.proto new file mode 100644 index 00000000..10cebf18 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/targeting_setting.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/targeting_dimension.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TargetingSettingProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing TargetingSetting + +// Settings for the targeting-related features, at the campaign and ad group +// levels. For more details about the targeting setting, visit +// https://support.google.com/google-ads/answer/7365594 +message TargetingSetting { + // The per-targeting-dimension setting to restrict the reach of your campaign + // or ad group. + repeated TargetRestriction target_restrictions = 1; + + // The list of operations changing the target restrictions. + // + // Adding a target restriction with a targeting dimension that already exists + // causes the existing target restriction to be replaced with the new value. + repeated TargetRestrictionOperation target_restriction_operations = 2; +} + +// The list of per-targeting-dimension targeting settings. +message TargetRestriction { + // The targeting dimension that these settings apply to. + google.ads.googleads.v9.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; + + // Indicates whether to restrict your ads to show only for the criteria you + // have selected for this targeting_dimension, or to target all values for + // this targeting_dimension and show ads based on your targeting in other + // TargetingDimensions. A value of `true` means that these criteria will only + // apply bid modifiers, and not affect targeting. A value of `false` means + // that these criteria will restrict targeting as well as applying bid + // modifiers. + optional bool bid_only = 3; +} + +// Operation to be performed on a target restriction list in a mutate. +message TargetRestrictionOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the restriction to the existing restrictions. + ADD = 2; + + // Remove the restriction from the existing restrictions. + REMOVE = 3; + } + + // Type of list operation to perform. + Operator operator = 1; + + // The target restriction being added to or removed from the list. + TargetRestriction value = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/text_label.proto b/google-cloud/protos/google/ads/googleads/v9/common/text_label.proto new file mode 100644 index 00000000..64f98a7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/text_label.proto @@ -0,0 +1,40 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "TextLabelProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/common/url_collection.proto b/google-cloud/protos/google/ads/googleads/v9/common/url_collection.proto new file mode 100644 index 00000000..3a4411fd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/url_collection.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UrlCollectionProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file UrlCollection type. + +// Collection of urls that is tagged with a unique identifier. +message UrlCollection { + // Unique identifier for this UrlCollection instance. + optional string url_collection_id = 5; + + // A list of possible final URLs. + repeated string final_urls = 6; + + // A list of possible final mobile URLs. + repeated string final_mobile_urls = 7; + + // URL template for constructing a tracking URL. + optional string tracking_url_template = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/user_lists.proto b/google-cloud/protos/google/ads/googleads/v9/common/user_lists.proto new file mode 100644 index 00000000..970b490b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/user_lists.proto @@ -0,0 +1,291 @@ +// 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.ads.googleads.v9.common; + +import "google/ads/googleads/v9/enums/customer_match_upload_key_type.proto"; +import "google/ads/googleads/v9/enums/user_list_combined_rule_operator.proto"; +import "google/ads/googleads/v9/enums/user_list_crm_data_source_type.proto"; +import "google/ads/googleads/v9/enums/user_list_date_rule_item_operator.proto"; +import "google/ads/googleads/v9/enums/user_list_logical_rule_operator.proto"; +import "google/ads/googleads/v9/enums/user_list_number_rule_item_operator.proto"; +import "google/ads/googleads/v9/enums/user_list_prepopulation_status.proto"; +import "google/ads/googleads/v9/enums/user_list_rule_type.proto"; +import "google/ads/googleads/v9/enums/user_list_string_rule_item_operator.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "UserListsProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// 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 (e.g., "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 + // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link + // https://play.google.com/store/apps/details?id=com.labpixies.colordrips). + // Required when creating CrmBasedUserList for uploading mobile advertising + // IDs. + optional string app_id = 4; + + // Matching key type of the list. + // Mixed data types are not allowed on the same list. + // This field is required for an ADD operation. + google.ads.googleads.v9.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.v9.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; +} + +// A client defined rule based on custom parameters sent by web sites or +// uploaded by the advertiser. +message UserListRuleInfo { + // Rule type is used to determine how to group rule items. + // + // The default is OR of ANDs (disjunctive normal form). + // That is, rule items will be ANDed together within rule item groups and the + // groups themselves will be ORed together. + // + // Currently AND of ORs (conjunctive normal form) is only supported for + // ExpressionRuleUserList. + google.ads.googleads.v9.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1; + + // List of rule item groups that defines this rule. + // Rule item groups are grouped together based on rule_type. + repeated UserListRuleItemGroupInfo rule_item_groups = 2; +} + +// A group of rule items. +message UserListRuleItemGroupInfo { + // Rule items that will be grouped together based on rule_type. + repeated UserListRuleItemInfo rule_items = 1; +} + +// An atomic rule item. +message UserListRuleItemInfo { + // Rule variable name. It should match the corresponding key name fired + // by the pixel. + // A name must begin with US-ascii letters or underscore or UTF8 code that is + // greater than 127 and consist of US-ascii letters or digits or underscore or + // UTF8 code that is greater than 127. + // For websites, there are two built-in variable URL (name = 'url__') and + // referrer URL (name = 'ref_url__'). + // This field must be populated when creating a new rule item. + optional string name = 5; + + // An atomic rule item. + oneof rule_item { + // An atomic rule item composed of a number operation. + UserListNumberRuleItemInfo number_rule_item = 2; + + // An atomic rule item composed of a string operation. + UserListStringRuleItemInfo string_rule_item = 3; + + // An atomic rule item composed of a date operation. + UserListDateRuleItemInfo date_rule_item = 4; + } +} + +// A rule item composed of a date operation. +message UserListDateRuleItemInfo { + // Date comparison operator. + // This field is required and must be populated when creating new date + // rule item. + google.ads.googleads.v9.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1; + + // String representing date value to be compared with the rule variable. + // Supported date format is YYYY-MM-DD. + // Times are reported in the customer's time zone. + optional string value = 4; + + // The relative date value of the right hand side denoted by number of days + // offset from now. The value field will override this field when both are + // present. + optional int64 offset_in_days = 5; +} + +// A rule item composed of a number operation. +message UserListNumberRuleItemInfo { + // Number comparison operator. + // This field is required and must be populated when creating a new number + // rule item. + google.ads.googleads.v9.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1; + + // Number value to be compared with the variable. + // This field is required and must be populated when creating a new number + // rule item. + optional double value = 3; +} + +// A rule item composed of a string operation. +message UserListStringRuleItemInfo { + // String comparison operator. + // This field is required and must be populated when creating a new string + // rule item. + google.ads.googleads.v9.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1; + + // The right hand side of the string rule item. For URLs or referrer URLs, + // the value can not contain illegal URL chars such as newlines, quotes, + // tabs, or parentheses. This field is required and must be populated when + // creating a new string rule item. + optional string value = 3; +} + +// 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.v9.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3; +} + +// Visitors of a page during specific dates. +message DateSpecificRuleUserListInfo { + // Boolean rule that defines visitor of a page. + // + // Required for creating a date specific rule user list. + UserListRuleInfo rule = 1; + + // Start date of users visit. If set to 2000-01-01, then the list includes all + // users before end_date. The date's format should be YYYY-MM-DD. + // + // Required for creating a data specific rule user list. + optional string start_date = 4; + + // Last date of users visit. If set to 2037-12-30, then the list includes all + // users after start_date. The date's format should be YYYY-MM-DD. + // + // Required for creating a data specific rule user list. + optional string end_date = 5; +} + +// Visitors of a page. The page visit is defined by one boolean rule expression. +message ExpressionRuleUserListInfo { + // Boolean rule that defines this user list. The rule consists of a list of + // rule item groups and each rule item group consists of a list of rule items. + // All the rule item groups are ORed or ANDed together for evaluation based on + // rule.rule_type. + // + // Required for creating an expression rule user list. + UserListRuleInfo rule = 1; +} + +// Representation of a userlist that is generated by a rule. +message RuleBasedUserListInfo { + // The status of pre-population. The field is default to NONE if not set which + // means the previous users will not be considered. If set to REQUESTED, past + // site visitors or app users who match the list definition will be included + // in the list (works on the Display Network only). This will only + // add past users from within the last 30 days, depending on the + // list's membership duration and the date when the remarketing tag is added. + // The status will be updated to FINISHED once request is processed, or FAILED + // if the request fails. + google.ads.googleads.v9.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1; + + // 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 during specific dates. The visiting periods are + // defined as follows: + // Between start_date (inclusive) and end_date (inclusive); + // Before end_date (exclusive) with start_date = 2000-01-01; + // After start_date (exclusive) with end_date = 2037-12-30. + DateSpecificRuleUserListInfo date_specific_rule_user_list = 3; + + // Visitors of a page. The page visit is defined by one boolean rule + // expression. + ExpressionRuleUserListInfo expression_rule_user_list = 4; + } +} + +// Represents a user list that is a custom combination of user lists. +message LogicalUserListInfo { + // Logical list rules that define this user list. The rules are defined as a + // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are + // ANDed when they are evaluated. + // + // Required for creating a logical user list. + repeated UserListLogicalRuleInfo rules = 1; +} + +// A user list logical rule. A rule has a logical operator (and/or/not) and a +// list of user lists as operands. +message UserListLogicalRuleInfo { + // The logical operator of the rule. + google.ads.googleads.v9.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1; + + // The list of operands of the rule. + repeated LogicalUserListOperandInfo rule_operands = 2; +} + +// Operand of logical user list that consists of a user list. +message LogicalUserListOperandInfo { + // Resource name of a user list as an operand. + optional string user_list = 2; +} + +// User list targeting as a collection of conversions or remarketing actions. +message BasicUserListInfo { + // Actions associated with this user list. + repeated UserListActionInfo actions = 1; +} + +// Represents an action type used for building remarketing user lists. +message UserListActionInfo { + // Subtypes of user list action. + oneof user_list_action { + // A conversion action that's not generated from remarketing. + string conversion_action = 3; + + // A remarketing action. + string remarketing_action = 4; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/common/value.proto b/google-cloud/protos/google/ads/googleads/v9/common/value.proto new file mode 100644 index 00000000..724a4725 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/common/value.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.common; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/common;common"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.ads.googleads.v9.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V9::Common"; + +// Proto file describing value types. + +// A generic data container. +message Value { + // A value. + oneof value { + // A boolean. + bool boolean_value = 1; + + // An int64. + int64 int64_value = 2; + + // A float. + float float_value = 3; + + // A double. + double double_value = 4; + + // A string. + string string_value = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/enums/BUILD.bazel new file mode 100644 index 00000000..01a51ee0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/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/google-cloud/protos/google/ads/googleads/v9/enums/access_invitation_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/access_invitation_status.proto new file mode 100644 index 00000000..802f147b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/access_invitation_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing AccessInvitationStatus enum. + +// Container for enum for identifying the status of access invitation +message AccessInvitationStatusEnum { + // Possible access invitation status of a user + enum AccessInvitationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The initial state of an invitation, before being acted upon by anyone. + PENDING = 2; + + // Invitation process was terminated by the email recipient. No new user was + // created. + DECLINED = 3; + + // Invitation URLs expired without being acted upon. No new user can be + // created. Invitations expire 20 days after creation. + EXPIRED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/access_reason.proto b/google-cloud/protos/google/ads/googleads/v9/enums/access_reason.proto new file mode 100644 index 00000000..68c59f97 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/access_reason.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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessReasonProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Indicates the way the resource such as user list is related to a user. +message AccessReasonEnum { + // Enum describing possible access reasons. + enum AccessReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The resource is owned by the user. + OWNED = 2; + + // The resource is shared to the user. + SHARED = 3; + + // The resource is licensed to the user. + LICENSED = 4; + + // The user subscribed to the resource. + SUBSCRIBED = 5; + + // The resource is accessible to the user. + AFFILIATED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/access_role.proto b/google-cloud/protos/google/ads/googleads/v9/enums/access_role.proto new file mode 100644 index 00000000..ca9f1198 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/access_role.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccessRoleProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing possible access role for user. +message AccessRoleEnum { + // Possible access role of a user. + enum AccessRole { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Owns its account and can control the addition of other users. + ADMIN = 2; + + // Can modify campaigns, but can't affect other users. + STANDARD = 3; + + // Can view campaigns and account changes, but cannot make edits. + READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_status.proto new file mode 100644 index 00000000..b54a6fd3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_status.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing AccountBudgetProposal statuses. + +// Message describing AccountBudgetProposal statuses. +message AccountBudgetProposalStatusEnum { + // The possible statuses of an AccountBudgetProposal. + enum AccountBudgetProposalStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The proposal is pending approval. + PENDING = 2; + + // The proposal has been approved but the corresponding billing setup + // has not. This can occur for proposals that set up the first budget + // when signing up for billing or when performing a change of bill-to + // operation. + APPROVED_HELD = 3; + + // The proposal has been approved. + APPROVED = 4; + + // The proposal has been cancelled by the user. + CANCELLED = 5; + + // The proposal has been rejected by the user, e.g. by rejecting an + // acceptance email. + REJECTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_type.proto new file mode 100644 index 00000000..c3c06e04 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_proposal_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing AccountBudgetProposal types. + +// Message describing AccountBudgetProposal types. +message AccountBudgetProposalTypeEnum { + // The possible types of an AccountBudgetProposal. + enum AccountBudgetProposalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Identifies a request to create a new budget. + CREATE = 2; + + // Identifies a request to edit an existing budget. + UPDATE = 3; + + // Identifies a request to end a budget that has already started. + END = 4; + + // Identifies a request to remove a budget that hasn't started yet. + REMOVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_status.proto new file mode 100644 index 00000000..949d9ce5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/account_budget_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing AccountBudget statuses. + +// Message describing AccountBudget statuses. +message AccountBudgetStatusEnum { + // The possible statuses of an AccountBudget. + enum AccountBudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The account budget is pending approval. + PENDING = 2; + + // The account budget has been approved. + APPROVED = 3; + + // The account budget has been cancelled by the user. + CANCELLED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/account_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/account_link_status.proto new file mode 100644 index 00000000..4a99583f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/account_link_status.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing possible statuses of an account link. +message AccountLinkStatusEnum { + // Describes the possible statuses for a link between a Google Ads customer + // and another account. + enum AccountLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The link is enabled. + ENABLED = 2; + + // The link is removed/disabled. + REMOVED = 3; + + // The link to the other account has been requested. A user on the other + // account may now approve the link by setting the status to ENABLED. + REQUESTED = 4; + + // This link has been requested by a user on the other account. It may be + // approved by a user on this account by setting the status to ENABLED. + PENDING_APPROVAL = 5; + + // The link is rejected by the approver. + REJECTED = 6; + + // The link is revoked by the user who requested the link. + REVOKED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_customizer_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_customizer_placeholder_field.proto new file mode 100644 index 00000000..1aa0154a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_customizer_placeholder_field.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Ad Customizer placeholder fields. + +// Values for Ad Customizer placeholder fields. +message AdCustomizerPlaceholderFieldEnum { + // Possible values for Ad Customizers placeholder fields. + enum AdCustomizerPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. Integer value to be inserted. + INTEGER = 2; + + // Data Type: STRING. Price value to be inserted. + PRICE = 3; + + // Data Type: DATE_TIME. Date value to be inserted. + DATE = 4; + + // Data Type: STRING. String value to be inserted. + STRING = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_destination_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_destination_type.proto new file mode 100644 index 00000000..e1e45490 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_destination_type.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdDestinationTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad destination types. + +// Container for enumeration of Google Ads destination types. +message AdDestinationTypeEnum { + // Enumerates Google Ads destination types + enum AdDestinationType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Ads that don't intend to drive users off from ads to other destinations + NOT_APPLICABLE = 2; + + // Website + WEBSITE = 3; + + // App Deep Link + APP_DEEP_LINK = 4; + + // iOS App Store or Play Store + APP_STORE = 5; + + // Call Dialer + PHONE_CALL = 6; + + // Map App + MAP_DIRECTIONS = 7; + + // Location Dedicated Page + LOCATION_LISTING = 8; + + // Text Message + MESSAGE = 9; + + // Lead Generation Form + LEAD_FORM = 10; + + // YouTube + YOUTUBE = 11; + + // Ad Destination for Conversions with keys unknown + UNMODELED_FOR_CONVERSIONS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_rotation_mode.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_rotation_mode.proto new file mode 100644 index 00000000..f7c99768 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_rotation_mode.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdRotationModeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad group ad rotation mode. + +// Container for enum describing possible ad rotation modes of ads within an +// ad group. +message AdGroupAdRotationModeEnum { + // The possible ad rotation modes of an ad group. + enum AdGroupAdRotationMode { + // The ad rotation mode has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Optimize ad group ads based on clicks or conversions. + OPTIMIZE = 2; + + // Rotate evenly forever. + ROTATE_FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_status.proto new file mode 100644 index 00000000..ad90af3a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_ad_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_approval_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_approval_status.proto new file mode 100644 index 00000000..a6d68b64 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_approval_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible AdGroupCriterion approval statuses. +message AdGroupCriterionApprovalStatusEnum { + // Enumerates AdGroupCriterion approval statuses. + enum AdGroupCriterionApprovalStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Approved. + APPROVED = 2; + + // Disapproved. + DISAPPROVED = 3; + + // Pending Review. + PENDING_REVIEW = 4; + + // Under review. + UNDER_REVIEW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_status.proto new file mode 100644 index 00000000..61a75315 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_criterion_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing AdGroupCriterion statuses. + +// Message describing AdGroupCriterion statuses. +message AdGroupCriterionStatusEnum { + // The possible statuses of an AdGroupCriterion. + enum AdGroupCriterionStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group criterion is enabled. + ENABLED = 2; + + // The ad group criterion is paused. + PAUSED = 3; + + // The ad group criterion is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_status.proto new file mode 100644 index 00000000..a5a15bd5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad group status. + +// Container for enum describing possible statuses of an ad group. +message AdGroupStatusEnum { + // The possible statuses of an ad group. + enum AdGroupStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad group is enabled. + ENABLED = 2; + + // The ad group is paused. + PAUSED = 3; + + // The ad group is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_type.proto new file mode 100644 index 00000000..18d80cc3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_group_type.proto @@ -0,0 +1,96 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad group types. + +// Defines types of an ad group, specific to a particular campaign channel +// type. This type drives validations that restrict which entities can be +// added to the ad group. +message AdGroupTypeEnum { + // Enum listing the possible types of an ad group. + enum AdGroupType { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The default ad group type for Search campaigns. + SEARCH_STANDARD = 2; + + // The default ad group type for Display campaigns. + DISPLAY_STANDARD = 3; + + // The ad group type for Shopping campaigns serving standard product ads. + SHOPPING_PRODUCT_ADS = 4; + + // The default ad group type for Hotel campaigns. + HOTEL_ADS = 6; + + // The type for ad groups in Smart Shopping campaigns. + SHOPPING_SMART_ADS = 7; + + // Short unskippable in-stream video ads. + VIDEO_BUMPER = 8; + + // TrueView (skippable) in-stream video ads. + VIDEO_TRUE_VIEW_IN_STREAM = 9; + + // TrueView in-display video ads. + VIDEO_TRUE_VIEW_IN_DISPLAY = 10; + + // Unskippable in-stream video ads. + VIDEO_NON_SKIPPABLE_IN_STREAM = 11; + + // Outstream video ads. + VIDEO_OUTSTREAM = 12; + + // Ad group type for Dynamic Search Ads ad groups. + SEARCH_DYNAMIC_ADS = 13; + + // The type for ad groups in Shopping Comparison Listing campaigns. + SHOPPING_COMPARISON_LISTING_ADS = 14; + + // The ad group type for Promoted Hotel ad groups. + PROMOTED_HOTEL_ADS = 15; + + // Video responsive ad groups. + VIDEO_RESPONSIVE = 16; + + // Video efficient reach ad groups. + VIDEO_EFFICIENT_REACH = 17; + + // Ad group type for Smart campaigns. + SMART_CAMPAIGN_ADS = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_network_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_network_type.proto new file mode 100644 index 00000000..803115c7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_network_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdNetworkTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/ad_serving_optimization_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_serving_optimization_status.proto new file mode 100644 index 00000000..76307f12 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_serving_optimization_status.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdServingOptimizationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad serving statuses. + +// Possible ad serving statuses of a campaign. +message AdServingOptimizationStatusEnum { + // Enum describing possible serving statuses. + enum AdServingOptimizationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Ad serving is optimized based on CTR for the campaign. + OPTIMIZE = 2; + + // Ad serving is optimized based on CTR * Conversion for the campaign. If + // the campaign is not in the conversion optimizer bidding strategy, it will + // default to OPTIMIZED. + CONVERSION_OPTIMIZE = 3; + + // Ads are rotated evenly for 90 days, then optimized for clicks. + ROTATE = 4; + + // Show lower performing ads more evenly with higher performing ads, and do + // not optimize. + ROTATE_INDEFINITELY = 5; + + // Ad serving optimization status is not available. + UNAVAILABLE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/ad_strength.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_strength.proto new file mode 100644 index 00000000..1bb2aaa8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_strength.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/ad_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/ad_type.proto new file mode 100644 index 00000000..940604ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/ad_type.proto @@ -0,0 +1,131 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the ad type. + +// Container for enum describing possible types of an ad. +message AdTypeEnum { + // The possible types of an ad. + enum AdType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The ad is a text ad. + TEXT_AD = 2; + + // The ad is an expanded text ad. + EXPANDED_TEXT_AD = 3; + + // The ad is an expanded dynamic search ad. + EXPANDED_DYNAMIC_SEARCH_AD = 7; + + // The ad is a hotel ad. + HOTEL_AD = 8; + + // The ad is a Smart Shopping ad. + SHOPPING_SMART_AD = 9; + + // The ad is a standard Shopping ad. + SHOPPING_PRODUCT_AD = 10; + + // The ad is a video ad. + VIDEO_AD = 12; + + // This ad is 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; + + // Call ad. + CALL_AD = 32; + + // Universal app pre-registration ad. + APP_PRE_REGISTRATION_AD = 33; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_sub_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_sub_type.proto new file mode 100644 index 00000000..a18c75c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_sub_type.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelSubTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing advertising channel subtypes. + +// An immutable specialization of an Advertising Channel. +message AdvertisingChannelSubTypeEnum { + // Enum describing the different channel subtypes. + enum AdvertisingChannelSubType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile app campaigns for Search. + SEARCH_MOBILE_APP = 2; + + // Mobile app campaigns for Display. + DISPLAY_MOBILE_APP = 3; + + // AdWords express campaigns for search. + SEARCH_EXPRESS = 4; + + // AdWords Express campaigns for display. + DISPLAY_EXPRESS = 5; + + // Smart Shopping campaigns. + SHOPPING_SMART_ADS = 6; + + // Gmail Ad campaigns. + DISPLAY_GMAIL_AD = 7; + + // Smart display campaigns. + 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 allows you to 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_type.proto new file mode 100644 index 00000000..dee11f13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/advertising_channel_type.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdvertisingChannelTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing advertising channel types + +// The channel type a campaign may target to serve on. +message AdvertisingChannelTypeEnum { + // Enum describing the various advertising channel types. + enum AdvertisingChannelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search Network. Includes display bundled, and Search+ campaigns. + SEARCH = 2; + + // Google Display Network only. + DISPLAY = 3; + + // Shopping campaigns serve on the shopping property + // and on google.com search results. + SHOPPING = 4; + + // Hotel Ads campaigns. + HOTEL = 5; + + // Video campaigns. + VIDEO = 6; + + // App Campaigns, and App Campaigns for Engagement, that run + // across multiple channels. + MULTI_CHANNEL = 7; + + // Local ads campaigns. + LOCAL = 8; + + // Smart campaigns. + SMART = 9; + + // Performance Max campaigns. + PERFORMANCE_MAX = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_feed_relationship_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_feed_relationship_type.proto new file mode 100644 index 00000000..3bee231d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_feed_relationship_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing relation type for affiliate location feeds. + +// Container for enum describing possible values for a relationship type for +// an affiliate location feed. +message AffiliateLocationFeedRelationshipTypeEnum { + // Possible values for a relationship type for an affiliate location feed. + enum AffiliateLocationFeedRelationshipType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // General retailer relationship. + GENERAL_RETAILER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_placeholder_field.proto new file mode 100644 index 00000000..45c431ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/affiliate_location_placeholder_field.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AffiliateLocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Affiliate Location placeholder fields. + +// Values for Affiliate Location placeholder fields. +message AffiliateLocationPlaceholderFieldEnum { + // Possible values for Affiliate Location placeholder fields. + enum AffiliateLocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + + // Data Type: STRING. Language code of the business. + LANGUAGE_CODE = 10; + + // Data Type: INT64. ID of the chain. + CHAIN_ID = 11; + + // Data Type: STRING. Name of the chain. + CHAIN_NAME = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/age_range_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/age_range_type.proto new file mode 100644 index 00000000..22bf3484 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/age_range_type.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing age range types. + +// Container for enum describing the type of demographic age ranges. +message AgeRangeTypeEnum { + // The type of demographic age ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_app_store.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_app_store.proto new file mode 100644 index 00000000..f018f24d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_app_store.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignAppStoreProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing App Campaign app store. + +// The application store that distributes mobile applications. +message AppCampaignAppStoreEnum { + // Enum describing app campaign app store. + enum AppCampaignAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple app store. + APPLE_APP_STORE = 2; + + // Google play. + GOOGLE_APP_STORE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_bidding_strategy_goal_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_bidding_strategy_goal_type.proto new file mode 100644 index 00000000..b39873f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_campaign_bidding_strategy_goal_type.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppCampaignBiddingStrategyGoalTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing App Campaign bidding strategy goal types. + +// Container for enum describing goal towards which the bidding strategy of an +// app campaign should optimize for. +message AppCampaignBiddingStrategyGoalTypeEnum { + // Goal type of App campaign BiddingStrategy. + enum AppCampaignBiddingStrategyGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Aim to maximize the number of app installs. The cpa bid is the + // target cost per install. + OPTIMIZE_INSTALLS_TARGET_INSTALL_COST = 2; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per install. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST = 3; + + // Aim to maximize the long term number of selected in-app conversions from + // app installs. The cpa bid is the target cost per in-app conversion. Note + // that the actual cpa may seem higher than the target cpa at first, since + // the long term conversions haven’t happened yet. + OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST = 4; + + // Aim to maximize all conversions' value, i.e. 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/google-cloud/protos/google/ads/googleads/v9/enums/app_payment_model_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_payment_model_type.proto new file mode 100644 index 00000000..bf67202b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_payment_model_type.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPaymentModelTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing criteria types. + +// Represents a criterion for targeting paid apps. +message AppPaymentModelTypeEnum { + // Enum describing possible app payment models. + enum AppPaymentModelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Represents paid-for apps. + PAID = 30; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/app_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_placeholder_field.proto new file mode 100644 index 00000000..cb8a5660 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_placeholder_field.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing App placeholder fields. + +// Values for App placeholder fields. +message AppPlaceholderFieldEnum { + // Possible values for App placeholder fields. + enum AppPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The application store that the target application + // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play + // Store. + STORE = 2; + + // Data Type: STRING. The store-specific ID for the target application. + ID = 3; + + // Data Type: STRING. The visible text displayed when the link is rendered + // in an ad. + LINK_TEXT = 4; + + // Data Type: STRING. The destination URL of the in-app link. + URL = 5; + + // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded + // URLs. + FINAL_URLS = 6; + + // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 7; + + // Data Type: URL. Tracking template for the in-app link when using Upgraded + // URLs. + TRACKING_URL = 8; + + // Data Type: STRING. Final URL suffix for the in-app link when using + // parallel tracking. + FINAL_URL_SUFFIX = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/app_store.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_store.proto new file mode 100644 index 00000000..0cc57a06 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_store.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppStoreProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing app store types for an app extension. + +// Container for enum describing app store type in an app extension. +message AppStoreEnum { + // App store type in an app extension. + enum AppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_ITUNES = 2; + + // Google Play. + GOOGLE_PLAY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/app_url_operating_system_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/app_url_operating_system_type.proto new file mode 100644 index 00000000..ca4df8b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/app_url_operating_system_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing operating system for a deeplink app URL. + +// The possible OS types for a deeplink AppUrl. +message AppUrlOperatingSystemTypeEnum { + // Operating System + enum AppUrlOperatingSystemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Apple IOS operating system. + IOS = 2; + + // The Android operating system. + ANDROID = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_field_type.proto new file mode 100644 index 00000000..84960311 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_field_type.proto @@ -0,0 +1,117 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing asset type. + +// Container for enum describing the possible placements of an asset. +message AssetFieldTypeEnum { + // Enum describing the possible placements of an asset. + enum AssetFieldType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The asset is linked for use as a headline. + HEADLINE = 2; + + // The asset is linked for use as a description. + DESCRIPTION = 3; + + // The asset is linked for use as mandatory ad text. + MANDATORY_AD_TEXT = 4; + + // The asset is linked for use as a marketing image. + MARKETING_IMAGE = 5; + + // The asset is linked for use as a media bundle. + MEDIA_BUNDLE = 6; + + // The asset is linked for use as a YouTube video. + YOUTUBE_VIDEO = 7; + + // The asset is linked to indicate that a hotels campaign is "Book on + // Google" enabled. + BOOK_ON_GOOGLE = 8; + + // The asset is linked for use as a Lead Form extension. + LEAD_FORM = 9; + + // The asset is linked for use as a Promotion extension. + PROMOTION = 10; + + // The asset is linked for use as a Callout extension. + CALLOUT = 11; + + // The asset is linked for use as a Structured Snippet extension. + STRUCTURED_SNIPPET = 12; + + // The asset is linked for use as a Sitelink extension. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/asset_group_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_group_status.proto new file mode 100644 index 00000000..15113c90 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_group_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/asset_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_link_status.proto new file mode 100644 index 00000000..de012c76 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_link_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/asset_performance_label.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_performance_label.proto new file mode 100644 index 00000000..570d1f24 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_performance_label.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetPerformanceLabelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the performance label of an asset. + +// Container for enum describing the performance label of an asset. +message AssetPerformanceLabelEnum { + // Enum describing the possible performance labels of an asset, usually + // computed in the context of a linkage. + enum AssetPerformanceLabel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This asset does not yet have any performance informantion. This may be + // because it is still under review. + PENDING = 2; + + // The asset has started getting impressions but the stats are not + // statistically significant enough to get an asset performance label. + LEARNING = 3; + + // Worst performing assets. + LOW = 4; + + // Good performing assets. + GOOD = 5; + + // Best performing assets. + BEST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_asset_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_asset_status.proto new file mode 100644 index 00000000..bcb815f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_asset_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_link_status.proto new file mode 100644 index 00000000..9ef8c4fb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_link_status.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 he 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/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_status.proto new file mode 100644 index 00000000..6faac36b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing asset set status. + +// Container for enum describing possible statuses of an asset set. +message AssetSetStatusEnum { + // The possible statuses of an asset set. + enum AssetSetStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The asset set is enabled. + ENABLED = 2; + + // The asset set is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_type.proto new file mode 100644 index 00000000..b208ae2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_set_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 feed. + PAGE_FEED = 2; + + // Dynamic education feed. + DYNAMIC_EDUCATION = 3; + + // Google Merchant Center asset set. + MERCHANT_CENTER_FEED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/asset_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/asset_type.proto new file mode 100644 index 00000000..2966e415 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/asset_type.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/attribution_model.proto b/google-cloud/protos/google/ads/googleads/v9/enums/attribution_model.proto new file mode 100644 index 00000000..c5c03b9e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/attribution_model.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AttributionModelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum representing the attribution model that describes how to +// distribute credit for a particular conversion across potentially many prior +// interactions. +message AttributionModelEnum { + // The attribution model that describes how to distribute credit for a + // particular conversion across potentially many prior interactions. + enum AttributionModel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Uses external attribution. + EXTERNAL = 100; + + // Attributes all credit for a conversion to its last click. + GOOGLE_ADS_LAST_CLICK = 101; + + // Attributes all credit for a conversion to its first click using Google + // Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102; + + // Attributes credit for a conversion equally across all of its clicks using + // Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103; + + // Attributes exponentially more credit for a conversion to its more recent + // clicks using Google Search attribution (half-life is 1 week). + GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104; + + // Attributes 40% of the credit for a conversion to its first and last + // clicks. Remaining 20% is evenly distributed across all other clicks. This + // uses Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105; + + // Flexible model that uses machine learning to determine the appropriate + // distribution of credit among clicks using Google Search attribution. + GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/batch_job_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/batch_job_status.proto new file mode 100644 index 00000000..a3747c2e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/batch_job_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing batch job statuses. + +// Container for enum describing possible batch job statuses. +message BatchJobStatusEnum { + // The batch job statuses. + enum BatchJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job is not currently running. + PENDING = 2; + + // The job is running. + RUNNING = 3; + + // The job is done. + DONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/bid_modifier_source.proto b/google-cloud/protos/google/ads/googleads/v9/enums/bid_modifier_source.proto new file mode 100644 index 00000000..e30e7c6a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/bid_modifier_source.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BidModifierSourceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing bid modifier source. + +// Container for enum describing possible bid modifier sources. +message BidModifierSourceEnum { + // Enum describing possible bid modifier sources. + enum BidModifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The bid modifier is specified at the campaign level, on the campaign + // level criterion. + CAMPAIGN = 2; + + // The bid modifier is specified (overridden) at the ad group level. + AD_GROUP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/bidding_source.proto b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_source.proto new file mode 100644 index 00000000..0d5b32be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_source.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSourceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing bidding sources. + +// Container for enum describing possible bidding sources. +message BiddingSourceEnum { + // Indicates where a bid or target is defined. For example, an ad group + // criterion may define a cpc bid directly, or it can inherit its cpc bid from + // the ad group. + enum BiddingSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Effective bid or target is inherited from campaign bidding strategy. + CAMPAIGN_BIDDING_STRATEGY = 5; + + // The bid or target is defined on the ad group. + AD_GROUP = 6; + + // The bid or target is defined on the ad group criterion. + AD_GROUP_CRITERION = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_status.proto new file mode 100644 index 00000000..00e448b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_status.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing BiddingStrategy statuses. + +// Message describing BiddingStrategy statuses. +message BiddingStrategyStatusEnum { + // The possible statuses of a BiddingStrategy. + enum BiddingStrategyStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The bidding strategy is enabled. + ENABLED = 2; + + // The bidding strategy is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_type.proto new file mode 100644 index 00000000..47bd8d5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/bidding_strategy_type.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing bidding schemes. + +// Container for enum describing possible bidding strategy types. +message BiddingStrategyTypeEnum { + // Enum describing possible bidding strategy types. + enum BiddingStrategyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Commission is an automatic bidding strategy in which the advertiser pays + // a certain portion of the conversion value. + COMMISSION = 16; + + // Enhanced CPC is a bidding strategy that raises bids for clicks + // that seem more likely to lead to a conversion and lowers + // them for clicks where they seem less likely. + ENHANCED_CPC = 2; + + // Used for return value only. Indicates that a campaign does not have a + // bidding strategy. This prevents the campaign from serving. For example, + // a campaign may be attached to a manager bidding strategy and the serving + // account is subsequently unlinked from the manager account. In this case + // the campaign will automatically be detached from the now inaccessible + // manager bidding strategy and transition to the INVALID bidding strategy + // type. + INVALID = 17; + + // Manual 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/google-cloud/protos/google/ads/googleads/v9/enums/billing_setup_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/billing_setup_status.proto new file mode 100644 index 00000000..8f7a3bf8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/billing_setup_status.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing BillingSetup statuses. + +// Message describing BillingSetup statuses. +message BillingSetupStatusEnum { + // The possible statuses of a BillingSetup. + enum BillingSetupStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The billing setup is pending approval. + PENDING = 2; + + // The billing setup has been approved but the corresponding first budget + // has not. This can only occur for billing setups configured for monthly + // invoicing. + APPROVED_HELD = 3; + + // The billing setup has been approved. + APPROVED = 4; + + // The billing setup was cancelled by the user prior to approval. + CANCELLED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/brand_safety_suitability.proto b/google-cloud/protos/google/ads/googleads/v9/enums/brand_safety_suitability.proto new file mode 100644 index 00000000..ebfbb7c8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/brand_safety_suitability.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BrandSafetySuitabilityProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing brand safety suitability settings. + +// Container for enum with 3-Tier brand safety suitability control. +message BrandSafetySuitabilityEnum { + // 3-Tier brand safety suitability control. + enum BrandSafetySuitability { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This option lets you show ads across all inventory on YouTube and video + // partners that meet our standards for monetization. This option may be an + // appropriate choice for brands that want maximum access to the full + // breadth of videos eligible for ads, including, for example, videos that + // have strong profanity in the context of comedy or a documentary, or + // excessive violence as featured in video games. + EXPANDED_INVENTORY = 2; + + // This option lets you show ads across a wide range of content that's + // appropriate for most brands, such as popular music videos, documentaries, + // and movie trailers. The content you can show ads on is based on YouTube's + // advertiser-friendly content guidelines that take into account, for + // example, the strength or frequency of profanity, or the appropriateness + // of subject matter like sensitive events. Ads won't show, for example, on + // content with repeated strong profanity, strong sexual content, or graphic + // violence. + STANDARD_INVENTORY = 3; + + // This option lets you show ads on a reduced range of content that's + // appropriate for brands with particularly strict guidelines around + // inappropriate language and sexual suggestiveness; above and beyond what + // YouTube's advertiser-friendly content guidelines address. The videos + // accessible in this sensitive category meet heightened requirements, + // especially for inappropriate language and sexual suggestiveness. For + // example, your ads will be excluded from showing on some of YouTube's most + // popular music videos and other pop culture content across YouTube and + // Google video partners. + LIMITED_INVENTORY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/budget_campaign_association_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/budget_campaign_association_status.proto new file mode 100644 index 00000000..6b53fab6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/budget_campaign_association_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetCampaignAssociationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Budget and Campaign association status. + +// Message describing the status of the association between the Budget and the +// Campaign. +message BudgetCampaignAssociationStatusEnum { + // Possible statuses of the association between the Budget and the Campaign. + enum BudgetCampaignAssociationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign is currently using the budget. + ENABLED = 2; + + // The campaign is no longer using the budget. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/budget_delivery_method.proto b/google-cloud/protos/google/ads/googleads/v9/enums/budget_delivery_method.proto new file mode 100644 index 00000000..bfc7aff4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/budget_delivery_method.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetDeliveryMethodProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget delivery methods. A delivery method determines the +// rate at which the Budget is spent. +message BudgetDeliveryMethodEnum { + // Possible delivery methods of a Budget. + enum BudgetDeliveryMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The budget server will throttle serving evenly across + // the entire time period. + STANDARD = 2; + + // The budget server will not throttle serving, + // and ads will serve as fast as possible. + ACCELERATED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/budget_period.proto b/google-cloud/protos/google/ads/googleads/v9/enums/budget_period.proto new file mode 100644 index 00000000..924fd95b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/budget_period.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetPeriodProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Budget delivery methods. + +// Message describing Budget period. +message BudgetPeriodEnum { + // Possible period of a Budget. + enum BudgetPeriod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Daily budget. + DAILY = 2; + + // Custom budget, added back in V5. + // Custom 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/google-cloud/protos/google/ads/googleads/v9/enums/budget_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/budget_status.proto new file mode 100644 index 00000000..49ae3eac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/budget_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Budget statuses + +// Message describing a Budget status +message BudgetStatusEnum { + // Possible statuses of a Budget. + enum BudgetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget is enabled. + ENABLED = 2; + + // Budget is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/budget_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/budget_type.proto new file mode 100644 index 00000000..7c6a70b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/budget_type.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "BudgetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Budget types. + +// Describes Budget types. +message BudgetTypeEnum { + // Possible Budget types. + enum BudgetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Budget type for standard Google Ads usage. + // Caps daily spend at two times the specified budget amount. + // Full details: https://support.google.com/google-ads/answer/6385083 + STANDARD = 2; + + // Budget type with a fixed cost-per-acquisition (conversion). + // Full details: https://support.google.com/google-ads/answer/7528254 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.DISPLAY (excluding + // AdvertisingChannelSubType.DISPLAY_GMAIL), + // BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS. + FIXED_CPA = 4; + + // Budget type for Smart Campaign. + // Full details: https://support.google.com/google-ads/answer/7653509 + // + // This type is only supported by campaigns with + // AdvertisingChannelType.SMART and + // AdvertisingChannelSubType.SMART_CAMPAIGN. + SMART_CAMPAIGN = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/call_conversion_reporting_state.proto b/google-cloud/protos/google/ads/googleads/v9/enums/call_conversion_reporting_state.proto new file mode 100644 index 00000000..ff4629b8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/call_conversion_reporting_state.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallConversionReportingStateProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/call_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/call_placeholder_field.proto new file mode 100644 index 00000000..f0624609 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/call_placeholder_field.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Call placeholder fields. + +// Values for Call placeholder fields. +message CallPlaceholderFieldEnum { + // Possible values for Call placeholder fields. + enum CallPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The advertiser's phone number to append to the ad. + PHONE_NUMBER = 2; + + // Data Type: STRING. Uppercase two-letter country code of the advertiser's + // phone number. + COUNTRY_CODE = 3; + + // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default: + // true. + TRACKED = 4; + + // Data Type: INT64. The ID of an AdCallMetricsConversion object. This + // object contains the phoneCallDurationfield which is the minimum duration + // (in seconds) of a call to be considered a conversion. + CONVERSION_TYPE_ID = 5; + + // Data Type: STRING. Indicates whether this call extension uses its own + // call conversion setting or follows the account level setting. + // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and + // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + CONVERSION_REPORTING_STATE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/call_to_action_type.proto new file mode 100644 index 00000000..e8636caa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/call_to_action_type.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/call_tracking_display_location.proto b/google-cloud/protos/google/ads/googleads/v9/enums/call_tracking_display_location.proto new file mode 100644 index 00000000..958e67bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/call_tracking_display_location.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTrackingDisplayLocationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing call tracking display location. + +// Container for enum describing possible call tracking display locations. +message CallTrackingDisplayLocationEnum { + // Possible call tracking display locations. + enum CallTrackingDisplayLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call placed from the ad. + AD = 2; + + // The phone call placed from the landing page ad points to. + LANDING_PAGE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/call_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/call_type.proto new file mode 100644 index 00000000..84aa8deb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/call_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CallTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing call types. + +// Container for enum describing possible types of property from where the call +// was made. +message CallTypeEnum { + // Possible types of property from where the call was made. + enum CallType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The phone call was manually dialed. + MANUALLY_DIALED = 2; + + // The phone call was a mobile click-to-call. + HIGH_END_MOBILE_SEARCH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/callout_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/callout_placeholder_field.proto new file mode 100644 index 00000000..46187244 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/callout_placeholder_field.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CalloutPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Callout placeholder fields. + +// Values for Callout placeholder fields. +message CalloutPlaceholderFieldEnum { + // Possible values for Callout placeholder fields. + enum CalloutPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Callout text. + CALLOUT_TEXT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_criterion_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_criterion_status.proto new file mode 100644 index 00000000..a18fd14b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_criterion_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/campaign_draft_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_draft_status.proto new file mode 100644 index 00000000..1bc2f809 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_draft_status.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign draft status. + +// Container for enum describing possible statuses of a campaign draft. +message CampaignDraftStatusEnum { + // Possible statuses of a campaign draft. + enum CampaignDraftStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Initial state of the draft, the advertiser can start adding changes with + // no effect on serving. + PROPOSED = 2; + + // The campaign draft is removed. + REMOVED = 3; + + // Advertiser requested to promote draft's changes back into the original + // campaign. Advertiser can poll the long running operation returned by + // the promote action to see the status of the promotion. + PROMOTING = 5; + + // The process to merge changes in the draft back to the original campaign + // has completed successfully. + PROMOTED = 4; + + // The promotion failed after it was partially applied. Promote cannot be + // attempted again safely, so the issue must be corrected in the original + // campaign. + PROMOTE_FAILED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_status.proto new file mode 100644 index 00000000..3febb564 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_status.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign experiment status. + +// Container for enum describing possible statuses of a campaign experiment. +message CampaignExperimentStatusEnum { + // Possible statuses of a campaign experiment. + enum CampaignExperimentStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The experiment campaign is being initialized. + INITIALIZING = 2; + + // Initialization of the experiment campaign failed. + INITIALIZATION_FAILED = 8; + + // The experiment campaign is fully initialized. The experiment is currently + // running, scheduled to run in the future or has ended based on its + // end date. An experiment with the status INITIALIZING will be updated to + // ENABLED when it is fully created. + ENABLED = 3; + + // The experiment campaign was graduated to a stand-alone + // campaign, existing independently of the experiment. + GRADUATED = 4; + + // The experiment is removed. + REMOVED = 5; + + // The experiment's changes are being applied to the original campaign. + // The long running operation returned by the promote method can be polled + // to see the status of the promotion. + PROMOTING = 6; + + // Promote of the experiment campaign failed. + PROMOTION_FAILED = 9; + + // The changes of the experiment are promoted to their original campaign. + PROMOTED = 7; + + // The experiment was ended manually. It did not end based on its end date. + ENDED_MANUALLY = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_traffic_split_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_traffic_split_type.proto new file mode 100644 index 00000000..b7c01172 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_traffic_split_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTrafficSplitTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign experiment traffic split type. + +// Container for enum describing campaign experiment traffic split type. +message CampaignExperimentTrafficSplitTypeEnum { + // Enum of strategies for splitting traffic between base and experiment + // campaigns in campaign experiment. + enum CampaignExperimentTrafficSplitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Traffic is randomly assigned to the base or experiment arm for each + // query, independent of previous assignments for the same user. + RANDOM_QUERY = 2; + + // Traffic is split using cookies to keep users in the same arm (base or + // experiment) of the experiment. + COOKIE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_type.proto new file mode 100644 index 00000000..aa517f87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_experiment_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign experiment type. + +// Container for enum describing campaign experiment type. +message CampaignExperimentTypeEnum { + // Indicates if this campaign is a normal campaign, + // a draft campaign, or an experiment campaign. + enum CampaignExperimentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This is a regular campaign. + BASE = 2; + + // This is a draft version of a campaign. + // It has some modifications from a base campaign, + // but it does not serve or accrue metrics. + DRAFT = 3; + + // This is an experiment version of a campaign. + // It has some modifications from a base campaign, + // and a percentage of traffic is being diverted + // from the BASE campaign to this experiment campaign. + EXPERIMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_serving_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_serving_status.proto new file mode 100644 index 00000000..6209eb0e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_serving_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServingStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Campaign serving statuses. + +// Message describing Campaign serving statuses. +message CampaignServingStatusEnum { + // Possible serving statuses of a campaign. + enum CampaignServingStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Serving. + SERVING = 2; + + // None. + NONE = 3; + + // Ended. + ENDED = 4; + + // Pending. + PENDING = 5; + + // Suspended. + SUSPENDED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_shared_set_status.proto new file mode 100644 index 00000000..6aa44d8c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_shared_set_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign shared set statuses. + +// Container for enum describing types of campaign shared set statuses. +message CampaignSharedSetStatusEnum { + // Enum listing the possible campaign shared set statuses. + enum CampaignSharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The campaign shared set is enabled. + ENABLED = 2; + + // The campaign shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/campaign_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_status.proto new file mode 100644 index 00000000..4d9ad040 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/campaign_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CampaignStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing campaign status. + +// Container for enum describing possible statuses of a campaign. +message CampaignStatusEnum { + // Possible statuses of a campaign. + enum CampaignStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Campaign is currently serving ads depending on budget information. + ENABLED = 2; + + // Campaign has been paused by the user. + PAUSED = 3; + + // Campaign has been removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/change_client_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/change_client_type.proto new file mode 100644 index 00000000..2fb7f389 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/change_client_type.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeClientTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the sources that the change event resource was +// made through. + +// Container for enum describing the sources that the change event resource +// was made through. +message ChangeClientTypeEnum { + // The source that the change_event resource was made through. + enum ChangeClientType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified client type + // unknown in this version. + UNKNOWN = 1; + + // Changes made through the "ads.google.com". + // For example, changes made through campaign management. + GOOGLE_ADS_WEB_CLIENT = 2; + + // Changes made through Google Ads automated rules. + GOOGLE_ADS_AUTOMATED_RULE = 3; + + // Changes made through Google Ads scripts. + GOOGLE_ADS_SCRIPTS = 4; + + // Changes made by Google Ads bulk upload. + GOOGLE_ADS_BULK_UPLOAD = 5; + + // Changes made by Google Ads API. + GOOGLE_ADS_API = 6; + + // Changes made by Google Ads Editor. + 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/google-cloud/protos/google/ads/googleads/v9/enums/change_event_resource_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/change_event_resource_type.proto new file mode 100644 index 00000000..eac06181 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/change_event_resource_type.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventResourceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the resource types the ChangeEvent resource supports. + +// Container for enum describing supported resource types for the ChangeEvent +// resource. +message ChangeEventResourceTypeEnum { + // Enum listing the resource types support by the ChangeEvent resource. + enum ChangeEventResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An Ad resource change. + AD = 2; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 4; + + // A Campaign resource change. + CAMPAIGN = 5; + + // A CampaignBudget resource change. + CAMPAIGN_BUDGET = 6; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 7; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 8; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 11; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 12; + + // An AdGroupAd resource change. + AD_GROUP_AD = 13; + + // An Asset resource change. + ASSET = 14; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 15; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 16; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/change_status_operation.proto b/google-cloud/protos/google/ads/googleads/v9/enums/change_status_operation.proto new file mode 100644 index 00000000..c1b95cdb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/change_status_operation.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusOperationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the change status operations. + +// Container for enum describing operations for the ChangeStatus resource. +message ChangeStatusOperationEnum { + // Status of the changed resource + enum ChangeStatusOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + ADDED = 2; + + // The resource was modified. + CHANGED = 3; + + // The resource was removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/change_status_resource_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/change_status_resource_type.proto new file mode 100644 index 00000000..51d8472b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/change_status_resource_type.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusResourceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the resource types the ChangeStatus resource supports. + +// Container for enum describing supported resource types for the ChangeStatus +// resource. +message ChangeStatusResourceTypeEnum { + // Enum listing the resource types support by the ChangeStatus resource. + enum ChangeStatusResourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified resource unknown + // in this version. + UNKNOWN = 1; + + // An AdGroup resource change. + AD_GROUP = 3; + + // An AdGroupAd resource change. + AD_GROUP_AD = 4; + + // An AdGroupCriterion resource change. + AD_GROUP_CRITERION = 5; + + // A Campaign resource change. + CAMPAIGN = 6; + + // A CampaignCriterion resource change. + CAMPAIGN_CRITERION = 7; + + // A Feed resource change. + FEED = 9; + + // A FeedItem resource change. + FEED_ITEM = 10; + + // An AdGroupFeed resource change. + AD_GROUP_FEED = 11; + + // A CampaignFeed resource change. + CAMPAIGN_FEED = 12; + + // An AdGroupBidModifier resource change. + AD_GROUP_BID_MODIFIER = 13; + + // A SharedSet resource change. + SHARED_SET = 14; + + // A CampaignSharedSet resource change. + CAMPAIGN_SHARED_SET = 15; + + // An Asset resource change. + ASSET = 16; + + // A CustomerAsset resource change. + CUSTOMER_ASSET = 17; + + // A CampaignAsset resource change. + CAMPAIGN_ASSET = 18; + + // An AdGroupAsset resource change. + AD_GROUP_ASSET = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/click_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/click_type.proto new file mode 100644 index 00000000..088fd7b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/click_type.proto @@ -0,0 +1,203 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ClickTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing click types. + +// Container for enumeration of Google Ads click types. +message ClickTypeEnum { + // Enumerates Google Ads click types. + enum ClickType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // App engagement ad deep link. + APP_DEEPLINK = 2; + + // Breadcrumbs. + BREADCRUMBS = 3; + + // Broadband Plan. + BROADBAND_PLAN = 4; + + // Manually dialed phone calls. + CALL_TRACKING = 5; + + // Phone calls. + CALLS = 6; + + // Click on engagement ad. + CLICK_ON_ENGAGEMENT_AD = 7; + + // Driving direction. + GET_DIRECTIONS = 8; + + // Get location details. + LOCATION_EXPANSION = 9; + + // Call. + LOCATION_FORMAT_CALL = 10; + + // Directions. + LOCATION_FORMAT_DIRECTIONS = 11; + + // Image(s). + LOCATION_FORMAT_IMAGE = 12; + + // Go to landing page. + LOCATION_FORMAT_LANDING_PAGE = 13; + + // Map. + LOCATION_FORMAT_MAP = 14; + + // Go to store info. + LOCATION_FORMAT_STORE_INFO = 15; + + // Text. + LOCATION_FORMAT_TEXT = 16; + + // Mobile phone calls. + MOBILE_CALL_TRACKING = 17; + + // Print offer. + OFFER_PRINTS = 18; + + // Other. + OTHER = 19; + + // Product plusbox offer. + PRODUCT_EXTENSION_CLICKS = 20; + + // Shopping - Product - Online. + PRODUCT_LISTING_AD_CLICKS = 21; + + // Sitelink. + SITELINKS = 22; + + // Show nearby locations. + STORE_LOCATOR = 23; + + // Headline. + URL_CLICKS = 25; + + // App store. + VIDEO_APP_STORE_CLICKS = 26; + + // Call-to-Action overlay. + VIDEO_CALL_TO_ACTION_CLICKS = 27; + + // Cards. + VIDEO_CARD_ACTION_HEADLINE_CLICKS = 28; + + // End cap. + VIDEO_END_CAP_CLICKS = 29; + + // Website. + VIDEO_WEBSITE_CLICKS = 30; + + // Visual Sitelinks. + VISUAL_SITELINKS = 31; + + // Wireless Plan. + WIRELESS_PLAN = 32; + + // Shopping - Product - Local. + PRODUCT_LISTING_AD_LOCAL = 33; + + // Shopping - Product - MultiChannel Local. + PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL = 34; + + // Shopping - Product - MultiChannel Online. + PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE = 35; + + // Shopping - Product - Coupon. + PRODUCT_LISTING_ADS_COUPON = 36; + + // Shopping - Product - Sell on Google. + PRODUCT_LISTING_AD_TRANSACTABLE = 37; + + // Shopping - Product - App engagement ad deep link. + PRODUCT_AD_APP_DEEPLINK = 38; + + // Shopping - Showcase - Category. + SHOWCASE_AD_CATEGORY_LINK = 39; + + // Shopping - Showcase - Local storefront. + SHOWCASE_AD_LOCAL_STOREFRONT_LINK = 40; + + // Shopping - Showcase - Online product. + SHOWCASE_AD_ONLINE_PRODUCT_LINK = 42; + + // Shopping - Showcase - Local product. + SHOWCASE_AD_LOCAL_PRODUCT_LINK = 43; + + // Promotion Extension. + PROMOTION_EXTENSION = 44; + + // Ad Headline. + SWIPEABLE_GALLERY_AD_HEADLINE = 45; + + // Swipes. + SWIPEABLE_GALLERY_AD_SWIPES = 46; + + // See More. + SWIPEABLE_GALLERY_AD_SEE_MORE = 47; + + // Sitelink 1. + SWIPEABLE_GALLERY_AD_SITELINK_ONE = 48; + + // Sitelink 2. + SWIPEABLE_GALLERY_AD_SITELINK_TWO = 49; + + // Sitelink 3. + SWIPEABLE_GALLERY_AD_SITELINK_THREE = 50; + + // Sitelink 4. + SWIPEABLE_GALLERY_AD_SITELINK_FOUR = 51; + + // Sitelink 5. + SWIPEABLE_GALLERY_AD_SITELINK_FIVE = 52; + + // Hotel price. + HOTEL_PRICE = 53; + + // Price Extension. + PRICE_EXTENSION = 54; + + // Book on Google hotel room selection. + HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION = 55; + + // Shopping - Comparison Listing. + SHOPPING_COMPARISON_LISTING = 56; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/combined_audience_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/combined_audience_status.proto new file mode 100644 index 00000000..922355b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/combined_audience_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing combined audience status. + +// The status of combined audience. +message CombinedAudienceStatusEnum { + // Enum containing possible combined audience status types. + enum CombinedAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - combined audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - combined audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/content_label_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/content_label_type.proto new file mode 100644 index 00000000..2b3acf68 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/content_label_type.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ContentLabelTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing content label types. + +// Container for enum describing content label types in ContentLabel. +message ContentLabelTypeEnum { + // Enum listing the content label types supported by ContentLabel criterion. + enum ContentLabelType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Sexually suggestive content. + SEXUALLY_SUGGESTIVE = 2; + + // Below the fold placement. + BELOW_THE_FOLD = 3; + + // Parked domain. + PARKED_DOMAIN = 4; + + // Juvenile, gross & bizarre content. + JUVENILE = 6; + + // Profanity & rough language. + PROFANITY = 7; + + // Death & tragedy. + TRAGEDY = 8; + + // Video. + VIDEO = 9; + + // Content rating: G. + VIDEO_RATING_DV_G = 10; + + // Content rating: PG. + VIDEO_RATING_DV_PG = 11; + + // Content rating: T. + VIDEO_RATING_DV_T = 12; + + // Content rating: MA. + VIDEO_RATING_DV_MA = 13; + + // Content rating: not yet rated. + VIDEO_NOT_YET_RATED = 14; + + // Embedded video. + EMBEDDED_VIDEO = 15; + + // Live streaming video. + LIVE_STREAMING_VIDEO = 16; + + // Sensitive social issues. + SOCIAL_ISSUES = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_category.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_category.proto new file mode 100644 index 00000000..e94bdbd8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_category.proto @@ -0,0 +1,106 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCategoryProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing the category of conversions that are associated +// with a ConversionAction. +message ConversionActionCategoryEnum { + // The category of conversions that are associated with a ConversionAction. + enum ConversionActionCategory { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Default category. + DEFAULT = 2; + + // User visiting a page. + PAGE_VIEW = 3; + + // Purchase, sales, or "order placed" event. + PURCHASE = 4; + + // Signup user action. + SIGNUP = 5; + + // Lead-generating action. + LEAD = 6; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_counting_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_counting_type.proto new file mode 100644 index 00000000..8a243ba4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_counting_type.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionCountingTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion action counting type. + +// Container for enum describing the conversion deduplication mode for +// conversion optimizer. +message ConversionActionCountingTypeEnum { + // Indicates how conversions for this action will be counted. For more + // information, see https://support.google.com/google-ads/answer/3438531. + enum ConversionActionCountingType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Count only one conversion per click. + ONE_PER_CLICK = 2; + + // Count all conversions per click. + MANY_PER_CLICK = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_status.proto new file mode 100644 index 00000000..5e3de168 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_status.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion action status. + +// Container for enum describing possible statuses of a conversion action. +message ConversionActionStatusEnum { + // Possible statuses of a conversion action. + enum ConversionActionStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions will be recorded. + ENABLED = 2; + + // Conversions will not be recorded. + REMOVED = 3; + + // Conversions will not be recorded and the conversion action will not + // appear in the UI. + HIDDEN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_type.proto new file mode 100644 index 00000000..b2e34666 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_action_type.proto @@ -0,0 +1,174 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion action type. + +// Container for enum describing possible types of a conversion action. +message ConversionActionTypeEnum { + // Possible types of a conversion action. + enum ConversionActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversions that occur when a user clicks on an ad's call extension. + AD_CALL = 2; + + // Conversions that occur when a user on a mobile device clicks a phone + // number. + CLICK_TO_CALL = 3; + + // Conversions that occur when a user downloads a mobile app from the Google + // Play Store. + GOOGLE_PLAY_DOWNLOAD = 4; + + // Conversions that occur when a user makes a purchase in an app through + // Android billing. + GOOGLE_PLAY_IN_APP_PURCHASE = 5; + + // Call conversions that are tracked by the advertiser and uploaded. + UPLOAD_CALLS = 6; + + // Conversions that are tracked by the advertiser and uploaded with + // attributed clicks. + UPLOAD_CLICKS = 7; + + // Conversions that occur on a webpage. + WEBPAGE = 8; + + // Conversions that occur when a user calls a dynamically-generated phone + // number from an advertiser's website. + WEBSITE_CALL = 9; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads. + // Only customers on the allowlist can use store sales direct upload types. + STORE_SALES_DIRECT_UPLOAD = 10; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. + // Only customers on the allowlist can use store sales types. + // Read only. + STORE_SALES = 11; + + // Android app first open conversions tracked via Firebase. + FIREBASE_ANDROID_FIRST_OPEN = 12; + + // Android app in app purchase conversions tracked via Firebase. + FIREBASE_ANDROID_IN_APP_PURCHASE = 13; + + // Android app custom conversions tracked via Firebase. + FIREBASE_ANDROID_CUSTOM = 14; + + // iOS app first open conversions tracked via Firebase. + FIREBASE_IOS_FIRST_OPEN = 15; + + // iOS app in app purchase conversions tracked via Firebase. + FIREBASE_IOS_IN_APP_PURCHASE = 16; + + // iOS app custom conversions tracked via Firebase. + FIREBASE_IOS_CUSTOM = 17; + + // Android app first open conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN = 18; + + // Android app in app purchase conversions tracked via Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE = 19; + + // Android app custom conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM = 20; + + // iOS app first open conversions tracked via Third Party App Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN = 21; + + // iOS app in app purchase conversions tracked via Third Party App + // Analytics. + THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE = 22; + + // iOS app custom conversions tracked via 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_adjustment_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_adjustment_type.proto new file mode 100644 index 00000000..e5d3ba70 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_adjustment_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion adjustment type. + +// Container for enum describing conversion adjustment types. +message ConversionAdjustmentTypeEnum { + // The different actions advertisers can take to adjust the conversions that + // they already reported. Retractions negate a conversion. Restatements change + // the value of a conversion. + enum ConversionAdjustmentType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Negates a conversion so that its total value and count are both zero. + RETRACTION = 2; + + // Changes the value of a conversion. + RESTATEMENT = 3; + + // Supplements an existing conversion with provided user identifiers and + // user agent, which can be used by Google to enhance the conversion count. + ENHANCEMENT = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_attribution_event_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_attribution_event_type.proto new file mode 100644 index 00000000..42e72c4f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_attribution_event_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAttributionEventTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum indicating the event type the conversion is attributed to. +message ConversionAttributionEventTypeEnum { + // The event type of conversions that are attributed to. + enum ConversionAttributionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // The conversion is attributed to an impression. + IMPRESSION = 2; + + // The conversion is attributed to an interaction. + INTERACTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_custom_variable_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_custom_variable_status.proto new file mode 100644 index 00000000..9c37cbe2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_custom_variable_status.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/conversion_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_lag_bucket.proto new file mode 100644 index 00000000..0fb3e1a3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_lag_bucket.proto @@ -0,0 +1,117 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionLagBucketProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum representing the number of days between impression and +// conversion. +message ConversionLagBucketEnum { + // Enum representing the number of days between impression and conversion. + enum ConversionLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + SIXTY_TO_NINETY_DAYS = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_or_adjustment_lag_bucket.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_or_adjustment_lag_bucket.proto new file mode 100644 index 00000000..76371efe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_or_adjustment_lag_bucket.proto @@ -0,0 +1,206 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOrAdjustmentLagBucketProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum representing the number of days between the impression and +// the conversion or between the impression and adjustments to the conversion. +message ConversionOrAdjustmentLagBucketEnum { + // Enum representing the number of days between the impression and the + // conversion or between the impression and adjustments to the conversion. + enum ConversionOrAdjustmentLagBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not. + CONVERSION_LESS_THAN_ONE_DAY = 2; + + // Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not. + CONVERSION_ONE_TO_TWO_DAYS = 3; + + // Conversion lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + CONVERSION_TWO_TO_THREE_DAYS = 4; + + // Conversion lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + CONVERSION_THREE_TO_FOUR_DAYS = 5; + + // Conversion lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + CONVERSION_FOUR_TO_FIVE_DAYS = 6; + + // Conversion lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + CONVERSION_FIVE_TO_SIX_DAYS = 7; + + // Conversion lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + CONVERSION_SIX_TO_SEVEN_DAYS = 8; + + // Conversion lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + CONVERSION_SEVEN_TO_EIGHT_DAYS = 9; + + // Conversion lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + CONVERSION_EIGHT_TO_NINE_DAYS = 10; + + // Conversion lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + CONVERSION_NINE_TO_TEN_DAYS = 11; + + // Conversion lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + CONVERSION_TEN_TO_ELEVEN_DAYS = 12; + + // Conversion lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + CONVERSION_ELEVEN_TO_TWELVE_DAYS = 13; + + // Conversion lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + CONVERSION_TWELVE_TO_THIRTEEN_DAYS = 14; + + // Conversion lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS = 15; + + // Conversion lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS = 16; + + // Conversion lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS = 17; + + // Conversion lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS = 18; + + // Conversion lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS = 19; + + // Conversion lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + CONVERSION_SIXTY_TO_NINETY_DAYS = 20; + + // Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, + // 1 day is not. + ADJUSTMENT_LESS_THAN_ONE_DAY = 21; + + // Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, + // 2 days is not. + ADJUSTMENT_ONE_TO_TWO_DAYS = 22; + + // Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, + // 3 days is not. + ADJUSTMENT_TWO_TO_THREE_DAYS = 23; + + // Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, + // 4 days is not. + ADJUSTMENT_THREE_TO_FOUR_DAYS = 24; + + // Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, + // 5 days is not. + ADJUSTMENT_FOUR_TO_FIVE_DAYS = 25; + + // Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, + // 6 days is not. + ADJUSTMENT_FIVE_TO_SIX_DAYS = 26; + + // Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, + // 7 days is not. + ADJUSTMENT_SIX_TO_SEVEN_DAYS = 27; + + // Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, + // 8 days is not. + ADJUSTMENT_SEVEN_TO_EIGHT_DAYS = 28; + + // Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, + // 9 days is not. + ADJUSTMENT_EIGHT_TO_NINE_DAYS = 29; + + // Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, + // 10 days is not. + ADJUSTMENT_NINE_TO_TEN_DAYS = 30; + + // Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, + // 11 days is not. + ADJUSTMENT_TEN_TO_ELEVEN_DAYS = 31; + + // Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, + // 12 days is not. + ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS = 32; + + // Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, + // 13 days is not. + ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS = 33; + + // Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, + // 14 days is not. + ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS = 34; + + // Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, + // 21 days is not. + ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS = 35; + + // Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, + // 30 days is not. + ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS = 36; + + // Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, + // 45 days is not. + ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS = 37; + + // Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, + // 60 days is not. + ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS = 38; + + // Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, + // 90 days is not. + ADJUSTMENT_SIXTY_TO_NINETY_DAYS = 39; + + // Conversion adjustment lag bucket from 90 to 145 days. 90 days is + // included, 145 days is not. + ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS = 40; + + // Conversion lag bucket UNKNOWN. This is for dates before conversion lag + // bucket was available in Google Ads. + CONVERSION_UNKNOWN = 41; + + // Conversion adjustment lag bucket UNKNOWN. This is for dates before + // conversion adjustment lag bucket was available in Google Ads. + ADJUSTMENT_UNKNOWN = 42; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_origin.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_origin.proto new file mode 100644 index 00000000..084509a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_origin.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionOriginProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion origin. + +// Container for enum describing possible conversion origins. +message ConversionOriginEnum { + // The possible places where a conversion can occur. + enum ConversionOrigin { + // The conversion origin has not been specified. + UNSPECIFIED = 0; + + // The conversion origin is not known in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user visits a website or takes an action + // there after viewing an ad. + WEBSITE = 2; + + // Conversions reported by an offline pipeline which collects local actions + // from Google-hosted pages (e.g. 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 via 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/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_primary_dimension.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_primary_dimension.proto new file mode 100644 index 00000000..89db3946 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_primary_dimension.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRulePrimaryDimensionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule primary dimension. + +// Container for enum describing value rule primary dimension for stats. +message ConversionValueRulePrimaryDimensionEnum { + // Identifies the primary dimension for conversion value rule stats. + enum ConversionValueRulePrimaryDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // For no-value-rule-applied conversions after value rule is enabled. + NO_RULE_APPLIED = 2; + + // Below are for value-rule-applied conversions: + // The original stats. + ORIGINAL = 3; + + // When a new or returning customer condition is satisfied. + NEW_VS_RETURNING_USER = 4; + + // When a query-time Geo location condition is satisfied. + GEO_LOCATION = 5; + + // When a query-time browsing device condition is satisfied. + DEVICE = 6; + + // When a query-time audience condition is satisfied. + AUDIENCE = 7; + + // When multiple rules are applied. + MULTIPLE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_set_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_set_status.proto new file mode 100644 index 00000000..64d582ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_set_status.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule set status. + +// Container for enum describing possible statuses of a conversion value rule +// set. +message ConversionValueRuleSetStatusEnum { + // Possible statuses of a conversion value rule set. + enum ConversionValueRuleSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule Set is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule Set is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule Set is paused and won't be applied. It can be + // enabled again. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_status.proto new file mode 100644 index 00000000..d77214c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/conversion_value_rule_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule status. + +// Container for enum describing possible statuses of a conversion value rule. +message ConversionValueRuleStatusEnum { + // Possible statuses of a conversion value rule. + enum ConversionValueRuleStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion Value Rule is enabled and can be applied. + ENABLED = 2; + + // Conversion Value Rule is permanently deleted and can't be applied. + REMOVED = 3; + + // Conversion Value Rule is paused, but can be re-enabled. + PAUSED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_channel_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_channel_availability_mode.proto new file mode 100644 index 00000000..bf030b5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_channel_availability_mode.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the criterion category channel availability mode. + +// Describes channel availability mode for a criterion availability - whether +// the availability is meant to include all advertising channels, or a +// particular channel with all its channel subtypes, or a channel with a certain +// subset of channel subtypes. +message CriterionCategoryChannelAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryChannelAvailabilityMode. + enum CriterionCategoryChannelAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all channel types and subtypes. + ALL_CHANNELS = 2; + + // The category is available to campaigns of a specific channel type, + // including all subtypes under it. + CHANNEL_TYPE_AND_ALL_SUBTYPES = 3; + + // The category is available to campaigns of a specific channel type and + // subtype(s). + CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_locale_availability_mode.proto b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_locale_availability_mode.proto new file mode 100644 index 00000000..899289ed --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_category_locale_availability_mode.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the criterion category locale availability mode. + +// Describes locale availability mode for a criterion availability - whether +// it's available globally, or a particular country with all languages, or a +// particular language with all countries, or a country-language pair. +message CriterionCategoryLocaleAvailabilityModeEnum { + // Enum containing the possible CriterionCategoryLocaleAvailabilityMode. + enum CriterionCategoryLocaleAvailabilityMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The category is available to campaigns of all locales. + ALL_LOCALES = 2; + + // The category is available to campaigns within a list of countries, + // regardless of language. + COUNTRY_AND_ALL_LANGUAGES = 3; + + // The category is available to campaigns within a list of languages, + // regardless of country. + LANGUAGE_AND_ALL_COUNTRIES = 4; + + // The category is available to campaigns within a list of country, language + // pairs. + COUNTRY_AND_LANGUAGE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/criterion_system_serving_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_system_serving_status.proto new file mode 100644 index 00000000..69f262ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_system_serving_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionSystemServingStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing approval status for the criterion. + +// Container for enum describing possible criterion system serving statuses. +message CriterionSystemServingStatusEnum { + // Enumerates criterion system serving statuses. + enum CriterionSystemServingStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Eligible. + ELIGIBLE = 2; + + // Low search volume. + RARELY_SERVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/criterion_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_type.proto new file mode 100644 index 00000000..a076dd54 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/criterion_type.proto @@ -0,0 +1,143 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CriterionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing criteria types. + +// The possible types of a criterion. +message CriterionTypeEnum { + // Enum describing possible criterion types. + enum CriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Keyword. e.g. 'mars cruise'. + KEYWORD = 2; + + // Placement, aka Website. e.g. '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 (e.g. "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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_member_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_member_type.proto new file mode 100644 index 00000000..a45f9fd9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_member_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceMemberTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom audience member type. + +// The type of custom audience member. +message CustomAudienceMemberTypeEnum { + // Enum containing possible custom audience member types. + enum CustomAudienceMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Users whose interests or actions are described by a keyword. + KEYWORD = 2; + + // Users who have interests related to the website's content. + URL = 3; + + // Users who visit place types described by a place category. + PLACE_CATEGORY = 4; + + // Users who have installed a mobile app. + APP = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_status.proto new file mode 100644 index 00000000..5430f527 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom audience status. + +// The status of custom audience. +message CustomAudienceStatusEnum { + // Enum containing possible custom audience statuses. + enum CustomAudienceStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom audience is enabled and can be targeted. + ENABLED = 2; + + // Removed status - custom audience is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_type.proto new file mode 100644 index 00000000..0dfe387a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_audience_type.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom audience type. + +// The types of custom audience. +message CustomAudienceTypeEnum { + // Enum containing possible custom audience types. + enum CustomAudienceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Google Ads will auto-select the best interpretation at serving + // time. + AUTO = 2; + + // Matches users by their interests. + INTEREST = 3; + + // Matches users by topics they are researching or products they are + // considering for purchase. + PURCHASE_INTENT = 4; + + // Matches users by what they searched on Google Search. + SEARCH = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_conversion_goal_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_conversion_goal_status.proto new file mode 100644 index 00000000..4e73c312 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_conversion_goal_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom conversion goal status. + +// Container for enum describing possible statuses of a custom conversion goal. +message CustomConversionGoalStatusEnum { + // The possible statuses of a custom conversion goal. + enum CustomConversionGoalStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The custom conversion goal is enabled. + ENABLED = 2; + + // The custom conversion goal is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_member_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_member_type.proto new file mode 100644 index 00000000..14716c78 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_member_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestMemberTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom interest member type. + +// The types of custom interest member, either KEYWORD or URL. +message CustomInterestMemberTypeEnum { + // Enum containing possible custom interest member types. + enum CustomInterestMemberType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Custom interest member type KEYWORD. + KEYWORD = 2; + + // Custom interest member type URL. + URL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_status.proto new file mode 100644 index 00000000..e759a5dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom interest status. + +// The status of custom interest. +message CustomInterestStatusEnum { + // Enum containing possible custom interest types. + enum CustomInterestStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Enabled status - custom interest is enabled and can be targeted to. + ENABLED = 2; + + // Removed status - custom interest is removed and cannot be used for + // targeting. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_type.proto new file mode 100644 index 00000000..b9d8213f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_interest_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing custom interest type. + +// The types of custom interest. +message CustomInterestTypeEnum { + // Enum containing possible custom interest types. + enum CustomInterestType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows brand advertisers to define custom affinity audience lists. + CUSTOM_AFFINITY = 2; + + // Allows advertisers to define custom intent audience lists. + CUSTOM_INTENT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/custom_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/custom_placeholder_field.proto new file mode 100644 index 00000000..781e3742 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/custom_placeholder_field.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Custom placeholder fields. + +// Values for Custom placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message CustomPlaceholderFieldEnum { + // Possible values for Custom placeholder fields. + enum CustomPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination ID and ID2 must be unique per + // offer. + ID = 2; + + // Data Type: STRING. Combination ID and ID2 must be unique per offer. + ID2 = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + ITEM_TITLE = 4; + + // Data Type: STRING. Optional text to be shown in the image ad. + ITEM_SUBTITLE = 5; + + // Data Type: STRING. Optional description of the product to be shown in the + // ad. + ITEM_DESCRIPTION = 6; + + // Data Type: STRING. Full address of your offer or service, including + // postal code. This will be used to identify the closest product to the + // user when there are multiple offers in the feed that are relevant to the + // user. + ITEM_ADDRESS = 7; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 8; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 9; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 10; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 11; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 12; + + // Data Type: STRING. Used as a recommendation engine signal to serve items + // in the same category. + ITEM_CATEGORY = 13; + + // Data Type: URL_LIST. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific product for ads that have multiple + // products. + FINAL_URLS = 14; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 15; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 16; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended IDs to show together with + // this item. + SIMILAR_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/customer_match_upload_key_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/customer_match_upload_key_type.proto new file mode 100644 index 00000000..3c4c64d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/customer_match_upload_key_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerMatchUploadKeyTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Indicates what type of data are the user list's members matched from. +message CustomerMatchUploadKeyTypeEnum { + // Enum describing possible customer match upload key types. + enum CustomerMatchUploadKeyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Members are matched from customer info such as email address, phone + // number or physical address. + CONTACT_INFO = 2; + + // Members are matched from a user id generated and assigned by the + // advertiser. + CRM_ID = 3; + + // Members are matched from mobile advertising ids. + MOBILE_ADVERTISING_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v9/enums/customer_pay_per_conversion_eligibility_failure_reason.proto new file mode 100644 index 00000000..c7d3555c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomerPayPerConversionEligibilityFailureReasonProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing pay per conversion eligibility failure reasons. + +// Container for enum describing reasons why a customer is not eligible to use +// PaymentMode.CONVERSIONS. +message CustomerPayPerConversionEligibilityFailureReasonEnum { + // Enum describing possible reasons a customer is not eligible to use + // PaymentMode.CONVERSIONS. + enum CustomerPayPerConversionEligibilityFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Customer does not have enough conversions. + NOT_ENOUGH_CONVERSIONS = 2; + + // Customer's conversion lag is too high. + CONVERSION_LAG_TOO_HIGH = 3; + + // Customer uses shared budgets. + HAS_CAMPAIGN_WITH_SHARED_BUDGET = 4; + + // Customer has conversions with ConversionActionType.UPLOAD_CLICKS. + HAS_UPLOAD_CLICKS_CONVERSION = 5; + + // Customer's average daily spend is too high. + AVERAGE_DAILY_SPEND_TOO_HIGH = 6; + + // Customer's eligibility has not yet been calculated by the Google Ads + // backend. Check back soon. + ANALYSIS_NOT_COMPLETE = 7; + + // Customer is not eligible due to other reasons. + OTHER = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_status.proto new file mode 100644 index 00000000..7b609ecf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing customizer attribute status. + +// Container for enum describing possible statuses of a customizer attribute. +message CustomizerAttributeStatusEnum { + // The possible statuses of a customizer attribute. + enum CustomizerAttributeStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer attribute is enabled. + ENABLED = 2; + + // The customizer attribute is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_type.proto new file mode 100644 index 00000000..9719e6cc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_attribute_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing customizer attribute type. + +// Container for enum describing possible types of a customizer attribute. +message CustomizerAttributeTypeEnum { + // The possible types of a customizer attribute. + enum CustomizerAttributeType { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // Text customizer. + TEXT = 2; + + // Number customizer. + NUMBER = 3; + + // Price customizer consisting of a number and a currency. + PRICE = 4; + + // Percentage customizer consisting of a number and a '%'. + PERCENT = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/customizer_value_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_value_status.proto new file mode 100644 index 00000000..33e0308f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/customizer_value_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerValueStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing customizer value status. + +// Container for enum describing possible statuses of a customizer value. +message CustomizerValueStatusEnum { + // The possible statuses of a customizer value. + enum CustomizerValueStatus { + // The status has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The customizer value is enabled. + ENABLED = 2; + + // The customizer value is removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/data_driven_model_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/data_driven_model_status.proto new file mode 100644 index 00000000..754a9896 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/data_driven_model_status.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DataDrivenModelStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing data-driven model status. + +// Container for enum indicating data driven model status. +message DataDrivenModelStatusEnum { + // Enumerates data driven model statuses. + enum DataDrivenModelStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The data driven model is available. + AVAILABLE = 2; + + // The data driven model is stale. It hasn't been updated for at least 7 + // days. It is still being used, but will become expired if it does not get + // updated for 30 days. + STALE = 3; + + // The data driven model expired. It hasn't been updated for at least 30 + // days and cannot be used. Most commonly this is because there hasn't been + // the required number of events in a recent 30-day period. + EXPIRED = 4; + + // The data driven model has never been generated. Most commonly this is + // because there has never been the required number of events in any 30-day + // period. + NEVER_GENERATED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/day_of_week.proto b/google-cloud/protos/google/ads/googleads/v9/enums/day_of_week.proto new file mode 100644 index 00000000..548b9e00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/day_of_week.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of days of the week, e.g., "Monday". +message DayOfWeekEnum { + // Enumerates days of the week, e.g., "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/google-cloud/protos/google/ads/googleads/v9/enums/device.proto b/google-cloud/protos/google/ads/googleads/v9/enums/device.proto new file mode 100644 index 00000000..c44c336f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/device.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DeviceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing devices. + +// Container for enumeration of Google Ads devices available for targeting. +message DeviceEnum { + // Enumerates Google Ads devices available for targeting. + enum Device { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile devices with full browsers. + MOBILE = 2; + + // Tablets with full browsers. + TABLET = 3; + + // Computers. + DESKTOP = 4; + + // Smart TVs and game consoles. + CONNECTED_TV = 6; + + // Other device types. + OTHER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/display_ad_format_setting.proto b/google-cloud/protos/google/ads/googleads/v9/enums/display_ad_format_setting.proto new file mode 100644 index 00000000..b54db6d9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/display_ad_format_setting.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayAdFormatSettingProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing display ad format settings. + +// Container for display ad format settings. +message DisplayAdFormatSettingEnum { + // Enumerates display ad format settings. + enum DisplayAdFormatSetting { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Text, image and native formats. + ALL_FORMATS = 2; + + // Text and image formats. + NON_NATIVE = 3; + + // Native format, i.e. the format rendering is controlled by the publisher + // and not by Google. + NATIVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/display_upload_product_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/display_upload_product_type.proto new file mode 100644 index 00000000..5a5e2969 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/display_upload_product_type.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DisplayUploadProductTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing display upload product types. + +// Container for display upload product types. Product types that have the word +// "DYNAMIC" in them must be associated with a campaign that has a dynamic +// remarketing feed. See https://support.google.com/google-ads/answer/6053288 +// for more info about dynamic remarketing. Other product types are regarded +// as "static" and do not have this requirement. +message DisplayUploadProductTypeEnum { + // Enumerates display upload product types. + enum DisplayUploadProductType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // HTML5 upload ad. This product type requires the upload_media_bundle + // field in DisplayUploadAdInfo to be set. + HTML5_UPLOAD_AD = 2; + + // Dynamic HTML5 education ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in an education campaign. + DYNAMIC_HTML5_EDUCATION_AD = 3; + + // Dynamic HTML5 flight ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a flight campaign. + DYNAMIC_HTML5_FLIGHT_AD = 4; + + // Dynamic HTML5 hotel and rental ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_RENTAL_AD = 5; + + // Dynamic HTML5 job ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a job campaign. + DYNAMIC_HTML5_JOB_AD = 6; + + // Dynamic HTML5 local ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a local campaign. + DYNAMIC_HTML5_LOCAL_AD = 7; + + // Dynamic HTML5 real estate ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a real estate campaign. + DYNAMIC_HTML5_REAL_ESTATE_AD = 8; + + // Dynamic HTML5 custom ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a custom campaign. + DYNAMIC_HTML5_CUSTOM_AD = 9; + + // Dynamic HTML5 travel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a travel campaign. + DYNAMIC_HTML5_TRAVEL_AD = 10; + + // Dynamic HTML5 hotel ad. This product type requires the + // upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be + // used in a hotel campaign. + DYNAMIC_HTML5_HOTEL_AD = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/distance_bucket.proto b/google-cloud/protos/google/ads/googleads/v9/enums/distance_bucket.proto new file mode 100644 index 00000000..cfbccb1c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/distance_bucket.proto @@ -0,0 +1,127 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DistanceBucketProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing distance buckets. + +// Container for distance buckets of a user’s distance from an advertiser’s +// location extension. +message DistanceBucketEnum { + // The distance bucket for a user’s distance from an advertiser’s location + // extension. + enum DistanceBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User was within 700m of the location. + WITHIN_700M = 2; + + // User was within 1KM of the location. + WITHIN_1KM = 3; + + // User was within 5KM of the location. + WITHIN_5KM = 4; + + // User was within 10KM of the location. + WITHIN_10KM = 5; + + // User was within 15KM of the location. + WITHIN_15KM = 6; + + // User was within 20KM of the location. + WITHIN_20KM = 7; + + // User was within 25KM of the location. + WITHIN_25KM = 8; + + // User was within 30KM of the location. + WITHIN_30KM = 9; + + // User was within 35KM of the location. + WITHIN_35KM = 10; + + // User was within 40KM of the location. + WITHIN_40KM = 11; + + // User was within 45KM of the location. + WITHIN_45KM = 12; + + // User was within 50KM of the location. + WITHIN_50KM = 13; + + // User was within 55KM of the location. + WITHIN_55KM = 14; + + // User was within 60KM of the location. + WITHIN_60KM = 15; + + // User was within 65KM of the location. + WITHIN_65KM = 16; + + // User was beyond 65KM of the location. + BEYOND_65KM = 17; + + // User was within 0.7 miles of the location. + WITHIN_0_7MILES = 18; + + // User was within 1 mile of the location. + WITHIN_1MILE = 19; + + // User was within 5 miles of the location. + WITHIN_5MILES = 20; + + // User was within 10 miles of the location. + WITHIN_10MILES = 21; + + // User was within 15 miles of the location. + WITHIN_15MILES = 22; + + // User was within 20 miles of the location. + WITHIN_20MILES = 23; + + // User was within 25 miles of the location. + WITHIN_25MILES = 24; + + // User was within 30 miles of the location. + WITHIN_30MILES = 25; + + // User was within 35 miles of the location. + WITHIN_35MILES = 26; + + // User was within 40 miles of the location. + WITHIN_40MILES = 27; + + // User was beyond 40 miles of the location. + BEYOND_40MILES = 28; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/dsa_page_feed_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/dsa_page_feed_criterion_field.proto new file mode 100644 index 00000000..0e558866 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/dsa_page_feed_criterion_field.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DsaPageFeedCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Dynamic Search Ad Page Feed criterion fields. + +// Values for Dynamic Search Ad Page Feed criterion fields. +message DsaPageFeedCriterionFieldEnum { + // Possible values for Dynamic Search Ad Page Feed criterion fields. + enum DsaPageFeedCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: URL or URL_LIST. URL of the web page you want to target. + PAGE_URL = 2; + + // Data Type: STRING_LIST. The labels that will help you target ads within + // your page feed. + LABEL = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/education_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/education_placeholder_field.proto new file mode 100644 index 00000000..ecc01571 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/education_placeholder_field.proto @@ -0,0 +1,111 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "EducationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Education placeholder fields. + +// Values for Education placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message EducationPlaceholderFieldEnum { + // Possible values for Education placeholder fields. + enum EducationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID + // must be unique per offer. + PROGRAM_ID = 2; + + // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be + // unique per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with program name to be shown + // in dynamic ad. + PROGRAM_NAME = 4; + + // Data Type: STRING. Area of study that can be shown in dynamic ad. + AREA_OF_STUDY = 5; + + // Data Type: STRING. Description of program that can be shown in dynamic + // ad. + PROGRAM_DESCRIPTION = 6; + + // Data Type: STRING. Name of school that can be shown in dynamic ad. + SCHOOL_NAME = 7; + + // Data Type: STRING. Complete school address, including postal code. + ADDRESS = 8; + + // Data Type: URL. Image to be displayed in ads. + THUMBNAIL_IMAGE_URL = 9; + + // Data Type: URL. Alternative hosted file of image to be used in the ad. + ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/extension_setting_device.proto b/google-cloud/protos/google/ads/googleads/v9/enums/extension_setting_device.proto new file mode 100644 index 00000000..df50d0e9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/extension_setting_device.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingDeviceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing extension setting device type. + +// Container for enum describing extension setting device types. +message ExtensionSettingDeviceEnum { + // Possible device types for an extension setting. + enum ExtensionSettingDevice { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Mobile. The extensions in the extension setting will only serve on + // mobile devices. + MOBILE = 2; + + // Desktop. The extensions in the extension setting will only serve on + // desktop devices. + DESKTOP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/extension_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/extension_type.proto new file mode 100644 index 00000000..5224da80 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/extension_type.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing extension type. + +// Container for enum describing possible data types for an extension in an +// extension setting. +message ExtensionTypeEnum { + // Possible data types for an extension in an extension setting. + enum ExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // None. + NONE = 2; + + // App. + APP = 3; + + // Call. + CALL = 4; + + // Callout. + CALLOUT = 5; + + // Message. + MESSAGE = 6; + + // Price. + PRICE = 7; + + // Promotion. + PROMOTION = 8; + + // Sitelink. + SITELINK = 10; + + // Structured snippet. + STRUCTURED_SNIPPET = 11; + + // Location. + LOCATION = 12; + + // Affiliate location. + AFFILIATE_LOCATION = 13; + + // Hotel callout + HOTEL_CALLOUT = 15; + + // Image. + IMAGE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/external_conversion_source.proto b/google-cloud/protos/google/ads/googleads/v9/enums/external_conversion_source.proto new file mode 100644 index 00000000..9ff8a943 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/external_conversion_source.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ExternalConversionSourceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing the external conversion source that is +// associated with a ConversionAction. +message ExternalConversionSourceEnum { + // The external conversion source that is associated with a ConversionAction. + enum ExternalConversionSource { + // Not specified. + UNSPECIFIED = 0; + + // Represents value unknown in this version. + UNKNOWN = 1; + + // Conversion that occurs when a user navigates to a particular webpage + // after viewing an ad; Displayed in Google Ads UI as 'Website'. + WEBPAGE = 2; + + // Conversion that comes from linked Google Analytics goal or transaction; + // Displayed in Google Ads UI as 'Analytics'. + ANALYTICS = 3; + + // Website conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from clicks'. + UPLOAD = 4; + + // Conversion that occurs when a user clicks on a call extension directly on + // an ad; Displayed in Google Ads UI as 'Calls from ads'. + AD_CALL_METRICS = 5; + + // Conversion that occurs when a user calls a dynamically-generated phone + // number (by installed javascript) from an advertiser's website after + // clicking on an ad; Displayed in Google Ads UI as 'Calls from website'. + WEBSITE_CALL_METRICS = 6; + + // Conversion that occurs when a user visits an advertiser's retail store + // after clicking on a Google ad; + // Displayed in Google Ads UI as 'Store visits'. + STORE_VISITS = 7; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an Android app; + // Displayed in Google Ads UI as 'Android in-app action'. + ANDROID_IN_APP = 8; + + // Conversion that occurs when a user takes an in-app action such as a + // purchase in an iOS app; + // Displayed in Google Ads UI as 'iOS in-app action'. + IOS_IN_APP = 9; + + // Conversion that occurs when a user opens an iOS app for the first time; + // Displayed in Google Ads UI as 'iOS app install (first open)'. + IOS_FIRST_OPEN = 10; + + // Legacy app conversions that do not have an AppPlatform provided; + // Displayed in Google Ads UI as 'Mobile app'. + APP_UNSPECIFIED = 11; + + // Conversion that occurs when a user opens an Android app for the first + // time; Displayed in Google Ads UI as 'Android app install (first open)'. + ANDROID_FIRST_OPEN = 12; + + // Call conversion that is uploaded through ConversionUploadService; + // Displayed in Google Ads UI as 'Import from calls'. + UPLOAD_CALLS = 13; + + // Conversion that comes from a linked Firebase event; + // Displayed in Google Ads UI as 'Firebase'. + FIREBASE = 14; + + // Conversion that occurs when a user clicks on a mobile phone number; + // Displayed in Google Ads UI as 'Phone number clicks'. + CLICK_TO_CALL = 15; + + // Conversion that comes from Salesforce; + // Displayed in Google Ads UI as 'Salesforce.com'. + SALESFORCE = 16; + + // Conversion that comes from in-store purchases recorded by CRM; + // Displayed in Google Ads UI as 'Store sales (data partner)'. + STORE_SALES_CRM = 17; + + // Conversion that comes from in-store purchases from payment network; + // Displayed in Google Ads UI as 'Store sales (payment network)'. + STORE_SALES_PAYMENT_NETWORK = 18; + + // Codeless Google Play conversion; + // Displayed in Google Ads UI as 'Google Play'. + GOOGLE_PLAY = 19; + + // Conversion that comes from a linked third-party app analytics event; + // Displayed in Google Ads UI as 'Third-party app analytics'. + THIRD_PARTY_APP_ANALYTICS = 20; + + // Conversion that is controlled by Google Attribution. + GOOGLE_ATTRIBUTION = 21; + + // Store Sales conversion based on first-party or third-party merchant data + // uploads. Displayed in Google Ads UI as 'Store sales (direct upload)'. + STORE_SALES_DIRECT_UPLOAD = 23; + + // Store Sales conversion based on first-party or third-party merchant + // data uploads and/or from in-store purchases using cards from payment + // networks. Displayed in Google Ads UI as 'Store sales'. + STORE_SALES = 24; + + // Conversions imported from Search Ads 360 Floodlight data. + SEARCH_ADS_360 = 25; + + // Conversions that track local actions from Google's products and services + // after interacting with an ad. + GOOGLE_HOSTED = 27; + + // Conversions reported by Floodlight tags. + FLOODLIGHT = 29; + + // Conversions that come from Google Analytics specifically for Search Ads + // 360. Displayed in Google Ads UI as Analytics (SA360). + ANALYTICS_SEARCH_ADS_360 = 31; + + // Conversion that comes from a linked Firebase event for Search Ads 360. + FIREBASE_SEARCH_ADS_360 = 33; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_attribute_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_attribute_type.proto new file mode 100644 index 00000000..41ad1f8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_attribute_type.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed attribute type. + +// Container for enum describing possible data types for a feed attribute. +message FeedAttributeTypeEnum { + // Possible data types for a feed attribute. + enum FeedAttributeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Int64. + INT64 = 2; + + // Double. + DOUBLE = 3; + + // String. + STRING = 4; + + // Boolean. + BOOLEAN = 5; + + // Url. + URL = 6; + + // Datetime. + DATE_TIME = 7; + + // Int64 list. + INT64_LIST = 8; + + // Double (8 bytes) list. + DOUBLE_LIST = 9; + + // String list. + STRING_LIST = 10; + + // Boolean list. + BOOLEAN_LIST = 11; + + // Url list. + URL_LIST = 12; + + // Datetime list. + DATE_TIME_LIST = 13; + + // Price. + PRICE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_approval_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_approval_status.proto new file mode 100644 index 00000000..e0b1dbb4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_approval_status.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item quality evaluation approval statuses. + +// Container for enum describing possible quality evaluation approval statuses +// of a feed item. +message FeedItemQualityApprovalStatusEnum { + // The possible quality evaluation approval statuses of a feed item. + enum FeedItemQualityApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Meets all quality expectations. + APPROVED = 2; + + // Does not meet some quality expectations. The specific reason is found in + // the quality_disapproval_reasons field. + DISAPPROVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_disapproval_reason.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_disapproval_reason.proto new file mode 100644 index 00000000..dc4b83d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_quality_disapproval_reason.proto @@ -0,0 +1,99 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemQualityDisapprovalReasonProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item quality disapproval reasons. + +// Container for enum describing possible quality evaluation disapproval reasons +// of a feed item. +message FeedItemQualityDisapprovalReasonEnum { + // The possible quality evaluation disapproval reasons of a feed item. + enum FeedItemQualityDisapprovalReason { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Price contains repetitive headers. + PRICE_TABLE_REPETITIVE_HEADERS = 2; + + // Price contains repetitive description. + PRICE_TABLE_REPETITIVE_DESCRIPTION = 3; + + // Price contains inconsistent items. + PRICE_TABLE_INCONSISTENT_ROWS = 4; + + // Price contains qualifiers in description. + PRICE_DESCRIPTION_HAS_PRICE_QUALIFIERS = 5; + + // Price contains an unsupported language. + PRICE_UNSUPPORTED_LANGUAGE = 6; + + // Price item header is not relevant to the price type. + PRICE_TABLE_ROW_HEADER_TABLE_TYPE_MISMATCH = 7; + + // Price item header has promotional text. + PRICE_TABLE_ROW_HEADER_HAS_PROMOTIONAL_TEXT = 8; + + // Price item description is not relevant to the item header. + PRICE_TABLE_ROW_DESCRIPTION_NOT_RELEVANT = 9; + + // Price item description contains promotional text. + PRICE_TABLE_ROW_DESCRIPTION_HAS_PROMOTIONAL_TEXT = 10; + + // Price item header and description are repetitive. + PRICE_TABLE_ROW_HEADER_DESCRIPTION_REPETITIVE = 11; + + // Price item is in a foreign language, nonsense, or can't be rated. + PRICE_TABLE_ROW_UNRATEABLE = 12; + + // Price item price is invalid or inaccurate. + PRICE_TABLE_ROW_PRICE_INVALID = 13; + + // Price item URL is invalid or irrelevant. + PRICE_TABLE_ROW_URL_INVALID = 14; + + // Price item header or description has price. + PRICE_HEADER_OR_DESCRIPTION_HAS_PRICE = 15; + + // Structured snippet values do not match the header. + STRUCTURED_SNIPPETS_HEADER_POLICY_VIOLATED = 16; + + // Structured snippet values are repeated. + STRUCTURED_SNIPPETS_REPEATED_VALUES = 17; + + // Structured snippet values violate editorial guidelines like punctuation. + STRUCTURED_SNIPPETS_EDITORIAL_GUIDELINES = 18; + + // Structured snippet contain promotional text. + STRUCTURED_SNIPPETS_HAS_PROMOTIONAL_TEXT = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_status.proto new file mode 100644 index 00000000..f42b1c1c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item set status. + +// Container for enum describing possible statuses of a feed item set. +message FeedItemSetStatusEnum { + // Possible statuses of a feed item set. + enum FeedItemSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item set is enabled. + ENABLED = 2; + + // Feed item set has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_string_filter_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_string_filter_type.proto new file mode 100644 index 00000000..5f27b405 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_set_string_filter_type.proto @@ -0,0 +1,45 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetStringFilterTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// The type of string matching to be used for a dynamic FeedItemSet filter. +message FeedItemSetStringFilterTypeEnum { + // describe the possible types for a FeedItemSetStringFilter. + enum FeedItemSetStringFilterType { + // Not specified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The dynamic set filter will use exact string matching. + EXACT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_status.proto new file mode 100644 index 00000000..7a1d523a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item status. + +// Container for enum describing possible statuses of a feed item. +message FeedItemStatusEnum { + // Possible statuses of a feed item. + enum FeedItemStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item is enabled. + ENABLED = 2; + + // Feed item has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_device.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_device.proto new file mode 100644 index 00000000..21bfd071 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_device.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetDeviceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item target device type. + +// Container for enum describing possible data types for a feed item target +// device. +message FeedItemTargetDeviceEnum { + // Possible data types for a feed item target device. + enum FeedItemTargetDevice { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile. + MOBILE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_status.proto new file mode 100644 index 00000000..50369d86 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item target status. + +// Container for enum describing possible statuses of a feed item target. +message FeedItemTargetStatusEnum { + // Possible statuses of a feed item target. + enum FeedItemTargetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item target is enabled. + ENABLED = 2; + + // Feed item target has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_type.proto new file mode 100644 index 00000000..6576c25d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_target_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item target type status. + +// Container for enum describing possible types of a feed item target. +message FeedItemTargetTypeEnum { + // Possible type of a feed item target. + enum FeedItemTargetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item targets a campaign. + CAMPAIGN = 2; + + // Feed item targets an ad group. + AD_GROUP = 3; + + // Feed item targets a criterion. + CRITERION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_validation_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_validation_status.proto new file mode 100644 index 00000000..18e25f11 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_item_validation_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed item validation statuses. + +// Container for enum describing possible validation statuses of a feed item. +message FeedItemValidationStatusEnum { + // The possible validation statuses of a feed item. + enum FeedItemValidationStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Validation pending. + PENDING = 2; + + // An error was found. + INVALID = 3; + + // Feed item is semantically well-formed. + VALID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_link_status.proto new file mode 100644 index 00000000..c6cf54b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_link_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing status of a feed link. + +// Container for an enum describing possible statuses of a feed link. +message FeedLinkStatusEnum { + // Possible statuses of a feed link. + enum FeedLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed link is enabled. + ENABLED = 2; + + // Feed link has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_criterion_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_criterion_type.proto new file mode 100644 index 00000000..a7b975f5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_criterion_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingCriterionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing criterion types for feed mappings. + +// Container for enum describing possible criterion types for a feed mapping. +message FeedMappingCriterionTypeEnum { + // Possible placeholder types for a feed mapping. + enum FeedMappingCriterionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Allows campaign targeting at locations within a location feed. + LOCATION_EXTENSION_TARGETING = 4; + + // Allows url targeting for your dynamic search ads within a page feed. + DSA_PAGE_FEED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_status.proto new file mode 100644 index 00000000..03ecba30 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_mapping_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed mapping status. + +// Container for enum describing possible statuses of a feed mapping. +message FeedMappingStatusEnum { + // Possible statuses of a feed mapping. + enum FeedMappingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed mapping is enabled. + ENABLED = 2; + + // Feed mapping has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/feed_origin.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_origin.proto new file mode 100644 index 00000000..8dc17f47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_origin.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedOriginProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed origin. + +// Container for enum describing possible values for a feed origin. +message FeedOriginEnum { + // Possible values for a feed origin. + enum FeedOrigin { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The FeedAttributes for this Feed are managed by the + // user. Users can add FeedAttributes to this Feed. + USER = 2; + + // The FeedAttributes for 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/google-cloud/protos/google/ads/googleads/v9/enums/feed_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/feed_status.proto new file mode 100644 index 00000000..d2463b4a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/feed_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FeedStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed status. + +// Container for enum describing possible statuses of a feed. +message FeedStatusEnum { + // Possible statuses of a feed. + enum FeedStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed is enabled. + ENABLED = 2; + + // Feed has been removed. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/flight_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/flight_placeholder_field.proto new file mode 100644 index 00000000..fc0dc5ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/flight_placeholder_field.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FlightsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Flight placeholder fields. + +// Values for Flight placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message FlightPlaceholderFieldEnum { + // Possible values for Flight placeholder fields. + enum FlightPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Optional. Combination of destination id and origin id must be unique per + // offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with product name to be shown + // in dynamic ad. + FLIGHT_DESCRIPTION = 4; + + // Data Type: STRING. Shorter names are recommended. + ORIGIN_NAME = 5; + + // Data Type: STRING. Shorter names are recommended. + DESTINATION_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + FLIGHT_PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + FLIGHT_SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 12; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 13; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 14; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 15; + + // Data Type: STRING_LIST. List of recommended destination IDs to show + // together with this item. + SIMILAR_DESTINATION_IDS = 16; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 17; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 18; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_event_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_event_type.proto new file mode 100644 index 00000000..f433086b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_event_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapEventTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the type of event that the cap applies to. +message FrequencyCapEventTypeEnum { + // The type of event that the cap applies to (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_level.proto new file mode 100644 index 00000000..67961cbf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_level.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the level on which the cap is to be applied. +message FrequencyCapLevelEnum { + // The level on which the cap is to be applied (e.g ad group ad, ad group). + // Cap is applied to all the resources of this level. + enum FrequencyCapLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The cap is applied at the ad group ad level. + AD_GROUP_AD = 2; + + // The cap is applied at the ad group level. + AD_GROUP = 3; + + // The cap is applied at the campaign level. + CAMPAIGN = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_time_unit.proto b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_time_unit.proto new file mode 100644 index 00000000..2f97bd83 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/frequency_cap_time_unit.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "FrequencyCapTimeUnitProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing frequency caps. + +// Container for enum describing the unit of time the cap is defined at. +message FrequencyCapTimeUnitEnum { + // Unit of time the cap is defined at (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/gender_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/gender_type.proto new file mode 100644 index 00000000..b515fc62 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/gender_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GenderTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing gender types. + +// Container for enum describing the type of demographic genders. +message GenderTypeEnum { + // The type of demographic genders (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/geo_target_constant_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/geo_target_constant_status.proto new file mode 100644 index 00000000..c2d2247a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/geo_target_constant_status.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_restriction.proto b/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_restriction.proto new file mode 100644 index 00000000..7da3a650 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_restriction.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingRestrictionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing GeoTargetingRestriction. + +// Message describing feed item geo targeting restriction. +message GeoTargetingRestrictionEnum { + // A restriction used to determine if the request context's + // geo should be matched. + enum GeoTargetingRestriction { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates that request context should match the physical location of + // the user. + LOCATION_OF_PRESENCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_type.proto new file mode 100644 index 00000000..b7b00db2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/geo_targeting_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetingTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing geo targeting types. + +// Container for enum describing possible geo targeting types. +message GeoTargetingTypeEnum { + // The possible geo targeting types. + enum GeoTargetingType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Location the user is interested in while making the query. + AREA_OF_INTEREST = 2; + + // Location of the user issuing the query. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/goal_config_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/goal_config_level.proto new file mode 100644 index 00000000..72e2164c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/goal_config_level.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoalConfigLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing goal config level. + +// Container for enum describing possible goal config levels. +message GoalConfigLevelEnum { + // The possible goal config levels. Campaigns automatically inherit the + // effective conversion account's customer goals unless they have been + // configured with their own set of campaign goals. + enum GoalConfigLevel { + // The goal config level has not been specified. + UNSPECIFIED = 0; + + // The goal config level is not known in this version. + UNKNOWN = 1; + + // The goal config is defined at the customer level. + CUSTOMER = 2; + + // The goal config is defined at the campaign level. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_category.proto b/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_category.proto new file mode 100644 index 00000000..3b3b15ca --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_category.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldCategoryProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing GoogleAdsField categories. + +// Container for enum that determines if the described artifact is a resource +// or a field, and if it is a field, when it segments search queries. +message GoogleAdsFieldCategoryEnum { + // The category of the artifact. + enum GoogleAdsFieldCategory { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // The described artifact is a resource. + RESOURCE = 2; + + // The described artifact is a field and is an attribute of a resource. + // Including a resource attribute field in a query may segment the query if + // the resource to which it is attributed segments the resource found in + // the FROM clause. + ATTRIBUTE = 3; + + // The described artifact is a field and always segments search queries. + SEGMENT = 5; + + // The described artifact is a field and is a metric. It never segments + // search queries. + METRIC = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_data_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_data_type.proto new file mode 100644 index 00000000..8fed9010 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/google_ads_field_data_type.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldDataTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing GoogleAdsField data types. + +// Container holding the various data types. +message GoogleAdsFieldDataTypeEnum { + // These are the various types a GoogleAdsService artifact may take on. + enum GoogleAdsFieldDataType { + // Unspecified + UNSPECIFIED = 0; + + // Unknown + UNKNOWN = 1; + + // Maps to google.protobuf.BoolValue + // + // Applicable operators: =, != + BOOLEAN = 2; + + // Maps to google.protobuf.StringValue. It can be compared using the set of + // operators specific to dates however. + // + // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN + DATE = 3; + + // Maps to google.protobuf.DoubleValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + DOUBLE = 4; + + // Maps to an enum. It's specific definition can be found at type_url. + // + // Applicable operators: =, !=, IN, NOT IN + ENUM = 5; + + // Maps to google.protobuf.FloatValue + // + // Applicable operators: =, !=, <, >, IN, NOT IN + FLOAT = 6; + + // Maps to google.protobuf.Int32Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT32 = 7; + + // Maps to google.protobuf.Int64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + INT64 = 8; + + // Maps to a protocol buffer message type. The data type's details can be + // found in type_url. + // + // No operators work with MESSAGE fields. + MESSAGE = 9; + + // Maps to google.protobuf.StringValue. Represents the resource name + // (unique id) of a resource or one of its foreign keys. + // + // No operators work with RESOURCE_NAME fields. + RESOURCE_NAME = 10; + + // Maps to google.protobuf.StringValue. + // + // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN + STRING = 11; + + // Maps to google.protobuf.UInt64Value + // + // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN + UINT64 = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/google_voice_call_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/google_voice_call_status.proto new file mode 100644 index 00000000..3fb3f0e6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/google_voice_call_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "GoogleVoiceCallStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing google voice call status. + +// Container for enum describing possible statuses of a google voice call. +message GoogleVoiceCallStatusEnum { + // Possible statuses of a google voice call. + enum GoogleVoiceCallStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The call was missed. + MISSED = 2; + + // The call was received. + RECEIVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/hotel_date_selection_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_date_selection_type.proto new file mode 100644 index 00000000..7f42efc1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_date_selection_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelDateSelectionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing hotel date selection types. + +// Container for enum describing possible hotel date selection types +message HotelDateSelectionTypeEnum { + // Enum describing possible hotel date selection types. + enum HotelDateSelectionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dates selected by default. + DEFAULT_SELECTION = 50; + + // Dates selected by the user. + USER_SELECTED = 51; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/hotel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_placeholder_field.proto new file mode 100644 index 00000000..3acc3cb9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_placeholder_field.proto @@ -0,0 +1,124 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Hotel placeholder fields. + +// Values for Hotel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message HotelPlaceholderFieldEnum { + // Possible values for Hotel placeholder fields. + enum HotelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + PROPERTY_ID = 2; + + // Data Type: STRING. Required. Main headline with property name to be shown + // in dynamic ad. + PROPERTY_NAME = 3; + + // Data Type: STRING. Name of destination to be shown in dynamic ad. + DESTINATION_NAME = 4; + + // Data Type: STRING. Description of destination to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 12; + + // Data Type: INT64. Star rating (1 to 5) used to group like items + // together for recommendation engine. + STAR_RATING = 13; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 14; + + // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded + // URLs. User will be redirected to these URLs when they click on an ad, or + // when they click on a specific flight for ads that show multiple + // flights. + FINAL_URLS = 15; + + // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded + // URLs. + FINAL_MOBILE_URLS = 16; + + // Data Type: URL. Tracking template for the ad when using Upgraded URLs. + TRACKING_URL = 17; + + // Data Type: STRING. Android app link. Must be formatted as: + // android-app://{package_id}/{scheme}/{host_path}. + // The components are defined as follows: + // package_id: app ID as specified in Google Play. + // scheme: the scheme to pass to the application. Can be HTTP, or a custom + // scheme. + // host_path: identifies the specific content within your application. + ANDROID_APP_LINK = 18; + + // Data Type: STRING_LIST. List of recommended property IDs to show together + // with this item. + SIMILAR_PROPERTY_IDS = 19; + + // Data Type: STRING. iOS app link. + IOS_APP_LINK = 20; + + // Data Type: INT64. iOS app store ID. + IOS_APP_STORE_ID = 21; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/hotel_price_bucket.proto b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_price_bucket.proto new file mode 100644 index 00000000..6dd41844 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_price_bucket.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelPriceBucketProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing hotel price buckets. + +// Container for enum describing hotel price bucket for a hotel itinerary. +message HotelPriceBucketEnum { + // Enum describing possible hotel price buckets. + enum HotelPriceBucket { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Uniquely lowest price. Partner has the lowest price, and no other + // partners are within a small variance of that price. + LOWEST_UNIQUE = 2; + + // Tied for lowest price. Partner is within a small variance of the lowest + // price. + LOWEST_TIED = 3; + + // Not lowest price. Partner is not within a small variance of the lowest + // price. + NOT_LOWEST = 4; + + // Partner was the only one shown. + ONLY_PARTNER_SHOWN = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/hotel_rate_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_rate_type.proto new file mode 100644 index 00000000..0e9b12b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_rate_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelRateTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing hotel rate types. + +// Container for enum describing possible hotel rate types. +message HotelRateTypeEnum { + // Enum describing possible hotel rate types. + enum HotelRateType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Rate type information is unavailable. + UNAVAILABLE = 2; + + // Rates available to everyone. + PUBLIC_RATE = 3; + + // A membership program rate is available and satisfies basic requirements + // like having a public rate available. UI treatment will strikethrough the + // public rate and indicate that a discount is available to the user. For + // more on Qualified Rates, visit + // https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates + QUALIFIED_RATE = 4; + + // Rates available to users that satisfy some eligibility criteria. e.g. + // all signed-in users, 20% of mobile users, all mobile users in Canada, + // etc. + PRIVATE_RATE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/hotel_reconciliation_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_reconciliation_status.proto new file mode 100644 index 00000000..c2ef158b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/hotel_reconciliation_status.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing hotel reconciliation row status. + +// Container for HotelReconciliationStatus. +message HotelReconciliationStatusEnum { + // Status of the hotel booking reconciliation. + enum HotelReconciliationStatus { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Bookings are for a future date, or a stay is underway but the check-out + // date hasn't passed. An active reservation can't be reconciled. + RESERVATION_ENABLED = 2; + + // Check-out has already taken place, or the booked dates have passed + // without cancellation. Bookings that are not reconciled within 45 days of + // the check-out date are billed based on the original booking price. + RECONCILIATION_NEEDED = 3; + + // These bookings have been reconciled. Reconciled bookings are billed 45 + // days after the check-out date. + RECONCILED = 4; + + // This booking was marked as canceled. Canceled stays with a value greater + // than zero (due to minimum stay rules or cancellation fees) are billed 45 + // days after the check-out date. + CANCELED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/image_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/image_placeholder_field.proto new file mode 100644 index 00000000..d16b0ec3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/image_placeholder_field.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ImagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Advertiser Provided Image placeholder fields. + +// Values for Advertiser Provided Image placeholder fields. +message ImagePlaceholderFieldEnum { + // Possible values for Advertiser Provided Image placeholder fields. + enum ImagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: INT64. The asset ID of the image. + ASSET_ID = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/income_range_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/income_range_type.proto new file mode 100644 index 00000000..c718e981 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/income_range_type.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing income range types. + +// Container for enum describing the type of demographic income ranges. +message IncomeRangeTypeEnum { + // The type of demographic income ranges (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/interaction_event_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/interaction_event_type.proto new file mode 100644 index 00000000..89adab63 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/interaction_event_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionEventTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing types of payable and free interactions. + +// Container for enum describing types of payable and free interactions. +message InteractionEventTypeEnum { + // Enum describing possible types of payable and free interactions. + enum InteractionEventType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Click to site. In most cases, this interaction navigates to an external + // location, usually the advertiser's landing page. This is also the default + // InteractionEventType for click events. + CLICK = 2; + + // The user's expressed intent to engage with the ad in-place. + ENGAGEMENT = 3; + + // User viewed a video ad. + VIDEO_VIEW = 4; + + // The default InteractionEventType for ad conversion events. + // This is used when an ad conversion row does NOT indicate + // that the free interactions (i.e., 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/google-cloud/protos/google/ads/googleads/v9/enums/interaction_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/interaction_type.proto new file mode 100644 index 00000000..5f93f3bc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/interaction_type.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InteractionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing interaction types. + +// Container for enum describing possible interaction types. +message InteractionTypeEnum { + // Enum describing possible interaction types. + enum InteractionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Calls. + CALLS = 8000; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/invoice_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/invoice_type.proto new file mode 100644 index 00000000..45154207 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/invoice_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing invoice types. + +// Container for enum describing the type of invoices. +message InvoiceTypeEnum { + // The possible type of invoices. + enum InvoiceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // An invoice with a negative amount. The account receives a credit. + CREDIT_MEMO = 2; + + // An invoice with a positive amount. The account owes a balance. + INVOICE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/job_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/job_placeholder_field.proto new file mode 100644 index 00000000..f799defc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/job_placeholder_field.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "JobsPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Job placeholder fields. + +// Values for Job placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message JobPlaceholderFieldEnum { + // Possible values for Job placeholder fields. + enum JobPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. If only JOB_ID is specified, then it must be + // unique. If both JOB_ID and LOCATION_ID are specified, then the + // pair must be unique. + // ID) pair must be unique. + JOB_ID = 2; + + // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique + // per offer. + LOCATION_ID = 3; + + // Data Type: STRING. Required. Main headline with job title to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. Job subtitle to be shown in dynamic ad. + SUBTITLE = 5; + + // Data Type: STRING. Description of job to be shown in dynamic ad. + DESCRIPTION = 6; + + // Data Type: URL. Image to be displayed in the ad. Highly recommended for + // image ads. + IMAGE_URL = 7; + + // Data Type: STRING. Category of property used to group like items together + // for recommendation engine. + CATEGORY = 8; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 9; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 10; + + // Data Type: STRING. Salary or salary range of job to be shown in dynamic + // ad. + SALARY = 11; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/keyword_match_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_match_type.proto new file mode 100644 index 00000000..0c96c7aa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_match_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordMatchTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Keyword match types. + +// Message describing Keyword match types. +message KeywordMatchTypeEnum { + // Possible Keyword match types. + enum KeywordMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Exact match. + EXACT = 2; + + // Phrase match. + PHRASE = 3; + + // Broad match. + BROAD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_aggregate_metric_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_aggregate_metric_type.proto new file mode 100644 index 00000000..a525c8fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_aggregate_metric_type.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAggregateMetricTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing keyword plan aggregate metric types. + +// The enumeration of keyword plan aggregate metric types. +message KeywordPlanAggregateMetricTypeEnum { + // Aggregate fields. + enum KeywordPlanAggregateMetricType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The device breakdown of aggregate search volume. + DEVICE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_competition_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_competition_level.proto new file mode 100644 index 00000000..678ef8cb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_competition_level.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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCompetitionLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Keyword Planner competition levels. + +// Container for enumeration of keyword competition levels. The competition +// level indicates how competitive ad placement is for a keyword and +// is determined by the number of advertisers bidding on that keyword relative +// to all keywords across Google. The competition level can depend on the +// location and Search Network targeting options you've selected. +message KeywordPlanCompetitionLevelEnum { + // Competition level of a keyword. + enum KeywordPlanCompetitionLevel { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Low competition. The Competition Index range for this is [0, 33]. + LOW = 2; + + // Medium competition. The Competition Index range for this is [34, 66]. + MEDIUM = 3; + + // High competition. The Competition Index range for this is [67, 100]. + HIGH = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_concept_group_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_concept_group_type.proto new file mode 100644 index 00000000..fba7e29b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_concept_group_type.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanConceptGroupTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Keyword Planner Concept Group types. + +// Container for enumeration of keyword plan concept group types. +message KeywordPlanConceptGroupTypeEnum { + // Enumerates keyword plan concept group types. + enum KeywordPlanConceptGroupType { + // The concept group classification different from brand/non-brand. + // This is a catch all bucket for all classifications that are none of the + // below. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The concept group classification is based on BRAND. + BRAND = 2; + + // The concept group classification based on BRAND, that didn't fit well + // with the BRAND classifications. These are generally outliers and can have + // very few keywords in this type of classification. + OTHER_BRANDS = 3; + + // These concept group classification is not based on BRAND. This is + // returned for generic keywords that don't have a brand association. + NON_BRAND = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_forecast_interval.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_forecast_interval.proto new file mode 100644 index 00000000..ca7bef12 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_forecast_interval.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanForecastIntervalProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing keyword plan forecast intervals. + +// Container for enumeration of forecast intervals. +message KeywordPlanForecastIntervalEnum { + // Forecast intervals. + enum KeywordPlanForecastInterval { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The next week date range for keyword plan. The next week is based + // on the default locale of the user's account and is mostly SUN-SAT or + // MON-SUN. + // This can be different from next-7 days. + NEXT_WEEK = 3; + + // The next month date range for keyword plan. + NEXT_MONTH = 4; + + // The next quarter date range for keyword plan. + NEXT_QUARTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_keyword_annotation.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_keyword_annotation.proto new file mode 100644 index 00000000..8d63512e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_keyword_annotation.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanKeywordAnnotationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Keyword Planner Keyword annotation types. + +// Container for enumeration of keyword plan keyword annotations. +message KeywordPlanKeywordAnnotationEnum { + // Enumerates keyword plan annotations that can be requested. + enum KeywordPlanKeywordAnnotation { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Return the keyword concept and concept group data. + KEYWORD_CONCEPT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_network.proto b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_network.proto new file mode 100644 index 00000000..e48cf13f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/keyword_plan_network.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Keyword Planner forecastable network types. + +// Container for enumeration of keyword plan forecastable network types. +message KeywordPlanNetworkEnum { + // Enumerates keyword plan forecastable network types. + enum KeywordPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google Search. + GOOGLE_SEARCH = 2; + + // Google Search + Search partners. + GOOGLE_SEARCH_AND_PARTNERS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/label_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/label_status.proto new file mode 100644 index 00000000..13f72dff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/label_status.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LabelStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_call_to_action_type.proto new file mode 100644 index 00000000..7279a432 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_call_to_action_type.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Describes the type of call-to-action phrases in a lead form. +message LeadFormCallToActionTypeEnum { + // Enum describing the type of call-to-action phrases in a lead form. + enum LeadFormCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Learn more. + LEARN_MORE = 2; + + // Get quote. + GET_QUOTE = 3; + + // Apply now. + APPLY_NOW = 4; + + // Sign Up. + SIGN_UP = 5; + + // Contact us. + CONTACT_US = 6; + + // Subscribe. + SUBSCRIBE = 7; + + // Download. + DOWNLOAD = 8; + + // Book now. + BOOK_NOW = 9; + + // Get offer. + GET_OFFER = 10; + + // Register. + REGISTER = 11; + + // Get info. + GET_INFO = 12; + + // Request a demo. + REQUEST_DEMO = 13; + + // Join now. + JOIN_NOW = 14; + + // Get started. + GET_STARTED = 15; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_desired_intent.proto b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_desired_intent.proto new file mode 100644 index 00000000..6cb79db7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_desired_intent.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormDesiredIntentProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Describes the desired level of intent of generated leads. +message LeadFormDesiredIntentEnum { + // Enum describing the desired 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/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_field_user_input_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_field_user_input_type.proto new file mode 100644 index 00000000..264badfc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_field_user_input_type.proto @@ -0,0 +1,273 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormFieldUserInputTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 city. + CITY = 9; + + // The user will be asked to fill in their region part of the address (e.g. + // 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 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" + VEHICLE_MODEL = 1001; + + // Question: "Which type of vehicle are you interested in?" + // Category: "Auto" + VEHICLE_TYPE = 1002; + + // Question: "What is your preferred dealership?" + // Category: "Auto" + PREFERRED_DEALERSHIP = 1003; + + // Question: "When do you plan on purchasing a vehicle?" + // Category: "Auto" + VEHICLE_PURCHASE_TIMELINE = 1004; + + // Question: "Do you own a vehicle?" + // Category: "Auto" + VEHICLE_OWNERSHIP = 1005; + + // Question: "What vehicle ownership option are you interested in?" + // Category: "Auto" + VEHICLE_PAYMENT_TYPE = 1009; + + // Question: "What type of vehicle condition are you interested in?" + // Category: "Auto" + VEHICLE_CONDITION = 1010; + + // Question: "What size is your company?" + // Category: "Business" + COMPANY_SIZE = 1006; + + // Question: "What is your annual sales volume?" + // Category: "Business" + ANNUAL_SALES = 1007; + + // Question: "How many years have you been in business?" + // Category: "Business" + YEARS_IN_BUSINESS = 1008; + + // Question: "What is your job department?" + // Category: "Business" + JOB_DEPARTMENT = 1011; + + // Question: "What is your job role?" + // Category: "Business" + JOB_ROLE = 1012; + + // Question: "Which program are you interested in?" + // Category: "Education" + EDUCATION_PROGRAM = 1013; + + // Question: "Which course are you interested in?" + // Category: "Education" + EDUCATION_COURSE = 1014; + + // Question: "Which product are you interested in?" + // Category: "General" + PRODUCT = 1016; + + // Question: "Which service are you interested in?" + // Category: "General" + SERVICE = 1017; + + // Question: "Which offer are you interested in?" + // Category: "General" + OFFER = 1018; + + // Question: "Which category are you interested in?" + // Category: "General" + CATEGORY = 1019; + + // Question: "What is your preferred method of contact?" + // Category: "General" + PREFERRED_CONTACT_METHOD = 1020; + + // Question: "What is your preferred location?" + // Category: "General" + PREFERRED_LOCATION = 1021; + + // Question: "What is the best time to contact you?" + // Category: "General" + PREFERRED_CONTACT_TIME = 1022; + + // Question: "When are you looking to make a purchase?" + // Category: "General" + PURCHASE_TIMELINE = 1023; + + // Question: "How many years of work experience do you have?" + // Category: "Jobs" + YEARS_OF_EXPERIENCE = 1048; + + // Question: "What industry do you work in?" + // Category: "Jobs" + JOB_INDUSTRY = 1049; + + // Question: "What is your highest level of education?" + // Category: "Jobs" + LEVEL_OF_EDUCATION = 1050; + + // Question: "What type of property are you looking for?" + // Category: "Real Estate" + PROPERTY_TYPE = 1024; + + // Question: "What do you need a realtor's help with?" + // Category: "Real Estate" + REALTOR_HELP_GOAL = 1025; + + // Question: "What neighborhood are you interested in?" + // Category: "Real Estate" + PROPERTY_COMMUNITY = 1026; + + // Question: "What price range are you looking for?" + // Category: "Real Estate" + PRICE_RANGE = 1027; + + // Question: "How many bedrooms are you looking for?" + // Category: "Real Estate" + NUMBER_OF_BEDROOMS = 1028; + + // Question: "Are you looking for a fully furnished property?" + // Category: "Real Estate" + FURNISHED_PROPERTY = 1029; + + // Question: "Are you looking for properties that allow pets?" + // Category: "Real Estate" + PETS_ALLOWED_PROPERTY = 1030; + + // Question: "What is the next product you plan to purchase?" + // Category: "Retail" + NEXT_PLANNED_PURCHASE = 1031; + + // Question: "Would you like to sign up for an event?" + // Category: "Retail" + EVENT_SIGNUP_INTEREST = 1033; + + // Question: "Where are you interested in shopping?" + // Category: "Retail" + PREFERRED_SHOPPING_PLACES = 1034; + + // Question: "What is your favorite brand?" + // Category: "Retail" + FAVORITE_BRAND = 1035; + + // Question: "Which type of valid commercial license do you have?" + // Category: "Transportation" + TRANSPORTATION_COMMERCIAL_LICENSE_TYPE = 1036; + + // Question: "Interested in booking an event?" + // Category: "Travel" + EVENT_BOOKING_INTEREST = 1038; + + // Question: "What is your destination country?" + // Category: "Travel" + DESTINATION_COUNTRY = 1039; + + // Question: "What is your destination city?" + // Category: "Travel" + DESTINATION_CITY = 1040; + + // Question: "What is your departure country?" + // Category: "Travel" + DEPARTURE_COUNTRY = 1041; + + // Question: "What is your departure city?" + // Category: "Travel" + DEPARTURE_CITY = 1042; + + // Question: "What is your departure date?" + // Category: "Travel" + DEPARTURE_DATE = 1043; + + // Question: "What is your return date?" + // Category: "Travel" + RETURN_DATE = 1044; + + // Question: "How many people are you traveling with?" + // Category: "Travel" + NUMBER_OF_TRAVELERS = 1045; + + // Question: "What is your travel budget?" + // Category: "Travel" + TRAVEL_BUDGET = 1046; + + // Question: "Where do you want to stay during your travel?" + // Category: "Travel" + TRAVEL_ACCOMMODATION = 1047; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_post_submit_call_to_action_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_post_submit_call_to_action_type.proto new file mode 100644 index 00000000..50c51eb6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/lead_form_post_submit_call_to_action_type.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LeadFormPostSubmitCallToActionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Describes the type of post-submit call-to-action phrases for a lead form. +message LeadFormPostSubmitCallToActionTypeEnum { + // Enum describing the type of post-submit call-to-action phrases for a lead + // form. + enum LeadFormPostSubmitCallToActionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Visit site. + VISIT_SITE = 2; + + // Download. + DOWNLOAD = 3; + + // Learn more. + LEARN_MORE = 4; + + // Shop now. + SHOP_NOW = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/legacy_app_install_ad_app_store.proto b/google-cloud/protos/google/ads/googleads/v9/enums/legacy_app_install_ad_app_store.proto new file mode 100644 index 00000000..3d24ee29 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/legacy_app_install_ad_app_store.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LegacyAppInstallAdAppStoreProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing app store types for a legacy app install ad. + +// Container for enum describing app store type in a legacy app install ad. +message LegacyAppInstallAdAppStoreEnum { + // App store type in a legacy app install ad. + enum LegacyAppInstallAdAppStore { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Apple iTunes. + APPLE_APP_STORE = 2; + + // Google Play. + GOOGLE_PLAY = 3; + + // Windows Store. + WINDOWS_STORE = 4; + + // Windows Phone Store. + WINDOWS_PHONE_STORE = 5; + + // The app is hosted in a Chinese app store. + CN_APP_STORE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/linked_account_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/linked_account_type.proto new file mode 100644 index 00000000..08464417 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/linked_account_type.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LinkedAccountTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing different types of Linked accounts. +message LinkedAccountTypeEnum { + // Describes the possible link types between a Google Ads customer + // and another account. + enum LinkedAccountType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A link to provide third party app analytics data. + THIRD_PARTY_APP_ANALYTICS = 2; + + // A link to Data partner. + DATA_PARTNER = 3; + + // A link to Google Ads. + GOOGLE_ADS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_bidding_category_level.proto new file mode 100644 index 00000000..37e0d997 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_bidding_category_level.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_custom_attribute_index.proto new file mode 100644 index 00000000..7646020e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_custom_attribute_index.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_channel.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_channel.proto new file mode 100644 index 00000000..c49637f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_channel.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductChannelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_condition.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_condition.proto new file mode 100644 index 00000000..4310f147 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_condition.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductConditionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_type_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_type_level.proto new file mode 100644 index 00000000..e429fe13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_product_type_level.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_type_enum.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_type_enum.proto new file mode 100644 index 00000000..18ae2343 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_type_enum.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterTypeEnumProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_vertical.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_vertical.proto new file mode 100644 index 00000000..81b45881 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_filter_vertical.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupFilterVerticalProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_type.proto new file mode 100644 index 00000000..e57d53a9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/listing_group_type.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ListingGroupTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing listing groups. + +// Container for enum describing the type of the listing group. +message ListingGroupTypeEnum { + // The type of the listing group. + enum ListingGroupType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Subdivision of products along some listing dimension. These nodes + // are not used by serving to target listing entries, but is purely + // to define the structure of the tree. + SUBDIVISION = 2; + + // Listing group unit that defines a bid. + UNIT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/local_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/local_placeholder_field.proto new file mode 100644 index 00000000..7fae7b3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/local_placeholder_field.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Local placeholder fields. + +// Values for Local placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message LocalPlaceholderFieldEnum { + // Possible values for Local placeholder fields. + enum LocalPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Unique ID. + DEAL_ID = 2; + + // Data Type: STRING. Required. Main headline with local deal title to be + // shown in dynamic ad. + DEAL_NAME = 3; + + // Data Type: STRING. Local deal subtitle to be shown in dynamic ad. + SUBTITLE = 4; + + // Data Type: STRING. Description of local deal to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. Example: "100.00 USD" + PRICE = 6; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 7; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 8; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 9; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 10; + + // Data Type: STRING. Complete property address, including postal code. + ADDRESS = 11; + + // Data Type: STRING. Category of local deal used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/location_extension_targeting_criterion_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/location_extension_targeting_criterion_field.proto new file mode 100644 index 00000000..acfe44f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/location_extension_targeting_criterion_field.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationExtensionTargetingCriterionFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Location Extension Targeting criterion fields. + +// Values for Location Extension Targeting criterion fields. +message LocationExtensionTargetingCriterionFieldEnum { + // Possible values for Location Extension Targeting criterion fields. + enum LocationExtensionTargetingCriterionField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 2; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 3; + + // Data Type: STRING. City of the business address. + CITY = 4; + + // Data Type: STRING. Province of the business address. + PROVINCE = 5; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 6; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/location_group_radius_units.proto b/google-cloud/protos/google/ads/googleads/v9/enums/location_group_radius_units.proto new file mode 100644 index 00000000..870e4bd9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/location_group_radius_units.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationGroupRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing location group radius units. + +// Container for enum describing unit of radius in location group. +message LocationGroupRadiusUnitsEnum { + // The unit of radius distance in location group (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/location_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/location_placeholder_field.proto new file mode 100644 index 00000000..216aeec8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/location_placeholder_field.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Location placeholder fields. + +// Values for Location placeholder fields. +message LocationPlaceholderFieldEnum { + // Possible values for Location placeholder fields. + enum LocationPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of the business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Line 1 of the business address. + ADDRESS_LINE_1 = 3; + + // Data Type: STRING. Line 2 of the business address. + ADDRESS_LINE_2 = 4; + + // Data Type: STRING. City of the business address. + CITY = 5; + + // Data Type: STRING. Province of the business address. + PROVINCE = 6; + + // Data Type: STRING. Postal code of the business address. + POSTAL_CODE = 7; + + // Data Type: STRING. Country code of the business address. + COUNTRY_CODE = 8; + + // Data Type: STRING. Phone number of the business. + PHONE_NUMBER = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/location_source_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/location_source_type.proto new file mode 100644 index 00000000..d1ecb4fe --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/location_source_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocationSourceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing location source types. + +// Used to distinguish the location source type. +message LocationSourceTypeEnum { + // The possible types of a location source. + enum LocationSourceType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Locations associated with the customer's linked Business Profile. + GOOGLE_MY_BUSINESS = 2; + + // Affiliate (chain) store locations. For example, Best Buy store locations. + AFFILIATE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/manager_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/manager_link_status.proto new file mode 100644 index 00000000..2f85dc44 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/manager_link_status.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing possible status of a manager and client link. +message ManagerLinkStatusEnum { + // Possible statuses of a link. + enum ManagerLinkStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Indicates current in-effect relationship + ACTIVE = 2; + + // Indicates terminated relationship + INACTIVE = 3; + + // Indicates relationship has been requested by manager, but the client + // hasn't accepted yet. + PENDING = 4; + + // Relationship was requested by the manager, but the client has refused. + REFUSED = 5; + + // Indicates relationship has been requested by manager, but manager + // canceled it. + CANCELED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_context_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_context_type.proto new file mode 100644 index 00000000..53e0ffcd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_context_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionContextTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing matching function context types. + +// Container for context types for an operand in a matching function. +message MatchingFunctionContextTypeEnum { + // Possible context types for an operand in a matching function. + enum MatchingFunctionContextType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Feed item id in the request context. + FEED_ITEM_ID = 2; + + // The device being used (possible values are 'Desktop' or 'Mobile'). + DEVICE_NAME = 3; + + // Feed item set id in the request context. + FEED_ITEM_SET_ID = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_operator.proto new file mode 100644 index 00000000..476b2470 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/matching_function_operator.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MatchingFunctionOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing matching function operators. + +// Container for enum describing matching function operator. +message MatchingFunctionOperatorEnum { + // Possible operators in a matching function. + enum MatchingFunctionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The IN operator. + IN = 2; + + // The IDENTITY operator. + IDENTITY = 3; + + // The EQUALS operator + EQUALS = 4; + + // Operator that takes two or more operands that are of type + // FunctionOperand and checks that all the operands evaluate to true. + // For functions related to ad formats, all the operands must be in + // left_operands. + AND = 5; + + // Operator that returns true if the elements in left_operands contain any + // of the elements in right_operands. Otherwise, return false. The + // right_operands must contain at least 1 and no more than 3 + // ConstantOperands. + CONTAINS_ANY = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/media_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/media_type.proto new file mode 100644 index 00000000..0be1d473 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/media_type.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MediaTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing media types. + +// Container for enum describing the types of media. +message MediaTypeEnum { + // The type of media. + enum MediaType { + // The media type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Static image, used for image ad. + IMAGE = 2; + + // Small image, used for map ad. + ICON = 3; + + // ZIP file, used in fields of template ads. + MEDIA_BUNDLE = 4; + + // Audio file. + AUDIO = 5; + + // Video file. + VIDEO = 6; + + // Animated image, such as animated GIF. + DYNAMIC_IMAGE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/merchant_center_link_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/merchant_center_link_status.proto new file mode 100644 index 00000000..0c3979de --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/merchant_center_link_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v9/enums/message_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/message_placeholder_field.proto new file mode 100644 index 00000000..0e9a38a6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/message_placeholder_field.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MessagePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Message placeholder fields. + +// Values for Message placeholder fields. +message MessagePlaceholderFieldEnum { + // Possible values for Message placeholder fields. + enum MessagePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The name of your business. + BUSINESS_NAME = 2; + + // Data Type: STRING. Country code of phone number. + COUNTRY_CODE = 3; + + // Data Type: STRING. A phone number that's capable of sending and receiving + // text messages. + PHONE_NUMBER = 4; + + // Data Type: STRING. The text that will go in your click-to-message ad. + MESSAGE_EXTENSION_TEXT = 5; + + // Data Type: STRING. The message text automatically shows in people's + // messaging apps when they tap to send you a message. + MESSAGE_TEXT = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/mime_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/mime_type.proto new file mode 100644 index 00000000..f8c1d549 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/mime_type.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MimeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/minute_of_hour.proto b/google-cloud/protos/google/ads/googleads/v9/enums/minute_of_hour.proto new file mode 100644 index 00000000..7dc8f5df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/minute_of_hour.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MinuteOfHourProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of quarter-hours. +message MinuteOfHourEnum { + // Enumerates of quarter-hours. E.g. "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/google-cloud/protos/google/ads/googleads/v9/enums/mobile_app_vendor.proto b/google-cloud/protos/google/ads/googleads/v9/enums/mobile_app_vendor.proto new file mode 100644 index 00000000..c3a805c2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/mobile_app_vendor.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppVendorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/mobile_device_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/mobile_device_type.proto new file mode 100644 index 00000000..ac91fc9c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/mobile_device_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing mobile device types. + +// Container for enum describing the types of mobile device. +message MobileDeviceTypeEnum { + // The type of mobile device. + enum MobileDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile phones. + MOBILE = 2; + + // Tablets. + TABLET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/month_of_year.proto b/google-cloud/protos/google/ads/googleads/v9/enums/month_of_year.proto new file mode 100644 index 00000000..dbc85b3f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/month_of_year.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "MonthOfYearProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing days of week. + +// Container for enumeration of months of the year, e.g., "January". +message MonthOfYearEnum { + // Enumerates months of the year, e.g., "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/google-cloud/protos/google/ads/googleads/v9/enums/negative_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/negative_geo_target_type.proto new file mode 100644 index 00000000..0f379553 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/negative_geo_target_type.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "NegativeGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing negative geo target types. + +// Container for enum describing possible negative geo target types. +message NegativeGeoTargetTypeEnum { + // The possible negative geo target types. + enum NegativeGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that a user is excluded from seeing the ad if they + // are in, or show interest in, advertiser's excluded locations. + PRESENCE_OR_INTEREST = 4; + + // Specifies that a user is excluded from seeing the ad if they + // are in advertiser's excluded locations. + PRESENCE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_failure_reason.proto b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_failure_reason.proto new file mode 100644 index 00000000..fe016df9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_failure_reason.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobFailureReasonProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing offline user data job failure reasons. + +// Container for enum describing reasons why an offline user data job +// failed to be processed. +message OfflineUserDataJobFailureReasonEnum { + // The failure reason of an offline user data job. + enum OfflineUserDataJobFailureReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The matched transactions are insufficient. + INSUFFICIENT_MATCHED_TRANSACTIONS = 2; + + // The uploaded transactions are insufficient. + INSUFFICIENT_TRANSACTIONS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_match_rate_range.proto b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_match_rate_range.proto new file mode 100644 index 00000000..9218ee47 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_match_rate_range.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobMatchRateRangeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing reasons match rate ranges for a customer match +// list upload. +message OfflineUserDataJobMatchRateRangeEnum { + // The match rate range of an offline user data job. + enum OfflineUserDataJobMatchRateRange { + // Not specified. + UNSPECIFIED = 0; + + // Default value for match rate range. + UNKNOWN = 1; + + // Match rate range for offline data upload entity is between 0% and 19%. + MATCH_RANGE_LESS_THAN_20 = 2; + + // Match rate range for offline data upload entity is between 20% and 30%. + MATCH_RANGE_20_TO_30 = 3; + + // Match rate range for offline data upload entity is between 31% and 40%. + MATCH_RANGE_31_TO_40 = 4; + + // Match rate range for offline data upload entity is between 41% and 50%. + MATCH_RANGE_41_TO_50 = 5; + + // Match rate range for offline data upload entity is between 51% and 60%. + MATCH_RANGE_51_TO_60 = 6; + + // Match rate range for offline data upload entity is between 61% and 70%. + MATCH_RANGE_61_TO_70 = 7; + + // Match rate range for offline data upload entity is between 71% and 80%. + MATCH_RANGE_71_TO_80 = 8; + + // Match rate range for offline data upload entity is between 81% and 90%. + MATCH_RANGE_81_TO_90 = 9; + + // Match rate range for offline data upload entity more than or equal to + // 91%. + MATCH_RANGE_91_TO_100 = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_status.proto new file mode 100644 index 00000000..5e287a3a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_status.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing offline user data job status. + +// Container for enum describing status of an offline user data job. +message OfflineUserDataJobStatusEnum { + // The status of an offline user data job. + enum OfflineUserDataJobStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The job has been successfully created and pending for uploading. + PENDING = 2; + + // Upload(s) have been accepted and data is being processed. + RUNNING = 3; + + // Uploaded data has been successfully processed. + SUCCESS = 4; + + // Uploaded data has failed to be processed. + FAILED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_type.proto new file mode 100644 index 00000000..1de3c83d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/offline_user_data_job_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing offline user data job types. + +// Container for enum describing types of an offline user data job. +message OfflineUserDataJobTypeEnum { + // The type of an offline user data job. + enum OfflineUserDataJobType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Store Sales Direct data for self service. + STORE_SALES_UPLOAD_FIRST_PARTY = 2; + + // Store Sales Direct data for third party. + STORE_SALES_UPLOAD_THIRD_PARTY = 3; + + // Customer Match user list data. + CUSTOMER_MATCH_USER_LIST = 4; + + // Customer Match with attribute data. + CUSTOMER_MATCH_WITH_ATTRIBUTES = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/operating_system_version_operator_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/operating_system_version_operator_type.proto new file mode 100644 index 00000000..fcd024b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/operating_system_version_operator_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionOperatorTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing operating system version operator types. + +// Container for enum describing the type of OS operators. +message OperatingSystemVersionOperatorTypeEnum { + // The type of operating system version. + enum OperatingSystemVersionOperatorType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals to the specified version. + EQUALS_TO = 2; + + // Greater than or equals to the specified version. + GREATER_THAN_EQUALS_TO = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/optimization_goal_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/optimization_goal_type.proto new file mode 100644 index 00000000..48b5583c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/optimization_goal_type.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "OptimizationGoalTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing optimization goal type. + +// Container for enum describing the type of optimization goal. +message OptimizationGoalTypeEnum { + // The type of optimization goal + enum OptimizationGoalType { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Optimize for call clicks. Call click conversions are times people + // selected 'Call' to contact a store after viewing an ad. + CALL_CLICKS = 2; + + // Optimize for driving directions. Driving directions conversions are + // times people selected 'Get directions' to navigate to a store after + // viewing an ad. + DRIVING_DIRECTIONS = 3; + + // Optimize for pre-registration. Pre-registration conversions are the + // number of pre-registration signups to receive a notification when the app + // is released. + APP_PRE_REGISTRATION = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/parental_status_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/parental_status_type.proto new file mode 100644 index 00000000..6785db0b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/parental_status_type.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing parenal status types. + +// Container for enum describing the type of demographic parental statuses. +message ParentalStatusTypeEnum { + // The type of parental statuses (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/payment_mode.proto b/google-cloud/protos/google/ads/googleads/v9/enums/payment_mode.proto new file mode 100644 index 00000000..8961219a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/payment_mode.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PaymentModeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing payment modes. + +// Container for enum describing possible payment modes. +message PaymentModeEnum { + // Enum describing possible payment modes. + enum PaymentMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Pay per click. + CLICKS = 4; + + // Pay per conversion value. This mode is only supported by campaigns with + // AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and + // BudgetType.HOTEL_ADS_COMMISSION. + 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/google-cloud/protos/google/ads/googleads/v9/enums/placeholder_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/placeholder_type.proto new file mode 100644 index 00000000..725f11d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/placeholder_type.proto @@ -0,0 +1,124 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlaceholderTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing feed placeholder types. + +// Container for enum describing possible placeholder types for a feed mapping. +message PlaceholderTypeEnum { + // Possible placeholder types for a feed mapping. + enum PlaceholderType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Lets you show links in your ad to pages from your website, including the + // main landing page. + SITELINK = 2; + + // Lets you attach a phone number to an ad, allowing customers to call + // directly from the ad. + CALL = 3; + + // Lets you provide users with a link that points to a mobile app in + // addition to a website. + APP = 4; + + // Lets you show locations of businesses from your Business Profile + // in your ad. This helps people find your locations by showing your + // ads with your address, a map to your location, or the distance to your + // business. This extension type is useful to draw customers to your + // brick-and-mortar location. + LOCATION = 5; + + // If you sell your product through retail chains, affiliate location + // extensions let you show nearby stores that carry your products. + AFFILIATE_LOCATION = 6; + + // Lets you include additional text with your search ads that provide + // detailed information about your business, including products and services + // you offer. Callouts appear in ads at the top and bottom of Google search + // results. + CALLOUT = 7; + + // Lets you add more info to your ad, specific to some predefined categories + // such as types, brands, styles, etc. A minimum of 3 text (SNIPPETS) values + // are required. + STRUCTURED_SNIPPET = 8; + + // Allows users to see your ad, click an icon, and contact you directly by + // text message. With one tap on your ad, people can contact you to book an + // appointment, get a quote, ask for information, or request a service. + MESSAGE = 9; + + // Lets you display prices for a list of items along with your ads. A price + // feed is composed of three to eight price table rows. + PRICE = 10; + + // Allows you to 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/google-cloud/protos/google/ads/googleads/v9/enums/placement_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/placement_type.proto new file mode 100644 index 00000000..7ea18a86 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/placement_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PlacementTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing placement types. + +// Container for enum describing possible placement types. +message PlacementTypeEnum { + // Possible placement types for a feed mapping. + enum PlacementType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Websites(e.g. 'www.flowers4sale.com'). + WEBSITE = 2; + + // Mobile application categories(e.g. 'Games'). + MOBILE_APP_CATEGORY = 3; + + // mobile applications(e.g. 'mobileapp::2-com.whatsthewordanswers'). + MOBILE_APPLICATION = 4; + + // YouTube videos(e.g. 'youtube.com/video/wtLJPvx7-ys'). + YOUTUBE_VIDEO = 5; + + // YouTube channels(e.g. 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ'). + YOUTUBE_CHANNEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_approval_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_approval_status.proto new file mode 100644 index 00000000..9462df77 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_approval_status.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyApprovalStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing policy approval statuses. + +// Container for enum describing possible policy approval statuses. +message PolicyApprovalStatusEnum { + // The possible policy approval statuses. When there are several approval + // statuses available the most severe one will be used. The order of severity + // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED. + enum PolicyApprovalStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Will not serve. + DISAPPROVED = 2; + + // Serves with restrictions. + APPROVED_LIMITED = 3; + + // Serves without restrictions. + APPROVED = 4; + + // Will not serve in targeted countries, but may serve for users who are + // searching for information about the targeted countries. + AREA_OF_INTEREST_ONLY = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_review_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_review_status.proto new file mode 100644 index 00000000..5e34834b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_review_status.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyReviewStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing policy review statuses. + +// Container for enum describing possible policy review statuses. +message PolicyReviewStatusEnum { + // The possible policy review statuses. + enum PolicyReviewStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Currently under review. + REVIEW_IN_PROGRESS = 2; + + // Primary review complete. Other reviews may be continuing. + REVIEWED = 3; + + // The resource has been resubmitted for approval or its policy decision has + // been appealed. + UNDER_APPEAL = 4; + + // The resource is eligible and may be serving but could still undergo + // further review. + ELIGIBLE_MAY_SERVE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_entry_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_entry_type.proto new file mode 100644 index 00000000..69eef693 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_entry_type.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEntryTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing policy topic entry types. + +// Container for enum describing possible policy topic entry types. +message PolicyTopicEntryTypeEnum { + // The possible policy topic entry types. + enum PolicyTopicEntryType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The resource will not be served. + PROHIBITED = 2; + + // The resource will not be served under some circumstances. + LIMITED = 4; + + // The resource cannot serve at all because of the current targeting + // criteria. + FULLY_LIMITED = 8; + + // May be of interest, but does not limit how the resource is served. + DESCRIPTIVE = 5; + + // Could increase coverage beyond normal. + BROADENING = 6; + + // Constrained for all targeted countries, but may serve in other countries + // through area of interest. + AREA_OF_INTEREST_ONLY = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_mismatch_url_type.proto new file mode 100644 index 00000000..bf1b391f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing policy topic evidence destination mismatch url types. + +// Container for enum describing possible policy topic evidence destination +// mismatch url types. +message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum { + // The possible policy topic evidence destination mismatch url types. + enum PolicyTopicEvidenceDestinationMismatchUrlType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The display url. + DISPLAY_URL = 2; + + // The final url. + FINAL_URL = 3; + + // The final mobile url. + FINAL_MOBILE_URL = 4; + + // The tracking url template, with substituted desktop url. + TRACKING_URL = 5; + + // The tracking url template, with substituted mobile url. + MOBILE_TRACKING_URL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_device.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_device.proto new file mode 100644 index 00000000..fc8a8393 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_device.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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDeviceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing device of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working devices. +message PolicyTopicEvidenceDestinationNotWorkingDeviceEnum { + // The possible policy topic evidence destination not working devices. + enum PolicyTopicEvidenceDestinationNotWorkingDevice { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Landing page doesn't work on desktop device. + DESKTOP = 2; + + // Landing page doesn't work on Android device. + ANDROID = 3; + + // Landing page doesn't work on iOS device. + IOS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto new file mode 100644 index 00000000..600d0c30 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing DNS error types of destination not working policy topic +// evidence. + +// Container for enum describing possible policy topic evidence destination not +// working DNS error types. +message PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum { + // The possible policy topic evidence destination not working DNS error types. + enum PolicyTopicEvidenceDestinationNotWorkingDnsErrorType { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // Host name not found in DNS when fetching landing page. + HOSTNAME_NOT_FOUND = 2; + + // Google internal crawler issue when communicating with DNS. This error + // doesn't mean the landing page doesn't work. Google will recrawl the + // landing page. + GOOGLE_CRAWLER_DNS_ISSUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/positive_geo_target_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/positive_geo_target_type.proto new file mode 100644 index 00000000..ca81822e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/positive_geo_target_type.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PositiveGeoTargetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing positive geo target types. + +// Container for enum describing possible positive geo target types. +message PositiveGeoTargetTypeEnum { + // The possible positive geo target types. + enum PositiveGeoTargetType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Specifies that an ad is triggered if the user is in, + // or shows interest in, advertiser's targeted locations. + PRESENCE_OR_INTEREST = 5; + + // Specifies that an ad is triggered if the user + // searches for advertiser's targeted locations. + // This can only be used with Search and standard + // Shopping campaigns. + SEARCH_INTEREST = 6; + + // Specifies that an ad is triggered if the user is in + // or regularly in advertiser's targeted locations. + PRESENCE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/preferred_content_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/preferred_content_type.proto new file mode 100644 index 00000000..49b5548e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/preferred_content_type.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PreferredContentTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing preferred content criterion type. + +// Container for enumeration of preferred content criterion type. +message PreferredContentTypeEnum { + // Enumerates preferred content criterion type. + enum PreferredContentType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Represents top content on YouTube. + YOUTUBE_TOP_CONTENT = 400; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_qualifier.proto b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_qualifier.proto new file mode 100644 index 00000000..67f25246 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_qualifier.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceQualifierProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing price extension price qualifier type. + +// Container for enum describing a price extension price qualifier. +message PriceExtensionPriceQualifierEnum { + // Enums of price extension price qualifier. + enum PriceExtensionPriceQualifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'From' qualifier for the price. + FROM = 2; + + // 'Up to' qualifier for the price. + UP_TO = 3; + + // 'Average' qualifier for the price. + AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_unit.proto b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_unit.proto new file mode 100644 index 00000000..d781a573 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_price_unit.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionPriceUnitProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing price extension price unit. + +// Container for enum describing price extension price unit. +message PriceExtensionPriceUnitEnum { + // Price extension price unit. + enum PriceExtensionPriceUnit { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per hour. + PER_HOUR = 2; + + // Per day. + PER_DAY = 3; + + // Per week. + PER_WEEK = 4; + + // Per month. + PER_MONTH = 5; + + // Per year. + PER_YEAR = 6; + + // Per night. + PER_NIGHT = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_type.proto new file mode 100644 index 00000000..4b79d88d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/price_extension_type.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PriceExtensionTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing price extension type. + +// Container for enum describing types for a price extension. +message PriceExtensionTypeEnum { + // Price extension type. + enum PriceExtensionType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The type for showing a list of brands. + BRANDS = 2; + + // The type for showing a list of events. + EVENTS = 3; + + // The type for showing locations relevant to your business. + LOCATIONS = 4; + + // The type for showing sub-regions or districts within a city or region. + NEIGHBORHOODS = 5; + + // The type for showing a collection of product categories. + PRODUCT_CATEGORIES = 6; + + // The type for showing a collection of related product tiers. + PRODUCT_TIERS = 7; + + // The type for showing a collection of services offered by your business. + SERVICES = 8; + + // The type for showing a collection of service categories. + SERVICE_CATEGORIES = 9; + + // The type for showing a collection of related service tiers. + SERVICE_TIERS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/price_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/price_placeholder_field.proto new file mode 100644 index 00000000..7dc0497b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/price_placeholder_field.proto @@ -0,0 +1,240 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PricePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Price placeholder fields. + +// Values for Price placeholder fields. +message PricePlaceholderFieldEnum { + // Possible values for Price placeholder fields. + enum PricePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The type of your price feed. Must match one of the + // predefined price feed type exactly. + TYPE = 2; + + // Data Type: STRING. The qualifier of each price. Must match one of the + // predefined price qualifiers exactly. + PRICE_QUALIFIER = 3; + + // Data Type: URL. Tracking template for the price feed when using Upgraded + // URLs. + TRACKING_TEMPLATE = 4; + + // Data Type: STRING. Language of the price feed. Must match one of the + // available available locale codes exactly. + LANGUAGE = 5; + + // Data Type: STRING. Final URL suffix for the price feed when using + // parallel tracking. + FINAL_URL_SUFFIX = 6; + + // Data Type: STRING. The header of item 1 of the table. + ITEM_1_HEADER = 100; + + // Data Type: STRING. The description of item 1 of the table. + ITEM_1_DESCRIPTION = 101; + + // Data Type: MONEY. The price (money with currency) of item 1 of the table, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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, + // e.g., 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/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_level.proto new file mode 100644 index 00000000..7c0ac5e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_level.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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_status.proto new file mode 100644 index 00000000..244de109 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_bidding_category_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// 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/google-cloud/protos/google/ads/googleads/v9/enums/product_channel.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_channel.proto new file mode 100644 index 00000000..d6a03fce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_channel.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/product_channel_exclusivity.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_channel_exclusivity.proto new file mode 100644 index 00000000..4c463f3e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_channel_exclusivity.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductChannelExclusivityProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/product_condition.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_condition.proto new file mode 100644 index 00000000..2897f0dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_condition.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductConditionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing bidding schemes. + +// Condition of a product offer. +message ProductConditionEnum { + // Enum describing the condition of a product offer. + enum ProductCondition { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The product condition is new. + NEW = 3; + + // The product condition is refurbished. + REFURBISHED = 4; + + // The product condition is used. + USED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/product_custom_attribute_index.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_custom_attribute_index.proto new file mode 100644 index 00000000..4ca7973a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_custom_attribute_index.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductCustomAttributeIndexProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing product custom attributes. + +// Container for enum describing the index of the product custom attribute. +message ProductCustomAttributeIndexEnum { + // The index of the product custom attribute. + enum ProductCustomAttributeIndex { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // First product custom attribute. + INDEX0 = 7; + + // Second product custom attribute. + INDEX1 = 8; + + // Third product custom attribute. + INDEX2 = 9; + + // Fourth product custom attribute. + INDEX3 = 10; + + // Fifth product custom attribute. + INDEX4 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/product_type_level.proto b/google-cloud/protos/google/ads/googleads/v9/enums/product_type_level.proto new file mode 100644 index 00000000..eb34ee8d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/product_type_level.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProductTypeLevelProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing bidding schemes. + +// Level of the type of a product offer. +message ProductTypeLevelEnum { + // Enum describing the level of the type of a product offer. + enum ProductTypeLevel { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Level 1. + LEVEL1 = 7; + + // Level 2. + LEVEL2 = 8; + + // Level 3. + LEVEL3 = 9; + + // Level 4. + LEVEL4 = 10; + + // Level 5. + LEVEL5 = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto new file mode 100644 index 00000000..57633d35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_discount_modifier.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionDiscountModifierProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing promotion extension discount modifier. + +// Container for enum describing possible a promotion extension +// discount modifier. +message PromotionExtensionDiscountModifierEnum { + // A promotion extension discount modifier. + enum PromotionExtensionDiscountModifier { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // 'Up to'. + UP_TO = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_occasion.proto b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_occasion.proto new file mode 100644 index 00000000..b5d578f2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_extension_occasion.proto @@ -0,0 +1,157 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionExtensionOccasionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing promotion extension occasion. + +// Container for enum describing a promotion extension occasion. +// For more information about the occasions please 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/google-cloud/protos/google/ads/googleads/v9/enums/promotion_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_placeholder_field.proto new file mode 100644 index 00000000..a68ddec0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/promotion_placeholder_field.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "PromotionPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Promotion placeholder fields. + +// Values for Promotion placeholder fields. +message PromotionPlaceholderFieldEnum { + // Possible values for Promotion placeholder fields. + enum PromotionPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The text that appears on the ad when the extension is + // shown. + PROMOTION_TARGET = 2; + + // Data Type: STRING. Allows you to 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/google-cloud/protos/google/ads/googleads/v9/enums/proximity_radius_units.proto b/google-cloud/protos/google/ads/googleads/v9/enums/proximity_radius_units.proto new file mode 100644 index 00000000..50a11901 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/proximity_radius_units.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ProximityRadiusUnitsProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing proximity radius units. + +// Container for enum describing unit of radius in proximity. +message ProximityRadiusUnitsEnum { + // The unit of radius distance in proximity (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/quality_score_bucket.proto b/google-cloud/protos/google/ads/googleads/v9/enums/quality_score_bucket.proto new file mode 100644 index 00000000..583e0b18 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/quality_score_bucket.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "QualityScoreBucketProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing quality score buckets. + +// The relative performance compared to other advertisers. +message QualityScoreBucketEnum { + // Enum listing the possible quality score buckets. + enum QualityScoreBucket { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Quality of the creative is below average. + BELOW_AVERAGE = 2; + + // Quality of the creative is average. + AVERAGE = 3; + + // Quality of the creative is above average. + ABOVE_AVERAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_ad_length.proto b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_ad_length.proto new file mode 100644 index 00000000..c21c757a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_ad_length.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAdLengthProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing ad lengths of a plannable video ad. + +// Message describing length of a plannable video ad. +message ReachPlanAdLengthEnum { + // Possible ad length values. + enum ReachPlanAdLength { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // 6 seconds long ad. + SIX_SECONDS = 2; + + // 15 or 20 seconds long ad. + FIFTEEN_OR_TWENTY_SECONDS = 3; + + // More than 20 seconds long ad. + TWENTY_SECONDS_OR_MORE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_age_range.proto b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_age_range.proto new file mode 100644 index 00000000..20bc5a36 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_age_range.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanAgeRangeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing a plannable age range. + +// Message describing plannable age ranges. +message ReachPlanAgeRangeEnum { + // Possible plannable age range values. + enum ReachPlanAgeRange { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Between 18 and 24 years old. + AGE_RANGE_18_24 = 503001; + + // Between 18 and 34 years old. + AGE_RANGE_18_34 = 2; + + // Between 18 and 44 years old. + AGE_RANGE_18_44 = 3; + + // Between 18 and 49 years old. + AGE_RANGE_18_49 = 4; + + // Between 18 and 54 years old. + AGE_RANGE_18_54 = 5; + + // Between 18 and 64 years old. + AGE_RANGE_18_64 = 6; + + // Between 18 and 65+ years old. + AGE_RANGE_18_65_UP = 7; + + // Between 21 and 34 years old. + AGE_RANGE_21_34 = 8; + + // Between 25 and 34 years old. + AGE_RANGE_25_34 = 503002; + + // Between 25 and 44 years old. + AGE_RANGE_25_44 = 9; + + // Between 25 and 49 years old. + AGE_RANGE_25_49 = 10; + + // Between 25 and 54 years old. + AGE_RANGE_25_54 = 11; + + // Between 25 and 64 years old. + AGE_RANGE_25_64 = 12; + + // Between 25 and 65+ years old. + AGE_RANGE_25_65_UP = 13; + + // Between 35 and 44 years old. + AGE_RANGE_35_44 = 503003; + + // Between 35 and 49 years old. + AGE_RANGE_35_49 = 14; + + // Between 35 and 54 years old. + AGE_RANGE_35_54 = 15; + + // Between 35 and 64 years old. + AGE_RANGE_35_64 = 16; + + // Between 35 and 65+ years old. + AGE_RANGE_35_65_UP = 17; + + // Between 45 and 54 years old. + AGE_RANGE_45_54 = 503004; + + // Between 45 and 64 years old. + AGE_RANGE_45_64 = 18; + + // Between 45 and 65+ years old. + AGE_RANGE_45_65_UP = 19; + + // Between 50 and 65+ years old. + AGE_RANGE_50_65_UP = 20; + + // Between 55 and 64 years old. + AGE_RANGE_55_64 = 503005; + + // Between 55 and 65+ years old. + AGE_RANGE_55_65_UP = 21; + + // 65 years old and beyond. + AGE_RANGE_65_UP = 503006; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_network.proto b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_network.proto new file mode 100644 index 00000000..1b6f2f6b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/reach_plan_network.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanNetworkProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing a plannable network. + +// Container for enum describing plannable networks. +message ReachPlanNetworkEnum { + // Possible plannable network values. + enum ReachPlanNetwork { + // Not specified. + UNSPECIFIED = 0; + + // Used as a return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // YouTube network. + YOUTUBE = 2; + + // Google Video Partners (GVP) network. + GOOGLE_VIDEO_PARTNERS = 3; + + // A combination of the YouTube network and the Google Video Partners + // network. + YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/real_estate_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/real_estate_placeholder_field.proto new file mode 100644 index 00000000..d07d4a3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/real_estate_placeholder_field.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RealEstatePlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Real Estate placeholder fields. + +// Values for Real Estate placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message RealEstatePlaceholderFieldEnum { + // Possible values for Real Estate placeholder fields. + enum RealEstatePlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Unique ID. + LISTING_ID = 2; + + // Data Type: STRING. Main headline with listing name to be shown in dynamic + // ad. + LISTING_NAME = 3; + + // Data Type: STRING. City name to be shown in dynamic ad. + CITY_NAME = 4; + + // Data Type: STRING. Description of listing to be shown in dynamic ad. + DESCRIPTION = 5; + + // Data Type: STRING. Complete listing address, including postal code. + ADDRESS = 6; + + // Data Type: STRING. Price to be shown in the ad. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 9; + + // Data Type: STRING. Type of property (house, condo, apartment, etc.) used + // to group like items together for recommendation engine. + PROPERTY_TYPE = 10; + + // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.) + // used to group like items together for recommendation engine. + LISTING_TYPE = 11; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 12; + + // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded + // URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/recommendation_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/recommendation_type.proto new file mode 100644 index 00000000..a20f17f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/recommendation_type.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 add callout extensions to a campaign. + CALLOUT_EXTENSION = 11; + + // Recommendation to add sitelink extensions to a campaign. + SITELINK_EXTENSION = 12; + + // Recommendation to add call extensions to a campaign. + CALL_EXTENSION = 13; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/resource_change_operation.proto b/google-cloud/protos/google/ads/googleads/v9/enums/resource_change_operation.proto new file mode 100644 index 00000000..ea23eb0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/resource_change_operation.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceChangeOperationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the resource change operations in change event. + +// Container for enum describing resource change operations +// in the ChangeEvent resource. +message ResourceChangeOperationEnum { + // The operation on the changed resource in change_event resource. + enum ResourceChangeOperation { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // The resource was created. + CREATE = 2; + + // The resource was modified. + UPDATE = 3; + + // The resource was removed. + REMOVE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/resource_limit_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/resource_limit_type.proto new file mode 100644 index 00000000..e24d35d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/resource_limit_type.proto @@ -0,0 +1,405 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResourceLimitTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing possible resource limit types. +message ResourceLimitTypeEnum { + // Resource limit type. + enum ResourceLimitType { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents an unclassified operation unknown + // in this version. + UNKNOWN = 1; + + // Number of ENABLED and PAUSED campaigns per customer. + CAMPAIGNS_PER_CUSTOMER = 2; + + // Number of ENABLED and PAUSED base campaigns per customer. + BASE_CAMPAIGNS_PER_CUSTOMER = 3; + + // Number of ENABLED and PAUSED experiment campaigns per customer. + EXPERIMENT_CAMPAIGNS_PER_CUSTOMER = 105; + + // Number of ENABLED and PAUSED Hotel campaigns per customer. + HOTEL_CAMPAIGNS_PER_CUSTOMER = 4; + + // Number of ENABLED and PAUSED Smart Shopping campaigns per customer. + SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER = 5; + + // Number of ENABLED ad groups per campaign. + AD_GROUPS_PER_CAMPAIGN = 6; + + // Number of ENABLED ad groups per Shopping campaign. + AD_GROUPS_PER_SHOPPING_CAMPAIGN = 8; + + // Number of ENABLED ad groups per Hotel campaign. + AD_GROUPS_PER_HOTEL_CAMPAIGN = 9; + + // Number of ENABLED reporting ad groups per local campaign. + REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN = 10; + + // Number of ENABLED reporting ad groups per App campaign. It includes app + // campaign and app campaign for engagement. + REPORTING_AD_GROUPS_PER_APP_CAMPAIGN = 11; + + // Number of ENABLED managed ad groups per smart campaign. + MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN = 52; + + // Number of ENABLED ad group criteria per customer. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED + // 3. its campaign is not REMOVED. + AD_GROUP_CRITERIA_PER_CUSTOMER = 12; + + // Number of ad group criteria across all base campaigns for a customer. + BASE_AD_GROUP_CRITERIA_PER_CUSTOMER = 13; + + // Number of ad group criteria across all experiment campaigns for a + // customer. + EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER = 107; + + // Number of ENABLED ad group criteria per campaign. + // An ad group criterion is considered as ENABLED if: + // 1. it's not REMOVED + // 2. its ad group is not REMOVED. + AD_GROUP_CRITERIA_PER_CAMPAIGN = 14; + + // Number of ENABLED campaign criteria per customer. + CAMPAIGN_CRITERIA_PER_CUSTOMER = 15; + + // Number of ENABLED campaign criteria across all base campaigns for a + // customer. + BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER = 16; + + // Number of ENABLED campaign criteria across all experiment campaigns for a + // customer. + EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER = 108; + + // Number of ENABLED webpage criteria per customer, including + // campaign level and ad group level. + WEBPAGE_CRITERIA_PER_CUSTOMER = 17; + + // Number of ENABLED webpage criteria across all base campaigns for + // a customer. + BASE_WEBPAGE_CRITERIA_PER_CUSTOMER = 18; + + // Meximum number of ENABLED webpage criteria across all experiment + // campaigns for a customer. + EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER = 19; + + // Number of combined audience criteria per ad group. + COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP = 20; + + // Limit for placement criterion type group in customer negative criterion. + CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER = 21; + + // Limit for YouTube TV channels in customer negative criterion. + CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER = 22; + + // Number of ENABLED criteria per ad group. + CRITERIA_PER_AD_GROUP = 23; + + // Number of listing group criteria per ad group. + LISTING_GROUPS_PER_AD_GROUP = 24; + + // Number of ENABLED explicitly shared budgets per customer. + EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 25; + + // Number of ENABLED implicitly shared budgets per customer. + IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER = 26; + + // Number of combined audience criteria per campaign. + COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN = 27; + + // Number of negative keywords per campaign. + NEGATIVE_KEYWORDS_PER_CAMPAIGN = 28; + + // Number of excluded campaign criteria in placement dimension, e.g. + // 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 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 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 his or + // her 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/response_content_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/response_content_type.proto new file mode 100644 index 00000000..dc36f4fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/response_content_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ResponseContentTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the response content types used in mutate operations. + +// Container for possible response content types. +message ResponseContentTypeEnum { + // Possible response content types. + enum ResponseContentType { + // Not specified. Will return the resource name only in the response. + UNSPECIFIED = 0; + + // The mutate response will be the resource name. + RESOURCE_NAME_ONLY = 1; + + // The mutate response will be the resource name and the resource with + // all mutable fields. + MUTABLE_RESOURCE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/search_engine_results_page_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/search_engine_results_page_type.proto new file mode 100644 index 00000000..15c0ad35 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/search_engine_results_page_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchEngineResultsPageTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing search engine results page types. + +// The type of the search engine results page. +message SearchEngineResultsPageTypeEnum { + // The type of the search engine results page. + enum SearchEngineResultsPageType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Only ads were contained in the search engine results page. + ADS_ONLY = 2; + + // Only organic results were contained in the search engine results page. + ORGANIC_ONLY = 3; + + // Both ads and organic results were contained in the search engine results + // page. + ADS_AND_ORGANIC = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/search_term_match_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/search_term_match_type.proto new file mode 100644 index 00000000..7a75805a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/search_term_match_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermMatchTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing search term match types. + +// Container for enum describing match types for a keyword triggering an ad. +message SearchTermMatchTypeEnum { + // Possible match types for a keyword triggering an ad, including variants. + enum SearchTermMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Broad match. + BROAD = 2; + + // Exact match. + EXACT = 3; + + // Phrase match. + PHRASE = 4; + + // Exact match (close variant). + NEAR_EXACT = 5; + + // Phrase match (close variant). + NEAR_PHRASE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/search_term_targeting_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/search_term_targeting_status.proto new file mode 100644 index 00000000..8eb53613 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/search_term_targeting_status.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermTargetingStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing search term targeting statuses. + +// Container for enum indicating whether a search term is one of your targeted +// or excluded keywords. +message SearchTermTargetingStatusEnum { + // Indicates whether the search term is one of your targeted or excluded + // keywords. + enum SearchTermTargetingStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Search term is added to targeted keywords. + ADDED = 2; + + // Search term matches a negative keyword. + EXCLUDED = 3; + + // Search term has been both added and excluded. + ADDED_EXCLUDED = 4; + + // Search term is neither targeted nor excluded. + NONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_scope.proto b/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_scope.proto new file mode 100644 index 00000000..58eeb10d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_scope.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventScopeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event scopes. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventScopeEnum { + // The possible scopes of a Seasonality Event. + enum SeasonalityEventScope { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is applied to all the customer’s traffic for + // supported advertising channel types and device types. The CUSTOMER scope + // cannot be used in mutates. + CUSTOMER = 2; + + // The seasonality event is applied to all specified campaigns. + CAMPAIGN = 4; + + // The seasonality event is applied to all campaigns that belong to + // specified channel types. + CHANNEL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_status.proto new file mode 100644 index 00000000..0ea6d26c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/seasonality_event_status.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SeasonalityEventStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing seasonality event status. + +// Message describing seasonality event statuses. The two types of seasonality +// events are BiddingSeasonalityAdjustments and BiddingDataExclusions. +message SeasonalityEventStatusEnum { + // The possible statuses of a Seasonality Event. + enum SeasonalityEventStatus { + // No value has been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // + // This is a response-only value. + UNKNOWN = 1; + + // The seasonality event is enabled. + ENABLED = 2; + + // The seasonality event is removed. + REMOVED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/served_asset_field_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/served_asset_field_type.proto new file mode 100644 index 00000000..c0f355e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/served_asset_field_type.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ServedAssetFieldTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_status.proto new file mode 100644 index 00000000..9d45810d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing shared set statuses. + +// Container for enum describing types of shared set statuses. +message SharedSetStatusEnum { + // Enum listing the possible shared set statuses. + enum SharedSetStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The shared set is enabled. + ENABLED = 2; + + // The shared set is removed and can no longer be used. + REMOVED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_type.proto new file mode 100644 index 00000000..a4ebe603 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/shared_set_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing shared set types. + +// Container for enum describing types of shared sets. +message SharedSetTypeEnum { + // Enum listing the possible shared set types. + enum SharedSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A set of keywords that can be excluded from targeting. + NEGATIVE_KEYWORDS = 2; + + // A set of placements that can be excluded from targeting. + NEGATIVE_PLACEMENTS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/simulation_modification_method.proto b/google-cloud/protos/google/ads/googleads/v9/enums/simulation_modification_method.proto new file mode 100644 index 00000000..fd92eb2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/simulation_modification_method.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationModificationMethodProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing simulation modification methods. + +// Container for enum describing the method by which a simulation modifies +// a field. +message SimulationModificationMethodEnum { + // Enum describing the method by which a simulation modifies a field. + enum SimulationModificationMethod { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The values in a simulation were applied to all children of a given + // resource uniformly. Overrides on child resources were not respected. + UNIFORM = 2; + + // The values in a simulation were applied to the given resource. + // Overrides on child resources were respected, and traffic estimates + // do not include these resources. + DEFAULT = 3; + + // The values in a simulation were all scaled by the same factor. + // For example, in a simulated TargetCpa campaign, the campaign target and + // all ad group targets were scaled by a factor of X. + SCALING = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/simulation_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/simulation_type.proto new file mode 100644 index 00000000..7bb2a612 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/simulation_type.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SimulationTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing simulation types. + +// Container for enum describing the field a simulation modifies. +message SimulationTypeEnum { + // Enum describing the field a simulation modifies. + enum SimulationType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The simulation is for a CPC bid. + CPC_BID = 2; + + // The simulation is for a CPV bid. + CPV_BID = 3; + + // The simulation is for a CPA target. + TARGET_CPA = 4; + + // The simulation is for a bid modifier. + BID_MODIFIER = 5; + + // The simulation is for a ROAS target. + TARGET_ROAS = 6; + + // The simulation is for a percent CPC bid. + PERCENT_CPC_BID = 7; + + // The simulation is for an impression share target. + TARGET_IMPRESSION_SHARE = 8; + + // The simulation is for a budget. + BUDGET = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/sitelink_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/sitelink_placeholder_field.proto new file mode 100644 index 00000000..b8cb46fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/sitelink_placeholder_field.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SitelinkPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Sitelink placeholder fields. + +// Values for Sitelink placeholder fields. +message SitelinkPlaceholderFieldEnum { + // Possible values for Sitelink placeholder fields. + enum SitelinkPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The link text for your sitelink. + TEXT = 2; + + // Data Type: STRING. First line of the sitelink description. + LINE_1 = 3; + + // Data Type: STRING. Second line of the sitelink description. + LINE_2 = 4; + + // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded + // URLs. + FINAL_URLS = 5; + + // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using + // Upgraded URLs. + FINAL_MOBILE_URLS = 6; + + // Data Type: URL. Tracking template for the sitelink when using Upgraded + // URLs. + TRACKING_URL = 7; + + // Data Type: STRING. Final URL suffix for sitelink when using parallel + // tracking. + FINAL_URL_SUFFIX = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/slot.proto b/google-cloud/protos/google/ads/googleads/v9/enums/slot.proto new file mode 100644 index 00000000..f3200ea6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/slot.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SlotProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing slots. + +// Container for enumeration of possible positions of the Ad. +message SlotEnum { + // Enumerates possible positions of the Ad. + enum Slot { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Google search: Side. + SEARCH_SIDE = 2; + + // Google search: Top. + SEARCH_TOP = 3; + + // Google search: Other. + SEARCH_OTHER = 4; + + // Google Display Network. + CONTENT = 5; + + // Search partners: Top. + SEARCH_PARTNER_TOP = 6; + + // Search partners: Other. + SEARCH_PARTNER_OTHER = 7; + + // Cross-network. + MIXED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/spending_limit_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/spending_limit_type.proto new file mode 100644 index 00000000..adfae638 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/spending_limit_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SpendingLimitTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing SpendingLimit types. + +// Message describing spending limit types. +message SpendingLimitTypeEnum { + // The possible spending limit types used by certain resources as an + // alternative to absolute money values in micros. + enum SpendingLimitType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Infinite, indicates unlimited spending power. + INFINITE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/structured_snippet_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/structured_snippet_placeholder_field.proto new file mode 100644 index 00000000..3528b84d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/structured_snippet_placeholder_field.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "StructuredSnippetPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Structured Snippet placeholder fields. + +// Values for Structured Snippet placeholder fields. +message StructuredSnippetPlaceholderFieldEnum { + // Possible values for Structured Snippet placeholder fields. + enum StructuredSnippetPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. The category of snippet of your products/services. + // Must match exactly one of the predefined structured snippets headers. + // For a list, visit + // https://developers.google.com/adwords/api/docs/appendix/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/google-cloud/protos/google/ads/googleads/v9/enums/summary_row_setting.proto b/google-cloud/protos/google/ads/googleads/v9/enums/summary_row_setting.proto new file mode 100644 index 00000000..6440da26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/summary_row_setting.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SummaryRowSettingProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing summary row setting. + +// Indicates summary row setting in request parameter. +message SummaryRowSettingEnum { + // Enum describing return summary row settings. + enum SummaryRowSetting { + // Not specified. + UNSPECIFIED = 0; + + // Represent unknown values of return summary row. + UNKNOWN = 1; + + // Do not return summary row. + NO_SUMMARY_ROW = 2; + + // Return summary row along with results. The summary row will be returned + // in the last batch alone (last batch will contain no results). + SUMMARY_ROW_WITH_RESULTS = 3; + + // Return summary row only and return no results. + SUMMARY_ROW_ONLY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/system_managed_entity_source.proto b/google-cloud/protos/google/ads/googleads/v9/enums/system_managed_entity_source.proto new file mode 100644 index 00000000..623163fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/system_managed_entity_source.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "SystemManagedEntitySourceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing system managed entity sources. + +// Container for enum describing possible system managed entity sources. +message SystemManagedResourceSourceEnum { + // Enum listing the possible system managed entity sources. + enum SystemManagedResourceSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Generated ad variations experiment ad. + AD_VARIATIONS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/target_cpa_opt_in_recommendation_goal.proto b/google-cloud/protos/google/ads/googleads/v9/enums/target_cpa_opt_in_recommendation_goal.proto new file mode 100644 index 00000000..9b4c4e1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/target_cpa_opt_in_recommendation_goal.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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetCpaOptInRecommendationGoalProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing TargetCpaOptIn recommendation goals. + +// Container for enum describing goals for TargetCpaOptIn recommendation. +message TargetCpaOptInRecommendationGoalEnum { + // Goal of TargetCpaOptIn recommendation. + enum TargetCpaOptInRecommendationGoal { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Recommendation to set Target CPA to maintain the same cost. + SAME_COST = 2; + + // Recommendation to set Target CPA to maintain the same conversions. + SAME_CONVERSIONS = 3; + + // Recommendation to set Target CPA to maintain the same CPA. + SAME_CPA = 4; + + // Recommendation to set Target CPA to a value that is as close as possible + // to, yet lower than, the actual CPA (computed for past 28 days). + CLOSEST_CPA = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/target_impression_share_location.proto b/google-cloud/protos/google/ads/googleads/v9/enums/target_impression_share_location.proto new file mode 100644 index 00000000..8ffcf90b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/target_impression_share_location.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetImpressionShareLocationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing target impression share goal. + +// Container for enum describing where on the first search results page the +// automated bidding system should target impressions for the +// TargetImpressionShare bidding strategy. +message TargetImpressionShareLocationEnum { + // Enum describing possible goals. + enum TargetImpressionShareLocation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Any location on the web page. + ANYWHERE_ON_PAGE = 2; + + // Top box of ads. + TOP_OF_PAGE = 3; + + // Top slot in the top box of ads. + ABSOLUTE_TOP_OF_PAGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/targeting_dimension.proto b/google-cloud/protos/google/ads/googleads/v9/enums/targeting_dimension.proto new file mode 100644 index 00000000..25fe5be3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/targeting_dimension.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TargetingDimensionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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, e.g. '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, e.g. + // '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/google-cloud/protos/google/ads/googleads/v9/enums/time_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/time_type.proto new file mode 100644 index 00000000..9eab9def --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/time_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TimeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing TimeType types. + +// Message describing time types. +message TimeTypeEnum { + // The possible time types used by certain resources as an alternative to + // absolute timestamps. + enum TimeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // As soon as possible. + NOW = 2; + + // An infinite point in the future. + FOREVER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_page_format.proto b/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_page_format.proto new file mode 100644 index 00000000..1eaab4f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_page_format.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodePageFormatProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing the format of the web page where the tracking +// tag and snippet will be installed. +message TrackingCodePageFormatEnum { + // The format of the web page where the tracking tag and snippet will be + // installed. + enum TrackingCodePageFormat { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Standard HTML page format. + HTML = 2; + + // Google AMP page format. + AMP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_type.proto new file mode 100644 index 00000000..d77c175d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/tracking_code_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TrackingCodeTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Container for enum describing the type of the generated tag snippets for +// tracking conversions. +message TrackingCodeTypeEnum { + // The type of the generated tag snippets for tracking conversions. + enum TrackingCodeType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The snippet that is fired as a result of a website page loading. + WEBPAGE = 2; + + // The snippet contains a JavaScript function which fires the tag. This + // function is typically called from an onClick handler added to a link or + // button element on the page. + WEBPAGE_ONCLICK = 3; + + // For embedding on a mobile webpage. The snippet contains a JavaScript + // function which fires the tag. + CLICK_TO_CALL = 4; + + // The snippet that is used to replace the phone number on your website with + // a Google forwarding number for call tracking purposes. + WEBSITE_CALL = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/travel_placeholder_field.proto b/google-cloud/protos/google/ads/googleads/v9/enums/travel_placeholder_field.proto new file mode 100644 index 00000000..241d9bc0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/travel_placeholder_field.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "TravelPlaceholderFieldProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing Travel placeholder fields. + +// Values for Travel placeholder fields. +// For more information about dynamic remarketing feeds, see +// https://support.google.com/google-ads/answer/6053288. +message TravelPlaceholderFieldEnum { + // Possible values for Travel placeholder fields. + enum TravelPlaceholderField { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Data Type: STRING. Required. Destination id. Example: PAR, LON. + // For feed items that only have destination id, destination id must be a + // unique key. For feed items that have both destination id and origin id, + // then the combination must be a unique key. + DESTINATION_ID = 2; + + // Data Type: STRING. Origin id. Example: PAR, LON. + // Combination of DESTINATION_ID and ORIGIN_ID must be + // unique per offer. + ORIGIN_ID = 3; + + // Data Type: STRING. Required. Main headline with name to be shown in + // dynamic ad. + TITLE = 4; + + // Data Type: STRING. The destination name. Shorter names are recommended. + DESTINATION_NAME = 5; + + // Data Type: STRING. Origin name. Shorter names are recommended. + ORIGIN_NAME = 6; + + // Data Type: STRING. Price to be shown in the ad. Highly recommended for + // dynamic ads. + // Example: "100.00 USD" + PRICE = 7; + + // Data Type: STRING. Formatted price to be shown in the ad. + // Example: "Starting at $100.00 USD", "$80 - $100" + FORMATTED_PRICE = 8; + + // Data Type: STRING. Sale price to be shown in the ad. + // Example: "80.00 USD" + SALE_PRICE = 9; + + // Data Type: STRING. Formatted sale price to be shown in the ad. + // Example: "On sale for $80.00", "$60 - $80" + FORMATTED_SALE_PRICE = 10; + + // Data Type: URL. Image to be displayed in the ad. + IMAGE_URL = 11; + + // Data Type: STRING. Category of travel offer used to group like items + // together for recommendation engine. + CATEGORY = 12; + + // Data Type: STRING_LIST. Keywords used for product retrieval. + CONTEXTUAL_KEYWORDS = 13; + + // Data Type: STRING. Address of travel offer, including postal code. + DESTINATION_ADDRESS = 14; + + // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using + // Upgraded URLs; the more specific the better (e.g. 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/google-cloud/protos/google/ads/googleads/v9/enums/user_identifier_source.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_identifier_source.proto new file mode 100644 index 00000000..8f0fb29d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_identifier_source.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserIdentifierSourceProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing user identifier source + +// Container for enum describing the source of the user identifier for offline +// Store Sales, click conversion, and conversion adjustment uploads. +message UserIdentifierSourceEnum { + // The type of user identifier source for offline Store Sales, click + // conversion, and conversion adjustment uploads. + enum UserIdentifierSource { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version + UNKNOWN = 1; + + // Indicates that the user identifier was provided by the first party + // (advertiser). + FIRST_PARTY = 2; + + // Indicates that the user identifier was provided by the third party + // (partner). + THIRD_PARTY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_interest_taxonomy_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_interest_taxonomy_type.proto new file mode 100644 index 00000000..b8a5ab51 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_interest_taxonomy_type.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestTaxonomyTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing the UserInterest taxonomy type + +// Message describing a UserInterestTaxonomyType. +message UserInterestTaxonomyTypeEnum { + // Enum containing the possible UserInterestTaxonomyTypes. + enum UserInterestTaxonomyType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The affinity for this user interest. + AFFINITY = 2; + + // The market for this user interest. + IN_MARKET = 3; + + // Users known to have installed applications in the specified categories. + MOBILE_APP_INSTALL_USER = 4; + + // The geographical location of the interest-based vertical. + VERTICAL_GEO = 5; + + // User interest criteria for new smart phone users. + NEW_SMART_PHONE_USER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_access_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_access_status.proto new file mode 100644 index 00000000..5439a3c4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_access_status.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListAccessStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing user list access status. + +// Indicates if this client still has access to the list. +message UserListAccessStatusEnum { + // Enum containing possible user list access statuses. + enum UserListAccessStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The access is enabled. + ENABLED = 2; + + // The access is disabled. + DISABLED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_closing_reason.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_closing_reason.proto new file mode 100644 index 00000000..7c3e81b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_closing_reason.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListClosingReasonProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing user list closing reason. + +// Indicates the reason why the userlist was closed. +// This enum is only used when a list is auto-closed by the system. +message UserListClosingReasonEnum { + // Enum describing possible user list closing reasons. + enum UserListClosingReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The userlist was closed because of not being used for over one year. + UNUSED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_combined_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_combined_rule_operator.proto new file mode 100644 index 00000000..92d1abb8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_combined_rule_operator.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCombinedRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Logical operator connecting two rules. +message UserListCombinedRuleOperatorEnum { + // Enum describing possible user list combined rule operators. + enum UserListCombinedRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // A AND B. + AND = 2; + + // A AND NOT B. + AND_NOT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_crm_data_source_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_crm_data_source_type.proto new file mode 100644 index 00000000..11c016b1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_crm_data_source_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListCrmDataSourceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Indicates source of Crm upload data. +message UserListCrmDataSourceTypeEnum { + // Enum describing possible user list crm data source type. + enum UserListCrmDataSourceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The uploaded data is first-party data. + FIRST_PARTY = 2; + + // The uploaded data is from a third-party credit bureau. + THIRD_PARTY_CREDIT_BUREAU = 3; + + // The uploaded data is from a third-party voter file. + THIRD_PARTY_VOTER_FILE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_date_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_date_rule_item_operator.proto new file mode 100644 index 00000000..85cf9a7a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_date_rule_item_operator.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListDateRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Supported rule operator for date type. +message UserListDateRuleItemOperatorEnum { + // Enum describing possible user list date rule item operators. + enum UserListDateRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Equals. + EQUALS = 2; + + // Not Equals. + NOT_EQUALS = 3; + + // Before. + BEFORE = 4; + + // After. + AFTER = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_logical_rule_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_logical_rule_operator.proto new file mode 100644 index 00000000..facb5a5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_logical_rule_operator.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListLogicalRuleOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// The logical operator of the rule. +message UserListLogicalRuleOperatorEnum { + // Enum describing possible user list logical rule operators. + enum UserListLogicalRuleOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // And - all of the operands. + ALL = 2; + + // Or - at least one of the operands. + ANY = 3; + + // Not - none of the operands. + NONE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_membership_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_membership_status.proto new file mode 100644 index 00000000..5a6c0a27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_membership_status.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListMembershipStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing user list membership status. + +// Membership status of this user list. Indicates whether a user list is open +// or active. Only open user lists can accumulate more users and can be used for +// targeting. +message UserListMembershipStatusEnum { + // Enum containing possible user list membership statuses. + enum UserListMembershipStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Open status - List is accruing members and can be targeted to. + OPEN = 2; + + // Closed status - No new members being added. Cannot be used for targeting. + CLOSED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_number_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_number_rule_item_operator.proto new file mode 100644 index 00000000..b8ad47ba --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_number_rule_item_operator.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListNumberRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Supported rule operator for number type. +message UserListNumberRuleItemOperatorEnum { + // Enum describing possible user list number rule item operators. + enum UserListNumberRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Greater than. + GREATER_THAN = 2; + + // Greater than or equal. + GREATER_THAN_OR_EQUAL = 3; + + // Equals. + EQUALS = 4; + + // Not equals. + NOT_EQUALS = 5; + + // Less than. + LESS_THAN = 6; + + // Less than or equal. + LESS_THAN_OR_EQUAL = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_prepopulation_status.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_prepopulation_status.proto new file mode 100644 index 00000000..e4592b16 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_prepopulation_status.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListPrepopulationStatusProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Indicates status of prepopulation based on the rule. +message UserListPrepopulationStatusEnum { + // Enum describing possible user list prepopulation status. + enum UserListPrepopulationStatus { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prepopoulation is being requested. + REQUESTED = 2; + + // Prepopulation is finished. + FINISHED = 3; + + // Prepopulation failed. + FAILED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_rule_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_rule_type.proto new file mode 100644 index 00000000..d52ec765 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_rule_type.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListRuleTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Rule based user list rule type. +message UserListRuleTypeEnum { + // Enum describing possible user list rule types. + enum UserListRuleType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Conjunctive normal form. + AND_OF_ORS = 2; + + // Disjunctive normal form. + OR_OF_ANDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_size_range.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_size_range.proto new file mode 100644 index 00000000..720c179d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_size_range.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListSizeRangeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing user list size range. + +// Size range in terms of number of users of a UserList. +message UserListSizeRangeEnum { + // Enum containing possible user list size ranges. + enum UserListSizeRange { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // User list has less than 500 users. + LESS_THAN_FIVE_HUNDRED = 2; + + // User list has number of users in range of 500 to 1000. + LESS_THAN_ONE_THOUSAND = 3; + + // User list has number of users in range of 1000 to 10000. + ONE_THOUSAND_TO_TEN_THOUSAND = 4; + + // User list has number of users in range of 10000 to 50000. + TEN_THOUSAND_TO_FIFTY_THOUSAND = 5; + + // User list has number of users in range of 50000 to 100000. + FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6; + + // User list has number of users in range of 100000 to 300000. + ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7; + + // User list has number of users in range of 300000 to 500000. + THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8; + + // User list has number of users in range of 500000 to 1 million. + FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9; + + // User list has number of users in range of 1 to 2 millions. + ONE_MILLION_TO_TWO_MILLION = 10; + + // User list has number of users in range of 2 to 3 millions. + TWO_MILLION_TO_THREE_MILLION = 11; + + // User list has number of users in range of 3 to 5 millions. + THREE_MILLION_TO_FIVE_MILLION = 12; + + // User list has number of users in range of 5 to 10 millions. + FIVE_MILLION_TO_TEN_MILLION = 13; + + // User list has number of users in range of 10 to 20 millions. + TEN_MILLION_TO_TWENTY_MILLION = 14; + + // User list has number of users in range of 20 to 30 millions. + TWENTY_MILLION_TO_THIRTY_MILLION = 15; + + // User list has number of users in range of 30 to 50 millions. + THIRTY_MILLION_TO_FIFTY_MILLION = 16; + + // User list has over 50 million users. + OVER_FIFTY_MILLION = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_string_rule_item_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_string_rule_item_operator.proto new file mode 100644 index 00000000..97115c0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_string_rule_item_operator.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListStringRuleItemOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Supported rule operator for string type. +message UserListStringRuleItemOperatorEnum { + // Enum describing possible user list string rule item operators. + enum UserListStringRuleItemOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Contains. + CONTAINS = 2; + + // Equals. + EQUALS = 3; + + // Starts with. + STARTS_WITH = 4; + + // Ends with. + ENDS_WITH = 5; + + // Not equals. + NOT_EQUALS = 6; + + // Not contains. + NOT_CONTAINS = 7; + + // Not starts with. + NOT_STARTS_WITH = 8; + + // Not ends with. + NOT_ENDS_WITH = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/user_list_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_type.proto new file mode 100644 index 00000000..4119387d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/user_list_type.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "UserListTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::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/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_device_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_device_type.proto new file mode 100644 index 00000000..546625d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_device_type.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleDeviceTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule device type. + +// Container for enum describing possible device types used in a conversion +// value rule. +message ValueRuleDeviceTypeEnum { + // Possible device types used in conversion value rule. + enum ValueRuleDeviceType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Mobile device. + MOBILE = 2; + + // Desktop device. + DESKTOP = 3; + + // Tablet device. + TABLET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_geo_location_match_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_geo_location_match_type.proto new file mode 100644 index 00000000..a5fd0b4e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_geo_location_match_type.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleGeoLocationMatchTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule geo location match type. + +// Container for enum describing possible geographic location matching types +// used in a conversion value rule. +message ValueRuleGeoLocationMatchTypeEnum { + // Possible geographic location matching types. + enum ValueRuleGeoLocationMatchType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Either Area of Interest or Location of Presence can be used to match. + ANY = 2; + + // Only Location of Presence can be used to match. + LOCATION_OF_PRESENCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_operation.proto b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_operation.proto new file mode 100644 index 00000000..e41a9750 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_operation.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleOperationProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule operation. + +// Container for enum describing possible operations for value rules which are +// executed when rules are triggered. +message ValueRuleOperationEnum { + // Possible operations of the action of a conversion value rule. + enum ValueRuleOperation { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add provided value to conversion value. + ADD = 2; + + // Multiply conversion value by provided value. + MULTIPLY = 3; + + // Set conversion value to provided value. + SET = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_attachment_type.proto b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_attachment_type.proto new file mode 100644 index 00000000..68e40db0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_attachment_type.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetAttachmentTypeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing where the conversion value rule is attached. + +// Container for enum describing where a value rule set is attached. +message ValueRuleSetAttachmentTypeEnum { + // Possible level where a value rule set is attached. + enum ValueRuleSetAttachmentType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Attached to the customer. + CUSTOMER = 2; + + // Attached to a campaign. + CAMPAIGN = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_dimension.proto b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_dimension.proto new file mode 100644 index 00000000..f95e2b3e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/value_rule_set_dimension.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ValueRuleSetDimensionProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing conversion value rule set dimension. + +// Container for enum describing possible dimensions of a conversion value rule +// set. +message ValueRuleSetDimensionEnum { + // Possible dimensions of a conversion value rule set. + enum ValueRuleSetDimension { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Dimension for geo location. + GEO_LOCATION = 2; + + // Dimension for device type. + DEVICE = 3; + + // Dimension for audience. + AUDIENCE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_display_url_mode.proto b/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_display_url_mode.proto new file mode 100644 index 00000000..07c7dc8c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_display_url_mode.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaDisplayUrlModeProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing vanity pharma display url modes. + +// The display mode for vanity pharma URLs. +message VanityPharmaDisplayUrlModeEnum { + // Enum describing possible display modes for vanity pharma URLs. + enum VanityPharmaDisplayUrlMode { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Replace vanity pharma URL with manufacturer website url. + MANUFACTURER_WEBSITE_URL = 2; + + // Replace vanity pharma URL with description of the website. + WEBSITE_DESCRIPTION = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_text.proto b/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_text.proto new file mode 100644 index 00000000..bea8cb6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/vanity_pharma_text.proto @@ -0,0 +1,87 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VanityPharmaTextProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing vanity pharma texts. + +// The text that will be displayed in display URL of the text ad when website +// description is the selected display mode for vanity pharma URLs. +message VanityPharmaTextEnum { + // Enum describing possible text. + enum VanityPharmaText { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Prescription treatment website with website content in English. + PRESCRIPTION_TREATMENT_WEBSITE_EN = 2; + + // Prescription treatment website with website content in Spanish + // (Sitio de tratamientos con receta). + PRESCRIPTION_TREATMENT_WEBSITE_ES = 3; + + // Prescription device website with website content in English. + PRESCRIPTION_DEVICE_WEBSITE_EN = 4; + + // Prescription device website with website content in Spanish (Sitio de + // dispositivos con receta). + PRESCRIPTION_DEVICE_WEBSITE_ES = 5; + + // Medical device website with website content in English. + MEDICAL_DEVICE_WEBSITE_EN = 6; + + // Medical device website with website content in Spanish (Sitio de + // dispositivos médicos). + MEDICAL_DEVICE_WEBSITE_ES = 7; + + // Preventative treatment website with website content in English. + PREVENTATIVE_TREATMENT_WEBSITE_EN = 8; + + // Preventative treatment website with website content in Spanish (Sitio de + // tratamientos preventivos). + PREVENTATIVE_TREATMENT_WEBSITE_ES = 9; + + // Prescription contraception website with website content in English. + PRESCRIPTION_CONTRACEPTION_WEBSITE_EN = 10; + + // Prescription contraception website with website content in Spanish (Sitio + // de anticonceptivos con receta). + PRESCRIPTION_CONTRACEPTION_WEBSITE_ES = 11; + + // Prescription vaccine website with website content in English. + PRESCRIPTION_VACCINE_WEBSITE_EN = 12; + + // Prescription vaccine website with website content in Spanish (Sitio de + // vacunas con receta). + PRESCRIPTION_VACCINE_WEBSITE_ES = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/video_thumbnail.proto b/google-cloud/protos/google/ads/googleads/v9/enums/video_thumbnail.proto new file mode 100644 index 00000000..6cb70c69 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/video_thumbnail.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "VideoThumbnailProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing video thumbnails. + +// Defines the thumbnail to use for In-Display video ads. Note that +// DEFAULT_THUMBNAIL may have been uploaded by the user while thumbnails 1-3 are +// auto-generated from the video. +message VideoThumbnailEnum { + // Enum listing the possible types of a video thumbnail. + enum VideoThumbnail { + // The type has not been specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + // This is a response-only value. + UNKNOWN = 1; + + // The default thumbnail. Can be auto-generated or user-uploaded. + DEFAULT_THUMBNAIL = 2; + + // Thumbnail 1, generated from the video. + THUMBNAIL_1 = 3; + + // Thumbnail 2, generated from the video. + THUMBNAIL_2 = 4; + + // Thumbnail 3, generated from the video. + THUMBNAIL_3 = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operand.proto b/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operand.proto new file mode 100644 index 00000000..b53e2f1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operand.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperandProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing webpage condition operand. + +// Container for enum describing webpage condition operand in webpage criterion. +message WebpageConditionOperandEnum { + // The webpage condition operand in webpage criterion. + enum WebpageConditionOperand { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Operand denoting a webpage URL targeting condition. + URL = 2; + + // Operand denoting a webpage category targeting condition. + CATEGORY = 3; + + // Operand denoting a webpage title targeting condition. + PAGE_TITLE = 4; + + // Operand denoting a webpage content targeting condition. + PAGE_CONTENT = 5; + + // Operand denoting a webpage custom label targeting condition. + CUSTOM_LABEL = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operator.proto b/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operator.proto new file mode 100644 index 00000000..11f52d36 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/enums/webpage_condition_operator.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.enums; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "WebpageConditionOperatorProto"; +option java_package = "com.google.ads.googleads.v9.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V9::Enums"; + +// Proto file describing webpage condition operator. + +// Container for enum describing webpage condition operator in webpage +// criterion. +message WebpageConditionOperatorEnum { + // The webpage condition operator in webpage criterion. + enum WebpageConditionOperator { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The argument web condition is equal to the compared web condition. + EQUALS = 2; + + // The argument web condition is part of the compared web condition. + CONTAINS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/errors/BUILD.bazel new file mode 100644 index 00000000..898db242 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/BUILD.bazel @@ -0,0 +1,94 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "errors_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v9/common:common_proto", + "//google/ads/googleads/v9/enums:enums_proto", + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "errors_java_proto", + deps = [":errors_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "errors_csharp_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "errors_ruby_proto", + deps = [":errors_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "errors_py_proto", + deps = [":errors_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/access_invitation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/access_invitation_error.proto new file mode 100644 index 00000000..d5215afa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/access_invitation_error.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccessInvitationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing AccessInvitation errors. + +// Container for enum describing possible AccessInvitation errors. +message AccessInvitationErrorEnum { + // Enum describing possible AccessInvitation errors. + enum AccessInvitationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The email address is invalid for sending an invitation. + INVALID_EMAIL_ADDRESS = 2; + + // Email address already has access to this customer. + EMAIL_ADDRESS_ALREADY_HAS_ACCESS = 3; + + // Invalid invitation status for the operation. + INVALID_INVITATION_STATUS = 4; + + // Email address cannot be like abc+foo@google.com. + GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED = 5; + + // Invalid invitation id. + INVALID_INVITATION_ID = 6; + + // Email address already has a pending invitation. + EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION = 7; + + // Pending invitation limit exceeded for the customer. + PENDING_INVITATIONS_LIMIT_EXCEEDED = 8; + + // Email address doesn't conform to the email domain policy. Please see + // https://support.google.com/google-ads/answer/2375456 + EMAIL_DOMAIN_POLICY_VIOLATED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/account_budget_proposal_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/account_budget_proposal_error.proto new file mode 100644 index 00000000..f30be85d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/account_budget_proposal_error.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing account budget proposal errors. + +// Container for enum describing possible account budget proposal errors. +message AccountBudgetProposalErrorEnum { + // Enum describing possible account budget proposal errors. + enum AccountBudgetProposalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be empty for create/end/remove proposals. + FIELD_MASK_NOT_ALLOWED = 2; + + // The field cannot be set because of the proposal type. + IMMUTABLE_FIELD = 3; + + // The field is required because of the proposal type. + REQUIRED_FIELD_MISSING = 4; + + // Proposals that have been approved cannot be cancelled. + CANNOT_CANCEL_APPROVED_PROPOSAL = 5; + + // Budgets that haven't been approved cannot be removed. + CANNOT_REMOVE_UNAPPROVED_BUDGET = 6; + + // Budgets that are currently running cannot be removed. + CANNOT_REMOVE_RUNNING_BUDGET = 7; + + // Budgets that haven't been approved cannot be truncated. + CANNOT_END_UNAPPROVED_BUDGET = 8; + + // Only budgets that are currently running can be truncated. + CANNOT_END_INACTIVE_BUDGET = 9; + + // All budgets must have names. + BUDGET_NAME_REQUIRED = 10; + + // Expired budgets cannot be edited after a sufficient amount of time has + // passed. + CANNOT_UPDATE_OLD_BUDGET = 11; + + // It is not permissible a propose a new budget that ends in the past. + CANNOT_END_IN_PAST = 12; + + // An expired budget cannot be extended to overlap with the running budget. + CANNOT_EXTEND_END_TIME = 13; + + // A purchase order number is required. + PURCHASE_ORDER_NUMBER_REQUIRED = 14; + + // Budgets that have a pending update cannot be updated. + PENDING_UPDATE_PROPOSAL_EXISTS = 15; + + // Cannot propose more than one budget when the corresponding billing setup + // hasn't been approved. + MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16; + + // Cannot update the start time of a budget that has already started. + CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17; + + // Cannot update the spending limit of a budget with an amount lower than + // what has already been spent. + SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18; + + // Cannot propose a budget update without actually changing any fields. + UPDATE_IS_NO_OP = 19; + + // The end time must come after the start time. + END_TIME_MUST_FOLLOW_START_TIME = 20; + + // The budget's date range must fall within the date range of its billing + // setup. + BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21; + + // The user is not authorized to mutate budgets for the given billing setup. + NOT_AUTHORIZED = 22; + + // Mutates are not allowed for the given billing setup. + INVALID_BILLING_SETUP = 23; + + // Budget creation failed as it overlaps with an 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/account_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/account_link_error.proto new file mode 100644 index 00000000..a55823b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/account_link_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing AccountLink errors. + +// Container for enum describing possible account link errors. +message AccountLinkErrorEnum { + // Enum describing possible account link errors. + enum AccountLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The new link status is invalid. + INVALID_STATUS = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_customizer_error.proto new file mode 100644 index 00000000..155e6e5c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_customizer_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad customizer errors. + +// Container for enum describing possible ad customizer errors. +message AdCustomizerErrorEnum { + // Enum describing possible ad customizer errors. + enum AdCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date argument in countdown function. + COUNTDOWN_INVALID_DATE_FORMAT = 2; + + // Countdown end date is in the past. + COUNTDOWN_DATE_IN_PAST = 3; + + // Invalid locale string in countdown function. + COUNTDOWN_INVALID_LOCALE = 4; + + // Days-before argument to countdown function is not positive. + COUNTDOWN_INVALID_START_DAYS_BEFORE = 5; + + // A user list referenced in an IF function does not exist. + UNKNOWN_USER_LIST = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_error.proto new file mode 100644 index 00000000..27dca172 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_error.proto @@ -0,0 +1,524 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad errors. + +// Container for enum describing possible ad errors. +message AdErrorEnum { + // Enum describing possible ad errors. + enum AdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ad customizers are not supported for ad type. + AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2; + + // Estimating character sizes the string is too long. + APPROXIMATELY_TOO_LONG = 3; + + // Estimating character sizes the string is too short. + APPROXIMATELY_TOO_SHORT = 4; + + // There is a problem with the snippet. + BAD_SNIPPET = 5; + + // Cannot modify an ad. + CANNOT_MODIFY_AD = 6; + + // business name and url cannot be set at the same time + CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7; + + // The specified field is incompatible with this ad's type or settings. + CANNOT_SET_FIELD = 8; + + // Cannot set field when originAdId is set. + CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9; + + // Cannot set field when an existing ad id is set for sharing. + CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10; + + // Cannot set allowFlexibleColor false if no color is provided by user. + CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11; + + // When user select native, no color control is allowed because we will + // always respect publisher color for native format serving. + CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12; + + // Cannot specify a url for the ad type + CANNOT_SET_URL = 13; + + // Cannot specify a tracking or mobile url without also setting final urls + CANNOT_SET_WITHOUT_FINAL_URLS = 14; + + // Cannot specify a legacy url and a final url simultaneously + CANNOT_SET_WITH_FINAL_URLS = 15; + + // Cannot specify a urls in UrlData and in template fields simultaneously. + CANNOT_SET_WITH_URL_DATA = 17; + + // This operator cannot be used with a subclass of Ad. + CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18; + + // Customer is not approved for mobile ads. + CUSTOMER_NOT_APPROVED_MOBILEADS = 19; + + // Customer is not approved for 3PAS richmedia ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20; + + // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads. + CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21; + + // Not an eligible customer + CUSTOMER_NOT_ELIGIBLE = 22; + + // Customer is not eligible for updating beacon url + CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23; + + // There already exists an ad with the same dimensions in the union. + DIMENSION_ALREADY_IN_UNION = 24; + + // Ad's dimension must be set before setting union dimension. + DIMENSION_MUST_BE_SET = 25; + + // Ad's dimension must be included in the union dimensions. + DIMENSION_NOT_IN_UNION = 26; + + // Display Url cannot be specified (applies to Ad Exchange Ads) + DISPLAY_URL_CANNOT_BE_SPECIFIED = 27; + + // Telephone number contains invalid characters or invalid format. Please + // re-enter your number using digits (0-9), dashes (-), and parentheses + // only. + DOMESTIC_PHONE_NUMBER_FORMAT = 28; + + // Emergency telephone numbers are not allowed. Please 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. Please 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 (e.g. {lpurl}) + MISSING_DESTINATION_URL_TAG = 65; + + // The tracking url template of ExpandedDynamicSearchAd must contain at + // least one tag. (e.g. {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 + // (e.g. 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. Please 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_ad_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_ad_error.proto new file mode 100644 index 00000000..1078c22d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_ad_error.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group ad errors. + +// Container for enum describing possible ad group ad errors. +message AdGroupAdErrorEnum { + // Enum describing possible ad group ad errors. + enum AdGroupAdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the adgroup ad and the label. + AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the adgroup ad. + AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3; + + // The specified ad was not found in the adgroup + AD_NOT_UNDER_ADGROUP = 4; + + // Removed ads may not be modified + CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5; + + // An ad of this type is deprecated and cannot be created. Only deletions + // are permitted. + CANNOT_CREATE_DEPRECATED_ADS = 6; + + // Text ads are deprecated and cannot be created. Use expanded text ads + // instead. + CANNOT_CREATE_TEXT_ADS = 7; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 8; + + // An ad may only be modified once per call + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9; + + // AdGroupAds with the given ad type cannot be paused. + AD_TYPE_CANNOT_BE_PAUSED = 10; + + // AdGroupAds with the given ad type cannot be removed. + AD_TYPE_CANNOT_BE_REMOVED = 11; + + // An ad of this type is deprecated and cannot be updated. Only removals + // are permitted. + CANNOT_UPDATE_DEPRECATED_ADS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_bid_modifier_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_bid_modifier_error.proto new file mode 100644 index 00000000..e1fcb72b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_bid_modifier_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group bid modifier errors. + +// Container for enum describing possible ad group bid modifier errors. +message AdGroupBidModifierErrorEnum { + // Enum describing possible ad group bid modifier errors. + enum AdGroupBidModifierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion ID does not support bid modification. + CRITERION_ID_NOT_SUPPORTED = 2; + + // Cannot override the bid modifier for the given criterion ID if the parent + // campaign is opted out of the same criterion. + CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_customizer_error.proto new file mode 100644 index 00000000..05177ddf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_customizer_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group criterion customizer errors. + +// Container for enum describing possible ad group criterion customizer errors. +message AdGroupCriterionCustomizerErrorEnum { + // Enum describing possible ad group criterion customizer errors. + enum AdGroupCriterionCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Only keyword type criterion is allowed to link customizer attribute. + CRITERION_IS_NOT_KEYWORD = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_error.proto new file mode 100644 index 00000000..5a7fb666 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_criterion_error.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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group criterion errors. + +// Container for enum describing possible ad group criterion errors. +message AdGroupCriterionErrorEnum { + // Enum describing possible ad group criterion errors. + enum AdGroupCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No link found between the AdGroupCriterion and the label. + AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2; + + // The label has already been attached to the AdGroupCriterion. + AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3; + + // Negative AdGroupCriterion cannot have labels. + CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4; + + // Too many operations for a single call. + TOO_MANY_OPERATIONS = 5; + + // Negative ad group criteria are not updateable. + CANT_UPDATE_NEGATIVE = 6; + + // Concrete type of criterion (keyword v.s. placement) is required for ADD + // and SET operations. + CONCRETE_TYPE_REQUIRED = 7; + + // Bid is incompatible with ad group's bidding settings. + BID_INCOMPATIBLE_WITH_ADGROUP = 8; + + // Cannot target and exclude the same criterion at once. + CANNOT_TARGET_AND_EXCLUDE = 9; + + // The URL of a placement is invalid. + ILLEGAL_URL = 10; + + // Keyword text was invalid. + INVALID_KEYWORD_TEXT = 11; + + // Destination URL was invalid. + INVALID_DESTINATION_URL = 12; + + // The destination url must contain at least one tag (e.g. {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. + // Please 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/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_customizer_error.proto new file mode 100644 index 00000000..fadbdcbb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_customizer_error.proto @@ -0,0 +1,44 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group customizer errors. + +// Container for enum describing possible ad group customizer errors. +message AdGroupCustomizerErrorEnum { + // Enum describing possible ad group customizer errors. + enum AdGroupCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_error.proto new file mode 100644 index 00000000..7f56ed28 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group errors. + +// Container for enum describing possible ad group errors. +message AdGroupErrorEnum { + // Enum describing possible ad group errors. + enum AdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // AdGroup with the same name already exists for the campaign. + DUPLICATE_ADGROUP_NAME = 2; + + // AdGroup name is not valid. + INVALID_ADGROUP_NAME = 3; + + // Advertiser is not allowed to target sites or set site bids that are not + // on the Google Search Network. + ADVERTISER_NOT_ON_CONTENT_NETWORK = 5; + + // Bid amount is too big. + BID_TOO_BIG = 6; + + // AdGroup bid does not match the campaign's bidding strategy. + BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7; + + // AdGroup name is required for Add. + MISSING_ADGROUP_NAME = 8; + + // No link found between the ad group and the label. + ADGROUP_LABEL_DOES_NOT_EXIST = 9; + + // The label has already been attached to the ad group. + ADGROUP_LABEL_ALREADY_EXISTS = 10; + + // The CriterionTypeGroup is not supported for the content bid dimension. + INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11; + + // The ad group type is not compatible with the campaign channel type. + AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12; + + // The ad group type is not supported in the country of sale of the + // campaign. + ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13; + + // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to + // campaigns that have DynamicSearchAdsSetting attached. + CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; + + // Promoted hotels ad groups are only available to customers on the + // allow-list. + PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; + + // The field type cannot be excluded because an active ad group-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_feed_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_feed_error.proto new file mode 100644 index 00000000..b52b038d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_group_feed_error.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad group feed errors. + +// Container for enum describing possible ad group feed errors. +message AdGroupFeedErrorEnum { + // Enum describing possible ad group feed errors. + enum AdGroupFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this ad group and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The AdGroupFeed already exists. UPDATE operation should be used to modify + // the existing AdGroupFeed. + ADGROUP_FEED_ALREADY_EXISTS = 4; + + // Cannot operate on removed AdGroupFeed. + CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Location AdGroupFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_parameter_error.proto new file mode 100644 index 00000000..12c8ec7f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_parameter_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad parameter errors. + +// Container for enum describing possible ad parameter errors. +message AdParameterErrorEnum { + // Enum describing possible ad parameter errors. + enum AdParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The ad group criterion must be a keyword criterion. + AD_GROUP_CRITERION_MUST_BE_KEYWORD = 2; + + // The insertion text is invalid. + INVALID_INSERTION_TEXT_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/ad_sharing_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/ad_sharing_error.proto new file mode 100644 index 00000000..27a14926 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/ad_sharing_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdSharingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ad sharing errors. + +// Container for enum describing possible ad sharing errors. +message AdSharingErrorEnum { + // Enum describing possible ad sharing errors. + enum AdSharingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error resulting in attempting to add an Ad to an AdGroup that already + // contains the Ad. + AD_GROUP_ALREADY_CONTAINS_AD = 2; + + // Ad is not compatible with the AdGroup it is being shared with. + INCOMPATIBLE_AD_UNDER_AD_GROUP = 3; + + // Cannot add AdGroupAd on inactive Ad. + CANNOT_SHARE_INACTIVE_AD = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/adx_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/adx_error.proto new file mode 100644 index 00000000..4d141b4c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/adx_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AdxErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing adx errors. + +// Container for enum describing possible adx errors. +message AdxErrorEnum { + // Enum describing possible adx errors. + enum AdxError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Attempt to use non-AdX feature by AdX customer. + UNSUPPORTED_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_error.proto new file mode 100644 index 00000000..4720f3bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_error.proto @@ -0,0 +1,134 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset errors. + +// Container for enum describing possible asset errors. +message AssetErrorEnum { + // Enum describing possible asset errors. + enum AssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer is not is not on the allow-list for this asset type. + CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE = 13; + + // Assets are duplicated across operations. + DUPLICATE_ASSET = 3; + + // The asset name is duplicated, either across operations or with an + // existing asset. + DUPLICATE_ASSET_NAME = 4; + + // The Asset.asset_data oneof is empty. + ASSET_DATA_IS_MISSING = 5; + + // The asset has a name which is different from an existing duplicate that + // represents the same content. + CANNOT_MODIFY_ASSET_NAME = 6; + + // The field cannot be set for this asset type. + FIELD_INCOMPATIBLE_WITH_ASSET_TYPE = 7; + + // Call to action must come from the list of supported values. + INVALID_CALL_TO_ACTION_TEXT = 8; + + // A lead form asset is created with an invalid combination of input fields. + LEAD_FORM_INVALID_FIELDS_COMBINATION = 9; + + // Lead forms require that the Terms of Service have been agreed to before + // mutates can be executed. + LEAD_FORM_MISSING_AGREEMENT = 10; + + // Asset status is invalid in this operation. + INVALID_ASSET_STATUS = 11; + + // The field cannot be modified by this asset type. + FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE = 12; + + // Ad schedules for the same asset cannot overlap. + SCHEDULES_CANNOT_OVERLAP = 14; + + // Cannot set both percent off and money amount off fields of promotion + // asset. + PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 15; + + // Cannot set both promotion code and orders over amount fields of promotion + // asset. + PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 16; + + // The field has too many decimal places specified. + TOO_MANY_DECIMAL_PLACES_SPECIFIED = 17; + + // Duplicate assets across operations, which have identical Asset.asset_data + // oneof, cannot have different asset level fields for asset types which are + // deduped. + DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE = 18; + + // Carrier specific short number is not allowed. + CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 19; + + // Customer consent required for call recording Terms of Service. + CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 20; + + // The type of the specified phone number is not allowed. + CALL_DISALLOWED_NUMBER_TYPE = 21; + + // If the default call_conversion_action is not used, the customer must have + // a ConversionAction with the same id and the ConversionAction must be call + // conversion type. + CALL_INVALID_CONVERSION_ACTION = 22; + + // The country code of the phone number is invalid. + CALL_INVALID_COUNTRY_CODE = 23; + + // The format of the phone number is incorrect. + CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 24; + + // The input phone number is not a valid phone number. + CALL_INVALID_PHONE_NUMBER = 25; + + // The phone number is not supported for country. + CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 26; + + // Premium rate phone number is not allowed. + CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED = 27; + + // Vanity phone number is not allowed. + CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED = 28; + + // PriceOffering cannot have the same value for header and description. + PRICE_HEADER_SAME_AS_DESCRIPTION = 29; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_asset_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_asset_error.proto new file mode 100644 index 00000000..8ff06ec5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_asset_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group asset errors. +message AssetGroupAssetErrorEnum { + // Enum describing possible asset group asset errors. + enum AssetGroupAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot add duplicated asset group asset. + DUPLICATE_RESOURCE = 2; + + // Expandable tags are not allowed in description assets. + EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION = 3; + + // Ad customizers are not supported in assetgroup's text assets. + AD_CUSTOMIZER_NOT_SUPPORTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_error.proto new file mode 100644 index 00000000..99ec9eab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_error.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset group errors. + +// Container for enum describing possible asset group errors. +message AssetGroupErrorEnum { + // Enum describing possible asset group errors. + enum AssetGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each asset group in a single campaign must have a unique name. + DUPLICATE_NAME = 2; + + // Cannot add asset group for the campaign type. + CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE = 3; + + // Not enough headline asset for a valid asset group. + NOT_ENOUGH_HEADLINE_ASSET = 4; + + // Not enough long headline asset for a valid asset group. + NOT_ENOUGH_LONG_HEADLINE_ASSET = 5; + + // Not enough description headline asset for a valid asset group. + NOT_ENOUGH_DESCRIPTION_ASSET = 6; + + // Not enough business name asset for a valid asset group. + NOT_ENOUGH_BUSINESS_NAME_ASSET = 7; + + // Not enough marketing image asset for a valid asset group. + NOT_ENOUGH_MARKETING_IMAGE_ASSET = 8; + + // Not enough square marketing image asset for a valid asset group. + NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET = 9; + + // Not enough logo asset for a valid asset group. + NOT_ENOUGH_LOGO_ASSET = 10; + + // Final url and shopping merchant url does not have the same domain. + FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_listing_group_filter_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_listing_group_filter_error.proto new file mode 100644 index 00000000..84b2b394 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_group_listing_group_filter_error.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset group asset errors. + +// Container for enum describing possible asset group listing group filter +// errors. +message AssetGroupListingGroupFilterErrorEnum { + // Enum describing possible asset group listing group filter errors. + enum AssetGroupListingGroupFilterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Listing group tree is too deep. + TREE_TOO_DEEP = 2; + + // Listing Group UNIT node cannot have children. + UNIT_CANNOT_HAVE_CHILDREN = 3; + + // Listing Group SUBDIVISION node must have everything else child. + SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD = 4; + + // Dimension type of Listing Group must be the same as that of its siblings. + DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS = 5; + + // The sibling Listing Groups target exactly the same dimension value. + SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS = 6; + + // The dimension type is the same as one of the ancestor Listing Groups. + SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS = 7; + + // Each Listing Group tree must have a single root. + MULTIPLE_ROOTS = 8; + + // Invalid Listing Group dimension value. + INVALID_DIMENSION_VALUE = 9; + + // Hierarchical dimension must refine a dimension of the same type. + MUST_REFINE_HIERARCHICAL_PARENT_TYPE = 10; + + // Invalid Product Bidding Category. + INVALID_PRODUCT_BIDDING_CATEGORY = 11; + + // Modifying case value is allowed only while updating the entire subtree at + // the same time. + CHANGING_CASE_VALUE_WITH_CHILDREN = 12; + + // Subdivision node has children which must be removed first. + SUBDIVISION_HAS_CHILDREN = 13; + + // Dimension can't subdivide everything-else node in its own hierarchy. + CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE = 14; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_link_error.proto new file mode 100644 index 00000000..09cc4e82 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_link_error.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset link errors. + +// Container for enum describing possible asset link errors. +message AssetLinkErrorEnum { + // Enum describing possible asset link errors. + enum AssetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Pinning is not supported for the given asset link field. + PINNING_UNSUPPORTED = 2; + + // The given field type is not supported to be added directly via 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 (e.g. 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 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_asset_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_asset_error.proto new file mode 100644 index 00000000..c96383cc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_asset_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset set asset errors. + +// Container for enum describing possible asset set asset errors. +message AssetSetAssetErrorEnum { + // Enum describing possible asset set asset errors. + enum AssetSetAssetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The asset type is not eligible to be linked to the specific type of asset + // set. + INVALID_ASSET_TYPE = 2; + + // The asset set type is not eligible to contain the specified type of + // assets. + INVALID_ASSET_SET_TYPE = 3; + + // The asset contains duplicate external key with another asset in the asset + // set. + DUPLICATE_EXTERNAL_KEY = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_error.proto new file mode 100644 index 00000000..309e4644 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_link_error.proto new file mode 100644 index 00000000..d8620aa3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/asset_set_link_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing asset set link errors. + +// Container for enum describing possible asset set link errors. +message AssetSetLinkErrorEnum { + // Enum describing possible asset set link errors. + enum AssetSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Advertising channel type cannot be attached to the asset set due to + // channel-based restrictions. + INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE = 2; + + // For this asset set type, only one campaign to feed linkage is allowed. + DUPLICATE_FEED_LINK = 3; + + // The asset set type and campaign type are incompatible. + INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE = 4; + + // Cannot link duplicate asset sets to the same campaign. + DUPLICATE_ASSET_SET_LINK = 5; + + // Cannot remove the asset set link. If a campaign is linked with only one + // asset set and you attempt to unlink them, this error will be triggered. + ASSET_SET_LINK_CANNOT_BE_REMOVED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/authentication_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/authentication_error.proto new file mode 100644 index 00000000..0d686b27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/authentication_error.proto @@ -0,0 +1,103 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthenticationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing authentication errors. + +// Container for enum describing possible authentication errors. +message AuthenticationErrorEnum { + // Enum describing possible authentication errors. + enum AuthenticationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Authentication of the request failed. + AUTHENTICATION_ERROR = 2; + + // Client Customer ID is not a number. + CLIENT_CUSTOMER_ID_INVALID = 5; + + // No customer found for the provided customer ID. + CUSTOMER_NOT_FOUND = 8; + + // Client's Google Account is deleted. + GOOGLE_ACCOUNT_DELETED = 9; + + // Google account login token in the cookie is invalid. + GOOGLE_ACCOUNT_COOKIE_INVALID = 10; + + // A problem occurred during Google account authentication. + GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25; + + // The user in the Google account login token does not match the user ID in + // the cookie. + GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12; + + // Login cookie is required for authentication. + LOGIN_COOKIE_REQUIRED = 13; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/authorization_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/authorization_error.proto new file mode 100644 index 00000000..2b705b52 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/authorization_error.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing authorization errors. + +// Container for enum describing possible authorization errors. +message AuthorizationErrorEnum { + // Enum describing possible authorization errors. + enum AuthorizationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User doesn't have permission to access customer. Note: If you're + // accessing a client customer, the manager's customer ID must be set in the + // `login-customer-id` header. Learn more at + // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid + USER_PERMISSION_DENIED = 2; + + // The developer token is not on the allow-list. + DEVELOPER_TOKEN_NOT_ON_ALLOWLIST = 13; + + // The developer token is not allowed with the project sent in the request. + DEVELOPER_TOKEN_PROHIBITED = 4; + + // The Google Cloud project sent in the request does not have permission to + // access the api. + PROJECT_DISABLED = 5; + + // Authorization of the client failed. + AUTHORIZATION_ERROR = 6; + + // The user does not have permission to perform this action + // (e.g., ADD, UPDATE, REMOVE) on the resource or call a method. + ACTION_NOT_PERMITTED = 7; + + // Signup not complete. + INCOMPLETE_SIGNUP = 8; + + // The customer can't be used because it isn't enabled. + 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 not approved. Non-approved developer tokens can + // only be used with test accounts. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/batch_job_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/batch_job_error.proto new file mode 100644 index 00000000..59a8da2b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/batch_job_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing batch job errors. + +// Container for enum describing possible batch job errors. +message BatchJobErrorEnum { + // Enum describing possible request errors. + enum BatchJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The batch job cannot add more operations or run after it has started + // running. + CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING = 2; + + // The operations for an AddBatchJobOperations request were empty. + EMPTY_OPERATIONS = 3; + + // The sequence token for an AddBatchJobOperations request was invalid. + INVALID_SEQUENCE_TOKEN = 4; + + // Batch job results can only be retrieved once the job is finished. + RESULTS_NOT_READY = 5; + + // The page size for ListBatchJobResults was invalid. + INVALID_PAGE_SIZE = 6; + + // The batch job cannot be removed because it has started running. + CAN_ONLY_REMOVE_PENDING_JOB = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/bidding_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/bidding_error.proto new file mode 100644 index 00000000..774d26db --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/bidding_error.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing bidding errors. + +// Container for enum describing possible bidding errors. +message BiddingErrorEnum { + // Enum describing possible bidding errors. + enum BiddingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot transition to new bidding strategy. + BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2; + + // Cannot attach bidding strategy to campaign. + CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7; + + // Bidding strategy is not supported or cannot be used as anonymous. + INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10; + + // The type does not match the named strategy's type. + INVALID_BIDDING_STRATEGY_TYPE = 14; + + // The bid is invalid. + INVALID_BID = 17; + + // Bidding strategy is not available for the account type. + BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; + + // Conversion tracking is not enabled in the campaign that has value-based + // bidding transitions. + CONVERSION_TRACKING_NOT_ENABLED = 19; + + // Not enough conversions tracked for value-based bidding transitions. + NOT_ENOUGH_CONVERSIONS = 20; + + // 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; + + // The field is not compatible with the budget type. + NOT_COMPATIBLE_WITH_BUDGET_TYPE = 35; + + // The field is not compatible with the bidding strategy type. + NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE = 36; + + // Bidding strategy type is incompatible with shared budget. + BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET = 37; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/bidding_strategy_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/bidding_strategy_error.proto new file mode 100644 index 00000000..15136515 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/bidding_strategy_error.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing bidding strategy errors. + +// Container for enum describing possible bidding strategy errors. +message BiddingStrategyErrorEnum { + // Enum describing possible bidding strategy errors. + enum BiddingStrategyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Each bidding strategy must have a unique name. + DUPLICATE_NAME = 2; + + // Bidding strategy type is immutable. + CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3; + + // Only bidding strategies not linked to campaigns, adgroups or adgroup + // criteria can be removed. + CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4; + + // The specified bidding strategy is not supported. + BIDDING_STRATEGY_NOT_SUPPORTED = 5; + + // The bidding strategy is incompatible with the campaign's bidding + // strategy goal type. + INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/billing_setup_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/billing_setup_error.proto new file mode 100644 index 00000000..d26cc4c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/billing_setup_error.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing billing setup errors. + +// Container for enum describing possible billing setup errors. +message BillingSetupErrorEnum { + // Enum describing possible billing setup errors. + enum BillingSetupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot specify both an existing payments account and a new payments + // account when setting up billing. + CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2; + + // Cannot cancel an approved billing setup whose start time has passed. + CANNOT_REMOVE_STARTED_BILLING_SETUP = 3; + + // Cannot perform a Change of Bill-To (CBT) to the same payments account. + CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4; + + // Billing setups can only be used by customers with ENABLED or DRAFT + // status. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5; + + // Billing setups must either include a correctly formatted existing + // payments account id, or a non-empty new payments account name. + INVALID_PAYMENTS_ACCOUNT = 6; + + // Only billable and third-party customers can create billing setups. + BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7; + + // Billing setup creations can only use NOW for start time type. + INVALID_START_TIME_TYPE = 8; + + // Billing setups can only be created for a third-party customer if they do + // not already have a setup. + THIRD_PARTY_ALREADY_HAS_BILLING = 9; + + // Billing setups cannot be created if there is already a pending billing in + // progress. + BILLING_SETUP_IN_PROGRESS = 10; + + // Billing setups can only be created by customers who have permission to + // setup billings. Users can contact a representative for help setting up + // permissions. + NO_SIGNUP_PERMISSION = 11; + + // Billing setups cannot be created if there is already a future-approved + // billing. + CHANGE_OF_BILL_TO_IN_PROGRESS = 12; + + // Requested payments profile not found. + PAYMENTS_PROFILE_NOT_FOUND = 13; + + // Requested payments account not found. + PAYMENTS_ACCOUNT_NOT_FOUND = 14; + + // Billing setup creation failed because the payments profile is ineligible. + PAYMENTS_PROFILE_INELIGIBLE = 15; + + // Billing setup creation failed because the payments account is ineligible. + PAYMENTS_ACCOUNT_INELIGIBLE = 16; + + // Billing setup creation failed because the payments profile needs internal + // approval. + CUSTOMER_NEEDS_INTERNAL_APPROVAL = 17; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_budget_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_budget_error.proto new file mode 100644 index 00000000..53544091 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_budget_error.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign budget errors. + +// Container for enum describing possible campaign budget errors. +message CampaignBudgetErrorEnum { + // Enum describing possible campaign budget errors. + enum CampaignBudgetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign budget cannot be shared. + CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17; + + // The requested campaign budget no longer exists. + CAMPAIGN_BUDGET_REMOVED = 2; + + // The campaign budget is associated with at least one campaign, and so the + // campaign budget cannot be removed. + CAMPAIGN_BUDGET_IN_USE = 3; + + // Customer is not on the allow-list for this campaign budget period. + CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; + + // This field is not mutable on implicitly shared campaign budgets + CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6; + + // Cannot change explicitly shared campaign budgets back to implicitly + // shared ones. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7; + + // An implicit campaign budget without a name cannot be changed to + // explicitly shared campaign budget. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8; + + // Cannot change an implicitly shared campaign budget to an explicitly + // shared one. + CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9; + + // Only explicitly shared campaign budgets can be used with multiple + // campaigns. + CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10; + + // A campaign budget with this name already exists. + DUPLICATE_NAME = 11; + + // A money amount was not in the expected currency. + MONEY_AMOUNT_IN_WRONG_CURRENCY = 12; + + // A money amount was less than the minimum CPC for currency. + MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13; + + // A money amount was greater than the maximum allowed. + MONEY_AMOUNT_TOO_LARGE = 14; + + // A money amount was negative. + NEGATIVE_MONEY_AMOUNT = 15; + + // A money amount was not a multiple of a minimum unit. + NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16; + + // Total budget amount must be unset when BudgetPeriod is DAILY. + TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY = 18; + + // The period of the budget is not allowed. + INVALID_PERIOD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_criterion_error.proto new file mode 100644 index 00000000..4bdeb76c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_criterion_error.proto @@ -0,0 +1,99 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign criterion errors. + +// Container for enum describing possible campaign criterion errors. +message CampaignCriterionErrorEnum { + // Enum describing possible campaign criterion errors. + enum CampaignCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion (keyword v.s. placement) is required for + // CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 3; + + // Criteria type can not be excluded for the campaign by the customer. like + // AOL account type cannot target site type criteria + CANNOT_EXCLUDE_CRITERIA_TYPE = 4; + + // Cannot set the campaign criterion status for this criteria type. + CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5; + + // Cannot set the campaign criterion status for an excluded criteria. + CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6; + + // Cannot target and exclude the same criterion. + CANNOT_TARGET_AND_EXCLUDE = 7; + + // The mutate contained too many operations. + TOO_MANY_OPERATIONS = 8; + + // This operator cannot be applied to a criterion of this type. + OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9; + + // The Shopping campaign sales country is not supported for + // ProductSalesChannel targeting. + SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10; + + // The existing field can't be updated with CREATE operation. It can be + // updated with UPDATE operation only. + CANNOT_ADD_EXISTING_FIELD = 11; + + // Negative criteria are immutable, so updates are not allowed. + CANNOT_UPDATE_NEGATIVE_CRITERION = 12; + + // Only free form names are allowed for negative Smart campaign keyword + // theme. + CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION = 13; + + // Invalid Smart campaign keyword theme constant criterion. + INVALID_KEYWORD_THEME_CONSTANT = 14; + + // A Smart campaign keyword theme constant or free-form Smart campaign + // keyword theme is required. + MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME = 15; + + // A Smart campaign may not target proximity and location criteria + // simultaneously. + CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN = 16; + + // A Smart campaign may not target multiple proximity criteria. + CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_customizer_error.proto new file mode 100644 index 00000000..99dc8e25 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_customizer_error.proto @@ -0,0 +1,44 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign customizer errors. + +// Container for enum describing possible campaign customizer errors. +message CampaignCustomizerErrorEnum { + // Enum describing possible campaign customizer errors. + enum CampaignCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_draft_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_draft_error.proto new file mode 100644 index 00000000..1f97e172 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_draft_error.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign draft errors. + +// Container for enum describing possible campaign draft errors. +message CampaignDraftErrorEnum { + // Enum describing possible campaign draft errors. + enum CampaignDraftError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A draft with this name already exists for this campaign. + DUPLICATE_DRAFT_NAME = 2; + + // The draft is removed and cannot be transitioned to another status. + INVALID_STATUS_TRANSITION_FROM_REMOVED = 3; + + // The draft has been promoted and cannot be transitioned to the specified + // status. + INVALID_STATUS_TRANSITION_FROM_PROMOTED = 4; + + // The draft has failed to be promoted and cannot be transitioned to the + // specified status. + INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED = 5; + + // This customer is not allowed to create drafts. + CUSTOMER_CANNOT_CREATE_DRAFT = 6; + + // This campaign is not allowed to create drafts. + CAMPAIGN_CANNOT_CREATE_DRAFT = 7; + + // This modification cannot be made on a draft. + INVALID_DRAFT_CHANGE = 8; + + // The draft cannot be transitioned to the specified status from its + // current status. + INVALID_STATUS_TRANSITION = 9; + + // The campaign has reached the maximum number of drafts that can be created + // for a campaign throughout its lifetime. No additional drafts can be + // created for this campaign. Removed drafts also count towards this limit. + MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED = 10; + + // ListAsyncErrors was called without first promoting the draft. + LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_error.proto new file mode 100644 index 00000000..2a55f028 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_error.proto @@ -0,0 +1,201 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign errors. + +// Container for enum describing possible campaign errors. +message CampaignErrorEnum { + // Enum describing possible campaign errors. + enum CampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot target content network. + CANNOT_TARGET_CONTENT_NETWORK = 3; + + // Cannot target search network. + CANNOT_TARGET_SEARCH_NETWORK = 4; + + // Cannot cover search network without google search network. + CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5; + + // Cannot target Google Search network for a CPM campaign. + CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6; + + // Must target at least one network. + CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7; + + // Only some Google partners are allowed to target partner search network. + CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8; + + // Cannot target content network only as campaign has criteria-level bidding + // strategy. + CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9; + + // Cannot modify the start or end date such that the campaign duration would + // not contain the durations of all runnable trials. + CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10; + + // Cannot modify dates, budget or status of a trial campaign. + CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11; + + // Trying to modify the name of an active or paused campaign, where the name + // is already assigned to another active or paused campaign. + DUPLICATE_CAMPAIGN_NAME = 12; + + // Two fields are in conflicting modes. + INCOMPATIBLE_CAMPAIGN_FIELD = 13; + + // Campaign name cannot be used. + INVALID_CAMPAIGN_NAME = 14; + + // Given status is invalid. + INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15; + + // Error in the campaign level tracking URL. + INVALID_TRACKING_URL = 16; + + // Cannot set both tracking URL template and tracking setting. A user has + // to clear legacy tracking setting in order to add tracking URL template. + CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17; + + // The maximum number of impressions for Frequency Cap should be an integer + // greater than 0. + MAX_IMPRESSIONS_NOT_IN_RANGE = 18; + + // Only the Day, Week and Month time units are supported. + TIME_UNIT_NOT_SUPPORTED = 19; + + // Operation not allowed on a campaign whose serving status has ended + INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20; + + // This budget is exclusively linked to a Campaign that is using experiments + // so it cannot be shared. + BUDGET_CANNOT_BE_SHARED = 21; + + // Campaigns using experiments cannot use a shared budget. + CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22; + + // A different budget cannot be assigned to a campaign when there are + // running or scheduled trials. + CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23; + + // No link found between the campaign and the label. + CAMPAIGN_LABEL_DOES_NOT_EXIST = 24; + + // The label has already been attached to the campaign. + CAMPAIGN_LABEL_ALREADY_EXISTS = 25; + + // A ShoppingSetting was not found when creating a shopping campaign. + MISSING_SHOPPING_SETTING = 26; + + // The country in shopping setting is not an allowed country. + INVALID_SHOPPING_SALES_COUNTRY = 27; + + // The requested channel type is not available according to the customer's + // account setting. + ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31; + + // The AdvertisingChannelSubType is not a valid subtype of the primary + // channel type. + INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32; + + // At least one conversion must be selected. + AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33; + + // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode + // at campaign is deprecated. + CANNOT_SET_AD_ROTATION_MODE = 34; + + // Trying to change start date on a campaign that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35; + + // Trying to modify a date into the past. + CANNOT_SET_DATE_TO_PAST = 36; + + // Hotel center id in the hotel setting does not match any customer links. + MISSING_HOTEL_CUSTOMER_LINK = 37; + + // Hotel center id in the hotel setting must match an active customer link. + INVALID_HOTEL_CUSTOMER_LINK = 38; + + // Hotel setting was not found when creating a hotel ads campaign. + MISSING_HOTEL_SETTING = 39; + + // A Campaign cannot use shared campaign budgets and be part of a campaign + // group. + CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40; + + // The app ID was not found. + APP_NOT_FOUND = 41; + + // Campaign.shopping_setting.enable_local is not supported for the specified + // campaign type. + SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 42; + + // The merchant does not support the creation of campaigns for Shopping + // Comparison Listing Ads. + MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS = 43; + + // The App campaign for engagement cannot be created because there aren't + // enough installs. + INSUFFICIENT_APP_INSTALLS_COUNT = 44; + + // The App campaign for engagement cannot be created because the app is + // sensitive. + SENSITIVE_CATEGORY_APP = 45; + + // Customers with Housing, Employment, or Credit ads must accept updated + // personalized ads policy to continue creating campaigns. + HEC_AGREEMENT_REQUIRED = 46; + + // The field is not compatible with view through conversion optimization. + NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION = 49; + + // The field type cannot be excluded because an active campaign-asset link + // of this type exists. + INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE = 48; + + // The app pre-registration campaign cannot be created for non-Android + // applications. + CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP = 50; + + // The campaign cannot be created since the app is not available for + // pre-registration in any country. + APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN = 51; + + // The type of the Budget is not compatible with this Campaign. + INCOMPATIBLE_BUDGET_TYPE = 52; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_experiment_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_experiment_error.proto new file mode 100644 index 00000000..f5f6e70e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_experiment_error.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign experiment errors. + +// Container for enum describing possible campaign experiment errors. +message CampaignExperimentErrorEnum { + // Enum describing possible campaign experiment errors. + enum CampaignExperimentError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active campaign or experiment with this name already exists. + DUPLICATE_NAME = 2; + + // Experiment cannot be updated from the current state to the + // requested target state. For example, an experiment can only graduate + // if its status is ENABLED. + INVALID_TRANSITION = 3; + + // Cannot create an experiment from a campaign using an explicitly shared + // budget. + CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET = 4; + + // Cannot create an experiment for a removed base campaign. + CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN = 5; + + // Cannot create an experiment from a draft, which has a status other than + // proposed. + CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT = 6; + + // This customer is not allowed to create an experiment. + CUSTOMER_CANNOT_CREATE_EXPERIMENT = 7; + + // This campaign is not allowed to create an experiment. + CAMPAIGN_CANNOT_CREATE_EXPERIMENT = 8; + + // Trying to set an experiment duration which overlaps with another + // experiment. + EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP = 9; + + // All non-removed experiments must start and end within their campaign's + // duration. + EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION = 10; + + // The experiment cannot be modified because its status is in a terminal + // state, such as REMOVED. + CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_feed_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_feed_error.proto new file mode 100644 index 00000000..1b0a1f94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_feed_error.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign feed errors. + +// Container for enum describing possible campaign feed errors. +message CampaignFeedErrorEnum { + // Enum describing possible campaign feed errors. + enum CampaignFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this campaign and placeholder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 4; + + // The CampaignFeed already exists. UPDATE should be used to modify the + // existing CampaignFeed. + CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5; + + // Cannot update removed campaign feed. + CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 7; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8; + + // Location CampaignFeeds cannot be created unless there is a location + // CustomerFeed for the specified feed. + NO_EXISTING_LOCATION_CUSTOMER_FEED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/campaign_shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_shared_set_error.proto new file mode 100644 index 00000000..d0e53f33 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/campaign_shared_set_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing campaign shared set errors. + +// Container for enum describing possible campaign shared set errors. +message CampaignSharedSetErrorEnum { + // Enum describing possible campaign shared set errors. + enum CampaignSharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The shared set belongs to another customer and permission isn't granted. + SHARED_SET_ACCESS_DENIED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/change_event_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/change_event_error.proto new file mode 100644 index 00000000..077a77df --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/change_event_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing change event errors. + +// Container for enum describing possible change event errors. +message ChangeEventErrorEnum { + // Enum describing possible change event errors. + enum ChangeEventError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. It cannot be older than 30 days. + START_DATE_TOO_OLD = 2; + + // The change_event search request must specify a finite range filter + // on change_date_time. + CHANGE_DATE_RANGE_INFINITE = 3; + + // The change event search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 4; + + // The change_event search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 5; + + // The LIMIT specified by change_event request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/change_status_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/change_status_error.proto new file mode 100644 index 00000000..7fc45a2e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/change_status_error.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing change status errors. + +// Container for enum describing possible change status errors. +message ChangeStatusErrorEnum { + // Enum describing possible change status errors. + enum ChangeStatusError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The requested start date is too old. + START_DATE_TOO_OLD = 3; + + // The change_status search request must specify a finite range filter + // on last_change_date_time. + CHANGE_DATE_RANGE_INFINITE = 4; + + // The change status search request has specified invalid date time filters + // that can never logically produce any valid results (for example, start + // time after end time). + CHANGE_DATE_RANGE_NEGATIVE = 5; + + // The change_status search request must specify a LIMIT. + LIMIT_NOT_SPECIFIED = 6; + + // The LIMIT specified by change_status request should be less than or equal + // to 10K. + INVALID_LIMIT_CLAUSE = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/collection_size_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/collection_size_error.proto new file mode 100644 index 00000000..18002b75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/collection_size_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CollectionSizeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing collection size errors. + +// Container for enum describing possible collection size errors. +message CollectionSizeErrorEnum { + // Enum describing possible collection size errors. + enum CollectionSizeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too few. + TOO_FEW = 2; + + // Too many. + TOO_MANY = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/context_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/context_error.proto new file mode 100644 index 00000000..e6bd6245 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/context_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ContextErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing context errors. + +// Container for enum describing possible context errors. +message ContextErrorEnum { + // Enum describing possible context errors. + enum ContextError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The operation is not allowed for the given context. + OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2; + + // The operation is not allowed for removed resources. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/conversion_action_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_action_error.proto new file mode 100644 index 00000000..ebe23fcb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_action_error.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing conversion action errors. + +// Container for enum describing possible conversion action errors. +message ConversionActionErrorEnum { + // Enum describing possible conversion action errors. + enum ConversionActionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action name already exists. + DUPLICATE_NAME = 2; + + // Another conversion action with the specified app id already exists. + DUPLICATE_APP_ID = 3; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4; + + // Android first open action conflicts with Google play codeless download + // action tracking the same app. + BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5; + + // The attribution model cannot be set to DATA_DRIVEN because a data-driven + // model has never been generated. + DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is expired. + DATA_DRIVEN_MODEL_EXPIRED = 7; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is stale. + DATA_DRIVEN_MODEL_STALE = 8; + + // The attribution model cannot be set to DATA_DRIVEN because the + // data-driven model is unavailable or the conversion action was newly + // added. + DATA_DRIVEN_MODEL_UNKNOWN = 9; + + // Creation of this conversion action type isn't supported by Google + // Ads API. + CREATION_NOT_SUPPORTED = 10; + + // Update of this conversion action isn't supported by Google Ads API. + UPDATE_NOT_SUPPORTED = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/conversion_adjustment_upload_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_adjustment_upload_error.proto new file mode 100644 index 00000000..d923c4dc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_adjustment_upload_error.proto @@ -0,0 +1,122 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified conversion action was created too recently. + // Please try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 2; + + // No conversion action of a supported ConversionActionType that matches the + // provided information can be found for the customer. + INVALID_CONVERSION_ACTION = 3; + + // A retraction was already reported for this conversion. + CONVERSION_ALREADY_RETRACTED = 4; + + // A conversion for the supplied combination of conversion + // action and conversion identifier could not be found. + CONVERSION_NOT_FOUND = 5; + + // The specified conversion has already expired. Conversions expire after 55 + // days, after which adjustments cannot be reported against them. + CONVERSION_EXPIRED = 6; + + // The supplied adjustment date time precedes that of the original + // conversion. + ADJUSTMENT_PRECEDES_CONVERSION = 7; + + // A restatement with a more recent adjustment date time was already + // reported for this conversion. + MORE_RECENT_RESTATEMENT_FOUND = 8; + + // The conversion was created too recently. + TOO_RECENT_CONVERSION = 9; + + // Restatements cannot be reported for a conversion action that always uses + // the default value. + CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE = 10; + + // The request contained more than 2000 adjustments. + TOO_MANY_ADJUSTMENTS_IN_REQUEST = 11; + + // The conversion has been adjusted too many times. + TOO_MANY_ADJUSTMENTS = 12; + + // A restatement with this timestamp already exists for this conversion. To + // upload another adjustment, please use a different timestamp. + RESTATEMENT_ALREADY_EXISTS = 13; + + // This adjustment has the same timestamp as another adjustment in the + // request for this conversion. To upload another adjustment, please use a + // different timestamp. + DUPLICATE_ADJUSTMENT_IN_REQUEST = 14; + + // The customer has not accepted the customer data terms in the conversion + // settings page. + CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 15; + + // The enhanced conversion settings of the conversion action supplied is + // not eligible for enhancements. + CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT = 16; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 17; + + // The provided user identifier is not supported. + // ConversionAdjustmentUploadService only supports hashed_email, + // hashed_phone_number, and address_info. + UNSUPPORTED_USER_IDENTIFIER = 18; + + // Cannot set both gclid_date_time_pair and order_id. + GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET = 20; + + // An enhancement with this conversion action and order_id already exists + // for this conversion. + CONVERSION_ALREADY_ENHANCED = 21; + + // This enhancement has the same conversion action and order_id as + // another enhancement in the request. + DUPLICATE_ENHANCEMENT_IN_REQUEST = 22; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/conversion_custom_variable_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_custom_variable_error.proto new file mode 100644 index 00000000..a8a4cb96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_custom_variable_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing conversion custom variable errors. + +// Container for enum describing possible conversion custom variable errors. +message ConversionCustomVariableErrorEnum { + // Enum describing possible conversion custom variable errors. + enum ConversionCustomVariableError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A conversion custom variable with the specified name already exists. + DUPLICATE_NAME = 2; + + // A conversion custom variable with the specified tag already exists. + DUPLICATE_TAG = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/conversion_upload_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_upload_error.proto new file mode 100644 index 00000000..06ab12c0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_upload_error.proto @@ -0,0 +1,202 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::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; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The request contained more than 2000 conversions. + TOO_MANY_CONVERSIONS_IN_REQUEST = 2; + + // The specified gclid could not be decoded. + UNPARSEABLE_GCLID = 3; + + // The specified conversion_date_time is before the event time + // associated with the given identifier or iOS URL parameter. + CONVERSION_PRECEDES_EVENT = 42; + + // The click associated with the given identifier or iOS URL parameter is + // either too old to be imported or occurred outside of the click through + // lookback window for the specified conversion action. + EXPIRED_EVENT = 43; + + // The click associated with the given identifier or iOS URL parameter + // occurred too recently. Please try uploading again after 6 hours have + // passed since the click occurred. + TOO_RECENT_EVENT = 44; + + // The click associated with the given identifier or iOS URL parameter could + // not be found in the system. This can happen if the identifier or iOS URL + // parameter are collected for non Google Ads clicks. + EVENT_NOT_FOUND = 45; + + // The click associated with the given identifier or iOS URL parameter is + // owned by a customer account that the uploading customer does not manage. + UNAUTHORIZED_CUSTOMER = 8; + + // No upload eligible conversion action that matches the provided + // information can be found for the customer. + INVALID_CONVERSION_ACTION = 9; + + // The specified conversion action was created too recently. + // Please try the upload again after 4-6 hours have passed since the + // conversion action was created. + TOO_RECENT_CONVERSION_ACTION = 10; + + // The click associated with the given identifier does not contain + // conversion tracking information. + CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME = 11; + + // The specified conversion action does not use an external attribution + // model, but external_attribution_data was set. + EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 12; + + // The specified conversion action uses an external attribution model, but + // external_attribution_data or one of its contained fields was not set. + // Both external_attribution_credit and external_attribution_model must be + // set for externally attributed conversion actions. + EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 13; + + // Order IDs are not supported for conversion actions which use an external + // attribution model. + ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION = 14; + + // A conversion with the same order id and conversion action combination + // already exists in our system. + ORDER_ID_ALREADY_IN_USE = 15; + + // The request contained two or more conversions with the same order id and + // conversion action combination. + DUPLICATE_ORDER_ID = 16; + + // The call occurred too recently. Please try uploading again after 12 hours + // have passed since the call occurred. + TOO_RECENT_CALL = 17; + + // The click that initiated the call is too old for this conversion to be + // imported. + EXPIRED_CALL = 18; + + // The call or the click leading to the call was not found. + CALL_NOT_FOUND = 19; + + // The specified conversion_date_time is before the call_start_date_time. + CONVERSION_PRECEDES_CALL = 20; + + // The click associated with the call does not contain conversion tracking + // information. + CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME = 21; + + // The caller’s phone number cannot be parsed. It should be formatted either + // as E.164 "+16502531234", International "+64 3-331 6005" or US national + // number "6502531234". + UNPARSEABLE_CALLERS_PHONE_NUMBER = 22; + + // A conversion with this timestamp already exists for this click. To upload + // another conversion, please use a different timestamp. + CLICK_CONVERSION_ALREADY_EXISTS = 23; + + // A conversion with this timestamp already exists for this call. To upload + // another conversion, please use a different timestamp. + CALL_CONVERSION_ALREADY_EXISTS = 24; + + // This conversion has the same click and timestamp as another conversion in + // the request. To upload another conversion for this click, please use a + // different timestamp. + DUPLICATE_CLICK_CONVERSION_IN_REQUEST = 25; + + // This conversion has the same call and timestamp as another conversion in + // the request. To upload another conversion for this call, please use a + // different timestamp. + DUPLICATE_CALL_CONVERSION_IN_REQUEST = 26; + + // The custom variable is not enabled. + CUSTOM_VARIABLE_NOT_ENABLED = 28; + + // The value of the custom variable contains private customer data, such + // as email addresses or phone numbers. + CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 29; + + // The click associated with the given identifier or iOS URL parameter isn't + // from the account where conversion tracking is set up. + INVALID_CUSTOMER_FOR_CLICK = 30; + + // The click associated with the given call isn't from the account where + // conversion tracking is set up. + INVALID_CUSTOMER_FOR_CALL = 31; + + // The conversion can't be uploaded because the conversion source didn't + // comply with the App Tracking Transparency (ATT) policy or the person who + // converted didn't consent to tracking. + CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY = 32; + + // No click was found for the provided user identifiers that could be + // applied to the specified conversion action. + CLICK_NOT_FOUND = 33; + + // The provided user identifier is not a SHA-256 hash. It is either unhashed + // or hashed using a different hash function. + INVALID_USER_IDENTIFIER = 34; + + // Conversion actions which use an external attribution model cannot be used + // with UserIdentifier. + EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER = 35; + + // The provided user identifier is not supported. ConversionUploadService + // only supports hashed_email and hashed_phone_number. + UNSUPPORTED_USER_IDENTIFIER = 36; + + // gbraid and wbraid are both set in the request. Only one is allowed. + GBRAID_WBRAID_BOTH_SET = 38; + + // The specified wbraid could not be decoded. + UNPARSEABLE_WBRAID = 39; + + // The specified gbraid could not be decoded. + UNPARSEABLE_GBRAID = 40; + + // Conversion types which use an external attribution model cannot be used + // with gbraid or wbraid. + EXTERNALLY_ATTRIBUTED_CONVERSION_TYPE_NOT_PERMITTED_WITH_BRAID = 41; + + // Conversion actions which use the one-per-click counting type cannot be + // used with gbraid or wbraid. + ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 46; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_error.proto new file mode 100644 index 00000000..62aee928 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_error.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing conversion value rule errors. + +// Container for enum describing possible conversion value rule errors. +message ConversionValueRuleErrorEnum { + // Enum describing possible conversion value rule errors. + enum ConversionValueRuleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The value rule's geo location condition contains invalid geo target + // constant(s), i.e. 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/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_set_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_set_error.proto new file mode 100644 index 00000000..a4bcc9eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/conversion_value_rule_set_error.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing conversion value rule set errors. + +// Container for enum describing possible conversion value rule set errors. +message ConversionValueRuleSetErrorEnum { + // Enum describing possible conversion value rule set errors. + enum ConversionValueRuleSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Two value rules in this value rule set contain conflicting conditions. + CONFLICTING_VALUE_RULE_CONDITIONS = 2; + + // This value rule set includes a value rule that cannot be found, has been + // permanently removed or belongs to a different customer. + INVALID_VALUE_RULE = 3; + + // An error that's thrown when a mutate operation is trying to + // replace/remove some existing elements in the dimensions field. In other + // words, ADD op is always fine and UPDATE op is fine if it's only appending + // new elements into dimensions list. + DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND = 4; + + // An error that's thrown when a mutate is adding new value rule(s) into a + // value rule set and the added value rule(s) include conditions that are + // not specified in the dimensions of the value rule set. + CONDITION_TYPE_NOT_ALLOWED = 5; + + // The dimensions field contains duplicate elements. + DUPLICATE_DIMENSIONS = 6; + + // This value rule set is attached to an invalid campaign id. Either a + // campaign with this campaign id doesn't exist or it belongs to a different + // customer. + INVALID_CAMPAIGN_ID = 7; + + // When a mutate request tries to pause a value rule set, the enabled + // value rules in this set must be paused in the same command, or this error + // will be thrown. + CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED = 8; + + // When a mutate request tries to pause all the value rules in a value rule + // set, the value rule set must be paused, or this error will be thrown. + SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED = 9; + + // This value rule set is attached to a campaign that does not support value + // rules. Currently, campaign level value rule sets can only be created on + // Search, or Display campaigns. + VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/country_code_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/country_code_error.proto new file mode 100644 index 00000000..f70dfbee --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/country_code_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CountryCodeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing country code errors. + +// Container for enum describing country code errors. +message CountryCodeErrorEnum { + // Enum describing country code errors. + enum CountryCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/criterion_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/criterion_error.proto new file mode 100644 index 00000000..2f0ee26a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/criterion_error.proto @@ -0,0 +1,456 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CriterionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing criterion errors. + +// Container for enum describing possible criterion errors. +message CriterionErrorEnum { + // Enum describing possible criterion errors. + enum CriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Concrete type of criterion is required for CREATE and UPDATE operations. + CONCRETE_TYPE_REQUIRED = 2; + + // The category requested for exclusion is invalid. + INVALID_EXCLUDED_CATEGORY = 3; + + // Invalid keyword criteria text. + INVALID_KEYWORD_TEXT = 4; + + // Keyword text should be less than 80 chars. + KEYWORD_TEXT_TOO_LONG = 5; + + // Keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 7; + + // Invalid placement URL. + INVALID_PLACEMENT_URL = 8; + + // Invalid user list criterion. + INVALID_USER_LIST = 9; + + // Invalid user interest criterion. + INVALID_USER_INTEREST = 10; + + // Placement URL has wrong format. + INVALID_FORMAT_FOR_PLACEMENT_URL = 11; + + // Placement URL is too long. + PLACEMENT_URL_IS_TOO_LONG = 12; + + // Indicates the URL contains an illegal character. + PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13; + + // Indicates the URL contains multiple comma separated URLs. + PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; + + // Indicates the domain is blocked. + PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; + + // Invalid topic path. + INVALID_TOPIC_PATH = 16; + + // The YouTube Channel Id is invalid. + INVALID_YOUTUBE_CHANNEL_ID = 17; + + // The YouTube Video Id is invalid. + INVALID_YOUTUBE_VIDEO_ID = 18; + + // Indicates the placement is a YouTube vertical channel, which is no longer + // supported. + YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19; + + // Indicates the placement is a YouTube demographic channel, which is no + // longer supported. + YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20; + + // YouTube urls are not supported in Placement criterion. Use YouTubeChannel + // and YouTubeVideo criterion instead. + YOUTUBE_URL_UNSUPPORTED = 21; + + // Criteria type can not be excluded by the customer, like AOL account type + // cannot target site type criteria. + CANNOT_EXCLUDE_CRITERIA_TYPE = 22; + + // Criteria type can not be targeted. + CANNOT_ADD_CRITERIA_TYPE = 23; + + // Not allowed to exclude similar user list. + CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26; + + // Not allowed to target a closed user list. + CANNOT_ADD_CLOSED_USER_LIST = 27; + + // Not allowed to add display only UserLists to search only campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28; + + // Not allowed to add display only UserLists to search plus campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29; + + // Not allowed to add display only UserLists to shopping campaigns. + CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30; + + // Not allowed to add User interests to search only campaigns. + CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31; + + // Not allowed to set bids for this criterion type in search campaigns + CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32; + + // Final URLs, URL Templates and CustomParameters cannot be set for the + // criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and + // MobileAppCategory in search campaigns and shopping campaigns. + CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33; + + // Invalid combined audience criterion. + INVALID_COMBINED_AUDIENCE = 122; + + // Invalid custom affinity criterion. + INVALID_CUSTOM_AFFINITY = 96; + + // Invalid custom intent criterion. + INVALID_CUSTOM_INTENT = 97; + + // Invalid custom audience criterion. + INVALID_CUSTOM_AUDIENCE = 121; + + // IP address is not valid. + INVALID_IP_ADDRESS = 34; + + // IP format is not valid. + INVALID_IP_FORMAT = 35; + + // Mobile application is not valid. + INVALID_MOBILE_APP = 36; + + // Mobile application category is not valid. + INVALID_MOBILE_APP_CATEGORY = 37; + + // The CriterionId does not exist or is of the incorrect type. + INVALID_CRITERION_ID = 38; + + // The Criterion is not allowed to be targeted. + CANNOT_TARGET_CRITERION = 39; + + // The criterion is not allowed to be targeted as it is deprecated. + CANNOT_TARGET_OBSOLETE_CRITERION = 40; + + // The CriterionId is not valid for the type. + CRITERION_ID_AND_TYPE_MISMATCH = 41; + + // Distance for the radius for the proximity criterion is invalid. + INVALID_PROXIMITY_RADIUS = 42; + + // Units for the distance for the radius for the proximity criterion is + // invalid. + INVALID_PROXIMITY_RADIUS_UNITS = 43; + + // Street address in the address is not valid. + INVALID_STREETADDRESS_LENGTH = 44; + + // City name in the address is not valid. + INVALID_CITYNAME_LENGTH = 45; + + // Region code in the address is not valid. + INVALID_REGIONCODE_LENGTH = 46; + + // Region name in the address is not valid. + INVALID_REGIONNAME_LENGTH = 47; + + // Postal code in the address is not valid. + INVALID_POSTALCODE_LENGTH = 48; + + // Country code in the address is not valid. + INVALID_COUNTRY_CODE = 49; + + // Latitude for the GeoPoint is not valid. + INVALID_LATITUDE = 50; + + // Longitude for the GeoPoint is not valid. + INVALID_LONGITUDE = 51; + + // The Proximity input is not valid. Both address and geoPoint cannot be + // null. + PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52; + + // The Proximity address cannot be geocoded to a valid lat/long. + INVALID_PROXIMITY_ADDRESS = 53; + + // User domain name is not valid. + INVALID_USER_DOMAIN_NAME = 54; + + // Length of serialized criterion parameter exceeded size limit. + CRITERION_PARAMETER_TOO_LONG = 55; + + // Time interval in the AdSchedule overlaps with another AdSchedule. + AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56; + + // AdSchedule time interval cannot span multiple days. + AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57; + + // AdSchedule time interval specified is invalid, endTime cannot be earlier + // than startTime. + AD_SCHEDULE_INVALID_TIME_INTERVAL = 58; + + // The number of AdSchedule entries in a day exceeds the limit. + AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59; + + // CriteriaId does not match the interval of the AdSchedule specified. + AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60; + + // Cannot set bid modifier for this criterion type. + CANNOT_BID_MODIFY_CRITERION_TYPE = 61; + + // Cannot bid modify criterion, since it is opted out of the campaign. + CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62; + + // Cannot set bid modifier for a negative criterion. + CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63; + + // Bid Modifier already exists. Use SET operation to update. + BID_MODIFIER_ALREADY_EXISTS = 64; + + // Feed Id is not allowed in these Location Groups. + FEED_ID_NOT_ALLOWED = 65; + + // The account may not use the requested criteria type. For example, some + // accounts are restricted to keywords only. + ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66; + + // The requested criteria type cannot be used with campaign or ad group + // bidding strategy. + CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67; + + // The Criterion is not allowed to be excluded. + CANNOT_EXCLUDE_CRITERION = 68; + + // The criterion is not allowed to be removed. For example, we cannot remove + // any of the device criterion. + CANNOT_REMOVE_CRITERION = 69; + + // Bidding categories do not form a valid path in the Shopping bidding + // category taxonomy. + INVALID_PRODUCT_BIDDING_CATEGORY = 76; + + // ShoppingSetting must be added to the campaign before ProductScope + // criteria can be added. + MISSING_SHOPPING_SETTING = 77; + + // Matching function is invalid. + INVALID_MATCHING_FUNCTION = 78; + + // Filter parameters not allowed for location groups targeting. + LOCATION_FILTER_NOT_ALLOWED = 79; + + // Feed not found, or the feed is not an enabled location feed. + INVALID_FEED_FOR_LOCATION_FILTER = 98; + + // Given location filter parameter is invalid for location groups targeting. + LOCATION_FILTER_INVALID = 80; + + // Cannot set geo target constants and feed item sets at the same time. + CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS = 123; + + // 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, e.g. 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 (e.g. 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. Please see + // https://ads-developers.googleblog.com/2021/06/broad-match-modifier-upcoming-changes.html. + BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED = 135; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/currency_code_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/currency_code_error.proto new file mode 100644 index 00000000..de4c5b30 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/currency_code_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyCodeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing currency code errors. + +// Container for enum describing possible currency code errors. +message CurrencyCodeErrorEnum { + // Enum describing possible currency code errors. + enum CurrencyCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The currency code is not supported. + UNSUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/custom_audience_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/custom_audience_error.proto new file mode 100644 index 00000000..1b0d8af3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/custom_audience_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing custom audience errors. + +// Container for enum describing possible custom audience errors. +message CustomAudienceErrorEnum { + // Enum describing possible custom audience errors. + enum CustomAudienceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // New name in the custom audience is duplicated ignoring cases. + NAME_ALREADY_USED = 2; + + // Cannot remove a custom audience while it's still being used as targeting. + CANNOT_REMOVE_WHILE_IN_USE = 3; + + // Cannot update or remove a custom audience that is already removed. + RESOURCE_ALREADY_REMOVED = 4; + + // The pair of [type, value] already exists in members. + MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Member type is invalid. + INVALID_MEMBER_TYPE = 6; + + // Member type does not have associated value. + MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH = 7; + + // Custom audience contains a member that violates policy. + POLICY_VIOLATION = 8; + + // Change in custom audience type is not allowed. + INVALID_TYPE_CHANGE = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/custom_conversion_goal_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/custom_conversion_goal_error.proto new file mode 100644 index 00000000..494307dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/custom_conversion_goal_error.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing CustomConversionGoal errors. + +// Container for enum describing possible custom conversion goal errors. +message CustomConversionGoalErrorEnum { + // Enum describing possible custom conversion goal errors. + enum CustomConversionGoalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot find a conversion action with the specified id. + INVALID_CONVERSION_ACTION = 2; + + // The conversion action is not enabled so it cannot be included in a custom + // conversion goal. + CONVERSION_ACTION_NOT_ENABLED = 3; + + // The custom conversion goal cannot be removed because it's linked to a + // campaign. + CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/custom_interest_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/custom_interest_error.proto new file mode 100644 index 00000000..3685c31e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/custom_interest_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing custom interest errors. + +// Container for enum describing possible custom interest errors. +message CustomInterestErrorEnum { + // Enum describing possible custom interest errors. + enum CustomInterestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate custom interest name ignoring case. + NAME_ALREADY_USED = 2; + + // In the remove custom interest member operation, both member ID and + // pair [type, parameter] are not present. + CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE = 3; + + // The pair of [type, parameter] does not exist. + TYPE_AND_PARAMETER_NOT_FOUND = 4; + + // The pair of [type, parameter] already exists. + TYPE_AND_PARAMETER_ALREADY_EXISTED = 5; + + // Unsupported custom interest member type. + INVALID_CUSTOM_INTEREST_MEMBER_TYPE = 6; + + // Cannot remove a custom interest while it's still being targeted. + CANNOT_REMOVE_WHILE_IN_USE = 7; + + // Cannot mutate custom interest type. + CANNOT_CHANGE_TYPE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_client_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_client_link_error.proto new file mode 100644 index 00000000..2afccc3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_client_link_error.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing CustomerClientLink errors. + +// Container for enum describing possible CustomeClientLink errors. +message CustomerClientLinkErrorEnum { + // Enum describing possible CustomerClientLink errors. + enum CustomerClientLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Trying to manage a client that already in being managed by customer. + CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2; + + // Already managed by some other manager in the hierarchy. + CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3; + + // Attempt to create a cycle in the hierarchy. + CYCLIC_LINK_NOT_ALLOWED = 4; + + // Managed accounts has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5; + + // Invitor has the maximum pending invitations. + CLIENT_HAS_TOO_MANY_INVITATIONS = 6; + + // Attempt to change hidden status of a link that is not active. + CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7; + + // Parent manager account has the maximum number of linked accounts. + CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8; + + // Client has too many managers. + CLIENT_HAS_TOO_MANY_MANAGERS = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_customizer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_customizer_error.proto new file mode 100644 index 00000000..6c9a94ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_customizer_error.proto @@ -0,0 +1,44 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing customer customizer errors. + +// Container for enum describing possible customer customizer errors. +message CustomerCustomizerErrorEnum { + // Enum describing possible customer customizer errors. + enum CustomerCustomizerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_error.proto new file mode 100644 index 00000000..07aa869d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Container for enum describing possible customer errors. +message CustomerErrorEnum { + // Set of errors that are related to requests dealing with Customer. + enum CustomerError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer status is not allowed to be changed from DRAFT and CLOSED. + // Currency code and at least one of country code and time zone needs to be + // set when status is changed to ENABLED. + STATUS_CHANGE_DISALLOWED = 2; + + // CustomerService cannot get a customer that has not been fully set up. + ACCOUNT_NOT_SET_UP = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_feed_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_feed_error.proto new file mode 100644 index 00000000..c8653b1d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_feed_error.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing customer feed errors. + +// Container for enum describing possible customer feed errors. +message CustomerFeedErrorEnum { + // Enum describing possible customer feed errors. + enum CustomerFeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An active feed already exists for this customer and place holder type. + FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2; + + // The specified feed is removed. + CANNOT_CREATE_FOR_REMOVED_FEED = 3; + + // The CustomerFeed already exists. Update should be used to modify the + // existing CustomerFeed. + CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4; + + // Cannot update removed customer feed. + CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5; + + // Invalid placeholder type. + INVALID_PLACEHOLDER_TYPE = 6; + + // Feed mapping for this placeholder type does not exist. + MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7; + + // Placeholder not allowed at the account level. + PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_manager_link_error.proto new file mode 100644 index 00000000..8c623eef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_manager_link_error.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing CustomerManagerLink errors. + +// Container for enum describing possible CustomerManagerLink errors. +message CustomerManagerLinkErrorEnum { + // Enum describing possible CustomerManagerLink errors. + enum CustomerManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // No pending invitation. + NO_PENDING_INVITE = 2; + + // Attempt to operate on the same client more than once in the same call. + SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3; + + // Manager account has the maximum number of linked accounts. + MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4; + + // If no active user on account it cannot be unlinked from its manager. + CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5; + + // Account should have at least one active owner on it before being + // unlinked. + CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6; + + // Only account owners may change their permission role. + CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7; + + // When a client's link to its manager is not active, the link role cannot + // be changed. + CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8; + + // Attempt to link a child to a parent that contains or will contain + // duplicate children. + DUPLICATE_CHILD_FOUND = 9; + + // The authorized customer is a test account. It can add no more than the + // allowed number of accounts + TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customer_user_access_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customer_user_access_error.proto new file mode 100644 index 00000000..e98de297 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customer_user_access_error.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing CustomerUserAccess errors. + +// Container for enum describing possible CustomerUserAccess errors. +message CustomerUserAccessErrorEnum { + // Enum describing possible customer user access errors. + enum CustomerUserAccessError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There is no user associated with the user id specified. + INVALID_USER_ID = 2; + + // Unable to remove the access between the user and customer. + REMOVAL_DISALLOWED = 3; + + // Unable to add or update the access role as specified. + DISALLOWED_ACCESS_ROLE = 4; + + // The user can't remove itself from an active serving customer if it's the + // last admin user and the customer doesn't have any owner manager + LAST_ADMIN_USER_OF_SERVING_CUSTOMER = 5; + + // Last admin user cannot be removed from a manager. + LAST_ADMIN_USER_OF_MANAGER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/customizer_attribute_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/customizer_attribute_error.proto new file mode 100644 index 00000000..1cd22f57 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/customizer_attribute_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing customizer attribute errors. + +// Container for enum describing possible customizer attribute errors. +message CustomizerAttributeErrorEnum { + // Enum describing possible customizer attribute errors. + enum CustomizerAttributeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // CustomizerAttribute name matches that of another active + // CustomizerAttribute. + DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/database_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/database_error.proto new file mode 100644 index 00000000..337871a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/database_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DatabaseErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing database errors. + +// Container for enum describing possible database errors. +message DatabaseErrorEnum { + // Enum describing possible database errors. + enum DatabaseError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiple requests were attempting to modify the same resource at once. + // Please 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. Please split the request into smaller + // requests. + REQUEST_TOO_LARGE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/date_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/date_error.proto new file mode 100644 index 00000000..b1264d54 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/date_error.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing date errors. + +// Container for enum describing possible date errors. +message DateErrorEnum { + // Enum describing possible date errors. + enum DateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Given field values do not correspond to a valid date. + INVALID_FIELD_VALUES_IN_DATE = 2; + + // Given field values do not correspond to a valid date time. + INVALID_FIELD_VALUES_IN_DATE_TIME = 3; + + // The string date's format should be yyyy-mm-dd. + INVALID_STRING_DATE = 4; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss. + INVALID_STRING_DATE_TIME_MICROS = 6; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss. + INVALID_STRING_DATE_TIME_SECONDS = 11; + + // The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm. + INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET = 12; + + // Date is before allowed minimum. + EARLIER_THAN_MINIMUM_DATE = 7; + + // Date is after allowed maximum. + LATER_THAN_MAXIMUM_DATE = 8; + + // Date range bounds are not in order. + DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9; + + // Both dates in range are null. + DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/date_range_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/date_range_error.proto new file mode 100644 index 00000000..62531e72 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/date_range_error.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DateRangeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing date range errors. + +// Container for enum describing possible date range errors. +message DateRangeErrorEnum { + // Enum describing possible date range errors. + enum DateRangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid date. + INVALID_DATE = 2; + + // The start date was after the end date. + START_DATE_AFTER_END_DATE = 3; + + // Cannot set date to past time + CANNOT_SET_DATE_TO_PAST = 4; + + // A date was used that is past the system "last" date. + AFTER_MAXIMUM_ALLOWABLE_DATE = 5; + + // Trying to change start date on a resource that has started. + CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/distinct_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/distinct_error.proto new file mode 100644 index 00000000..4daecc1c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/distinct_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "DistinctErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing distinct errors. + +// Container for enum describing possible distinct errors. +message DistinctErrorEnum { + // Enum describing possible distinct errors. + enum DistinctError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Duplicate element. + DUPLICATE_ELEMENT = 2; + + // Duplicate type. + DUPLICATE_TYPE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/enum_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/enum_error.proto new file mode 100644 index 00000000..0b3e17d3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/enum_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "EnumErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing enum errors. + +// Container for enum describing possible enum errors. +message EnumErrorEnum { + // Enum describing possible enum errors. + enum EnumError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The enum value is not permitted. + ENUM_VALUE_NOT_PERMITTED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/errors.proto b/google-cloud/protos/google/ads/googleads/v9/errors/errors.proto new file mode 100644 index 00000000..f72ebc94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/errors.proto @@ -0,0 +1,716 @@ +// 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.ads.googleads.v9.errors; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/common/value.proto"; +import "google/ads/googleads/v9/enums/resource_limit_type.proto"; +import "google/ads/googleads/v9/errors/access_invitation_error.proto"; +import "google/ads/googleads/v9/errors/account_budget_proposal_error.proto"; +import "google/ads/googleads/v9/errors/account_link_error.proto"; +import "google/ads/googleads/v9/errors/ad_customizer_error.proto"; +import "google/ads/googleads/v9/errors/ad_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_ad_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_bid_modifier_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_criterion_customizer_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_criterion_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_customizer_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_error.proto"; +import "google/ads/googleads/v9/errors/ad_group_feed_error.proto"; +import "google/ads/googleads/v9/errors/ad_parameter_error.proto"; +import "google/ads/googleads/v9/errors/ad_sharing_error.proto"; +import "google/ads/googleads/v9/errors/adx_error.proto"; +import "google/ads/googleads/v9/errors/asset_error.proto"; +import "google/ads/googleads/v9/errors/asset_group_asset_error.proto"; +import "google/ads/googleads/v9/errors/asset_group_error.proto"; +import "google/ads/googleads/v9/errors/asset_group_listing_group_filter_error.proto"; +import "google/ads/googleads/v9/errors/asset_link_error.proto"; +import "google/ads/googleads/v9/errors/asset_set_asset_error.proto"; +import "google/ads/googleads/v9/errors/asset_set_error.proto"; +import "google/ads/googleads/v9/errors/asset_set_link_error.proto"; +import "google/ads/googleads/v9/errors/authentication_error.proto"; +import "google/ads/googleads/v9/errors/authorization_error.proto"; +import "google/ads/googleads/v9/errors/batch_job_error.proto"; +import "google/ads/googleads/v9/errors/bidding_error.proto"; +import "google/ads/googleads/v9/errors/bidding_strategy_error.proto"; +import "google/ads/googleads/v9/errors/billing_setup_error.proto"; +import "google/ads/googleads/v9/errors/campaign_budget_error.proto"; +import "google/ads/googleads/v9/errors/campaign_criterion_error.proto"; +import "google/ads/googleads/v9/errors/campaign_customizer_error.proto"; +import "google/ads/googleads/v9/errors/campaign_draft_error.proto"; +import "google/ads/googleads/v9/errors/campaign_error.proto"; +import "google/ads/googleads/v9/errors/campaign_experiment_error.proto"; +import "google/ads/googleads/v9/errors/campaign_feed_error.proto"; +import "google/ads/googleads/v9/errors/campaign_shared_set_error.proto"; +import "google/ads/googleads/v9/errors/change_event_error.proto"; +import "google/ads/googleads/v9/errors/change_status_error.proto"; +import "google/ads/googleads/v9/errors/collection_size_error.proto"; +import "google/ads/googleads/v9/errors/context_error.proto"; +import "google/ads/googleads/v9/errors/conversion_action_error.proto"; +import "google/ads/googleads/v9/errors/conversion_adjustment_upload_error.proto"; +import "google/ads/googleads/v9/errors/conversion_custom_variable_error.proto"; +import "google/ads/googleads/v9/errors/conversion_upload_error.proto"; +import "google/ads/googleads/v9/errors/conversion_value_rule_error.proto"; +import "google/ads/googleads/v9/errors/conversion_value_rule_set_error.proto"; +import "google/ads/googleads/v9/errors/country_code_error.proto"; +import "google/ads/googleads/v9/errors/criterion_error.proto"; +import "google/ads/googleads/v9/errors/currency_code_error.proto"; +import "google/ads/googleads/v9/errors/custom_audience_error.proto"; +import "google/ads/googleads/v9/errors/custom_conversion_goal_error.proto"; +import "google/ads/googleads/v9/errors/custom_interest_error.proto"; +import "google/ads/googleads/v9/errors/customer_client_link_error.proto"; +import "google/ads/googleads/v9/errors/customer_customizer_error.proto"; +import "google/ads/googleads/v9/errors/customer_error.proto"; +import "google/ads/googleads/v9/errors/customer_feed_error.proto"; +import "google/ads/googleads/v9/errors/customer_manager_link_error.proto"; +import "google/ads/googleads/v9/errors/customer_user_access_error.proto"; +import "google/ads/googleads/v9/errors/customizer_attribute_error.proto"; +import "google/ads/googleads/v9/errors/database_error.proto"; +import "google/ads/googleads/v9/errors/date_error.proto"; +import "google/ads/googleads/v9/errors/date_range_error.proto"; +import "google/ads/googleads/v9/errors/distinct_error.proto"; +import "google/ads/googleads/v9/errors/enum_error.proto"; +import "google/ads/googleads/v9/errors/extension_feed_item_error.proto"; +import "google/ads/googleads/v9/errors/extension_setting_error.proto"; +import "google/ads/googleads/v9/errors/feed_attribute_reference_error.proto"; +import "google/ads/googleads/v9/errors/feed_error.proto"; +import "google/ads/googleads/v9/errors/feed_item_error.proto"; +import "google/ads/googleads/v9/errors/feed_item_set_error.proto"; +import "google/ads/googleads/v9/errors/feed_item_set_link_error.proto"; +import "google/ads/googleads/v9/errors/feed_item_target_error.proto"; +import "google/ads/googleads/v9/errors/feed_item_validation_error.proto"; +import "google/ads/googleads/v9/errors/feed_mapping_error.proto"; +import "google/ads/googleads/v9/errors/field_error.proto"; +import "google/ads/googleads/v9/errors/field_mask_error.proto"; +import "google/ads/googleads/v9/errors/function_error.proto"; +import "google/ads/googleads/v9/errors/function_parsing_error.proto"; +import "google/ads/googleads/v9/errors/geo_target_constant_suggestion_error.proto"; +import "google/ads/googleads/v9/errors/header_error.proto"; +import "google/ads/googleads/v9/errors/id_error.proto"; +import "google/ads/googleads/v9/errors/image_error.proto"; +import "google/ads/googleads/v9/errors/internal_error.proto"; +import "google/ads/googleads/v9/errors/invoice_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_ad_group_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_ad_group_keyword_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_campaign_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_campaign_keyword_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_error.proto"; +import "google/ads/googleads/v9/errors/keyword_plan_idea_error.proto"; +import "google/ads/googleads/v9/errors/label_error.proto"; +import "google/ads/googleads/v9/errors/language_code_error.proto"; +import "google/ads/googleads/v9/errors/list_operation_error.proto"; +import "google/ads/googleads/v9/errors/manager_link_error.proto"; +import "google/ads/googleads/v9/errors/media_bundle_error.proto"; +import "google/ads/googleads/v9/errors/media_file_error.proto"; +import "google/ads/googleads/v9/errors/media_upload_error.proto"; +import "google/ads/googleads/v9/errors/merchant_center_error.proto"; +import "google/ads/googleads/v9/errors/multiplier_error.proto"; +import "google/ads/googleads/v9/errors/mutate_error.proto"; +import "google/ads/googleads/v9/errors/new_resource_creation_error.proto"; +import "google/ads/googleads/v9/errors/not_allowlisted_error.proto"; +import "google/ads/googleads/v9/errors/not_empty_error.proto"; +import "google/ads/googleads/v9/errors/null_error.proto"; +import "google/ads/googleads/v9/errors/offline_user_data_job_error.proto"; +import "google/ads/googleads/v9/errors/operation_access_denied_error.proto"; +import "google/ads/googleads/v9/errors/operator_error.proto"; +import "google/ads/googleads/v9/errors/partial_failure_error.proto"; +import "google/ads/googleads/v9/errors/payments_account_error.proto"; +import "google/ads/googleads/v9/errors/policy_finding_error.proto"; +import "google/ads/googleads/v9/errors/policy_validation_parameter_error.proto"; +import "google/ads/googleads/v9/errors/policy_violation_error.proto"; +import "google/ads/googleads/v9/errors/query_error.proto"; +import "google/ads/googleads/v9/errors/quota_error.proto"; +import "google/ads/googleads/v9/errors/range_error.proto"; +import "google/ads/googleads/v9/errors/reach_plan_error.proto"; +import "google/ads/googleads/v9/errors/recommendation_error.proto"; +import "google/ads/googleads/v9/errors/region_code_error.proto"; +import "google/ads/googleads/v9/errors/request_error.proto"; +import "google/ads/googleads/v9/errors/resource_access_denied_error.proto"; +import "google/ads/googleads/v9/errors/resource_count_limit_exceeded_error.proto"; +import "google/ads/googleads/v9/errors/setting_error.proto"; +import "google/ads/googleads/v9/errors/shared_criterion_error.proto"; +import "google/ads/googleads/v9/errors/shared_set_error.proto"; +import "google/ads/googleads/v9/errors/size_limit_error.proto"; +import "google/ads/googleads/v9/errors/string_format_error.proto"; +import "google/ads/googleads/v9/errors/string_length_error.proto"; +import "google/ads/googleads/v9/errors/third_party_app_analytics_link_error.proto"; +import "google/ads/googleads/v9/errors/time_zone_error.proto"; +import "google/ads/googleads/v9/errors/url_field_error.proto"; +import "google/ads/googleads/v9/errors/user_data_error.proto"; +import "google/ads/googleads/v9/errors/user_list_error.proto"; +import "google/ads/googleads/v9/errors/youtube_video_registration_error.proto"; +import "google/protobuf/duration.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ErrorsProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing the common error protos + +// Describes how a GoogleAds API call failed. It's returned inside +// google.rpc.Status.details when a call fails. +message GoogleAdsFailure { + // The list of errors that occurred. + repeated GoogleAdsError errors = 1; + + // The unique ID of the request that is used for debugging purposes. + string request_id = 2; +} + +// GoogleAds-specific error. +message GoogleAdsError { + // An enum value that indicates which error occurred. + ErrorCode error_code = 1; + + // A human-readable description of the error. + string message = 2; + + // The value that triggered the error. + google.ads.googleads.v9.common.Value trigger = 3; + + // Describes the part of the request proto that caused the error. + ErrorLocation location = 4; + + // Additional error details, which are returned by certain error codes. Most + // error codes do not include details. + ErrorDetails details = 5; +} + +// The error reason represented by type and enum. +message ErrorCode { + // The list of error enums + oneof error_code { + // An error caused by the request + RequestErrorEnum.RequestError request_error = 1; + + // An error with a Bidding Strategy mutate. + BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2; + + // An error with a URL field mutate. + UrlFieldErrorEnum.UrlFieldError url_field_error = 3; + + // An error with a list operation. + ListOperationErrorEnum.ListOperationError list_operation_error = 4; + + // An error with an AWQL query + QueryErrorEnum.QueryError query_error = 5; + + // An error with a mutate + MutateErrorEnum.MutateError mutate_error = 7; + + // An error with a field mask + FieldMaskErrorEnum.FieldMaskError field_mask_error = 8; + + // An error encountered when trying to authorize a user. + AuthorizationErrorEnum.AuthorizationError authorization_error = 9; + + // An unexpected server-side error. + InternalErrorEnum.InternalError internal_error = 10; + + // An error with the 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 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 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 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; + } +} + +// Describes the part of the request proto that caused the error. +message ErrorLocation { + // A part of a field path. + message FieldPathElement { + // The name of a field or a oneof + string field_name = 1; + + // If field_name is a repeated field, this is the element that failed + optional int32 index = 3; + } + + // A field path that indicates which field was invalid in the request. + repeated FieldPathElement field_path_elements = 2; +} + +// Additional error details. +message ErrorDetails { + // The error code that should have been returned, but wasn't. This is used + // when the error code is not published in the client specified version. + string unpublished_error_code = 1; + + // Describes an ad policy violation. + PolicyViolationDetails policy_violation_details = 2; + + // Describes policy violation findings. + PolicyFindingDetails policy_finding_details = 3; + + // Details on the quota error, including the scope (account or developer), the + // rate bucket name and the retry delay. + QuotaErrorDetails quota_error_details = 4; + + // Details for a resource count limit exceeded error. + ResourceCountDetails resource_count_details = 5; +} + +// Error returned as part of a mutate response. +// This error indicates single policy violation by some text +// in one of the fields. +message PolicyViolationDetails { + // Human readable description of policy violation. + string external_policy_description = 2; + + // Unique identifier for this violation. + // If policy is exemptible, this key may be used to request exemption. + google.ads.googleads.v9.common.PolicyViolationKey key = 4; + + // Human readable name of the policy. + string external_policy_name = 5; + + // Whether user can file an exemption request for this violation. + bool is_exemptible = 6; +} + +// Error returned as part of a mutate response. +// This error indicates one or more policy findings in the fields of a +// resource. +message PolicyFindingDetails { + // The list of policy topics for the resource. Contains the PROHIBITED or + // FULLY_LIMITED policy topic entries that prevented the resource from being + // saved (among any other entries the resource may also have). + repeated google.ads.googleads.v9.common.PolicyTopicEntry policy_topic_entries = 1; +} + +// Additional quota error details when there is QuotaError. +message QuotaErrorDetails { + // Enum of possible scopes that quota buckets belong to. + enum QuotaRateScope { + // Unspecified enum + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Per customer account quota + ACCOUNT = 2; + + // Per project or DevToken quota + DEVELOPER = 3; + } + + // The rate scope of the quota limit. + QuotaRateScope rate_scope = 1; + + // The high level description of the quota bucket. + // Examples are "Get requests for standard access" or "Requests per account". + string rate_name = 2; + + // Backoff period that customers should wait before sending next request. + google.protobuf.Duration retry_delay = 3; +} + +// Error details returned when an resource count limit was exceeded. +message ResourceCountDetails { + // The ID of the resource whose limit was exceeded. + // External customer ID if the limit is for a customer. + string enclosing_id = 1; + + // The name of the resource (Customer, Campaign etc.) whose limit was + // exceeded. + string enclosing_resource = 5; + + // The limit which was exceeded. + int32 limit = 2; + + // The resource limit type which was exceeded. + google.ads.googleads.v9.enums.ResourceLimitTypeEnum.ResourceLimitType limit_type = 3; + + // The count of existing entities. + int32 existing_count = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/extension_feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/extension_feed_item_error.proto new file mode 100644 index 00000000..11913cae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/extension_feed_item_error.proto @@ -0,0 +1,195 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing extension feed item errors. + +// Container for enum describing possible extension feed item error. +message ExtensionFeedItemErrorEnum { + // Enum describing possible extension feed item errors. + enum ExtensionFeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 2; + + // Url list is too long. + URL_LIST_TOO_LONG = 3; + + // Cannot have a geo targeting restriction without having geo targeting. + CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING = 4; + + // Cannot simultaneously set sitelink field with final urls. + CANNOT_SET_WITH_FINAL_URLS = 5; + + // Must set field with final urls. + CANNOT_SET_WITHOUT_FINAL_URLS = 6; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 7; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 8; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 9; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 10; + + // Phone number type for a call extension is not allowed. + // For example, personal number is not allowed for a call extension in + // most regions. + DISALLOWED_NUMBER_TYPE = 11; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 12; + + // Vanity phone numbers (i.e. 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. Please 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 (i.e., 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 i.e. 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/google-cloud/protos/google/ads/googleads/v9/errors/extension_setting_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/extension_setting_error.proto new file mode 100644 index 00000000..caf8220b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/extension_setting_error.proto @@ -0,0 +1,261 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionSettingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing extension setting validation errors. + +// Container for enum describing validation errors of extension settings. +message ExtensionSettingErrorEnum { + // Enum describing possible extension setting errors. + enum ExtensionSettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A platform restriction was provided without input extensions or existing + // extensions. + EXTENSIONS_REQUIRED = 2; + + // The provided feed type does not correspond to the provided extensions. + FEED_TYPE_EXTENSION_TYPE_MISMATCH = 3; + + // The provided feed type cannot be used. + INVALID_FEED_TYPE = 4; + + // The provided feed type cannot be used at the customer level. + INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING = 5; + + // Cannot change a feed item field on a CREATE operation. + CANNOT_CHANGE_FEED_ITEM_ON_CREATE = 6; + + // Cannot update an extension that is not already in this setting. + CANNOT_UPDATE_NEWLY_CREATED_EXTENSION = 7; + + // There is no existing AdGroupExtensionSetting for this type. + NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE = 8; + + // There is no existing CampaignExtensionSetting for this type. + NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE = 9; + + // There is no existing CustomerExtensionSetting for this type. + NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE = 10; + + // The AdGroupExtensionSetting already exists. UPDATE should be used to + // modify the existing AdGroupExtensionSetting. + AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS = 11; + + // The CampaignExtensionSetting already exists. UPDATE should be used to + // modify the existing CampaignExtensionSetting. + CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS = 12; + + // The CustomerExtensionSetting already exists. UPDATE should be used to + // modify the existing CustomerExtensionSetting. + CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS = 13; + + // An active ad group feed already exists for this place holder type. + AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 14; + + // An active campaign feed already exists for this place holder type. + CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 15; + + // An active customer feed already exists for this place holder type. + CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 16; + + // Value is not within the accepted range. + VALUE_OUT_OF_RANGE = 17; + + // Cannot simultaneously set specified field with final urls. + CANNOT_SET_FIELD_WITH_FINAL_URLS = 18; + + // Must set field with final urls. + FINAL_URLS_NOT_SET = 19; + + // Phone number for a call extension is invalid. + INVALID_PHONE_NUMBER = 20; + + // Phone number for a call extension is not supported for the given country + // code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 21; + + // A carrier specific number in short format is not allowed for call + // extensions. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 22; + + // Premium rate numbers are not allowed for call extensions. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 23; + + // Phone number type for a call extension is not allowed. + DISALLOWED_NUMBER_TYPE = 24; + + // Phone number for a call extension does not meet domestic format + // requirements. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 25; + + // Vanity phone numbers (i.e. 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 (i.e., 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 (e.g., 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. Please 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/google-cloud/protos/google/ads/googleads/v9/errors/feed_attribute_reference_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_attribute_reference_error.proto new file mode 100644 index 00000000..c07b8989 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_attribute_reference_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedAttributeReferenceErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed attribute reference errors. + +// Container for enum describing possible feed attribute reference errors. +message FeedAttributeReferenceErrorEnum { + // Enum describing possible feed attribute reference errors. + enum FeedAttributeReferenceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A feed referenced by ID has been removed. + CANNOT_REFERENCE_REMOVED_FEED = 2; + + // There is no enabled feed with the given name. + INVALID_FEED_NAME = 3; + + // There is no feed attribute in an enabled feed with the given name. + INVALID_FEED_ATTRIBUTE_NAME = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_error.proto new file mode 100644 index 00000000..b8d67cd3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_error.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed errors. + +// Container for enum describing possible feed errors. +message FeedErrorEnum { + // Enum describing possible feed errors. + enum FeedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The names of the FeedAttributes must be unique. + ATTRIBUTE_NAMES_NOT_UNIQUE = 2; + + // The attribute list must be an exact copy of the existing list if the + // attribute ID's are present. + ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3; + + // Cannot specify USER origin for a system generated feed. + CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4; + + // Cannot specify GOOGLE origin for a non-system generated feed. + CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5; + + // Cannot specify feed attributes for system feed. + CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6; + + // Cannot update FeedAttributes on feed with origin GOOGLE. + CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7; + + // The given ID refers to a removed Feed. Removed Feeds are immutable. + FEED_REMOVED = 8; + + // The origin of the feed is not valid for the client. + INVALID_ORIGIN_VALUE = 9; + + // A user can only create and modify feeds with USER origin. + FEED_ORIGIN_IS_NOT_USER = 10; + + // Invalid auth token for the given email. + INVALID_AUTH_TOKEN_FOR_EMAIL = 11; + + // Invalid email specified. + INVALID_EMAIL = 12; + + // Feed name matches that of another active Feed. + DUPLICATE_FEED_NAME = 13; + + // Name of feed is not allowed. + INVALID_FEED_NAME = 14; + + // Missing OAuthInfo. + MISSING_OAUTH_INFO = 15; + + // New FeedAttributes must not affect the unique key. + NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16; + + // Too many FeedAttributes for a Feed. + TOO_MANY_ATTRIBUTES = 17; + + // The business account is not valid. + INVALID_BUSINESS_ACCOUNT = 18; + + // Business account cannot access Business Profile. + BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19; + + // Invalid chain ID provided for affiliate location feed. + INVALID_AFFILIATE_CHAIN_ID = 20; + + // There is already a feed with the given system feed generation data. + DUPLICATE_SYSTEM_FEED = 21; + + // An error occurred accessing Business Profile. + GMB_ACCESS_ERROR = 22; + + // A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds. + CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS = 23; + + // Feed-based extension is read-only for this extension type. + LEGACY_EXTENSION_TYPE_READ_ONLY = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_error.proto new file mode 100644 index 00000000..01ffbdff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_error.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedItemErrorEnum { + // Enum describing possible feed item errors. + enum FeedItemError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot convert the feed attribute value from string to its real type. + CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2; + + // Cannot operate on removed feed item. + CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3; + + // Date time zone does not match the account's time zone. + DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4; + + // Feed item with the key attributes could not be found. + KEY_ATTRIBUTES_NOT_FOUND = 5; + + // Url feed attribute value is not valid. + INVALID_URL = 6; + + // Some key attributes are missing. + MISSING_KEY_ATTRIBUTES = 7; + + // Feed item has same key attributes as another feed item. + KEY_ATTRIBUTES_NOT_UNIQUE = 8; + + // Cannot modify key attributes on an existing feed item. + CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9; + + // The feed attribute value is too large. + SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_error.proto new file mode 100644 index 00000000..2a60ec46 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_error.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item set errors. + +// Container for enum describing possible feed item set errors. +message FeedItemSetErrorEnum { + // Enum describing possible feed item set errors. + enum FeedItemSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given ID refers to a removed FeedItemSet. + FEED_ITEM_SET_REMOVED = 2; + + // The dynamic filter of a feed item set cannot be cleared on UPDATE if it + // exists. A set is either static or dynamic once added, and that cannot + // change. + CANNOT_CLEAR_DYNAMIC_FILTER = 3; + + // The dynamic filter of a feed item set cannot be created on UPDATE if it + // does not exist. A set is either static or dynamic once added, and that + // cannot change. + CANNOT_CREATE_DYNAMIC_FILTER = 4; + + // FeedItemSets can only be made for location or affiliate location feeds. + INVALID_FEED_TYPE = 5; + + // FeedItemSets duplicate name. Name should be unique within an account. + DUPLICATE_NAME = 6; + + // The feed type of the parent Feed is not compatible with the type of + // dynamic filter being set. For example, you can only set + // dynamic_location_set_filter for LOCATION feed item sets. + WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE = 7; + + // Chain ID specified for AffiliateLocationFeedData is invalid. + DYNAMIC_FILTER_INVALID_CHAIN_IDS = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_link_error.proto new file mode 100644 index 00000000..76e26c26 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_set_link_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item set link errors. + +// Container for enum describing possible feed item set link errors. +message FeedItemSetLinkErrorEnum { + // Enum describing possible feed item set link errors. + enum FeedItemSetLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems + // in a given Feed can be linked to a FeedItemSet in that Feed. + FEED_ID_MISMATCH = 2; + + // Cannot add or remove links to a dynamic set. + NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_target_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_target_error.proto new file mode 100644 index 00000000..77188f21 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_target_error.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item target errors. + +// Container for enum describing possible feed item target errors. +message FeedItemTargetErrorEnum { + // Enum describing possible feed item target errors. + enum FeedItemTargetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // On CREATE, the FeedItemTarget must have a populated field in the oneof + // target. + MUST_SET_TARGET_ONEOF_ON_CREATE = 2; + + // The specified feed item target already exists, so it cannot be added. + FEED_ITEM_TARGET_ALREADY_EXISTS = 3; + + // The schedules for a given feed item cannot overlap. + FEED_ITEM_SCHEDULES_CANNOT_OVERLAP = 4; + + // Too many targets of a given type were added for a single feed item. + TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE = 5; + + // Too many AdSchedules are enabled for the feed item for the given day. + TOO_MANY_SCHEDULES_PER_DAY = 6; + + // A feed item may either have an enabled campaign target or an enabled ad + // group target. + CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS = 7; + + // Duplicate ad schedules aren't allowed. + DUPLICATE_AD_SCHEDULE = 8; + + // Duplicate keywords aren't allowed. + DUPLICATE_KEYWORD = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_validation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_validation_error.proto new file mode 100644 index 00000000..135d9d27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_item_validation_error.proto @@ -0,0 +1,377 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemValidationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item validation errors. + +// Container for enum describing possible validation errors of a feed item. +message FeedItemValidationErrorEnum { + // The possible validation errors of a feed item. + enum FeedItemValidationError { + // No value has been specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // String is too short. + STRING_TOO_SHORT = 2; + + // String is too long. + STRING_TOO_LONG = 3; + + // Value is not provided. + VALUE_NOT_SPECIFIED = 4; + + // Phone number format is invalid for region. + INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 5; + + // String does not represent a phone number. + INVALID_PHONE_NUMBER = 6; + + // Phone number format is not compatible with country code. + PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 7; + + // Premium rate number is not allowed. + PREMIUM_RATE_NUMBER_NOT_ALLOWED = 8; + + // Phone number type is not allowed. + DISALLOWED_NUMBER_TYPE = 9; + + // Specified value is outside of the valid range. + VALUE_OUT_OF_RANGE = 10; + + // Call tracking is not supported in the selected country. + CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; + + // Customer is not on the allow-list for call tracking. + CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING = 99; + + // Country code is invalid. + INVALID_COUNTRY_CODE = 13; + + // The specified mobile app id is invalid. + INVALID_APP_ID = 14; + + // Some required field attributes are missing. + MISSING_ATTRIBUTES_FOR_FIELDS = 15; + + // Invalid email button type for email extension. + INVALID_TYPE_ID = 16; + + // Email address is invalid. + INVALID_EMAIL_ADDRESS = 17; + + // The HTTPS URL in email extension is invalid. + INVALID_HTTPS_URL = 18; + + // Delivery address is missing from email extension. + MISSING_DELIVERY_ADDRESS = 19; + + // FeedItem scheduling start date comes after end date. + START_DATE_AFTER_END_DATE = 20; + + // FeedItem scheduling start time is missing. + MISSING_FEED_ITEM_START_TIME = 21; + + // FeedItem scheduling end time is missing. + MISSING_FEED_ITEM_END_TIME = 22; + + // Cannot compute system attributes on a FeedItem that has no FeedItemId. + MISSING_FEED_ITEM_ID = 23; + + // Call extension vanity phone numbers are not supported. + VANITY_PHONE_NUMBER_NOT_ALLOWED = 24; + + // Invalid review text. + INVALID_REVIEW_EXTENSION_SNIPPET = 25; + + // Invalid format for numeric value in ad parameter. + INVALID_NUMBER_FORMAT = 26; + + // Invalid format for date value in ad parameter. + INVALID_DATE_FORMAT = 27; + + // Invalid format for price value in ad parameter. + INVALID_PRICE_FORMAT = 28; + + // Unrecognized type given for value in ad parameter. + UNKNOWN_PLACEHOLDER_FIELD = 29; + + // Enhanced sitelinks must have both description lines specified. + MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE = 30; + + // Review source is ineligible. + REVIEW_EXTENSION_SOURCE_INELIGIBLE = 31; + + // Review text cannot contain hyphens or dashes. + HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 32; + + // Review text cannot contain double quote characters. + DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 33; + + // Review text cannot contain quote characters. + QUOTES_IN_REVIEW_EXTENSION_SNIPPET = 34; + + // Parameters are encoded in the wrong format. + INVALID_FORM_ENCODED_PARAMS = 35; + + // URL parameter name must contain only letters, numbers, underscores, and + // dashes. + INVALID_URL_PARAMETER_NAME = 36; + + // Cannot find address location. + NO_GEOCODING_RESULT = 37; + + // Review extension text has source name. + SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT = 38; + + // Some phone numbers can be shorter than usual. Some of these short numbers + // are carrier-specific, and we disallow those in ad extensions because they + // will not be available to all users. + CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 39; + + // Triggered when a request references a placeholder field id that does not + // exist. + INVALID_PLACEHOLDER_FIELD_ID = 40; + + // URL contains invalid ValueTrack tags or format. + INVALID_URL_TAG = 41; + + // Provided list exceeds acceptable size. + LIST_TOO_LONG = 42; + + // Certain combinations of attributes aren't allowed to be specified in the + // same feed item. + INVALID_ATTRIBUTES_COMBINATION = 43; + + // An attribute has the same value repeatedly. + DUPLICATE_VALUES = 44; + + // Advertisers can link a conversion action with a phone number to indicate + // that sufficiently long calls forwarded to that phone number should be + // counted as conversions of the specified type. This is an error message + // indicating that the conversion action specified is invalid (e.g., 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. Please 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/google-cloud/protos/google/ads/googleads/v9/errors/feed_mapping_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/feed_mapping_error.proto new file mode 100644 index 00000000..44e5834b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/feed_mapping_error.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing feed item errors. + +// Container for enum describing possible feed item errors. +message FeedMappingErrorEnum { + // Enum describing possible feed item errors. + enum FeedMappingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The given placeholder field does not exist. + INVALID_PLACEHOLDER_FIELD = 2; + + // The given criterion field does not exist. + INVALID_CRITERION_FIELD = 3; + + // The given placeholder type does not exist. + INVALID_PLACEHOLDER_TYPE = 4; + + // The given criterion type does not exist. + INVALID_CRITERION_TYPE = 5; + + // A feed mapping must contain at least one attribute field mapping. + NO_ATTRIBUTE_FIELD_MAPPINGS = 7; + + // The type of the feed attribute referenced in the attribute field mapping + // must match the type of the placeholder field. + FEED_ATTRIBUTE_TYPE_MISMATCH = 8; + + // A feed mapping for a system generated feed cannot be operated on. + CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9; + + // Only one feed mapping for a placeholder type is allowed per feed or + // customer (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10; + + // Only one feed mapping for a criterion type is allowed per customer. + MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11; + + // Only one feed attribute mapping for a placeholder field is allowed + // (depending on the placeholder type). + MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12; + + // Only one feed attribute mapping for a criterion field is allowed + // (depending on the criterion type). + MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13; + + // This feed mapping may not contain any explicit attribute field mappings. + UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14; + + // Location placeholder feed mappings can only be created for Places feeds. + LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15; + + // Mappings for typed feeds cannot be modified. + CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16; + + // The given placeholder type can only be mapped to system generated feeds. + INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17; + + // The given placeholder type cannot be mapped to a system generated feed + // with the given type. + INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18; + + // The "field" oneof was not set in an AttributeFieldMapping. + ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD = 19; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/field_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/field_error.proto new file mode 100644 index 00000000..36ad3b5e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/field_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing field errors. + +// Container for enum describing possible field errors. +message FieldErrorEnum { + // Enum describing possible field errors. + enum FieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The required field was not present. + REQUIRED = 2; + + // The field attempted to be mutated is immutable. + IMMUTABLE_FIELD = 3; + + // The field's value is invalid. + INVALID_VALUE = 4; + + // The field cannot be set. + VALUE_MUST_BE_UNSET = 5; + + // The required repeated field was empty. + REQUIRED_NONEMPTY_LIST = 6; + + // The field cannot be cleared. + FIELD_CANNOT_BE_CLEARED = 7; + + // The field's value is on a deny-list for this field. + BLOCKED_VALUE = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/field_mask_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/field_mask_error.proto new file mode 100644 index 00000000..218708ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/field_mask_error.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FieldMaskErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing field mask errors. + +// Container for enum describing possible field mask errors. +message FieldMaskErrorEnum { + // Enum describing possible field mask errors. + enum FieldMaskError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The field mask must be provided for update operations. + FIELD_MASK_MISSING = 5; + + // The field mask must be empty for create and remove operations. + FIELD_MASK_NOT_ALLOWED = 4; + + // The field mask contained an invalid field. + FIELD_NOT_FOUND = 2; + + // The field mask updated a field with subfields. Fields with subfields may + // be cleared, but not updated. To fix this, the field mask should select + // all the subfields of the invalid field. + FIELD_HAS_SUBFIELDS = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/function_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/function_error.proto new file mode 100644 index 00000000..01d90983 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/function_error.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing function errors. + +// Container for enum describing possible function errors. +message FunctionErrorEnum { + // Enum describing possible function errors. + enum FunctionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The format of the function is not recognized as a supported function + // format. + INVALID_FUNCTION_FORMAT = 2; + + // Operand data types do not match. + DATA_TYPE_MISMATCH = 3; + + // The operands cannot be used together in a conjunction. + INVALID_CONJUNCTION_OPERANDS = 4; + + // Invalid numer of Operands. + INVALID_NUMBER_OF_OPERANDS = 5; + + // Operand Type not supported. + INVALID_OPERAND_TYPE = 6; + + // Operator not supported. + INVALID_OPERATOR = 7; + + // Request context type not supported. + INVALID_REQUEST_CONTEXT_TYPE = 8; + + // The matching function is not allowed for call placeholders + INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9; + + // The matching function is not allowed for the specified placeholder + INVALID_FUNCTION_FOR_PLACEHOLDER = 10; + + // Invalid operand. + INVALID_OPERAND = 11; + + // Missing value for the constant operand. + MISSING_CONSTANT_OPERAND_VALUE = 12; + + // The value of the constant operand is invalid. + INVALID_CONSTANT_OPERAND_VALUE = 13; + + // Invalid function nesting. + INVALID_NESTING = 14; + + // The Feed ID was different from another Feed ID in the same function. + MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15; + + // The matching function is invalid for use with a feed with a fixed schema. + INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16; + + // Invalid attribute name. + INVALID_ATTRIBUTE_NAME = 17; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/function_parsing_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/function_parsing_error.proto new file mode 100644 index 00000000..0e48eec6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/function_parsing_error.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "FunctionParsingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing function parsing errors. + +// Container for enum describing possible function parsing errors. +message FunctionParsingErrorEnum { + // Enum describing possible function parsing errors. + enum FunctionParsingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unexpected end of function string. + NO_MORE_INPUT = 2; + + // Could not find an expected character. + EXPECTED_CHARACTER = 3; + + // Unexpected separator character. + UNEXPECTED_SEPARATOR = 4; + + // Unmatched left bracket or parenthesis. + UNMATCHED_LEFT_BRACKET = 5; + + // Unmatched right bracket or parenthesis. + UNMATCHED_RIGHT_BRACKET = 6; + + // Functions are nested too deeply. + TOO_MANY_NESTED_FUNCTIONS = 7; + + // Missing right-hand-side operand. + MISSING_RIGHT_HAND_OPERAND = 8; + + // Invalid operator/function name. + INVALID_OPERATOR_NAME = 9; + + // Feed attribute operand's argument is not an integer. + FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10; + + // Missing function operands. + NO_OPERANDS = 11; + + // Function had too many operands. + TOO_MANY_OPERANDS = 12; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/geo_target_constant_suggestion_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/geo_target_constant_suggestion_error.proto new file mode 100644 index 00000000..7ece814b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/geo_target_constant_suggestion_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantSuggestionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Container for enum describing possible geo target constant suggestion errors. +message GeoTargetConstantSuggestionErrorEnum { + // Enum describing possible geo target constant suggestion errors. + enum GeoTargetConstantSuggestionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A location name cannot be greater than 300 characters. + LOCATION_NAME_SIZE_LIMIT = 2; + + // At most 25 location names can be specified in a SuggestGeoTargetConstants + // method. + LOCATION_NAME_LIMIT = 3; + + // The country code is invalid. + INVALID_COUNTRY_CODE = 4; + + // Geo target constant resource names or location names must be provided in + // the request. + REQUEST_PARAMETERS_UNSET = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/header_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/header_error.proto new file mode 100644 index 00000000..b02d1014 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/header_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "HeaderErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing header errors. + +// Container for enum describing possible header errors. +message HeaderErrorEnum { + // Enum describing possible header errors. + enum HeaderError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The login customer ID could not be validated. + INVALID_LOGIN_CUSTOMER_ID = 3; + + // The linked customer ID could not be validated. + INVALID_LINKED_CUSTOMER_ID = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/id_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/id_error.proto new file mode 100644 index 00000000..2a528913 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/id_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "IdErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing id errors. + +// Container for enum describing possible id errors. +message IdErrorEnum { + // Enum describing possible id errors. + enum IdError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Id not found + NOT_FOUND = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/image_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/image_error.proto new file mode 100644 index 00000000..e2701141 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/image_error.proto @@ -0,0 +1,164 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ImageErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing image errors. + +// Container for enum describing possible image errors. +message ImageErrorEnum { + // Enum describing possible image errors. + enum ImageError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The image is not valid. + INVALID_IMAGE = 2; + + // The image could not be stored. + STORAGE_ERROR = 3; + + // There was a problem with the request. + BAD_REQUEST = 4; + + // The image is not of legal dimensions. + UNEXPECTED_SIZE = 5; + + // Animated image are not permitted. + ANIMATED_NOT_ALLOWED = 6; + + // Animation is too long. + ANIMATION_TOO_LONG = 7; + + // There was an error on the server. + SERVER_ERROR = 8; + + // Image cannot be in CMYK color format. + CMYK_JPEG_NOT_ALLOWED = 9; + + // Flash images are not permitted. + FLASH_NOT_ALLOWED = 10; + + // Flash images must support clickTag. + FLASH_WITHOUT_CLICKTAG = 11; + + // A flash error has occurred after fixing the click tag. + FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12; + + // Unacceptable visual effects. + ANIMATED_VISUAL_EFFECT = 13; + + // There was a problem with the flash image. + FLASH_ERROR = 14; + + // Incorrect image layout. + LAYOUT_PROBLEM = 15; + + // There was a problem reading the image file. + PROBLEM_READING_IMAGE_FILE = 16; + + // There was an error storing the image. + ERROR_STORING_IMAGE = 17; + + // The aspect ratio of the image is not allowed. + ASPECT_RATIO_NOT_ALLOWED = 18; + + // Flash cannot have network objects. + FLASH_HAS_NETWORK_OBJECTS = 19; + + // Flash cannot have network methods. + FLASH_HAS_NETWORK_METHODS = 20; + + // Flash cannot have a Url. + FLASH_HAS_URL = 21; + + // Flash cannot use mouse tracking. + FLASH_HAS_MOUSE_TRACKING = 22; + + // Flash cannot have a random number. + FLASH_HAS_RANDOM_NUM = 23; + + // Ad click target cannot be '_self'. + FLASH_SELF_TARGETS = 24; + + // GetUrl method should only use '_blank'. + FLASH_BAD_GETURL_TARGET = 25; + + // Flash version is not supported. + FLASH_VERSION_NOT_SUPPORTED = 26; + + // Flash movies need to have hard coded click URL or clickTAG + FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27; + + // Uploaded flash file is corrupted. + INVALID_FLASH_FILE = 28; + + // Uploaded flash file can be parsed, but the click tag can not be fixed + // properly. + FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29; + + // Flash movie accesses network resources + FLASH_ACCESSES_NETWORK_RESOURCES = 30; + + // Flash movie attempts to call external javascript code + FLASH_EXTERNAL_JS_CALL = 31; + + // Flash movie attempts to call flash system commands + FLASH_EXTERNAL_FS_CALL = 32; + + // Image file is too large. + FILE_TOO_LARGE = 33; + + // Image data is too large. + IMAGE_DATA_TOO_LARGE = 34; + + // Error while processing the image. + IMAGE_PROCESSING_ERROR = 35; + + // Image is too small. + IMAGE_TOO_SMALL = 36; + + // Input was invalid. + INVALID_INPUT = 37; + + // There was a problem reading the image file. + PROBLEM_READING_FILE = 38; + + // Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED + // can't be provided. This happens when asset spec contains more than one + // constraint and different criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 39; + + // Image format is not allowed. + FORMAT_NOT_ALLOWED = 40; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/internal_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/internal_error.proto new file mode 100644 index 00000000..3018ec60 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/internal_error.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InternalErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing internal errors. + +// Container for enum describing possible internal errors. +message InternalErrorEnum { + // Enum describing possible internal errors. + enum InternalError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Google Ads API encountered unexpected internal error. + INTERNAL_ERROR = 2; + + // The intended error code doesn't exist in specified API version. It will + // be released in a future API version. + ERROR_CODE_NOT_PUBLISHED = 3; + + // Google Ads API encountered an unexpected transient error. The user + // should retry their request in these cases. + TRANSIENT_ERROR = 4; + + // The request took longer than a deadline. + DEADLINE_EXCEEDED = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/invoice_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/invoice_error.proto new file mode 100644 index 00000000..9d5dcf29 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/invoice_error.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing invoice errors. + +// Container for enum describing possible invoice errors. +message InvoiceErrorEnum { + // Enum describing possible invoice errors. + enum InvoiceError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot request invoices issued before 2019-01-01. + YEAR_MONTH_TOO_OLD = 2; + + // Cannot request invoices for customer who doesn't receive invoices. + NOT_INVOICED_CUSTOMER = 3; + + // Cannot request invoices for a non approved billing setup. + BILLING_SETUP_NOT_APPROVED = 4; + + // Cannot request invoices for a billing setup that is not on monthly + // invoicing. + BILLING_SETUP_NOT_ON_MONTHLY_INVOICING = 5; + + // Cannot request invoices for a non serving customer. + NON_SERVING_CUSTOMER = 6; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_error.proto new file mode 100644 index 00000000..29cd9fbc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying a keyword plan ad group. + +// Container for enum describing possible errors from applying a keyword plan +// ad group. +message KeywordPlanAdGroupErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group. + enum KeywordPlanAdGroupError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The keyword plan ad group name is missing, empty, longer than allowed + // limit or contains invalid chars. + INVALID_NAME = 2; + + // The keyword plan ad group name is duplicate to an existing keyword plan + // AdGroup name or other keyword plan AdGroup name in the request. + DUPLICATE_NAME = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_keyword_error.proto new file mode 100644 index 00000000..e13a3561 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_ad_group_keyword_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying a keyword plan ad group keyword or +// keyword plan campaign keyword. + +// Container for enum describing possible errors from applying an ad group +// keyword or a campaign keyword from a keyword plan. +message KeywordPlanAdGroupKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan ad group + // keyword or keyword plan campaign keyword. + enum KeywordPlanAdGroupKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword or negative keyword has invalid match type. + INVALID_KEYWORD_MATCH_TYPE = 2; + + // A keyword or negative keyword with same text and match type already + // exists. + DUPLICATE_KEYWORD = 3; + + // Keyword or negative keyword text exceeds the allowed limit. + KEYWORD_TEXT_TOO_LONG = 4; + + // Keyword or negative keyword text has invalid characters or symbols. + KEYWORD_HAS_INVALID_CHARS = 5; + + // Keyword or negative keyword text has too many words. + KEYWORD_HAS_TOO_MANY_WORDS = 6; + + // Keyword or negative keyword has invalid text. + INVALID_KEYWORD_TEXT = 7; + + // Cpc Bid set for negative keyword. + NEGATIVE_KEYWORD_HAS_CPC_BID = 8; + + // New broad match modifier (BMM) KpAdGroupKeywords are not allowed. + NEW_BMM_KEYWORDS_NOT_ALLOWED = 9; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_error.proto new file mode 100644 index 00000000..21ed4ac6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_error.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying a keyword plan campaign. + +// Container for enum describing possible errors from applying a keyword plan +// campaign. +message KeywordPlanCampaignErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign. + enum KeywordPlanCampaignError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A keyword plan campaign name is missing, empty, longer than allowed limit + // or contains invalid chars. + INVALID_NAME = 2; + + // A keyword plan campaign contains one or more untargetable languages. + INVALID_LANGUAGES = 3; + + // A keyword plan campaign contains one or more invalid geo targets. + INVALID_GEOS = 4; + + // The keyword plan campaign name is duplicate to an existing keyword plan + // campaign name or other keyword plan campaign name in the request. + DUPLICATE_NAME = 5; + + // The number of geo targets in the keyword plan campaign exceeds limits. + MAX_GEOS_EXCEEDED = 6; + + // The number of languages in the keyword plan campaign exceeds limits. + MAX_LANGUAGES_EXCEEDED = 7; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_keyword_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_keyword_error.proto new file mode 100644 index 00000000..a4759e2c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_campaign_keyword_error.proto @@ -0,0 +1,49 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying a keyword plan campaign keyword. + +// Container for enum describing possible errors from applying a keyword plan +// campaign keyword. +message KeywordPlanCampaignKeywordErrorEnum { + // Enum describing possible errors from applying a keyword plan campaign + // keyword. + enum KeywordPlanCampaignKeywordError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Keyword plan campaign keyword is positive. + CAMPAIGN_KEYWORD_IS_POSITIVE = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_error.proto new file mode 100644 index 00000000..7706490c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_error.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying keyword plan resources (keyword +// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword) +// or KeywordPlanService RPC. + +// Container for enum describing possible errors from applying a keyword plan +// resource (keyword plan, keyword plan campaign, keyword plan ad group or +// keyword plan keyword) or KeywordPlanService RPC. +message KeywordPlanErrorEnum { + // Enum describing possible errors from applying a keyword plan. + enum KeywordPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The plan's bid multiplier value is outside the valid range. + BID_MULTIPLIER_OUT_OF_RANGE = 2; + + // The plan's bid value is too high. + BID_TOO_HIGH = 3; + + // The plan's bid value is too low. + BID_TOO_LOW = 4; + + // The plan's cpc bid is not a multiple of the minimum billable unit. + BID_TOO_MANY_FRACTIONAL_DIGITS = 5; + + // The plan's daily budget value is too low. + DAILY_BUDGET_TOO_LOW = 6; + + // The plan's daily budget is not a multiple of the minimum billable unit. + DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7; + + // The input has an invalid value. + INVALID_VALUE = 8; + + // The plan has no keyword. + KEYWORD_PLAN_HAS_NO_KEYWORDS = 9; + + // The plan is not enabled and API cannot provide mutation, forecast or + // stats. + KEYWORD_PLAN_NOT_ENABLED = 10; + + // The requested plan cannot be found for providing forecast or stats. + KEYWORD_PLAN_NOT_FOUND = 11; + + // The plan is missing a cpc bid. + MISSING_BID = 13; + + // The plan is missing required forecast_period field. + MISSING_FORECAST_PERIOD = 14; + + // The plan's forecast_period has invalid forecast date range. + INVALID_FORECAST_DATE_RANGE = 15; + + // The plan's name is invalid. + INVALID_NAME = 16; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_idea_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_idea_error.proto new file mode 100644 index 00000000..be00b8b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/keyword_plan_idea_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from KeywordPlanIdeaService. + +// Container for enum describing possible errors from KeywordPlanIdeaService. +message KeywordPlanIdeaErrorEnum { + // Enum describing possible errors from KeywordPlanIdeaService. + enum KeywordPlanIdeaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Error when crawling the input URL. + URL_CRAWL_ERROR = 2; + + // The input has an invalid value. + INVALID_VALUE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/label_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/label_error.proto new file mode 100644 index 00000000..4c7b6be0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/label_error.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LabelErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing label errors. + +// Container for enum describing possible label errors. +message LabelErrorEnum { + // Enum describing possible label errors. + enum LabelError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // An inactive label cannot be applied. + CANNOT_APPLY_INACTIVE_LABEL = 2; + + // A label cannot be applied to a disabled ad group criterion. + CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION = 3; + + // A label cannot be applied to a negative ad group criterion. + CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION = 4; + + // Cannot apply more than 50 labels per resource. + EXCEEDED_LABEL_LIMIT_PER_TYPE = 5; + + // Labels from a manager account cannot be applied to campaign, ad group, + // ad group ad, or ad group criterion resources. + INVALID_RESOURCE_FOR_MANAGER_LABEL = 6; + + // Label names must be unique. + DUPLICATE_NAME = 7; + + // Label names cannot be empty. + INVALID_LABEL_NAME = 8; + + // Labels cannot be applied to a draft. + CANNOT_ATTACH_LABEL_TO_DRAFT = 9; + + // Labels not from a manager account cannot be applied to the customer + // resource. + CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/language_code_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/language_code_error.proto new file mode 100644 index 00000000..444a26ec --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/language_code_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "LanguageCodeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing language code errors. + +// Container for enum describing language code errors. +message LanguageCodeErrorEnum { + // Enum describing language code errors. + enum LanguageCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input language code is not recognized. + LANGUAGE_CODE_NOT_FOUND = 2; + + // The language code is not supported. + INVALID_LANGUAGE_CODE = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/list_operation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/list_operation_error.proto new file mode 100644 index 00000000..ea2c9440 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/list_operation_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ListOperationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing list operation errors. + +// Container for enum describing possible list operation errors. +message ListOperationErrorEnum { + // Enum describing possible list operation errors. + enum ListOperationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Field required in value is missing. + REQUIRED_FIELD_MISSING = 7; + + // Duplicate or identical value is sent in multiple list operations. + DUPLICATE_VALUES = 8; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/manager_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/manager_link_error.proto new file mode 100644 index 00000000..b6f7cf37 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/manager_link_error.proto @@ -0,0 +1,103 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ManagerLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ManagerLink errors. + +// Container for enum describing possible ManagerLink errors. +message ManagerLinkErrorEnum { + // Enum describing possible ManagerLink errors. + enum ManagerLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The manager and client have incompatible account types. + ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING = 2; + + // Client is already linked to too many managers. + TOO_MANY_MANAGERS = 3; + + // Manager has too many pending invitations. + TOO_MANY_INVITES = 4; + + // Client is already invited by this manager. + ALREADY_INVITED_BY_THIS_MANAGER = 5; + + // The client is already managed by this manager. + ALREADY_MANAGED_BY_THIS_MANAGER = 6; + + // Client is already managed in hierarchy. + ALREADY_MANAGED_IN_HIERARCHY = 7; + + // Manager and sub-manager to be linked have duplicate client. + DUPLICATE_CHILD_FOUND = 8; + + // Client has no active user that can access the client account. + CLIENT_HAS_NO_ADMIN_USER = 9; + + // Adding this link would exceed the maximum hierarchy depth. + MAX_DEPTH_EXCEEDED = 10; + + // Adding this link will create a cycle. + CYCLE_NOT_ALLOWED = 11; + + // Manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS = 12; + + // Parent manager account has the maximum number of linked clients. + TOO_MANY_ACCOUNTS_AT_MANAGER = 13; + + // The account is not authorized owner. + NON_OWNER_USER_CANNOT_MODIFY_LINK = 14; + + // Your manager account is suspended, and you are no longer allowed to link + // to clients. + SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS = 15; + + // You are not allowed to move a client to a manager that is not under your + // current hierarchy. + CLIENT_OUTSIDE_TREE = 16; + + // The changed status for mutate link is invalid. + INVALID_STATUS_CHANGE = 17; + + // The change for mutate link is invalid. + INVALID_CHANGE = 18; + + // You are not allowed to link a manager account to itself. + CUSTOMER_CANNOT_MANAGE_SELF = 19; + + // The link was created with status ACTIVE and not PENDING. + CREATING_ENABLED_LINK_NOT_ALLOWED = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/media_bundle_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/media_bundle_error.proto new file mode 100644 index 00000000..c7bd8e0f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/media_bundle_error.proto @@ -0,0 +1,110 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaBundleErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing media bundle errors. + +// Container for enum describing possible media bundle errors. +message MediaBundleErrorEnum { + // Enum describing possible media bundle errors. + enum MediaBundleError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // There was a problem with the request. + BAD_REQUEST = 3; + + // HTML5 ads using DoubleClick Studio created ZIP files are not supported. + DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 5; + + // Media bundle file is too large. + FILE_TOO_LARGE = 6; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7; + + // Input was invalid. + INVALID_INPUT = 8; + + // There was a problem with the media bundle. + INVALID_MEDIA_BUNDLE = 9; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 10; + + // The media bundle contains a file with an unknown mime type + INVALID_MIME_TYPE = 11; + + // The media bundle contain an invalid asset path. + INVALID_PATH = 12; + + // HTML5 ad is trying to reference an asset not in .ZIP file + INVALID_URL_REFERENCE = 13; + + // Media data is too large. + MEDIA_DATA_TOO_LARGE = 14; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15; + + // There was an error on the server. + SERVER_ERROR = 16; + + // The image could not be stored. + STORAGE_ERROR = 17; + + // Media bundle created with the Swiffy tool is not allowed. + SWIFFY_BUNDLE_NOT_ALLOWED = 18; + + // The media bundle contains too many files. + TOO_MANY_FILES = 19; + + // The media bundle is not of legal dimensions. + UNEXPECTED_SIZE = 20; + + // Google Web Designer not created for "Google Ads" environment. + UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21; + + // Unsupported HTML5 feature in HTML5 asset. + UNSUPPORTED_HTML5_FEATURE = 22; + + // URL in HTML5 entry is not ssl compliant. + URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23; + + // Custom exits not allowed in HTML5 entry. + CUSTOM_EXIT_NOT_ALLOWED = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/media_file_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/media_file_error.proto new file mode 100644 index 00000000..521a6312 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/media_file_error.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing media file errors. + +// Container for enum describing possible media file errors. +message MediaFileErrorEnum { + // Enum describing possible media file errors. + enum MediaFileError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Cannot create a standard icon type. + CANNOT_CREATE_STANDARD_ICON = 2; + + // May only select Standard Icons alone. + CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3; + + // Image contains both a media file ID and data. + CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4; + + // A media file with given type and reference ID already exists. + DUPLICATE_MEDIA = 5; + + // A required field was not specified or is an empty string. + EMPTY_FIELD = 6; + + // A media file may only be modified once per call. + RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7; + + // Field is not supported for the media sub type. + FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8; + + // The media file ID is invalid. + INVALID_MEDIA_FILE_ID = 9; + + // The media subtype is invalid. + INVALID_MEDIA_SUB_TYPE = 10; + + // The media file type is invalid. + INVALID_MEDIA_FILE_TYPE = 11; + + // The mimetype is invalid. + INVALID_MIME_TYPE = 12; + + // The media reference ID is invalid. + INVALID_REFERENCE_ID = 13; + + // The YouTube video ID is invalid. + INVALID_YOU_TUBE_ID = 14; + + // Media file has failed transcoding + MEDIA_FILE_FAILED_TRANSCODING = 15; + + // Media file has not been transcoded. + MEDIA_NOT_TRANSCODED = 16; + + // The media type does not match the actual media file's type. + MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17; + + // None of the fields have been specified. + NO_FIELDS_SPECIFIED = 18; + + // One of reference ID or media file ID must be specified. + NULL_REFERENCE_ID_AND_MEDIA_ID = 19; + + // The string has too many characters. + TOO_LONG = 20; + + // The specified type is not supported. + UNSUPPORTED_TYPE = 21; + + // YouTube is unavailable for requesting video data. + YOU_TUBE_SERVICE_UNAVAILABLE = 22; + + // The YouTube video has a non positive duration. + YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23; + + // The YouTube video ID is syntactically valid but the video was not found. + YOU_TUBE_VIDEO_NOT_FOUND = 24; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/media_upload_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/media_upload_error.proto new file mode 100644 index 00000000..1c333e15 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/media_upload_error.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MediaUploadErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing media uploading errors. + +// Container for enum describing possible media uploading errors. +message MediaUploadErrorEnum { + // Enum describing possible media uploading errors. + enum MediaUploadError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The uploaded file is too big. + FILE_TOO_BIG = 2; + + // Image data is unparseable. + UNPARSEABLE_IMAGE = 3; + + // Animated images are not allowed. + ANIMATED_IMAGE_NOT_ALLOWED = 4; + + // The image or media bundle format is not allowed. + FORMAT_NOT_ALLOWED = 5; + + // Cannot reference URL external to the media bundle. + EXTERNAL_URL_NOT_ALLOWED = 6; + + // HTML5 ad is trying to reference an asset not in .ZIP file. + INVALID_URL_REFERENCE = 7; + + // The media bundle contains no primary entry. + MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 8; + + // Animation has disallowed visual effects. + ANIMATED_VISUAL_EFFECT = 9; + + // Animation longer than the allowed 30 second limit. + ANIMATION_TOO_LONG = 10; + + // The aspect ratio of the image does not match the expected aspect ratios + // provided in the asset spec. + ASPECT_RATIO_NOT_ALLOWED = 11; + + // Audio files are not allowed in bundle. + AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE = 12; + + // CMYK jpegs are not supported. + CMYK_JPEG_NOT_ALLOWED = 13; + + // Flash movies are not allowed. + FLASH_NOT_ALLOWED = 14; + + // The frame rate of the video is higher than the allowed 5fps. + FRAME_RATE_TOO_HIGH = 15; + + // ZIP file from Google Web Designer is not published. + GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 16; + + // Image constraints are violated, but more details (like + // DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. + // This happens when asset spec contains more than one constraint and + // criteria of different constraints are violated. + IMAGE_CONSTRAINTS_VIOLATED = 17; + + // Media bundle data is unrecognizable. + INVALID_MEDIA_BUNDLE = 18; + + // There was a problem with one or more of the media bundle entries. + INVALID_MEDIA_BUNDLE_ENTRY = 19; + + // The asset has an invalid mime type. + INVALID_MIME_TYPE = 20; + + // The media bundle contains an invalid asset path. + INVALID_PATH = 21; + + // Image has layout problem. + LAYOUT_PROBLEM = 22; + + // An asset had a URL reference that is malformed per RFC 1738 convention. + MALFORMED_URL = 23; + + // The uploaded media bundle format is not allowed. + MEDIA_BUNDLE_NOT_ALLOWED = 24; + + // The media bundle is not compatible with the asset spec product type. + // (E.g. 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/google-cloud/protos/google/ads/googleads/v9/errors/merchant_center_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/merchant_center_error.proto new file mode 100644 index 00000000..b749907b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/merchant_center_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing merchant center errors. + +// Container for enum describing possible merchant center errors. +message MerchantCenterErrorEnum { + // Enum describing Merchant Center errors. + enum MerchantCenterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Merchant ID is either not found or not linked to the Google Ads customer. + MERCHANT_ID_CANNOT_BE_ACCESSED = 2; + + // Customer not allowlisted for Shopping in Performance Max Campaign. + CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/multiplier_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/multiplier_error.proto new file mode 100644 index 00000000..11b1e9bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/multiplier_error.proto @@ -0,0 +1,81 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MultiplierErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing multiplier errors. + +// Container for enum describing possible multiplier errors. +message MultiplierErrorEnum { + // Enum describing possible multiplier errors. + enum MultiplierError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Multiplier value is too high + MULTIPLIER_TOO_HIGH = 2; + + // Multiplier value is too low + MULTIPLIER_TOO_LOW = 3; + + // Too many fractional digits + TOO_MANY_FRACTIONAL_DIGITS = 4; + + // A multiplier cannot be set for this bidding strategy + MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5; + + // A multiplier cannot be set when there is no base bid (e.g., 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 vs. cpm) needs to match campaign's bidding strategy + MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/mutate_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/mutate_error.proto new file mode 100644 index 00000000..f37fdc54 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/mutate_error.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "MutateErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing mutate errors. + +// Container for enum describing possible mutate errors. +message MutateErrorEnum { + // Enum describing possible mutate errors. + enum MutateError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Requested resource was not found. + RESOURCE_NOT_FOUND = 3; + + // Cannot mutate the same resource twice in one request. + ID_EXISTS_IN_MULTIPLE_MUTATES = 7; + + // The field's contents don't match another field that represents the same + // data. + INCONSISTENT_FIELD_VALUES = 8; + + // Mutates are not allowed for the requested resource. + MUTATE_NOT_ALLOWED = 9; + + // The resource isn't in Google Ads. It belongs to another ads system. + RESOURCE_NOT_IN_GOOGLE_ADS = 10; + + // The resource being created already exists. + RESOURCE_ALREADY_EXISTS = 11; + + // This resource cannot be used with "validate_only". + RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY = 12; + + // This operation cannot be used with "partial_failure". + OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE = 16; + + // Attempt to write to read-only fields. + RESOURCE_READ_ONLY = 13; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/new_resource_creation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/new_resource_creation_error.proto new file mode 100644 index 00000000..4761317c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/new_resource_creation_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NewResourceCreationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing new resource creation errors. + +// Container for enum describing possible new resource creation errors. +message NewResourceCreationErrorEnum { + // Enum describing possible new resource creation errors. + enum NewResourceCreationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Do not set the id field while creating new resources. + CANNOT_SET_ID_FOR_CREATE = 2; + + // Creating more than one resource with the same temp ID is not allowed. + DUPLICATE_TEMP_IDS = 3; + + // Parent resource with specified temp ID failed validation, so no + // validation will be done for this child resource. + TEMP_ID_RESOURCE_HAD_ERRORS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/not_allowlisted_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/not_allowlisted_error.proto new file mode 100644 index 00000000..16e68680 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/not_allowlisted_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotAllowlistedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing not allowlisted errors. + +// Container for enum describing possible not allowlisted errors. +message NotAllowlistedErrorEnum { + // Enum describing possible not allowlisted errors. + enum NotAllowlistedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowlisted for accessing this feature. + CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/not_empty_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/not_empty_error.proto new file mode 100644 index 00000000..aae0e289 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/not_empty_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NotEmptyErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing not empty errors. + +// Container for enum describing possible not empty errors. +message NotEmptyErrorEnum { + // Enum describing possible not empty errors. + enum NotEmptyError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Empty list. + EMPTY_LIST = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/null_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/null_error.proto new file mode 100644 index 00000000..161b8473 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/null_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "NullErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing null errors. + +// Container for enum describing possible null errors. +message NullErrorEnum { + // Enum describing possible null errors. + enum NullError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Specified list/container must not contain any null elements + NULL_CONTENT = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/offline_user_data_job_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/offline_user_data_job_error.proto new file mode 100644 index 00000000..2391baaf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/offline_user_data_job_error.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing offline user data job errors. + +// Container for enum describing possible offline user data job errors. +message OfflineUserDataJobErrorEnum { + // Enum describing possible request errors. + enum OfflineUserDataJobError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The user list ID provided for the job is invalid. + INVALID_USER_LIST_ID = 3; + + // Type of the user list is not applicable for the job. + INVALID_USER_LIST_TYPE = 4; + + // Customer is not allowisted for using user ID in upload data. + NOT_ON_ALLOWLIST_FOR_USER_ID = 33; + + // Upload data is not compatible with the upload key type of the associated + // user list. + INCOMPATIBLE_UPLOAD_KEY_TYPE = 6; + + // The user identifier is missing valid data. + MISSING_USER_IDENTIFIER = 7; + + // The mobile ID is malformed. + INVALID_MOBILE_ID_FORMAT = 8; + + // Maximum number of user identifiers allowed per request is 100,000. + 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 value bucket must be a number from 1-10, except for remove + // operation where 0 will be accepted. + 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/operation_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/operation_access_denied_error.proto new file mode 100644 index 00000000..8101b4b6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/operation_access_denied_error.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperationAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing operation access denied errors. + +// Container for enum describing possible operation access denied errors. +message OperationAccessDeniedErrorEnum { + // Enum describing possible operation access denied errors. + enum OperationAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Unauthorized invocation of a service's method (get, mutate, etc.) + ACTION_NOT_PERMITTED = 2; + + // Unauthorized CREATE operation in invoking a service's mutate method. + CREATE_OPERATION_NOT_PERMITTED = 3; + + // Unauthorized REMOVE operation in invoking a service's mutate method. + REMOVE_OPERATION_NOT_PERMITTED = 4; + + // Unauthorized UPDATE operation in invoking a service's mutate method. + UPDATE_OPERATION_NOT_PERMITTED = 5; + + // A mutate action is not allowed on this resource, from this client. + MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6; + + // This operation is not permitted on this campaign type + OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7; + + // A CREATE operation may not set status to REMOVED. + CREATE_AS_REMOVED_NOT_PERMITTED = 8; + + // This operation is not allowed because the resource is removed. + OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9; + + // This operation is not permitted on this ad group type. + OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10; + + // The mutate is not allowed for this customer. + MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/operator_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/operator_error.proto new file mode 100644 index 00000000..f39d7e85 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/operator_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "OperatorErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing operator errors. + +// Container for enum describing possible operator errors. +message OperatorErrorEnum { + // Enum describing possible operator errors. + enum OperatorError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Operator not supported. + OPERATOR_NOT_SUPPORTED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/partial_failure_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/partial_failure_error.proto new file mode 100644 index 00000000..108e9091 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/partial_failure_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PartialFailureErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing partial failure errors. + +// Container for enum describing possible partial failure errors. +message PartialFailureErrorEnum { + // Enum describing possible partial failure errors. + enum PartialFailureError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The partial failure field was false in the request. + // This method requires this field be set to true. + PARTIAL_FAILURE_MODE_REQUIRED = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/payments_account_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/payments_account_error.proto new file mode 100644 index 00000000..ac90a707 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/payments_account_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing payments account service errors. + +// Container for enum describing possible errors in payments account service. +message PaymentsAccountErrorEnum { + // Enum describing possible errors in payments account service. + enum PaymentsAccountError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Manager customers are not supported for payments account service. + NOT_SUPPORTED_FOR_MANAGER_CUSTOMER = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/policy_finding_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/policy_finding_error.proto new file mode 100644 index 00000000..e6d4d8da --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/policy_finding_error.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyFindingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing policy finding errors. + +// Container for enum describing possible policy finding errors. +message PolicyFindingErrorEnum { + // Enum describing possible policy finding errors. + enum PolicyFindingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The resource has been disapproved since the policy summary includes + // policy topics of type PROHIBITED. + POLICY_FINDING = 2; + + // The given policy topic does not exist. + POLICY_TOPIC_NOT_FOUND = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/policy_validation_parameter_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/policy_validation_parameter_error.proto new file mode 100644 index 00000000..d8fa0bbf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/policy_validation_parameter_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyValidationParameterErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing policy validation parameter errors. + +// Container for enum describing possible policy validation parameter errors. +message PolicyValidationParameterErrorEnum { + // Enum describing possible policy validation parameter errors. + enum PolicyValidationParameterError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Ignorable policy topics are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS = 2; + + // Exempt policy violation keys are not supported for the ad type. + UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS = 3; + + // Cannot set ignorable policy topics and exempt policy violation keys in + // the same policy violation parameter. + CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/policy_violation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/policy_violation_error.proto new file mode 100644 index 00000000..31c90e41 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/policy_violation_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "PolicyViolationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing policy violation errors. + +// Container for enum describing possible policy violation errors. +message PolicyViolationErrorEnum { + // Enum describing possible policy violation errors. + enum PolicyViolationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A policy was violated. See PolicyViolationDetails for more detail. + POLICY_ERROR = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/query_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/query_error.proto new file mode 100644 index 00000000..8cb20684 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/query_error.proto @@ -0,0 +1,227 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QueryErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing query errors. + +// Container for enum describing possible query errors. +message QueryErrorEnum { + // Enum describing possible query errors. + enum QueryError { + // Name unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Returned if all other query error reasons are not applicable. + QUERY_ERROR = 50; + + // A condition used in the query references an invalid enum constant. + BAD_ENUM_CONSTANT = 18; + + // Query contains an invalid escape sequence. + BAD_ESCAPE_SEQUENCE = 7; + + // Field name is invalid. + BAD_FIELD_NAME = 12; + + // Limit value is invalid (i.e. 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. I.e., 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/google-cloud/protos/google/ads/googleads/v9/errors/quota_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/quota_error.proto new file mode 100644 index 00000000..9993344d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/quota_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "QuotaErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing quota errors. + +// Container for enum describing possible quota errors. +message QuotaErrorEnum { + // Enum describing possible quota errors. + enum QuotaError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too many requests. + RESOURCE_EXHAUSTED = 2; + + // Access is prohibited. + ACCESS_PROHIBITED = 3; + + // Too many requests in a short amount of time. + RESOURCE_TEMPORARILY_EXHAUSTED = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/range_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/range_error.proto new file mode 100644 index 00000000..9bab3f87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/range_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RangeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing range errors. + +// Container for enum describing possible range errors. +message RangeErrorEnum { + // Enum describing possible range errors. + enum RangeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Too low. + TOO_LOW = 2; + + // Too high. + TOO_HIGH = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/reach_plan_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/reach_plan_error.proto new file mode 100644 index 00000000..f32aa697 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/reach_plan_error.proto @@ -0,0 +1,48 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors generated from ReachPlanService. + +// Container for enum describing possible errors returned from +// the ReachPlanService. +message ReachPlanErrorEnum { + // Enum describing possible errors from ReachPlanService. + enum ReachPlanError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Not forecastable due to missing rate card data. + NOT_FORECASTABLE_MISSING_RATE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/recommendation_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/recommendation_error.proto new file mode 100644 index 00000000..65850f1e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/recommendation_error.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing errors from applying a recommendation. + +// Container for enum describing possible errors from applying a recommendation. +message RecommendationErrorEnum { + // Enum describing possible errors from applying a recommendation. + enum RecommendationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified budget amount is too low e.g. 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. e.g. 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. e.g. 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/region_code_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/region_code_error.proto new file mode 100644 index 00000000..12834b61 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/region_code_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RegionCodeErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing region code errors. + +// Container for enum describing possible region code errors. +message RegionCodeErrorEnum { + // Enum describing possible region code errors. + enum RegionCodeError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Invalid region code. + INVALID_REGION_CODE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/request_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/request_error.proto new file mode 100644 index 00000000..20e254bd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/request_error.proto @@ -0,0 +1,119 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "RequestErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing request errors. + +// Container for enum describing possible request errors. +message RequestErrorEnum { + // Enum describing possible request errors. + enum RequestError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Resource name is required for this request. + RESOURCE_NAME_MISSING = 3; + + // Resource name provided is malformed. + RESOURCE_NAME_MALFORMED = 4; + + // Resource name provided is malformed. + BAD_RESOURCE_ID = 17; + + // Customer ID is invalid. + INVALID_CUSTOMER_ID = 16; + + // Mutate operation should have either create, update, or remove specified. + OPERATION_REQUIRED = 5; + + // Requested resource not found. + RESOURCE_NOT_FOUND = 6; + + // Next page token specified in user request is invalid. + INVALID_PAGE_TOKEN = 7; + + // Next page token specified in user request has expired. + EXPIRED_PAGE_TOKEN = 8; + + // Page size specified in user request is invalid. + INVALID_PAGE_SIZE = 22; + + // 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/resource_access_denied_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/resource_access_denied_error.proto new file mode 100644 index 00000000..6d33d6f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/resource_access_denied_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceAccessDeniedErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing resource access denied errors. + +// Container for enum describing possible resource access denied errors. +message ResourceAccessDeniedErrorEnum { + // Enum describing possible resource access denied errors. + enum ResourceAccessDeniedError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // User did not have write access. + WRITE_ACCESS_DENIED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/resource_count_limit_exceeded_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/resource_count_limit_exceeded_error.proto new file mode 100644 index 00000000..d5b8f159 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/resource_count_limit_exceeded_error.proto @@ -0,0 +1,93 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ResourceCountLimitExceededErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing resource count limit exceeded errors. + +// Container for enum describing possible resource count limit exceeded errors. +message ResourceCountLimitExceededErrorEnum { + // Enum describing possible resource count limit exceeded errors. + enum ResourceCountLimitExceededError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Indicates that this request would exceed the number of allowed resources + // for the Google Ads account. The exact resource type and limit being + // checked can be inferred from accountLimitType. + ACCOUNT_LIMIT = 2; + + // Indicates that this request would exceed the number of allowed resources + // in a Campaign. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // Campaign involved is given by enclosingId. + CAMPAIGN_LIMIT = 3; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group. The exact resource type and limit being checked can be + // inferred from accountLimitType, and the numeric id of the + // ad group involved is given by enclosingId. + ADGROUP_LIMIT = 4; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group ad. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the enclosingId + // contains the ad group id followed by the ad id, separated by a single + // comma (,). + AD_GROUP_AD_LIMIT = 5; + + // Indicates that this request would exceed the number of allowed resources + // in an ad group criterion. The exact resource type and limit being checked + // can be inferred from accountLimitType, and the + // enclosingId contains the ad group id followed by the + // criterion id, separated by a single comma (,). + AD_GROUP_CRITERION_LIMIT = 6; + + // Indicates that this request would exceed the number of allowed resources + // in this shared set. The exact resource type and limit being checked can + // be inferred from accountLimitType, and the numeric id of the + // shared set involved is given by enclosingId. + SHARED_SET_LIMIT = 7; + + // Exceeds a limit related to a matching function. + MATCHING_FUNCTION_LIMIT = 8; + + // The response for this request would exceed the maximum number of rows + // that can be returned. + RESPONSE_ROW_LIMIT_EXCEEDED = 9; + + // This request would exceed a limit on the number of allowed resources. + // The details of which type of limit was exceeded will eventually be + // returned in ErrorDetails. + RESOURCE_LIMIT = 10; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/setting_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/setting_error.proto new file mode 100644 index 00000000..9230efc6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/setting_error.proto @@ -0,0 +1,85 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SettingErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing setting errors. + +// Container for enum describing possible setting errors. +message SettingErrorEnum { + // Enum describing possible setting errors. + enum SettingError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The campaign setting is not available for this Google Ads account. + SETTING_TYPE_IS_NOT_AVAILABLE = 3; + + // The setting is not compatible with the campaign. + SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4; + + // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See + // CriterionTypeGroup documentation for CriterionTypeGroups allowed + // in Campaign or AdGroup TargetingSettings. + TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5; + + // TargetingSetting must not explicitly + // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, + // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in + // which case the system will set them to true automatically). + TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6; + + // TargetingSetting cannot change any of + // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, + // INCOME_RANGE) from true to false. + TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7; + + // At least one feed id should be present. + DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8; + + // The supplied DynamicSearchAdsSetting contains an invalid domain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9; + + // The supplied DynamicSearchAdsSetting contains a subdomain name. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10; + + // The supplied DynamicSearchAdsSetting contains an invalid language code. + DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11; + + // TargetingSettings in search campaigns should not have + // CriterionTypeGroup.PLACEMENT set to targetAll. + TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12; + + // The setting value is not compatible with the campaign type. + SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN = 20; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/shared_criterion_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/shared_criterion_error.proto new file mode 100644 index 00000000..900c2a9b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/shared_criterion_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing shared criterion errors. + +// Container for enum describing possible shared criterion errors. +message SharedCriterionErrorEnum { + // Enum describing possible shared criterion errors. + enum SharedCriterionError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The criterion is not appropriate for the shared set type. + CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/shared_set_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/shared_set_error.proto new file mode 100644 index 00000000..ffe828f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/shared_set_error.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing shared set errors. + +// Container for enum describing possible shared set errors. +message SharedSetErrorEnum { + // Enum describing possible shared set errors. + enum SharedSetError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The customer cannot create this type of shared set. + CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2; + + // A shared set with this name already exists. + DUPLICATE_NAME = 3; + + // Removed shared sets cannot be mutated. + SHARED_SET_REMOVED = 4; + + // The shared set cannot be removed because it is in use. + SHARED_SET_IN_USE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/size_limit_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/size_limit_error.proto new file mode 100644 index 00000000..673e5857 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/size_limit_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "SizeLimitErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing size limit errors. + +// Container for enum describing possible size limit errors. +message SizeLimitErrorEnum { + // Enum describing possible size limit errors. + enum SizeLimitError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The number of entries in the request exceeds the system limit. + REQUEST_SIZE_LIMIT_EXCEEDED = 2; + + // The number of entries in the response exceeds the system limit. + RESPONSE_SIZE_LIMIT_EXCEEDED = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/string_format_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/string_format_error.proto new file mode 100644 index 00000000..d01e1134 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/string_format_error.proto @@ -0,0 +1,50 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringFormatErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing string format errors. + +// Container for enum describing possible string format errors. +message StringFormatErrorEnum { + // Enum describing possible string format errors. + enum StringFormatError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The input string value contains disallowed characters. + ILLEGAL_CHARS = 2; + + // The input string value is invalid for the associated field. + INVALID_FORMAT = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/string_length_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/string_length_error.proto new file mode 100644 index 00000000..906e4a22 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/string_length_error.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "StringLengthErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing string length errors. + +// Container for enum describing possible string length errors. +message StringLengthErrorEnum { + // Enum describing possible string length errors. + enum StringLengthError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The specified field should have a least one non-whitespace character in + // it. + EMPTY = 4; + + // Too short. + TOO_SHORT = 2; + + // Too long. + TOO_LONG = 3; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/third_party_app_analytics_link_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/third_party_app_analytics_link_error.proto new file mode 100644 index 00000000..72ec1268 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/third_party_app_analytics_link_error.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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing ThirdPartyAppAnalyticsLink errors. + +// Container for enum describing possible third party app analytics link errors. +message ThirdPartyAppAnalyticsLinkErrorEnum { + // Enum describing possible third party app analytics link errors. + enum ThirdPartyAppAnalyticsLinkError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The provided analytics provider ID is invalid. + INVALID_ANALYTICS_PROVIDER_ID = 2; + + // The provided mobile app ID is invalid. + INVALID_MOBILE_APP_ID = 3; + + // The mobile app corresponding to the provided app ID is not + // active/enabled. + MOBILE_APP_IS_NOT_ENABLED = 4; + + // Regenerating shareable link ID is only allowed on active links + CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/time_zone_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/time_zone_error.proto new file mode 100644 index 00000000..ec0b7c10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/time_zone_error.proto @@ -0,0 +1,47 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "TimeZoneErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing time zone errors. + +// Container for enum describing possible time zone errors. +message TimeZoneErrorEnum { + // Enum describing possible currency code errors. + enum TimeZoneError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Time zone is not valid. + INVALID_TIME_ZONE = 5; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/url_field_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/url_field_error.proto new file mode 100644 index 00000000..00171ede --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/url_field_error.proto @@ -0,0 +1,217 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UrlFieldErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing url field errors. + +// Container for enum describing possible url field errors. +message UrlFieldErrorEnum { + // Enum describing possible url field errors. + enum UrlFieldError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // The tracking url template is invalid. + INVALID_TRACKING_URL_TEMPLATE = 2; + + // The tracking url template contains invalid tag. + INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3; + + // The tracking url template must contain at least one tag (e.g. {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 (i.e. {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 + // (i.e. {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 (i.e. {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 + // (i.e. {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. (E.g. "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 (i.e. {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 (e.g. {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, e.g. 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/google-cloud/protos/google/ads/googleads/v9/errors/user_data_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/user_data_error.proto new file mode 100644 index 00000000..a9b39d02 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/user_data_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserDataErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing user data errors. + +// Container for enum describing possible user data errors. +message UserDataErrorEnum { + // Enum describing possible request errors. + enum UserDataError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Customer is not allowed to perform operations related to Customer Match. + OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED = 2; + + // Maximum number of user identifiers allowed for each mutate is 100. + TOO_MANY_USER_IDENTIFIERS = 3; + + // Current user list is not applicable for the given customer. + USER_LIST_NOT_APPLICABLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/user_list_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/user_list_error.proto new file mode 100644 index 00000000..01f9a57e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/user_list_error.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "UserListErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing user list errors. + +// Container for enum describing possible user list errors. +message UserListErrorEnum { + // Enum describing possible user list errors. + enum UserListError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Creating and updating external remarketing user lists is not supported. + EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2; + + // Concrete type of user list is required. + CONCRETE_TYPE_REQUIRED = 3; + + // Creating/updating user list conversion types requires specifying the + // conversion type Id. + CONVERSION_TYPE_ID_REQUIRED = 4; + + // Remarketing user list cannot have duplicate conversion types. + DUPLICATE_CONVERSION_TYPES = 5; + + // Conversion type is invalid/unknown. + INVALID_CONVERSION_TYPE = 6; + + // User list description is empty or invalid. + INVALID_DESCRIPTION = 7; + + // User list name is empty or invalid. + INVALID_NAME = 8; + + // Type of the UserList does not match. + INVALID_TYPE = 9; + + // Embedded logical user lists are not allowed. + CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10; + + // User list rule operand is invalid. + INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11; + + // Name is already being used for another user list for the account. + NAME_ALREADY_USED = 12; + + // Name is required when creating a new conversion type. + NEW_CONVERSION_TYPE_NAME_REQUIRED = 13; + + // The given conversion type name has been used. + CONVERSION_TYPE_NAME_ALREADY_USED = 14; + + // Only an owner account may edit a user list. + OWNERSHIP_REQUIRED_FOR_SET = 15; + + // Creating user list without setting type in oneof user_list field, or + // creating/updating read-only user list types is not allowed. + USER_LIST_MUTATE_NOT_SUPPORTED = 16; + + // Rule is invalid. + INVALID_RULE = 17; + + // The specified date range is empty. + INVALID_DATE_RANGE = 27; + + // A UserList which is privacy sensitive or legal rejected cannot be mutated + // by external users. + CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28; + + // Maximum number of rulebased user lists a customer can have. + MAX_NUM_RULEBASED_USERLISTS = 29; + + // BasicUserList's billable record field cannot be modified once it is set. + CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30; + + // crm_based_user_list.app_id field must be set when upload_key_type is + // MOBILE_ADVERTISING_ID. + APP_ID_NOT_SET = 31; + + // Name of the user list is reserved for system generated lists and cannot + // be used. + USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32; + + // Advertiser needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (e.g., 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; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/errors/youtube_video_registration_error.proto b/google-cloud/protos/google/ads/googleads/v9/errors/youtube_video_registration_error.proto new file mode 100644 index 00000000..322eff89 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/errors/youtube_video_registration_error.proto @@ -0,0 +1,53 @@ +// 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.ads.googleads.v9.errors; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "YoutubeVideoRegistrationErrorProto"; +option java_package = "com.google.ads.googleads.v9.errors"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Errors"; +option ruby_package = "Google::Ads::GoogleAds::V9::Errors"; + +// Proto file describing YouTube video registration errors. + +// Container for enum describing YouTube video registration errors. +message YoutubeVideoRegistrationErrorEnum { + // Enum describing YouTube video registration errors. + enum YoutubeVideoRegistrationError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // Video to be registered wasn't found. + VIDEO_NOT_FOUND = 2; + + // Video to be registered is not accessible (e.g. private). + VIDEO_NOT_ACCESSIBLE = 3; + + // Video to be registered is not eligible (e.g. mature content). + VIDEO_NOT_ELIGIBLE = 4; + } + + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/googleads_gapic.yaml b/google-cloud/protos/google/ads/googleads/v9/googleads_gapic.yaml new file mode 100644 index 00000000..2a9f65a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/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.V9.Services + go: + package_name: google.golang.org/google/ads/googleads/v9/services + java: + package_name: com.google.ads.googleads.v9.services + nodejs: + package_name: v9.services + php: + package_name: Google\Ads\GoogleAds\V9\Services + python: + package_name: google.ads.googleads_v9.gapic.services + ruby: + package_name: Google::Ads::Googleads::V9::Services +interfaces: +- name: google.ads.googleads.v9.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/google-cloud/protos/google/ads/googleads/v9/googleads_grpc_service_config.json b/google-cloud/protos/google/ads/googleads/v9/googleads_grpc_service_config.json new file mode 100755 index 00000000..f629b75e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/googleads_grpc_service_config.json @@ -0,0 +1,474 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.ads.googleads.v9.services.AccessibleBiddingStrategyService" + }, + { + "service": "google.ads.googleads.v9.services.AccountBudgetProposalService" + }, + { + "service": "google.ads.googleads.v9.services.AccountBudgetService" + }, + { + "service": "google.ads.googleads.v9.services.AccountLinkService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupAdAssetViewService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupAdLabelService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupAdService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupAssetService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupAudienceViewService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupBidModifierService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupCriterionCustomizerService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupCriterionLabelService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupCriterionService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupCriterionSimulationService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupCustomizerService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupExtensionSettingService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupFeedService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupLabelService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupService" + }, + { + "service": "google.ads.googleads.v9.services.AdGroupSimulationService" + }, + { + "service": "google.ads.googleads.v9.services.AdParameterService" + }, + { + "service": "google.ads.googleads.v9.services.AdScheduleViewService" + }, + { + "service": "google.ads.googleads.v9.services.AdService" + }, + { + "service": "google.ads.googleads.v9.services.AgeRangeViewService" + }, + { + "service": "google.ads.googleads.v9.services.AssetFieldTypeViewService" + }, + { + "service": "google.ads.googleads.v9.services.AssetGroupAssetService" + }, + { + "service": "google.ads.googleads.v9.services.AssetGroupListingGroupFilterService" + }, + { + "service": "google.ads.googleads.v9.services.AssetGroupService" + }, + { + "service": "google.ads.googleads.v9.services.AssetService" + }, + { + "service": "google.ads.googleads.v9.services.AssetSetAssetService" + }, + { + "service": "google.ads.googleads.v9.services.AssetSetService" + }, + { + "service": "google.ads.googleads.v9.services.BatchJobService" + }, + { + "service": "google.ads.googleads.v9.services.BiddingDataExclusionService" + }, + { + "service": "google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService" + }, + { + "service": "google.ads.googleads.v9.services.BiddingStrategyService" + }, + { + "service": "google.ads.googleads.v9.services.BiddingStrategySimulationService" + }, + { + "service": "google.ads.googleads.v9.services.BillingSetupService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignAssetService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignAssetSetService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignAudienceViewService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignBidModifierService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignBudgetService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignConversionGoalService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignCriterionService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignCriterionSimulationService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignCustomizerService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignDraftService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignExperimentService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignExtensionSettingService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignFeedService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignLabelService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignSharedSetService" + }, + { + "service": "google.ads.googleads.v9.services.CampaignSimulationService" + }, + { + "service": "google.ads.googleads.v9.services.CarrierConstantService" + }, + { + "service": "google.ads.googleads.v9.services.ChangeStatusService" + }, + { + "service": "google.ads.googleads.v9.services.ClickViewService" + }, + { + "service": "google.ads.googleads.v9.services.CombinedAudienceService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionActionService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionAdjustmentUploadService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionCustomVariableService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionGoalCampaignConfigService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionUploadService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionValueRuleService" + }, + { + "service": "google.ads.googleads.v9.services.ConversionValueRuleSetService" + }, + { + "service": "google.ads.googleads.v9.services.CurrencyConstantService" + }, + { + "service": "google.ads.googleads.v9.services.CustomAudienceService" + }, + { + "service": "google.ads.googleads.v9.services.CustomConversionGoalService" + }, + { + "service": "google.ads.googleads.v9.services.CustomInterestService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerAssetService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerClientLinkService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerClientService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerConversionGoalService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerCustomizerService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerExtensionSettingService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerFeedService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerLabelService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerManagerLinkService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerNegativeCriterionService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerUserAccessInvitationService" + }, + { + "service": "google.ads.googleads.v9.services.CustomerUserAccessService" + }, + { + "service": "google.ads.googleads.v9.services.CustomizerAttributeService" + }, + { + "service": "google.ads.googleads.v9.services.DetailPlacementViewService" + }, + { + "service": "google.ads.googleads.v9.services.DetailedDemographicService" + }, + { + "service": "google.ads.googleads.v9.services.DisplayKeywordViewService" + }, + { + "service": "google.ads.googleads.v9.services.DistanceViewService" + }, + { + "service": "google.ads.googleads.v9.services.DomainCategoryService" + }, + { + "service": "google.ads.googleads.v9.services.DynamicSearchAdsSearchTermViewService" + }, + { + "service": "google.ads.googleads.v9.services.ExpandedLandingPageViewService" + }, + { + "service": "google.ads.googleads.v9.services.ExtensionFeedItemService" + }, + { + "service": "google.ads.googleads.v9.services.FeedItemService" + }, + { + "service": "google.ads.googleads.v9.services.FeedItemSetLinkService" + }, + { + "service": "google.ads.googleads.v9.services.FeedItemSetService" + }, + { + "service": "google.ads.googleads.v9.services.FeedItemTargetService" + }, + { + "service": "google.ads.googleads.v9.services.FeedMappingService" + }, + { + "service": "google.ads.googleads.v9.services.FeedPlaceholderViewService" + }, + { + "service": "google.ads.googleads.v9.services.FeedService" + }, + { + "service": "google.ads.googleads.v9.services.GenderViewService" + }, + { + "service": "google.ads.googleads.v9.services.GeoTargetConstantService" + }, + { + "service": "google.ads.googleads.v9.services.GeographicViewService" + }, + { + "service": "google.ads.googleads.v9.services.GoogleAdsFieldService" + }, + { + "service": "google.ads.googleads.v9.services.GoogleAdsService" + }, + { + "service": "google.ads.googleads.v9.services.GroupPlacementViewService" + }, + { + "service": "google.ads.googleads.v9.services.HotelGroupViewService" + }, + { + "service": "google.ads.googleads.v9.services.HotelPerformanceViewService" + }, + { + "service": "google.ads.googleads.v9.services.IncomeRangeViewService" + }, + { + "service": "google.ads.googleads.v9.services.InvoiceService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanAdGroupService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanCampaignService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanIdeaService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordPlanService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordThemeConstantService" + }, + { + "service": "google.ads.googleads.v9.services.KeywordViewService" + }, + { + "service": "google.ads.googleads.v9.services.LabelService" + }, + { + "service": "google.ads.googleads.v9.services.LandingPageViewService" + }, + { + "service": "google.ads.googleads.v9.services.LanguageConstantService" + }, + { + "service": "google.ads.googleads.v9.services.LifeEventService" + }, + { + "service": "google.ads.googleads.v9.services.LocationViewService" + }, + { + "service": "google.ads.googleads.v9.services.ManagedPlacementViewService" + }, + { + "service": "google.ads.googleads.v9.services.MediaFileService" + }, + { + "service": "google.ads.googleads.v9.services.MerchantCenterLinkService" + }, + { + "service": "google.ads.googleads.v9.services.MobileAppCategoryConstantService" + }, + { + "service": "google.ads.googleads.v9.services.MobileDeviceConstantService" + }, + { + "service": "google.ads.googleads.v9.services.OfflineUserDataJobService" + }, + { + "service": "google.ads.googleads.v9.services.OperatingSystemVersionConstantService" + }, + { + "service": "google.ads.googleads.v9.services.PaidOrganicSearchTermViewService" + }, + { + "service": "google.ads.googleads.v9.services.ParentalStatusViewService" + }, + { + "service": "google.ads.googleads.v9.services.PaymentsAccountService" + }, + { + "service": "google.ads.googleads.v9.services.ProductBiddingCategoryConstantService" + }, + { + "service": "google.ads.googleads.v9.services.ProductGroupViewService" + }, + { + "service": "google.ads.googleads.v9.services.ReachPlanService" + }, + { + "service": "google.ads.googleads.v9.services.RecommendationService" + }, + { + "service": "google.ads.googleads.v9.services.RemarketingActionService" + }, + { + "service": "google.ads.googleads.v9.services.SearchTermViewService" + }, + { + "service": "google.ads.googleads.v9.services.SharedCriterionService" + }, + { + "service": "google.ads.googleads.v9.services.SharedSetService" + }, + { + "service": "google.ads.googleads.v9.services.ShoppingPerformanceViewService" + }, + { + "service": "google.ads.googleads.v9.services.SmartCampaignSearchTermViewService" + }, + { + "service": "google.ads.googleads.v9.services.SmartCampaignSettingService" + }, + { + "service": "google.ads.googleads.v9.services.SmartCampaignSuggestService" + }, + { + "service": "google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService" + }, + { + "service": "google.ads.googleads.v9.services.TopicConstantService" + }, + { + "service": "google.ads.googleads.v9.services.TopicViewService" + }, + { + "service": "google.ads.googleads.v9.services.UserDataService" + }, + { + "service": "google.ads.googleads.v9.services.UserInterestService" + }, + { + "service": "google.ads.googleads.v9.services.UserListService" + }, + { + "service": "google.ads.googleads.v9.services.UserLocationViewService" + }, + { + "service": "google.ads.googleads.v9.services.VideoService" + }, + { + "service": "google.ads.googleads.v9.services.WebpageViewService" + } + ], + "timeout": "3600s", + "retryPolicy": { + "initialBackoff": "5s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/ads/googleads/v9/googleads_v9.yaml b/google-cloud/protos/google/ads/googleads/v9/googleads_v9.yaml new file mode 100644 index 00000000..31d9d924 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/googleads_v9.yaml @@ -0,0 +1,1514 @@ +type: google.api.Service +config_version: 3 +name: googleads.googleapis.com +title: Google Ads API + +apis: +- name: google.ads.googleads.v9.services.AccessibleBiddingStrategyService +- name: google.ads.googleads.v9.services.AccountBudgetProposalService +- name: google.ads.googleads.v9.services.AccountBudgetService +- name: google.ads.googleads.v9.services.AccountLinkService +- name: google.ads.googleads.v9.services.AdGroupAdAssetViewService +- name: google.ads.googleads.v9.services.AdGroupAdLabelService +- name: google.ads.googleads.v9.services.AdGroupAdService +- name: google.ads.googleads.v9.services.AdGroupAssetService +- name: google.ads.googleads.v9.services.AdGroupAudienceViewService +- name: google.ads.googleads.v9.services.AdGroupBidModifierService +- name: google.ads.googleads.v9.services.AdGroupCriterionCustomizerService +- name: google.ads.googleads.v9.services.AdGroupCriterionLabelService +- name: google.ads.googleads.v9.services.AdGroupCriterionService +- name: google.ads.googleads.v9.services.AdGroupCriterionSimulationService +- name: google.ads.googleads.v9.services.AdGroupCustomizerService +- name: google.ads.googleads.v9.services.AdGroupExtensionSettingService +- name: google.ads.googleads.v9.services.AdGroupFeedService +- name: google.ads.googleads.v9.services.AdGroupLabelService +- name: google.ads.googleads.v9.services.AdGroupService +- name: google.ads.googleads.v9.services.AdGroupSimulationService +- name: google.ads.googleads.v9.services.AdParameterService +- name: google.ads.googleads.v9.services.AdScheduleViewService +- name: google.ads.googleads.v9.services.AdService +- name: google.ads.googleads.v9.services.AgeRangeViewService +- name: google.ads.googleads.v9.services.AssetFieldTypeViewService +- name: google.ads.googleads.v9.services.AssetGroupAssetService +- name: google.ads.googleads.v9.services.AssetGroupListingGroupFilterService +- name: google.ads.googleads.v9.services.AssetGroupService +- name: google.ads.googleads.v9.services.AssetService +- name: google.ads.googleads.v9.services.AssetSetAssetService +- name: google.ads.googleads.v9.services.AssetSetService +- name: google.ads.googleads.v9.services.BatchJobService +- name: google.ads.googleads.v9.services.BiddingDataExclusionService +- name: google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService +- name: google.ads.googleads.v9.services.BiddingStrategyService +- name: google.ads.googleads.v9.services.BiddingStrategySimulationService +- name: google.ads.googleads.v9.services.BillingSetupService +- name: google.ads.googleads.v9.services.CampaignAssetService +- name: google.ads.googleads.v9.services.CampaignAssetSetService +- name: google.ads.googleads.v9.services.CampaignAudienceViewService +- name: google.ads.googleads.v9.services.CampaignBidModifierService +- name: google.ads.googleads.v9.services.CampaignBudgetService +- name: google.ads.googleads.v9.services.CampaignConversionGoalService +- name: google.ads.googleads.v9.services.CampaignCriterionService +- name: google.ads.googleads.v9.services.CampaignCriterionSimulationService +- name: google.ads.googleads.v9.services.CampaignCustomizerService +- name: google.ads.googleads.v9.services.CampaignDraftService +- name: google.ads.googleads.v9.services.CampaignExperimentService +- name: google.ads.googleads.v9.services.CampaignExtensionSettingService +- name: google.ads.googleads.v9.services.CampaignFeedService +- name: google.ads.googleads.v9.services.CampaignLabelService +- name: google.ads.googleads.v9.services.CampaignService +- name: google.ads.googleads.v9.services.CampaignSharedSetService +- name: google.ads.googleads.v9.services.CampaignSimulationService +- name: google.ads.googleads.v9.services.CarrierConstantService +- name: google.ads.googleads.v9.services.ChangeStatusService +- name: google.ads.googleads.v9.services.ClickViewService +- name: google.ads.googleads.v9.services.CombinedAudienceService +- name: google.ads.googleads.v9.services.ConversionActionService +- name: google.ads.googleads.v9.services.ConversionAdjustmentUploadService +- name: google.ads.googleads.v9.services.ConversionCustomVariableService +- name: google.ads.googleads.v9.services.ConversionGoalCampaignConfigService +- name: google.ads.googleads.v9.services.ConversionUploadService +- name: google.ads.googleads.v9.services.ConversionValueRuleService +- name: google.ads.googleads.v9.services.ConversionValueRuleSetService +- name: google.ads.googleads.v9.services.CurrencyConstantService +- name: google.ads.googleads.v9.services.CustomAudienceService +- name: google.ads.googleads.v9.services.CustomConversionGoalService +- name: google.ads.googleads.v9.services.CustomInterestService +- name: google.ads.googleads.v9.services.CustomerAssetService +- name: google.ads.googleads.v9.services.CustomerClientLinkService +- name: google.ads.googleads.v9.services.CustomerClientService +- name: google.ads.googleads.v9.services.CustomerConversionGoalService +- name: google.ads.googleads.v9.services.CustomerCustomizerService +- name: google.ads.googleads.v9.services.CustomerExtensionSettingService +- name: google.ads.googleads.v9.services.CustomerFeedService +- name: google.ads.googleads.v9.services.CustomerLabelService +- name: google.ads.googleads.v9.services.CustomerManagerLinkService +- name: google.ads.googleads.v9.services.CustomerNegativeCriterionService +- name: google.ads.googleads.v9.services.CustomerService +- name: google.ads.googleads.v9.services.CustomerUserAccessInvitationService +- name: google.ads.googleads.v9.services.CustomerUserAccessService +- name: google.ads.googleads.v9.services.CustomizerAttributeService +- name: google.ads.googleads.v9.services.DetailPlacementViewService +- name: google.ads.googleads.v9.services.DetailedDemographicService +- name: google.ads.googleads.v9.services.DisplayKeywordViewService +- name: google.ads.googleads.v9.services.DistanceViewService +- name: google.ads.googleads.v9.services.DomainCategoryService +- name: google.ads.googleads.v9.services.DynamicSearchAdsSearchTermViewService +- name: google.ads.googleads.v9.services.ExpandedLandingPageViewService +- name: google.ads.googleads.v9.services.ExtensionFeedItemService +- name: google.ads.googleads.v9.services.FeedItemService +- name: google.ads.googleads.v9.services.FeedItemSetLinkService +- name: google.ads.googleads.v9.services.FeedItemSetService +- name: google.ads.googleads.v9.services.FeedItemTargetService +- name: google.ads.googleads.v9.services.FeedMappingService +- name: google.ads.googleads.v9.services.FeedPlaceholderViewService +- name: google.ads.googleads.v9.services.FeedService +- name: google.ads.googleads.v9.services.GenderViewService +- name: google.ads.googleads.v9.services.GeoTargetConstantService +- name: google.ads.googleads.v9.services.GeographicViewService +- name: google.ads.googleads.v9.services.GoogleAdsFieldService +- name: google.ads.googleads.v9.services.GoogleAdsService +- name: google.ads.googleads.v9.services.GroupPlacementViewService +- name: google.ads.googleads.v9.services.HotelGroupViewService +- name: google.ads.googleads.v9.services.HotelPerformanceViewService +- name: google.ads.googleads.v9.services.IncomeRangeViewService +- name: google.ads.googleads.v9.services.InvoiceService +- name: google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService +- name: google.ads.googleads.v9.services.KeywordPlanAdGroupService +- name: google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService +- name: google.ads.googleads.v9.services.KeywordPlanCampaignService +- name: google.ads.googleads.v9.services.KeywordPlanIdeaService +- name: google.ads.googleads.v9.services.KeywordPlanService +- name: google.ads.googleads.v9.services.KeywordThemeConstantService +- name: google.ads.googleads.v9.services.KeywordViewService +- name: google.ads.googleads.v9.services.LabelService +- name: google.ads.googleads.v9.services.LandingPageViewService +- name: google.ads.googleads.v9.services.LanguageConstantService +- name: google.ads.googleads.v9.services.LifeEventService +- name: google.ads.googleads.v9.services.LocationViewService +- name: google.ads.googleads.v9.services.ManagedPlacementViewService +- name: google.ads.googleads.v9.services.MediaFileService +- name: google.ads.googleads.v9.services.MerchantCenterLinkService +- name: google.ads.googleads.v9.services.MobileAppCategoryConstantService +- name: google.ads.googleads.v9.services.MobileDeviceConstantService +- name: google.ads.googleads.v9.services.OfflineUserDataJobService +- name: google.ads.googleads.v9.services.OperatingSystemVersionConstantService +- name: google.ads.googleads.v9.services.PaidOrganicSearchTermViewService +- name: google.ads.googleads.v9.services.ParentalStatusViewService +- name: google.ads.googleads.v9.services.PaymentsAccountService +- name: google.ads.googleads.v9.services.ProductBiddingCategoryConstantService +- name: google.ads.googleads.v9.services.ProductGroupViewService +- name: google.ads.googleads.v9.services.ReachPlanService +- name: google.ads.googleads.v9.services.RecommendationService +- name: google.ads.googleads.v9.services.RemarketingActionService +- name: google.ads.googleads.v9.services.SearchTermViewService +- name: google.ads.googleads.v9.services.SharedCriterionService +- name: google.ads.googleads.v9.services.SharedSetService +- name: google.ads.googleads.v9.services.ShoppingPerformanceViewService +- name: google.ads.googleads.v9.services.SmartCampaignSearchTermViewService +- name: google.ads.googleads.v9.services.SmartCampaignSettingService +- name: google.ads.googleads.v9.services.SmartCampaignSuggestService +- name: google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService +- name: google.ads.googleads.v9.services.TopicConstantService +- name: google.ads.googleads.v9.services.TopicViewService +- name: google.ads.googleads.v9.services.UserDataService +- name: google.ads.googleads.v9.services.UserInterestService +- name: google.ads.googleads.v9.services.UserListService +- name: google.ads.googleads.v9.services.UserLocationViewService +- name: google.ads.googleads.v9.services.VideoService +- name: google.ads.googleads.v9.services.WebpageViewService + +types: +- name: google.ads.googleads.v9.errors.GoogleAdsFailure +- name: google.ads.googleads.v9.resources.BatchJob.BatchJobMetadata +- name: google.ads.googleads.v9.services.CreateCampaignExperimentMetadata + +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.v9.services.AccessibleBiddingStrategyService.GetAccessibleBiddingStrategy + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AccountBudgetProposalService.GetAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AccountBudgetProposalService.MutateAccountBudgetProposal + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AccountBudgetService.GetAccountBudget + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.AccountLinkService.*' + deadline: 600.0 + - selector: google.ads.googleads.v9.services.AdGroupAdAssetViewService.GetAdGroupAdAssetView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAdLabelService.GetAdGroupAdLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAdLabelService.MutateAdGroupAdLabels + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAdService.GetAdGroupAd + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAdService.MutateAdGroupAds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAssetService.GetAdGroupAsset + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAssetService.MutateAdGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupAudienceViewService.GetAdGroupAudienceView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupBidModifierService.GetAdGroupBidModifier + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionLabelService.GetAdGroupCriterionLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionService.GetAdGroupCriterion + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionService.MutateAdGroupCriteria + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupCustomizerService.MutateAdGroupCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupExtensionSettingService.GetAdGroupExtensionSetting + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupFeedService.GetAdGroupFeed + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupFeedService.MutateAdGroupFeeds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupLabelService.GetAdGroupLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupLabelService.MutateAdGroupLabels + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupService.GetAdGroup + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupService.MutateAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdGroupSimulationService.GetAdGroupSimulation + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdParameterService.GetAdParameter + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdParameterService.MutateAdParameters + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdScheduleViewService.GetAdScheduleView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdService.GetAd + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AdService.MutateAds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AgeRangeViewService.GetAgeRangeView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetFieldTypeViewService.GetAssetFieldTypeView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetGroupAssetService.GetAssetGroupAsset + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetGroupAssetService.MutateAssetGroupAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetGroupService.GetAssetGroup + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetGroupService.MutateAssetGroups + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetService.GetAsset + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetService.MutateAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetSetAssetService.MutateAssetSetAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.AssetSetService.MutateAssetSets + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.BatchJobService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingDataExclusionService.GetBiddingDataExclusion + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingDataExclusionService.MutateBiddingDataExclusions + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.GetBiddingSeasonalityAdjustment + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingStrategyService.GetBiddingStrategy + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingStrategyService.MutateBiddingStrategies + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BiddingStrategySimulationService.GetBiddingStrategySimulation + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BillingSetupService.GetBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v9.services.BillingSetupService.MutateBillingSetup + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignAssetService.GetCampaignAsset + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignAssetService.MutateCampaignAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignAssetSetService.MutateCampaignAssetSets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignAudienceViewService.GetCampaignAudienceView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignBidModifierService.GetCampaignBidModifier + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignBidModifierService.MutateCampaignBidModifiers + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignBudgetService.GetCampaignBudget + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignBudgetService.MutateCampaignBudgets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignConversionGoalService.MutateCampaignConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignCriterionService.GetCampaignCriterion + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignCriterionService.MutateCampaignCriteria + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignCriterionSimulationService.GetCampaignCriterionSimulation + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignCustomizerService.MutateCampaignCustomizers + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.CampaignDraftService.*' + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.CampaignExperimentService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignExtensionSettingService.GetCampaignExtensionSetting + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignFeedService.GetCampaignFeed + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignFeedService.MutateCampaignFeeds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignLabelService.GetCampaignLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignLabelService.MutateCampaignLabels + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignService.GetCampaign + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignService.MutateCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignSharedSetService.GetCampaignSharedSet + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignSharedSetService.MutateCampaignSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CampaignSimulationService.GetCampaignSimulation + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CarrierConstantService.GetCarrierConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ChangeStatusService.GetChangeStatus + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ClickViewService.GetClickView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CombinedAudienceService.GetCombinedAudience + deadline: 600.0 + - selector: google.ads.googleads.v9.services.ConversionActionService.GetConversionAction + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionActionService.MutateConversionActions + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + deadline: 600.0 + - selector: google.ads.googleads.v9.services.ConversionCustomVariableService.GetConversionCustomVariable + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionCustomVariableService.MutateConversionCustomVariables + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionUploadService.UploadCallConversions + deadline: 600.0 + - selector: google.ads.googleads.v9.services.ConversionUploadService.UploadClickConversions + deadline: 600.0 + - selector: google.ads.googleads.v9.services.ConversionValueRuleService.GetConversionValueRule + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionValueRuleService.MutateConversionValueRules + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionValueRuleSetService.GetConversionValueRuleSet + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CurrencyConstantService.GetCurrencyConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomAudienceService.GetCustomAudience + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomAudienceService.MutateCustomAudiences + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomConversionGoalService.MutateCustomConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomInterestService.GetCustomInterest + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomInterestService.MutateCustomInterests + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerAssetService.GetCustomerAsset + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerAssetService.MutateCustomerAssets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerClientLinkService.GetCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerClientLinkService.MutateCustomerClientLink + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerClientService.GetCustomerClient + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerConversionGoalService.MutateCustomerConversionGoals + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerCustomizerService.MutateCustomerCustomizers + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerExtensionSettingService.GetCustomerExtensionSetting + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerFeedService.GetCustomerFeed + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerFeedService.MutateCustomerFeeds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerLabelService.GetCustomerLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerLabelService.MutateCustomerLabels + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.CustomerManagerLinkService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerNegativeCriterionService.GetCustomerNegativeCriterion + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.CustomerService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.CustomerUserAccessInvitationService.GetCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomerUserAccessService.GetCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomerUserAccessService.MutateCustomerUserAccess + deadline: 600.0 + - selector: google.ads.googleads.v9.services.CustomizerAttributeService.MutateCustomizerAttributes + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DetailPlacementViewService.GetDetailPlacementView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DetailedDemographicService.GetDetailedDemographic + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DisplayKeywordViewService.GetDisplayKeywordView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DistanceViewService.GetDistanceView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DomainCategoryService.GetDomainCategory + deadline: 60.0 + - selector: google.ads.googleads.v9.services.DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ExpandedLandingPageViewService.GetExpandedLandingPageView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ExtensionFeedItemService.GetExtensionFeedItem + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ExtensionFeedItemService.MutateExtensionFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemService.GetFeedItem + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemService.MutateFeedItems + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemSetLinkService.GetFeedItemSetLink + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemSetLinkService.MutateFeedItemSetLinks + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemSetService.GetFeedItemSet + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemSetService.MutateFeedItemSets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemTargetService.GetFeedItemTarget + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedItemTargetService.MutateFeedItemTargets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedMappingService.GetFeedMapping + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedMappingService.MutateFeedMappings + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedPlaceholderViewService.GetFeedPlaceholderView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedService.GetFeed + deadline: 60.0 + - selector: google.ads.googleads.v9.services.FeedService.MutateFeeds + deadline: 60.0 + - selector: google.ads.googleads.v9.services.GenderViewService.GetGenderView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.GeoTargetConstantService.GetGeoTargetConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.GeoTargetConstantService.SuggestGeoTargetConstants + deadline: 60.0 + - selector: google.ads.googleads.v9.services.GeographicViewService.GetGeographicView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.GoogleAdsFieldService.GetGoogleAdsField + deadline: 600.0 + - selector: google.ads.googleads.v9.services.GoogleAdsFieldService.SearchGoogleAdsFields + deadline: 600.0 + - selector: google.ads.googleads.v9.services.GoogleAdsService.Mutate + deadline: 600.0 + - selector: google.ads.googleads.v9.services.GoogleAdsService.Search + deadline: 3600.0 + - selector: google.ads.googleads.v9.services.GoogleAdsService.SearchStream + deadline: 3600.0 + - selector: google.ads.googleads.v9.services.GroupPlacementViewService.GetGroupPlacementView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.HotelGroupViewService.GetHotelGroupView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.HotelPerformanceViewService.GetHotelPerformanceView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.IncomeRangeViewService.GetIncomeRangeView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.InvoiceService.ListInvoices + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.GetKeywordPlanAdGroupKeyword + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.GetKeywordPlanCampaignKeyword + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignService.GetKeywordPlanCampaign + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanIdeaService.GenerateKeywordIdeas + deadline: 600.0 + - selector: 'google.ads.googleads.v9.services.KeywordPlanService.*' + deadline: 600.0 + - selector: google.ads.googleads.v9.services.KeywordPlanService.GetKeywordPlan + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordPlanService.MutateKeywordPlans + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordThemeConstantService.GetKeywordThemeConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + deadline: 60.0 + - selector: google.ads.googleads.v9.services.KeywordViewService.GetKeywordView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LabelService.GetLabel + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LabelService.MutateLabels + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LandingPageViewService.GetLandingPageView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LanguageConstantService.GetLanguageConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LifeEventService.GetLifeEvent + deadline: 60.0 + - selector: google.ads.googleads.v9.services.LocationViewService.GetLocationView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ManagedPlacementViewService.GetManagedPlacementView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.MediaFileService.GetMediaFile + deadline: 60.0 + - selector: google.ads.googleads.v9.services.MediaFileService.MutateMediaFiles + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.MerchantCenterLinkService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.MobileAppCategoryConstantService.GetMobileAppCategoryConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.MobileDeviceConstantService.GetMobileDeviceConstant + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.OfflineUserDataJobService.*' + deadline: 600.0 + - selector: google.ads.googleads.v9.services.OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ParentalStatusViewService.GetParentalStatusView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.PaymentsAccountService.ListPaymentsAccounts + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ProductGroupViewService.GetProductGroupView + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.ReachPlanService.*' + deadline: 600.0 + - selector: 'google.ads.googleads.v9.services.RecommendationService.*' + deadline: 600.0 + - selector: google.ads.googleads.v9.services.RemarketingActionService.GetRemarketingAction + deadline: 60.0 + - selector: google.ads.googleads.v9.services.RemarketingActionService.MutateRemarketingActions + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SearchTermViewService.GetSearchTermView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SharedCriterionService.GetSharedCriterion + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SharedCriterionService.MutateSharedCriteria + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SharedSetService.GetSharedSet + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SharedSetService.MutateSharedSets + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ShoppingPerformanceViewService.GetShoppingPerformanceView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SmartCampaignSearchTermViewService.GetSmartCampaignSearchTermView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SmartCampaignSettingService.GetSmartCampaignSetting + deadline: 60.0 + - selector: google.ads.googleads.v9.services.SmartCampaignSettingService.MutateSmartCampaignSettings + deadline: 60.0 + - selector: 'google.ads.googleads.v9.services.SmartCampaignSuggestService.*' + deadline: 60.0 + - selector: google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.GetThirdPartyAppAnalyticsLink + deadline: 600.0 + - selector: google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + deadline: 600.0 + - selector: google.ads.googleads.v9.services.TopicConstantService.GetTopicConstant + deadline: 60.0 + - selector: google.ads.googleads.v9.services.TopicViewService.GetTopicView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.UserDataService.UploadUserData + deadline: 600.0 + - selector: google.ads.googleads.v9.services.UserInterestService.GetUserInterest + deadline: 60.0 + - selector: google.ads.googleads.v9.services.UserListService.GetUserList + deadline: 60.0 + - selector: google.ads.googleads.v9.services.UserListService.MutateUserLists + deadline: 60.0 + - selector: google.ads.googleads.v9.services.UserLocationViewService.GetUserLocationView + deadline: 60.0 + - selector: google.ads.googleads.v9.services.VideoService.GetVideo + deadline: 60.0 + - selector: google.ads.googleads.v9.services.WebpageViewService.GetWebpageView + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v9/{name=customers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v9/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v9/{name=customers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v9/{name=customers/*/operations}' + - selector: google.longrunning.Operations.WaitOperation + post: '/v9/{name=customers/*/operations/*}:wait' + body: '*' + +authentication: + rules: + - selector: google.ads.googleads.v9.services.AccessibleBiddingStrategyService.GetAccessibleBiddingStrategy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AccountBudgetProposalService.GetAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AccountBudgetProposalService.MutateAccountBudgetProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AccountBudgetService.GetAccountBudget + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.AccountLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAdAssetViewService.GetAdGroupAdAssetView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAdLabelService.GetAdGroupAdLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAdLabelService.MutateAdGroupAdLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAdService.GetAdGroupAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAdService.MutateAdGroupAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAssetService.GetAdGroupAsset + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAssetService.MutateAdGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupAudienceViewService.GetAdGroupAudienceView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupBidModifierService.GetAdGroupBidModifier + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupBidModifierService.MutateAdGroupBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionLabelService.GetAdGroupCriterionLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionService.GetAdGroupCriterion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionService.MutateAdGroupCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupCustomizerService.MutateAdGroupCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupExtensionSettingService.GetAdGroupExtensionSetting + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupFeedService.GetAdGroupFeed + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupFeedService.MutateAdGroupFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupLabelService.GetAdGroupLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupLabelService.MutateAdGroupLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupService.GetAdGroup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupService.MutateAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdGroupSimulationService.GetAdGroupSimulation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdParameterService.GetAdParameter + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdParameterService.MutateAdParameters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdScheduleViewService.GetAdScheduleView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdService.GetAd + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AdService.MutateAds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AgeRangeViewService.GetAgeRangeView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetFieldTypeViewService.GetAssetFieldTypeView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetGroupAssetService.GetAssetGroupAsset + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetGroupAssetService.MutateAssetGroupAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetGroupService.GetAssetGroup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetGroupService.MutateAssetGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetService.GetAsset + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetService.MutateAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetSetAssetService.MutateAssetSetAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.AssetSetService.MutateAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.BatchJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingDataExclusionService.GetBiddingDataExclusion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingDataExclusionService.MutateBiddingDataExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.GetBiddingSeasonalityAdjustment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingStrategyService.GetBiddingStrategy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingStrategyService.MutateBiddingStrategies + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BiddingStrategySimulationService.GetBiddingStrategySimulation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BillingSetupService.GetBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.BillingSetupService.MutateBillingSetup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignAssetService.GetCampaignAsset + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignAssetService.MutateCampaignAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignAssetSetService.MutateCampaignAssetSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignAudienceViewService.GetCampaignAudienceView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignBidModifierService.GetCampaignBidModifier + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignBidModifierService.MutateCampaignBidModifiers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignBudgetService.GetCampaignBudget + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignBudgetService.MutateCampaignBudgets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignConversionGoalService.MutateCampaignConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignCriterionService.GetCampaignCriterion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignCriterionService.MutateCampaignCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignCriterionSimulationService.GetCampaignCriterionSimulation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignCustomizerService.MutateCampaignCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.CampaignDraftService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.CampaignExperimentService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignExtensionSettingService.GetCampaignExtensionSetting + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignFeedService.GetCampaignFeed + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignFeedService.MutateCampaignFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignLabelService.GetCampaignLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignLabelService.MutateCampaignLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignService.GetCampaign + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignService.MutateCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignSharedSetService.GetCampaignSharedSet + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignSharedSetService.MutateCampaignSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CampaignSimulationService.GetCampaignSimulation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CarrierConstantService.GetCarrierConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ChangeStatusService.GetChangeStatus + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ClickViewService.GetClickView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CombinedAudienceService.GetCombinedAudience + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionActionService.GetConversionAction + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionActionService.MutateConversionActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionAdjustmentUploadService.UploadConversionAdjustments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionCustomVariableService.GetConversionCustomVariable + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionCustomVariableService.MutateConversionCustomVariables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionUploadService.UploadCallConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionUploadService.UploadClickConversions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionValueRuleService.GetConversionValueRule + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionValueRuleService.MutateConversionValueRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionValueRuleSetService.GetConversionValueRuleSet + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ConversionValueRuleSetService.MutateConversionValueRuleSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CurrencyConstantService.GetCurrencyConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomAudienceService.GetCustomAudience + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomAudienceService.MutateCustomAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomConversionGoalService.MutateCustomConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomInterestService.GetCustomInterest + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomInterestService.MutateCustomInterests + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerAssetService.GetCustomerAsset + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerAssetService.MutateCustomerAssets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerClientLinkService.GetCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerClientLinkService.MutateCustomerClientLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerClientService.GetCustomerClient + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerConversionGoalService.MutateCustomerConversionGoals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerCustomizerService.MutateCustomerCustomizers + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerExtensionSettingService.GetCustomerExtensionSetting + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerFeedService.GetCustomerFeed + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerFeedService.MutateCustomerFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerLabelService.GetCustomerLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerLabelService.MutateCustomerLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.CustomerManagerLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerNegativeCriterionService.GetCustomerNegativeCriterion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.CustomerService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerUserAccessInvitationService.GetCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerUserAccessService.GetCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomerUserAccessService.MutateCustomerUserAccess + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.CustomizerAttributeService.MutateCustomizerAttributes + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DetailPlacementViewService.GetDetailPlacementView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DetailedDemographicService.GetDetailedDemographic + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DisplayKeywordViewService.GetDisplayKeywordView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DistanceViewService.GetDistanceView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DomainCategoryService.GetDomainCategory + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ExpandedLandingPageViewService.GetExpandedLandingPageView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ExtensionFeedItemService.GetExtensionFeedItem + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ExtensionFeedItemService.MutateExtensionFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemService.GetFeedItem + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemService.MutateFeedItems + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemSetLinkService.GetFeedItemSetLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemSetLinkService.MutateFeedItemSetLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemSetService.GetFeedItemSet + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemSetService.MutateFeedItemSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemTargetService.GetFeedItemTarget + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedItemTargetService.MutateFeedItemTargets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedMappingService.GetFeedMapping + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedMappingService.MutateFeedMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedPlaceholderViewService.GetFeedPlaceholderView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedService.GetFeed + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.FeedService.MutateFeeds + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GenderViewService.GetGenderView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GeoTargetConstantService.GetGeoTargetConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GeoTargetConstantService.SuggestGeoTargetConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GeographicViewService.GetGeographicView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GoogleAdsFieldService.GetGoogleAdsField + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GoogleAdsFieldService.SearchGoogleAdsFields + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.GoogleAdsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.GroupPlacementViewService.GetGroupPlacementView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.HotelGroupViewService.GetHotelGroupView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.HotelPerformanceViewService.GetHotelPerformanceView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.IncomeRangeViewService.GetIncomeRangeView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.InvoiceService.ListInvoices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.GetKeywordPlanAdGroupKeyword + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.GetKeywordPlanCampaignKeyword + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignService.GetKeywordPlanCampaign + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordPlanIdeaService.GenerateKeywordIdeas + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.KeywordPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordThemeConstantService.GetKeywordThemeConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordThemeConstantService.SuggestKeywordThemeConstants + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.KeywordViewService.GetKeywordView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LabelService.GetLabel + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LabelService.MutateLabels + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LandingPageViewService.GetLandingPageView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LanguageConstantService.GetLanguageConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LifeEventService.GetLifeEvent + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.LocationViewService.GetLocationView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ManagedPlacementViewService.GetManagedPlacementView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.MediaFileService.GetMediaFile + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.MediaFileService.MutateMediaFiles + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.MerchantCenterLinkService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.MobileAppCategoryConstantService.GetMobileAppCategoryConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.MobileDeviceConstantService.GetMobileDeviceConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.OfflineUserDataJobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ParentalStatusViewService.GetParentalStatusView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.PaymentsAccountService.ListPaymentsAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ProductGroupViewService.GetProductGroupView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.ReachPlanService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.RecommendationService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.RemarketingActionService.GetRemarketingAction + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.RemarketingActionService.MutateRemarketingActions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SearchTermViewService.GetSearchTermView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SharedCriterionService.GetSharedCriterion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SharedCriterionService.MutateSharedCriteria + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SharedSetService.GetSharedSet + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SharedSetService.MutateSharedSets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ShoppingPerformanceViewService.GetShoppingPerformanceView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SmartCampaignSearchTermViewService.GetSmartCampaignSearchTermView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SmartCampaignSettingService.GetSmartCampaignSetting + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.SmartCampaignSettingService.MutateSmartCampaignSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: 'google.ads.googleads.v9.services.SmartCampaignSuggestService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.GetThirdPartyAppAnalyticsLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.TopicConstantService.GetTopicConstant + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.TopicViewService.GetTopicView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.UserDataService.UploadUserData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.UserInterestService.GetUserInterest + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.UserListService.GetUserList + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.UserListService.MutateUserLists + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.UserLocationViewService.GetUserLocationView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.VideoService.GetVideo + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/adwords + - selector: google.ads.googleads.v9.services.WebpageViewService.GetWebpageView + 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/google-cloud/protos/google/ads/googleads/v9/resources/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/resources/BUILD.bazel new file mode 100644 index 00000000..96eda345 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/BUILD.bazel @@ -0,0 +1,97 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "resources_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v9/common:common_proto", + "//google/ads/googleads/v9/enums:enums_proto", + "//google/ads/googleads/v9/errors:errors_proto", + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_proto_library", +) + +java_proto_library( + name = "resources_java_proto", + deps = [":resources_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "resources_csharp_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "resources_ruby_proto", + deps = [":resources_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "resources_py_proto", + deps = [":resources_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/accessible_bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v9/resources/accessible_bidding_strategy.proto new file mode 100644 index 00000000..434e8f75 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/accessible_bidding_strategy.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v9/enums/target_impression_share_location.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Represents a view of BiddingStrategies owned by and shared with the customer. +// +// In contrast to BiddingStrategy, this resource includes strategies owned by +// managers of the customer and shared with this customer - in addition to +// strategies owned by this customer. This resource does not provide metrics and +// only exposes a limited subset of the BiddingStrategy attributes. +message AccessibleBiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + pattern: "customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}" + }; + + // An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + message MaximizeConversionValue { + // Output only. The target return on ad spend (ROAS) option. If set, the bid strategy + // will maximize revenue while averaging the target return on ad spend. If + // the target ROAS is high, the bid strategy may not be able to spend the + // full budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + double target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + message MaximizeConversions { + // Output only. The target cost per acquisition (CPA) option. This is the average amount + // that you would like to spend per acquisition. + int64 target_cpa = 1 [(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 desired 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 bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + message TargetCpa { + // Output only. Average CPA target. + // This target should be greater than or equal to minimum billable unit + // based on the currency for the account. + optional int64 target_cpa_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An automated bidding strategy that sets bids so that a certain percentage + // of search ads are shown at the top of the first page (or other targeted + // location). + message TargetImpressionShare { + // Output only. The targeted location on the search results page. + google.ads.googleads.v9.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The desired fraction of ads to be shown in the targeted location in + // micros. E.g. 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 bid strategy that sets your bids to help get as many clicks + // as possible within your budget. + message TargetSpend { + // Output only. The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + // This field is deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + optional int64 target_spend_micros = 1 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + optional int64 cpc_bid_ceiling_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the accessible bidding strategy. + // AccessibleBiddingStrategy resource names have the form: + // + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the bidding strategy. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + google.ads.googleads.v9.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the Customer which owns the bidding strategy. + int64 owner_customer_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. descriptive_name of the Customer which owns the bidding strategy. + string owner_descriptive_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // Output only. An automated bidding strategy to help get the most conversion value for + // your campaigns while spending your budget. + MaximizeConversionValue maximize_conversion_value = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. An automated bidding strategy to help get the most conversions for your + // campaigns while spending your budget. + MaximizeConversions maximize_conversions = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that sets bids to help get as many conversions as + // possible at the target cost-per-acquisition (CPA) you set. + TargetCpa target_cpa = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A bidding strategy that automatically optimizes towards a desired + // 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/google-cloud/protos/google/ads/googleads/v9/resources/account_budget.proto b/google-cloud/protos/google/ads/googleads/v9/resources/account_budget.proto new file mode 100644 index 00000000..02249cb1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/account_budget.proto @@ -0,0 +1,252 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v9/enums/account_budget_status.proto"; +import "google/ads/googleads/v9/enums/spending_limit_type.proto"; +import "google/ads/googleads/v9/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AccountBudget resource. + +// An account-level budget. It contains information about the budget itself, +// as well as the most recently approved changes to the budget and proposed +// changes that are pending approval. The proposed changes that are pending +// approval, if any, are found in 'pending_proposal'. Effective details about +// the budget are found in fields prefixed 'approved_', 'adjusted_' and those +// without a prefix. Since some effective details may differ from what the user +// had originally requested (e.g. spending limit), these differences are +// juxtaposed via '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, e.g. END to end the budget associated + // with this proposal. + google.ads.googleads.v9.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name to assign to the account-level budget. + optional string name = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The start time in yyyy-MM-dd HH:mm:ss format. + optional string start_date_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with this budget. + optional string notes = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this account-level budget proposal was created. + // Formatted as yyyy-MM-dd HH:mm:ss. + optional string creation_date_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The end time of the account-level budget. + oneof end_time { + // Output only. The end time in yyyy-MM-dd HH:mm:ss format. + string end_date_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType end_time_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit. + oneof spending_limit { + // Output only. The spending limit in micros. One million is equivalent to + // one unit. + int64 spending_limit_micros = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v9.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Output only. The resource name of the account-level budget. + // AccountBudget resource names have the form: + // + // `customers/{customer_id}/accountBudgets/{account_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; + + // Output only. The ID of the account-level budget. + optional int64 id = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the billing setup associated with this account-level + // budget. BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + optional string billing_setup = 24 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The status of this account-level budget. + google.ads.googleads.v9.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the account-level budget. + optional string name = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed start time of the account-level budget in + // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, + // this is the time of request. + optional string proposed_start_date_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss + // format. + // + // For example, if a new budget is approved after the proposed start time, + // the approved start time is the time of approval. + optional string approved_start_date_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The total adjustments amount. + // + // An example of an adjustment is courtesy credits. + int64 total_adjustments_micros = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of Ads that have been served, in micros. + // + // This includes overdelivery costs, in which case a credit might be + // automatically applied to the budget (see total_adjustments_micros). + int64 amount_served_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A purchase order number is a value that helps users reference this budget + // in their monthly invoices. + optional string purchase_order_number = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Notes associated with the budget. + optional string notes = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pending proposal to modify this budget, if applicable. + PendingAccountBudgetProposal pending_proposal = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed end time of the account-level budget. + oneof proposed_end_time { + // Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + string proposed_end_date_time = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved end time of the account-level budget. + // + // For example, if a budget's end time is updated and the proposal is approved + // after the proposed end time, the approved end time is the time of approval. + oneof approved_end_time { + // Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + string approved_end_date_time = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType approved_end_time_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Output only. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v9.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The approved spending limit. + // + // For example, if the amount already spent by the account exceeds the + // proposed spending limit at the time the proposal is approved, the approved + // spending limit is set to the amount already spent. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. This will only be populated if the proposed spending limit + // is finite, and will always be greater than or equal to the + // proposed spending limit. + int64 approved_spending_limit_micros = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. This + // will only be populated if the approved spending limit is INFINITE. + google.ads.googleads.v9.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The spending limit after adjustments have been applied. Adjustments are + // stored in total_adjustments_micros. + // + // This value has the final say on how much the account is allowed to spend. + oneof adjusted_spending_limit { + // Output only. The adjusted spending limit in micros. One million is equivalent to + // one unit. + // + // If the approved spending limit is finite, the adjusted + // spending limit may vary depending on the types of adjustments applied + // to this budget, if applicable. + // + // The different kinds of adjustments are described here: + // https://support.google.com/google-ads/answer/1704323 + // + // For example, a debit adjustment reduces how much the account is + // allowed to spend. + int64 adjusted_spending_limit_micros = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The adjusted spending limit as a well-defined type, e.g. 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.v9.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/account_budget_proposal.proto b/google-cloud/protos/google/ads/googleads/v9/resources/account_budget_proposal.proto new file mode 100644 index 00000000..a581bf59 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/account_budget_proposal.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/account_budget_proposal_status.proto"; +import "google/ads/googleads/v9/enums/account_budget_proposal_type.proto"; +import "google/ads/googleads/v9/enums/spending_limit_type.proto"; +import "google/ads/googleads/v9/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AccountBudgetProposal resource. + +// An account-level budget proposal. +// +// All fields prefixed with 'proposed' may not necessarily be applied directly. +// For example, proposed spending limits may be adjusted before their +// application. This is true if the 'proposed' field has an 'approved' +// counterpart, e.g. spending limits. +// +// Please 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, e.g. END to end the budget associated with this + // proposal. + google.ads.googleads.v9.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.v9.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The name to assign to the account-level budget. + optional string proposed_name = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + optional string approved_start_date_time = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A purchase order number is a value that enables the user to help them + // reference this budget in their monthly invoices. + optional string proposed_purchase_order_number = 35 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Notes associated with this budget. + optional string proposed_notes = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The date time when this account-level budget proposal was created, which is + // not the same as its approval date time, if applicable. + optional string creation_date_time = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date time when this account-level budget was approved, if applicable. + optional string approval_date_time = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The proposed start date time of the account-level budget, which cannot be + // in the past. + oneof proposed_start_time { + // Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + string proposed_start_date_time = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed start date time as a well-defined type, e.g. NOW. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The proposed end date time of the account-level budget, which cannot be in + // the past. + oneof proposed_end_time { + // Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + string proposed_end_date_time = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved end date time of the account-level budget. + oneof approved_end_time { + // Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + string approved_end_date_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved end date time as a well-defined type, e.g. FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType approved_end_time_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The proposed spending limit. + oneof proposed_spending_limit { + // Immutable. The proposed spending limit in micros. One million is equivalent to + // one unit. + int64 proposed_spending_limit_micros = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The proposed spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v9.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11 [(google.api.field_behavior) = IMMUTABLE]; + } + + // The approved spending limit. + oneof approved_spending_limit { + // Output only. The approved spending limit in micros. One million is equivalent to + // one unit. + int64 approved_spending_limit_micros = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The approved spending limit as a well-defined type, e.g. INFINITE. + google.ads.googleads.v9.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/account_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/account_link.proto new file mode 100644 index 00000000..1930f1ce --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/account_link.proto @@ -0,0 +1,125 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/account_link_status.proto"; +import "google/ads/googleads/v9/enums/linked_account_type.proto"; +import "google/ads/googleads/v9/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Represents the data sharing connection between a Google Ads account and +// another account +message AccountLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/AccountLink" + pattern: "customers/{customer_id}/accountLinks/{account_link_id}" + }; + + // Immutable. Resource name of the account link. + // AccountLink resource names have the form: + // `customers/{customer_id}/accountLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; + + // Output only. The ID of the link. + // This field is read only. + optional int64 account_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the link. + google.ads.googleads.v9.enums.AccountLinkStatusEnum.AccountLinkStatus status = 3; + + // Output only. The type of the linked account. + google.ads.googleads.v9.enums.LinkedAccountTypeEnum.LinkedAccountType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // An account linked to this Google Ads account. + oneof linked_account { + // Immutable. A third party app analytics link. + ThirdPartyAppAnalyticsLinkIdentifier third_party_app_analytics = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // 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]; + } +} + +// 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 (e.g., "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 (e.g., + // "com.google.android.gm" for "Gmail" given Google Play link + // https://play.google.com/store/apps/details?id=com.google.android.gm) + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + optional string app_id = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The vendor of the app. + // This field should not be empty when creating a new third + // party app analytics link. It is unable to be modified after the creation of + // the link. + google.ads.googleads.v9.enums.MobileAppVendorEnum.MobileAppVendor 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 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" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad.proto new file mode 100644 index 00000000..a67fd4d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad.proto @@ -0,0 +1,191 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/ad_type_infos.proto"; +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/final_app_url.proto"; +import "google/ads/googleads/v9/common/url_collection.proto"; +import "google/ads/googleads/v9/enums/ad_type.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/system_managed_entity_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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, please use url custom parameter operations. + repeated google.ads.googleads.v9.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.v9.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, e.g. 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.v9.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.v9.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.v9.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.v9.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to an expanded text ad. + google.ads.googleads.v9.common.ExpandedTextAdInfo expanded_text_ad = 7; + + // Details pertaining to a call ad. + google.ads.googleads.v9.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.v9.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a hotel ad. + google.ads.googleads.v9.common.HotelAdInfo hotel_ad = 15; + + // Details pertaining to a Smart Shopping ad. + google.ads.googleads.v9.common.ShoppingSmartAdInfo shopping_smart_ad = 17; + + // Details pertaining to a Shopping product ad. + google.ads.googleads.v9.common.ShoppingProductAdInfo shopping_product_ad = 18; + + // Immutable. Details pertaining to a Gmail ad. + google.ads.googleads.v9.common.GmailAdInfo gmail_ad = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v9.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a Video ad. + google.ads.googleads.v9.common.VideoAdInfo video_ad = 24; + + // Details pertaining to a Video responsive ad. + google.ads.googleads.v9.common.VideoResponsiveAdInfo video_responsive_ad = 39; + + // Details pertaining to a responsive search ad. + google.ads.googleads.v9.common.ResponsiveSearchAdInfo responsive_search_ad = 25; + + // Details pertaining to a legacy responsive display ad. + google.ads.googleads.v9.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; + + // Details pertaining to an app ad. + google.ads.googleads.v9.common.AppAdInfo app_ad = 29; + + // Immutable. Details pertaining to a legacy app install ad. + google.ads.googleads.v9.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Details pertaining to a responsive display ad. + google.ads.googleads.v9.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; + + // Details pertaining to a local ad. + google.ads.googleads.v9.common.LocalAdInfo local_ad = 32; + + // Details pertaining to a display upload ad. + google.ads.googleads.v9.common.DisplayUploadAdInfo display_upload_ad = 33; + + // Details pertaining to an app engagement ad. + google.ads.googleads.v9.common.AppEngagementAdInfo app_engagement_ad = 34; + + // Details pertaining to a Shopping Comparison Listing ad. + google.ads.googleads.v9.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; + + // Details pertaining to a Smart campaign ad. + google.ads.googleads.v9.common.SmartCampaignAdInfo smart_campaign_ad = 48; + + // Details pertaining to an app pre-registration ad. + google.ads.googleads.v9.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group.proto new file mode 100644 index 00000000..bdfd3607 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group.proto @@ -0,0 +1,187 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/explorer_auto_optimizer_setting.proto"; +import "google/ads/googleads/v9/common/targeting_setting.proto"; +import "google/ads/googleads/v9/enums/ad_group_ad_rotation_mode.proto"; +import "google/ads/googleads/v9/enums/ad_group_status.proto"; +import "google/ads/googleads/v9/enums/ad_group_type.proto"; +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/bidding_source.proto"; +import "google/ads/googleads/v9/enums/targeting_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group resource. + +// An ad group. +message AdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroup" + pattern: "customers/{customer_id}/adGroups/{ad_group_id}" + }; + + // Immutable. The resource name of the ad group. + // Ad group resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the ad group. + optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the ad group. + // + // This field is required and should not be empty when creating new ad + // groups. + // + // It must contain fewer than 255 UTF-8 full-width characters. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 35; + + // The status of the ad group. + google.ads.googleads.v9.enums.AdGroupStatusEnum.AdGroupStatus status = 5; + + // Immutable. The type of the ad group. + google.ads.googleads.v9.enums.AdGroupTypeEnum.AdGroupType type = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The ad rotation mode of the ad group. + google.ads.googleads.v9.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22; + + // Output only. For draft or experiment ad groups, this field is the resource name of the + // base ad group from which this ad group was created. If a draft or + // experiment ad group does not have a base ad group, then this field is null. + // + // For base ad groups, this field equals the ad group resource name. + // + // This field is read-only. + optional string base_ad_group = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v9.common.CustomParameter url_custom_parameters = 6; + + // Immutable. The campaign to which the ad group belongs. + optional string campaign = 38 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The maximum CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 39; + + // 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; + + // Output only. The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 42 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // 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; + + // Settings for the Display Campaign Optimizer, initially termed "Explorer". + google.ads.googleads.v9.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21; + + // Allows advertisers to specify a targeting dimension on which to place + // absolute bids. This is only applicable for campaigns that target only the + // display network and not search. + google.ads.googleads.v9.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23; + + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + + // Setting for targeting related features. + google.ads.googleads.v9.common.TargetingSetting targeting_setting = 25; + + // Output only. The effective target CPA (cost-per-acquisition). + // This field is read-only. + optional int64 effective_target_cpa_micros = 47 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target CPA. + // This field is read-only. + google.ads.googleads.v9.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective target ROAS (return-on-ad-spend). + // This field is read-only. + optional double effective_target_roas = 48 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective target ROAS. + // This field is read-only. + google.ads.googleads.v9.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group. + repeated string labels = 49 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // The asset field types that should be excluded from this ad group. Asset + // links with these field types will not be inherited by this ad group from + // the upper levels. + repeated google.ads.googleads.v9.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 54; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad.proto new file mode 100644 index 00000000..315818c9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad.proto @@ -0,0 +1,103 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/ad_group_ad_status.proto"; +import "google/ads/googleads/v9/enums/ad_strength.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/ads/googleads/v9/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group ad resource. + +// An ad group ad. +message AdGroupAd { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAd" + pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" + }; + + // Immutable. The resource name of the ad. + // Ad group ad resource names have the form: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // The status of the ad. + google.ads.googleads.v9.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; + + // Immutable. The ad group to which the ad belongs. + optional string ad_group = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The ad. + Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Policy information for the ad. + AdGroupAdPolicySummary policy_summary = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Overall ad strength for this ad group ad. + google.ads.googleads.v9.enums.AdStrengthEnum.AdStrength ad_strength = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of recommendations to improve the ad strength. For example, a + // recommendation could be "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. + repeated google.ads.googleads.v9.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.v9.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.v9.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_asset_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_asset_view.proto new file mode 100644 index 00000000..13bf4d44 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_asset_view.proto @@ -0,0 +1,105 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/asset_performance_label.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group ad asset view resource. + +// A link between an AdGroupAd and an Asset. +// Currently we only support AdGroupAdAssetView for AppAds. +message AdGroupAdAssetView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + pattern: "customers/{customer_id}/adGroupAdAssetViews/{ad_group_id}~{ad_id}~{asset_id}~{field_type}" + }; + + // Output only. The resource name of the ad group ad asset view. + // Ad group ad asset view resource names have the form (Before V4): + // + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; + + // Output only. The ad group ad to which the asset is linked. + optional string ad_group_ad = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The asset which is linked to the ad group ad. + optional string asset = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. Role that the asset takes in the ad. + google.ads.googleads.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status between the asset and the latest version of the ad. If true, the + // asset is linked to the latest version of the ad. If false, it means the + // link once existed but has been removed and is no longer present in the + // latest version of the ad. + optional bool enabled = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Policy information for the ad group ad asset. + AdGroupAdAssetPolicySummary policy_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Performance of an asset linkage. + google.ads.googleads.v9.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel performance_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains policy information for an ad group ad asset. +message AdGroupAdAssetPolicySummary { + // Output only. The list of policy findings for the ad group ad asset. + repeated google.ads.googleads.v9.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.v9.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.v9.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_label.proto new file mode 100644 index 00000000..d45072b7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_ad_label.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group ad label resource. + +// A relationship between an ad group ad and a label. +message AdGroupAdLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group ad label. + // Ad group ad label resource names have the form: + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; + + // Immutable. The ad group ad to which the label is attached. + optional string ad_group_ad = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Immutable. The label assigned to the ad group ad. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_asset.proto new file mode 100644 index 00000000..cfb8dfc4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_asset.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Status of the ad group asset. + google.ads.googleads.v9.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_audience_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_audience_view.proto new file mode 100644 index 00000000..f62b8da9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_audience_view.proto @@ -0,0 +1,54 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group audience view resource. + +// An ad group audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated at the audience level. +message AdGroupAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + pattern: "customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad group audience view. + // Ad group audience view resource names have the form: + // + // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_bid_modifier.proto new file mode 100644 index 00000000..66576828 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_bid_modifier.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/bid_modifier_source.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group bid modifier resource. + +// Represents an ad group bid modifier. +message AdGroupBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + pattern: "customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}" + }; + + // Immutable. The resource name of the ad group bid modifier. + // Ad group bid modifier resource names have the form: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Immutable. The ad group to which this criterion belongs. + optional string ad_group = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent. + // Use 0 to opt out of a Device type. + optional double bid_modifier = 15; + + // Output only. The base ad group from which this draft/trial adgroup bid modifier was + // created. If ad_group is a base ad group then this field will be equal to + // ad_group. If the ad group was created in the draft or trial and has no + // corresponding base ad group, then this field will be null. + // This field is readonly. + optional string base_ad_group = 16 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Bid modifier source. + google.ads.googleads.v9.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for hotel date selection (default dates vs. user selected). + google.ads.googleads.v9.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.v9.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for length of hotel stay in nights. + google.ads.googleads.v9.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.v9.common.HotelCheckInDayInfo hotel_check_in_day = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A device criterion. + google.ads.googleads.v9.common.DeviceInfo device = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A preferred content criterion. + google.ads.googleads.v9.common.PreferredContentInfo preferred_content = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Criterion for a hotel check-in date range. + google.ads.googleads.v9.common.HotelCheckInDateRangeInfo hotel_check_in_date_range = 17 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion.proto new file mode 100644 index 00000000..97390502 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion.proto @@ -0,0 +1,291 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/enums/ad_group_criterion_approval_status.proto"; +import "google/ads/googleads/v9/enums/ad_group_criterion_status.proto"; +import "google/ads/googleads/v9/enums/bidding_source.proto"; +import "google/ads/googleads/v9/enums/criterion_system_serving_status.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/ads/googleads/v9/enums/quality_score_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group criterion resource. + +// An ad group criterion. +message AdGroupCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterion" + pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}" + }; + + // A container for ad group criterion quality information. + message QualityInfo { + // Output only. The quality score. + // + // This field may not be populated if Google does not have enough + // information to determine a value. + optional int32 quality_score = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The performance of the ad compared to other advertisers. + google.ads.googleads.v9.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.v9.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.v9.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Estimates for criterion bids at various positions. + message PositionEstimates { + // Output only. The estimate of the CPC bid required for ad to be shown on first + // page of search results. + optional int64 first_page_cpc_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed in first + // position, at the top of the first page of search results. + optional int64 first_position_cpc_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimate of the CPC bid required for ad to be displayed at the top + // of the first page of search results. + optional int64 top_of_page_cpc_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how many clicks per week you might get by changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_clicks_at_first_position_cpc = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimate of how your cost per week might change when changing your + // keyword bid to the value in first_position_cpc_micros. + optional int64 estimated_add_cost_at_first_position_cpc = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the ad group criterion. + // Ad group criterion resource names have the form: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the criterion. + // + // This field is ignored for mutates. + string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. + google.ads.googleads.v9.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; + + // Output only. Information regarding the quality of the criterion. + QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The ad group to which the criterion belongs. + optional string ad_group = 57 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The type of the criterion. + google.ads.googleads.v9.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + // + // This field is immutable. To switch a criterion from positive to negative, + // remove then re-add it. + optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Serving status of the criterion. + google.ads.googleads.v9.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Approval status of the criterion. + google.ads.googleads.v9.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of disapproval reasons of the criterion. + // + // The different reasons for disapproving a criterion can be found here: + // https://support.google.com/adspolicy/answer/6008942 + // + // This field is read-only. + repeated string disapproval_reasons = 59 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource names of labels attached to this ad group criterion. + repeated string labels = 60 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // The modifier for the bid when the criterion matches. The modifier must be + // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + optional double bid_modifier = 61; + + // The CPC (cost-per-click) bid. + optional int64 cpc_bid_micros = 62; + + // The CPM (cost-per-thousand viewable impressions) bid. + optional int64 cpm_bid_micros = 63; + + // The CPV (cost-per-view) bid. + optional int64 cpv_bid_micros = 64; + + // The CPC bid amount, expressed as a fraction of the advertised price + // for some good or service. The valid range for the fraction is [0,1) and the + // value stored here is 1,000,000 * [fraction]. + optional int64 percent_cpc_bid_micros = 65; + + // Output only. The effective CPC (cost-per-click) bid. + optional int64 effective_cpc_bid_micros = 66 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + optional int64 effective_cpm_bid_micros = 67 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective CPV (cost-per-view) bid. + optional int64 effective_cpv_bid_micros = 68 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The effective Percent CPC bid amount. + optional int64 effective_percent_cpc_bid_micros = 69 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Source of the effective CPC bid. + google.ads.googleads.v9.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.v9.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.v9.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.v9.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimates for criterion bids at various positions. + PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The list of possible final URLs after all cross-domain redirects for the + // ad. + repeated string final_urls = 70; + + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + + // URL template for appending params to final URL. + optional string final_url_suffix = 72; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 73; + + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.googleads.v9.common.CustomParameter url_custom_parameters = 14; + + // The ad group criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v9.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v9.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v9.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v9.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing group. + google.ads.googleads.v9.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v9.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v9.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v9.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v9.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v9.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v9.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v9.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v9.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v9.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage + google.ads.googleads.v9.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Payment Model. + google.ads.googleads.v9.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v9.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Intent. + google.ads.googleads.v9.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience. + google.ads.googleads.v9.common.CustomAudienceInfo custom_audience = 74 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v9.common.CombinedAudienceInfo combined_audience = 75 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto new file mode 100644 index 00000000..2d76ba4b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/customizer_value.proto"; +import "google/ads/googleads/v9/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A customizer value for the associated CustomizerAttribute at the +// AdGroupCriterion level. +message AdGroupCriterionCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + pattern: "customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group criterion customizer. + // Ad group criterion customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionCustomizer" + } + ]; + + // Immutable. The ad group criterion to which the customizer attribute is linked. + // It must be a keyword criterion. + optional string ad_group_criterion = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group criterion. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group criterion customizer. + google.ads.googleads.v9.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.v9.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_label.proto new file mode 100644 index 00000000..d89b334f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_label.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group criterion label resource. + +// A relationship between an ad group criterion and a label. +message AdGroupCriterionLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group criterion label. + // Ad group criterion label resource names have the form: + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; + + // Immutable. The ad group criterion to which the label is attached. + optional string ad_group_criterion = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Immutable. The label assigned to the ad group criterion. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_simulation.proto new file mode 100644 index 00000000..cb9a4bfd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_criterion_simulation.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/simulation.proto"; +import "google/ads/googleads/v9/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v9/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group criterion simulation resource. + +// An ad group criterion simulation. Supported combinations of advertising +// channel type, criterion type, simulation type, and simulation modification +// method are detailed below respectively. Hotel AdGroupCriterion simulation +// operations starting in V5. +// +// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM +// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM +// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM +// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM +// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM +message AdGroupCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + pattern: "customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group criterion simulation. + // Ad group criterion simulation resource names have the form: + // + // `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; + + // Output only. AdGroup ID of the simulation. + optional int64 ad_group_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v9.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v9.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v9.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.v9.common.PercentCpcBidSimulationPointList percent_cpc_bid_point_list = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_customizer.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_customizer.proto new file mode 100644 index 00000000..9b09d032 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_customizer.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/customizer_value.proto"; +import "google/ads/googleads/v9/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A customizer value for the associated CustomizerAttribute at the AdGroup +// level. +message AdGroupCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + pattern: "customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the ad group customizer. + // Ad group customizer resource names have the form: + // + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCustomizer" + } + ]; + + // Immutable. The ad group to which the customizer attribute is linked. + string ad_group = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the ad group. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the ad group customizer. + google.ads.googleads.v9.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.v9.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_extension_setting.proto new file mode 100644 index 00000000..5f13588f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_extension_setting.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/extension_setting_device.proto"; +import "google/ads/googleads/v9/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AdGroupExtensionSetting resource. + +// An ad group extension setting. +message AdGroupExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + pattern: "customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}" + }; + + // Immutable. The resource name of the ad group extension setting. + // AdGroupExtensionSetting resource names have the form: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; + + // Immutable. The extension type of the ad group extension setting. + google.ads.googleads.v9.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the ad group. The linked extension feed items will + // serve under this ad group. + // AdGroup resource names have the form: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + optional string ad_group = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // The resource names of the extension feed items to serve under the ad group. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v9.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_feed.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_feed.proto new file mode 100644 index 00000000..44d67750 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_feed.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/matching_function.proto"; +import "google/ads/googleads/v9/enums/feed_link_status.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AdGroupFeed resource. + +// An ad group feed. +message AdGroupFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupFeed" + pattern: "customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}" + }; + + // Immutable. The resource name of the ad group feed. + // Ad group feed resource names have the form: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Immutable. The feed being linked to the ad group. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The ad group being linked to the feed. + optional string ad_group = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // ad group. Required. + repeated google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the AdGroupFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v9.common.MatchingFunction matching_function = 5; + + // Output only. Status of the ad group feed. + // This field is read-only. + google.ads.googleads.v9.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_label.proto new file mode 100644 index 00000000..70789b10 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_label.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group label resource. + +// A relationship between an ad group and a label. +message AdGroupLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupLabel" + pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}" + }; + + // Immutable. The resource name of the ad group label. + // Ad group label resource names have the form: + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; + + // Immutable. The ad group to which the label is attached. + optional string ad_group = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The label assigned to the ad group. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_simulation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_simulation.proto new file mode 100644 index 00000000..b2de488a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_group_simulation.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/simulation.proto"; +import "google/ads/googleads/v9/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v9/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad group simulation resource. + +// An ad group simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification method is +// detailed below respectively. +// +// 1. SEARCH - CPC_BID - DEFAULT +// 2. SEARCH - CPC_BID - UNIFORM +// 3. SEARCH - TARGET_CPA - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +message AdGroupSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdGroupSimulation" + pattern: "customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the ad group simulation. + // Ad group simulation resource names have the form: + // + // `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; + + // Output only. Ad group id of the simulation. + optional int64 ad_group_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v9.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v9.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + optional string end_date = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v9.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.v9.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.v9.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.v9.common.TargetRoasSimulationPointList target_roas_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/ad_parameter.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_parameter.proto new file mode 100644 index 00000000..629d2dbd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_parameter.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad parameter resource. + +// An ad parameter that is used to update numeric values (such as prices or +// inventory levels) in any text line of an ad (including URLs). There can +// be a maximum of two AdParameters per ad group criterion. (One with +// parameter_index = 1 and one with parameter_index = 2.) +// In the ad the parameters are referenced by a placeholder of the form +// "{param#:value}". E.g. "{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/google-cloud/protos/google/ads/googleads/v9/resources/ad_schedule_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/ad_schedule_view.proto new file mode 100644 index 00000000..a69b26e8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/ad_schedule_view.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ad schedule view resource. + +// An ad schedule view summarizes the performance of campaigns by +// AdSchedule criteria. +message AdScheduleView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AdScheduleView" + pattern: "customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the ad schedule view. + // AdSchedule view resource names have the form: + // + // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/age_range_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/age_range_view.proto new file mode 100644 index 00000000..7c88ceab --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/age_range_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the age range view resource. + +// An age range view. +message AgeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AgeRangeView" + pattern: "customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the age range view. + // Age range view resource names have the form: + // + // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset.proto new file mode 100644 index 00000000..ba0bb340 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/asset_types.proto"; +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/asset_type.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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.v9.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. Policy information for the asset. + AssetPolicySummary policy_summary = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the asset. + oneof asset_data { + // Immutable. A YouTube video asset. + google.ads.googleads.v9.common.YoutubeVideoAsset youtube_video_asset = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A media bundle asset. + google.ads.googleads.v9.common.MediaBundleAsset media_bundle_asset = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. An image asset. + google.ads.googleads.v9.common.ImageAsset image_asset = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A text asset. + google.ads.googleads.v9.common.TextAsset text_asset = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // A lead form asset. + google.ads.googleads.v9.common.LeadFormAsset lead_form_asset = 9; + + // A book on google asset. + google.ads.googleads.v9.common.BookOnGoogleAsset book_on_google_asset = 10; + + // A promotion asset. + google.ads.googleads.v9.common.PromotionAsset promotion_asset = 15; + + // A callout asset. + google.ads.googleads.v9.common.CalloutAsset callout_asset = 20; + + // A structured snippet asset. + google.ads.googleads.v9.common.StructuredSnippetAsset structured_snippet_asset = 21; + + // A sitelink asset. + google.ads.googleads.v9.common.SitelinkAsset sitelink_asset = 22; + + // A page feed asset. + google.ads.googleads.v9.common.PageFeedAsset page_feed_asset = 23; + + // A dynamic education asset. + google.ads.googleads.v9.common.DynamicEducationAsset dynamic_education_asset = 24; + + // A mobile app asset. + google.ads.googleads.v9.common.MobileAppAsset mobile_app_asset = 25; + + // A hotel callout asset. + google.ads.googleads.v9.common.HotelCalloutAsset hotel_callout_asset = 26; + + // A call asset. + google.ads.googleads.v9.common.CallAsset call_asset = 27; + + // A price asset. + google.ads.googleads.v9.common.PriceAsset price_asset = 28; + + // Immutable. A call to action asset. + google.ads.googleads.v9.common.CallToActionAsset call_to_action_asset = 29 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Contains policy information for an asset. +message AssetPolicySummary { + // Output only. The list of policy findings for this asset. + repeated google.ads.googleads.v9.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.v9.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.v9.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_field_type_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_field_type_view.proto new file mode 100644 index 00000000..66425518 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_field_type_view.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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AssetFieldTypeView resource. + +// An asset field type view. +// This view reports non-overcounted metrics for each asset field type when the +// asset is used as extension. +message AssetFieldTypeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + pattern: "customers/{customer_id}/assetFieldTypeViews/{field_type}" + }; + + // Output only. The resource name of the asset field type view. + // Asset field type view resource names have the form: + // + // `customers/{customer_id}/assetFieldTypeViews/{field_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; + + // Output only. The asset field type of the asset field type view. + google.ads.googleads.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_group.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group.proto new file mode 100644 index 00000000..07377577 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group.proto @@ -0,0 +1,88 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_group_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// An asset group. +// AssetGroupAsset will be used to link an asset to the asset group. +// AssetGroupHint will be used to associate a hint 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 will be 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 will be eligible for expansion + // unless opted out. + repeated string final_mobile_urls = 5; + + // The status of the asset group. + google.ads.googleads.v9.enums.AssetGroupStatusEnum.AssetGroupStatus status = 6; + + // 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_asset.proto new file mode 100644 index 00000000..6962f305 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_asset.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/policy_summary.proto"; +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/asset_link_status.proto"; +import "google/ads/googleads/v9/enums/asset_performance_label.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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. E.g.: + // HEADLINE, YOUTUBE_VIDEO etc + google.ads.googleads.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4; + + // The status of the link between an asset and asset group. + google.ads.googleads.v9.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; + + // Output only. The performance of this asset group asset. + google.ads.googleads.v9.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.v9.common.PolicySummary policy_summary = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto new file mode 100644 index 00000000..afc0aeb2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/listing_group_filter_bidding_category_level.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_custom_attribute_index.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_product_channel.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_product_condition.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_product_type_level.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_type_enum.proto"; +import "google/ads/googleads/v9/enums/listing_group_filter_vertical.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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.v9.enums.ListingGroupFilterVerticalEnum.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: "googleads.googleapis.com/AssetGroupListingGroupFilter" + } + ]; +} + +// 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. + google.ads.googleads.v9.enums.ListingGroupFilterBiddingCategoryLevelEnum.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. + google.ads.googleads.v9.enums.ListingGroupFilterProductChannelEnum.ListingGroupFilterProductChannel channel = 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.v9.enums.ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex index = 2; + } + + // Condition of a product offer. + message ProductCondition { + // Value of the condition. + google.ads.googleads.v9.enums.ListingGroupFilterProductConditionEnum.ListingGroupFilterProductCondition condition = 1; + } + + // 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.v9.enums.ListingGroupFilterProductTypeLevelEnum.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/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_product_group_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_product_group_view.proto new file mode 100644 index 00000000..680e5d93 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_group_product_group_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the AssetGroupProductGroupView resource. + +// An asset group product group view. +message AssetGroupProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + pattern: "customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}" + }; + + // Output only. The resource name of the asset group product group view. + // Asset group product group view resource names have the form: + // + // `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupProductGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_set.proto new file mode 100644 index 00000000..c681e2e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_set.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_set_status.proto"; +import "google/ads/googleads/v9/enums/asset_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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]; + } + + // 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.v9.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.v9.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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/asset_set_asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/asset_set_asset.proto new file mode 100644 index 00000000..effa745e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/asset_set_asset.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_set_asset_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// AssetSetAsset is the link between an asset and an asset set. +// Adding an AssetSetAsset links an asset with an asset set. +message AssetSetAsset { + option (google.api.resource) = { + type: "googleads.googleapis.com/AssetSetAsset" + pattern: "customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}" + }; + + // Immutable. The resource name of the asset set asset. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSetAsset" + } + ]; + + // Immutable. The asset set which this asset set asset is linking to. + string asset_set = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Immutable. The asset which this asset set asset is linking to. + string asset = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The status of the asset set asset. Read-only. + google.ads.googleads.v9.enums.AssetSetAssetStatusEnum.AssetSetAssetStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/batch_job.proto b/google-cloud/protos/google/ads/googleads/v9/resources/batch_job.proto new file mode 100644 index 00000000..1c54b863 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/batch_job.proto @@ -0,0 +1,98 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/batch_job_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the batch job resource. + +// A list of mutates being processed asynchronously. The mutates are uploaded +// by the user. The mutates themselves aren't readable and the results of the +// job can only be read using BatchJobService.ListBatchJobResults. +message BatchJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/BatchJob" + pattern: "customers/{customer_id}/batchJobs/{batch_job_id}" + }; + + // Additional information about the batch job. This message is also used as + // metadata returned in batch job Long Running Operations. + message BatchJobMetadata { + // Output only. The time when this batch job was created. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" + optional string creation_date_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job started running. + // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" + optional string start_date_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when this batch job was completed. + // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" + optional string completion_date_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. + // This is empty if the job hasn't started running yet. + optional double estimated_completion_ratio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations in the batch job. + optional int64 operation_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of mutate operations executed by the batch job. + // Present only if the job has started running. + optional int64 executed_operation_count = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the batch job. + // Batch job resource names have the form: + // + // `customers/{customer_id}/batchJobs/{batch_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Output only. ID of this batch job. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The next sequence token to use when adding operations. Only set when the + // batch job status is PENDING. + optional string next_add_sequence_token = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contains additional information about this batch job. + BatchJobMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this batch job. + google.ads.googleads.v9.enums.BatchJobStatusEnum.BatchJobStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion. Only set when the batch job status is RUNNING or DONE. + optional string long_running_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/bidding_data_exclusion.proto b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_data_exclusion.proto new file mode 100644 index 00000000..fc45d05f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_data_exclusion.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v9/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Represents a bidding data exclusion. +// +// See "About data exclusions" at +// https://support.google.com/google-ads/answer/10370710. +message BiddingDataExclusion { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + pattern: "customers/{customer_id}/biddingDataExclusions/{seasonality_event_id}" + }; + + // Immutable. The resource name of the data exclusion. + // Data exclusion resource names have the form: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; + + // Output only. The ID of the data exclusion. + int64 data_exclusion_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the data exclusion. + google.ads.googleads.v9.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the data exclusion. + google.ads.googleads.v9.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss + // format. + // + // A data exclusion is backward looking and should be used for events that + // start in the past and end either in the past or future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the data exclusion. The name can be at most 255 + // characters. + string name = 7; + + // The description of the data exclusion. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this exclusion. + // Otherwise, only the specified targeted devices will be included in this + // exclusion. + repeated google.ads.googleads.v9.enums.DeviceEnum.Device devices = 9; + + // The data exclusion will apply to the campaigns listed when the scope of + // this exclusion is CAMPAIGN. The maximum number of campaigns per event is + // 2000. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 10 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The data_exclusion will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // exclusion is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a data exclusion with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v9.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 11; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto new file mode 100644 index 00000000..089cf36d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto @@ -0,0 +1,114 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/device.proto"; +import "google/ads/googleads/v9/enums/seasonality_event_scope.proto"; +import "google/ads/googleads/v9/enums/seasonality_event_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Represents a bidding seasonality adjustment. +// +// See "About seasonality adjustments" at +// https://support.google.com/google-ads/answer/10369906. +message BiddingSeasonalityAdjustment { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + pattern: "customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_event_id}" + }; + + // Immutable. The resource name of the seasonality adjustment. + // Seasonality adjustment resource names have the form: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; + + // Output only. The ID of the seasonality adjustment. + int64 seasonality_adjustment_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The scope of the seasonality adjustment. + google.ads.googleads.v9.enums.SeasonalityEventScopeEnum.SeasonalityEventScope scope = 3; + + // Output only. The status of the seasonality adjustment. + google.ads.googleads.v9.enums.SeasonalityEventStatusEnum.SeasonalityEventStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd + // HH:mm:ss format. + // + // A seasonality adjustment is forward looking and should be used for events + // that start and end in the future. + string start_date_time = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss + // format. + // + // The length of [start_date_time, end_date_time) interval must be + // within (0, 14 days]. + string end_date_time = 6 [(google.api.field_behavior) = REQUIRED]; + + // The name of the seasonality adjustment. The name can be at most 255 + // characters. + string name = 7; + + // The description of the seasonality adjustment. The description can be at + // most 2048 characters. + string description = 8; + + // If not specified, all devices will be included in this adjustment. + // Otherwise, only the specified targeted devices will be included in this + // adjustment. + repeated google.ads.googleads.v9.enums.DeviceEnum.Device devices = 9; + + // Conversion rate modifier estimated based on expected conversion rate + // changes. When this field is unset or set to 1.0 no adjustment will be + // applied to traffic. The allowed range is 0.1 to 10.0. + double conversion_rate_modifier = 10; + + // The seasonality adjustment will apply to the campaigns listed when the + // scope of this adjustment is CAMPAIGN. The maximum number of campaigns per + // event is 2000. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated string campaigns = 11 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The seasonality adjustment will apply to all the campaigns under the listed + // channels retroactively as well as going forward when the scope of this + // adjustment is CHANNEL. + // The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. + // Note: a seasonality adjustment with both advertising_channel_types and + // campaign_ids is not supported. + repeated google.ads.googleads.v9.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_types = 12; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy.proto b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy.proto new file mode 100644 index 00000000..177ed108 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy.proto @@ -0,0 +1,139 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/bidding.proto"; +import "google/ads/googleads/v9/enums/bidding_strategy_status.proto"; +import "google/ads/googleads/v9/enums/bidding_strategy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the BiddingStrategy resource + +// A bidding strategy. +message BiddingStrategy { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategy" + pattern: "customers/{customer_id}/biddingStrategies/{bidding_strategy_id}" + }; + + // Immutable. The resource name of the bidding strategy. + // Bidding strategy resource names have the form: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; + + // Output only. The ID of the bidding strategy. + optional int64 id = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the bidding strategy. + // All bidding strategies within an account must be named distinctly. + // + // The length of this string should be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 17; + + // Output only. The status of the bidding strategy. + // + // This field is read-only. + google.ads.googleads.v9.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the bidding strategy. + // Create a bidding strategy by setting the bidding scheme. + // + // This field is read-only. + google.ads.googleads.v9.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this currency can be set on + // creation and defaults to the manager customer's currency. For serving + // customers, this field cannot be set; all strategies in a serving customer + // implicitly use the serving customer's currency. In all cases the + // effective_currency_code field returns the currency used by the strategy. + string currency_code = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). + // + // For bidding strategies in manager customers, this is the currency set by + // the advertiser when creating the strategy. For serving customers, this is + // the customer's currency_code. + // + // Bidding strategy metrics are reported in this currency. + // + // This field is read-only. + optional string effective_currency_code = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 campaign_count = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of non-removed campaigns attached to this bidding strategy. + // + // This field is read-only. + optional int64 non_removed_campaign_count = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The bidding scheme. + // + // Only one can be set. + oneof scheme { + // A bidding strategy that raises bids for clicks that seem more likely to + // lead to a conversion and lowers them for clicks where they seem less + // likely. + google.ads.googleads.v9.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.v9.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.v9.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.v9.common.TargetCpa target_cpa = 9; + + // A bidding strategy that automatically optimizes towards a desired + // percentage of impressions. + google.ads.googleads.v9.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.v9.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.v9.common.TargetSpend target_spend = 12; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy_simulation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy_simulation.proto new file mode 100644 index 00000000..1b725121 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/bidding_strategy_simulation.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/simulation.proto"; +import "google/ads/googleads/v9/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v9/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the bidding strategy simulation resource. + +// A bidding strategy simulation. Supported combinations of simulation type +// and simulation modification method are detailed below respectively. +// +// 1. TARGET_CPA - UNIFORM +// 2. TARGET_ROAS - UNIFORM +message BiddingStrategySimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + pattern: "customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the bidding strategy simulation. + // Bidding strategy simulation resource names have the form: + // + // `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; + + // Output only. Bidding strategy shared set id of the simulation. + int64 bidding_strategy_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v9.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v9.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is TARGET_CPA. + google.ads.googleads.v9.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.v9.common.TargetRoasSimulationPointList target_roas_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/billing_setup.proto b/google-cloud/protos/google/ads/googleads/v9/resources/billing_setup.proto new file mode 100644 index 00000000..4d5a1cd0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/billing_setup.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/billing_setup_status.proto"; +import "google/ads/googleads/v9/enums/time_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the BillingSetup resource. + +// A billing setup, which associates a payments account and an advertiser. A +// billing setup is specific to one advertiser. +message BillingSetup { + option (google.api.resource) = { + type: "googleads.googleapis.com/BillingSetup" + pattern: "customers/{customer_id}/billingSetups/{billing_setup_id}" + }; + + // Container of payments account information for this billing. + message PaymentsAccountInfo { + // Output only. A 16 digit id used to identify the payments account associated with the + // billing setup. + // + // This must be passed as a string with dashes, e.g. "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, e.g. "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, e.g. + // when a sequential liability agreement has been arranged. + optional string secondary_payments_profile_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the billing setup. + // BillingSetup resource names have the form: + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; + + // Output only. The ID of the billing setup. + optional int64 id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the billing setup. + google.ads.googleads.v9.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the payments account associated with this billing + // setup. Payments resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + // When setting up billing, this is used to signup with an existing payments + // account (and then payments_account_info should not be set). + // When getting a billing setup, this and payments_account_info will be + // populated. + optional string payments_account = 18 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Immutable. The payments account information associated with this billing setup. + // When setting up billing, this is used to signup with a new payments account + // (and then payments_account should not be set). + // When getting a billing setup, this and payments_account will be + // populated. + PaymentsAccountInfo payments_account_info = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // When creating a new billing setup, this is when the setup should take + // effect. NOW is the only acceptable start time if the customer doesn't have + // any approved setups. + // + // When fetching an existing billing setup, this is the requested start time. + // However, if the setup was approved (see status) after the requested start + // time, then this is the approval time. + oneof start_time { + // Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a + // future time is allowed. + string start_date_time = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The start time as a type. Only NOW is allowed. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType start_time_type = 10 [(google.api.field_behavior) = IMMUTABLE]; + } + + // When the billing setup ends / ended. This is either FOREVER or the start + // time of the next scheduled billing setup. + oneof end_time { + // Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + string end_date_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time as a type. The only possible value is FOREVER. + google.ads.googleads.v9.enums.TimeTypeEnum.TimeType end_time_type = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/call_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/call_view.proto new file mode 100644 index 00000000..3b25042d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/call_view.proto @@ -0,0 +1,80 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/call_tracking_display_location.proto"; +import "google/ads/googleads/v9/enums/call_type.proto"; +import "google/ads/googleads/v9/enums/google_voice_call_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CallViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the call view resource. + +// A call view that includes data for call tracking of call-only ads or call +// extensions. +message CallView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CallView" + pattern: "customers/{customer_id}/callViews/{call_detail_id}" + }; + + // Output only. The resource name of the call view. + // Call view resource names have the form: + // + // `customers/{customer_id}/callViews/{call_detail_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CallView" + } + ]; + + // Output only. Country code of the caller. + string caller_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Area code of the caller. Null if the call duration is shorter than 15 + // seconds. + string caller_area_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call duration in seconds. + int64 call_duration_seconds = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call start date time. + string start_call_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The advertiser-provided call end date time. + string end_call_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The call tracking display location. + google.ads.googleads.v9.enums.CallTrackingDisplayLocationEnum.CallTrackingDisplayLocation call_tracking_display_location = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the call. + google.ads.googleads.v9.enums.CallTypeEnum.CallType type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of the call. + google.ads.googleads.v9.enums.GoogleVoiceCallStatusEnum.GoogleVoiceCallStatus call_status = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign.proto new file mode 100644 index 00000000..05b76149 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign.proto @@ -0,0 +1,449 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/bidding.proto"; +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/frequency_cap.proto"; +import "google/ads/googleads/v9/common/real_time_bidding_setting.proto"; +import "google/ads/googleads/v9/common/targeting_setting.proto"; +import "google/ads/googleads/v9/enums/ad_serving_optimization_status.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/app_campaign_app_store.proto"; +import "google/ads/googleads/v9/enums/app_campaign_bidding_strategy_goal_type.proto"; +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/bidding_strategy_type.proto"; +import "google/ads/googleads/v9/enums/brand_safety_suitability.proto"; +import "google/ads/googleads/v9/enums/campaign_experiment_type.proto"; +import "google/ads/googleads/v9/enums/campaign_serving_status.proto"; +import "google/ads/googleads/v9/enums/campaign_status.proto"; +import "google/ads/googleads/v9/enums/location_source_type.proto"; +import "google/ads/googleads/v9/enums/negative_geo_target_type.proto"; +import "google/ads/googleads/v9/enums/optimization_goal_type.proto"; +import "google/ads/googleads/v9/enums/payment_mode.proto"; +import "google/ads/googleads/v9/enums/positive_geo_target_type.proto"; +import "google/ads/googleads/v9/enums/vanity_pharma_display_url_mode.proto"; +import "google/ads/googleads/v9/enums/vanity_pharma_text.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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}" + }; + + // 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, e.g., "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, e.g., "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" + }]; + } + + // 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.v9.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1; + } + + // 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. + // This field is required for Shopping campaigns. + // This field is optional for non-Shopping campaigns, but it must be equal + // to 'ZZ' if set. + optional string sales_country = 6; + + // 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; + } + + // 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.v9.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1; + + // The setting used for negative geotargeting in this particular campaign. + google.ads.googleads.v9.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.v9.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.v9.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.v9.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.v9.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.v9.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. + 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" + }]; + } + + // 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; + + // The status of the campaign. + // + // When a new campaign is added, the status defaults to ENABLED. + google.ads.googleads.v9.enums.CampaignStatusEnum.CampaignStatus status = 5; + + // Output only. The ad serving status of the campaign. + google.ads.googleads.v9.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ad serving optimization status of the campaign. + google.ads.googleads.v9.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.v9.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.v9.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.v9.common.CustomParameter url_custom_parameters = 12; + + // Settings for Real-Time Bidding, a feature only available for campaigns + // targeting the Ad Exchange network. + google.ads.googleads.v9.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.v9.common.TargetingSetting targeting_setting = 43; + + // 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.v9.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.v9.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. + optional string start_date = 63; + + // The last day of the campaign. + 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.v9.common.FrequencyCapEntry frequency_caps = 40; + + // Output only. 3-Tier Brand Safety setting for the campaign. + google.ads.googleads.v9.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. + 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.v9.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.v9.enums.AssetFieldTypeEnum.AssetFieldType excluded_parent_asset_field_types = 69; + + // 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; + + // The bidding strategy for the campaign. + // + // Must be either portfolio (created via 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.v9.common.Commission commission = 49; + + // Standard Manual CPC bidding strategy. + // Manual click-based bidding where user pays per click. + google.ads.googleads.v9.common.ManualCpc manual_cpc = 24; + + // Standard Manual CPM bidding strategy. + // Manual impression-based bidding where user pays per thousand + // impressions. + google.ads.googleads.v9.common.ManualCpm manual_cpm = 25; + + // Output only. A bidding strategy that pays a configurable amount per video view. + google.ads.googleads.v9.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Standard Maximize Conversions bidding strategy that automatically + // maximizes number of conversions while spending your budget. + google.ads.googleads.v9.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.v9.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.v9.common.TargetCpa target_cpa = 26; + + // Target Impression Share bidding strategy. An automated bidding strategy + // that sets bids to achieve a desired percentage of impressions. + google.ads.googleads.v9.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.v9.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.v9.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.v9.common.PercentCpc percent_cpc = 34; + + // A bidding strategy that automatically optimizes cost per thousand + // impressions. + google.ads.googleads.v9.common.TargetCpm target_cpm = 41; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset.proto new file mode 100644 index 00000000..b78f1fcf --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Status of the campaign asset. + google.ads.googleads.v9.enums.AssetLinkStatusEnum.AssetLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset_set.proto new file mode 100644 index 00000000..a0e0edf7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_asset_set.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_set_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CampaignAsset resource. + +// CampaignAssetSet is the linkage between a campaign and an asset set. +// Adding a CampaignAssetSet links an asset set with a campaign. +message CampaignAssetSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAssetSet" + pattern: "customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}" + }; + + // Immutable. The resource name of the campaign asset set. + // Asset set asset resource names have the form: + // + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAssetSet" + } + ]; + + // Immutable. The campaign to which this asset set is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The asset set which is linked to the campaign. + string asset_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetSet" + } + ]; + + // Output only. The status of the campaign asset set asset. Read-only. + google.ads.googleads.v9.enums.AssetSetLinkStatusEnum.AssetSetLinkStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_audience_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_audience_view.proto new file mode 100644 index 00000000..1f40fd48 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_audience_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the campaign audience view resource. + +// A campaign audience view. +// Includes performance data from interests and remarketing lists for Display +// Network and YouTube Network ads, and remarketing lists for search ads (RLSA), +// aggregated by campaign and audience criterion. This view only includes +// audiences attached at the campaign level. +message CampaignAudienceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignAudienceView" + pattern: "customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the campaign audience view. + // Campaign audience view resource names have the form: + // + // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_bid_modifier.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_bid_modifier.proto new file mode 100644 index 00000000..f7415a8f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_bid_modifier.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Campaign Bid Modifier resource. + +// Represents a bid-modifiable only criterion at the campaign level. +message CampaignBidModifier { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBidModifier" + pattern: "customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}" + }; + + // Immutable. The resource name of the campaign bid modifier. + // Campaign bid modifier resource names have the form: + // + // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; + + // Output only. The campaign to which this criterion belongs. + optional string campaign = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The ID of the criterion to bid modify. + // + // This field is ignored for mutates. + optional int64 criterion_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The modifier for the bid when the criterion matches. + optional double bid_modifier = 8; + + // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. + oneof criterion { + // Immutable. Criterion for interaction type. Only supported for search campaigns. + google.ads.googleads.v9.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_budget.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_budget.proto new file mode 100644 index 00000000..4401d6db --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_budget.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/budget_delivery_method.proto"; +import "google/ads/googleads/v9/enums/budget_period.proto"; +import "google/ads/googleads/v9/enums/budget_status.proto"; +import "google/ads/googleads/v9/enums/budget_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Budget resource. + +// A campaign budget. +message CampaignBudget { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignBudget" + pattern: "customers/{customer_id}/campaignBudgets/{campaign_budget_id}" + }; + + // Immutable. The resource name of the campaign budget. + // Campaign budget resource names have the form: + // + // `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; + + // Output only. The ID of the campaign budget. + // + // A campaign budget is created using the CampaignBudgetService create + // operation and is assigned a budget ID. A budget ID can be shared across + // different campaigns; the system will then allocate the campaign budget + // among different campaigns to get optimum results. + optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the campaign budget. + // + // When creating a campaign budget through CampaignBudgetService, every + // explicitly shared campaign budget must have a non-null, non-empty name. + // Campaign budgets that are not explicitly shared derive their name from the + // attached campaign's name. + // + // The length of this string must be between 1 and 255, inclusive, + // in UTF-8 bytes, (trimmed). + optional string name = 20; + + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. Monthly spend is capped at 30.4 times this amount. + optional int64 amount_micros = 21; + + // The lifetime amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + optional int64 total_amount_micros = 22; + + // Output only. The status of this campaign budget. This field is read-only. + google.ads.googleads.v9.enums.BudgetStatusEnum.BudgetStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The delivery method that determines the rate at which the campaign budget + // is spent. + // + // Defaults to STANDARD if unspecified in a create operation. + google.ads.googleads.v9.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; + + // Specifies whether the budget is explicitly shared. Defaults to true if + // unspecified in a create operation. + // + // If true, the budget was created with the purpose of sharing + // across one or more campaigns. + // + // If false, the budget was created with the intention of only being used + // with a single campaign. The budget's name and status will stay in sync + // with the campaign's name and status. Attempting to share the budget with a + // second campaign will result in an error. + // + // A non-shared budget can become an explicitly shared. The same operation + // must also assign the budget a name. + // + // A shared campaign budget can never become non-shared. + optional bool explicitly_shared = 23; + + // Output only. The number of campaigns actively using the budget. + // + // This field is read-only. + optional int64 reference_count = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether there is a recommended budget for this campaign budget. + // + // This field is read-only. + optional bool has_recommended_budget = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended budget amount. If no recommendation is available, this will + // be set to the budget amount. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + // + // This field is read-only. + optional int64 recommended_budget_amount_micros = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + google.ads.googleads.v9.enums.BudgetPeriodEnum.BudgetPeriod period = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The estimated change in weekly clicks if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_clicks = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly cost in micros if the recommended budget is + // applied. One million is equivalent to one currency unit. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly interactions if the recommended budget is + // applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_interactions = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The estimated change in weekly views if the recommended budget is applied. + // + // This field is read-only. + optional int64 recommended_budget_estimated_change_weekly_views = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of the campaign budget. + google.ads.googleads.v9.enums.BudgetTypeEnum.BudgetType type = 18 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_conversion_goal.proto new file mode 100644 index 00000000..7556d1eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_conversion_goal.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/conversion_action_category.proto"; +import "google/ads/googleads/v9/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// The biddability setting for the specified campaign only for all +// conversion actions with a matching category and origin. +message CampaignConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + pattern: "customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{source}" + }; + + // Immutable. The resource name of the campaign conversion goal. + // Campaign conversion goal resource names have the form: + // + // `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignConversionGoal" + } + ]; + + // Immutable. The campaign with which this campaign conversion goal is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The conversion category of this campaign conversion goal. + google.ads.googleads.v9.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 3; + + // The conversion origin of this campaign conversion goal. + google.ads.googleads.v9.enums.ConversionOriginEnum.ConversionOrigin origin = 4; + + // The biddability of the campaign conversion goal. + bool biddable = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion.proto new file mode 100644 index 00000000..924b3993 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion.proto @@ -0,0 +1,181 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/campaign_criterion_status.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.enums.CriterionTypeEnum.CriterionType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The status of the criterion. + google.ads.googleads.v9.enums.CampaignCriterionStatusEnum.CampaignCriterionStatus status = 35; + + // The campaign criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v9.common.KeywordInfo keyword = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v9.common.PlacementInfo placement = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile app category. + google.ads.googleads.v9.common.MobileAppCategoryInfo mobile_app_category = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v9.common.MobileApplicationInfo mobile_application = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location. + google.ads.googleads.v9.common.LocationInfo location = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Device. + google.ads.googleads.v9.common.DeviceInfo device = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Schedule. + google.ads.googleads.v9.common.AdScheduleInfo ad_schedule = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Age range. + google.ads.googleads.v9.common.AgeRangeInfo age_range = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Gender. + google.ads.googleads.v9.common.GenderInfo gender = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Income range. + google.ads.googleads.v9.common.IncomeRangeInfo income_range = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Parental status. + google.ads.googleads.v9.common.ParentalStatusInfo parental_status = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User List. + google.ads.googleads.v9.common.UserListInfo user_list = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v9.common.YouTubeVideoInfo youtube_video = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v9.common.YouTubeChannelInfo youtube_channel = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Proximity. + google.ads.googleads.v9.common.ProximityInfo proximity = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Topic. + google.ads.googleads.v9.common.TopicInfo topic = 24 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Listing scope. + google.ads.googleads.v9.common.ListingScopeInfo listing_scope = 25 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Language. + google.ads.googleads.v9.common.LanguageInfo language = 26 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. IpBlock. + google.ads.googleads.v9.common.IpBlockInfo ip_block = 27 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. ContentLabel. + google.ads.googleads.v9.common.ContentLabelInfo content_label = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Carrier. + google.ads.googleads.v9.common.CarrierInfo carrier = 29 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. User Interest. + google.ads.googleads.v9.common.UserInterestInfo user_interest = 30 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Webpage. + google.ads.googleads.v9.common.WebpageInfo webpage = 31 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Operating system version. + google.ads.googleads.v9.common.OperatingSystemVersionInfo operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile Device. + google.ads.googleads.v9.common.MobileDeviceInfo mobile_device = 33 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Group + google.ads.googleads.v9.common.LocationGroupInfo location_group = 34 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Affinity. + google.ads.googleads.v9.common.CustomAffinityInfo custom_affinity = 36 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Audience + google.ads.googleads.v9.common.CustomAudienceInfo custom_audience = 41 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Combined Audience. + google.ads.googleads.v9.common.CombinedAudienceInfo combined_audience = 42 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Smart Campaign Keyword Theme. + google.ads.googleads.v9.common.KeywordThemeInfo keyword_theme = 45 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion_simulation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion_simulation.proto new file mode 100644 index 00000000..3165994b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_criterion_simulation.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/simulation.proto"; +import "google/ads/googleads/v9/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v9/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionSimulationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the campaign criterion simulation resource. + +// A campaign criterion simulation. Supported combinations of advertising +// channel type, criterion ids, simulation type and simulation modification +// method is detailed below respectively. +// +// 1. SEARCH - 30000,30001,30002 - BID_MODIFIER - UNIFORM +// 2. DISPLAY - 30001 - BID_MODIFIER - UNIFORM +message CampaignCriterionSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + pattern: "customers/{customer_id}/campaignCriterionSimulations/{campaign_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign criterion simulation. + // Campaign criterion simulation resource names have the form: + // + // `customers/{customer_id}/campaignCriterionSimulations/{campaign_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/CampaignCriterionSimulation" + } + ]; + + // Output only. Campaign ID of the simulation. + optional int64 campaign_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion ID of the simulation. + optional int64 criterion_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v9.enums.SimulationTypeEnum.SimulationType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v9.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + optional string start_date = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + optional string end_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is BID_MODIFIER. + google.ads.googleads.v9.common.BidModifierSimulationPointList bid_modifier_point_list = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_customizer.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_customizer.proto new file mode 100644 index 00000000..06903164 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_customizer.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/customizer_value.proto"; +import "google/ads/googleads/v9/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Campaign +// level. +message CampaignCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignCustomizer" + pattern: "customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}" + }; + + // Immutable. The resource name of the campaign customizer. + // Campaign customizer resource names have the form: + // + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCustomizer" + } + ]; + + // Immutable. The campaign to which the customizer attribute is linked. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the campaign. + string customizer_attribute = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the campaign customizer. + google.ads.googleads.v9.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.v9.common.CustomizerValue value = 5 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_draft.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_draft.proto new file mode 100644 index 00000000..a6ff902e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_draft.proto @@ -0,0 +1,98 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/campaign_draft_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Campaign Draft resource. + +// A campaign draft. +message CampaignDraft { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignDraft" + pattern: "customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}" + }; + + // Immutable. The resource name of the campaign draft. + // Campaign draft resource names have the form: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Output only. The ID of the draft. + // + // This field is read-only. + optional int64 draft_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The base campaign to which the draft belongs. + optional string base_campaign = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The name of the campaign draft. + // + // This field is required and should not be empty when creating new + // campaign drafts. + // + // It must not contain any null (code point 0x0), NL line feed + // (code point 0xA) or carriage return (code point 0xD) characters. + optional string name = 11; + + // Output only. Resource name of the Campaign that results from overlaying the draft + // changes onto the base campaign. + // + // This field is read-only. + optional string draft_campaign = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign draft. This field is read-only. + // + // When a new campaign draft is added, the status defaults to PROPOSED. + google.ads.googleads.v9.enums.CampaignDraftStatusEnum.CampaignDraftStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether there is an experiment based on this draft currently serving. + optional bool has_experiment_running = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the long-running operation that can be used to poll + // for completion of draft promotion. This is only set if the draft promotion + // is in progress or finished. + optional string long_running_operation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_experiment.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_experiment.proto new file mode 100644 index 00000000..1d831e74 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_experiment.proto @@ -0,0 +1,121 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/campaign_experiment_status.proto"; +import "google/ads/googleads/v9/enums/campaign_experiment_traffic_split_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Campaign Experiment resource. + +// An A/B experiment that compares the performance of the base campaign +// (the control) and a variation of that campaign (the experiment). +message CampaignExperiment { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExperiment" + pattern: "customers/{customer_id}/campaignExperiments/{campaign_experiment_id}" + }; + + // Immutable. The resource name of the campaign experiment. + // Campaign experiment resource names have the form: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; + + // Output only. The ID of the campaign experiment. + // + // This field is read-only. + optional int64 id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The campaign draft with staged changes to the base campaign. + optional string campaign_draft = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // The name of the campaign experiment. + // + // This field is required when creating new campaign experiments + // and must not conflict with the name of another non-removed + // campaign experiment or campaign. + // + // 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 = 15; + + // The description of the experiment. + optional string description = 16; + + // Immutable. Share of traffic directed to experiment as a percent (must be between 1 and + // 99 inclusive. Base campaign receives the remainder of the traffic + // (100 - traffic_split_percent). Required for create. + optional int64 traffic_split_percent = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Determines the behavior of the traffic split. + google.ads.googleads.v9.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The experiment campaign, as opposed to the base campaign. + optional string experiment_campaign = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The status of the campaign experiment. This field is read-only. + google.ads.googleads.v9.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9 [(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 experiment create or promote. The most recent long + // running operation is returned. + optional string long_running_operation = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Date when the campaign 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. Cannot be changed once the experiment starts. + // + // Format: YYYY-MM-DD + // Example: 2019-03-14 + optional string start_date = 20; + + // The last day of the campaign experiment. 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 = 21; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_extension_setting.proto new file mode 100644 index 00000000..ff960167 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_extension_setting.proto @@ -0,0 +1,79 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/extension_setting_device.proto"; +import "google/ads/googleads/v9/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CampaignExtensionSetting resource. + +// A campaign extension setting. +message CampaignExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + pattern: "customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}" + }; + + // Immutable. The resource name of the campaign extension setting. + // CampaignExtensionSetting resource names have the form: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v9.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The resource name of the campaign. The linked extension feed items will + // serve under this campaign. + // Campaign resource names have the form: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + optional string campaign = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The resource names of the extension feed items to serve under the campaign. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v9.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_feed.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_feed.proto new file mode 100644 index 00000000..ce353d13 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_feed.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/matching_function.proto"; +import "google/ads/googleads/v9/enums/feed_link_status.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CampaignFeed resource. + +// A campaign feed. +message CampaignFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignFeed" + pattern: "customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}" + }; + + // Immutable. The resource name of the campaign feed. + // Campaign feed resource names have the form: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id} + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Immutable. The feed to which the CampaignFeed belongs. + optional string feed = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Immutable. The campaign to which the CampaignFeed belongs. + optional string campaign = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // campaign. Required. + repeated google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4; + + // Matching function associated with the CampaignFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v9.common.MatchingFunction matching_function = 5; + + // Output only. Status of the campaign feed. + // This field is read-only. + google.ads.googleads.v9.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_label.proto new file mode 100644 index 00000000..b27ff4b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_label.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the campaign label resource. + +// Represents a relationship between a campaign and a label. +message CampaignLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignLabel" + pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}" + }; + + // Immutable. Name of the resource. + // Campaign label resource names have the form: + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; + + // Immutable. The campaign to which the label is attached. + optional string campaign = 4 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The label assigned to the campaign. + optional string label = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_shared_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_shared_set.proto new file mode 100644 index 00000000..03a0c581 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_shared_set.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/campaign_shared_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CampaignSharedSet resource. + +// CampaignSharedSets are used for managing the shared sets associated with a +// campaign. +message CampaignSharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSharedSet" + pattern: "customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}" + }; + + // Immutable. The resource name of the campaign shared set. + // Campaign shared set resource names have the form: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Immutable. The campaign to which the campaign shared set belongs. + optional string campaign = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The shared set associated with the campaign. This may be a negative keyword + // shared set of another customer. This customer should be a manager of the + // other customer, otherwise the campaign shared set will exist but have no + // serving effect. Only negative keyword shared sets can be associated with + // Shopping campaigns. Only negative placement shared sets can be associated + // with Display mobile app campaigns. + optional string shared_set = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The status of this campaign shared set. Read only. + google.ads.googleads.v9.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/campaign_simulation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_simulation.proto new file mode 100644 index 00000000..3c42edc4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/campaign_simulation.proto @@ -0,0 +1,102 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/simulation.proto"; +import "google/ads/googleads/v9/enums/simulation_modification_method.proto"; +import "google/ads/googleads/v9/enums/simulation_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the campaign simulation resource. + +// A campaign simulation. Supported combinations of advertising +// channel type, simulation type and simulation modification +// method is detailed below respectively. +// +// SEARCH - CPC_BID - UNIFORM +// SEARCH - CPC_BID - SCALING +// SEARCH - TARGET_CPA - UNIFORM +// SEARCH - TARGET_CPA - SCALING +// SEARCH - TARGET_ROAS - UNIFORM +// SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM +// SEARCH - BUDGET - UNIFORM +// SHOPPING - BUDGET - UNIFORM +// SHOPPING - TARGET_ROAS - UNIFORM +// MULTIPLE - TARGET_CPA - UNIFORM +// OWNED_AND_OPERATED - TARGET_CPA - DEFAULT +// DISPLAY - TARGET_CPA - UNIFORM +message CampaignSimulation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CampaignSimulation" + pattern: "customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}" + }; + + // Output only. The resource name of the campaign simulation. + // Campaign simulation resource names have the form: + // + // `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; + + // Output only. Campaign id of the simulation. + int64 campaign_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The field that the simulation modifies. + google.ads.googleads.v9.enums.SimulationTypeEnum.SimulationType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. How the simulation modifies the field. + google.ads.googleads.v9.enums.SimulationModificationMethodEnum.SimulationModificationMethod modification_method = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. First day on which the simulation is based, in YYYY-MM-DD format. + string start_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last day on which the simulation is based, in YYYY-MM-DD format + string end_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // List of simulation points. + oneof point_list { + // Output only. Simulation points if the simulation type is CPC_BID. + google.ads.googleads.v9.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.v9.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.v9.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.v9.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.v9.common.BudgetSimulationPointList budget_point_list = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/carrier_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/carrier_constant.proto new file mode 100644 index 00000000..9d942834 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/carrier_constant.proto @@ -0,0 +1,61 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Carrier constant resource. + +// A carrier criterion that can be used in campaign targeting. +message CarrierConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CarrierConstant" + pattern: "carrierConstants/{criterion_id}" + }; + + // Output only. The resource name of the carrier criterion. + // Carrier criterion resource names have the form: + // + // `carrierConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; + + // Output only. The ID of the carrier criterion. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The full name of the carrier in English. + optional string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The country code of the country where the carrier is located, e.g., "AR", + // "FR", etc. + optional string country_code = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/change_event.proto b/google-cloud/protos/google/ads/googleads/v9/resources/change_event.proto new file mode 100644 index 00000000..f66e36a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/change_event.proto @@ -0,0 +1,203 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/ad_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/asset_type.proto"; +import "google/ads/googleads/v9/enums/change_client_type.proto"; +import "google/ads/googleads/v9/enums/change_event_resource_type.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/ads/googleads/v9/enums/feed_origin.proto"; +import "google/ads/googleads/v9/enums/resource_change_operation.proto"; +import "google/ads/googleads/v9/resources/ad.proto"; +import "google/ads/googleads/v9/resources/ad_group.proto"; +import "google/ads/googleads/v9/resources/ad_group_ad.proto"; +import "google/ads/googleads/v9/resources/ad_group_asset.proto"; +import "google/ads/googleads/v9/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v9/resources/ad_group_feed.proto"; +import "google/ads/googleads/v9/resources/asset.proto"; +import "google/ads/googleads/v9/resources/campaign.proto"; +import "google/ads/googleads/v9/resources/campaign_asset.proto"; +import "google/ads/googleads/v9/resources/campaign_budget.proto"; +import "google/ads/googleads/v9/resources/campaign_criterion.proto"; +import "google/ads/googleads/v9/resources/campaign_feed.proto"; +import "google/ads/googleads/v9/resources/customer_asset.proto"; +import "google/ads/googleads/v9/resources/feed.proto"; +import "google/ads/googleads/v9/resources/feed_item.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeEventProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Change Event resource. + +// Describes the granular change of returned resource of certain resource types. +// Changes made through UI, API and new versions of Editor +// by external users (including external users, and internal users that can be +// shown externally) in the past 30 days will be shown. The change shows the old +// values of the changed fields before the change and the new values right after +// the change. 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. The resource name of the change event. + // Change event resource names have the form: + // + // `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeEvent" + } + ]; + + // Output only. Time at which the change was committed on this resource. + string change_date_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the changed resource. This dictates what resource + // will be set in old_resource and new_resource. + google.ads.googleads.v9.enums.ChangeEventResourceTypeEnum.ChangeEventResourceType change_resource_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Simply resource this change occurred on. + string change_resource_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the change was made through. + google.ads.googleads.v9.enums.ChangeClientTypeEnum.ChangeClientType client_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the user who made this change. + string user_email = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The old resource before the change. Only changed fields will be populated. + ChangedResource old_resource = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The new resource after the change. Only changed fields will be populated. + ChangedResource new_resource = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operation on the changed resource. + google.ads.googleads.v9.enums.ResourceChangeOperationEnum.ResourceChangeOperation resource_change_operation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of fields that are changed in the returned resource. + google.protobuf.FieldMask changed_fields = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + string campaign = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + string ad_group = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. The Feed affected by this change. + string feed = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + string feed_item = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 20 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/change_status.proto b/google-cloud/protos/google/ads/googleads/v9/resources/change_status.proto new file mode 100644 index 00000000..442125c6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/change_status.proto @@ -0,0 +1,199 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/ad_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_sub_type.proto"; +import "google/ads/googleads/v9/enums/advertising_channel_type.proto"; +import "google/ads/googleads/v9/enums/asset_type.proto"; +import "google/ads/googleads/v9/enums/change_status_operation.proto"; +import "google/ads/googleads/v9/enums/change_status_resource_type.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/ads/googleads/v9/enums/feed_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Change Status resource. + +// Describes the status of returned resource. ChangeStatus could have up to 3 +// minutes delay to reflect a new change. +message ChangeStatus { + option (google.api.resource) = { + type: "googleads.googleapis.com/ChangeStatus" + pattern: "customers/{customer_id}/changeStatus/{change_status_id}" + }; + + // Output only. The resource name of the change status. + // Change status resource names have the form: + // + // `customers/{customer_id}/changeStatus/{change_status_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; + + // Output only. Time at which the most recent change has occurred on this resource. + optional string last_change_date_time = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the type of the changed resource. This dictates what fields + // will be set. For example, for AD_GROUP, campaign and ad_group fields will + // be set. + google.ads.googleads.v9.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Campaign affected by this change. + optional string campaign = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. The AdGroup affected by this change. + optional string ad_group = 18 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Represents the status of the changed resource. + google.ads.googleads.v9.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The AdGroupAd affected by this change. + optional string ad_group_ad = 25 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The AdGroupCriterion affected by this change. + optional string ad_group_criterion = 26 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. The CampaignCriterion affected by this change. + optional string campaign_criterion = 27 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; + + // Output only. The Feed affected by this change. + optional string feed = 28 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The FeedItem affected by this change. + optional string feed_item = 29 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The AdGroupFeed affected by this change. + optional string ad_group_feed = 30 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; + + // Output only. The CampaignFeed affected by this change. + optional string campaign_feed = 31 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; + + // Output only. The AdGroupBidModifier affected by this change. + optional string ad_group_bid_modifier = 32 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; + + // Output only. The SharedSet affected by this change. + string shared_set = 33 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The CampaignSharedSet affected by this change. + string campaign_shared_set = 34 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; + + // Output only. The Asset affected by this change. + string asset = 35 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; + + // Output only. The CustomerAsset affected by this change. + string customer_asset = 36 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; + + // Output only. The CampaignAsset affected by this change. + string campaign_asset = 37 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; + + // Output only. The AdGroupAsset affected by this change. + string ad_group_asset = 38 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/click_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/click_view.proto new file mode 100644 index 00000000..bbbac107 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/click_view.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/click_location.proto"; +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ClickView resource. + +// A click view with metrics aggregated at each click level, including both +// valid and invalid clicks. For non-Search campaigns, metrics.clicks +// represents the number of valid and invalid interactions. +// Queries including ClickView must have a filter limiting the results to one +// day and can be requested for dates back to 90 days before the time of the +// request. +message ClickView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ClickView" + pattern: "customers/{customer_id}/clickViews/{date}~{gclid}" + }; + + // Output only. The resource name of the click view. + // Click view resource names have the form: + // + // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; + + // Output only. The Google Click ID. + optional string gclid = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location criteria matching the area of interest associated with the + // impression. + google.ads.googleads.v9.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.v9.common.ClickLocation location_of_presence = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Page number in search results where the ad was shown. + optional int64 page_number = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The associated ad. + optional string ad_group_ad = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAd" + } + ]; + + // Output only. The associated campaign location target, if one exists. + optional string campaign_location_target = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The associated user list, if one exists. + optional string user_list = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. The associated keyword, if one exists and the click corresponds to the + // SEARCH channel. + string keyword = 13 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; + + // Output only. Basic information about the associated keyword, if it exists. + google.ads.googleads.v9.common.KeywordInfo keyword_info = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/combined_audience.proto b/google-cloud/protos/google/ads/googleads/v9/resources/combined_audience.proto new file mode 100644 index 00000000..32ac886b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/combined_audience.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/combined_audience_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Combined Audience resource. + +// Describe a resource for combined audiences which includes different +// audiences. +message CombinedAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CombinedAudience" + pattern: "customers/{customer_id}/combinedAudiences/{combined_audience_id}" + }; + + // Immutable. The resource name of the combined audience. + // Combined audience names have the form: + // + // `customers/{customer_id}/combinedAudience/{combined_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; + + // Output only. ID of the combined audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this combined audience. Indicates whether the combined audience + // is enabled or removed. + google.ads.googleads.v9.enums.CombinedAudienceStatusEnum.CombinedAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the combined audience. It should be unique across all combined + // audiences. + string name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of this combined audience. + string description = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/conversion_action.proto b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_action.proto new file mode 100644 index 00000000..6382c838 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_action.proto @@ -0,0 +1,189 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/tag_snippet.proto"; +import "google/ads/googleads/v9/enums/attribution_model.proto"; +import "google/ads/googleads/v9/enums/conversion_action_category.proto"; +import "google/ads/googleads/v9/enums/conversion_action_counting_type.proto"; +import "google/ads/googleads/v9/enums/conversion_action_status.proto"; +import "google/ads/googleads/v9/enums/conversion_action_type.proto"; +import "google/ads/googleads/v9/enums/conversion_origin.proto"; +import "google/ads/googleads/v9/enums/data_driven_model_status.proto"; +import "google/ads/googleads/v9/enums/mobile_app_vendor.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Conversion Action resource. + +// A conversion action. +message ConversionAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionAction" + pattern: "customers/{customer_id}/conversionActions/{conversion_action_id}" + }; + + // Settings related to this conversion action's attribution model. + message AttributionModelSettings { + // The attribution model type of this conversion action. + google.ads.googleads.v9.enums.AttributionModelEnum.AttributionModel attribution_model = 1; + + // Output only. The status of the data-driven attribution model for the conversion + // action. + google.ads.googleads.v9.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to the value for conversion events associated with this + // conversion action. + message ValueSettings { + // The value to use when conversion events for this conversion action are + // sent with an invalid, disallowed or missing value, or when + // this conversion action is configured to always use the default value. + optional double default_value = 4; + + // The currency code to use when conversion events for this conversion + // action are sent with an invalid or missing currency code, or when this + // conversion action is configured to always use the default value. + optional string default_currency_code = 5; + + // Controls whether the default value and default currency code are used in + // place of the value and currency code specified in conversion events for + // this conversion action. + optional bool always_use_default_value = 6; + } + + // Settings related to a third party app analytics conversion action. + message ThirdPartyAppAnalyticsSettings { + // Output only. The event name of a third-party app analytics conversion. + optional string event_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the third-party app analytics provider. + string provider_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Settings related to a Firebase conversion action. + message FirebaseSettings { + // Output only. The event name of a Firebase conversion. + optional string event_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Firebase project ID of the conversion. + optional string project_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Immutable. The resource name of the conversion action. + // Conversion action resource names have the form: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; + + // Output only. The ID of the conversion action. + optional int64 id = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the conversion action. + // + // This field is required and should not be empty when creating new + // conversion actions. + optional string name = 22; + + // The status of this conversion action for conversion event accrual. + google.ads.googleads.v9.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4; + + // Immutable. The type of this conversion action. + google.ads.googleads.v9.enums.ConversionActionTypeEnum.ConversionActionType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The conversion origin of this conversion action. + google.ads.googleads.v9.enums.ConversionOriginEnum.ConversionOrigin origin = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // If a conversion action’s primary_for_goal bit is false, the conversion + // action is non-biddable for all campaigns regardless of their customer + // conversion goal or campaign conversion goal. + // However, custom conversion goals do not respect primary_for_goal, so if + // a campaign has a custom conversion goal configured with a + // primary_for_goal = false conversion action, that conversion action is + // still biddable. + bool primary_for_goal = 31; + + // The category of conversions reported for this conversion action. + google.ads.googleads.v9.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6; + + // Output only. The resource name of the conversion action owner customer, or null if this + // is a system-defined conversion action. + optional string owner_customer = 23 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Whether this conversion action should be included in the "conversions" + // metric. + optional bool include_in_conversions_metric = 24; + + // The maximum number of days that may elapse between an interaction + // (e.g., a click) and a conversion event. + optional int64 click_through_lookback_window_days = 25; + + // The maximum number of days which may elapse between an impression and a + // conversion without an interaction. + optional int64 view_through_lookback_window_days = 26; + + // Settings related to the value for conversion events associated with this + // conversion action. + ValueSettings value_settings = 11; + + // How to count conversion events for the conversion action. + google.ads.googleads.v9.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12; + + // Settings related to this conversion action's attribution model. + AttributionModelSettings attribution_model_settings = 13; + + // Output only. The snippets used for tracking conversions. + repeated google.ads.googleads.v9.common.TagSnippet tag_snippets = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The phone call duration in seconds after which a conversion should be + // reported for this conversion action. + // + // The value must be between 0 and 10000, inclusive. + optional int64 phone_call_duration_seconds = 27; + + // App ID for an app conversion action. + optional string app_id = 28; + + // Output only. Mobile app vendor for an app conversion action. + google.ads.googleads.v9.enums.MobileAppVendorEnum.MobileAppVendor mobile_app_vendor = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Firebase settings for Firebase conversion types. + FirebaseSettings firebase_settings = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Third Party App Analytics settings for third party conversion types. + ThirdPartyAppAnalyticsSettings third_party_app_analytics_settings = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/conversion_custom_variable.proto b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_custom_variable.proto new file mode 100644 index 00000000..6357ecbc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_custom_variable.proto @@ -0,0 +1,86 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/conversion_custom_variable_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Conversion Custom Variable resource. + +// A conversion custom variable +// See "About custom variables for conversions" at +// https://support.google.com/google-ads/answer/9964350 +message ConversionCustomVariable { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + pattern: "customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}" + }; + + // Immutable. The resource name of the conversion custom variable. + // Conversion custom variable resource names have the form: + // + // `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; + + // Output only. The ID of the conversion custom variable. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the conversion custom variable. + // Name should be unique. The maximum length of name is 100 characters. + // There should not be any extra spaces before and after. + string name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The tag of the conversion custom variable. It is used in the event snippet + // and sent to Google Ads along with conversion pings. For conversion uploads + // in Google Ads API, the resource name of the conversion custom variable is + // used. + // Tag should be unique. The maximum size of tag is 100 bytes. + // There should not be any extra spaces before and after. + // Currently only lowercase letters, numbers and underscores are allowed in + // the tag. + string tag = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The status of the conversion custom variable for conversion event accrual. + google.ads.googleads.v9.enums.ConversionCustomVariableStatusEnum.ConversionCustomVariableStatus status = 5; + + // Output only. The resource name of the customer that owns the conversion custom variable. + string owner_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto new file mode 100644 index 00000000..20dc2ea7 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/goal_config_level.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Conversion goal settings for a Campaign. +message ConversionGoalCampaignConfig { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + pattern: "customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}" + }; + + // Immutable. The resource name of the conversion goal campaign config. + // Conversion goal campaign config resource names have the form: + // + // `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionGoalCampaignConfig" + } + ]; + + // Immutable. The campaign with which this conversion goal campaign config is associated. + string campaign = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // The level of goal config the campaign is using. + google.ads.googleads.v9.enums.GoalConfigLevelEnum.GoalConfigLevel goal_config_level = 3; + + // The custom conversion goal the campaign is using for optimization. + string custom_conversion_goal = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule.proto b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule.proto new file mode 100644 index 00000000..ddbc4e57 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule.proto @@ -0,0 +1,135 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/conversion_value_rule_status.proto"; +import "google/ads/googleads/v9/enums/value_rule_device_type.proto"; +import "google/ads/googleads/v9/enums/value_rule_geo_location_match_type.proto"; +import "google/ads/googleads/v9/enums/value_rule_operation.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Conversion Value Rule resource. + +// A conversion value rule +message ConversionValueRule { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRule" + pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}" + }; + + // Action applied when rule is applied. + message ValueRuleAction { + // Specifies applied operation. + google.ads.googleads.v9.enums.ValueRuleOperationEnum.ValueRuleOperation operation = 1; + + // Specifies applied value. + double value = 2; + } + + // Condition on Geo dimension. + message ValueRuleGeoLocationCondition { + // Geo locations that advertisers want to exclude. + repeated string excluded_geo_target_constants = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Excluded Geo location match type. + google.ads.googleads.v9.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType excluded_geo_match_type = 2; + + // Geo locations that advertisers want to include. + repeated string geo_target_constants = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // Included Geo location match type. + google.ads.googleads.v9.enums.ValueRuleGeoLocationMatchTypeEnum.ValueRuleGeoLocationMatchType geo_match_type = 4; + } + + // Condition on Device dimension. + message ValueRuleDeviceCondition { + // Value for device type condition. + repeated google.ads.googleads.v9.enums.ValueRuleDeviceTypeEnum.ValueRuleDeviceType device_types = 1; + } + + // Condition on Audience dimension. + message ValueRuleAudienceCondition { + // User Lists. + repeated string user_lists = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + }]; + + // User Interests. + repeated string user_interests = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + }]; + } + + // Immutable. The resource name of the conversion value rule. + // Conversion value rule resource names have the form: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; + + // Output only. The ID of the conversion value rule. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Action applied when the rule is triggered. + ValueRuleAction action = 3; + + // Condition for Geo location that must be satisfied for the value rule to + // apply. + ValueRuleGeoLocationCondition geo_location_condition = 4; + + // Condition for device type that must be satisfied for the value rule to + // apply. + ValueRuleDeviceCondition device_condition = 5; + + // Condition for audience that must be satisfied for the value rule to apply. + ValueRuleAudienceCondition audience_condition = 6; + + // Output only. The resource name of the conversion value rule's owner customer. + // When the value rule is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // The status of the conversion value rule. + google.ads.googleads.v9.enums.ConversionValueRuleStatusEnum.ConversionValueRuleStatus status = 8; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule_set.proto new file mode 100644 index 00000000..a9ec440f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/conversion_value_rule_set.proto @@ -0,0 +1,96 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/conversion_value_rule_set_status.proto"; +import "google/ads/googleads/v9/enums/value_rule_set_attachment_type.proto"; +import "google/ads/googleads/v9/enums/value_rule_set_dimension.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Conversion Value Rule Set resource. + +// A conversion value rule set +message ConversionValueRuleSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + pattern: "customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}" + }; + + // Immutable. The resource name of the conversion value rule set. + // Conversion value rule set resource names have the form: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; + + // Output only. The ID of the conversion value rule set. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Resource names of rules within the rule set. + repeated string conversion_value_rules = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + }]; + + // Defines dimensions for Value Rule conditions. The condition types of value + // rules within this value rule set must be of these dimensions. The first + // entry in this list is the primary dimension of the included value rules. + // When using value rule primary dimension segmentation, conversion values + // will be segmented into the values adjusted by value rules and the original + // values, if some value rules apply. + repeated google.ads.googleads.v9.enums.ValueRuleSetDimensionEnum.ValueRuleSetDimension dimensions = 4; + + // Output only. The resource name of the conversion value rule set's owner customer. + // When the value rule set is inherited from a manager + // customer, owner_customer will be the resource name of the manager whereas + // the customer in the resource_name will be of the requesting serving + // customer. + // ** Read-only ** + string owner_customer = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Defines the scope where the conversion value rule set is attached. + google.ads.googleads.v9.enums.ValueRuleSetAttachmentTypeEnum.ValueRuleSetAttachmentType attachment_type = 6; + + // The resource name of the campaign when the conversion value rule + // set is attached to a campaign. + string campaign = 7 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Output only. The status of the conversion value rule set. + // ** Read-only ** + google.ads.googleads.v9.enums.ConversionValueRuleSetStatusEnum.ConversionValueRuleSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/currency_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/currency_constant.proto new file mode 100644 index 00000000..6a90a95a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/currency_constant.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Currency Constant resource. + +// A currency constant. +message CurrencyConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/CurrencyConstant" + pattern: "currencyConstants/{code}" + }; + + // Output only. The resource name of the currency constant. + // Currency constant resource names have the form: + // + // `currencyConstants/{code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; + + // Output only. ISO 4217 three-letter currency code, e.g. "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, e.g. '$' 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/google-cloud/protos/google/ads/googleads/v9/resources/custom_audience.proto b/google-cloud/protos/google/ads/googleads/v9/resources/custom_audience.proto new file mode 100644 index 00000000..b3239c1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/custom_audience.proto @@ -0,0 +1,107 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/custom_audience_member_type.proto"; +import "google/ads/googleads/v9/enums/custom_audience_status.proto"; +import "google/ads/googleads/v9/enums/custom_audience_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Custom Audience resource. + +// A custom audience. This is a list of users by interest. +message CustomAudience { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomAudience" + pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}" + }; + + // Immutable. The resource name of the custom audience. + // Custom audience resource names have the form: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; + + // Output only. ID of the custom audience. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of this custom audience. Indicates whether the custom audience is + // enabled or removed. + google.ads.googleads.v9.enums.CustomAudienceStatusEnum.CustomAudienceStatus status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the custom audience. It should be unique for all custom audiences + // created by a customer. + // This field is required for creating operations. + string name = 4; + + // Type of the custom audience. + // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom + // audience but kept for existing audiences) + google.ads.googleads.v9.enums.CustomAudienceTypeEnum.CustomAudienceType type = 5; + + // Description of this custom audience. + string description = 6; + + // List of custom audience members that this custom audience is composed of. + // Members can be added during CustomAudience creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomAudienceMember members = 7; +} + +// A member of custom audience. A member can be a KEYWORD, URL, +// PLACE_CATEGORY or APP. It can only be created or removed but not changed. +message CustomAudienceMember { + // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + google.ads.googleads.v9.enums.CustomAudienceMemberTypeEnum.CustomAudienceMemberType member_type = 1; + + // The CustomAudienceMember value. One field is populated depending on the + // member type. + oneof value { + // A keyword or keyword phrase — at most 10 words and 80 characters. + // Languages with double-width characters such as Chinese, Japanese, + // or Korean, are allowed 40 characters, which describes the user's + // interests or actions. + string keyword = 2; + + // An HTTP URL, protocol-included — at most 2048 characters, which includes + // contents users have interests in. + string url = 3; + + // A place type described by a place category users visit. + int64 place_category = 4; + + // A package name of Android apps which users installed such as + // com.google.example. + string app = 5; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/custom_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v9/resources/custom_conversion_goal.proto new file mode 100644 index 00000000..54bcd89f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/custom_conversion_goal.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/custom_conversion_goal_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Custom conversion goal that can make arbitrary conversion actions biddable. +message CustomConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomConversionGoal" + pattern: "customers/{customer_id}/customConversionGoals/{goal_id}" + }; + + // Immutable. The resource name of the custom conversion goal. + // Custom conversion goal resource names have the form: + // + // `customers/{customer_id}/customConversionGoals/{goal_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomConversionGoal" + } + ]; + + // Immutable. The ID for this custom conversion goal. + int64 id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The name for this custom conversion goal. + string name = 3; + + // Conversion actions that the custom conversion goal makes biddable. + repeated string conversion_actions = 4 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + + // The status of the custom conversion goal. + google.ads.googleads.v9.enums.CustomConversionGoalStatusEnum.CustomConversionGoalStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/custom_interest.proto b/google-cloud/protos/google/ads/googleads/v9/resources/custom_interest.proto new file mode 100644 index 00000000..1978fd53 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/custom_interest.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/custom_interest_member_type.proto"; +import "google/ads/googleads/v9/enums/custom_interest_status.proto"; +import "google/ads/googleads/v9/enums/custom_interest_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Custom Interest resource. + +// A custom interest. This is a list of users by interest. +message CustomInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomInterest" + pattern: "customers/{customer_id}/customInterests/{custom_interest_id}" + }; + + // Immutable. The resource name of the custom interest. + // Custom interest resource names have the form: + // + // `customers/{customer_id}/customInterests/{custom_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; + + // Output only. Id of the custom interest. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this custom interest. Indicates whether the custom interest is + // enabled or removed. + google.ads.googleads.v9.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3; + + // Name of the custom interest. It should be unique across the same custom + // affinity audience. + // This field is required for create operations. + optional string name = 9; + + // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. + // By default the type is set to CUSTOM_AFFINITY. + google.ads.googleads.v9.enums.CustomInterestTypeEnum.CustomInterestType type = 5; + + // Description of this custom interest audience. + optional string description = 10; + + // List of custom interest members that this custom interest is composed of. + // Members can be added during CustomInterest creation. If members are + // presented in UPDATE operation, existing members will be overridden. + repeated CustomInterestMember members = 7; +} + +// A member of custom interest audience. A member can be a keyword or url. +// It is immutable, that is, it can only be created or removed but not changed. +message CustomInterestMember { + // The type of custom interest member, KEYWORD or URL. + google.ads.googleads.v9.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1; + + // Keyword text when member_type is KEYWORD or URL string when + // member_type is URL. + optional string parameter = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer.proto new file mode 100644 index 00000000..ed71fd2a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer.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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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. + optional string tracking_url_template = 23; + + // The URL template for appending params to the final URL + 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. + 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.v9.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]; +} + +// Call reporting setting for a customer. +message CallReportingSetting { + // Enable reporting of phone call events by redirecting them via 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 is automatically + // assigned after any conversion tracking feature is used. If the customer + // doesn't use conversion tracking, this is 0. 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]; +} + +// Remarketing setting for a customer. +message RemarketingSetting { + // Output only. The Google global site tag. + optional string google_global_site_tag = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_asset.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_asset.proto new file mode 100644 index 00000000..2785b83b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_asset.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/asset_field_type.proto"; +import "google/ads/googleads/v9/enums/asset_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.enums.AssetFieldTypeEnum.AssetFieldType field_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Status of the customer asset. + google.ads.googleads.v9.enums.AssetLinkStatusEnum.AssetLinkStatus status = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_client.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_client.proto new file mode 100644 index 00000000..d97d8b83 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_client.proto @@ -0,0 +1,101 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerClient resource. + +// A link between the given customer and a client customer. CustomerClients only +// exist for manager customers. All direct and indirect client customers are +// included, as well as the manager itself. +message CustomerClient { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClient" + pattern: "customers/{customer_id}/customerClients/{client_customer_id}" + }; + + // Output only. The resource name of the customer client. + // CustomerClient resource names have the form: + // `customers/{customer_id}/customerClients/{client_customer_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; + + // Output only. The resource name of the client-customer which is linked to + // the given customer. Read only. + optional string client_customer = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. Specifies whether this is a + // [hidden account](https://support.google.com/google-ads/answer/7519830). + // Read only. + optional bool hidden = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Distance between given customer and client. For self link, the level value + // will be 0. Read only. + optional int64 level = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Common Locale Data Repository (CLDR) string representation of the + // time zone of the client, e.g. 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 (e.g. '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" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_client_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_client_link.proto new file mode 100644 index 00000000..8e0b1ce1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_client_link.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerClientLink resource. + +// Represents customer client link relationship. +message CustomerClientLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerClientLink" + pattern: "customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerClientLink resource names have the form: + // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; + + // Immutable. The client customer linked to this customer. + optional string client_customer = 7 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. This is uniquely identifies a customer client link. Read only. + optional int64 manager_link_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // This is the status of the link between client and manager. + google.ads.googleads.v9.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; + + // The visibility of the link. Users can choose whether or not to see hidden + // links in the Google Ads UI. + // Default value is false + optional bool hidden = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_conversion_goal.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_conversion_goal.proto new file mode 100644 index 00000000..9d76f3ac --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_conversion_goal.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/conversion_action_category.proto"; +import "google/ads/googleads/v9/enums/conversion_origin.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Biddability control for conversion actions with a matching category and +// origin. +message CustomerConversionGoal { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + pattern: "customers/{customer_id}/customerConversionGoals/{category}~{source}" + }; + + // Immutable. The resource name of the customer conversion goal. + // Customer conversion goal resource names have the form: + // + // `customers/{customer_id}/customerConversionGoals/{category}~{origin}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerConversionGoal" + } + ]; + + // The conversion category of this customer conversion goal. Only + // conversion actions that have this category will be included in this goal. + google.ads.googleads.v9.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 2; + + // The conversion origin of this customer conversion goal. Only + // conversion actions that have this conversion origin will be included in + // this goal. + google.ads.googleads.v9.enums.ConversionOriginEnum.ConversionOrigin origin = 3; + + // The biddability of the customer conversion goal. + bool biddable = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_customizer.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_customizer.proto new file mode 100644 index 00000000..719f8e4d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_customizer.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/customizer_value.proto"; +import "google/ads/googleads/v9/enums/customizer_value_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A customizer value for the associated CustomizerAttribute at the Customer +// level. +message CustomerCustomizer { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerCustomizer" + pattern: "customers/{customer_id}/customerCustomizers/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customer customizer. + // Customer customizer resource names have the form: + // + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerCustomizer" + } + ]; + + // Required. Immutable. The customizer attribute which is linked to the customer. + string customizer_attribute = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The status of the customer customizer attribute. + google.ads.googleads.v9.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.v9.common.CustomizerValue value = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_extension_setting.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_extension_setting.proto new file mode 100644 index 00000000..da7f2b3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_extension_setting.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/extension_setting_device.proto"; +import "google/ads/googleads/v9/enums/extension_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerExtensionSetting resource. + +// A customer extension setting. +message CustomerExtensionSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + pattern: "customers/{customer_id}/customerExtensionSettings/{extension_type}" + }; + + // Immutable. The resource name of the customer extension setting. + // CustomerExtensionSetting resource names have the form: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; + + // Immutable. The extension type of the customer extension setting. + google.ads.googleads.v9.enums.ExtensionTypeEnum.ExtensionType extension_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The resource names of the extension feed items to serve under the customer. + // ExtensionFeedItem resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + repeated string extension_feed_items = 5 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + }]; + + // The device for which the extensions will serve. Optional. + google.ads.googleads.v9.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_feed.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_feed.proto new file mode 100644 index 00000000..fa60000b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_feed.proto @@ -0,0 +1,75 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/matching_function.proto"; +import "google/ads/googleads/v9/enums/feed_link_status.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerFeed resource. + +// A customer feed. +message CustomerFeed { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerFeed" + pattern: "customers/{customer_id}/customerFeeds/{feed_id}" + }; + + // Immutable. The resource name of the customer feed. + // Customer feed resource names have the form: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; + + // Immutable. The feed being linked to the customer. + optional string feed = 6 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Indicates which placeholder types the feed may populate under the connected + // customer. Required. + repeated google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3; + + // Matching function associated with the CustomerFeed. + // The matching function is used to filter the set of feed items selected. + // Required. + google.ads.googleads.v9.common.MatchingFunction matching_function = 4; + + // Output only. Status of the customer feed. + // This field is read-only. + google.ads.googleads.v9.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_label.proto new file mode 100644 index 00000000..ec8935af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_label.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the customer label resource. + +// Represents a relationship between a customer and a label. This customer may +// not have access to all the labels attached to it. Additional CustomerLabels +// may be returned by increasing permissions with login-customer-id. +message CustomerLabel { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerLabel" + pattern: "customers/{customer_id}/customerLabels/{label_id}" + }; + + // Immutable. Name of the resource. + // Customer label resource names have the form: + // `customers/{customer_id}/customerLabels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; + + // Output only. The resource name of the customer to which the label is attached. + // Read only. + optional string customer = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. The resource name of the label assigned to the customer. + // + // Note: the Customer ID portion of the label resource name is not + // validated when creating a new CustomerLabel. + optional string label = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_manager_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_manager_link.proto new file mode 100644 index 00000000..79b6db27 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_manager_link.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/manager_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerManagerLink resource. + +// Represents customer-manager link relationship. +message CustomerManagerLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerManagerLink" + pattern: "customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}" + }; + + // Immutable. Name of the resource. + // CustomerManagerLink resource names have the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; + + // Output only. The manager customer linked to the customer. + optional string manager_customer = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; + + // Output only. ID of the customer-manager link. This field is read only. + optional int64 manager_link_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of the link between the customer and the manager. + google.ads.googleads.v9.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_negative_criterion.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_negative_criterion.proto new file mode 100644 index 00000000..40a94533 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_negative_criterion.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Customer Negative Criterion resource. + +// A negative criterion for exclusions at the customer level. +message CustomerNegativeCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + pattern: "customers/{customer_id}/customerNegativeCriteria/{criterion_id}" + }; + + // Immutable. The resource name of the customer negative criterion. + // Customer negative criterion resource names have the form: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; + + // Output only. The ID of the criterion. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v9.enums.CriterionTypeEnum.CriterionType type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The customer negative criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. ContentLabel. + google.ads.googleads.v9.common.ContentLabelInfo content_label = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileApplication. + google.ads.googleads.v9.common.MobileApplicationInfo mobile_application = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. MobileAppCategory. + google.ads.googleads.v9.common.MobileAppCategoryInfo mobile_app_category = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v9.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v9.common.YouTubeVideoInfo youtube_video = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v9.common.YouTubeChannelInfo youtube_channel = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access.proto new file mode 100644 index 00000000..85829341 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerUserAccess resource. + +// Represents the permission of a single user onto a single customer. +message CustomerUserAccess { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccess" + pattern: "customers/{customer_id}/customerUserAccesses/{user_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccesses/{user_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; + + // Output only. User id of the user with the customer access. + // Read only field + int64 user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user. + // Read only field + optional string email_address = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Access role of the user. + google.ads.googleads.v9.enums.AccessRoleEnum.AccessRole access_role = 4; + + // Output only. The customer user access creation time. + // Read only field + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string access_creation_date_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the inviter user. + // Read only field + optional string inviter_user_email_address = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access_invitation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access_invitation.proto new file mode 100644 index 00000000..1fe90f40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customer_user_access_invitation.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/access_invitation_status.proto"; +import "google/ads/googleads/v9/enums/access_role.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the CustomerUserAccessInvitation resource. + +// Represent an invitation to a new user on this customer account. +message CustomerUserAccessInvitation { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + pattern: "customers/{customer_id}/customerUserAccessInvitations/{invitation_id}" + }; + + // Immutable. Name of the resource. + // Resource names have the form: + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; + + // Output only. The ID of the invitation. + // This field is read-only. + int64 invitation_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Access role of the user. + google.ads.googleads.v9.enums.AccessRoleEnum.AccessRole access_role = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Email address the invitation was sent to. + // This can differ from the email address of the account + // that accepts the invite. + string email_address = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time invitation was created. + // This field is read-only. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + string creation_date_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Invitation status of the user. + google.ads.googleads.v9.enums.AccessInvitationStatusEnum.AccessInvitationStatus invitation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/customizer_attribute.proto b/google-cloud/protos/google/ads/googleads/v9/resources/customizer_attribute.proto new file mode 100644 index 00000000..c19a00b9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/customizer_attribute.proto @@ -0,0 +1,72 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/customizer_attribute_status.proto"; +import "google/ads/googleads/v9/enums/customizer_attribute_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A customizer attribute. +// Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or +// AdGroupCriterionCustomizer to associate a customizer attribute and +// set its value at the customer, campaign, ad group, or ad group criterion +// level, respectively. +message CustomizerAttribute { + option (google.api.resource) = { + type: "googleads.googleapis.com/CustomizerAttribute" + pattern: "customers/{customer_id}/customizerAttributes/{customizer_attribute_id}" + }; + + // Immutable. The resource name of the customizer attribute. + // Customizer Attribute resource names have the form: + // + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomizerAttribute" + } + ]; + + // Output only. The ID of the customizer attribute. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length + // of 1 and maximum length of 40. Name of an enabled customizer attribute must + // be unique (case insensitive). + string name = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The type of the customizer attribute. + google.ads.googleads.v9.enums.CustomizerAttributeTypeEnum.CustomizerAttributeType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status of the customizer attribute. + google.ads.googleads.v9.enums.CustomizerAttributeStatusEnum.CustomizerAttributeStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/detail_placement_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/detail_placement_view.proto new file mode 100644 index 00000000..cc639c8a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/detail_placement_view.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the detail placement view resource. + +// A view with metrics aggregated by ad group and URL or YouTube video. +message DetailPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailPlacementView" + pattern: "customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the detail placement view. + // Detail placement view resource names have the form: + // + // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; + + // Output only. The automatic placement string at detail level, e. g. website URL, mobile + // application ID, or a YouTube video ID. + optional string placement = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name is URL name for websites, YouTube video name for YouTube + // videos, and translated mobile app name for mobile apps. + optional string display_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, e.g. 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, e.g. 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, e.g. Website, YouTube Video, and Mobile Application. + google.ads.googleads.v9.enums.PlacementTypeEnum.PlacementType placement_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/detailed_demographic.proto b/google-cloud/protos/google/ads/googleads/v9/resources/detailed_demographic.proto new file mode 100644 index 00000000..496936b4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/detailed_demographic.proto @@ -0,0 +1,74 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Detailed Demographic resource. + +// A detailed demographic: a particular interest-based vertical to be targeted +// to reach users based on long-term life facts. +message DetailedDemographic { + option (google.api.resource) = { + type: "googleads.googleapis.com/DetailedDemographic" + pattern: "customers/{customer_id}/detailedDemographics/{detailed_demographic_id}" + }; + + // Output only. The resource name of the detailed demographic. + // Detailed demographic resource names have the form: + // + // `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. The ID of the detailed demographic. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the detailed demographic. E.g."Highest Level of Educational + // Attainment" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the detailed_demographic. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; + + // Output only. True if the detailed demographic is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the detailed demographic. + repeated google.ads.googleads.v9.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/display_keyword_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/display_keyword_view.proto new file mode 100644 index 00000000..ba53d3b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/display_keyword_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the display keyword view resource. + +// A display keyword view. +message DisplayKeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DisplayKeywordView" + pattern: "customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the display keyword view. + // Display Keyword view resource names have the form: + // + // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/distance_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/distance_view.proto new file mode 100644 index 00000000..711d9e50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/distance_view.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/distance_bucket.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the DistanceView resource. + +// A distance view with metrics aggregated by the user's distance from an +// advertiser's location extensions. Each DistanceBucket includes all +// impressions that fall within its distance and a single impression will +// contribute to the metrics for all DistanceBuckets that include the user's +// distance. +message DistanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DistanceView" + pattern: "customers/{customer_id}/distanceViews/{placeholder_chain_id}~{distance_bucket}" + }; + + // Output only. The resource name of the distance view. + // Distance view resource names have the form: + // + // `customers/{customer_id}/distanceViews/1~{distance_bucket}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; + + // Output only. Grouping of user distance from location extensions. + google.ads.googleads.v9.enums.DistanceBucketEnum.DistanceBucket distance_bucket = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the DistanceBucket is using the metric system, false otherwise. + optional bool metric_system = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/domain_category.proto b/google-cloud/protos/google/ads/googleads/v9/resources/domain_category.proto new file mode 100644 index 00000000..4fa7f739 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/domain_category.proto @@ -0,0 +1,90 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Domain Category resource. + +// A category generated automatically by crawling a domain. If a campaign uses +// the DynamicSearchAdsSetting, then domain categories will be generated for +// the domain. The categories can be targeted using WebpageConditionInfo. +// See: https://support.google.com/google-ads/answer/2471185 +message DomainCategory { + option (google.api.resource) = { + type: "googleads.googleapis.com/DomainCategory" + pattern: "customers/{customer_id}/domainCategories/{campaign_id}~{base64_category}~{language_code}" + }; + + // Output only. The resource name of the domain category. + // Domain category resource names have the form: + // + // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; + + // Output only. The campaign this category is recommended for. + optional string campaign = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Output only. Recommended category for the website domain. e.g. 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. e.g. "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/google-cloud/protos/google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.proto new file mode 100644 index 00000000..6ca9d0a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.proto @@ -0,0 +1,86 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Dynamic Search Ads Search Term View resource. + +// A dynamic search ads search term view. +message DynamicSearchAdsSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + pattern: "customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}" + }; + + // Output only. The resource name of the dynamic search ads search term view. + // Dynamic search ads search term view resource names have the form: + // + // `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; + + // Output only. Search term + // + // This field is read-only. + optional string search_term = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically generated headline of the Dynamic Search Ad. + // + // This field is read-only. + optional string headline = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The dynamically selected landing page URL of the impression. + // + // This field is read-only. + optional string landing_page = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of page feed item served for the impression. + // + // This field is read-only. + optional string page_url = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative keyword. + // + // This field is read-only. + optional bool has_negative_keyword = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query is added to targeted keywords. + // + // This field is read-only. + optional bool has_matching_keyword = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if query matches a negative url. + // + // This field is read-only. + optional bool has_negative_url = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/expanded_landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/expanded_landing_page_view.proto new file mode 100644 index 00000000..43d3e6d4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/expanded_landing_page_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the expanded landing page view resource. + +// A landing page view with metrics aggregated at the expanded final URL +// level. +message ExpandedLandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + pattern: "customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the expanded landing page view. + // Expanded landing page view resource names have the form: + // + // `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; + + // Output only. The final URL that clicks are directed to. + optional string expanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/extension_feed_item.proto b/google-cloud/protos/google/ads/googleads/v9/resources/extension_feed_item.proto new file mode 100644 index 00000000..a870eb40 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/extension_feed_item.proto @@ -0,0 +1,151 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/common/extensions.proto"; +import "google/ads/googleads/v9/enums/extension_type.proto"; +import "google/ads/googleads/v9/enums/feed_item_status.proto"; +import "google/ads/googleads/v9/enums/feed_item_target_device.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ExtensionFeedItem resource. + +// An extension feed item. +message ExtensionFeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + pattern: "customers/{customer_id}/extensionFeedItems/{feed_item_id}" + }; + + // Immutable. The resource name of the extension feed item. + // Extension feed item resource names have the form: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; + + // Output only. The ID of this feed item. Read-only. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The extension type of the extension feed item. + // This field is read-only. + google.ads.googleads.v9.enums.ExtensionTypeEnum.ExtensionType extension_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 26; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 27; + + // List of non-overlapping schedules specifying all time intervals + // for which the feed item may serve. There can be a maximum of 6 schedules + // per day. + repeated google.ads.googleads.v9.common.AdScheduleInfo ad_schedules = 16; + + // The targeted device. + google.ads.googleads.v9.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 17; + + // The targeted geo target constant. + optional string targeted_geo_target_constant = 30 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; + + // The targeted keyword. + google.ads.googleads.v9.common.KeywordInfo targeted_keyword = 22; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v9.enums.FeedItemStatusEnum.FeedItemStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Extension type. + oneof extension { + // Sitelink extension. + google.ads.googleads.v9.common.SitelinkFeedItem sitelink_feed_item = 2; + + // Structured snippet extension. + google.ads.googleads.v9.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3; + + // App extension. + google.ads.googleads.v9.common.AppFeedItem app_feed_item = 7; + + // Call extension. + google.ads.googleads.v9.common.CallFeedItem call_feed_item = 8; + + // Callout extension. + google.ads.googleads.v9.common.CalloutFeedItem callout_feed_item = 9; + + // Text message extension. + google.ads.googleads.v9.common.TextMessageFeedItem text_message_feed_item = 10; + + // Price extension. + google.ads.googleads.v9.common.PriceFeedItem price_feed_item = 11; + + // Promotion extension. + google.ads.googleads.v9.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.v9.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.v9.common.AffiliateLocationFeedItem affiliate_location_feed_item = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Hotel Callout extension. + google.ads.googleads.v9.common.HotelCalloutFeedItem hotel_callout_feed_item = 23; + + // Immutable. Advertiser provided image extension. + google.ads.googleads.v9.common.ImageFeedItem image_feed_item = 31 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Targeting at either the campaign or ad group level. Feed items that target + // a campaign or ad group will only serve with that resource. + oneof serving_resource_targeting { + // The targeted campaign. + string targeted_campaign = 28 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // The targeted ad group. + string targeted_ad_group = 29 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + }]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed.proto new file mode 100644 index 00000000..d995e02d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed.proto @@ -0,0 +1,190 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/affiliate_location_feed_relationship_type.proto"; +import "google/ads/googleads/v9/enums/feed_attribute_type.proto"; +import "google/ads/googleads/v9/enums/feed_origin.proto"; +import "google/ads/googleads/v9/enums/feed_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Feed resource. + +// A feed. +message Feed { + option (google.api.resource) = { + type: "googleads.googleapis.com/Feed" + pattern: "customers/{customer_id}/feeds/{feed_id}" + }; + + // Data used to configure a location feed populated from Business Profile. + message PlacesLocationFeedData { + // Data used for authorization using OAuth. + message OAuthInfo { + // The HTTP method used to obtain authorization. + optional string http_method = 4; + + // The HTTP request URL used to obtain authorization. + optional string http_request_url = 5; + + // The HTTP authorization header used to obtain authorization. + optional string http_authorization_header = 6; + } + + // Immutable. Required authentication token (from OAuth API) for the email. + // This field can only be specified in a create request. All its subfields + // are not selectable. + OAuthInfo oauth_info = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Email address of a Business Profile or email address of a + // manager of the Business Profile. Required. + optional string email_address = 7; + + // Plus page ID of the managed business whose locations should be used. If + // this field is not set, then all businesses accessible by the user + // (specified by email_address) are used. + // This field is mutate-only and is not selectable. + string business_account_id = 8; + + // Used to filter Business Profile listings by business name. If + // business_name_filter is set, only listings with a matching business name + // are candidates to be sync'd into FeedItems. + optional string business_name_filter = 9; + + // Used to filter Business Profile listings by categories. If entries + // exist in category_filters, only listings that belong to any of the + // categories are candidates to be sync'd into FeedItems. If no entries + // exist in category_filters, then all listings are candidates for syncing. + repeated string category_filters = 11; + + // Used to filter Business Profile listings by labels. If entries exist in + // label_filters, only listings that has any of the labels set are + // candidates to be synchronized into FeedItems. If no entries exist in + // label_filters, then all listings are candidates for syncing. + repeated string label_filters = 12; + } + + // Data used to configure an affiliate location feed populated with the + // specified chains. + message AffiliateLocationFeedData { + // The list of chains that the affiliate location feed will sync the + // locations from. + repeated int64 chain_ids = 3; + + // The relationship the chains have with the advertiser. + google.ads.googleads.v9.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2; + } + + // Immutable. The resource name of the feed. + // Feed resource names have the form: + // + // `customers/{customer_id}/feeds/{feed_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of the feed. + // This field is read-only. + optional int64 id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Name of the feed. Required. + optional string name = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // The Feed's attributes. Required on CREATE, unless + // system_feed_generation_data is provided, in which case Google Ads will + // update the feed with the correct attributes. + // Disallowed on UPDATE. Use attribute_operations to add new attributes. + repeated FeedAttribute attributes = 4; + + // The list of operations changing the feed attributes. Attributes can only + // be added, not removed. + repeated FeedAttributeOperation attribute_operations = 9; + + // Immutable. Specifies who manages the FeedAttributes for the Feed. + google.ads.googleads.v9.enums.FeedOriginEnum.FeedOrigin origin = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the feed. + // This field is read-only. + google.ads.googleads.v9.enums.FeedStatusEnum.FeedStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The system data for the Feed. This data specifies information for + // generating the feed items of the system generated feed. + oneof system_feed_generation_data { + // Data used to configure a location feed populated from Business Profile. + PlacesLocationFeedData places_location_feed_data = 6; + + // Data used to configure an affiliate location feed populated with + // the specified chains. + AffiliateLocationFeedData affiliate_location_feed_data = 7; + } +} + +// FeedAttributes define the types of data expected to be present in a Feed. A +// single FeedAttribute specifies the expected type of the FeedItemAttributes +// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as +// being part of a FeedItem's unique key. +message FeedAttribute { + // ID of the attribute. + optional int64 id = 5; + + // The name of the attribute. Required. + optional string name = 6; + + // Data type for feed attribute. Required. + google.ads.googleads.v9.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3; + + // Indicates that data corresponding to this attribute is part of a + // FeedItem's unique key. It defaults to false if it is unspecified. Note + // that a unique key is not required in a Feed's schema, in which case the + // FeedItems must be referenced by their feed_item_id. + optional bool is_part_of_key = 7; +} + +// Operation to be performed on a feed attribute list in a mutate. +message FeedAttributeOperation { + // The operator. + enum Operator { + // Unspecified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Add the attribute to the existing attributes. + ADD = 2; + } + + // Output only. Type of list operation to perform. + Operator operator = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed attribute being added to the list. + FeedAttribute value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed_item.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item.proto new file mode 100644 index 00000000..ec8cdecc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item.proto @@ -0,0 +1,214 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/custom_parameter.proto"; +import "google/ads/googleads/v9/common/feed_common.proto"; +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/feed_item_quality_approval_status.proto"; +import "google/ads/googleads/v9/enums/feed_item_quality_disapproval_reason.proto"; +import "google/ads/googleads/v9/enums/feed_item_status.proto"; +import "google/ads/googleads/v9/enums/feed_item_validation_status.proto"; +import "google/ads/googleads/v9/enums/geo_targeting_restriction.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/ads/googleads/v9/enums/policy_approval_status.proto"; +import "google/ads/googleads/v9/enums/policy_review_status.proto"; +import "google/ads/googleads/v9/errors/feed_item_validation_error.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the FeedItem resource. + +// A feed item. +message FeedItem { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItem" + pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item. + // Feed item resource names have the form: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The feed to which this feed item belongs. + optional string feed = 11 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. The ID of this feed item. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Start time in which this feed item is effective and can begin serving. The + // time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string start_date_time = 13; + + // End time in which this feed item is no longer effective and will stop + // serving. The time is in the customer's time zone. + // The format is "YYYY-MM-DD HH:MM:SS". + // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + optional string end_date_time = 14; + + // The feed item's attribute values. + repeated FeedItemAttributeValue attribute_values = 6; + + // Geo targeting restriction specifies the type of location that can be used + // for targeting. + google.ads.googleads.v9.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.v9.common.CustomParameter url_custom_parameters = 8; + + // Output only. Status of the feed item. + // This field is read-only. + google.ads.googleads.v9.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, e.g. a feed with a sitelink and a call + // feed mapping would cause every feed item associated with that feed to have + // an entry in this list for both sitelink and call. + // This field is read-only. + repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A feed item attribute value. +message FeedItemAttributeValue { + // Id of the feed attribute for which the value is associated with. + optional int64 feed_attribute_id = 11; + + // Int64 value. Should be set if feed_attribute_id refers to a feed attribute + // of type INT64. + optional int64 integer_value = 12; + + // Bool value. Should be set if feed_attribute_id refers to a feed attribute + // of type BOOLEAN. + optional bool boolean_value = 13; + + // String value. Should be set if feed_attribute_id refers to a feed attribute + // of type STRING, URL or DATE_TIME. + // For STRING the maximum length is 1500 characters. For URL the maximum + // length is 2076 characters. For DATE_TIME the string must be in the format + // "YYYYMMDD HHMMSS". + optional string string_value = 14; + + // Double value. Should be set if feed_attribute_id refers to a feed attribute + // of type DOUBLE. + optional double double_value = 15; + + // Price value. Should be set if feed_attribute_id refers to a feed attribute + // of type PRICE. + google.ads.googleads.v9.common.Money price_value = 6; + + // Repeated int64 value. Should be set if feed_attribute_id refers to a feed + // attribute of type INT64_LIST. + repeated int64 integer_values = 16; + + // Repeated bool value. Should be set if feed_attribute_id refers to a feed + // attribute of type BOOLEAN_LIST. + repeated bool boolean_values = 17; + + // Repeated string value. Should be set if feed_attribute_id refers to a feed + // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. + // For STRING_LIST and URL_LIST the total size of the list in bytes may not + // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. + // + // For STRING_LIST the maximum length of each string element is 1500 + // characters. For URL_LIST the maximum length is 2076 characters. For + // DATE_TIME the format of the string must be the same as start and end time + // for the feed item. + repeated string string_values = 18; + + // Repeated double value. Should be set if feed_attribute_id refers to a feed + // attribute of type DOUBLE_LIST. + repeated double double_values = 19; +} + +// Policy, validation, and quality approval info for a feed item for the +// specified placeholder type. +message FeedItemPlaceholderPolicyInfo { + // Output only. The placeholder type. + google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The FeedMapping that contains the placeholder type. + optional string feed_mapping_resource_name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Where the placeholder type is in the review process. + google.ads.googleads.v9.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.v9.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.v9.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The validation status of the palceholder type. + google.ads.googleads.v9.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of placeholder type validation errors. + repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Placeholder type quality evaluation approval status. + google.ads.googleads.v9.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.v9.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Stores a validation error and the set of offending feed attributes which +// together are responsible for causing a feed item validation error. +message FeedItemValidationError { + // Output only. Error code indicating what validation error was triggered. The description + // of the error can be found in the 'description' field. + google.ads.googleads.v9.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the validation error. + optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of feed attributes in the feed item flagged during validation. If + // empty, no specific feed attributes can be associated with the error + // (e.g. 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 (e.g. 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/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set.proto new file mode 100644 index 00000000..8966f1f2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set.proto @@ -0,0 +1,84 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/feed_item_set_filter_type_infos.proto"; +import "google/ads/googleads/v9/enums/feed_item_set_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Represents a set of feed items. The set can be used and shared among certain +// feed item features. For instance, the set can be referenced within the +// matching functions of CustomerFeed, CampaignFeed, and AdGroupFeed. +message FeedItemSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSet" + pattern: "customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}" + }; + + // Immutable. The resource name of the feed item set. + // Feed item set resource names have the form: + // `customers/{customer_id}/feedItemSets/{feed_id}~{feed_item_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; + + // Immutable. The resource name of the feed containing the feed items in the set. + // Immutable. Required. + string feed = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + + // Output only. ID of the set. + int64 feed_item_set_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Name of the set. Must be unique within the account. + string display_name = 4; + + // Output only. Status of the feed item set. + // This field is read-only. + google.ads.googleads.v9.enums.FeedItemSetStatusEnum.FeedItemSetStatus status = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Represents a filter on locations in a feed item set. + // Only applicable if the parent Feed of the FeedItemSet is a LOCATION feed. + oneof dynamic_set_filter { + // Filter for dynamic location set. + // It is only used for sets of locations. + google.ads.googleads.v9.common.DynamicLocationSetFilter dynamic_location_set_filter = 5; + + // Filter for dynamic affiliate location set. + // This field doesn't apply generally to feed item sets. It is only used for + // sets of affiliate locations. + google.ads.googleads.v9.common.DynamicAffiliateLocationSetFilter dynamic_affiliate_location_set_filter = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set_link.proto new file mode 100644 index 00000000..709af234 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_set_link.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the FeedItemSetLink resource. + +// Represents a link between a FeedItem and a FeedItemSet. +message FeedItemSetLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemSetLink" + pattern: "customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}" + }; + + // Immutable. The resource name of the feed item set link. + // Feed item set link resource names have the form: + // `customers/{customer_id}/feedItemSetLinks/{feed_id}~{feed_item_set_id}~{feed_item_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + } + ]; + + // Immutable. The linked FeedItem. + string feed_item = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Immutable. The linked FeedItemSet. + string feed_item_set = 3 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_target.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_target.proto new file mode 100644 index 00000000..03225700 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_item_target.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/feed_item_target_device.proto"; +import "google/ads/googleads/v9/enums/feed_item_target_status.proto"; +import "google/ads/googleads/v9/enums/feed_item_target_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the FeedItemTarget resource. + +// A feed item target. +message FeedItemTarget { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedItemTarget" + pattern: "customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}" + }; + + // Immutable. The resource name of the feed item target. + // Feed item target resource names have the form: + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; + + // Immutable. The feed item to which this feed item target belongs. + optional string feed_item = 12 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; + + // Output only. The target type of this feed item target. This field is read-only. + google.ads.googleads.v9.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the targeted resource. This field is read-only. + optional int64 feed_item_target_id = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the feed item target. + // This field is read-only. + google.ads.googleads.v9.enums.FeedItemTargetStatusEnum.FeedItemTargetStatus status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The targeted resource. + oneof target { + // Immutable. The targeted campaign. + string campaign = 14 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Immutable. The targeted ad group. + string ad_group = 15 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Immutable. The targeted keyword. + google.ads.googleads.v9.common.KeywordInfo keyword = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted geo target constant resource name. + string geo_target_constant = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Immutable. The targeted device. + google.ads.googleads.v9.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The targeted schedule. + google.ads.googleads.v9.common.AdScheduleInfo ad_schedule = 10 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed_mapping.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_mapping.proto new file mode 100644 index 00000000..6b6b906a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_mapping.proto @@ -0,0 +1,189 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/ad_customizer_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/affiliate_location_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/app_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/call_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/callout_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/custom_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/dsa_page_feed_criterion_field.proto"; +import "google/ads/googleads/v9/enums/education_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/feed_mapping_criterion_type.proto"; +import "google/ads/googleads/v9/enums/feed_mapping_status.proto"; +import "google/ads/googleads/v9/enums/flight_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/hotel_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/image_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/job_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/local_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/location_extension_targeting_criterion_field.proto"; +import "google/ads/googleads/v9/enums/location_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/message_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/ads/googleads/v9/enums/price_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/promotion_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/real_estate_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/sitelink_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/structured_snippet_placeholder_field.proto"; +import "google/ads/googleads/v9/enums/travel_placeholder_field.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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.v9.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 (i.e., if the mapping maps feed + // attributes to placeholder fields). + google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The criterion type of this mapping (i.e., if the mapping maps feed + // attributes to criterion fields). + google.ads.googleads.v9.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.v9.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Call Placeholder Fields. + google.ads.googleads.v9.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. App Placeholder Fields. + google.ads.googleads.v9.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Location Placeholder Fields. This field is read-only. + google.ads.googleads.v9.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.v9.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Callout Placeholder Fields. + google.ads.googleads.v9.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Structured Snippet Placeholder Fields. + google.ads.googleads.v9.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Message Placeholder Fields. + google.ads.googleads.v9.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Price Placeholder Fields. + google.ads.googleads.v9.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Promotion Placeholder Fields. + google.ads.googleads.v9.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Ad Customizer Placeholder Fields + google.ads.googleads.v9.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Dynamic Search Ad Page Feed Fields. + google.ads.googleads.v9.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Location Target Fields. + google.ads.googleads.v9.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Education Placeholder Fields + google.ads.googleads.v9.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Flight Placeholder Fields + google.ads.googleads.v9.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Custom Placeholder Fields + google.ads.googleads.v9.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Hotel Placeholder Fields + google.ads.googleads.v9.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Real Estate Placeholder Fields + google.ads.googleads.v9.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Travel Placeholder Fields + google.ads.googleads.v9.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Local Placeholder Fields + google.ads.googleads.v9.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Job Placeholder Fields + google.ads.googleads.v9.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Image Placeholder Fields + google.ads.googleads.v9.enums.ImagePlaceholderFieldEnum.ImagePlaceholderField image_field = 26 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/feed_placeholder_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/feed_placeholder_view.proto new file mode 100644 index 00000000..1fe91367 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/feed_placeholder_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/placeholder_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the FeedPlaceholderView resource. + +// A feed placeholder view. +message FeedPlaceholderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + pattern: "customers/{customer_id}/feedPlaceholderViews/{placeholder_type}" + }; + + // Output only. The resource name of the feed placeholder view. + // Feed placeholder view resource names have the form: + // + // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; + + // Output only. The placeholder type of the feed placeholder view. + google.ads.googleads.v9.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/gender_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/gender_view.proto new file mode 100644 index 00000000..55edbf79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/gender_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the gender view resource. + +// A gender view. +message GenderView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GenderView" + pattern: "customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the gender view. + // Gender view resource names have the form: + // + // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/geo_target_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/geo_target_constant.proto new file mode 100644 index 00000000..2f797186 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/geo_target_constant.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/geo_target_constant_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the geo target constant resource. + +// A geo target constant. +message GeoTargetConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeoTargetConstant" + pattern: "geoTargetConstants/{criterion_id}" + }; + + // Output only. The resource name of the geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{geo_target_constant_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; + + // Output only. The ID of the geo target constant. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant English name. + optional string name = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + optional string country_code = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant target type. + optional string target_type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Geo target constant status. + google.ads.googleads.v9.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The fully qualified English name, consisting of the target's name and that + // of its parent and country. + optional string canonical_name = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the parent geo target constant. + // Geo target constant resource names have the form: + // + // `geoTargetConstants/{parent_geo_target_constant_id}` + optional string parent_geo_target = 9 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/geographic_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/geographic_view.proto new file mode 100644 index 00000000..7c6bcc6c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/geographic_view.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/geo_targeting_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the geographic view resource. + +// A geographic view. +// +// Geographic View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at either actual physical location of +// the user or an area of interest. If other segment fields are used, you may +// get more than one row per country. +message GeographicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GeographicView" + pattern: "customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}" + }; + + // Output only. The resource name of the geographic view. + // Geographic view resource names have the form: + // + // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; + + // Output only. Type of the geo targeting of the campaign. + google.ads.googleads.v9.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/google_ads_field.proto b/google-cloud/protos/google/ads/googleads/v9/resources/google_ads_field.proto new file mode 100644 index 00000000..021ab213 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/google_ads_field.proto @@ -0,0 +1,108 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/google_ads_field_category.proto"; +import "google/ads/googleads/v9/enums/google_ads_field_data_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Google Ads Field resource. + +// A field or resource (artifact) used by GoogleAdsService. +message GoogleAdsField { + option (google.api.resource) = { + type: "googleads.googleapis.com/GoogleAdsField" + pattern: "googleAdsFields/{google_ads_field}" + }; + + // Output only. The resource name of the artifact. + // Artifact resource names have the form: + // + // `googleAdsFields/{name}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; + + // Output only. The name of the artifact. + optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The category of the artifact. + google.ads.googleads.v9.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a SELECT clause in search + // queries. + optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a WHERE clause in search + // queries. + optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the artifact can be used in a ORDER BY clause in search + // queries. + optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources, segments, and metrics that are selectable with + // the described artifact. + repeated string selectable_with = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The names of all resources that are selectable with the described + // artifact. Fields from these resources do not segment metrics when included + // in search queries. + // + // This field is only set for artifacts whose category is RESOURCE. + repeated string attribute_resources = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all metrics that are selectable with the + // described artifact when it is used in the FROM clause. + // It is only set for artifacts whose category is RESOURCE. + repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field lists the names of all artifacts, whether a segment or another + // resource, that segment metrics when included in search queries and when the + // described artifact is used in the FROM clause. It is only set for artifacts + // whose category is RESOURCE. + repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Values the artifact can assume if it is a field of type ENUM. + // + // This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field determines the operators that can be used with the artifact + // in WHERE clauses. + google.ads.googleads.v9.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The URL of proto describing the artifact's data type. + optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the field artifact is repeated. + optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/group_placement_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/group_placement_view.proto new file mode 100644 index 00000000..d00b1df2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/group_placement_view.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/placement_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the group placement view resource. + +// A group placement view. +message GroupPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/GroupPlacementView" + pattern: "customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}" + }; + + // Output only. The resource name of the group placement view. + // Group placement view resource names have the form: + // + // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; + + // Output only. The automatic placement string at group level, e. g. web domain, mobile + // app ID, or a YouTube channel ID. + optional string placement = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Domain name for websites and YouTube channel name for YouTube channels. + optional string display_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. URL of the group placement, e.g. 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, e.g. Website, YouTube Channel, Mobile Application. + google.ads.googleads.v9.enums.PlacementTypeEnum.PlacementType placement_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/hotel_group_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_group_view.proto new file mode 100644 index 00000000..17f94345 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_group_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the hotel group view resource. + +// A hotel group view. +message HotelGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelGroupView" + pattern: "customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the hotel group view. + // Hotel Group view resource names have the form: + // + // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/hotel_performance_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_performance_view.proto new file mode 100644 index 00000000..9ebaa106 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_performance_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the hotel performance view resource. + +// A hotel performance view. +message HotelPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/HotelPerformanceView" + pattern: "customers/{customer_id}/hotelPerformanceView" + }; + + // Output only. The resource name of the hotel performance view. + // Hotel performance view resource names have the form: + // + // `customers/{customer_id}/hotelPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/hotel_reconciliation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_reconciliation.proto new file mode 100644 index 00000000..8d677d56 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/hotel_reconciliation.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/hotel_reconciliation_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "HotelReconciliationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the hotel reconciliation resource. + +// A hotel reconciliation. It contains conversion information from Hotel +// bookings to reconcile with advertiser records. These rows may be updated +// or canceled before billing via 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. Identifier for the Hotel Center account which provides the rates for the + // Hotel campaign. + int64 hotel_center_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier for the booked property, as provided in the Hotel Center + // feed. The hotel ID comes from the 'ID' parameter of the conversion tracking + // tag. + string hotel_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-in date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_in_date = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Check-out date recorded when the booking is made. If the check-in date is + // modified at reconciliation, the revised date will then take the place of + // the original date in this column. Format is YYYY-MM-DD. + string check_out_date = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If + // original booking value changes for any reason, such as itinerary changes or + // room upsells, the reconciled value should be the full final amount + // collected. If a booking is canceled, the reconciled value should include + // the value of any cancellation fees or non-refundable nights charged. Value + // is in millionths of the base unit currency. For example, $12.35 would be + // represented as 12350000. Currency unit is in the default customer currency. + int64 reconciled_value_micros = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Whether a given booking has been billed. Once billed, a booking can't be + // modified. + bool billed = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Output only. Current status of a booking with regards to reconciliation and billing. + // Bookings should be reconciled within 45 days after the check-out date. + // Any booking not reconciled within 45 days will be billed at its original + // value. + google.ads.googleads.v9.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/income_range_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/income_range_view.proto new file mode 100644 index 00000000..4cefe063 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/income_range_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the income range view resource. + +// An income range view. +message IncomeRangeView { + option (google.api.resource) = { + type: "googleads.googleapis.com/IncomeRangeView" + pattern: "customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the income range view. + // Income range view resource names have the form: + // + // `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/IncomeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/invoice.proto b/google-cloud/protos/google/ads/googleads/v9/resources/invoice.proto new file mode 100644 index 00000000..1da7d815 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/invoice.proto @@ -0,0 +1,203 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/dates.proto"; +import "google/ads/googleads/v9/enums/invoice_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 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.v9.common.DateRange billable_activity_date_range = 9 [(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.v9.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, e.g. "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, e.g. "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.v9.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, in micros. This equals the + // sum of the AccountBudgetSummary subtotal amounts, + // Invoice.adjustments_subtotal_amount_micros, and + // Invoice.regulatory_costs_subtotal_amount_micros. + // Starting with v6, the Invoice.regulatory_costs_subtotal_amount_micros is no + // longer included. + 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 and Invoice.tax_amount_micros. + // Starting with v6, Invoice.regulatory_costs_subtotal_amount_micros is + // also added as it is no longer already included in + // Invoice.tax_amount_micros. + 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]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan.proto new file mode 100644 index 00000000..41a660ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan.proto @@ -0,0 +1,82 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/dates.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_forecast_interval.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword plan resource. + +// A Keyword Planner plan. +// Max number of saved keyword plans: 10000. +// It's possible to remove plans if limit is reached. +message KeywordPlan { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlan" + pattern: "customers/{customer_id}/keywordPlans/{keyword_plan_id}" + }; + + // Immutable. The resource name of the Keyword Planner plan. + // KeywordPlan resource names have the form: + // + // `customers/{customer_id}/keywordPlans/{kp_plan_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // Output only. The ID of the keyword plan. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan. + // + // This field is required and should not be empty when creating new keyword + // plans. + optional string name = 6; + + // The date period used for forecasting the plan. + KeywordPlanForecastPeriod forecast_period = 4; +} + +// The forecasting period associated with the keyword plan. +message KeywordPlanForecastPeriod { + // Required. The date used for forecasting the Plan. + oneof interval { + // A future date range relative to the current date used for forecasting. + google.ads.googleads.v9.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1; + + // The custom date range used for forecasting. + // The start and end dates must be in the future. Otherwise, an error will + // be returned when the forecasting action is performed. + // The start and end dates are inclusive. + google.ads.googleads.v9.common.DateRange date_range = 2; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group.proto new file mode 100644 index 00000000..a04308b3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword plan ad group resource. + +// A Keyword Planner ad group. +// Max number of keyword plan ad groups per plan: 200. +message KeywordPlanAdGroup { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + pattern: "customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}" + }; + + // Immutable. The resource name of the Keyword Planner ad group. + // KeywordPlanAdGroup resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; + + // The keyword plan campaign to which this ad group belongs. + optional string keyword_plan_campaign = 6 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the keyword plan ad group. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the keyword plan ad group. + // + // This field is required and should not be empty when creating keyword plan + // ad group. + optional string name = 8; + + // A default ad group max cpc bid in micros in account currency for all + // biddable keywords under the keyword plan ad group. + // If not set, will inherit from parent campaign. + optional int64 cpc_bid_micros = 9; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto new file mode 100644 index 00000000..b39b0209 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword plan ad group keyword resource. + +// A Keyword Plan ad group keyword. +// Max number of keyword plan keywords per plan: 10000. +message KeywordPlanAdGroupKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + pattern: "customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan ad group keyword. + // KeywordPlanAdGroupKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; + + // The Keyword Plan ad group to which this keyword belongs. + optional string keyword_plan_ad_group = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + + // Output only. The ID of the Keyword Plan keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v9.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // A keyword level max cpc bid in micros (e.g. $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/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign.proto new file mode 100644 index 00000000..c2e5cdd6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign.proto @@ -0,0 +1,98 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/keyword_plan_network.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword plan campaign resource. + +// A Keyword Plan campaign. +// Max number of keyword plan campaigns per plan allowed: 1. +message KeywordPlanCampaign { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + pattern: "customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}" + }; + + // Immutable. The resource name of the Keyword Plan campaign. + // KeywordPlanCampaign resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; + + // The keyword plan this campaign belongs to. + optional string keyword_plan = 9 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + }]; + + // Output only. The ID of the Keyword Plan campaign. + optional int64 id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the Keyword Plan campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional string name = 11; + + // The languages targeted for the Keyword Plan campaign. + // Max allowed: 1. + repeated string language_constants = 12 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + }]; + + // Targeting network. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + google.ads.googleads.v9.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6; + + // A default max cpc bid in micros, and in the account currency, for all ad + // groups under the campaign. + // + // This field is required and should not be empty when creating Keyword Plan + // campaigns. + optional int64 cpc_bid_micros = 13; + + // The geo targets. + // Max number allowed: 20. + repeated KeywordPlanGeoTarget geo_targets = 8; +} + +// A geo target. +message KeywordPlanGeoTarget { + // Required. The resource name of the geo target. + optional string geo_target_constant = 2 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + }]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto new file mode 100644 index 00000000..e5bf72e0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/keyword_match_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword plan negative keyword resource. + +// A Keyword Plan Campaign keyword. +// Only negative keywords are supported for Campaign Keyword. +message KeywordPlanCampaignKeyword { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + pattern: "customers/{customer_id}/keywordPlanCampaignKeywords/{keyword_plan_campaign_keyword_id}" + }; + + // Immutable. The resource name of the Keyword Plan Campaign keyword. + // KeywordPlanCampaignKeyword resource names have the form: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; + + // The Keyword Plan campaign to which this negative keyword belongs. + optional string keyword_plan_campaign = 8 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + + // Output only. The ID of the Keyword Plan negative keyword. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The keyword text. + optional string text = 10; + + // The keyword match type. + google.ads.googleads.v9.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5; + + // Immutable. If true, the keyword is negative. + // Must be set to true. Only negative campaign keywords are supported. + optional bool negative = 11 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_theme_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_theme_constant.proto new file mode 100644 index 00000000..8e35dce0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_theme_constant.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Smart Campaign keyword theme constant resource. + +// A Smart Campaign keyword theme constant. +message KeywordThemeConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + pattern: "keywordThemeConstants/{express_category_id}~{express_sub_category_id}" + }; + + // Output only. The resource name of the keyword theme constant. + // Keyword theme constant resource names have the form: + // + // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + } + ]; + + // Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". + // To display and query matching purpose, the keyword theme needs to be + // localized. + optional string language_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the keyword theme or sub keyword theme. + optional string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/keyword_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_view.proto new file mode 100644 index 00000000..a78971d1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/keyword_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the keyword view resource. + +// A keyword view. +message KeywordView { + option (google.api.resource) = { + type: "googleads.googleapis.com/KeywordView" + pattern: "customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the keyword view. + // Keyword view resource names have the form: + // + // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/label.proto b/google-cloud/protos/google/ads/googleads/v9/resources/label.proto new file mode 100644 index 00000000..7345ad07 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/label.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/text_label.proto"; +import "google/ads/googleads/v9/enums/label_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A label. +message Label { + option (google.api.resource) = { + type: "googleads.googleapis.com/Label" + pattern: "customers/{customer_id}/labels/{label_id}" + }; + + // Immutable. Name of the resource. + // Label resource names have the form: + // `customers/{customer_id}/labels/{label_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; + + // Output only. Id of the label. Read only. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the label. + // + // This field is required and should not be empty when creating a new label. + // + // The length of this string should be between 1 and 80, inclusive. + optional string name = 7; + + // Output only. Status of the label. Read only. + google.ads.googleads.v9.enums.LabelStatusEnum.LabelStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A type of label displaying text on a colored background. + google.ads.googleads.v9.common.TextLabel text_label = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/landing_page_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/landing_page_view.proto new file mode 100644 index 00000000..bbd4bc50 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/landing_page_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the landing page view resource. + +// A landing page view with metrics aggregated at the unexpanded final URL +// level. +message LandingPageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LandingPageView" + pattern: "customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}" + }; + + // Output only. The resource name of the landing page view. + // Landing page view resource names have the form: + // + // `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; + + // Output only. The advertiser-specified final URL. + optional string unexpanded_final_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/language_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/language_constant.proto new file mode 100644 index 00000000..69934780 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/language_constant.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the language constant resource. + +// A language. +message LanguageConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/LanguageConstant" + pattern: "languageConstants/{criterion_id}" + }; + + // Output only. The resource name of the language constant. + // Language constant resource names have the form: + // + // `languageConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; + + // Output only. The ID of the language constant. + optional int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The language code, e.g. "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, e.g., "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/google-cloud/protos/google/ads/googleads/v9/resources/life_event.proto b/google-cloud/protos/google/ads/googleads/v9/resources/life_event.proto new file mode 100644 index 00000000..374b9ecc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/life_event.proto @@ -0,0 +1,73 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criterion_category_availability.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Life Event resource. + +// A life event: a particular interest-based vertical to be targeted to reach +// users when they are in the midst of important life milestones. +message LifeEvent { + option (google.api.resource) = { + type: "googleads.googleapis.com/LifeEvent" + pattern: "customers/{customer_id}/lifeEvents/{life_event_id}" + }; + + // Output only. The resource name of the life event. + // Life event resource names have the form: + // + // `customers/{customer_id}/lifeEvents/{life_event_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. The ID of the life event. + int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the life event. E.g.,"Recently Moved" + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the life_event. + string parent = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; + + // Output only. True if the life event is launched to all channels and locales. + bool launched_to_all = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the life event. + repeated google.ads.googleads.v9.common.CriterionCategoryAvailability availabilities = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/location_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/location_view.proto new file mode 100644 index 00000000..a218d83e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/location_view.proto @@ -0,0 +1,52 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the location view resource. + +// A location view summarizes the performance of campaigns by +// Location criteria. +message LocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/LocationView" + pattern: "customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}" + }; + + // Output only. The resource name of the location view. + // Location view resource names have the form: + // + // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/managed_placement_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/managed_placement_view.proto new file mode 100644 index 00000000..82f352d6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/managed_placement_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Managed Placement view resource. + +// A managed placement view. +message ManagedPlacementView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ManagedPlacementView" + pattern: "customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the Managed Placement view. + // Managed placement view resource names have the form: + // + // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/media_file.proto b/google-cloud/protos/google/ads/googleads/v9/resources/media_file.proto new file mode 100644 index 00000000..0e2c4eb9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/media_file.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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/media_type.proto"; +import "google/ads/googleads/v9/enums/mime_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the media file resource. + +// A media file. +message MediaFile { + option (google.api.resource) = { + type: "googleads.googleapis.com/MediaFile" + pattern: "customers/{customer_id}/mediaFiles/{media_file_id}" + }; + + // Immutable. The resource name of the media file. + // Media file resource names have the form: + // + // `customers/{customer_id}/mediaFiles/{media_file_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; + + // Output only. The ID of the media file. + optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Type of the media file. + google.ads.googleads.v9.enums.MediaTypeEnum.MediaType type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The mime type of the media file. + google.ads.googleads.v9.enums.MimeTypeEnum.MimeType mime_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The URL of where the original media file was downloaded from (or a file + // name). Only used for media of type AUDIO and IMAGE. + optional string source_url = 13 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The name of the media file. The name can be used by clients to help + // identify previously uploaded media. + optional string name = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The size of the media file in bytes. + optional int64 file_size = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The specific type of the media file. + oneof mediatype { + // Immutable. Encapsulates an Image. + MediaImage image = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. A ZIP archive media the content of which contains HTML5 assets. + MediaBundle media_bundle = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Encapsulates an Audio. + MediaAudio audio = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Encapsulates a Video. + MediaVideo video = 11 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Encapsulates an Image. +message MediaImage { + // Immutable. Raw image data. + optional bytes data = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to the full size version of the image. + optional string full_size_image_url = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The url to the preview size version of the image. + optional string preview_size_image_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents a ZIP archive media the content of which contains HTML5 assets. +message MediaBundle { + // Immutable. Raw zipped data. + optional bytes data = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The url to access the uploaded zipped data. + // E.g. 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/google-cloud/protos/google/ads/googleads/v9/resources/merchant_center_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/merchant_center_link.proto new file mode 100644 index 00000000..4643ce1a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/merchant_center_link.proto @@ -0,0 +1,64 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/merchant_center_link_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// 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. + google.ads.googleads.v9.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/mobile_app_category_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/mobile_app_category_constant.proto new file mode 100644 index 00000000..f2788d96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/mobile_app_category_constant.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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Mobile App Category Constant resource. + +// A mobile application category constant. +message MobileAppCategoryConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + pattern: "mobileAppCategoryConstants/{mobile_app_category_id}" + }; + + // Output only. The resource name of the mobile app category constant. + // Mobile app category constant resource names have the form: + // + // `mobileAppCategoryConstants/{mobile_app_category_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; + + // Output only. The ID of the mobile app category constant. + optional int32 id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Mobile app category name. + optional string name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/mobile_device_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/mobile_device_constant.proto new file mode 100644 index 00000000..32b3da89 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/mobile_device_constant.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/mobile_device_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the mobile device constant resource. + +// A mobile device constant. +message MobileDeviceConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + pattern: "mobileDeviceConstants/{criterion_id}" + }; + + // Output only. The resource name of the mobile device constant. + // Mobile device constant resource names have the form: + // + // `mobileDeviceConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; + + // Output only. The ID of the mobile device constant. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the mobile device. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The manufacturer of the mobile device. + optional string manufacturer_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The operating system of the mobile device. + optional string operating_system_name = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of mobile device. + google.ads.googleads.v9.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/offline_user_data_job.proto b/google-cloud/protos/google/ads/googleads/v9/resources/offline_user_data_job.proto new file mode 100644 index 00000000..9ec8cbd5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/offline_user_data_job.proto @@ -0,0 +1,95 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/offline_user_data.proto"; +import "google/ads/googleads/v9/enums/offline_user_data_job_failure_reason.proto"; +import "google/ads/googleads/v9/enums/offline_user_data_job_match_rate_range.proto"; +import "google/ads/googleads/v9/enums/offline_user_data_job_status.proto"; +import "google/ads/googleads/v9/enums/offline_user_data_job_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the offline user data job resource. + +// A job containing offline user data of store visitors, or user list members +// that will be processed asynchronously. The uploaded data isn't readable and +// the processing results of the job can only be read using +// OfflineUserDataJobService.GetOfflineUserDataJob. +message OfflineUserDataJob { + option (google.api.resource) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + pattern: "customers/{customer_id}/offlineUserDataJobs/{offline_user_data_update_id}" + }; + + // Immutable. The resource name of the offline user data job. + // Offline user data job resource names have the form: + // + // `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // Output only. ID of this offline user data job. + optional int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. User specified job ID. + optional int64 external_id = 10 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Type of the job. + google.ads.googleads.v9.enums.OfflineUserDataJobTypeEnum.OfflineUserDataJobType type = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Status of the job. + google.ads.googleads.v9.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.v9.enums.OfflineUserDataJobFailureReasonEnum.OfflineUserDataJobFailureReason failure_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata of offline user data job depicting match rate range. + OfflineUserDataJobMetadata operation_metadata = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Metadata of the job. + oneof metadata { + // Immutable. Metadata for data updates to a CRM-based user list. + google.ads.googleads.v9.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Metadata for store sales data update. + google.ads.googleads.v9.common.StoreSalesMetadata store_sales_metadata = 8 [(google.api.field_behavior) = IMMUTABLE]; + } +} + +// Metadata of offline user data job. +message OfflineUserDataJobMetadata { + // Output only. Match rate of the Customer Match user list upload. Describes the estimated + // match rate when the status of the job is “RUNNING” and final match rate + // when the final match rate is available after the status of the job is + // “SUCCESS/FAILED”. + google.ads.googleads.v9.enums.OfflineUserDataJobMatchRateRangeEnum.OfflineUserDataJobMatchRateRange match_rate_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/operating_system_version_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/operating_system_version_constant.proto new file mode 100644 index 00000000..0031309f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/operating_system_version_constant.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/operating_system_version_operator_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the operating system version constant resource. + +// A mobile operating system version or a range of versions, depending on +// `operator_type`. List of available mobile platforms at +// https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms +message OperatingSystemVersionConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + pattern: "operatingSystemVersionConstants/{criterion_id}" + }; + + // Output only. The resource name of the operating system version constant. + // Operating system version constant resource names have the form: + // + // `operatingSystemVersionConstants/{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; + + // Output only. The ID of the operating system version. + optional int64 id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the operating system. + optional string name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Major Version number. + optional int32 os_major_version = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The OS Minor Version number. + optional int32 os_minor_version = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines whether this constant represents a single version or a range of + // versions. + google.ads.googleads.v9.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/paid_organic_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/paid_organic_search_term_view.proto new file mode 100644 index 00000000..261b2c6a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/paid_organic_search_term_view.proto @@ -0,0 +1,56 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the PaidOrganicSearchTermView resource. + +// A paid organic search term view providing a view of search stats across +// ads and organic listings aggregated by search term at the ad group level. +message PaidOrganicSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + pattern: "customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~{ad_group_id}~{base64_search_term}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ + // {ad_group_id}~{URL-base64 search term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/parental_status_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/parental_status_view.proto new file mode 100644 index 00000000..de331f8f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/parental_status_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the parental status view resource. + +// A parental status view. +message ParentalStatusView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ParentalStatusView" + pattern: "customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the parental status view. + // Parental Status view resource names have the form: + // + // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/payments_account.proto b/google-cloud/protos/google/ads/googleads/v9/resources/payments_account.proto new file mode 100644 index 00000000..a20d481f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/payments_account.proto @@ -0,0 +1,78 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the PaymentsAccount resource. + +// A payments account, which can be used to set up billing for an Ads customer. +message PaymentsAccount { + option (google.api.resource) = { + type: "googleads.googleapis.com/PaymentsAccount" + pattern: "customers/{customer_id}/paymentsAccounts/{payments_account_id}" + }; + + // Output only. The resource name of the payments account. + // PaymentsAccount resource names have the form: + // + // `customers/{customer_id}/paymentsAccounts/{payments_account_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaymentsAccount" + } + ]; + + // Output only. A 16 digit ID used to identify a payments account. + optional string payments_account_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the payments account. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The currency code of the payments account. + // A subset of the currency codes derived from the ISO 4217 standard is + // supported. + optional string currency_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A 12 digit ID used to identify the payments profile associated with the + // payments account. + optional string payments_profile_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A secondary payments profile ID present in uncommon situations, e.g. + // 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/google-cloud/protos/google/ads/googleads/v9/resources/product_bidding_category_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/product_bidding_category_constant.proto new file mode 100644 index 00000000..92588900 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/product_bidding_category_constant.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/product_bidding_category_level.proto"; +import "google/ads/googleads/v9/enums/product_bidding_category_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// 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. + google.ads.googleads.v9.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the product bidding category. + google.ads.googleads.v9.enums.ProductBiddingCategoryStatusEnum.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/google-cloud/protos/google/ads/googleads/v9/resources/product_group_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/product_group_view.proto new file mode 100644 index 00000000..1ce1ccfa --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/product_group_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ProductGroup View resource. + +// A product group view. +message ProductGroupView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ProductGroupView" + pattern: "customers/{customer_id}/productGroupViews/{adgroup_id}~{criterion_id}" + }; + + // Output only. The resource name of the product group view. + // Product group view resource names have the form: + // + // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/recommendation.proto b/google-cloud/protos/google/ads/googleads/v9/resources/recommendation.proto new file mode 100644 index 00000000..d426c4e1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/recommendation.proto @@ -0,0 +1,350 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/common/extensions.proto"; +import "google/ads/googleads/v9/enums/keyword_match_type.proto"; +import "google/ads/googleads/v9/enums/recommendation_type.proto"; +import "google/ads/googleads/v9/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v9/resources/ad.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 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 { + // Output only. The recommended keyword. + google.ads.googleads.v9.common.KeywordInfo keyword = 1 [(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 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 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, e.g., 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, e.g., 2018-04-17. + optional string auto_apply_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // 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 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.v9.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 Search Partners Opt-In recommendation. + message SearchPartnersOptInRecommendation { + + } + + // 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 Enhanced Cost-Per-Click Opt-In recommendation. + message EnhancedCpcOptInRecommendation { + + } + + // The Optimize Ad Rotation recommendation. + message OptimizeAdRotationRecommendation { + + } + + // The Callout extension recommendation. + message CalloutExtensionRecommendation { + // Output only. Callout extensions recommended to be added. + repeated google.ads.googleads.v9.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v9.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v9.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v9.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v9.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 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]; + } + + // 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.v9.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 will be set only when + // the recommendation affects a single campaign. + // + // This field will be set for the following recommendation types: + // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, + // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, + // OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD, SEARCH_PARTNERS_OPT_IN, + // SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD + 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, 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]; + + // 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 Callout extension recommendation. + CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Sitelink extension recommendation. + SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Call extension recommendation. + CallExtensionRecommendation call_extension_recommendation = 19 [(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]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/remarketing_action.proto b/google-cloud/protos/google/ads/googleads/v9/resources/remarketing_action.proto new file mode 100644 index 00000000..9ba66f5a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/remarketing_action.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/tag_snippet.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Remarketing Action resource. + +// A remarketing action. A snippet of JavaScript code that will collect the +// product id and the type of page people visited (product page, shopping cart +// page, purchase page, general site visit) on an advertiser's website. +message RemarketingAction { + option (google.api.resource) = { + type: "googleads.googleapis.com/RemarketingAction" + pattern: "customers/{customer_id}/remarketingActions/{remarketing_action_id}" + }; + + // Immutable. The resource name of the remarketing action. + // Remarketing action resource names have the form: + // + // `customers/{customer_id}/remarketingActions/{remarketing_action_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; + + // Output only. Id of the remarketing action. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The name of the remarketing action. + // + // This field is required and should not be empty when creating new + // remarketing actions. + optional string name = 6; + + // Output only. The snippets used for tracking remarketing actions. + repeated google.ads.googleads.v9.common.TagSnippet tag_snippets = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/search_term_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/search_term_view.proto new file mode 100644 index 00000000..20785425 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/search_term_view.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/search_term_targeting_status.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the SearchTermView resource. + +// A search term view with metrics aggregated by search term at the ad group +// level. +message SearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SearchTermView" + pattern: "customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{query}" + }; + + // Output only. The resource name of the search term view. + // Search term view resource names have the form: + // + // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; + + // Output only. The search term. + optional string search_term = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ad group the search term served in. + optional string ad_group = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; + + // Output only. Indicates whether the search term is currently one of your + // targeted or excluded keywords. + google.ads.googleads.v9.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/shared_criterion.proto b/google-cloud/protos/google/ads/googleads/v9/resources/shared_criterion.proto new file mode 100644 index 00000000..24e999d4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/shared_criterion.proto @@ -0,0 +1,92 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/enums/criterion_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the SharedCriterion resource. + +// A criterion belonging to a shared set. +message SharedCriterion { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedCriterion" + pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}" + }; + + // Immutable. The resource name of the shared criterion. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; + + // Immutable. The shared set to which the shared criterion belongs. + optional string shared_set = 10 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of the criterion. + // + // This field is ignored for mutates. + optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The type of the criterion. + google.ads.googleads.v9.enums.CriterionTypeEnum.CriterionType type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The criterion. + // + // Exactly one must be set. + oneof criterion { + // Immutable. Keyword. + google.ads.googleads.v9.common.KeywordInfo keyword = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Video. + google.ads.googleads.v9.common.YouTubeVideoInfo youtube_video = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. YouTube Channel. + google.ads.googleads.v9.common.YouTubeChannelInfo youtube_channel = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Placement. + google.ads.googleads.v9.common.PlacementInfo placement = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile App Category. + google.ads.googleads.v9.common.MobileAppCategoryInfo mobile_app_category = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Mobile application. + google.ads.googleads.v9.common.MobileApplicationInfo mobile_application = 9 [(google.api.field_behavior) = IMMUTABLE]; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/shared_set.proto b/google-cloud/protos/google/ads/googleads/v9/resources/shared_set.proto new file mode 100644 index 00000000..9e73ff71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/shared_set.proto @@ -0,0 +1,77 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/enums/shared_set_status.proto"; +import "google/ads/googleads/v9/enums/shared_set_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the SharedSet resource. + +// SharedSets are used for sharing criterion exclusions across multiple +// campaigns. +message SharedSet { + option (google.api.resource) = { + type: "googleads.googleapis.com/SharedSet" + pattern: "customers/{customer_id}/sharedSets/{shared_set_id}" + }; + + // Immutable. The resource name of the shared set. + // Shared set resource names have the form: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; + + // Output only. The ID of this shared set. Read only. + optional int64 id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The type of this shared set: each shared set holds only a single kind + // of resource. Required. Immutable. + google.ads.googleads.v9.enums.SharedSetTypeEnum.SharedSetType type = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // The name of this shared set. Required. + // Shared Sets must have names that are unique among active shared sets of + // the same type. + // The length of this string should be between 1 and 255 UTF-8 bytes, + // inclusive. + optional string name = 9; + + // Output only. The status of this shared set. Read only. + google.ads.googleads.v9.enums.SharedSetStatusEnum.SharedSetStatus status = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shared criteria within this shared set. Read only. + optional int64 member_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of campaigns associated with this shared set. Read only. + optional int64 reference_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/shopping_performance_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/shopping_performance_view.proto new file mode 100644 index 00000000..b2d741fc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/shopping_performance_view.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the ShoppingPerformanceView resource. + +// Shopping performance view. +// Provides Shopping campaign statistics aggregated at several product dimension +// levels. Product dimension values from Merchant Center such as brand, +// category, custom attributes, product condition and product type will reflect +// the state of each dimension as of the date and time when the corresponding +// event was recorded. +message ShoppingPerformanceView { + option (google.api.resource) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + pattern: "customers/{customer_id}/shoppingPerformanceView" + }; + + // Output only. The resource name of the Shopping performance view. + // Shopping performance view resource names have the form: + // `customers/{customer_id}/shoppingPerformanceView` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_search_term_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_search_term_view.proto new file mode 100644 index 00000000..9e1cf544 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_search_term_view.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the SmartCampaignSearchTermView resource. + +// A Smart campaign search term view. +message SmartCampaignSearchTermView { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + pattern: "customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{query}" + }; + + // Output only. The resource name of the Smart campaign search term view. + // Smart campaign search term view resource names have the form: + // + // `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + } + ]; + + // Output only. The search term. + string search_term = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Smart campaign the search term served in. + string campaign = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_setting.proto b/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_setting.proto new file mode 100644 index 00000000..293c7cef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/smart_campaign_setting.proto @@ -0,0 +1,91 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Smart campaign setting resource. + +// Settings for configuring Smart campaigns. +message SmartCampaignSetting { + option (google.api.resource) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + pattern: "customers/{customer_id}/smartCampaignSettings/{campaign_id}" + }; + + // Phone number and country code in smart campaign settings. + message PhoneNumber { + // Phone number of the smart campaign. + optional string phone_number = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. + optional string country_code = 2; + } + + // 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; + + // Landing page url given by user for this Campaign. + string final_url = 4; + + // The ISO-639-1 language code to advertise in. + string advertising_language_code = 7; + + // The business setting of this campaign. + oneof business_setting { + // The name of the business. + string business_name = 5; + + // The ID of the Business Profile location. + // The location ID can be fetched by Business Profile API with its form: + // accounts/{accountId}/locations/{locationId}. The last {locationId} + // component from the Business Profile API represents the + // business_location_id. See the [Business Profile API] + // (https://developers.google.com/my-business/reference/rest/v4/accounts.locations) + int64 business_location_id = 6; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/third_party_app_analytics_link.proto b/google-cloud/protos/google/ads/googleads/v9/resources/third_party_app_analytics_link.proto new file mode 100644 index 00000000..2aa49b91 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/third_party_app_analytics_link.proto @@ -0,0 +1,55 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// A data sharing connection, allowing the import of third party app analytics +// into a Google Ads Customer. +message ThirdPartyAppAnalyticsLink { + option (google.api.resource) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + pattern: "customers/{customer_id}/thirdPartyAppAnalyticsLinks/{customer_link_id}" + }; + + // Immutable. The resource name of the third party app analytics link. + // Third party app analytics link resource names have the form: + // + // `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + } + ]; + + // Output only. The shareable link ID that should be provided to the third party when + // setting up app analytics. This is able to be regenerated using regenerate + // method in the ThirdPartyAppAnalyticsLinkService. + optional string shareable_link_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/topic_constant.proto b/google-cloud/protos/google/ads/googleads/v9/resources/topic_constant.proto new file mode 100644 index 00000000..3cd6f64e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/topic_constant.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the Topic Constant resource. + +// Use topics to target or exclude placements in the Google Display Network +// based on the category into which the placement falls (for example, +// "Pets & Animals/Pets/Dogs"). +message TopicConstant { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicConstant" + pattern: "topicConstants/{topic_id}" + }; + + // Output only. The resource name of the topic constant. + // topic constant resource names have the form: + // + // `topicConstants/{topic_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The ID of the topic. + optional int64 id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Resource name of parent of the topic constant. + optional string topic_constant_parent = 6 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; + + // Output only. The category to target or exclude. Each subsequent element in the array + // describes a more specific sub-category. For example, + // {"Pets & Animals", "Pets", "Dogs"} represents the + // "Pets & Animals/Pets/Dogs" category. List of available topic categories at + // https://developers.google.com/adwords/api/docs/appendix/verticals + repeated string path = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/topic_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/topic_view.proto new file mode 100644 index 00000000..8040a3d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/topic_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the topic view resource. + +// A topic view. +message TopicView { + option (google.api.resource) = { + type: "googleads.googleapis.com/TopicView" + pattern: "customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the topic view. + // Topic view resource names have the form: + // + // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/user_interest.proto b/google-cloud/protos/google/ads/googleads/v9/resources/user_interest.proto new file mode 100644 index 00000000..345a0e16 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/user_interest.proto @@ -0,0 +1,76 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/criterion_category_availability.proto"; +import "google/ads/googleads/v9/enums/user_interest_taxonomy_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the User Interest resource. + +// A user interest: a particular interest-based vertical to be targeted. +message UserInterest { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserInterest" + pattern: "customers/{customer_id}/userInterests/{user_interest_id}" + }; + + // Output only. The resource name of the user interest. + // User interest resource names have the form: + // + // `customers/{customer_id}/userInterests/{user_interest_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. Taxonomy type of the user interest. + google.ads.googleads.v9.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of the user interest. + optional int64 user_interest_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the user interest. + optional string name = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parent of the user interest. + optional string user_interest_parent = 10 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; + + // Output only. True if the user interest is launched to all channels and locales. + optional bool launched_to_all = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability information of the user interest. + repeated google.ads.googleads.v9.common.CriterionCategoryAvailability availabilities = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/user_list.proto b/google-cloud/protos/google/ads/googleads/v9/resources/user_list.proto new file mode 100644 index 00000000..f479d053 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/user_list.proto @@ -0,0 +1,174 @@ +// 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.ads.googleads.v9.resources; + +import "google/ads/googleads/v9/common/user_lists.proto"; +import "google/ads/googleads/v9/enums/access_reason.proto"; +import "google/ads/googleads/v9/enums/user_list_access_status.proto"; +import "google/ads/googleads/v9/enums/user_list_closing_reason.proto"; +import "google/ads/googleads/v9/enums/user_list_membership_status.proto"; +import "google/ads/googleads/v9/enums/user_list_size_range.proto"; +import "google/ads/googleads/v9/enums/user_list_type.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserListProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the User List resource. + +// A user list. This is a list of users a customer may target. +message UserList { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserList" + pattern: "customers/{customer_id}/userLists/{user_list_id}" + }; + + // Immutable. The resource name of the user list. + // User list resource names have the form: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string resource_name = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; + + // Output only. Id of the user list. + optional int64 id = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A flag 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 (e.g. if access_reason=SHARED) + optional string name = 27; + + // Description of this user list. + optional string description = 28; + + // Membership status of this user list. Indicates whether a user list is open + // or active. Only open user lists can accumulate more users and can be + // targeted to. + google.ads.googleads.v9.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6; + + // An ID from external system. It is used by user list sellers to correlate + // IDs on their systems. + optional string integration_code = 29; + + // Number of days a user's cookie stays on your list since its most recent + // addition to the list. This field must be between 0 and 540 inclusive. + // However, for CRM based userlists, this field can be set to 10000 which + // means no expiration. + // + // 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.v9.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.v9.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Type of this list. + // + // This field is read-only. + google.ads.googleads.v9.enums.UserListTypeEnum.UserListType type = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicating the reason why this user list membership status is closed. It is + // only populated on lists that were automatically closed due to inactivity, + // and will be cleared once the list membership status becomes open. + google.ads.googleads.v9.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14; + + // Output only. Indicates the reason this account has been granted access to the list. + // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. + // + // This field is read-only. + google.ads.googleads.v9.enums.AccessReasonEnum.AccessReason access_reason = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Indicates if this share is still enabled. When a UserList is shared with + // the user this field is set to ENABLED. Later the userList owner can decide + // to revoke the share and make it DISABLED. + // The default value of this field is set to ENABLED. + google.ads.googleads.v9.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16; + + // Indicates if this user list is eligible for Google Search Network. + optional bool eligible_for_search = 33; + + // Output only. Indicates this user list is eligible for Google Display Network. + // + // This field is read-only. + optional bool eligible_for_display = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates match rate for Customer Match lists. The range of this field is + // [0-100]. This will be null for other list types or when it's not possible + // to calculate the match rate. + // + // This field is read-only. + optional int32 match_rate_percentage = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The user list. + // + // Exactly one must be set. + oneof user_list { + // User list of CRM users provided by the advertiser. + google.ads.googleads.v9.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.v9.common.SimilarUserListInfo similar_user_list = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User list generated by a rule. + google.ads.googleads.v9.common.RuleBasedUserListInfo rule_based_user_list = 21; + + // User list that is a custom combination of user lists and user interests. + google.ads.googleads.v9.common.LogicalUserListInfo logical_user_list = 22; + + // User list targeting as a collection of conversion or remarketing actions. + google.ads.googleads.v9.common.BasicUserListInfo basic_user_list = 23; + } +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/user_location_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/user_location_view.proto new file mode 100644 index 00000000..496c4a98 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/user_location_view.proto @@ -0,0 +1,62 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the user location view resource. + +// A user location view. +// +// User Location View includes all metrics aggregated at the country level, +// one row per country. It reports metrics at the actual physical location of +// the user by targeted or not targeted location. If other segment fields are +// used, you may get more than one row per country. +message UserLocationView { + option (google.api.resource) = { + type: "googleads.googleapis.com/UserLocationView" + pattern: "customers/{customer_id}/userLocationViews/{country_criterion_id}~{is_targeting_location}" + }; + + // Output only. The resource name of the user location view. + // UserLocation view resource names have the form: + // + // `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; + + // Output only. Criterion Id for the country. + optional int64 country_criterion_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether location was targeted or not. + optional bool targeting_location = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/video.proto b/google-cloud/protos/google/ads/googleads/v9/resources/video.proto new file mode 100644 index 00000000..3078b6d4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/video.proto @@ -0,0 +1,63 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "VideoProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the video resource. + +// A video. +message Video { + option (google.api.resource) = { + type: "googleads.googleapis.com/Video" + pattern: "customers/{customer_id}/videos/{video_id}" + }; + + // Output only. The resource name of the video. + // Video resource names have the form: + // + // `customers/{customer_id}/videos/{video_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Video" + } + ]; + + // Output only. The ID of the video. + optional string id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The owner channel id of the video. + optional string channel_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The duration of the video in milliseconds. + optional int64 duration_millis = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The title of the video. + optional string title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/resources/webpage_view.proto b/google-cloud/protos/google/ads/googleads/v9/resources/webpage_view.proto new file mode 100644 index 00000000..8bea57f3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/resources/webpage_view.proto @@ -0,0 +1,51 @@ +// 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.ads.googleads.v9.resources; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/resources;resources"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewProto"; +option java_package = "com.google.ads.googleads.v9.resources"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V9::Resources"; + +// Proto file describing the webpage view resource. + +// A webpage view. +message WebpageView { + option (google.api.resource) = { + type: "googleads.googleapis.com/WebpageView" + pattern: "customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}" + }; + + // Output only. The resource name of the webpage view. + // Webpage view resource names have the form: + // + // `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}` + string resource_name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/WebpageView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/BUILD.bazel b/google-cloud/protos/google/ads/googleads/v9/services/BUILD.bazel new file mode 100644 index 00000000..f34bc42c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/BUILD.bazel @@ -0,0 +1,138 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +# TODO(ohren): Change srcs to use an enumeration of each individual proto +# instead of *.proto globbing once the build file generator supports +# subpackages. +proto_library( + name = "services_proto", + srcs = glob(["*.proto"]), + deps = [ + "//google/ads/googleads/v9/common:common_proto", + "//google/ads/googleads/v9/enums:enums_proto", + "//google/ads/googleads/v9/errors:errors_proto", + "//google/ads/googleads/v9/resources:resources_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "services_proto_with_info", + deps = [ + ":services_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "services_java_proto", + deps = [":services_proto"], +) + +java_grpc_library( + name = "services_java_grpc", + srcs = [":services_proto"], + deps = [":services_java_proto"], +) + +############################################################################## +# PHP +############################################################################## + +# PHP targets are in the parent directory's BUILD.bazel file to facilitate +# aggregating metadata using a single underlying call to protoc. + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "services_csharp_proto", + deps = [":services_proto"], +) + +csharp_grpc_library( + name = "services_csharp_grpc", + srcs = [":services_proto"], + deps = [":services_csharp_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "services_ruby_proto", + deps = [":services_proto"], +) + +ruby_grpc_library( + name = "services_ruby_grpc", + srcs = [":services_proto"], + deps = [":services_ruby_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_grpc_library", + "py_proto_library", +) + +py_proto_library( + name = "services_py_proto", + deps = [":services_proto"], +) + +py_grpc_library( + name = "services_py_grpc", + srcs = [":services_proto"], + deps = [":services_py_proto"], +) diff --git a/google-cloud/protos/google/ads/googleads/v9/services/accessible_bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/accessible_bidding_strategy_service.proto new file mode 100644 index 00000000..dd8a7705 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/accessible_bidding_strategy_service.proto @@ -0,0 +1,58 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/accessible_bidding_strategy.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccessibleBiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to read accessible bidding strategies. +service AccessibleBiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested accessible bidding strategy in full detail. + rpc GetAccessibleBiddingStrategy(GetAccessibleBiddingStrategyRequest) returns (google.ads.googleads.v9.resources.AccessibleBiddingStrategy) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/accessibleBiddingStrategies/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [AccessibleBiddingStrategyService.GetAccessibleBiddingStrategy][google.ads.googleads.v9.services.AccessibleBiddingStrategyService.GetAccessibleBiddingStrategy]. +message GetAccessibleBiddingStrategyRequest { + // Required. The resource name of the accessible bidding strategy to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccessibleBiddingStrategy" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/account_budget_proposal_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/account_budget_proposal_service.proto new file mode 100644 index 00000000..4252e7bb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/account_budget_proposal_service.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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/account_budget_proposal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetProposalServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AccountBudgetProposal service. + +// A service for managing account-level budgets via proposals. +// +// A proposal is a request to create a new budget or make changes to an +// existing one. +// +// Reads for account-level budgets managed by these proposals will be +// supported in a future version. Until then, please use the +// BudgetOrderService from the AdWords API. Learn more at +// https://developers.google.com/adwords/api/docs/guides/budget-order +// +// 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"; + + // Returns an account-level budget proposal in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAccountBudgetProposal(GetAccountBudgetProposalRequest) returns (google.ads.googleads.v9.resources.AccountBudgetProposal) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/accountBudgetProposals/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes account budget proposals. Operation statuses + // are returned. + // + // List of thrown errors: + // [AccountBudgetProposalError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/accountBudgetProposals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [AccountBudgetProposalService.GetAccountBudgetProposal][google.ads.googleads.v9.services.AccountBudgetProposalService.GetAccountBudgetProposal]. +message GetAccountBudgetProposalRequest { + // Required. The resource name of the account-level budget proposal to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudgetProposal" + } + ]; +} + +// Request message for +// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v9.services.AccountBudgetProposalService.MutateAccountBudgetProposal]. +message MutateAccountBudgetProposalRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual account-level budget proposal. + AccountBudgetProposalOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation to propose the creation of a new account-level budget or +// edit/end/remove an existing one. +message AccountBudgetProposalOperation { + // FieldMask that determines which budget fields are modified. While budgets + // may be modified, proposals that propose such modifications are final. + // Therefore, update operations are not supported for proposals. + // + // Proposals that modify budgets have the 'update' proposal type. Specifying + // a mask for any other proposal type is considered an error. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: A new proposal to create a new budget, edit an + // existing budget, end an actively running budget, or remove an approved + // budget scheduled to start in the future. + // No resource name is expected for the new proposal. + google.ads.googleads.v9.resources.AccountBudgetProposal create = 2; + + // Remove operation: A resource name for the removed proposal is expected, + // in this format: + // + // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` + // A request may be cancelled iff it is pending. + string remove = 1; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/account_budget_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/account_budget_service.proto new file mode 100644 index 00000000..bd880810 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/account_budget_service.proto @@ -0,0 +1,70 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/account_budget.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AccountBudget service. + +// A service for fetching an account-level budget. +// +// Account-level budgets are mutated by creating proposal resources. +service AccountBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns an account-level budget in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAccountBudget(GetAccountBudgetRequest) returns (google.ads.googleads.v9.resources.AccountBudget) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/accountBudgets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [AccountBudgetService.GetAccountBudget][google.ads.googleads.v9.services.AccountBudgetService.GetAccountBudget]. +message GetAccountBudgetRequest { + // Required. The resource name of the account-level budget to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountBudget" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/account_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/account_link_service.proto new file mode 100644 index 00000000..5ffabd9d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/account_link_service.proto @@ -0,0 +1,185 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/account_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AccountLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// This service allows management of links between Google Ads accounts and other +// accounts. +service AccountLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the account link in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAccountLink(GetAccountLinkRequest) returns (google.ads.googleads.v9.resources.AccountLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/accountLinks/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates an account link. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ThirdPartyAppAnalyticsLinkError]() + rpc CreateAccountLink(CreateAccountLinkRequest) returns (CreateAccountLinkResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/accountLinks:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,account_link"; + } + + // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Please use + // AccountLinkService.CreateAccountLink instead. + // + // List of thrown errors: + // [AccountLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAccountLink(MutateAccountLinkRequest) returns (MutateAccountLinkResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/accountLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [AccountLinkService.GetAccountLink][google.ads.googleads.v9.services.AccountLinkService.GetAccountLink]. +message GetAccountLinkRequest { + // Required. Resource name of the account link. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AccountLink" + } + ]; +} + +// Request message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v9.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkRequest { + // Required. The ID of the customer for which the account link is created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The account link to be created. + google.ads.googleads.v9.resources.AccountLink account_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [AccountLinkService.CreateAccountLink][google.ads.googleads.v9.services.AccountLinkService.CreateAccountLink]. +message CreateAccountLinkResponse { + // Returned for successful operations. Resource name of the account link. + string resource_name = 1; +} + +// Request message for [AccountLinkService.MutateAccountLink][google.ads.googleads.v9.services.AccountLinkService.MutateAccountLink]. +message MutateAccountLinkRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the link. + AccountLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single update on an account link. +message AccountLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The operation to perform. + oneof operation { + // Update operation: The account link is expected to have + // a valid resource name. + google.ads.googleads.v9.resources.AccountLink update = 2; + + // Remove operation: A resource name for the account link to remove is + // expected, in this format: + // + // `customers/{customer_id}/accountLinks/{account_link_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_asset_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_asset_view_service.proto new file mode 100644 index 00000000..0f1b263c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_asset_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_ad_asset_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdAssetViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ad group ad asset view service. + +// Service to fetch ad group ad asset views. +service AdGroupAdAssetViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group ad asset view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupAdAssetView(GetAdGroupAdAssetViewRequest) returns (google.ads.googleads.v9.resources.AdGroupAdAssetView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupAdAssetViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AdGroupAdAssetViewService.GetAdGroupAdAssetView][google.ads.googleads.v9.services.AdGroupAdAssetViewService.GetAdGroupAdAssetView]. +message GetAdGroupAdAssetViewRequest { + // Required. The resource name of the ad group ad asset view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdAssetView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_label_service.proto new file mode 100644 index 00000000..d19ecd96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_label_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_ad_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdLabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Ad Label service. + +// Service to manage labels on ad group ads. +service AdGroupAdLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group ad label in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupAdLabel(GetAdGroupAdLabelRequest) returns (google.ads.googleads.v9.resources.AdGroupAdLabel) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupAdLabels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates and removes ad group ad labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAdLabels(MutateAdGroupAdLabelsRequest) returns (MutateAdGroupAdLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupAdLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdLabelService.GetAdGroupAdLabel][google.ads.googleads.v9.services.AdGroupAdLabelService.GetAdGroupAdLabel]. +message GetAdGroupAdLabelRequest { + // Required. The resource name of the ad group ad label to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAdLabel" + } + ]; +} + +// Request message for [AdGroupAdLabelService.MutateAdGroupAdLabels][google.ads.googleads.v9.services.AdGroupAdLabelService.MutateAdGroupAdLabels]. +message MutateAdGroupAdLabelsRequest { + // Required. ID of the customer whose ad group ad labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group ad labels. + repeated AdGroupAdLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group ad label. +message AdGroupAdLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group ad + // label. + google.ads.googleads.v9.resources.AdGroupAdLabel create = 1; + + // Remove operation: A resource name for the ad group ad label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id} + // _{label_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_service.proto new file mode 100644 index 00000000..c3b2ff9e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_ad_service.proto @@ -0,0 +1,195 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAdServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Ad service. + +// Service to manage ads in an ad group. +service AdGroupAdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupAd(GetAdGroupAdRequest) returns (google.ads.googleads.v9.resources.AdGroupAd) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupAds/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ads. Operation statuses are returned. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdGroupAdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyValidationParameterError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAdService.GetAdGroupAd][google.ads.googleads.v9.services.AdGroupAdService.GetAdGroupAd]. +message GetAdGroupAdRequest { + // 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/AdGroupAd" + } + ]; +} + +// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v9.services.AdGroupAdService.MutateAdGroupAds]. +message MutateAdGroupAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdGroupAdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group ad. +message AdGroupAdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // Configuration for how policies are validated. + google.ads.googleads.v9.common.PolicyValidationParameter policy_validation_parameter = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad. + google.ads.googleads.v9.resources.AdGroupAd create = 1; + + // Update operation: The ad is expected to have a valid resource name. + google.ads.googleads.v9.resources.AdGroupAd update = 2; + + // Remove operation: A resource name for the removed ad is expected, + // in this format: + // + // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated ad group ad with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupAd ad_group_ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_asset_service.proto new file mode 100644 index 00000000..e9978f7f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_asset_service.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupAsset service. + +// Service to manage ad group assets. +service AdGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group asset in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupAsset(GetAdGroupAssetRequest) returns (google.ads.googleads.v9.resources.AdGroupAsset) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupAssets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad group assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupAssets(MutateAdGroupAssetsRequest) returns (MutateAdGroupAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupAssetService.GetAdGroupAsset][google.ads.googleads.v9.services.AdGroupAssetService.GetAdGroupAsset]. +message GetAdGroupAssetRequest { + // Required. The resource name of the ad group asset to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAsset" + } + ]; +} + +// Request message for [AdGroupAssetService.MutateAdGroupAssets][google.ads.googleads.v9.services.AdGroupAssetService.MutateAdGroupAssets]. +message MutateAdGroupAssetsRequest { + // Required. The ID of the customer whose ad group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group assets. + repeated AdGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group asset. +message AdGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // asset. + google.ads.googleads.v9.resources.AdGroupAsset create = 1; + + // Update operation: The ad group asset is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AdGroupAsset update = 3; + + // Remove operation: A resource name for the removed ad group asset is + // expected, in this format: + // + // `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated ad group asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupAsset ad_group_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_audience_view_service.proto new file mode 100644 index 00000000..b90af385 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_audience_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_audience_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupAudienceViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroup Audience View service. + +// Service to manage ad group audience views. +service AdGroupAudienceViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group audience view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupAudienceView(GetAdGroupAudienceViewRequest) returns (google.ads.googleads.v9.resources.AdGroupAudienceView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupAudienceViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AdGroupAudienceViewService.GetAdGroupAudienceView][google.ads.googleads.v9.services.AdGroupAudienceViewService.GetAdGroupAudienceView]. +message GetAdGroupAudienceViewRequest { + // Required. The resource name of the ad group audience view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_bid_modifier_service.proto new file mode 100644 index 00000000..ff9f9158 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_bid_modifier_service.proto @@ -0,0 +1,174 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Bid Modifier service. + +// Service to manage ad group bid modifiers. +service AdGroupBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group bid modifier in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupBidModifier(GetAdGroupBidModifierRequest) returns (google.ads.googleads.v9.resources.AdGroupBidModifier) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupBidModifiers/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad group bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupBidModifierError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupBidModifierService.GetAdGroupBidModifier][google.ads.googleads.v9.services.AdGroupBidModifierService.GetAdGroupBidModifier]. +message GetAdGroupBidModifierRequest { + // Required. The resource name of the ad group bid modifier to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupBidModifier" + } + ]; +} + +// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v9.services.AdGroupBidModifierService.MutateAdGroupBidModifiers]. +message MutateAdGroupBidModifiersRequest { + // Required. ID of the customer whose ad group bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group bid modifiers. + repeated AdGroupBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group bid modifier. +message AdGroupBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group bid + // modifier. + google.ads.googleads.v9.resources.AdGroupBidModifier create = 1; + + // Update operation: The ad group bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.AdGroupBidModifier update = 2; + + // Remove operation: A resource name for the removed ad group bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated ad group bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupBidModifier ad_group_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_customizer_service.proto new file mode 100644 index 00000000..d77aff7e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_customizer_service.proto @@ -0,0 +1,116 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupCriterionCustomizer service. + +// Service to manage ad group criterion customizer +service AdGroupCriterionCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group criterion customizers. Operation + // statuses are returned. + rpc MutateAdGroupCriterionCustomizers(MutateAdGroupCriterionCustomizersRequest) returns (MutateAdGroupCriterionCustomizersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/AdGroupCriterionCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers][google.ads.googleads.v9.services.AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers]. +message MutateAdGroupCriterionCustomizersRequest { + // Required. The ID of the customer whose ad group criterion customizers are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group criterion + // customizers. + repeated AdGroupCriterionCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCriterionCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // criterion customizer. + google.ads.googleads.v9.resources.AdGroupCriterionCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group criterion + // customizer is expected, in this format: + // + // `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated AdGroupCriterionCustomizer with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_label_service.proto new file mode 100644 index 00000000..8bd2c85e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_label_service.proto @@ -0,0 +1,143 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_criterion_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionLabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Criterion Label service. + +// Service to manage labels on ad group criteria. +service AdGroupCriterionLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group criterion label in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupCriterionLabel(GetAdGroupCriterionLabelRequest) returns (google.ads.googleads.v9.resources.AdGroupCriterionLabel) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupCriterionLabels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates and removes ad group criterion labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupCriterionLabels(MutateAdGroupCriterionLabelsRequest) returns (MutateAdGroupCriterionLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupCriterionLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCriterionLabelService.GetAdGroupCriterionLabel][google.ads.googleads.v9.services.AdGroupCriterionLabelService.GetAdGroupCriterionLabel]. +message GetAdGroupCriterionLabelRequest { + // Required. The resource name of the ad group criterion label to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionLabel" + } + ]; +} + +// Request message for +// [AdGroupCriterionLabelService.MutateAdGroupCriterionLabels][google.ads.googleads.v9.services.AdGroupCriterionLabelService.MutateAdGroupCriterionLabels]. +message MutateAdGroupCriterionLabelsRequest { + // Required. ID of the customer whose ad group criterion labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group criterion labels. + repeated AdGroupCriterionLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group criterion label. +message AdGroupCriterionLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v9.resources.AdGroupCriterionLabel create = 1; + + // Remove operation: A resource name for the ad group criterion label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_service.proto new file mode 100644 index 00000000..cf063a2b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_service.proto @@ -0,0 +1,194 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Criterion service. + +// Service to manage ad group criteria. +service AdGroupCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested criterion in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupCriterion(GetAdGroupCriterionRequest) returns (google.ads.googleads.v9.resources.AdGroupCriterion) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupCriteria/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupCriterionError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupCriterionService.GetAdGroupCriterion][google.ads.googleads.v9.services.AdGroupCriterionService.GetAdGroupCriterion]. +message GetAdGroupCriterionRequest { + // Required. The resource name of the criterion to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterion" + } + ]; +} + +// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v9.services.AdGroupCriterionService.MutateAdGroupCriteria]. +message MutateAdGroupCriteriaRequest { + // Required. ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated AdGroupCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on an ad group criterion. +message AdGroupCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The list of policy violation keys that should not cause a + // PolicyViolationError to be reported. Not all policy violations are + // exemptable, please 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.v9.common.PolicyViolationKey exempt_policy_violation_keys = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v9.resources.AdGroupCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AdGroupCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated ad group criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupCriterion ad_group_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_simulation_service.proto new file mode 100644 index 00000000..97051e3d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_criterion_simulation_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_criterion_simulation.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCriterionSimulationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupCriterionSimulation service. + +// Service to fetch ad group criterion simulations. +service AdGroupCriterionSimulationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group criterion simulation in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupCriterionSimulation(GetAdGroupCriterionSimulationRequest) returns (google.ads.googleads.v9.resources.AdGroupCriterionSimulation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupCriterionSimulations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation][google.ads.googleads.v9.services.AdGroupCriterionSimulationService.GetAdGroupCriterionSimulation]. +message GetAdGroupCriterionSimulationRequest { + // Required. The resource name of the ad group criterion simulation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupCriterionSimulation" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_customizer_service.proto new file mode 100644 index 00000000..244910af --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_customizer_service.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupCustomizer service. + +// Service to manage ad group customizer +service AdGroupCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes ad group customizers. Operation statuses are + // returned. + rpc MutateAdGroupCustomizers(MutateAdGroupCustomizersRequest) returns (MutateAdGroupCustomizersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupCustomizerService.MutateAdGroupCustomizers][google.ads.googleads.v9.services.AdGroupCustomizerService.MutateAdGroupCustomizers]. +message MutateAdGroupCustomizersRequest { + // Required. The ID of the customer whose ad group customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group customizers. + repeated AdGroupCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message AdGroupCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // customizer + google.ads.googleads.v9.resources.AdGroupCustomizer create = 1; + + // Remove operation: A resource name for the removed ad group customizer is + // expected, in this format: + // `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated AdGroupCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupCustomizer ad_group_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_extension_setting_service.proto new file mode 100644 index 00000000..1c9e25ea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_extension_setting_service.proto @@ -0,0 +1,183 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupExtensionSetting service. + +// Service to manage ad group extension settings. +service AdGroupExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group extension setting in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupExtensionSetting(GetAdGroupExtensionSettingRequest) returns (google.ads.googleads.v9.resources.AdGroupExtensionSetting) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupExtensionSettings/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad group extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroupExtensionSettings(MutateAdGroupExtensionSettingsRequest) returns (MutateAdGroupExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AdGroupExtensionSettingService.GetAdGroupExtensionSetting][google.ads.googleads.v9.services.AdGroupExtensionSettingService.GetAdGroupExtensionSetting]. +message GetAdGroupExtensionSettingRequest { + // Required. The resource name of the ad group extension setting to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupExtensionSetting" + } + ]; +} + +// Request message for +// [AdGroupExtensionSettingService.MutateAdGroupExtensionSettings][google.ads.googleads.v9.services.AdGroupExtensionSettingService.MutateAdGroupExtensionSettings]. +message MutateAdGroupExtensionSettingsRequest { + // Required. The ID of the customer whose ad group extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group extension + // settings. + repeated AdGroupExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on an ad group extension setting. +message AdGroupExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // extension setting. + google.ads.googleads.v9.resources.AdGroupExtensionSetting create = 1; + + // Update operation: The ad group extension setting is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.AdGroupExtensionSetting update = 2; + + // Remove operation: A resource name for the removed ad group extension + // setting is expected, in this format: + // + // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated AdGroupExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupExtensionSetting ad_group_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_feed_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_feed_service.proto new file mode 100644 index 00000000..04318221 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_feed_service.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupFeedServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupFeed service. + +// Service to manage ad group feeds. +service AdGroupFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group feed in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupFeed(GetAdGroupFeedRequest) returns (google.ads.googleads.v9.resources.AdGroupFeed) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupFeeds/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad group feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdGroupFeedError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupFeedService.GetAdGroupFeed][google.ads.googleads.v9.services.AdGroupFeedService.GetAdGroupFeed]. +message GetAdGroupFeedRequest { + // Required. The resource name of the ad group feed to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupFeed" + } + ]; +} + +// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v9.services.AdGroupFeedService.MutateAdGroupFeeds]. +message MutateAdGroupFeedsRequest { + // Required. The ID of the customer whose ad group feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad group feeds. + repeated AdGroupFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group feed. +message AdGroupFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group feed. + google.ads.googleads.v9.resources.AdGroupFeed create = 1; + + // Update operation: The ad group feed is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AdGroupFeed update = 2; + + // Remove operation: A resource name for the removed ad group feed is + // expected, in this format: + // + // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated ad group feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroupFeed ad_group_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_label_service.proto new file mode 100644 index 00000000..6ad8aec6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_label_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupLabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group Label service. + +// Service to manage labels on ad groups. +service AdGroupLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group label in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupLabel(GetAdGroupLabelRequest) returns (google.ads.googleads.v9.resources.AdGroupLabel) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupLabels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates and removes ad group labels. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdGroupLabels(MutateAdGroupLabelsRequest) returns (MutateAdGroupLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroupLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupLabelService.GetAdGroupLabel][google.ads.googleads.v9.services.AdGroupLabelService.GetAdGroupLabel]. +message GetAdGroupLabelRequest { + // Required. The resource name of the ad group label to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupLabel" + } + ]; +} + +// Request message for [AdGroupLabelService.MutateAdGroupLabels][google.ads.googleads.v9.services.AdGroupLabelService.MutateAdGroupLabels]. +message MutateAdGroupLabelsRequest { + // Required. ID of the customer whose ad group labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on ad group labels. + repeated AdGroupLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an ad group label. +message AdGroupLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group + // label. + google.ads.googleads.v9.resources.AdGroupLabel create = 1; + + // Remove operation: A resource name for the ad group label + // being removed, in this format: + // + // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_service.proto new file mode 100644 index 00000000..132d2926 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_service.proto @@ -0,0 +1,178 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Group service. + +// Service to manage ad groups. +service AdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroup(GetAdGroupRequest) returns (google.ads.googleads.v9.resources.AdGroup) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroups/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad groups. Operation statuses are returned. + // + // List of thrown errors: + // [AdGroupError]() + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MultiplierError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdGroupService.GetAdGroup][google.ads.googleads.v9.services.AdGroupService.GetAdGroup]. +message GetAdGroupRequest { + // Required. The resource name of the ad group to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroup" + } + ]; +} + +// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v9.services.AdGroupService.MutateAdGroups]. +message MutateAdGroupsRequest { + // Required. The ID of the customer whose ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad groups. + repeated AdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an ad group. +message AdGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad group. + google.ads.googleads.v9.resources.AdGroup create = 1; + + // Update operation: The ad group is expected to have a valid resource name. + google.ads.googleads.v9.resources.AdGroup update = 2; + + // Remove operation: A resource name for the removed ad group is expected, + // in this format: + // + // `customers/{customer_id}/adGroups/{ad_group_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated ad group with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdGroup ad_group = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_group_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_simulation_service.proto new file mode 100644 index 00000000..32f89168 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_group_simulation_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_group_simulation.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdGroupSimulationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdGroupSimulation service. + +// Service to fetch ad group simulations. +service AdGroupSimulationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad group simulation in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdGroupSimulation(GetAdGroupSimulationRequest) returns (google.ads.googleads.v9.resources.AdGroupSimulation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adGroupSimulations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AdGroupSimulationService.GetAdGroupSimulation][google.ads.googleads.v9.services.AdGroupSimulationService.GetAdGroupSimulation]. +message GetAdGroupSimulationRequest { + // Required. The resource name of the ad group simulation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdGroupSimulation" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_parameter_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_parameter_service.proto new file mode 100644 index 00000000..84162255 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_parameter_service.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad_parameter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdParameterServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad Parameter service. + +// Service to manage ad parameters. +service AdParameterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad parameter in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdParameter(GetAdParameterRequest) returns (google.ads.googleads.v9.resources.AdParameter) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adParameters/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes ad parameters. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdParameterError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateAdParameters(MutateAdParametersRequest) returns (MutateAdParametersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/adParameters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdParameterService.GetAdParameter][google.ads.googleads.v9.services.AdParameterService.GetAdParameter] +message GetAdParameterRequest { + // Required. The resource name of the ad parameter to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdParameter" + } + ]; +} + +// Request message for [AdParameterService.MutateAdParameters][google.ads.googleads.v9.services.AdParameterService.MutateAdParameters] +message MutateAdParametersRequest { + // Required. The ID of the customer whose ad parameters are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ad parameters. + repeated AdParameterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on ad parameter. +message AdParameterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new ad parameter. + google.ads.googleads.v9.resources.AdParameter create = 1; + + // Update operation: The ad parameter is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AdParameter update = 2; + + // Remove operation: A resource name for the ad parameter to remove is + // expected in this format: + // + // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated AdParameter with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AdParameter ad_parameter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_schedule_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_schedule_view_service.proto new file mode 100644 index 00000000..64a9dd96 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_schedule_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/ad_schedule_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdScheduleViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AdSchedule View service. + +// Service to fetch ad schedule views. +service AdScheduleViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad schedule view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAdScheduleView(GetAdScheduleViewRequest) returns (google.ads.googleads.v9.resources.AdScheduleView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/adScheduleViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AdScheduleViewService.GetAdScheduleView][google.ads.googleads.v9.services.AdScheduleViewService.GetAdScheduleView]. +message GetAdScheduleViewRequest { + // Required. The resource name of the ad schedule view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AdScheduleView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/ad_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/ad_service.proto new file mode 100644 index 00000000..eea1077b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/ad_service.proto @@ -0,0 +1,184 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/policy.proto"; +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/ad.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AdServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Ad service. + +// Service to manage ads. +service AdService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested ad in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAd(GetAdRequest) returns (google.ads.googleads.v9.resources.Ad) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/ads/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. + // + // List of thrown errors: + // [AdCustomizerError]() + // [AdError]() + // [AdSharingError]() + // [AdxError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedAttributeReferenceError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [ImageError]() + // [InternalError]() + // [ListOperationError]() + // [MediaBundleError]() + // [MediaFileError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [PolicyFindingError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/ads:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AdService.GetAd][google.ads.googleads.v9.services.AdService.GetAd]. +message GetAdRequest { + // Required. The resource name of the ad to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Ad" + } + ]; +} + +// Request message for [AdService.MutateAds][google.ads.googleads.v9.services.AdService.MutateAds]. +message MutateAdsRequest { + // Required. The ID of the customer whose ads are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual ads. + repeated AdOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single update operation on an ad. +message AdOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // Configuration for how policies are validated. + google.ads.googleads.v9.common.PolicyValidationParameter policy_validation_parameter = 3; + + // The mutate operation. + oneof operation { + // Update operation: The ad is expected to have a valid resource name + // in this format: + // + // `customers/{customer_id}/ads/{ad_id}` + google.ads.googleads.v9.resources.Ad update = 1; + } +} + +// Response message for an ad mutate. +message MutateAdsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated ad with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Ad ad = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/age_range_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/age_range_view_service.proto new file mode 100644 index 00000000..901fd778 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/age_range_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/age_range_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AgeRangeViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Age Range View service. + +// Service to manage age range views. +service AgeRangeViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested age range view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAgeRangeView(GetAgeRangeViewRequest) returns (google.ads.googleads.v9.resources.AgeRangeView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/ageRangeViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AgeRangeViewService.GetAgeRangeView][google.ads.googleads.v9.services.AgeRangeViewService.GetAgeRangeView]. +message GetAgeRangeViewRequest { + // Required. The resource name of the age range view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AgeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_field_type_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_field_type_view_service.proto new file mode 100644 index 00000000..627e8346 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_field_type_view_service.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/asset_field_type_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetFieldTypeViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetFieldTypeView service. + +// Service to fetch asset field type views. +service AssetFieldTypeViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested asset field type view in full detail. + rpc GetAssetFieldTypeView(GetAssetFieldTypeViewRequest) returns (google.ads.googleads.v9.resources.AssetFieldTypeView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/assetFieldTypeViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [AssetFieldTypeViewService.GetAssetFieldTypeView][google.ads.googleads.v9.services.AssetFieldTypeViewService.GetAssetFieldTypeView]. +message GetAssetFieldTypeViewRequest { + // Required. The resource name of the asset field type view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetFieldTypeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_group_asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_asset_service.proto new file mode 100644 index 00000000..21c2319e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_asset_service.proto @@ -0,0 +1,130 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/asset_group_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupAssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetGroupAsset service. + +// Service to manage asset group asset. +service AssetGroupAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested asset group asset in full detail. + rpc GetAssetGroupAsset(GetAssetGroupAssetRequest) returns (google.ads.googleads.v9.resources.AssetGroupAsset) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/assetGroupAssets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates or removes asset group assets. Operation statuses are + // returned. + rpc MutateAssetGroupAssets(MutateAssetGroupAssetsRequest) returns (MutateAssetGroupAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assetGroupAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupAssetService.GetAssetGroupAsset][google.ads.googleads.v9.services.AssetGroupAssetService.GetAssetGroupAsset]. +message GetAssetGroupAssetRequest { + // Required. The resource name of the asset group asset to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroupAsset" + } + ]; +} + +// Request message for [AssetGroupAssetService.MutateAssetGroupAssets][google.ads.googleads.v9.services.AssetGroupAssetService.MutateAssetGroupAssets]. +message MutateAssetGroupAssetsRequest { + // Required. The ID of the customer whose asset group assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group assets. + repeated AssetGroupAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group asset. +message AssetGroupAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // asset + google.ads.googleads.v9.resources.AssetGroupAsset create = 1; + + // Update operation: The asset group asset sis expected to have a valid + // resource name. + google.ads.googleads.v9.resources.AssetGroupAsset update = 2; + + // Remove operation: A resource name for the removed asset group asset is + // expected, in this format: + // `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` + string remove = 3; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_group_listing_group_filter_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_listing_group_filter_service.proto new file mode 100644 index 00000000..2af55969 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_listing_group_filter_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupListingGroupFilterServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetGroupListingGroupFilter service. + +// Service to manage asset group listing group filter. +service AssetGroupListingGroupFilterService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset group listing group filters. Operation + // statuses are returned. + rpc MutateAssetGroupListingGroupFilters(MutateAssetGroupListingGroupFiltersRequest) returns (MutateAssetGroupListingGroupFiltersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assetGroupListingGroupFilters:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters][google.ads.googleads.v9.services.AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters]. +// partial_failure is not supported because the tree needs to be validated +// together. +message MutateAssetGroupListingGroupFiltersRequest { + // Required. The ID of the customer whose asset group listing group filters are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset group listing group + // filters. + repeated AssetGroupListingGroupFilterOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on an asset group listing group filter. +message AssetGroupListingGroupFilterOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + // listing group filter. + google.ads.googleads.v9.resources.AssetGroupListingGroupFilter create = 1; + + // Update operation: The asset group listing group filter is expected to + // have a valid resource name. + google.ads.googleads.v9.resources.AssetGroupListingGroupFilter update = 2; + + // Remove operation: A resource name for the removed asset group listing + // group filter is expected, in this format: + // `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` + // An entity can be removed only if it's not referenced by other + // parent_listing_group_id. If multiple entities are being deleted, the + // mutates must be in the correct order. + string remove = 3; + } +} + +// 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; + + // The mutated AssetGroupListingGroupFilter with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_group_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_service.proto new file mode 100644 index 00000000..3b98f6d2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_group_service.proto @@ -0,0 +1,123 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/asset_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetGroupServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetGroup service. + +// Service to manage asset group +service AssetGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested asset group in full detail. + rpc GetAssetGroup(GetAssetGroupRequest) returns (google.ads.googleads.v9.resources.AssetGroup) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/assetGroups/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates or removes asset groups. Operation statuses are + // returned. + rpc MutateAssetGroups(MutateAssetGroupsRequest) returns (MutateAssetGroupsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assetGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetGroupService.GetAssetGroup][google.ads.googleads.v9.services.AssetGroupService.GetAssetGroup]. +message GetAssetGroupRequest { + // Required. The resource name of the asset group to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/AssetGroup" + } + ]; +} + +// Request message for [AssetGroupService.MutateAssetGroups][google.ads.googleads.v9.services.AssetGroupService.MutateAssetGroups]. +message MutateAssetGroupsRequest { + // Required. The ID of the customer whose asset groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset groups. + repeated AssetGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an asset group. +message AssetGroupOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset group + google.ads.googleads.v9.resources.AssetGroup create = 1; + + // Update operation: The asset group is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AssetGroup update = 2; + + // Remove operation: A resource name for the removed asset group is + // expected, in this format: + // `customers/{customer_id}/assetGroups/{asset_group_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_service.proto new file mode 100644 index 00000000..9a841de2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_service.proto @@ -0,0 +1,175 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Asset service. + +// Service to manage assets. Asset types can be created with AssetService are +// YoutubeVideoAsset, MediaBundleAsset and ImageAsset. TextAsset should be +// created with Ad inline. +service AssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested asset in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetAsset(GetAssetRequest) returns (google.ads.googleads.v9.resources.Asset) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/assets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates assets. Operation statuses are returned. + // + // List of thrown errors: + // [AssetError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MediaUploadError]() + // [MutateError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + // [YoutubeVideoRegistrationError]() + rpc MutateAssets(MutateAssetsRequest) returns (MutateAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetService.GetAsset][google.ads.googleads.v9.services.AssetService.GetAsset] +message GetAssetRequest { + // Required. The resource name of the asset to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Asset" + } + ]; +} + +// Request message for [AssetService.MutateAssets][google.ads.googleads.v9.services.AssetService.MutateAssets] +message MutateAssetsRequest { + // Required. The ID of the customer whose assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual assets. + repeated AssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation to create an asset. Supported asset types are +// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, and LeadFormAsset. TextAsset +// should be created with Ad inline. +message AssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset. + google.ads.googleads.v9.resources.Asset create = 1; + + // Update operation: The asset is expected to have a valid resource name in + // this format: + // + // `customers/{customer_id}/assets/{asset_id}` + google.ads.googleads.v9.resources.Asset update = 2; + } +} + +// Response message for an asset mutate. +message MutateAssetsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated asset with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Asset asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_set_asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_set_asset_service.proto new file mode 100644 index 00000000..c89b229a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_set_asset_service.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/asset_set_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetAssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetSetAsset service. + +// Service to manage asset set asset. +service AssetSetAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset set assets. Operation statuses are + // returned. + rpc MutateAssetSetAssets(MutateAssetSetAssetsRequest) returns (MutateAssetSetAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assetSetAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetAssetService.MutateAssetSetAssets][google.ads.googleads.v9.services.AssetSetAssetService.MutateAssetSetAssets]. +message MutateAssetSetAssetsRequest { + // Required. The ID of the customer whose asset set assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset set assets. + repeated AssetSetAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set asset. +message AssetSetAssetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + // asset + google.ads.googleads.v9.resources.AssetSetAsset create = 1; + + // Remove operation: A resource name for the removed asset set asset is + // expected, in this format: + // `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated asset set asset with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AssetSetAsset asset_set_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/asset_set_service.proto new file mode 100644 index 00000000..772851f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/asset_set_service.proto @@ -0,0 +1,118 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/asset_set.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the AssetSet service. + +// Service to manage asset set +service AssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes asset sets. Operation statuses are + // returned. + rpc MutateAssetSets(MutateAssetSetsRequest) returns (MutateAssetSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/assetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [AssetSetService.MutateAssetSets][google.ads.googleads.v9.services.AssetSetService.MutateAssetSets]. +message MutateAssetSetsRequest { + // Required. The ID of the customer whose asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual asset sets. + repeated AssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an asset set. +message AssetSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new asset set + google.ads.googleads.v9.resources.AssetSet create = 1; + + // Update operation: The asset set is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.AssetSet update = 2; + + // Remove operation: A resource name for the removed asset set is + // expected, in this format: + // `customers/{customer_id}/assetSets/{asset_set_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated asset set with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.AssetSet asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/batch_job_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/batch_job_service.proto new file mode 100644 index 00000000..aa63d7b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/batch_job_service.proto @@ -0,0 +1,286 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/batch_job.proto"; +import "google/ads/googleads/v9/services/google_ads_service.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BatchJobServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the BatchJobService. + +// Service to manage batch jobs. +service BatchJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Mutates a batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateBatchJob(MutateBatchJobRequest) returns (MutateBatchJobResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/batchJobs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetBatchJob(GetBatchJobRequest) returns (google.ads.googleads.v9.resources.BatchJob) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/batchJobs/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns the results of the batch job. The job must be done. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListBatchJobResults(ListBatchJobResultsRequest) returns (ListBatchJobResultsResponse) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/batchJobs/*}:listResults" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Runs the batch job. + // + // The Operation.metadata field type is BatchJobMetadata. When finished, the + // long running operation will not contain errors or a response. Instead, use + // ListBatchJobResults to get the results of the job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RunBatchJob(RunBatchJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v9/{resource_name=customers/*/batchJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v9.resources.BatchJob.BatchJobMetadata" + }; + } + + // Add operations to the batch job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BatchJobError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc AddBatchJobOperations(AddBatchJobOperationsRequest) returns (AddBatchJobOperationsResponse) { + option (google.api.http) = { + post: "/v9/{resource_name=customers/*/batchJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,sequence_token,mutate_operations"; + option (google.api.method_signature) = "resource_name,mutate_operations"; + } +} + +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v9.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobRequest { + // Required. The ID of the customer for which to create a batch job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on an individual batch job. + BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a batch job. +message BatchJobOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new batch job. + google.ads.googleads.v9.resources.BatchJob create = 1; + } +} + +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v9.services.BatchJobService.MutateBatchJob]. +message MutateBatchJobResponse { + // The result for the mutate. + MutateBatchJobResult result = 1; +} + +// The result for the batch job mutate. +message MutateBatchJobResult { + // The resource name of the batch job. + string resource_name = 1; +} + +// Request message for [BatchJobService.GetBatchJob][google.ads.googleads.v9.services.BatchJobService.GetBatchJob]. +message GetBatchJobRequest { + // Required. The resource name of the batch job to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v9.services.BatchJobService.RunBatchJob]. +message RunBatchJobRequest { + // Required. The resource name of the BatchJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; +} + +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v9.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsRequest { + // Required. The resource name of the batch job. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // A token used to enforce sequencing. + // + // The first AddBatchJobOperations request for a batch job should not set + // sequence_token. Subsequent requests must set sequence_token to the value of + // next_sequence_token received in the previous AddBatchJobOperations + // response. + string sequence_token = 2; + + // Required. The list of mutates being added. + // + // Operations can use negative integers as temp ids to signify dependencies + // between entities created in this batch job. For example, a customer with + // id = 1234 can create a campaign and an ad group in that same campaign by + // creating a campaign in the first operation with the resource name + // explicitly set to "customers/1234/campaigns/-1", and creating an ad group + // in the second operation with the campaign field also set to + // "customers/1234/campaigns/-1". + repeated MutateOperation mutate_operations = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v9.services.BatchJobService.AddBatchJobOperations]. +message AddBatchJobOperationsResponse { + // The total number of operations added so far for this batch job. + int64 total_operations = 1; + + // The sequence token to be used when calling AddBatchJobOperations again if + // more operations need to be added. The next AddBatchJobOperations request + // must set the sequence_token field to the value of this field. + string next_sequence_token = 2; +} + +// Request message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v9.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsRequest { + // Required. The resource name of the batch job whose results are being listed. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BatchJob" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// Response message for [BatchJobService.ListBatchJobResults][google.ads.googleads.v9.services.BatchJobService.ListBatchJobResults]. +message ListBatchJobResultsResponse { + // The list of rows that matched the query. + repeated BatchJobResult results = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} + +// An individual batch job result. +message BatchJobResult { + // Index of the mutate operation. + int64 operation_index = 1; + + // Response for the mutate. + // May be empty if errors occurred. + MutateOperationResponse mutate_operation_response = 2; + + // Details of the errors when processing the operation. + google.rpc.Status status = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/bidding_data_exclusion_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/bidding_data_exclusion_service.proto new file mode 100644 index 00000000..0e1decea --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/bidding_data_exclusion_service.proto @@ -0,0 +1,141 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/bidding_data_exclusion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingDataExclusionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to manage bidding data exclusions. +service BiddingDataExclusionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested data exclusion in full detail. + rpc GetBiddingDataExclusion(GetBiddingDataExclusionRequest) returns (google.ads.googleads.v9.resources.BiddingDataExclusion) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/biddingDataExclusions/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes data exclusions. + // Operation statuses are returned. + rpc MutateBiddingDataExclusions(MutateBiddingDataExclusionsRequest) returns (MutateBiddingDataExclusionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/biddingDataExclusions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingDataExclusionService.GetBiddingDataExclusion][google.ads.googleads.v9.services.BiddingDataExclusionService.GetBiddingDataExclusion]. +message GetBiddingDataExclusionRequest { + // Required. The resource name of the data exclusion to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingDataExclusion" + } + ]; +} + +// Request message for +// [BiddingDataExclusionService.MutateBiddingDataExclusions][google.ads.googleads.v9.services.BiddingDataExclusionService.MutateBiddingDataExclusions]. +message MutateBiddingDataExclusionsRequest { + // Required. ID of the customer whose data exclusions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual data exclusions. + repeated BiddingDataExclusionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a data exclusion. +message BiddingDataExclusionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new data + // exclusion. + google.ads.googleads.v9.resources.BiddingDataExclusion create = 1; + + // Update operation: The data exclusion is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.BiddingDataExclusion update = 2; + + // Remove operation: A resource name for the removed data exclusion + // is expected, in this format: + // + // `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated bidding data exclusion with only mutable fields after mutate. + // The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.BiddingDataExclusion bidding_data_exclusion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/bidding_seasonality_adjustment_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/bidding_seasonality_adjustment_service.proto new file mode 100644 index 00000000..27dd20e2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/bidding_seasonality_adjustment_service.proto @@ -0,0 +1,141 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingSeasonalityAdjustmentServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to manage bidding seasonality adjustments. +service BiddingSeasonalityAdjustmentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested seasonality adjustment in full detail. + rpc GetBiddingSeasonalityAdjustment(GetBiddingSeasonalityAdjustmentRequest) returns (google.ads.googleads.v9.resources.BiddingSeasonalityAdjustment) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/biddingSeasonalityAdjustments/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes seasonality adjustments. + // Operation statuses are returned. + rpc MutateBiddingSeasonalityAdjustments(MutateBiddingSeasonalityAdjustmentsRequest) returns (MutateBiddingSeasonalityAdjustmentsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/biddingSeasonalityAdjustments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.GetBiddingSeasonalityAdjustment][google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.GetBiddingSeasonalityAdjustment]. +message GetBiddingSeasonalityAdjustmentRequest { + // Required. The resource name of the seasonality adjustment to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingSeasonalityAdjustment" + } + ]; +} + +// Request message for +// [BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments][google.ads.googleads.v9.services.BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments]. +message MutateBiddingSeasonalityAdjustmentsRequest { + // Required. ID of the customer whose seasonality adjustments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual seasonality adjustments. + repeated BiddingSeasonalityAdjustmentOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a seasonality adjustment. +message BiddingSeasonalityAdjustmentOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new seasonality + // adjustment. + google.ads.googleads.v9.resources.BiddingSeasonalityAdjustment create = 1; + + // Update operation: The seasonality adjustment is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.BiddingSeasonalityAdjustment update = 2; + + // Remove operation: A resource name for the removed seasonality adjustment + // is expected, in this format: + // + // `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated bidding seasonality adjustment with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_service.proto new file mode 100644 index 00000000..043bb65d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_service.proto @@ -0,0 +1,177 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/bidding_strategy.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategyServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Bidding Strategy service. + +// Service to manage bidding strategies. +service BiddingStrategyService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested bidding strategy in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetBiddingStrategy(GetBiddingStrategyRequest) returns (google.ads.googleads.v9.resources.BiddingStrategy) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/biddingStrategies/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes bidding strategies. Operation statuses are + // returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/biddingStrategies:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [BiddingStrategyService.GetBiddingStrategy][google.ads.googleads.v9.services.BiddingStrategyService.GetBiddingStrategy]. +message GetBiddingStrategyRequest { + // Required. The resource name of the bidding strategy to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategy" + } + ]; +} + +// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v9.services.BiddingStrategyService.MutateBiddingStrategies]. +message MutateBiddingStrategiesRequest { + // Required. The ID of the customer whose bidding strategies are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual bidding strategies. + repeated BiddingStrategyOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a bidding strategy. +message BiddingStrategyOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new bidding + // strategy. + google.ads.googleads.v9.resources.BiddingStrategy create = 1; + + // Update operation: The bidding strategy is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.BiddingStrategy update = 2; + + // Remove operation: A resource name for the removed bidding strategy is + // expected, in this format: + // + // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated bidding strategy with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.BiddingStrategy bidding_strategy = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_simulation_service.proto new file mode 100644 index 00000000..a6637a24 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/bidding_strategy_simulation_service.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/bidding_strategy_simulation.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BiddingStrategySimulationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the BiddingStrategySimulation service. + +// Service to fetch bidding strategy simulations. +service BiddingStrategySimulationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested bidding strategy simulation in full detail. + rpc GetBiddingStrategySimulation(GetBiddingStrategySimulationRequest) returns (google.ads.googleads.v9.resources.BiddingStrategySimulation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/biddingStrategySimulations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [BiddingStrategySimulationService.GetBiddingStrategySimulation][google.ads.googleads.v9.services.BiddingStrategySimulationService.GetBiddingStrategySimulation]. +message GetBiddingStrategySimulationRequest { + // Required. The resource name of the bidding strategy simulation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BiddingStrategySimulation" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/billing_setup_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/billing_setup_service.proto new file mode 100644 index 00000000..eb6f5cfc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/billing_setup_service.proto @@ -0,0 +1,136 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/billing_setup.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "BillingSetupServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the BillingSetup service. + +// A service for designating the business entity responsible for accrued costs. +// +// A billing setup is associated with a payments account. Billing-related +// activity for all billing setups associated with a particular payments account +// will appear on a single invoice generated monthly. +// +// Mutates: +// The REMOVE operation cancels a pending billing setup. +// The CREATE operation creates a new billing setup. +service BillingSetupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns a billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetBillingSetup(GetBillingSetupRequest) returns (google.ads.googleads.v9.resources.BillingSetup) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/billingSetups/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates a billing setup, or cancels an existing billing setup. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [BillingSetupError]() + // [DateError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/billingSetups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [BillingSetupService.GetBillingSetup][google.ads.googleads.v9.services.BillingSetupService.GetBillingSetup]. +message GetBillingSetupRequest { + // Required. The resource name of the billing setup to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/BillingSetup" + } + ]; +} + +// Request message for billing setup mutate operations. +message MutateBillingSetupRequest { + // Required. Id of the customer to apply the billing setup mutate operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform. + BillingSetupOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation on a billing setup, which describes the cancellation of an +// existing billing setup. +message BillingSetupOperation { + // Only one of these operations can be set. "Update" operations are not + // supported. + oneof operation { + // Creates a billing setup. No resource name is expected for the new billing + // setup. + google.ads.googleads.v9.resources.BillingSetup create = 2; + + // Resource name of the billing setup to remove. A setup cannot be + // removed unless it is in a pending state or its scheduled start time is in + // the future. The resource name looks like + // `customers/{customer_id}/billingSetups/{billing_id}`. + string remove = 1; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_service.proto new file mode 100644 index 00000000..1d44e100 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_service.proto @@ -0,0 +1,163 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignAsset service. + +// Service to manage campaign assets. +service CampaignAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign asset in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignAsset(GetCampaignAssetRequest) returns (google.ads.googleads.v9.resources.CampaignAsset) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignAssets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NotAllowlistedError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignAssets(MutateCampaignAssetsRequest) returns (MutateCampaignAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetService.GetCampaignAsset][google.ads.googleads.v9.services.CampaignAssetService.GetCampaignAsset]. +message GetCampaignAssetRequest { + // Required. The resource name of the campaign asset to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAsset" + } + ]; +} + +// Request message for [CampaignAssetService.MutateCampaignAssets][google.ads.googleads.v9.services.CampaignAssetService.MutateCampaignAssets]. +message MutateCampaignAssetsRequest { + // Required. The ID of the customer whose campaign assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign assets. + repeated CampaignAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign asset. +message CampaignAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // asset. + google.ads.googleads.v9.resources.CampaignAsset create = 1; + + // Update operation: The campaign asset is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.CampaignAsset update = 3; + + // Remove operation: A resource name for the removed campaign asset is + // expected, in this format: + // + // `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated campaign asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignAsset campaign_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_set_service.proto new file mode 100644 index 00000000..c1956d00 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_asset_set_service.proto @@ -0,0 +1,112 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_asset_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAssetSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignAssetSet service. + +// Service to manage campaign asset set +service CampaignAssetSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign asset sets. Operation statuses are + // returned. + rpc MutateCampaignAssetSets(MutateCampaignAssetSetsRequest) returns (MutateCampaignAssetSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignAssetSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignAssetSetService.MutateCampaignAssetSets][google.ads.googleads.v9.services.CampaignAssetSetService.MutateCampaignAssetSets]. +message MutateCampaignAssetSetsRequest { + // Required. The ID of the customer whose campaign asset sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign asset sets. + repeated CampaignAssetSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a campaign asset set. +message CampaignAssetSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign asset + // set. + google.ads.googleads.v9.resources.CampaignAssetSet create = 1; + + // Remove operation: A resource name for the removed campaign asset set is + // expected, in this format: + // `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated campaign asset set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignAssetSet campaign_asset_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_audience_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_audience_view_service.proto new file mode 100644 index 00000000..15f24521 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_audience_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/campaign_audience_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignAudienceViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Audience View service. + +// Service to manage campaign audience views. +service CampaignAudienceViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign audience view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignAudienceView(GetCampaignAudienceViewRequest) returns (google.ads.googleads.v9.resources.CampaignAudienceView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignAudienceViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignAudienceViewService.GetCampaignAudienceView][google.ads.googleads.v9.services.CampaignAudienceViewService.GetCampaignAudienceView]. +message GetCampaignAudienceViewRequest { + // Required. The resource name of the campaign audience view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignAudienceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_bid_modifier_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_bid_modifier_service.proto new file mode 100644 index 00000000..9f8b9974 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_bid_modifier_service.proto @@ -0,0 +1,174 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_bid_modifier.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBidModifierServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Bid Modifier service. + +// Service to manage campaign bid modifiers. +service CampaignBidModifierService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign bid modifier in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignBidModifier(GetCampaignBidModifierRequest) returns (google.ads.googleads.v9.resources.CampaignBidModifier) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignBidModifiers/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign bid modifiers. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignBidModifiers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignBidModifierService.GetCampaignBidModifier][google.ads.googleads.v9.services.CampaignBidModifierService.GetCampaignBidModifier]. +message GetCampaignBidModifierRequest { + // Required. The resource name of the campaign bid modifier to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBidModifier" + } + ]; +} + +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v9.services.CampaignBidModifierService.MutateCampaignBidModifiers]. +message MutateCampaignBidModifiersRequest { + // Required. ID of the customer whose campaign bid modifiers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign bid modifiers. + repeated CampaignBidModifierOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a campaign bid modifier. +message CampaignBidModifierOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign bid + // modifier. + google.ads.googleads.v9.resources.CampaignBidModifier create = 1; + + // Update operation: The campaign bid modifier is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CampaignBidModifier update = 2; + + // Remove operation: A resource name for the removed campaign bid modifier + // is expected, in this format: + // + // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign bid modifier with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignBidModifier campaign_bid_modifier = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_budget_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_budget_service.proto new file mode 100644 index 00000000..efd8d2c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_budget_service.proto @@ -0,0 +1,167 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_budget.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignBudgetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Budget service. + +// Service to manage campaign budgets. +service CampaignBudgetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Campaign Budget in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignBudget(GetCampaignBudgetRequest) returns (google.ads.googleads.v9.resources.CampaignBudget) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignBudgets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign budgets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignBudgetError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignBudgets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignBudgetService.GetCampaignBudget][google.ads.googleads.v9.services.CampaignBudgetService.GetCampaignBudget]. +message GetCampaignBudgetRequest { + // Required. The resource name of the campaign budget to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; +} + +// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v9.services.CampaignBudgetService.MutateCampaignBudgets]. +message MutateCampaignBudgetsRequest { + // Required. The ID of the customer whose campaign budgets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign budgets. + repeated CampaignBudgetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign budget. +message CampaignBudgetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new budget. + google.ads.googleads.v9.resources.CampaignBudget create = 1; + + // Update operation: The campaign budget is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CampaignBudget update = 2; + + // Remove operation: A resource name for the removed budget is expected, in + // this format: + // + // `customers/{customer_id}/campaignBudgets/{budget_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign budget with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignBudget campaign_budget = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_conversion_goal_service.proto new file mode 100644 index 00000000..c425f6e6 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_conversion_goal_service.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/campaign_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignConversionGoal service. + +// Service to manage campaign conversion goal. +service CampaignConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign conversion goals. Operation statuses + // are returned. + rpc MutateCampaignConversionGoals(MutateCampaignConversionGoalsRequest) returns (MutateCampaignConversionGoalsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignConversionGoalService.MutateCampaignConversionGoals][google.ads.googleads.v9.services.CampaignConversionGoalService.MutateCampaignConversionGoals]. +message MutateCampaignConversionGoalsRequest { + // Required. The ID of the customer whose campaign conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign conversion goal. + repeated CampaignConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a campaign conversion goal. +message CampaignConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.CampaignConversionGoal update = 1; + } +} + +// Response message for a campaign conversion goal mutate. +message MutateCampaignConversionGoalsResponse { + // All results for the mutate. + repeated MutateCampaignConversionGoalResult results = 1; +} + +// The result for the campaign conversion goal mutate. +message MutateCampaignConversionGoalResult { + // Returned for successful operations. + string resource_name = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_service.proto new file mode 100644 index 00000000..6049d6ff --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_service.proto @@ -0,0 +1,178 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Criterion service. + +// Service to manage campaign criteria. +service CampaignCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested criterion in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignCriterion(GetCampaignCriterionRequest) returns (google.ads.googleads.v9.resources.CampaignCriterion) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignCriteria/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignCriterionError]() + // [CollectionSizeError]() + // [ContextError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignCriterionService.GetCampaignCriterion][google.ads.googleads.v9.services.CampaignCriterionService.GetCampaignCriterion]. +message GetCampaignCriterionRequest { + // Required. The resource name of the criterion to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterion" + } + ]; +} + +// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v9.services.CampaignCriterionService.MutateCampaignCriteria]. +message MutateCampaignCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CampaignCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign criterion. +message CampaignCriterionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v9.resources.CampaignCriterion create = 1; + + // Update operation: The criterion is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.CampaignCriterion update = 2; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignCriterion campaign_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_simulation_service.proto new file mode 100644 index 00000000..0b773be2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_criterion_simulation_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/campaign_criterion_simulation.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCriterionSimulationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignCriterionSimulation service. + +// Service to fetch campaign criterion simulations. +service CampaignCriterionSimulationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign criterion simulation in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignCriterionSimulation(GetCampaignCriterionSimulationRequest) returns (google.ads.googleads.v9.resources.CampaignCriterionSimulation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignCriterionSimulations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [CampaignCriterionSimulationService.GetCampaignCriterionSimulation][google.ads.googleads.v9.services.CampaignCriterionSimulationService.GetCampaignCriterionSimulation]. +message GetCampaignCriterionSimulationRequest { + // Required. The resource name of the campaign criterion simulation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignCriterionSimulation" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_customizer_service.proto new file mode 100644 index 00000000..fbfb42a0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_customizer_service.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignCustomizer service. + +// Service to manage campaign customizer +service CampaignCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes campaign customizers. Operation statuses are + // returned. + rpc MutateCampaignCustomizers(MutateCampaignCustomizersRequest) returns (MutateCampaignCustomizersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignCustomizerService.MutateCampaignCustomizers][google.ads.googleads.v9.services.CampaignCustomizerService.MutateCampaignCustomizers]. +message MutateCampaignCustomizersRequest { + // Required. The ID of the customer whose campaign customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign customizers. + repeated CampaignCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CampaignCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // customizer + google.ads.googleads.v9.resources.CampaignCustomizer create = 1; + + // Remove operation: A resource name for the removed campaign customizer is + // expected, in this format: + // `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` + string remove = 2; + } +} + +// Response message for an 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 (e.g. 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; + + // The mutated CampaignCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignCustomizer campaign_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_draft_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_draft_service.proto new file mode 100644 index 00000000..75b914c5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_draft_service.proto @@ -0,0 +1,254 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_draft.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignDraftServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Draft service. + +// Service to manage campaign drafts. +service CampaignDraftService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign draft in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignDraft(GetCampaignDraftRequest) returns (google.ads.googleads.v9.resources.CampaignDraft) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignDrafts/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign drafts. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignDrafts(MutateCampaignDraftsRequest) returns (MutateCampaignDraftsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignDrafts:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Promotes the changes in a draft back to the base campaign. + // + // This method returns a Long Running Operation (LRO) indicating if the + // Promote is done. Use [Operations.GetOperation] to poll the LRO until it + // is done. Only a done status is returned in the response. See the status + // in the Campaign Draft resource to determine if the promotion was + // successful. If the LRO failed, use + // [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v9.services.CampaignDraftService.ListCampaignDraftAsyncErrors] to view the list of + // error reasons. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignDraftError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignDraft(PromoteCampaignDraftRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v9/{campaign_draft=customers/*/campaignDrafts/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_draft"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Returns all errors that occurred during CampaignDraft promote. Throws an + // error if called before campaign draft is promoted. + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignDraftAsyncErrors(ListCampaignDraftAsyncErrorsRequest) returns (ListCampaignDraftAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignDrafts/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignDraftService.GetCampaignDraft][google.ads.googleads.v9.services.CampaignDraftService.GetCampaignDraft]. +message GetCampaignDraftRequest { + // Required. The resource name of the campaign draft to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; +} + +// Request message for [CampaignDraftService.MutateCampaignDrafts][google.ads.googleads.v9.services.CampaignDraftService.MutateCampaignDrafts]. +message MutateCampaignDraftsRequest { + // Required. The ID of the customer whose campaign drafts are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign drafts. + repeated CampaignDraftOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Request message for [CampaignDraftService.PromoteCampaignDraft][google.ads.googleads.v9.services.CampaignDraftService.PromoteCampaignDraft]. +message PromoteCampaignDraftRequest { + // Required. The resource name of the campaign draft to promote. + string campaign_draft = 1 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// A single operation (create, update, remove) on a campaign draft. +message CampaignDraftOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // draft. + google.ads.googleads.v9.resources.CampaignDraft create = 1; + + // Update operation: The campaign draft is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CampaignDraft update = 2; + + // Remove operation: The campaign draft is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign draft with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignDraft campaign_draft = 2; +} + +// Request message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v9.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsRequest { + // Required. The name of the campaign draft from which to retrieve the async errors. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignDraft" + } + ]; + + // Token of the page to retrieve. If not specified, the first + // page of results will be returned. Use the value obtained from + // `next_page_token` in the previous response in order to request + // the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When a page request is too large, the server may decide to + // further limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [CampaignDraftService.ListCampaignDraftAsyncErrors][google.ads.googleads.v9.services.CampaignDraftService.ListCampaignDraftAsyncErrors]. +message ListCampaignDraftAsyncErrorsResponse { + // Details of the errors when performing the asynchronous operation. + repeated google.rpc.Status errors = 1; + + // Pagination token used to retrieve the next page of results. + // Pass the content of this string as the `page_token` attribute of + // the next request. `next_page_token` is not returned for the last + // page. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_experiment_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_experiment_service.proto new file mode 100644 index 00000000..22198a4d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_experiment_service.proto @@ -0,0 +1,382 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExperimentServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Experiment service. + +// CampaignExperimentService manages the life cycle of campaign experiments. +// It is used to create new experiments from drafts, modify experiment +// properties, promote changes in an experiment back to its base campaign, +// graduate experiments into new stand-alone campaigns, and to remove an +// experiment. +// +// An experiment consists of two variants or arms - the base campaign and the +// experiment campaign, directing a fixed share of traffic to each arm. +// A campaign experiment is created from a draft of changes to the base campaign +// and will be a snapshot of changes in the draft at the time of creation. +service CampaignExperimentService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign experiment in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignExperiment(GetCampaignExperimentRequest) returns (google.ads.googleads.v9.resources.CampaignExperiment) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignExperiments/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates a campaign experiment based on a campaign draft. The draft campaign + // will be forked into a real campaign (called the experiment campaign) that + // will begin serving ads if successfully created. + // + // The campaign experiment is created immediately with status INITIALIZING. + // This method return a long running operation that tracks the forking of the + // draft campaign. If the forking fails, a list of errors can be retrieved + // using the ListCampaignExperimentAsyncErrors method. The operation's + // metadata will be a StringValue containing the resource name of the created + // campaign experiment. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + rpc CreateCampaignExperiment(CreateCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignExperiments:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v9.services.CreateCampaignExperimentMetadata" + }; + } + + // Updates campaign experiments. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignExperiments(MutateCampaignExperimentsRequest) returns (MutateCampaignExperimentsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignExperiments:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Graduates a campaign experiment to a full campaign. The base and experiment + // campaigns will start running independently with their own budgets. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc GraduateCampaignExperiment(GraduateCampaignExperimentRequest) returns (GraduateCampaignExperimentResponse) { + option (google.api.http) = { + post: "/v9/{campaign_experiment=customers/*/campaignExperiments/*}:graduate" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment,campaign_budget"; + } + + // Promotes the changes in a experiment campaign back to the base campaign. + // + // The campaign experiment is updated immediately with status PROMOTING. + // This method return a long running operation that tracks the promoting of + // the experiment campaign. If the promoting fails, a list of errors can be + // retrieved using the ListCampaignExperimentAsyncErrors method. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc PromoteCampaignExperiment(PromoteCampaignExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v9/{campaign_experiment=customers/*/campaignExperiments/*}:promote" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Empty" + }; + } + + // Immediately ends a campaign 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]() + // [CampaignExperimentError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc EndCampaignExperiment(EndCampaignExperimentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v9/{campaign_experiment=customers/*/campaignExperiments/*}:end" + body: "*" + }; + option (google.api.method_signature) = "campaign_experiment"; + } + + // Returns all errors that occurred during CampaignExperiment create or + // promote (whichever occurred last). + // Supports standard list paging. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListCampaignExperimentAsyncErrors(ListCampaignExperimentAsyncErrorsRequest) returns (ListCampaignExperimentAsyncErrorsResponse) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignExperiments/*}:listAsyncErrors" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CampaignExperimentService.GetCampaignExperiment][google.ads.googleads.v9.services.CampaignExperimentService.GetCampaignExperiment]. +message GetCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExperiment" + } + ]; +} + +// Request message for [CampaignExperimentService.MutateCampaignExperiments][google.ads.googleads.v9.services.CampaignExperimentService.MutateCampaignExperiments]. +message MutateCampaignExperimentsRequest { + // Required. The ID of the customer whose campaign experiments are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign experiments. + repeated CampaignExperimentOperation 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.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single update operation on a campaign experiment. +message CampaignExperimentOperation { + // 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 campaign experiment is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CampaignExperiment update = 1; + + // Remove operation: The campaign experiment is expected to have a valid + // resource name, in this format: + // + // `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` + string remove = 2; + } +} + +// Response message for campaign experiment mutate. +message MutateCampaignExperimentsResponse { + // 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 = 3; + + // All results for the mutate. + repeated MutateCampaignExperimentResult results = 2; +} + +// The result for the campaign experiment mutate. +message MutateCampaignExperimentResult { + // Returned for successful operations. + string resource_name = 1; + + // The mutated campaign experiment with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignExperiment campaign_experiment = 2; +} + +// Request message for [CampaignExperimentService.CreateCampaignExperiment][google.ads.googleads.v9.services.CampaignExperimentService.CreateCampaignExperiment]. +message CreateCampaignExperimentRequest { + // Required. The ID of the customer whose campaign experiment is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The campaign experiment to be created. + google.ads.googleads.v9.resources.CampaignExperiment campaign_experiment = 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; +} + +// Message used as metadata returned in Long Running Operations for +// CreateCampaignExperimentRequest +message CreateCampaignExperimentMetadata { + // Resource name of campaign experiment created. + string campaign_experiment = 1; +} + +// Request message for [CampaignExperimentService.GraduateCampaignExperiment][google.ads.googleads.v9.services.CampaignExperimentService.GraduateCampaignExperiment]. +message GraduateCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to graduate. + string campaign_experiment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Resource name of the budget to attach to the campaign graduated from the + // experiment. + string campaign_budget = 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; +} + +// Response message for campaign experiment graduate. +message GraduateCampaignExperimentResponse { + // The resource name of the campaign from the graduated experiment. + // This campaign is the same one as CampaignExperiment.experiment_campaign. + string graduated_campaign = 1; +} + +// Request message for [CampaignExperimentService.PromoteCampaignExperiment][google.ads.googleads.v9.services.CampaignExperimentService.PromoteCampaignExperiment]. +message PromoteCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to promote. + string campaign_experiment = 1 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but no Long Running Operation is created. + // Only errors are returned. + bool validate_only = 2; +} + +// Request message for [CampaignExperimentService.EndCampaignExperiment][google.ads.googleads.v9.services.CampaignExperimentService.EndCampaignExperiment]. +message EndCampaignExperimentRequest { + // Required. The resource name of the campaign experiment to end. + string campaign_experiment = 1 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v9.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsRequest { + // Required. The name of the campaign 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/CampaignExperiment" + } + ]; + + // 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 +// [CampaignExperimentService.ListCampaignExperimentAsyncErrors][google.ads.googleads.v9.services.CampaignExperimentService.ListCampaignExperimentAsyncErrors]. +message ListCampaignExperimentAsyncErrorsResponse { + // 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/google-cloud/protos/google/ads/googleads/v9/services/campaign_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_extension_setting_service.proto new file mode 100644 index 00000000..f39232a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_extension_setting_service.proto @@ -0,0 +1,182 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignExtensionSetting service. + +// Service to manage campaign extension settings. +service CampaignExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign extension setting in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignExtensionSetting(GetCampaignExtensionSettingRequest) returns (google.ads.googleads.v9.resources.CampaignExtensionSetting) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignExtensionSettings/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaignExtensionSettings(MutateCampaignExtensionSettingsRequest) returns (MutateCampaignExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CampaignExtensionSettingService.GetCampaignExtensionSetting][google.ads.googleads.v9.services.CampaignExtensionSettingService.GetCampaignExtensionSetting]. +message GetCampaignExtensionSettingRequest { + // Required. The resource name of the campaign extension setting to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignExtensionSetting" + } + ]; +} + +// Request message for +// [CampaignExtensionSettingService.MutateCampaignExtensionSettings][google.ads.googleads.v9.services.CampaignExtensionSettingService.MutateCampaignExtensionSettings]. +message MutateCampaignExtensionSettingsRequest { + // Required. The ID of the customer whose campaign extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign extension + // settings. + repeated CampaignExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign extension setting. +message CampaignExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // extension setting. + google.ads.googleads.v9.resources.CampaignExtensionSetting create = 1; + + // Update operation: The campaign extension setting is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.CampaignExtensionSetting update = 2; + + // Remove operation: A resource name for the removed campaign extension + // setting is expected, in this format: + // + // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign extension setting with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignExtensionSetting campaign_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_feed_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_feed_service.proto new file mode 100644 index 00000000..e72851c1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_feed_service.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignFeedServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignFeed service. + +// Service to manage campaign feeds. +service CampaignFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign feed in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignFeed(GetCampaignFeedRequest) returns (google.ads.googleads.v9.resources.CampaignFeed) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignFeeds/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaign feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignFeedError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignFeedService.GetCampaignFeed][google.ads.googleads.v9.services.CampaignFeedService.GetCampaignFeed]. +message GetCampaignFeedRequest { + // Required. The resource name of the campaign feed to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignFeed" + } + ]; +} + +// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v9.services.CampaignFeedService.MutateCampaignFeeds]. +message MutateCampaignFeedsRequest { + // Required. The ID of the customer whose campaign feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign feeds. + repeated CampaignFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign feed. +message CampaignFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign feed. + google.ads.googleads.v9.resources.CampaignFeed create = 1; + + // Update operation: The campaign feed is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.CampaignFeed update = 2; + + // Remove operation: A resource name for the removed campaign feed is + // expected, in this format: + // + // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignFeed campaign_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_label_service.proto new file mode 100644 index 00000000..c493e819 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_label_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/campaign_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignLabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Label service. + +// Service to manage labels on campaigns. +service CampaignLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign-label relationship in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignLabel(GetCampaignLabelRequest) returns (google.ads.googleads.v9.resources.CampaignLabel) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignLabels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates and removes campaign-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCampaignLabels(MutateCampaignLabelsRequest) returns (MutateCampaignLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignLabelService.GetCampaignLabel][google.ads.googleads.v9.services.CampaignLabelService.GetCampaignLabel]. +message GetCampaignLabelRequest { + // Required. The resource name of the campaign-label relationship to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignLabel" + } + ]; +} + +// Request message for [CampaignLabelService.MutateCampaignLabels][google.ads.googleads.v9.services.CampaignLabelService.MutateCampaignLabels]. +message MutateCampaignLabelsRequest { + // Required. ID of the customer whose campaign-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on campaign-label relationships. + repeated CampaignLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a campaign-label relationship. +message CampaignLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign-label + // relationship. + google.ads.googleads.v9.resources.CampaignLabel create = 1; + + // Remove operation: A resource name for the campaign-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_service.proto new file mode 100644 index 00000000..5b7d380a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_service.proto @@ -0,0 +1,183 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign service. + +// Service to manage campaigns. +service CampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaign(GetCampaignRequest) returns (google.ads.googleads.v9.resources.Campaign) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaigns/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes campaigns. Operation statuses are returned. + // + // List of thrown errors: + // [AdxError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [BiddingError]() + // [BiddingStrategyError]() + // [CampaignBudgetError]() + // [CampaignError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DateRangeError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [NullError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RegionCodeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SettingError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignService.GetCampaign][google.ads.googleads.v9.services.CampaignService.GetCampaign]. +message GetCampaignRequest { + // Required. The resource name of the campaign to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; +} + +// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v9.services.CampaignService.MutateCampaigns]. +message MutateCampaignsRequest { + // Required. The ID of the customer whose campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaigns. + repeated CampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a campaign. +message CampaignOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign. + google.ads.googleads.v9.resources.Campaign create = 1; + + // Update operation: The campaign is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.Campaign update = 2; + + // Remove operation: A resource name for the removed campaign is + // expected, in this format: + // + // `customers/{customer_id}/campaigns/{campaign_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Campaign campaign = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_shared_set_service.proto new file mode 100644 index 00000000..ca8ff8c3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_shared_set_service.proto @@ -0,0 +1,164 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/campaign_shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Campaign Shared Set service. + +// Service to manage campaign shared sets. +service CampaignSharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign shared set in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCampaignSharedSet(GetCampaignSharedSetRequest) returns (google.ads.googleads.v9.resources.CampaignSharedSet) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignSharedSets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes campaign shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CampaignSharedSetError]() + // [ContextError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/campaignSharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CampaignSharedSetService.GetCampaignSharedSet][google.ads.googleads.v9.services.CampaignSharedSetService.GetCampaignSharedSet]. +message GetCampaignSharedSetRequest { + // Required. The resource name of the campaign shared set to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSharedSet" + } + ]; +} + +// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v9.services.CampaignSharedSetService.MutateCampaignSharedSets]. +message MutateCampaignSharedSetsRequest { + // Required. The ID of the customer whose campaign shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual campaign shared sets. + repeated CampaignSharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an campaign shared set. +message CampaignSharedSetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new campaign + // shared set. + google.ads.googleads.v9.resources.CampaignSharedSet create = 1; + + // Remove operation: A resource name for the removed campaign shared set is + // expected, in this format: + // + // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated campaign shared set with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CampaignSharedSet campaign_shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/campaign_simulation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/campaign_simulation_service.proto new file mode 100644 index 00000000..92833873 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/campaign_simulation_service.proto @@ -0,0 +1,60 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/campaign_simulation.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CampaignSimulationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CampaignSimulation service. + +// Service to fetch campaign simulations. +service CampaignSimulationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested campaign simulation in full detail. + rpc GetCampaignSimulation(GetCampaignSimulationRequest) returns (google.ads.googleads.v9.resources.CampaignSimulation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/campaignSimulations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [CampaignSimulationService.GetCampaignSimulation][google.ads.googleads.v9.services.CampaignSimulationService.GetCampaignSimulation]. +message GetCampaignSimulationRequest { + // Required. The resource name of the campaign simulation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignSimulation" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/carrier_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/carrier_constant_service.proto new file mode 100644 index 00000000..1047cf87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/carrier_constant_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/carrier_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CarrierConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the carrier constant service. + +// Service to fetch carrier constants. +service CarrierConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested carrier constant in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCarrierConstant(GetCarrierConstantRequest) returns (google.ads.googleads.v9.resources.CarrierConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=carrierConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CarrierConstantService.GetCarrierConstant][google.ads.googleads.v9.services.CarrierConstantService.GetCarrierConstant]. +message GetCarrierConstantRequest { + // Required. Resource name of the carrier constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CarrierConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/change_status_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/change_status_service.proto new file mode 100644 index 00000000..55056554 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/change_status_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/change_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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ChangeStatusServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Change Status service. + +// Service to fetch change statuses. +service ChangeStatusService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested change status in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetChangeStatus(GetChangeStatusRequest) returns (google.ads.googleads.v9.resources.ChangeStatus) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/changeStatus/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for '[ChangeStatusService.GetChangeStatus][google.ads.googleads.v9.services.ChangeStatusService.GetChangeStatus]'. +message GetChangeStatusRequest { + // Required. The resource name of the change status to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ChangeStatus" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/click_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/click_view_service.proto new file mode 100644 index 00000000..12567432 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/click_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/click_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ClickViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ClickView service. + +// Service to fetch click views. +service ClickViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested click view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetClickView(GetClickViewRequest) returns (google.ads.googleads.v9.resources.ClickView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/clickViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [ClickViewService.GetClickView][google.ads.googleads.v9.services.ClickViewService.GetClickView]. +message GetClickViewRequest { + // Required. The resource name of the click view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ClickView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/combined_audience_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/combined_audience_service.proto new file mode 100644 index 00000000..d5bf1503 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/combined_audience_service.proto @@ -0,0 +1,69 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/combined_audience.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CombinedAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Combined Audience service. + +// Service to manage combined audiences. This service can be used to list all +// your combined audiences with metadata, but won't show the structure and +// components of the combined audience. +service CombinedAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested combined audience in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCombinedAudience(GetCombinedAudienceRequest) returns (google.ads.googleads.v9.resources.CombinedAudience) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/combinedAudiences/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CombinedAudienceService.GetCombinedAudience][google.ads.googleads.v9.services.CombinedAudienceService.GetCombinedAudience]. +message GetCombinedAudienceRequest { + // Required. The resource name of the combined audience to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CombinedAudience" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_action_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_action_service.proto new file mode 100644 index 00000000..3f5cd493 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_action_service.proto @@ -0,0 +1,167 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/conversion_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionActionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Conversion Action service. + +// Service to manage conversion actions. +service ConversionActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested conversion action. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetConversionAction(GetConversionActionRequest) returns (google.ads.googleads.v9.resources.ConversionAction) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/conversionActions/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates or removes conversion actions. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [CurrencyCodeError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [StringLengthError]() + rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/conversionActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ConversionActionService.GetConversionAction][google.ads.googleads.v9.services.ConversionActionService.GetConversionAction]. +message GetConversionActionRequest { + // Required. The resource name of the conversion action to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + } + ]; +} + +// Request message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v9.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsRequest { + // Required. The ID of the customer whose conversion actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion actions. + repeated ConversionActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a conversion action. +message ConversionActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // action. + google.ads.googleads.v9.resources.ConversionAction create = 1; + + // Update operation: The conversion action is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.ConversionAction update = 2; + + // Remove operation: A resource name for the removed conversion action is + // expected, in this format: + // + // `customers/{customer_id}/conversionActions/{conversion_action_id}` + string remove = 3; + } +} + +// Response message for [ConversionActionService.MutateConversionActions][google.ads.googleads.v9.services.ConversionActionService.MutateConversionActions]. +message MutateConversionActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated conversion action with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ConversionAction conversion_action = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_adjustment_upload_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_adjustment_upload_service.proto new file mode 100644 index 00000000..12556b71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_adjustment_upload_service.proto @@ -0,0 +1,200 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/offline_user_data.proto"; +import "google/ads/googleads/v9/enums/conversion_adjustment_type.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionAdjustmentUploadServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to upload conversion adjustments. +service ConversionAdjustmentUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given conversion adjustments. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadConversionAdjustments(UploadConversionAdjustmentsRequest) returns (UploadConversionAdjustmentsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:uploadConversionAdjustments" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversion_adjustments,partial_failure"; + } +} + +// Request message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v9.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversion adjustments that are being uploaded. + repeated ConversionAdjustment conversion_adjustments = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried out + // in one transaction if and only if they are all valid. This should always be + // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for +// [ConversionAdjustmentUploadService.UploadConversionAdjustments][google.ads.googleads.v9.services.ConversionAdjustmentUploadService.UploadConversionAdjustments]. +message UploadConversionAdjustmentsResponse { + // Errors that pertain to conversion adjustment failures in the partial + // failure mode. Returned when all errors occur inside the adjustments. If any + // errors occur outside the adjustments (e.g. 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; +} + +// 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", e.g. "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 9; + + // The adjustment type. + google.ads.googleads.v9.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; + + // Information needed to restate the conversion's value. + // Required for restatements. Should not be supplied for retractions. An error + // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + RestatementValue restatement_value = 6; + + // The user identifiers to enhance the original conversion. + // ConversionAdjustmentUploadService only accepts user identifiers in + // enhancements. The maximum number of user identifiers for each + // enhancement is 5. + repeated google.ads.googleads.v9.common.UserIdentifier user_identifiers = 10; + + // The user agent to enhance the original conversion. This can be found in + // your user's HTTP request header when they convert on your web page. + // Example, "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X)". User + // agent can only be specified in enhancements with user identifiers. This + // should match the user agent of the request that sent the original + // conversion so the conversion and its enhancement are either both attributed + // as same-device or both attributed as cross-device. + optional string user_agent = 11; +} + +// Contains information needed to restate a conversion's value. +message RestatementValue { + // The restated conversion value. This is the value of the conversion after + // restatement. For example, to change the value of a conversion from 100 to + // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. + optional double adjusted_value = 3; + + // The currency of the restated value. If not provided, then the default + // currency from the conversion action is used, and if that is not set then + // the account currency is used. This is the ISO 4217 3-character currency + // code e.g. 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", e.g. "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", e.g. "2019-01-01 12:32:45-08:00". + optional string adjustment_date_time = 8; + + // The adjustment type. + google.ads.googleads.v9.enums.ConversionAdjustmentTypeEnum.ConversionAdjustmentType adjustment_type = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_custom_variable_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_custom_variable_service.proto new file mode 100644 index 00000000..f8e56523 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_custom_variable_service.proto @@ -0,0 +1,158 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/conversion_custom_variable.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Conversion Custom Variable service. + +// Service to manage conversion custom variables. +service ConversionCustomVariableService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested conversion custom variable. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetConversionCustomVariable(GetConversionCustomVariableRequest) returns (google.ads.googleads.v9.resources.ConversionCustomVariable) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/conversionCustomVariables/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates conversion custom variables. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionCustomVariableError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateConversionCustomVariables(MutateConversionCustomVariablesRequest) returns (MutateConversionCustomVariablesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/conversionCustomVariables:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionCustomVariableService.GetConversionCustomVariable][google.ads.googleads.v9.services.ConversionCustomVariableService.GetConversionCustomVariable]. +message GetConversionCustomVariableRequest { + // Required. The resource name of the conversion custom variable to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionCustomVariable" + } + ]; +} + +// Request message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v9.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesRequest { + // Required. The ID of the customer whose conversion custom variables are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion custom + // variables. + repeated ConversionCustomVariableOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update) on a conversion custom variable. +message ConversionCustomVariableOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // custom variable. + google.ads.googleads.v9.resources.ConversionCustomVariable create = 1; + + // Update operation: The conversion custom variable is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.ConversionCustomVariable update = 2; + } +} + +// Response message for +// [ConversionCustomVariableService.MutateConversionCustomVariables][google.ads.googleads.v9.services.ConversionCustomVariableService.MutateConversionCustomVariables]. +message MutateConversionCustomVariablesResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated conversion custom variable with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ConversionCustomVariable conversion_custom_variable = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_goal_campaign_config_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_goal_campaign_config_service.proto new file mode 100644 index 00000000..cb47b21a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_goal_campaign_config_service.proto @@ -0,0 +1,100 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionGoalCampaignConfigServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ConversionGoalCampaignConfig service. + +// Service to manage conversion goal campaign config. +service ConversionGoalCampaignConfigService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes conversion goal campaign config. Operation + // statuses are returned. + rpc MutateConversionGoalCampaignConfigs(MutateConversionGoalCampaignConfigsRequest) returns (MutateConversionGoalCampaignConfigsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/conversionGoalCampaignConfigs:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfig][]. +message MutateConversionGoalCampaignConfigsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion goal campaign + // config. + repeated ConversionGoalCampaignConfigOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (update) on a conversion goal campaign config. +message ConversionGoalCampaignConfigOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The conversion goal campaign config is expected to have + // a valid resource name. + google.ads.googleads.v9.resources.ConversionGoalCampaignConfig update = 1; + } +} + +// Response message for a conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigsResponse { + // All results for the mutate. + repeated MutateConversionGoalCampaignConfigResult results = 1; +} + +// The result for the conversion goal campaign config mutate. +message MutateConversionGoalCampaignConfigResult { + // Returned for successful operations. + string resource_name = 1; + + // The mutated ConversionGoalCampaignConfig with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_upload_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_upload_service.proto new file mode 100644 index 00000000..a5ce69b2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_upload_service.proto @@ -0,0 +1,343 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/offline_user_data.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionUploadServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to upload conversions. +service ConversionUploadService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Processes the given click conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionUploadError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadClickConversions(UploadClickConversionsRequest) returns (UploadClickConversionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:uploadClickConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } + + // Processes the given call conversions. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PartialFailureError]() + // [QuotaError]() + // [RequestError]() + rpc UploadCallConversions(UploadCallConversionsRequest) returns (UploadCallConversionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:uploadCallConversions" + body: "*" + }; + option (google.api.method_signature) = "customer_id,conversions,partial_failure"; + } +} + +// Request message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v9.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated ClickConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadClickConversions][google.ads.googleads.v9.services.ConversionUploadService.UploadClickConversions]. +message UploadClickConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (e.g. 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; +} + +// Request message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v9.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsRequest { + // Required. The ID of the customer performing the upload. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The conversions that are being uploaded. + repeated CallConversion conversions = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. + bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Response message for [ConversionUploadService.UploadCallConversions][google.ads.googleads.v9.services.ConversionUploadService.UploadCallConversions]. +message UploadCallConversionsResponse { + // Errors that pertain to conversion failures in the partial failure mode. + // Returned when all errors occur inside the conversions. If any errors occur + // outside the conversions (e.g. 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", e.g. “2019-01-01 12:32:45-08:00”. + optional string conversion_date_time = 11; + + // The value of the conversion for the advertiser. + optional double conversion_value = 12; + + // Currency associated with the conversion value. This is the ISO 4217 + // 3-character currency code. For example: USD, EUR. + optional string currency_code = 13; + + // The order ID associated with the conversion. An order id can only be used + // for one conversion per conversion action. + optional string order_id = 14; + + // Additional data about externally attributed conversions. This field + // is required for conversions with an externally attributed conversion + // action, but should not be set otherwise. + ExternalAttributionData external_attribution_data = 7; + + // The custom variables associated with this conversion. + repeated CustomVariable custom_variables = 15; + + // The cart data associated with this conversion. + CartData cart_data = 16; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v9.common.UserIdentifier user_identifiers = 17; +} + +// 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. e.g. "+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", + // e.g. "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", e.g. "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", e.g. “2019-01-01 12:32:45-08:00”. + optional string conversion_date_time = 6; + + // The user identifiers associated with this conversion. Only hashed_email and + // hashed_phone_number are supported for conversion uploads. The maximum + // number of user identifiers for each conversion is 5. + repeated google.ads.googleads.v9.common.UserIdentifier user_identifiers = 7; +} + +// Identifying information for a successfully processed CallConversionUpload. +message CallConversionResult { + // The caller id from which this call was placed. Caller id is expected to be + // in E.164 format with preceding '+' sign. + optional string caller_id = 5; + + // The date time at which the call occurred. The format is + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "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", e.g. "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/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_service.proto new file mode 100644 index 00000000..6c47c954 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/conversion_value_rule.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Conversion Value Rule service. + +// Service to manage conversion value rules. +service ConversionValueRuleService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested conversion value rule. + rpc GetConversionValueRule(GetConversionValueRuleRequest) returns (google.ads.googleads.v9.resources.ConversionValueRule) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/conversionValueRules/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes conversion value rules. Operation statuses are + // returned. + rpc MutateConversionValueRules(MutateConversionValueRulesRequest) returns (MutateConversionValueRulesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/conversionValueRules:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleService.GetConversionValueRule][google.ads.googleads.v9.services.ConversionValueRuleService.GetConversionValueRule]. +message GetConversionValueRuleRequest { + // Required. The resource name of the conversion value rule to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRule" + } + ]; +} + +// Request message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v9.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesRequest { + // Required. The ID of the customer whose conversion value rules are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rules. + repeated ConversionValueRuleOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule. +message ConversionValueRuleOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule. + google.ads.googleads.v9.resources.ConversionValueRule create = 1; + + // Update operation: The conversion value rule is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.ConversionValueRule update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // is expected, in this format: + // + // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` + string remove = 3; + } +} + +// Response message for +// [ConversionValueRuleService.MutateConversionValueRules][google.ads.googleads.v9.services.ConversionValueRuleService.MutateConversionValueRules]. +message MutateConversionValueRulesResponse { + // All results for the mutate. + repeated MutateConversionValueRuleResult results = 2; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated conversion value rule with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ConversionValueRule conversion_value_rule = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_set_service.proto new file mode 100644 index 00000000..c3ef6b37 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/conversion_value_rule_set_service.proto @@ -0,0 +1,144 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/conversion_value_rule_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ConversionValueRuleSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Conversion Value Rule Set service. + +// Service to manage conversion value rule sets. +service ConversionValueRuleSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested conversion value rule set. + rpc GetConversionValueRuleSet(GetConversionValueRuleSetRequest) returns (google.ads.googleads.v9.resources.ConversionValueRuleSet) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/conversionValueRuleSets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates or removes conversion value rule sets. Operation statuses + // are returned. + rpc MutateConversionValueRuleSets(MutateConversionValueRuleSetsRequest) returns (MutateConversionValueRuleSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/conversionValueRuleSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [ConversionValueRuleSetService.GetConversionValueRuleSet][google.ads.googleads.v9.services.ConversionValueRuleSetService.GetConversionValueRuleSet]. +message GetConversionValueRuleSetRequest { + // Required. The resource name of the conversion value rule set to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionValueRuleSet" + } + ]; +} + +// Request message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v9.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsRequest { + // Required. The ID of the customer whose conversion value rule sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual conversion value rule sets. + repeated ConversionValueRuleSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, update, remove) on a conversion value rule set. +message ConversionValueRuleSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new conversion + // value rule set. + google.ads.googleads.v9.resources.ConversionValueRuleSet create = 1; + + // Update operation: The conversion value rule set is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.ConversionValueRuleSet update = 2; + + // Remove operation: A resource name for the removed conversion value rule + // set is expected, in this format: + // + // `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` + string remove = 3; + } +} + +// Response message for +// [ConversionValueRuleSetService.MutateConversionValueRuleSets][google.ads.googleads.v9.services.ConversionValueRuleSetService.MutateConversionValueRuleSets]. +message MutateConversionValueRuleSetsResponse { + // All results for the mutate. + repeated MutateConversionValueRuleSetResult results = 1; + + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; + + // The mutated conversion value rule set with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ConversionValueRuleSet conversion_value_rule_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/currency_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/currency_constant_service.proto new file mode 100644 index 00000000..c00ccd42 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/currency_constant_service.proto @@ -0,0 +1,65 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/currency_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CurrencyConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to fetch currency constants. +service CurrencyConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested currency constant. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCurrencyConstant(GetCurrencyConstantRequest) returns (google.ads.googleads.v9.resources.CurrencyConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=currencyConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CurrencyConstantService.GetCurrencyConstant][google.ads.googleads.v9.services.CurrencyConstantService.GetCurrencyConstant]. +message GetCurrencyConstantRequest { + // Required. Resource name of the currency constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CurrencyConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/custom_audience_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/custom_audience_service.proto new file mode 100644 index 00000000..01de2740 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/custom_audience_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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/custom_audience.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomAudienceServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Custom Audience service. + +// Service to manage custom audiences. +service CustomAudienceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested custom audience in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomAudience(GetCustomAudienceRequest) returns (google.ads.googleads.v9.resources.CustomAudience) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customAudiences/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates custom audiences. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomAudienceError]() + // [CustomInterestError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OperationAccessDeniedError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomAudiences(MutateCustomAudiencesRequest) returns (MutateCustomAudiencesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customAudiences:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomAudienceService.GetCustomAudience][google.ads.googleads.v9.services.CustomAudienceService.GetCustomAudience]. +message GetCustomAudienceRequest { + // Required. The resource name of the custom audience to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomAudience" + } + ]; +} + +// Request message for [CustomAudienceService.MutateCustomAudiences][google.ads.googleads.v9.services.CustomAudienceService.MutateCustomAudiences]. +message MutateCustomAudiencesRequest { + // Required. The ID of the customer whose custom audiences are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom audiences. + repeated CustomAudienceOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a custom audience. +message CustomAudienceOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // audience. + google.ads.googleads.v9.resources.CustomAudience create = 1; + + // Update operation: The custom audience is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CustomAudience update = 2; + + // Remove operation: A resource name for the removed custom audience is + // expected, in this format: + // + // `customers/{customer_id}/customAudiences/{custom_audience_id}` + string remove = 3; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/custom_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/custom_conversion_goal_service.proto new file mode 100644 index 00000000..8eaa40be --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/custom_conversion_goal_service.proto @@ -0,0 +1,109 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/custom_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomConversionGoal service. + +// Service to manage custom conversion goal. +service CustomConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes custom conversion goals. Operation statuses + // are returned. + rpc MutateCustomConversionGoals(MutateCustomConversionGoalsRequest) returns (MutateCustomConversionGoalsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomConversionGoalService.MutateCustomConversionGoals][google.ads.googleads.v9.services.CustomConversionGoalService.MutateCustomConversionGoals]. +message MutateCustomConversionGoalsRequest { + // Required. The ID of the customer whose custom conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom conversion goal. + repeated CustomConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 4; +} + +// A single operation (create, remove) on a custom conversion goal. +message CustomConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // conversion goal + google.ads.googleads.v9.resources.CustomConversionGoal create = 1; + + // Update operation: The custom conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.CustomConversionGoal update = 2; + + // Remove operation: A resource name for the removed custom conversion goal + // is expected, in this format: + // + // 'customers/{customer_id}/conversionActions/{ConversionGoal.custom_goal_config.conversion_type_ids}' + string remove = 3; + } +} + +// 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; + + // The mutated CustomConversionGoal with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomConversionGoal custom_conversion_goal = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/custom_interest_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/custom_interest_service.proto new file mode 100644 index 00000000..4bb63934 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/custom_interest_service.proto @@ -0,0 +1,132 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/custom_interest.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomInterestServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Custom Interest service. + +// Service to manage custom interests. +service CustomInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested custom interest in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomInterest(GetCustomInterestRequest) returns (google.ads.googleads.v9.resources.CustomInterest) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customInterests/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates custom interests. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [CustomInterestError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [PolicyViolationError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + rpc MutateCustomInterests(MutateCustomInterestsRequest) returns (MutateCustomInterestsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customInterests:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomInterestService.GetCustomInterest][google.ads.googleads.v9.services.CustomInterestService.GetCustomInterest]. +message GetCustomInterestRequest { + // Required. The resource name of the custom interest to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomInterest" + } + ]; +} + +// Request message for [CustomInterestService.MutateCustomInterests][google.ads.googleads.v9.services.CustomInterestService.MutateCustomInterests]. +message MutateCustomInterestsRequest { + // Required. The ID of the customer whose custom interests are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual custom interests. + repeated CustomInterestOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a custom interest. +message CustomInterestOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new custom + // interest. + google.ads.googleads.v9.resources.CustomInterest create = 1; + + // Update operation: The custom interest is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CustomInterest update = 2; + } +} + +// Response message for custom interest mutate. +message MutateCustomInterestsResponse { + // All results for the mutate. + repeated MutateCustomInterestResult results = 2; +} + +// The result for the custom interest mutate. +message MutateCustomInterestResult { + // Returned for successful operations. + string resource_name = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_asset_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_asset_service.proto new file mode 100644 index 00000000..0872691b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_asset_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer_asset.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerAssetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerAsset service. + +// Service to manage customer assets. +service CustomerAssetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested customer asset in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerAsset(GetCustomerAssetRequest) returns (google.ads.googleads.v9.resources.CustomerAsset) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerAssets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes customer assets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AssetLinkError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerAssets(MutateCustomerAssetsRequest) returns (MutateCustomerAssetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerAssets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerAssetService.GetCustomerAsset][google.ads.googleads.v9.services.CustomerAssetService.GetCustomerAsset]. +message GetCustomerAssetRequest { + // Required. The resource name of the customer asset to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerAsset" + } + ]; +} + +// Request message for [CustomerAssetService.MutateCustomerAssets][google.ads.googleads.v9.services.CustomerAssetService.MutateCustomerAssets]. +message MutateCustomerAssetsRequest { + // Required. The ID of the customer whose customer assets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer assets. + repeated CustomerAssetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer asset. +message CustomerAssetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // asset. + google.ads.googleads.v9.resources.CustomerAsset create = 1; + + // Update operation: The customer asset is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.CustomerAsset update = 3; + + // Remove operation: A resource name for the removed customer asset is + // expected, in this format: + // + // `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated customer asset with only mutable fields after + // mutate. The field will only be returned when response_content_type is set + // to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomerAsset customer_asset = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_client_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_client_link_service.proto new file mode 100644 index 00000000..bd35ff24 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_client_link_service.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_client_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to manage customer client links. +service CustomerClientLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested CustomerClientLink in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerClientLink(GetCustomerClientLinkRequest) returns (google.ads.googleads.v9.resources.CustomerClientLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerClientLinks/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates a customer client link. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerClientLink(MutateCustomerClientLinkRequest) returns (MutateCustomerClientLinkResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerClientLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [CustomerClientLinkService.GetCustomerClientLink][google.ads.googleads.v9.services.CustomerClientLinkService.GetCustomerClientLink]. +message GetCustomerClientLinkRequest { + // Required. The resource name of the customer client link to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClientLink" + } + ]; +} + +// Request message for [CustomerClientLinkService.MutateCustomerClientLink][google.ads.googleads.v9.services.CustomerClientLinkService.MutateCustomerClientLink]. +message MutateCustomerClientLinkRequest { + // Required. The ID of the customer whose customer link are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the individual CustomerClientLink. + CustomerClientLinkOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, update) on a CustomerClientLink. +message CustomerClientLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new link. + google.ads.googleads.v9.resources.CustomerClientLink create = 1; + + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v9.resources.CustomerClientLink update = 2; + } +} + +// Response message for a CustomerClientLink mutate. +message MutateCustomerClientLinkResponse { + // A result that identifies the resource affected by the mutate request. + MutateCustomerClientLinkResult result = 1; +} + +// The result for a single customer client link mutate. +message MutateCustomerClientLinkResult { + // Returned for successful operations. + string resource_name = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_client_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_client_service.proto new file mode 100644 index 00000000..c70ed592 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_client_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_client.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerClientServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Customer Client service. + +// Service to get clients in a customer's hierarchy. +service CustomerClientService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested client in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerClient(GetCustomerClientRequest) returns (google.ads.googleads.v9.resources.CustomerClient) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerClients/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [CustomerClientService.GetCustomerClient][google.ads.googleads.v9.services.CustomerClientService.GetCustomerClient]. +message GetCustomerClientRequest { + // Required. The resource name of the client to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerClient" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_conversion_goal_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_conversion_goal_service.proto new file mode 100644 index 00000000..656da711 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_conversion_goal_service.proto @@ -0,0 +1,89 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_conversion_goal.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerConversionGoalServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerConversionGoal service. + +// Service to manage customer conversion goal. +service CustomerConversionGoalService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer conversion goals. Operation statuses + // are returned. + rpc MutateCustomerConversionGoals(MutateCustomerConversionGoalsRequest) returns (MutateCustomerConversionGoalsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerConversionGoals:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerConversionGoalService.MutateCustomerConversionGoals][google.ads.googleads.v9.services.CustomerConversionGoalService.MutateCustomerConversionGoals]. +message MutateCustomerConversionGoalsRequest { + // Required. The ID of the customer whose customer conversion goals are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer conversion goal. + repeated CustomerConversionGoalOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (update) on a customer conversion goal. +message CustomerConversionGoalOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; + + // The mutate operation. + oneof operation { + // Update operation: The customer conversion goal is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.CustomerConversionGoal update = 1; + } +} + +// Response message for a customer conversion goal mutate. +message MutateCustomerConversionGoalsResponse { + // All results for the mutate. + repeated MutateCustomerConversionGoalResult results = 1; +} + +// The result for the customer conversion goal mutate. +message MutateCustomerConversionGoalResult { + // Returned for successful operations. + string resource_name = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_customizer_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_customizer_service.proto new file mode 100644 index 00000000..89cf4111 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_customizer_service.proto @@ -0,0 +1,113 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer_customizer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerCustomizerServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerCustomizer service. + +// Service to manage customer customizer +service CustomerCustomizerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customer customizers. Operation statuses are + // returned. + rpc MutateCustomerCustomizers(MutateCustomerCustomizersRequest) returns (MutateCustomerCustomizersResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/CustomerCustomizers:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerCustomizerService.MutateCustomerCustomizers][google.ads.googleads.v9.services.CustomerCustomizerService.MutateCustomerCustomizers]. +message MutateCustomerCustomizersRequest { + // Required. The ID of the customer whose customer customizers are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer customizers. + repeated CustomerCustomizerOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomerCustomizerOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // customizer + google.ads.googleads.v9.resources.CustomerCustomizer create = 1; + + // Remove operation: A resource name for the removed customer customizer is + // expected, in this format: + // `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` + string remove = 2; + } +} + +// Response message for an 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 (e.g. 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; + + // The mutated CustomerCustomizer with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomerCustomizer customer_customizer = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_extension_setting_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_extension_setting_service.proto new file mode 100644 index 00000000..61350b9f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_extension_setting_service.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer_extension_setting.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerExtensionSettingServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerExtensionSetting service. + +// Service to manage customer extension settings. +service CustomerExtensionSettingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested customer extension setting in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerExtensionSetting(GetCustomerExtensionSettingRequest) returns (google.ads.googleads.v9.resources.CustomerExtensionSetting) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerExtensionSettings/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes customer extension settings. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionSettingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateCustomerExtensionSettings(MutateCustomerExtensionSettingsRequest) returns (MutateCustomerExtensionSettingsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerExtensionSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerExtensionSettingService.GetCustomerExtensionSetting][google.ads.googleads.v9.services.CustomerExtensionSettingService.GetCustomerExtensionSetting]. +message GetCustomerExtensionSettingRequest { + // Required. The resource name of the customer extension setting to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerExtensionSetting" + } + ]; +} + +// Request message for +// [CustomerExtensionSettingService.MutateCustomerExtensionSettings][google.ads.googleads.v9.services.CustomerExtensionSettingService.MutateCustomerExtensionSettings]. +message MutateCustomerExtensionSettingsRequest { + // Required. The ID of the customer whose customer extension settings are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer extension + // settings. + repeated CustomerExtensionSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer extension setting. +message CustomerExtensionSettingOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer + // extension setting. + google.ads.googleads.v9.resources.CustomerExtensionSetting create = 1; + + // Update operation: The customer extension setting is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.CustomerExtensionSetting update = 2; + + // Remove operation: A resource name for the removed customer extension + // setting is expected, in this format: + // + // `customers/{customer_id}/customerExtensionSettings/{extension_type}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated CustomerExtensionSetting with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomerExtensionSetting customer_extension_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_feed_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_feed_service.proto new file mode 100644 index 00000000..cdd9a0d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_feed_service.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer_feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerFeedServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerFeed service. + +// Service to manage customer feeds. +service CustomerFeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested customer feed in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerFeed(GetCustomerFeedRequest) returns (google.ads.googleads.v9.resources.CustomerFeed) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerFeeds/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes customer feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CustomerFeedError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [FunctionError]() + // [FunctionParsingError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerFeeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerFeedService.GetCustomerFeed][google.ads.googleads.v9.services.CustomerFeedService.GetCustomerFeed]. +message GetCustomerFeedRequest { + // Required. The resource name of the customer feed to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerFeed" + } + ]; +} + +// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v9.services.CustomerFeedService.MutateCustomerFeeds]. +message MutateCustomerFeedsRequest { + // Required. The ID of the customer whose customer feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer feeds. + repeated CustomerFeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on a customer feed. +message CustomerFeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer feed. + google.ads.googleads.v9.resources.CustomerFeed create = 1; + + // Update operation: The customer feed is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.CustomerFeed update = 2; + + // Remove operation: A resource name for the removed customer feed is + // expected, in this format: + // + // `customers/{customer_id}/customerFeeds/{feed_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated customer feed with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomerFeed customer_feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_label_service.proto new file mode 100644 index 00000000..c19a1993 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_label_service.proto @@ -0,0 +1,142 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerLabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Customer Label service. + +// Service to manage labels on customers. +service CustomerLabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested customer-label relationship in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerLabel(GetCustomerLabelRequest) returns (google.ads.googleads.v9.resources.CustomerLabel) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerLabels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates and removes customer-label relationships. + // Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerLabels(MutateCustomerLabelsRequest) returns (MutateCustomerLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerLabels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [CustomerLabelService.GetCustomerLabel][google.ads.googleads.v9.services.CustomerLabelService.GetCustomerLabel]. +message GetCustomerLabelRequest { + // Required. The resource name of the customer-label relationship to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerLabel" + } + ]; +} + +// Request message for [CustomerLabelService.MutateCustomerLabels][google.ads.googleads.v9.services.CustomerLabelService.MutateCustomerLabels]. +message MutateCustomerLabelsRequest { + // Required. ID of the customer whose customer-label relationships are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on customer-label relationships. + repeated CustomerLabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on a customer-label relationship. +message CustomerLabelOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customer-label + // relationship. + google.ads.googleads.v9.resources.CustomerLabel create = 1; + + // Remove operation: A resource name for the customer-label relationship + // being removed, in this format: + // + // `customers/{customer_id}/customerLabels/{label_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_manager_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_manager_link_service.proto new file mode 100644 index 00000000..70df4c0a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_manager_link_service.proto @@ -0,0 +1,180 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_manager_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerManagerLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to manage customer-manager links. +service CustomerManagerLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested CustomerManagerLink in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerManagerLink(GetCustomerManagerLinkRequest) returns (google.ads.googleads.v9.resources.CustomerManagerLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerManagerLinks/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates customer manager links. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerManagerLink(MutateCustomerManagerLinkRequest) returns (MutateCustomerManagerLinkResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerManagerLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Moves a client customer to a new manager customer. + // This simplifies the complex request that requires two operations to move + // a client customer to a new manager. i.e: + // 1. Update operation with Status INACTIVE (previous manager) and, + // 2. Update operation with Status ACTIVE (new manager). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MoveManagerLink(MoveManagerLinkRequest) returns (MoveManagerLinkResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerManagerLinks:moveManagerLink" + body: "*" + }; + option (google.api.method_signature) = "customer_id,previous_customer_manager_link,new_manager"; + } +} + +// Request message for [CustomerManagerLinkService.GetCustomerManagerLink][google.ads.googleads.v9.services.CustomerManagerLinkService.GetCustomerManagerLink]. +message GetCustomerManagerLinkRequest { + // Required. The resource name of the CustomerManagerLink to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerManagerLink" + } + ]; +} + +// Request message for [CustomerManagerLinkService.MutateCustomerManagerLink][google.ads.googleads.v9.services.CustomerManagerLinkService.MutateCustomerManagerLink]. +message MutateCustomerManagerLinkRequest { + // Required. The ID of the customer whose customer manager links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customer manager links. + repeated CustomerManagerLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// Request message for [CustomerManagerLinkService.MoveManagerLink][google.ads.googleads.v9.services.CustomerManagerLinkService.MoveManagerLink]. +message MoveManagerLinkRequest { + // Required. The ID of the client customer that is being moved. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the previous CustomerManagerLink. + // The resource name has the form: + // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` + string previous_customer_manager_link = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the new manager customer that the client wants to move + // to. Customer resource names have the format: "customers/{customer_id}" + string new_manager = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// Updates the status of a CustomerManagerLink. +// The following actions are possible: +// 1. Update operation with status ACTIVE accepts a pending invitation. +// 2. Update operation with status REFUSED declines a pending invitation. +// 3. Update operation with status INACTIVE terminates link to manager. +message CustomerManagerLinkOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Update operation: The link is expected to have a valid resource name. + google.ads.googleads.v9.resources.CustomerManagerLink update = 2; + } +} + +// Response message for a CustomerManagerLink mutate. +message MutateCustomerManagerLinkResponse { + // A result that identifies the resource affected by the mutate request. + repeated MutateCustomerManagerLinkResult results = 1; +} + +// Response message for a CustomerManagerLink moveManagerLink. +message MoveManagerLinkResponse { + // Returned for successful operations. Represents a CustomerManagerLink + // resource of the newly created link between client customer and new manager + // customer. + string resource_name = 1; +} + +// The result for the customer manager link mutate. +message MutateCustomerManagerLinkResult { + // Returned for successful operations. + string resource_name = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_negative_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_negative_criterion_service.proto new file mode 100644 index 00000000..2ab4ee6f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_negative_criterion_service.proto @@ -0,0 +1,152 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer_negative_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerNegativeCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Customer Negative Criterion service. + +// Service to manage customer negative criteria. +service CustomerNegativeCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested criterion in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerNegativeCriterion(GetCustomerNegativeCriterionRequest) returns (google.ads.googleads.v9.resources.CustomerNegativeCriterion) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerNegativeCriteria/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerNegativeCriteria(MutateCustomerNegativeCriteriaRequest) returns (MutateCustomerNegativeCriteriaResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerNegativeCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomerNegativeCriterionService.GetCustomerNegativeCriterion][google.ads.googleads.v9.services.CustomerNegativeCriterionService.GetCustomerNegativeCriterion]. +message GetCustomerNegativeCriterionRequest { + // Required. The resource name of the criterion to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerNegativeCriterion" + } + ]; +} + +// Request message for +// [CustomerNegativeCriterionService.MutateCustomerNegativeCriteria][google.ads.googleads.v9.services.CustomerNegativeCriterionService.MutateCustomerNegativeCriteria]. +message MutateCustomerNegativeCriteriaRequest { + // Required. The ID of the customer whose criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual criteria. + repeated CustomerNegativeCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create or remove) on a customer level negative criterion. +message CustomerNegativeCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new criterion. + google.ads.googleads.v9.resources.CustomerNegativeCriterion create = 1; + + // Remove operation: A resource name for the removed criterion is expected, + // in this format: + // + // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated criterion with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomerNegativeCriterion customer_negative_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_service.proto new file mode 100644 index 00000000..36d0a2dd --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_service.proto @@ -0,0 +1,214 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/access_role.proto"; +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customer.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Customer service. + +// Service to manage customers. +service CustomerService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested customer in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomer(GetCustomerRequest) returns (google.ads.googleads.v9.resources.Customer) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates a customer. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + // [UrlFieldError]() + rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } + + // Returns resource names of customers directly accessible by the + // user authenticating the call. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { + option (google.api.http) = { + get: "/v9/customers:listAccessibleCustomers" + }; + } + + // Creates a new client under manager. The new client customer is returned. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [CurrencyCodeError]() + // [HeaderError]() + // [InternalError]() + // [ManagerLinkError]() + // [QuotaError]() + // [RequestError]() + // [StringLengthError]() + // [TimeZoneError]() + rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:createCustomerClient" + body: "*" + }; + option (google.api.method_signature) = "customer_id,customer_client"; + } +} + +// Request message for [CustomerService.GetCustomer][google.ads.googleads.v9.services.CustomerService.GetCustomer]. +message GetCustomerRequest { + // Required. The resource name of the customer to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Customer" + } + ]; +} + +// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v9.services.CustomerService.MutateCustomer]. +message MutateCustomerRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerOperation operation = 4 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 6; +} + +// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v9.services.CustomerService.CreateCustomerClient]. +message CreateCustomerClientRequest { + // Required. The ID of the Manager under whom client customer is being created. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new client customer to create. The resource name on this customer + // will be ignored. + google.ads.googleads.v9.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; + + // Email address of the user who should be invited on the created client + // customer. Accessible only to customers on the allow-list. + optional string email_address = 5; + + // The proposed role of user on the created client customer. + // Accessible only to customers on the allow-list. + google.ads.googleads.v9.enums.AccessRoleEnum.AccessRole access_role = 4; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 6; +} + +// A single update on a customer. +message CustomerOperation { + // Mutate operation. Only updates are supported for customer. + google.ads.googleads.v9.resources.Customer update = 1; + + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 2; +} + +// Response message for CreateCustomerClient mutate. +message CreateCustomerClientResponse { + // The resource name of the newly created customer client. + string resource_name = 2; + + // 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; + + // The mutated customer with only mutable fields after mutate. The fields will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Customer customer = 2; +} + +// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v9.services.CustomerService.ListAccessibleCustomers]. +message ListAccessibleCustomersRequest { + +} + +// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v9.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/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_invitation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_invitation_service.proto new file mode 100644 index 00000000..01c9cdbc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_invitation_service.proto @@ -0,0 +1,125 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_user_access_invitation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessInvitationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomerUserAccessInvitation service. + +// This service manages the access invitation extended to users for a given +// customer. +service CustomerUserAccessInvitationService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested access invitation in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerUserAccessInvitation(GetCustomerUserAccessInvitationRequest) returns (google.ads.googleads.v9.resources.CustomerUserAccessInvitation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerUserAccessInvitations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes an access invitation. + // + // List of thrown errors: + // [AccessInvitationError]() + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccessInvitation(MutateCustomerUserAccessInvitationRequest) returns (MutateCustomerUserAccessInvitationResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerUserAccessInvitations:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessInvitation.GetCustomerUserAccessInvitation][] +message GetCustomerUserAccessInvitationRequest { + // Required. Resource name of the access invitation. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccessInvitation" + } + ]; +} + +// Request message for +// [CustomerUserAccessInvitation.MutateCustomerUserAccessInvitation][] +message MutateCustomerUserAccessInvitationRequest { + // Required. The ID of the customer whose access invitation is being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the access invitation + CustomerUserAccessInvitationOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (create or remove) on customer user access invitation. +message CustomerUserAccessInvitationOperation { + // The mutate operation + oneof operation { + // Create operation: No resource name is expected for the new access + // invitation. + google.ads.googleads.v9.resources.CustomerUserAccessInvitation create = 1; + + // Remove operation: A resource name for the revoke invitation is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` + string remove = 2; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_service.proto new file mode 100644 index 00000000..0b83b3f2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customer_user_access_service.proto @@ -0,0 +1,129 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/customer_user_access.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomerUserAccessServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// This service manages the permissions of a user on a given customer. +service CustomerUserAccessService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the CustomerUserAccess in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetCustomerUserAccess(GetCustomerUserAccessRequest) returns (google.ads.googleads.v9.resources.CustomerUserAccess) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/customerUserAccesses/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates, removes permission of a user on a given customer. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CustomerUserAccessError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateCustomerUserAccess(MutateCustomerUserAccessRequest) returns (MutateCustomerUserAccessResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customerUserAccesses:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for +// [CustomerUserAccessService.GetCustomerUserAccess][google.ads.googleads.v9.services.CustomerUserAccessService.GetCustomerUserAccess]. +message GetCustomerUserAccessRequest { + // Required. Resource name of the customer user access. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CustomerUserAccess" + } + ]; +} + +// Mutate Request for +// [CustomerUserAccessService.MutateCustomerUserAccess][google.ads.googleads.v9.services.CustomerUserAccessService.MutateCustomerUserAccess]. +message MutateCustomerUserAccessRequest { + // Required. The ID of the customer being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The operation to perform on the customer + CustomerUserAccessOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A single operation (update, remove) on customer user access. +message CustomerUserAccessOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 3; + + // The mutate operation. + oneof operation { + // Update operation: The customer user access is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.CustomerUserAccess update = 1; + + // Remove operation: A resource name for the removed access is + // expected, in this format: + // + // `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` + string remove = 2; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/customizer_attribute_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/customizer_attribute_service.proto new file mode 100644 index 00000000..db878c6e --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/customizer_attribute_service.proto @@ -0,0 +1,117 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/customizer_attribute.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "CustomizerAttributeServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the CustomizerAttribute service. + +// Service to manage customizer attribute +service CustomizerAttributeService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates, updates or removes customizer attributes. Operation statuses are + // returned. + rpc MutateCustomizerAttributes(MutateCustomizerAttributesRequest) returns (MutateCustomizerAttributesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/customizerAttributes:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [CustomizerAttributeService.MutateCustomizerAttributes][google.ads.googleads.v9.services.CustomizerAttributeService.MutateCustomizerAttributes]. +message MutateCustomizerAttributesRequest { + // Required. The ID of the customer whose customizer attributes are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual customizer attributes. + repeated CustomizerAttributeOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an customizer attribute. +message CustomizerAttributeOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new customizer + // attribute + google.ads.googleads.v9.resources.CustomizerAttribute create = 1; + + // Remove operation: A resource name for the removed customizer attribute is + // expected, in this format: + // `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` + string remove = 2; + } +} + +// Response message for an 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 (e.g. 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; + + // The mutated CustomizerAttribute with only mutable fields after mutate. + // The field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.CustomizerAttribute customizer_attribute = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/detail_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/detail_placement_view_service.proto new file mode 100644 index 00000000..d5d9b6ae --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/detail_placement_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/detail_placement_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DetailPlacementViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Detail Placement View service. + +// Service to fetch Detail Placement views. +service DetailPlacementViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Detail Placement view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetDetailPlacementView(GetDetailPlacementViewRequest) returns (google.ads.googleads.v9.resources.DetailPlacementView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/detailPlacementViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [DetailPlacementViewService.GetDetailPlacementView][google.ads.googleads.v9.services.DetailPlacementViewService.GetDetailPlacementView]. +message GetDetailPlacementViewRequest { + // Required. The resource name of the Detail Placement view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/detailed_demographic_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/detailed_demographic_service.proto new file mode 100644 index 00000000..5fbc8af4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/detailed_demographic_service.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/detailed_demographic.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DetailedDemographicServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the detailed demographic service + +// Service to fetch Google Ads Detailed Demographics. +service DetailedDemographicService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested detailed demographic in full detail. + rpc GetDetailedDemographic(GetDetailedDemographicRequest) returns (google.ads.googleads.v9.resources.DetailedDemographic) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/detailedDemographics/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [DetailedDemographicService.GetDetailedDemographic][google.ads.googleads.v9.services.DetailedDemographicService.GetDetailedDemographic]. +message GetDetailedDemographicRequest { + // Required. Resource name of the DetailedDemographic to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DetailedDemographic" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/display_keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/display_keyword_view_service.proto new file mode 100644 index 00000000..e242ac79 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/display_keyword_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/display_keyword_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DisplayKeywordViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Display Keyword View service. + +// Service to manage display keyword views. +service DisplayKeywordViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested display keyword view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetDisplayKeywordView(GetDisplayKeywordViewRequest) returns (google.ads.googleads.v9.resources.DisplayKeywordView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/displayKeywordViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [DisplayKeywordViewService.GetDisplayKeywordView][google.ads.googleads.v9.services.DisplayKeywordViewService.GetDisplayKeywordView]. +message GetDisplayKeywordViewRequest { + // Required. The resource name of the display keyword view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DisplayKeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/distance_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/distance_view_service.proto new file mode 100644 index 00000000..625e06b5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/distance_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/distance_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DistanceViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Distance View service. + +// Service to fetch distance views. +service DistanceViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the attributes of the requested distance view. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetDistanceView(GetDistanceViewRequest) returns (google.ads.googleads.v9.resources.DistanceView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/distanceViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [DistanceViewService.GetDistanceView][google.ads.googleads.v9.services.DistanceViewService.GetDistanceView]. +message GetDistanceViewRequest { + // Required. The resource name of the distance view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DistanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/domain_category_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/domain_category_service.proto new file mode 100644 index 00000000..f7680b3a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/domain_category_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/domain_category.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DomainCategoryServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the DomainCategory Service. + +// Service to fetch domain categories. +service DomainCategoryService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested domain category. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetDomainCategory(GetDomainCategoryRequest) returns (google.ads.googleads.v9.resources.DomainCategory) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/domainCategories/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [DomainCategoryService.GetDomainCategory][google.ads.googleads.v9.services.DomainCategoryService.GetDomainCategory]. +message GetDomainCategoryRequest { + // Required. Resource name of the domain category to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DomainCategory" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/dynamic_search_ads_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/dynamic_search_ads_search_term_view_service.proto new file mode 100644 index 00000000..723bcf7f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/dynamic_search_ads_search_term_view_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "DynamicSearchAdsSearchTermViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Dynamic Search Ads Search Term View service. + +// Service to fetch dynamic search ads views. +service DynamicSearchAdsSearchTermViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested dynamic search ads search term view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetDynamicSearchAdsSearchTermView(GetDynamicSearchAdsSearchTermViewRequest) returns (google.ads.googleads.v9.resources.DynamicSearchAdsSearchTermView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/dynamicSearchAdsSearchTermViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView][google.ads.googleads.v9.services.DynamicSearchAdsSearchTermViewService.GetDynamicSearchAdsSearchTermView]. +message GetDynamicSearchAdsSearchTermViewRequest { + // Required. The resource name of the dynamic search ads search term view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/DynamicSearchAdsSearchTermView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/expanded_landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/expanded_landing_page_view_service.proto new file mode 100644 index 00000000..197efec5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/expanded_landing_page_view_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/expanded_landing_page_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExpandedLandingPageViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the expanded landing page view service. + +// Service to fetch expanded landing page views. +service ExpandedLandingPageViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested expanded landing page view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetExpandedLandingPageView(GetExpandedLandingPageViewRequest) returns (google.ads.googleads.v9.resources.ExpandedLandingPageView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/expandedLandingPageViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [ExpandedLandingPageViewService.GetExpandedLandingPageView][google.ads.googleads.v9.services.ExpandedLandingPageViewService.GetExpandedLandingPageView]. +message GetExpandedLandingPageViewRequest { + // Required. The resource name of the expanded landing page view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExpandedLandingPageView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/extension_feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/extension_feed_item_service.proto new file mode 100644 index 00000000..1186f732 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/extension_feed_item_service.proto @@ -0,0 +1,175 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/extension_feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ExtensionFeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ExtensionFeedItem service. + +// Service to manage extension feed items. +service ExtensionFeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested extension feed item in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetExtensionFeedItem(GetExtensionFeedItemRequest) returns (google.ads.googleads.v9.resources.ExtensionFeedItem) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/extensionFeedItems/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes extension feed items. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CountryCodeError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [ExtensionFeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [ImageError]() + // [InternalError]() + // [LanguageCodeError]() + // [MutateError]() + // [NewResourceCreationError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateExtensionFeedItems(MutateExtensionFeedItemsRequest) returns (MutateExtensionFeedItemsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/extensionFeedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [ExtensionFeedItemService.GetExtensionFeedItem][google.ads.googleads.v9.services.ExtensionFeedItemService.GetExtensionFeedItem]. +message GetExtensionFeedItemRequest { + // Required. The resource name of the extension feed item to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ExtensionFeedItem" + } + ]; +} + +// Request message for [ExtensionFeedItemService.MutateExtensionFeedItems][google.ads.googleads.v9.services.ExtensionFeedItemService.MutateExtensionFeedItems]. +message MutateExtensionFeedItemsRequest { + // Required. The ID of the customer whose extension feed items are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual extension feed items. + repeated ExtensionFeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an extension feed item. +message ExtensionFeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new extension + // feed item. + google.ads.googleads.v9.resources.ExtensionFeedItem create = 1; + + // Update operation: The extension feed item is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.ExtensionFeedItem update = 2; + + // Remove operation: A resource name for the removed extension feed item + // is expected, in this format: + // + // `customers/{customer_id}/extensionFeedItems/{feed_item_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated extension feed item with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.ExtensionFeedItem extension_feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_item_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_service.proto new file mode 100644 index 00000000..a3cae852 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_service.proto @@ -0,0 +1,174 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/feed_item.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedItem service. + +// Service to manage feed items. +service FeedItemService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed item in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedItem(GetFeedItemRequest) returns (google.ads.googleads.v9.resources.FeedItem) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedItems/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes feed items. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [CriterionError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FeedItemError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + // [UrlFieldError]() + rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feedItems:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemService.GetFeedItem][google.ads.googleads.v9.services.FeedItemService.GetFeedItem]. +message GetFeedItemRequest { + // Required. The resource name of the feed item to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItem" + } + ]; +} + +// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v9.services.FeedItemService.MutateFeedItems]. +message MutateFeedItemsRequest { + // Required. The ID of the customer whose feed items are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed items. + repeated FeedItemOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed item. +message FeedItemOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item. + google.ads.googleads.v9.resources.FeedItem create = 1; + + // Update operation: The feed item is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.FeedItem update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated feed item with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.FeedItem feed_item = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_link_service.proto new file mode 100644 index 00000000..e7797fb9 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_link_service.proto @@ -0,0 +1,138 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/feed_item_set_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedItemSetLink service. + +// Service to manage feed item set links. +service FeedItemSetLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed item set link in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedItemSetLink(GetFeedItemSetLinkRequest) returns (google.ads.googleads.v9.resources.FeedItemSetLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedItemSetLinks/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes feed item set links. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSetLinks(MutateFeedItemSetLinksRequest) returns (MutateFeedItemSetLinksResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feedItemSetLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetLinkService.GetFeedItemSetLinks][]. +message GetFeedItemSetLinkRequest { + // Required. The resource name of the feed item set link to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSetLink" + } + ]; +} + +// Request message for [FeedItemSetLinkService.MutateFeedItemSetLinks][google.ads.googleads.v9.services.FeedItemSetLinkService.MutateFeedItemSetLinks]. +message MutateFeedItemSetLinksRequest { + // Required. The ID of the customer whose feed item set links are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item set links. + repeated FeedItemSetLinkOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a feed item set link. +message FeedItemSetLinkOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the + // new feed item set link. + google.ads.googleads.v9.resources.FeedItemSetLink create = 1; + + // Remove operation: A resource name for the removed feed item set link is + // expected, in this format: + // + // `customers/{customer_id}/feedItemSetLinks/{feed_id}_{feed_item_set_id}_{feed_item_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_service.proto new file mode 100644 index 00000000..87e01b2a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_set_service.proto @@ -0,0 +1,146 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/feed_item_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedItemSet service. + +// Service to manage feed Item Set +service FeedItemSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed item set in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedItemSet(GetFeedItemSetRequest) returns (google.ads.googleads.v9.resources.FeedItemSet) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedItemSets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates or removes feed item sets. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + rpc MutateFeedItemSets(MutateFeedItemSetsRequest) returns (MutateFeedItemSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feedItemSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemSetService.GetFeedItemSet][google.ads.googleads.v9.services.FeedItemSetService.GetFeedItemSet]. +message GetFeedItemSetRequest { + // Required. The resource name of the feed item set to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemSet" + } + ]; +} + +// Request message for [FeedItemSetService.MutateFeedItemSets][google.ads.googleads.v9.services.FeedItemSetService.MutateFeedItemSets]. +message MutateFeedItemSetsRequest { + // Required. The ID of the customer whose feed item sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item sets. + repeated FeedItemSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, remove) on an feed item set. +message FeedItemSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item set + google.ads.googleads.v9.resources.FeedItemSet create = 1; + + // Update operation: The feed item set is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.FeedItemSet update = 2; + + // Remove operation: A resource name for the removed feed item is + // expected, in this format: + // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_set_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_item_target_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_target_service.proto new file mode 100644 index 00000000..9d3647b0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_item_target_service.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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/feed_item_target.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedItemTargetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedItemTarget service. + +// Service to manage feed item targets. +service FeedItemTargetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed item targets in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedItemTarget(GetFeedItemTargetRequest) returns (google.ads.googleads.v9.resources.FeedItemTarget) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedItemTargets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes feed item targets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedItemTargetError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedItemTargets(MutateFeedItemTargetsRequest) returns (MutateFeedItemTargetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feedItemTargets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedItemTargetService.GetFeedItemTarget][google.ads.googleads.v9.services.FeedItemTargetService.GetFeedItemTarget]. +message GetFeedItemTargetRequest { + // Required. The resource name of the feed item targets to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedItemTarget" + } + ]; +} + +// Request message for [FeedItemTargetService.MutateFeedItemTargets][google.ads.googleads.v9.services.FeedItemTargetService.MutateFeedItemTargets]. +message MutateFeedItemTargetsRequest { + // Required. The ID of the customer whose feed item targets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed item targets. + repeated FeedItemTargetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; +} + +// A single operation (create, remove) on an feed item target. +message FeedItemTargetOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed item + // target. + google.ads.googleads.v9.resources.FeedItemTarget create = 1; + + // Remove operation: A resource name for the removed feed item target is + // expected, in this format: + // + // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}` + string remove = 2; + } +} + +// 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 (e.g. 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; + + // The mutated feed item target with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.FeedItemTarget feed_item_target = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_mapping_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_mapping_service.proto new file mode 100644 index 00000000..1e668132 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_mapping_service.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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/feed_mapping.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedMappingServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedMapping service. + +// Service to manage feed mappings. +service FeedMappingService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed mapping in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedMapping(GetFeedMappingRequest) returns (google.ads.googleads.v9.resources.FeedMapping) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedMappings/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes feed mappings. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedMappingError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feedMappings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedMappingService.GetFeedMapping][google.ads.googleads.v9.services.FeedMappingService.GetFeedMapping]. +message GetFeedMappingRequest { + // Required. The resource name of the feed mapping to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedMapping" + } + ]; +} + +// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v9.services.FeedMappingService.MutateFeedMappings]. +message MutateFeedMappingsRequest { + // Required. The ID of the customer whose feed mappings are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feed mappings. + repeated FeedMappingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on a feed mapping. +message FeedMappingOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed mapping. + google.ads.googleads.v9.resources.FeedMapping create = 1; + + // Remove operation: A resource name for the removed feed mapping is + // expected, in this format: + // + // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated feed mapping with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.FeedMapping feed_mapping = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_placeholder_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_placeholder_view_service.proto new file mode 100644 index 00000000..3ece6a71 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_placeholder_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/feed_placeholder_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedPlaceholderViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the FeedPlaceholderView service. + +// Service to fetch feed placeholder views. +service FeedPlaceholderViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed placeholder view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeedPlaceholderView(GetFeedPlaceholderViewRequest) returns (google.ads.googleads.v9.resources.FeedPlaceholderView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feedPlaceholderViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [FeedPlaceholderViewService.GetFeedPlaceholderView][google.ads.googleads.v9.services.FeedPlaceholderViewService.GetFeedPlaceholderView]. +message GetFeedPlaceholderViewRequest { + // Required. The resource name of the feed placeholder view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/FeedPlaceholderView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/feed_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/feed_service.proto new file mode 100644 index 00000000..9dc6f7e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/feed_service.proto @@ -0,0 +1,173 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/feed.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "FeedServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Feed service. + +// Service to manage feeds. +service FeedService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested feed in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetFeed(GetFeedRequest) returns (google.ads.googleads.v9.resources.Feed) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/feeds/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes feeds. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FeedError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [ListOperationError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/feeds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [FeedService.GetFeed][google.ads.googleads.v9.services.FeedService.GetFeed]. +message GetFeedRequest { + // Required. The resource name of the feed to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; +} + +// Request message for [FeedService.MutateFeeds][google.ads.googleads.v9.services.FeedService.MutateFeeds]. +message MutateFeedsRequest { + // Required. The ID of the customer whose feeds are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual feeds. + repeated FeedOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an feed. +message FeedOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new feed. + google.ads.googleads.v9.resources.Feed create = 1; + + // Update operation: The feed is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.Feed update = 2; + + // Remove operation: A resource name for the removed feed is + // expected, in this format: + // + // `customers/{customer_id}/feeds/{feed_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated feed with only mutable fields after mutate. The field will only + // be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Feed feed = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/gender_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/gender_view_service.proto new file mode 100644 index 00000000..d7653376 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/gender_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/gender_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GenderViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Gender View service. + +// Service to manage gender views. +service GenderViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested gender view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGenderView(GetGenderViewRequest) returns (google.ads.googleads.v9.resources.GenderView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/genderViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [GenderViewService.GetGenderView][google.ads.googleads.v9.services.GenderViewService.GetGenderView]. +message GetGenderViewRequest { + // Required. The resource name of the gender view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GenderView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/geo_target_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/geo_target_constant_service.proto new file mode 100644 index 00000000..000d67ef --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/geo_target_constant_service.proto @@ -0,0 +1,146 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/geo_target_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeoTargetConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Geo target constant service. + +// Service to fetch geo target constants. +service GeoTargetConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested geo target constant in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGeoTargetConstant(GetGeoTargetConstantRequest) returns (google.ads.googleads.v9.resources.GeoTargetConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=geoTargetConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns GeoTargetConstant suggestions by location name or by resource name. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [GeoTargetConstantSuggestionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) { + option (google.api.http) = { + post: "/v9/geoTargetConstants:suggest" + body: "*" + }; + } +} + +// Request message for [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v9.services.GeoTargetConstantService.GetGeoTargetConstant]. +message GetGeoTargetConstantRequest { + // Required. The resource name of the geo target constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeoTargetConstant" + } + ]; +} + +// Request message for +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v9.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsRequest { + // A list of location names. + message LocationNames { + // A list of location names. + repeated string names = 2; + } + + // A list of geo target constant resource names. + message GeoTargets { + // A list of geo target constant resource names. + repeated string geo_target_constants = 2; + } + + // If possible, returned geo targets are translated using this locale. If not, + // en is used by default. This is also used as a hint for returned geo + // targets. + optional string locale = 6; + + // Returned geo targets are restricted to this country code. + optional string country_code = 7; + + // Required. A selector of geo target constants. + oneof query { + // The location names to search by. At most 25 names can be set. + LocationNames location_names = 1; + + // The geo target constant resource names to filter by. + GeoTargets geo_targets = 2; + } +} + +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v9.services.GeoTargetConstantService.SuggestGeoTargetConstants]. +message SuggestGeoTargetConstantsResponse { + // Geo target constant suggestions. + repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; +} + +// A geo target constant suggestion. +message GeoTargetConstantSuggestion { + // The language this GeoTargetConstantSuggestion is currently translated to. + // It affects the name of geo target fields. For example, if locale=en, then + // name=Spain. If locale=es, then name=España. The default locale will be + // returned if no translation exists for the locale in the request. + optional string locale = 6; + + // Approximate user population that will be targeted, rounded to the + // nearest 100. + optional int64 reach = 7; + + // If the request searched by location name, this is the location name that + // matched the geo target. + optional string search_term = 8; + + // The GeoTargetConstant result. + google.ads.googleads.v9.resources.GeoTargetConstant geo_target_constant = 4; + + // The list of parents of the geo target constant. + repeated google.ads.googleads.v9.resources.GeoTargetConstant geo_target_constant_parents = 5; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/geographic_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/geographic_view_service.proto new file mode 100644 index 00000000..49aceac4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/geographic_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/geographic_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GeographicViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the GeographicViewService. + +// Service to manage geographic views. +service GeographicViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested geographic view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGeographicView(GetGeographicViewRequest) returns (google.ads.googleads.v9.resources.GeographicView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/geographicViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [GeographicViewService.GetGeographicView][google.ads.googleads.v9.services.GeographicViewService.GetGeographicView]. +message GetGeographicViewRequest { + // Required. The resource name of the geographic view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GeographicView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/google_ads_field_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/google_ads_field_service.proto new file mode 100644 index 00000000..4308514a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/google_ads_field_service.proto @@ -0,0 +1,115 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/google_ads_field.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsFieldServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the GoogleAdsFieldService. + +// Service to fetch Google Ads API fields. +service GoogleAdsFieldService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns just the requested field. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v9.resources.GoogleAdsField) { + option (google.api.http) = { + get: "/v9/{resource_name=googleAdsFields/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns all fields that match the search query. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QueryError]() + // [QuotaError]() + // [RequestError]() + rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) { + option (google.api.http) = { + post: "/v9/googleAdsFields:search" + body: "*" + }; + option (google.api.method_signature) = "query"; + } +} + +// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v9.services.GoogleAdsFieldService.GetGoogleAdsField]. +message GetGoogleAdsFieldRequest { + // Required. The resource name of the field to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GoogleAdsField" + } + ]; +} + +// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v9.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsRequest { + // Required. The query string. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Token of the page to retrieve. If not specified, the first page of + // results will be returned. Use the value obtained from `next_page_token` + // in the previous response in order to request the next page of results. + string page_token = 2; + + // Number of elements to retrieve in a single page. + // When too large a page is requested, the server may decide to further + // limit the number of returned resources. + int32 page_size = 3; +} + +// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v9.services.GoogleAdsFieldService.SearchGoogleAdsFields]. +message SearchGoogleAdsFieldsResponse { + // The list of fields that matched the query. + repeated google.ads.googleads.v9.resources.GoogleAdsField results = 1; + + // Pagination token used to retrieve the next page of results. Pass the + // content of this string as the `page_token` attribute of the next request. + // `next_page_token` is not returned for the last page. + string next_page_token = 2; + + // Total number of results that match the query ignoring the LIMIT clause. + int64 total_results_count = 3; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/google_ads_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/google_ads_service.proto new file mode 100644 index 00000000..91f8db24 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/google_ads_service.proto @@ -0,0 +1,1425 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/metrics.proto"; +import "google/ads/googleads/v9/common/segments.proto"; +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/enums/summary_row_setting.proto"; +import "google/ads/googleads/v9/resources/accessible_bidding_strategy.proto"; +import "google/ads/googleads/v9/resources/account_budget.proto"; +import "google/ads/googleads/v9/resources/account_budget_proposal.proto"; +import "google/ads/googleads/v9/resources/account_link.proto"; +import "google/ads/googleads/v9/resources/ad_group.proto"; +import "google/ads/googleads/v9/resources/ad_group_ad.proto"; +import "google/ads/googleads/v9/resources/ad_group_ad_asset_view.proto"; +import "google/ads/googleads/v9/resources/ad_group_ad_label.proto"; +import "google/ads/googleads/v9/resources/ad_group_asset.proto"; +import "google/ads/googleads/v9/resources/ad_group_audience_view.proto"; +import "google/ads/googleads/v9/resources/ad_group_bid_modifier.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion_customizer.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion_label.proto"; +import "google/ads/googleads/v9/resources/ad_group_criterion_simulation.proto"; +import "google/ads/googleads/v9/resources/ad_group_customizer.proto"; +import "google/ads/googleads/v9/resources/ad_group_extension_setting.proto"; +import "google/ads/googleads/v9/resources/ad_group_feed.proto"; +import "google/ads/googleads/v9/resources/ad_group_label.proto"; +import "google/ads/googleads/v9/resources/ad_group_simulation.proto"; +import "google/ads/googleads/v9/resources/ad_parameter.proto"; +import "google/ads/googleads/v9/resources/ad_schedule_view.proto"; +import "google/ads/googleads/v9/resources/age_range_view.proto"; +import "google/ads/googleads/v9/resources/asset.proto"; +import "google/ads/googleads/v9/resources/asset_field_type_view.proto"; +import "google/ads/googleads/v9/resources/asset_group.proto"; +import "google/ads/googleads/v9/resources/asset_group_asset.proto"; +import "google/ads/googleads/v9/resources/asset_group_listing_group_filter.proto"; +import "google/ads/googleads/v9/resources/asset_group_product_group_view.proto"; +import "google/ads/googleads/v9/resources/asset_set.proto"; +import "google/ads/googleads/v9/resources/asset_set_asset.proto"; +import "google/ads/googleads/v9/resources/batch_job.proto"; +import "google/ads/googleads/v9/resources/bidding_data_exclusion.proto"; +import "google/ads/googleads/v9/resources/bidding_seasonality_adjustment.proto"; +import "google/ads/googleads/v9/resources/bidding_strategy.proto"; +import "google/ads/googleads/v9/resources/bidding_strategy_simulation.proto"; +import "google/ads/googleads/v9/resources/billing_setup.proto"; +import "google/ads/googleads/v9/resources/call_view.proto"; +import "google/ads/googleads/v9/resources/campaign.proto"; +import "google/ads/googleads/v9/resources/campaign_asset.proto"; +import "google/ads/googleads/v9/resources/campaign_asset_set.proto"; +import "google/ads/googleads/v9/resources/campaign_audience_view.proto"; +import "google/ads/googleads/v9/resources/campaign_bid_modifier.proto"; +import "google/ads/googleads/v9/resources/campaign_budget.proto"; +import "google/ads/googleads/v9/resources/campaign_conversion_goal.proto"; +import "google/ads/googleads/v9/resources/campaign_criterion.proto"; +import "google/ads/googleads/v9/resources/campaign_criterion_simulation.proto"; +import "google/ads/googleads/v9/resources/campaign_customizer.proto"; +import "google/ads/googleads/v9/resources/campaign_draft.proto"; +import "google/ads/googleads/v9/resources/campaign_experiment.proto"; +import "google/ads/googleads/v9/resources/campaign_extension_setting.proto"; +import "google/ads/googleads/v9/resources/campaign_feed.proto"; +import "google/ads/googleads/v9/resources/campaign_label.proto"; +import "google/ads/googleads/v9/resources/campaign_shared_set.proto"; +import "google/ads/googleads/v9/resources/campaign_simulation.proto"; +import "google/ads/googleads/v9/resources/carrier_constant.proto"; +import "google/ads/googleads/v9/resources/change_event.proto"; +import "google/ads/googleads/v9/resources/change_status.proto"; +import "google/ads/googleads/v9/resources/click_view.proto"; +import "google/ads/googleads/v9/resources/combined_audience.proto"; +import "google/ads/googleads/v9/resources/conversion_action.proto"; +import "google/ads/googleads/v9/resources/conversion_custom_variable.proto"; +import "google/ads/googleads/v9/resources/conversion_goal_campaign_config.proto"; +import "google/ads/googleads/v9/resources/conversion_value_rule.proto"; +import "google/ads/googleads/v9/resources/conversion_value_rule_set.proto"; +import "google/ads/googleads/v9/resources/currency_constant.proto"; +import "google/ads/googleads/v9/resources/custom_audience.proto"; +import "google/ads/googleads/v9/resources/custom_conversion_goal.proto"; +import "google/ads/googleads/v9/resources/custom_interest.proto"; +import "google/ads/googleads/v9/resources/customer.proto"; +import "google/ads/googleads/v9/resources/customer_asset.proto"; +import "google/ads/googleads/v9/resources/customer_client.proto"; +import "google/ads/googleads/v9/resources/customer_client_link.proto"; +import "google/ads/googleads/v9/resources/customer_conversion_goal.proto"; +import "google/ads/googleads/v9/resources/customer_customizer.proto"; +import "google/ads/googleads/v9/resources/customer_extension_setting.proto"; +import "google/ads/googleads/v9/resources/customer_feed.proto"; +import "google/ads/googleads/v9/resources/customer_label.proto"; +import "google/ads/googleads/v9/resources/customer_manager_link.proto"; +import "google/ads/googleads/v9/resources/customer_negative_criterion.proto"; +import "google/ads/googleads/v9/resources/customer_user_access.proto"; +import "google/ads/googleads/v9/resources/customer_user_access_invitation.proto"; +import "google/ads/googleads/v9/resources/customizer_attribute.proto"; +import "google/ads/googleads/v9/resources/detail_placement_view.proto"; +import "google/ads/googleads/v9/resources/detailed_demographic.proto"; +import "google/ads/googleads/v9/resources/display_keyword_view.proto"; +import "google/ads/googleads/v9/resources/distance_view.proto"; +import "google/ads/googleads/v9/resources/domain_category.proto"; +import "google/ads/googleads/v9/resources/dynamic_search_ads_search_term_view.proto"; +import "google/ads/googleads/v9/resources/expanded_landing_page_view.proto"; +import "google/ads/googleads/v9/resources/extension_feed_item.proto"; +import "google/ads/googleads/v9/resources/feed.proto"; +import "google/ads/googleads/v9/resources/feed_item.proto"; +import "google/ads/googleads/v9/resources/feed_item_set.proto"; +import "google/ads/googleads/v9/resources/feed_item_set_link.proto"; +import "google/ads/googleads/v9/resources/feed_item_target.proto"; +import "google/ads/googleads/v9/resources/feed_mapping.proto"; +import "google/ads/googleads/v9/resources/feed_placeholder_view.proto"; +import "google/ads/googleads/v9/resources/gender_view.proto"; +import "google/ads/googleads/v9/resources/geo_target_constant.proto"; +import "google/ads/googleads/v9/resources/geographic_view.proto"; +import "google/ads/googleads/v9/resources/group_placement_view.proto"; +import "google/ads/googleads/v9/resources/hotel_group_view.proto"; +import "google/ads/googleads/v9/resources/hotel_performance_view.proto"; +import "google/ads/googleads/v9/resources/hotel_reconciliation.proto"; +import "google/ads/googleads/v9/resources/income_range_view.proto"; +import "google/ads/googleads/v9/resources/keyword_plan.proto"; +import "google/ads/googleads/v9/resources/keyword_plan_ad_group.proto"; +import "google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto"; +import "google/ads/googleads/v9/resources/keyword_plan_campaign.proto"; +import "google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto"; +import "google/ads/googleads/v9/resources/keyword_theme_constant.proto"; +import "google/ads/googleads/v9/resources/keyword_view.proto"; +import "google/ads/googleads/v9/resources/label.proto"; +import "google/ads/googleads/v9/resources/landing_page_view.proto"; +import "google/ads/googleads/v9/resources/language_constant.proto"; +import "google/ads/googleads/v9/resources/life_event.proto"; +import "google/ads/googleads/v9/resources/location_view.proto"; +import "google/ads/googleads/v9/resources/managed_placement_view.proto"; +import "google/ads/googleads/v9/resources/media_file.proto"; +import "google/ads/googleads/v9/resources/mobile_app_category_constant.proto"; +import "google/ads/googleads/v9/resources/mobile_device_constant.proto"; +import "google/ads/googleads/v9/resources/offline_user_data_job.proto"; +import "google/ads/googleads/v9/resources/operating_system_version_constant.proto"; +import "google/ads/googleads/v9/resources/paid_organic_search_term_view.proto"; +import "google/ads/googleads/v9/resources/parental_status_view.proto"; +import "google/ads/googleads/v9/resources/product_bidding_category_constant.proto"; +import "google/ads/googleads/v9/resources/product_group_view.proto"; +import "google/ads/googleads/v9/resources/recommendation.proto"; +import "google/ads/googleads/v9/resources/remarketing_action.proto"; +import "google/ads/googleads/v9/resources/search_term_view.proto"; +import "google/ads/googleads/v9/resources/shared_criterion.proto"; +import "google/ads/googleads/v9/resources/shared_set.proto"; +import "google/ads/googleads/v9/resources/shopping_performance_view.proto"; +import "google/ads/googleads/v9/resources/smart_campaign_search_term_view.proto"; +import "google/ads/googleads/v9/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v9/resources/third_party_app_analytics_link.proto"; +import "google/ads/googleads/v9/resources/topic_constant.proto"; +import "google/ads/googleads/v9/resources/topic_view.proto"; +import "google/ads/googleads/v9/resources/user_interest.proto"; +import "google/ads/googleads/v9/resources/user_list.proto"; +import "google/ads/googleads/v9/resources/user_location_view.proto"; +import "google/ads/googleads/v9/resources/video.proto"; +import "google/ads/googleads/v9/resources/webpage_view.proto"; +import "google/ads/googleads/v9/services/ad_group_ad_label_service.proto"; +import "google/ads/googleads/v9/services/ad_group_ad_service.proto"; +import "google/ads/googleads/v9/services/ad_group_asset_service.proto"; +import "google/ads/googleads/v9/services/ad_group_bid_modifier_service.proto"; +import "google/ads/googleads/v9/services/ad_group_criterion_customizer_service.proto"; +import "google/ads/googleads/v9/services/ad_group_criterion_label_service.proto"; +import "google/ads/googleads/v9/services/ad_group_criterion_service.proto"; +import "google/ads/googleads/v9/services/ad_group_customizer_service.proto"; +import "google/ads/googleads/v9/services/ad_group_extension_setting_service.proto"; +import "google/ads/googleads/v9/services/ad_group_feed_service.proto"; +import "google/ads/googleads/v9/services/ad_group_label_service.proto"; +import "google/ads/googleads/v9/services/ad_group_service.proto"; +import "google/ads/googleads/v9/services/ad_parameter_service.proto"; +import "google/ads/googleads/v9/services/ad_service.proto"; +import "google/ads/googleads/v9/services/asset_group_asset_service.proto"; +import "google/ads/googleads/v9/services/asset_group_listing_group_filter_service.proto"; +import "google/ads/googleads/v9/services/asset_group_service.proto"; +import "google/ads/googleads/v9/services/asset_service.proto"; +import "google/ads/googleads/v9/services/asset_set_asset_service.proto"; +import "google/ads/googleads/v9/services/asset_set_service.proto"; +import "google/ads/googleads/v9/services/bidding_data_exclusion_service.proto"; +import "google/ads/googleads/v9/services/bidding_seasonality_adjustment_service.proto"; +import "google/ads/googleads/v9/services/bidding_strategy_service.proto"; +import "google/ads/googleads/v9/services/campaign_asset_service.proto"; +import "google/ads/googleads/v9/services/campaign_asset_set_service.proto"; +import "google/ads/googleads/v9/services/campaign_bid_modifier_service.proto"; +import "google/ads/googleads/v9/services/campaign_budget_service.proto"; +import "google/ads/googleads/v9/services/campaign_conversion_goal_service.proto"; +import "google/ads/googleads/v9/services/campaign_criterion_service.proto"; +import "google/ads/googleads/v9/services/campaign_customizer_service.proto"; +import "google/ads/googleads/v9/services/campaign_draft_service.proto"; +import "google/ads/googleads/v9/services/campaign_experiment_service.proto"; +import "google/ads/googleads/v9/services/campaign_extension_setting_service.proto"; +import "google/ads/googleads/v9/services/campaign_feed_service.proto"; +import "google/ads/googleads/v9/services/campaign_label_service.proto"; +import "google/ads/googleads/v9/services/campaign_service.proto"; +import "google/ads/googleads/v9/services/campaign_shared_set_service.proto"; +import "google/ads/googleads/v9/services/conversion_action_service.proto"; +import "google/ads/googleads/v9/services/conversion_custom_variable_service.proto"; +import "google/ads/googleads/v9/services/conversion_goal_campaign_config_service.proto"; +import "google/ads/googleads/v9/services/conversion_value_rule_service.proto"; +import "google/ads/googleads/v9/services/conversion_value_rule_set_service.proto"; +import "google/ads/googleads/v9/services/custom_conversion_goal_service.proto"; +import "google/ads/googleads/v9/services/customer_asset_service.proto"; +import "google/ads/googleads/v9/services/customer_conversion_goal_service.proto"; +import "google/ads/googleads/v9/services/customer_customizer_service.proto"; +import "google/ads/googleads/v9/services/customer_extension_setting_service.proto"; +import "google/ads/googleads/v9/services/customer_feed_service.proto"; +import "google/ads/googleads/v9/services/customer_label_service.proto"; +import "google/ads/googleads/v9/services/customer_negative_criterion_service.proto"; +import "google/ads/googleads/v9/services/customer_service.proto"; +import "google/ads/googleads/v9/services/customizer_attribute_service.proto"; +import "google/ads/googleads/v9/services/extension_feed_item_service.proto"; +import "google/ads/googleads/v9/services/feed_item_service.proto"; +import "google/ads/googleads/v9/services/feed_item_set_link_service.proto"; +import "google/ads/googleads/v9/services/feed_item_set_service.proto"; +import "google/ads/googleads/v9/services/feed_item_target_service.proto"; +import "google/ads/googleads/v9/services/feed_mapping_service.proto"; +import "google/ads/googleads/v9/services/feed_service.proto"; +import "google/ads/googleads/v9/services/keyword_plan_ad_group_keyword_service.proto"; +import "google/ads/googleads/v9/services/keyword_plan_ad_group_service.proto"; +import "google/ads/googleads/v9/services/keyword_plan_campaign_keyword_service.proto"; +import "google/ads/googleads/v9/services/keyword_plan_campaign_service.proto"; +import "google/ads/googleads/v9/services/keyword_plan_service.proto"; +import "google/ads/googleads/v9/services/label_service.proto"; +import "google/ads/googleads/v9/services/media_file_service.proto"; +import "google/ads/googleads/v9/services/remarketing_action_service.proto"; +import "google/ads/googleads/v9/services/shared_criterion_service.proto"; +import "google/ads/googleads/v9/services/shared_set_service.proto"; +import "google/ads/googleads/v9/services/smart_campaign_setting_service.proto"; +import "google/ads/googleads/v9/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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GoogleAdsServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::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: "/v9/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: "/v9/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 desired 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: "/v9/customers/{customer_id=*}/googleAds:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,mutate_operations"; + } +} + +// Request message for [GoogleAdsService.Search][google.ads.googleads.v9.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.v9.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 8; +} + +// Response message for [GoogleAdsService.Search][google.ads.googleads.v9.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; +} + +// Request message for [GoogleAdsService.SearchStream][google.ads.googleads.v9.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.v9.enums.SummaryRowSettingEnum.SummaryRowSetting summary_row_setting = 3; +} + +// Response message for [GoogleAdsService.SearchStream][google.ads.googleads.v9.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; +} + +// A returned row from the query. +message GoogleAdsRow { + // The account budget in the query. + google.ads.googleads.v9.resources.AccountBudget account_budget = 42; + + // The account budget proposal referenced in the query. + google.ads.googleads.v9.resources.AccountBudgetProposal account_budget_proposal = 43; + + // The AccountLink referenced in the query. + google.ads.googleads.v9.resources.AccountLink account_link = 143; + + // The ad group referenced in the query. + google.ads.googleads.v9.resources.AdGroup ad_group = 3; + + // The ad referenced in the query. + google.ads.googleads.v9.resources.AdGroupAd ad_group_ad = 16; + + // The ad group ad asset view in the query. + google.ads.googleads.v9.resources.AdGroupAdAssetView ad_group_ad_asset_view = 131; + + // The ad group ad label referenced in the query. + google.ads.googleads.v9.resources.AdGroupAdLabel ad_group_ad_label = 120; + + // The ad group asset referenced in the query. + google.ads.googleads.v9.resources.AdGroupAsset ad_group_asset = 154; + + // The ad group audience view referenced in the query. + google.ads.googleads.v9.resources.AdGroupAudienceView ad_group_audience_view = 57; + + // The bid modifier referenced in the query. + google.ads.googleads.v9.resources.AdGroupBidModifier ad_group_bid_modifier = 24; + + // The criterion referenced in the query. + google.ads.googleads.v9.resources.AdGroupCriterion ad_group_criterion = 17; + + // The ad group criterion customizer referenced in the query. + google.ads.googleads.v9.resources.AdGroupCriterionCustomizer ad_group_criterion_customizer = 187; + + // The ad group criterion label referenced in the query. + google.ads.googleads.v9.resources.AdGroupCriterionLabel ad_group_criterion_label = 121; + + // The ad group criterion simulation referenced in the query. + google.ads.googleads.v9.resources.AdGroupCriterionSimulation ad_group_criterion_simulation = 110; + + // The ad group customizer referenced in the query. + google.ads.googleads.v9.resources.AdGroupCustomizer ad_group_customizer = 185; + + // The ad group extension setting referenced in the query. + google.ads.googleads.v9.resources.AdGroupExtensionSetting ad_group_extension_setting = 112; + + // The ad group feed referenced in the query. + google.ads.googleads.v9.resources.AdGroupFeed ad_group_feed = 67; + + // The ad group label referenced in the query. + google.ads.googleads.v9.resources.AdGroupLabel ad_group_label = 115; + + // The ad group simulation referenced in the query. + google.ads.googleads.v9.resources.AdGroupSimulation ad_group_simulation = 107; + + // The ad parameter referenced in the query. + google.ads.googleads.v9.resources.AdParameter ad_parameter = 130; + + // The age range view referenced in the query. + google.ads.googleads.v9.resources.AgeRangeView age_range_view = 48; + + // The ad schedule view referenced in the query. + google.ads.googleads.v9.resources.AdScheduleView ad_schedule_view = 89; + + // The domain category referenced in the query. + google.ads.googleads.v9.resources.DomainCategory domain_category = 91; + + // The asset referenced in the query. + google.ads.googleads.v9.resources.Asset asset = 105; + + // The asset field type view referenced in the query. + google.ads.googleads.v9.resources.AssetFieldTypeView asset_field_type_view = 168; + + // The asset group asset referenced in the query. + google.ads.googleads.v9.resources.AssetGroupAsset asset_group_asset = 173; + + // The asset group listing group filter referenced in the query. + google.ads.googleads.v9.resources.AssetGroupListingGroupFilter asset_group_listing_group_filter = 182; + + // The asset group product group view referenced in the query. + google.ads.googleads.v9.resources.AssetGroupProductGroupView asset_group_product_group_view = 189; + + // The asset group referenced in the query. + google.ads.googleads.v9.resources.AssetGroup asset_group = 172; + + // The asset set asset referenced in the query. + google.ads.googleads.v9.resources.AssetSetAsset asset_set_asset = 180; + + // The asset set referenced in the query. + google.ads.googleads.v9.resources.AssetSet asset_set = 179; + + // The batch job referenced in the query. + google.ads.googleads.v9.resources.BatchJob batch_job = 139; + + // The bidding data exclusion referenced in the query. + google.ads.googleads.v9.resources.BiddingDataExclusion bidding_data_exclusion = 159; + + // The bidding seasonality adjustment referenced in the query. + google.ads.googleads.v9.resources.BiddingSeasonalityAdjustment bidding_seasonality_adjustment = 160; + + // The bidding strategy referenced in the query. + google.ads.googleads.v9.resources.BiddingStrategy bidding_strategy = 18; + + // The bidding strategy simulation referenced in the query. + google.ads.googleads.v9.resources.BiddingStrategySimulation bidding_strategy_simulation = 158; + + // The billing setup referenced in the query. + google.ads.googleads.v9.resources.BillingSetup billing_setup = 41; + + // The call view referenced in the query. + google.ads.googleads.v9.resources.CallView call_view = 152; + + // The campaign budget referenced in the query. + google.ads.googleads.v9.resources.CampaignBudget campaign_budget = 19; + + // The campaign referenced in the query. + google.ads.googleads.v9.resources.Campaign campaign = 2; + + // The campaign asset referenced in the query. + google.ads.googleads.v9.resources.CampaignAsset campaign_asset = 142; + + // The campaign asset set referenced in the query. + google.ads.googleads.v9.resources.CampaignAssetSet campaign_asset_set = 181; + + // The campaign audience view referenced in the query. + google.ads.googleads.v9.resources.CampaignAudienceView campaign_audience_view = 69; + + // The campaign bid modifier referenced in the query. + google.ads.googleads.v9.resources.CampaignBidModifier campaign_bid_modifier = 26; + + // The CampaignConversionGoal referenced in the query. + google.ads.googleads.v9.resources.CampaignConversionGoal campaign_conversion_goal = 175; + + // The campaign criterion referenced in the query. + google.ads.googleads.v9.resources.CampaignCriterion campaign_criterion = 20; + + // The campaign criterion simulation referenced in the query. + google.ads.googleads.v9.resources.CampaignCriterionSimulation campaign_criterion_simulation = 111; + + // The campaign customizer referenced in the query. + google.ads.googleads.v9.resources.CampaignCustomizer campaign_customizer = 186; + + // The campaign draft referenced in the query. + google.ads.googleads.v9.resources.CampaignDraft campaign_draft = 49; + + // The campaign experiment referenced in the query. + google.ads.googleads.v9.resources.CampaignExperiment campaign_experiment = 84; + + // The campaign extension setting referenced in the query. + google.ads.googleads.v9.resources.CampaignExtensionSetting campaign_extension_setting = 113; + + // The campaign feed referenced in the query. + google.ads.googleads.v9.resources.CampaignFeed campaign_feed = 63; + + // The campaign label referenced in the query. + google.ads.googleads.v9.resources.CampaignLabel campaign_label = 108; + + // Campaign Shared Set referenced in AWQL query. + google.ads.googleads.v9.resources.CampaignSharedSet campaign_shared_set = 30; + + // The campaign simulation referenced in the query. + google.ads.googleads.v9.resources.CampaignSimulation campaign_simulation = 157; + + // The carrier constant referenced in the query. + google.ads.googleads.v9.resources.CarrierConstant carrier_constant = 66; + + // The ChangeEvent referenced in the query. + google.ads.googleads.v9.resources.ChangeEvent change_event = 145; + + // The ChangeStatus referenced in the query. + google.ads.googleads.v9.resources.ChangeStatus change_status = 37; + + // The CombinedAudience referenced in the query. + google.ads.googleads.v9.resources.CombinedAudience combined_audience = 148; + + // The conversion action referenced in the query. + google.ads.googleads.v9.resources.ConversionAction conversion_action = 103; + + // The conversion custom variable referenced in the query. + google.ads.googleads.v9.resources.ConversionCustomVariable conversion_custom_variable = 153; + + // The ConversionGoalCampaignConfig referenced in the query. + google.ads.googleads.v9.resources.ConversionGoalCampaignConfig conversion_goal_campaign_config = 177; + + // The conversion value rule referenced in the query. + google.ads.googleads.v9.resources.ConversionValueRule conversion_value_rule = 164; + + // The conversion value rule set referenced in the query. + google.ads.googleads.v9.resources.ConversionValueRuleSet conversion_value_rule_set = 165; + + // The ClickView referenced in the query. + google.ads.googleads.v9.resources.ClickView click_view = 122; + + // The currency constant referenced in the query. + google.ads.googleads.v9.resources.CurrencyConstant currency_constant = 134; + + // The CustomAudience referenced in the query. + google.ads.googleads.v9.resources.CustomAudience custom_audience = 147; + + // The CustomConversionGoal referenced in the query. + google.ads.googleads.v9.resources.CustomConversionGoal custom_conversion_goal = 176; + + // The CustomInterest referenced in the query. + google.ads.googleads.v9.resources.CustomInterest custom_interest = 104; + + // The customer referenced in the query. + google.ads.googleads.v9.resources.Customer customer = 1; + + // The customer asset referenced in the query. + google.ads.googleads.v9.resources.CustomerAsset customer_asset = 155; + + // The accessible bidding strategy referenced in the query. + google.ads.googleads.v9.resources.AccessibleBiddingStrategy accessible_bidding_strategy = 169; + + // The customer customizer referenced in the query. + google.ads.googleads.v9.resources.CustomerCustomizer customer_customizer = 184; + + // The CustomerManagerLink referenced in the query. + google.ads.googleads.v9.resources.CustomerManagerLink customer_manager_link = 61; + + // The CustomerClientLink referenced in the query. + google.ads.googleads.v9.resources.CustomerClientLink customer_client_link = 62; + + // The CustomerClient referenced in the query. + google.ads.googleads.v9.resources.CustomerClient customer_client = 70; + + // The CustomerConversionGoal referenced in the query. + google.ads.googleads.v9.resources.CustomerConversionGoal customer_conversion_goal = 174; + + // The customer extension setting referenced in the query. + google.ads.googleads.v9.resources.CustomerExtensionSetting customer_extension_setting = 114; + + // The customer feed referenced in the query. + google.ads.googleads.v9.resources.CustomerFeed customer_feed = 64; + + // The customer label referenced in the query. + google.ads.googleads.v9.resources.CustomerLabel customer_label = 124; + + // The customer negative criterion referenced in the query. + google.ads.googleads.v9.resources.CustomerNegativeCriterion customer_negative_criterion = 88; + + // The CustomerUserAccess referenced in the query. + google.ads.googleads.v9.resources.CustomerUserAccess customer_user_access = 146; + + // The CustomerUserAccessInvitation referenced in the query. + google.ads.googleads.v9.resources.CustomerUserAccessInvitation customer_user_access_invitation = 150; + + // The customizer attribute referenced in the query. + google.ads.googleads.v9.resources.CustomizerAttribute customizer_attribute = 178; + + // The detail placement view referenced in the query. + google.ads.googleads.v9.resources.DetailPlacementView detail_placement_view = 118; + + // The detailed demographic referenced in the query. + google.ads.googleads.v9.resources.DetailedDemographic detailed_demographic = 166; + + // The display keyword view referenced in the query. + google.ads.googleads.v9.resources.DisplayKeywordView display_keyword_view = 47; + + // The distance view referenced in the query. + google.ads.googleads.v9.resources.DistanceView distance_view = 132; + + // The dynamic search ads search term view referenced in the query. + google.ads.googleads.v9.resources.DynamicSearchAdsSearchTermView dynamic_search_ads_search_term_view = 106; + + // The expanded landing page view referenced in the query. + google.ads.googleads.v9.resources.ExpandedLandingPageView expanded_landing_page_view = 128; + + // The extension feed item referenced in the query. + google.ads.googleads.v9.resources.ExtensionFeedItem extension_feed_item = 85; + + // The feed referenced in the query. + google.ads.googleads.v9.resources.Feed feed = 46; + + // The feed item referenced in the query. + google.ads.googleads.v9.resources.FeedItem feed_item = 50; + + // The feed item set referenced in the query. + google.ads.googleads.v9.resources.FeedItemSet feed_item_set = 149; + + // The feed item set link referenced in the query. + google.ads.googleads.v9.resources.FeedItemSetLink feed_item_set_link = 151; + + // The feed item target referenced in the query. + google.ads.googleads.v9.resources.FeedItemTarget feed_item_target = 116; + + // The feed mapping referenced in the query. + google.ads.googleads.v9.resources.FeedMapping feed_mapping = 58; + + // The feed placeholder view referenced in the query. + google.ads.googleads.v9.resources.FeedPlaceholderView feed_placeholder_view = 97; + + // The gender view referenced in the query. + google.ads.googleads.v9.resources.GenderView gender_view = 40; + + // The geo target constant referenced in the query. + google.ads.googleads.v9.resources.GeoTargetConstant geo_target_constant = 23; + + // The geographic view referenced in the query. + google.ads.googleads.v9.resources.GeographicView geographic_view = 125; + + // The group placement view referenced in the query. + google.ads.googleads.v9.resources.GroupPlacementView group_placement_view = 119; + + // The hotel group view referenced in the query. + google.ads.googleads.v9.resources.HotelGroupView hotel_group_view = 51; + + // The hotel performance view referenced in the query. + google.ads.googleads.v9.resources.HotelPerformanceView hotel_performance_view = 71; + + // The hotel reconciliation referenced in the query. + google.ads.googleads.v9.resources.HotelReconciliation hotel_reconciliation = 188; + + // The income range view referenced in the query. + google.ads.googleads.v9.resources.IncomeRangeView income_range_view = 138; + + // The keyword view referenced in the query. + google.ads.googleads.v9.resources.KeywordView keyword_view = 21; + + // The keyword plan referenced in the query. + google.ads.googleads.v9.resources.KeywordPlan keyword_plan = 32; + + // The keyword plan campaign referenced in the query. + google.ads.googleads.v9.resources.KeywordPlanCampaign keyword_plan_campaign = 33; + + // The keyword plan campaign keyword referenced in the query. + google.ads.googleads.v9.resources.KeywordPlanCampaignKeyword keyword_plan_campaign_keyword = 140; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v9.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35; + + // The keyword plan ad group referenced in the query. + google.ads.googleads.v9.resources.KeywordPlanAdGroupKeyword keyword_plan_ad_group_keyword = 141; + + // The keyword theme constant referenced in the query. + google.ads.googleads.v9.resources.KeywordThemeConstant keyword_theme_constant = 163; + + // The label referenced in the query. + google.ads.googleads.v9.resources.Label label = 52; + + // The landing page view referenced in the query. + google.ads.googleads.v9.resources.LandingPageView landing_page_view = 126; + + // The language constant referenced in the query. + google.ads.googleads.v9.resources.LanguageConstant language_constant = 55; + + // The location view referenced in the query. + google.ads.googleads.v9.resources.LocationView location_view = 123; + + // The managed placement view referenced in the query. + google.ads.googleads.v9.resources.ManagedPlacementView managed_placement_view = 53; + + // The media file referenced in the query. + google.ads.googleads.v9.resources.MediaFile media_file = 90; + + // The mobile app category constant referenced in the query. + google.ads.googleads.v9.resources.MobileAppCategoryConstant mobile_app_category_constant = 87; + + // The mobile device constant referenced in the query. + google.ads.googleads.v9.resources.MobileDeviceConstant mobile_device_constant = 98; + + // The offline user data job referenced in the query. + google.ads.googleads.v9.resources.OfflineUserDataJob offline_user_data_job = 137; + + // The operating system version constant referenced in the query. + google.ads.googleads.v9.resources.OperatingSystemVersionConstant operating_system_version_constant = 86; + + // The paid organic search term view referenced in the query. + google.ads.googleads.v9.resources.PaidOrganicSearchTermView paid_organic_search_term_view = 129; + + // The parental status view referenced in the query. + google.ads.googleads.v9.resources.ParentalStatusView parental_status_view = 45; + + // The Product Bidding Category referenced in the query. + google.ads.googleads.v9.resources.ProductBiddingCategoryConstant product_bidding_category_constant = 109; + + // The product group view referenced in the query. + google.ads.googleads.v9.resources.ProductGroupView product_group_view = 54; + + // The recommendation referenced in the query. + google.ads.googleads.v9.resources.Recommendation recommendation = 22; + + // The search term view referenced in the query. + google.ads.googleads.v9.resources.SearchTermView search_term_view = 68; + + // The shared set referenced in the query. + google.ads.googleads.v9.resources.SharedCriterion shared_criterion = 29; + + // The shared set referenced in the query. + google.ads.googleads.v9.resources.SharedSet shared_set = 27; + + // The Smart campaign setting referenced in the query. + google.ads.googleads.v9.resources.SmartCampaignSetting smart_campaign_setting = 167; + + // The shopping performance view referenced in the query. + google.ads.googleads.v9.resources.ShoppingPerformanceView shopping_performance_view = 117; + + // The Smart campaign search term view referenced in the query. + google.ads.googleads.v9.resources.SmartCampaignSearchTermView smart_campaign_search_term_view = 170; + + // The AccountLink referenced in the query. + google.ads.googleads.v9.resources.ThirdPartyAppAnalyticsLink third_party_app_analytics_link = 144; + + // The topic view referenced in the query. + google.ads.googleads.v9.resources.TopicView topic_view = 44; + + // The user interest referenced in the query. + google.ads.googleads.v9.resources.UserInterest user_interest = 59; + + // The life event referenced in the query. + google.ads.googleads.v9.resources.LifeEvent life_event = 161; + + // The user list referenced in the query. + google.ads.googleads.v9.resources.UserList user_list = 38; + + // The user location view referenced in the query. + google.ads.googleads.v9.resources.UserLocationView user_location_view = 135; + + // The remarketing action referenced in the query. + google.ads.googleads.v9.resources.RemarketingAction remarketing_action = 60; + + // The topic constant referenced in the query. + google.ads.googleads.v9.resources.TopicConstant topic_constant = 31; + + // The video referenced in the query. + google.ads.googleads.v9.resources.Video video = 39; + + // The webpage view referenced in the query. + google.ads.googleads.v9.resources.WebpageView webpage_view = 162; + + // The metrics. + google.ads.googleads.v9.common.Metrics metrics = 4; + + // The segments. + google.ads.googleads.v9.common.Segments segments = 102; +} + +// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v9.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. E.g. MutateCampaignResult.campaign. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v9.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 (e.g., 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 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; + + // 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; + + // An campaign customizer mutate operation. + CampaignCustomizerOperation campaign_customizer_operation = 76; + + // A campaign draft mutate operation. + CampaignDraftOperation campaign_draft_operation = 24; + + // A campaign experiment mutate operation. + CampaignExperimentOperation campaign_experiment_operation = 25; + + // A campaign extension setting mutate operation. + CampaignExtensionSettingOperation campaign_extension_setting_operation = 26; + + // A campaign feed mutate operation. + CampaignFeedOperation campaign_feed_operation = 27; + + // 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; + + // An customer customizer mutate operation. + CustomerCustomizerOperation customizer_customizer_operation = 74; + + // 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; + + // An customizer attribute mutate operation. + CustomizerAttributeOperation customizer_attribute_operation = 70; + + // 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 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 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 experiment mutate. + MutateCampaignExperimentResult campaign_experiment_result = 25; + + // 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 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 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/google-cloud/protos/google/ads/googleads/v9/services/group_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/group_placement_view_service.proto new file mode 100644 index 00000000..bd8dda94 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/group_placement_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/group_placement_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "GroupPlacementViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Group Placement View service. + +// Service to fetch Group Placement views. +service GroupPlacementViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Group Placement view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetGroupPlacementView(GetGroupPlacementViewRequest) returns (google.ads.googleads.v9.resources.GroupPlacementView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/groupPlacementViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [GroupPlacementViewService.GetGroupPlacementView][google.ads.googleads.v9.services.GroupPlacementViewService.GetGroupPlacementView]. +message GetGroupPlacementViewRequest { + // Required. The resource name of the Group Placement view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/GroupPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/hotel_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/hotel_group_view_service.proto new file mode 100644 index 00000000..a1197337 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/hotel_group_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/hotel_group_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "HotelGroupViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Hotel Group View Service. + +// Service to manage Hotel Group Views. +service HotelGroupViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Hotel Group View in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetHotelGroupView(GetHotelGroupViewRequest) returns (google.ads.googleads.v9.resources.HotelGroupView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/hotelGroupViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [HotelGroupViewService.GetHotelGroupView][google.ads.googleads.v9.services.HotelGroupViewService.GetHotelGroupView]. +message GetHotelGroupViewRequest { + // Required. Resource name of the Hotel Group View to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/hotel_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/hotel_performance_view_service.proto new file mode 100644 index 00000000..6b516ca5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/hotel_performance_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/hotel_performance_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "HotelPerformanceViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Hotel Performance View Service. + +// Service to manage Hotel Performance Views. +service HotelPerformanceViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Hotel Performance View in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetHotelPerformanceView(GetHotelPerformanceViewRequest) returns (google.ads.googleads.v9.resources.HotelPerformanceView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/hotelPerformanceView}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [HotelPerformanceViewService.GetHotelPerformanceView][google.ads.googleads.v9.services.HotelPerformanceViewService.GetHotelPerformanceView]. +message GetHotelPerformanceViewRequest { + // Required. Resource name of the Hotel Performance View to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/HotelPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/income_range_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/income_range_view_service.proto new file mode 100644 index 00000000..9bc978a4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/income_range_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/income_range_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "IncomeRangeViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Income Range View service. + +// Service to manage income range views. +service IncomeRangeViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested income range view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetIncomeRangeView(GetIncomeRangeViewRequest) returns (google.ads.googleads.v9.resources.IncomeRangeView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/incomeRangeViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [IncomeRangeViewService.GetIncomeRangeView][google.ads.googleads.v9.services.IncomeRangeViewService.GetIncomeRangeView]. +message GetIncomeRangeViewRequest { + // Required. The resource name of the income range view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/IncomeRangeView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/invoice_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/invoice_service.proto new file mode 100644 index 00000000..ce8d3734 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/invoice_service.proto @@ -0,0 +1,83 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/month_of_year.proto"; +import "google/ads/googleads/v9/resources/invoice.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "InvoiceServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Invoice service. + +// A service to fetch invoices issued for a billing setup during a given month. +service InvoiceService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all invoices associated with a billing setup, for a given month. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [InvoiceError]() + // [QuotaError]() + // [RequestError]() + rpc ListInvoices(ListInvoicesRequest) returns (ListInvoicesResponse) { + option (google.api.http) = { + get: "/v9/customers/{customer_id=*}/invoices" + }; + option (google.api.method_signature) = "customer_id,billing_setup,issue_year,issue_month"; + } +} + +// Request message for fetching the invoices of a given billing setup that were +// issued during a given month. +message ListInvoicesRequest { + // Required. The ID of the customer to fetch invoices for. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The billing setup resource name of the requested invoices. + // + // `customers/{customer_id}/billingSetups/{billing_setup_id}` + string billing_setup = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue year to retrieve invoices, in yyyy format. Only + // invoices issued in 2019 or later can be retrieved. + string issue_year = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The issue month to retrieve invoices. + google.ads.googleads.v9.enums.MonthOfYearEnum.MonthOfYear issue_month = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [InvoiceService.ListInvoices][google.ads.googleads.v9.services.InvoiceService.ListInvoices]. +message ListInvoicesResponse { + // The list of invoices that match the billing setup and time period. + repeated google.ads.googleads.v9.resources.Invoice invoices = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_keyword_service.proto new file mode 100644 index 00000000..5001b10d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_keyword_service.proto @@ -0,0 +1,165 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_plan_ad_group_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the keyword plan ad group keyword service. + +// Service to manage Keyword Plan ad group keywords. KeywordPlanAdGroup is +// required to add ad group keywords. Positive and negative keywords are +// supported. A maximum of 10,000 positive keywords are allowed per keyword +// plan. A maximum of 1,000 negative keywords are allower per keyword plan. This +// includes campaign negative keywords and ad group negative keywords. +service KeywordPlanAdGroupKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Keyword Plan ad group keyword in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordPlanAdGroupKeyword(GetKeywordPlanAdGroupKeywordRequest) returns (google.ads.googleads.v9.resources.KeywordPlanAdGroupKeyword) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordPlanAdGroupKeywords/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes Keyword Plan ad group keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroupKeywords(MutateKeywordPlanAdGroupKeywordsRequest) returns (MutateKeywordPlanAdGroupKeywordsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/keywordPlanAdGroupKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.GetKeywordPlanAdGroupKeyword][google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.GetKeywordPlanAdGroupKeyword]. +message GetKeywordPlanAdGroupKeywordRequest { + // Required. The resource name of the ad group keyword to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + } + ]; +} + +// Request message for +// [KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords][google.ads.googleads.v9.services.KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords]. +message MutateKeywordPlanAdGroupKeywordsRequest { + // Required. The ID of the customer whose Keyword Plan ad group keywords are being + // modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad group + // keywords. + repeated KeywordPlanAdGroupKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group +// keyword. +message KeywordPlanAdGroupKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group keyword. + google.ads.googleads.v9.resources.KeywordPlanAdGroupKeyword create = 1; + + // Update operation: The Keyword Plan ad group keyword is expected to have a + // valid resource name. + google.ads.googleads.v9.resources.KeywordPlanAdGroupKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // keyword is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword" + }]; + } +} + +// Response message for a Keyword Plan ad group keyword mutate. +message MutateKeywordPlanAdGroupKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_service.proto new file mode 100644 index 00000000..a77967a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_ad_group_service.proto @@ -0,0 +1,159 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_plan_ad_group.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanAdGroupServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the keyword plan ad group service. + +// Service to manage Keyword Plan ad groups. +service KeywordPlanAdGroupService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Keyword Plan ad group in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordPlanAdGroup(GetKeywordPlanAdGroupRequest) returns (google.ads.googleads.v9.resources.KeywordPlanAdGroup) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordPlanAdGroups/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupError]() + // [KeywordPlanError]() + // [MutateError]() + // [NewResourceCreationError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/keywordPlanAdGroups:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [KeywordPlanAdGroupService.GetKeywordPlanAdGroup][google.ads.googleads.v9.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup]. +message GetKeywordPlanAdGroupRequest { + // Required. The resource name of the Keyword Plan ad group to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + } + ]; +} + +// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v9.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups]. +message MutateKeywordPlanAdGroupsRequest { + // Required. The ID of the customer whose Keyword Plan ad groups are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan ad groups. + repeated KeywordPlanAdGroupOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan ad group. +message KeywordPlanAdGroupOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // ad group. + google.ads.googleads.v9.resources.KeywordPlanAdGroup create = 1; + + // Update operation: The Keyword Plan ad group is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.KeywordPlanAdGroup update = 2; + + // Remove operation: A resource name for the removed Keyword Plan ad group + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanAdGroup" + }]; + } +} + +// Response message for a Keyword Plan ad group mutate. +message MutateKeywordPlanAdGroupsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_keyword_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_keyword_service.proto new file mode 100644 index 00000000..0ff3934f --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_keyword_service.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_plan_campaign_keyword.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignKeywordServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the keyword plan campaign keyword service. + +// Service to manage Keyword Plan campaign keywords. KeywordPlanCampaign is +// required to add the campaign keywords. Only negative keywords are supported. +// A maximum of 1000 negative keywords are allowed per plan. This includes both +// campaign negative keywords and ad group negative keywords. +service KeywordPlanCampaignKeywordService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested plan in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordPlanCampaignKeyword(GetKeywordPlanCampaignKeywordRequest) returns (google.ads.googleads.v9.resources.KeywordPlanCampaignKeyword) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordPlanCampaignKeywords/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes Keyword Plan campaign keywords. Operation + // statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanAdGroupKeywordError]() + // [KeywordPlanCampaignKeywordError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaignKeywords(MutateKeywordPlanCampaignKeywordsRequest) returns (MutateKeywordPlanCampaignKeywordsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/keywordPlanCampaignKeywords:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for +// [KeywordPlanCampaignKeywordService.GetKeywordPlanCampaignKeyword][google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.GetKeywordPlanCampaignKeyword]. +message GetKeywordPlanCampaignKeywordRequest { + // Required. The resource name of the plan to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + } + ]; +} + +// Request message for +// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v9.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords]. +message MutateKeywordPlanCampaignKeywordsRequest { + // Required. The ID of the customer whose campaign keywords are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaign + // keywords. + repeated KeywordPlanCampaignKeywordOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign +// keyword. +message KeywordPlanCampaignKeywordOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign keyword. + google.ads.googleads.v9.resources.KeywordPlanCampaignKeyword create = 1; + + // Update operation: The Keyword Plan campaign keyword expected to have a + // valid resource name. + google.ads.googleads.v9.resources.KeywordPlanCampaignKeyword update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // keywords expected in this format: + // + // `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaignKeyword" + }]; + } +} + +// Response message for a Keyword Plan campaign keyword mutate. +message MutateKeywordPlanCampaignKeywordsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_service.proto new file mode 100644 index 00000000..56ec5115 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_campaign_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_plan_campaign.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanCampaignServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the keyword plan campaign service. + +// Service to manage Keyword Plan campaigns. +service KeywordPlanCampaignService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Keyword Plan campaign in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordPlanCampaign(GetKeywordPlanCampaignRequest) returns (google.ads.googleads.v9.resources.KeywordPlanCampaign) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordPlanCampaigns/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are + // returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanCampaignError]() + // [KeywordPlanError]() + // [ListOperationError]() + // [MutateError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/keywordPlanCampaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [KeywordPlanCampaignService.GetKeywordPlanCampaign][google.ads.googleads.v9.services.KeywordPlanCampaignService.GetKeywordPlanCampaign]. +message GetKeywordPlanCampaignRequest { + // Required. The resource name of the Keyword Plan campaign to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + } + ]; +} + +// Request message for +// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v9.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns]. +message MutateKeywordPlanCampaignsRequest { + // Required. The ID of the customer whose Keyword Plan campaigns are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual Keyword Plan campaigns. + repeated KeywordPlanCampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update, remove) on a Keyword Plan campaign. +message KeywordPlanCampaignOperation { + // The FieldMask that determines which resource fields are modified in an + // update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new Keyword Plan + // campaign. + google.ads.googleads.v9.resources.KeywordPlanCampaign create = 1; + + // Update operation: The Keyword Plan campaign is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.KeywordPlanCampaign update = 2; + + // Remove operation: A resource name for the removed Keyword Plan campaign + // is expected, in this format: + // + // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` + string remove = 3 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlanCampaign" + }]; + } +} + +// Response message for a Keyword Plan campaign mutate. +message MutateKeywordPlanCampaignsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_idea_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_idea_service.proto new file mode 100644 index 00000000..32f32634 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_idea_service.proto @@ -0,0 +1,181 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/keyword_plan_common.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_keyword_annotation.proto"; +import "google/ads/googleads/v9/enums/keyword_plan_network.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanIdeaServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::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: "/v9/customers/{customer_id=*}:generateKeywordIdeas" + body: "*" + }; + } +} + +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v9.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. + // Required + optional string language = 14; + + // The resource names of the location to target. + // Max 10 + 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. + google.ads.googleads.v9.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9; + + // The keyword annotations to include in response. + repeated google.ads.googleads.v9.enums.KeywordPlanKeywordAnnotationEnum.KeywordPlanKeywordAnnotation keyword_annotation = 17; + + // The aggregate fields to include in response. + google.ads.googleads.v9.common.KeywordPlanAggregateMetrics aggregate_metrics = 16; + + // The options for historical metrics data. + google.ads.googleads.v9.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 + // e.g. cars, www.example.com/cars. + KeywordAndUrlSeed keyword_and_url_seed = 2; + + // A Keyword or phrase to generate ideas from, e.g. cars. + KeywordSeed keyword_seed = 3; + + // A specific url to generate ideas from, e.g. www.example.com/cars. + UrlSeed url_seed = 5; + + // The site to generate ideas from, e.g. 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.v9.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. +message GenerateKeywordIdeaResponse { + // Results of generating keyword ideas. + repeated GenerateKeywordIdeaResult results = 1; + + // The aggregate metrics for all keyword ideas. + google.ads.googleads.v9.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.v9.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3; + + // The annotations for the keyword. + // The annotation data is only provided if requested. + google.ads.googleads.v9.common.KeywordAnnotations keyword_annotations = 6; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_service.proto new file mode 100644 index 00000000..96d13777 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_plan_service.proto @@ -0,0 +1,446 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/keyword_plan_common.proto"; +import "google/ads/googleads/v9/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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordPlanServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::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"; + + // Returns the requested plan in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordPlan(GetKeywordPlanRequest) returns (google.ads.googleads.v9.resources.KeywordPlan) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordPlans/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // 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: "/v9/customers/{customer_id=*}/keywordPlans:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Returns the requested Keyword Plan forecast curve. + // Only the bidding strategy is considered for generating forecast curve. + // The bidding strategy value specified in the plan is ignored. + // + // To generate a forecast at a value specified in the plan, use + // KeywordPlanService.GenerateForecastMetrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastCurve(GenerateForecastCurveRequest) returns (GenerateForecastCurveResponse) { + option (google.api.http) = { + post: "/v9/{keyword_plan=customers/*/keywordPlans/*}:generateForecastCurve" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns a forecast in the form of a time series for the Keyword Plan over + // the next 52 weeks. + // (1) Forecasts closer to the current date are generally more accurate than + // further out. + // + // (2) The forecast reflects seasonal trends using current and + // prior traffic patterns. The forecast period of the plan is ignored. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastTimeSeries(GenerateForecastTimeSeriesRequest) returns (GenerateForecastTimeSeriesResponse) { + option (google.api.http) = { + post: "/v9/{keyword_plan=customers/*/keywordPlans/*}:generateForecastTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan forecasts. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) { + option (google.api.http) = { + post: "/v9/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } + + // Returns the requested Keyword Plan historical metrics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [KeywordPlanError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) { + option (google.api.http) = { + post: "/v9/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics" + body: "*" + }; + option (google.api.method_signature) = "keyword_plan"; + } +} + +// Request message for [KeywordPlanService.GetKeywordPlan][google.ads.googleads.v9.services.KeywordPlanService.GetKeywordPlan]. +message GetKeywordPlanRequest { + // Required. The resource name of the plan to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v9.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.v9.resources.KeywordPlan create = 1; + + // Update operation: The keyword plan is expected to have a valid resource + // name. + google.ads.googleads.v9.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 (e.g. 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; +} + +// Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastCurve]. +message GenerateForecastCurveResponse { + // List of forecast curves for the keyword plan campaign. + // One maximum. + repeated KeywordPlanCampaignForecastCurve campaign_forecast_curves = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastTimeSeries]. +message GenerateForecastTimeSeriesResponse { + // List of weekly time series forecasts for the keyword plan campaign. + // One maximum. + repeated KeywordPlanWeeklyTimeSeriesForecast weekly_time_series_forecasts = 1; +} + +// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsRequest { + // Required. The resource name of the keyword plan to be forecasted. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; +} + +// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v9.services.KeywordPlanService.GenerateForecastMetrics]. +message GenerateForecastMetricsResponse { + // List of campaign forecasts. + // One maximum. + repeated KeywordPlanCampaignForecast campaign_forecasts = 1; + + // List of ad group forecasts. + repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2; + + // List of keyword forecasts. + repeated KeywordPlanKeywordForecast keyword_forecasts = 3; +} + +// A campaign forecast. +message KeywordPlanCampaignForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The forecast for the Keyword Plan campaign. + ForecastMetrics campaign_forecast = 2; +} + +// An ad group forecast. +message KeywordPlanAdGroupForecast { + // The resource name of the Keyword Plan ad group related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}` + optional string keyword_plan_ad_group = 3; + + // The forecast for the Keyword Plan ad group. + ForecastMetrics ad_group_forecast = 2; +} + +// A keyword forecast. +message KeywordPlanKeywordForecast { + // The resource name of the Keyword Plan keyword related to the forecast. + // + // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}` + optional string keyword_plan_ad_group_keyword = 3; + + // The forecast for the Keyword Plan keyword. + ForecastMetrics keyword_forecast = 2; +} + +// The forecast curve for the campaign. +message KeywordPlanCampaignForecastCurve { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 3; + + // The max cpc bid forecast curve for the campaign. + KeywordPlanMaxCpcBidForecastCurve max_cpc_bid_forecast_curve = 2; +} + +// The max cpc bid forecast curve. +message KeywordPlanMaxCpcBidForecastCurve { + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanMaxCpcBidForecast max_cpc_bid_forecasts = 1; +} + +// The forecast of the campaign at a specific bid. +message KeywordPlanMaxCpcBidForecast { + // The max cpc bid in micros. + optional int64 max_cpc_bid_micros = 3; + + // The forecast for the Keyword Plan campaign at the specific bid. + ForecastMetrics max_cpc_bid_forecast = 2; +} + +// The weekly time series forecast for the keyword plan campaign. +message KeywordPlanWeeklyTimeSeriesForecast { + // The resource name of the Keyword Plan campaign related to the forecast. + // + // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}` + optional string keyword_plan_campaign = 1; + + // The forecasts for the Keyword Plan campaign at different max CPC bids. + repeated KeywordPlanWeeklyForecast weekly_forecasts = 2; +} + +// The forecast of the campaign for the week starting start_date. +message KeywordPlanWeeklyForecast { + // The start date, in yyyy-mm-dd format. This date is inclusive. + optional string start_date = 1; + + // The forecast for the Keyword Plan campaign for the week. + ForecastMetrics forecast = 2; +} + +// Forecast metrics. +message ForecastMetrics { + // Impressions + optional double impressions = 7; + + // Ctr + optional double ctr = 8; + + // AVG cpc + optional int64 average_cpc = 9; + + // Clicks + optional double clicks = 10; + + // Cost + optional int64 cost_micros = 11; +} + +// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v9.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsRequest { + // Required. The resource name of the keyword plan of which historical metrics are + // requested. + string keyword_plan = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordPlan" + } + ]; + + // The aggregate fields to include in response. + google.ads.googleads.v9.common.KeywordPlanAggregateMetrics aggregate_metrics = 2; + + // The options for historical metrics data. + google.ads.googleads.v9.common.HistoricalMetricsOptions historical_metrics_options = 3; +} + +// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v9.services.KeywordPlanService.GenerateHistoricalMetrics]. +message GenerateHistoricalMetricsResponse { + // List of keyword historical metrics. + repeated KeywordPlanKeywordHistoricalMetrics metrics = 1; + + // The aggregate metrics for all the keywords in the keyword planner plan. + google.ads.googleads.v9.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2; +} + +// A keyword historical metrics. +message KeywordPlanKeywordHistoricalMetrics { + // The text of the query associated with one or more ad_group_keywords in the + // plan. + // + // Note that we de-dupe your keywords list, eliminating close variants before + // returning the plan's keywords as text. For example, if your plan originally + // contained the keywords 'car' and 'cars', the returned search query will + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. + optional string search_query = 4; + + // The list of close variant queries for search_query whose search results + // are combined into the search_query. + repeated string close_variants = 3; + + // The historical metrics for the query associated with one or more + // ad_group_keywords in the plan. + google.ads.googleads.v9.common.KeywordPlanHistoricalMetrics keyword_metrics = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_theme_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_theme_constant_service.proto new file mode 100644 index 00000000..7b95eebb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_theme_constant_service.proto @@ -0,0 +1,98 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordThemeConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Smart Campaign keyword theme constant service. + +// Service to fetch Smart Campaign keyword themes. +service KeywordThemeConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested keyword theme constant in full detail. + rpc GetKeywordThemeConstant(GetKeywordThemeConstantRequest) returns (google.ads.googleads.v9.resources.KeywordThemeConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=keywordThemeConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Returns KeywordThemeConstant suggestions by keyword themes. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc SuggestKeywordThemeConstants(SuggestKeywordThemeConstantsRequest) returns (SuggestKeywordThemeConstantsResponse) { + option (google.api.http) = { + post: "/v9/keywordThemeConstants:suggest" + body: "*" + }; + } +} + +// Request message for [KeywordThemeConstantService.GetKeywordThemeConstant][google.ads.googleads.v9.services.KeywordThemeConstantService.GetKeywordThemeConstant]. +message GetKeywordThemeConstantRequest { + // Required. The resource name of the keyword theme constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordThemeConstant" + } + ]; +} + +// Request message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v9.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsRequest { + // The query text of a keyword theme that will be used to map to similar + // keyword themes. E.g. "plumber" or "roofer". + string query_text = 1; + + // Upper-case, two-letter country code as defined by ISO-3166. This for + // refining the scope of the query, default to 'US' if not set. + string country_code = 2; + + // The two letter language code for get corresponding keyword theme for + // refining the scope of the query, default to 'en' if not set. + string language_code = 3; +} + +// Response message for +// [KeywordThemeConstantService.SuggestKeywordThemeConstants][google.ads.googleads.v9.services.KeywordThemeConstantService.SuggestKeywordThemeConstants]. +message SuggestKeywordThemeConstantsResponse { + // Smart Campaign keyword theme suggestions. + repeated google.ads.googleads.v9.resources.KeywordThemeConstant keyword_theme_constants = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/keyword_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/keyword_view_service.proto new file mode 100644 index 00000000..2fdb8a0d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/keyword_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/keyword_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "KeywordViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Keyword View service. + +// Service to manage keyword views. +service KeywordViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested keyword view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetKeywordView(GetKeywordViewRequest) returns (google.ads.googleads.v9.resources.KeywordView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/keywordViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [KeywordViewService.GetKeywordView][google.ads.googleads.v9.services.KeywordViewService.GetKeywordView]. +message GetKeywordViewRequest { + // Required. The resource name of the keyword view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/KeywordView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/label_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/label_service.proto new file mode 100644 index 00000000..cc4292c2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/label_service.proto @@ -0,0 +1,168 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/label.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LabelServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to manage labels. +service LabelService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested label in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetLabel(GetLabelRequest) returns (google.ads.googleads.v9.resources.Label) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/labels/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes labels. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [LabelError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateLabels(MutateLabelsRequest) returns (MutateLabelsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/labels:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [LabelService.GetLabel][google.ads.googleads.v9.services.LabelService.GetLabel]. +message GetLabelRequest { + // Required. The resource name of the label to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Label" + } + ]; +} + +// Request message for [LabelService.MutateLabels][google.ads.googleads.v9.services.LabelService.MutateLabels]. +message MutateLabelsRequest { + // Required. ID of the customer whose labels are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on labels. + repeated LabelOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove, update) on a label. +message LabelOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new label. + google.ads.googleads.v9.resources.Label create = 1; + + // Update operation: The label is expected to have a valid resource name. + google.ads.googleads.v9.resources.Label update = 2; + + // Remove operation: A resource name for the label being removed, in + // this format: + // + // `customers/{customer_id}/labels/{label_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated label with only mutable fields after mutate. The field will + // only be returned when response_content_type is set to "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.Label label = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/landing_page_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/landing_page_view_service.proto new file mode 100644 index 00000000..591c8b02 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/landing_page_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/landing_page_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LandingPageViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the landing page view service. + +// Service to fetch landing page views. +service LandingPageViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested landing page view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetLandingPageView(GetLandingPageViewRequest) returns (google.ads.googleads.v9.resources.LandingPageView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/landingPageViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [LandingPageViewService.GetLandingPageView][google.ads.googleads.v9.services.LandingPageViewService.GetLandingPageView]. +message GetLandingPageViewRequest { + // Required. The resource name of the landing page view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LandingPageView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/language_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/language_constant_service.proto new file mode 100644 index 00000000..001365eb --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/language_constant_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/language_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LanguageConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the language constant service. + +// Service to fetch language constants. +service LanguageConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested language constant. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetLanguageConstant(GetLanguageConstantRequest) returns (google.ads.googleads.v9.resources.LanguageConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=languageConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [LanguageConstantService.GetLanguageConstant][google.ads.googleads.v9.services.LanguageConstantService.GetLanguageConstant]. +message GetLanguageConstantRequest { + // Required. Resource name of the language constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LanguageConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/life_event_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/life_event_service.proto new file mode 100644 index 00000000..e1ce55f8 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/life_event_service.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/life_event.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LifeEventServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the life event service + +// Service to fetch Google Ads Life Events. +service LifeEventService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested life event in full detail. + rpc GetLifeEvent(GetLifeEventRequest) returns (google.ads.googleads.v9.resources.LifeEvent) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/lifeEvents/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [LifeEventService.GetLifeEvent][google.ads.googleads.v9.services.LifeEventService.GetLifeEvent]. +message GetLifeEventRequest { + // Required. Resource name of the LifeEvent to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LifeEvent" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/location_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/location_view_service.proto new file mode 100644 index 00000000..8ff56254 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/location_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/location_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "LocationViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Location View service. + +// Service to fetch location views. +service LocationViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested location view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetLocationView(GetLocationViewRequest) returns (google.ads.googleads.v9.resources.LocationView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/locationViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [LocationViewService.GetLocationView][google.ads.googleads.v9.services.LocationViewService.GetLocationView]. +message GetLocationViewRequest { + // Required. The resource name of the location view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocationView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/managed_placement_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/managed_placement_view_service.proto new file mode 100644 index 00000000..ea4727d3 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/managed_placement_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/managed_placement_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ManagedPlacementViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Managed Placement View service. + +// Service to manage Managed Placement views. +service ManagedPlacementViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Managed Placement view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetManagedPlacementView(GetManagedPlacementViewRequest) returns (google.ads.googleads.v9.resources.ManagedPlacementView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/managedPlacementViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [ManagedPlacementViewService.GetManagedPlacementView][google.ads.googleads.v9.services.ManagedPlacementViewService.GetManagedPlacementView]. +message GetManagedPlacementViewRequest { + // Required. The resource name of the Managed Placement View to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ManagedPlacementView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/media_file_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/media_file_service.proto new file mode 100644 index 00000000..28805a3b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/media_file_service.proto @@ -0,0 +1,156 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/media_file.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MediaFileServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// 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"; + + // Returns the requested media file in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetMediaFile(GetMediaFileRequest) returns (google.ads.googleads.v9.resources.MediaFile) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/mediaFiles/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // 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) = { + post: "/v9/customers/{customer_id=*}/mediaFiles:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [MediaFileService.GetMediaFile][google.ads.googleads.v9.services.MediaFileService.GetMediaFile] +message GetMediaFileRequest { + // Required. The resource name of the media file to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MediaFile" + } + ]; +} + +// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v9.services.MediaFileService.MutateMediaFiles] +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. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// 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. + google.ads.googleads.v9.resources.MediaFile create = 1; + } +} + +// 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 (e.g. 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; + + // 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". + google.ads.googleads.v9.resources.MediaFile media_file = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/merchant_center_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/merchant_center_link_service.proto new file mode 100644 index 00000000..f966d95b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/merchant_center_link_service.proto @@ -0,0 +1,160 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/merchant_center_link.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MerchantCenterLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// 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) = { + get: "/v9/customers/{customer_id=*}/merchantCenterLinks" + }; + 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]() + rpc GetMerchantCenterLink(GetMerchantCenterLinkRequest) returns (google.ads.googleads.v9.resources.MerchantCenterLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/merchantCenterLinks/*}" + }; + 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) = { + post: "/v9/customers/{customer_id=*}/merchantCenterLinks:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operation"; + } +} + +// Request message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v9.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +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]; +} + +// Response message for [MerchantCenterLinkService.ListMerchantCenterLinks][google.ads.googleads.v9.services.MerchantCenterLinkService.ListMerchantCenterLinks]. +message ListMerchantCenterLinksResponse { + // Merchant Center links available for the requested customer + repeated google.ads.googleads.v9.resources.MerchantCenterLink merchant_center_links = 1; +} + +// Request message for [MerchantCenterLinkService.GetMerchantCenterLink][google.ads.googleads.v9.services.MerchantCenterLinkService.GetMerchantCenterLink]. +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" + } + ]; +} + +// Request message for [MerchantCenterLinkService.MutateMerchantCenterLink][google.ads.googleads.v9.services.MerchantCenterLinkService.MutateMerchantCenterLink]. +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. + google.ads.googleads.v9.resources.MerchantCenterLink update = 1; + + // 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; + } +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/mobile_app_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/mobile_app_category_constant_service.proto new file mode 100644 index 00000000..470f24f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/mobile_app_category_constant_service.proto @@ -0,0 +1,66 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/mobile_app_category_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MobileAppCategoryConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to fetch mobile app category constants. +service MobileAppCategoryConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested mobile app category constant. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetMobileAppCategoryConstant(GetMobileAppCategoryConstantRequest) returns (google.ads.googleads.v9.resources.MobileAppCategoryConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=mobileAppCategoryConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [MobileAppCategoryConstantService.GetMobileAppCategoryConstant][google.ads.googleads.v9.services.MobileAppCategoryConstantService.GetMobileAppCategoryConstant]. +message GetMobileAppCategoryConstantRequest { + // Required. Resource name of the mobile app category constant to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileAppCategoryConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/mobile_device_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/mobile_device_constant_service.proto new file mode 100644 index 00000000..1c9923d0 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/mobile_device_constant_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/mobile_device_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "MobileDeviceConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the mobile device constant service. + +// Service to fetch mobile device constants. +service MobileDeviceConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested mobile device constant in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetMobileDeviceConstant(GetMobileDeviceConstantRequest) returns (google.ads.googleads.v9.resources.MobileDeviceConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=mobileDeviceConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [MobileDeviceConstantService.GetMobileDeviceConstant][google.ads.googleads.v9.services.MobileDeviceConstantService.GetMobileDeviceConstant]. +message GetMobileDeviceConstantRequest { + // Required. Resource name of the mobile device to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/MobileDeviceConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/offline_user_data_job_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/offline_user_data_job_service.proto new file mode 100644 index 00000000..d350ed4b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/offline_user_data_job_service.proto @@ -0,0 +1,237 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/offline_user_data.proto"; +import "google/ads/googleads/v9/resources/offline_user_data_job.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OfflineUserDataJobServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the OfflineUserDataJobService. + +// Service to manage offline user data jobs. +service OfflineUserDataJobService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Creates an offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [NotAllowlistedError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc CreateOfflineUserDataJob(CreateOfflineUserDataJobRequest) returns (CreateOfflineUserDataJobResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/offlineUserDataJobs:create" + body: "*" + }; + option (google.api.method_signature) = "customer_id,job"; + } + + // Returns the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetOfflineUserDataJob(GetOfflineUserDataJobRequest) returns (google.ads.googleads.v9.resources.OfflineUserDataJob) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/offlineUserDataJobs/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Adds operations to the offline user data job. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc AddOfflineUserDataJobOperations(AddOfflineUserDataJobOperationsRequest) returns (AddOfflineUserDataJobOperationsResponse) { + option (google.api.http) = { + post: "/v9/{resource_name=customers/*/offlineUserDataJobs/*}:addOperations" + body: "*" + }; + option (google.api.method_signature) = "resource_name,operations"; + } + + // Runs the offline user data job. + // + // When finished, the long running operation will contain the processing + // result or failure information, if any. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [HeaderError]() + // [InternalError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + rpc RunOfflineUserDataJob(RunOfflineUserDataJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v9/{resource_name=customers/*/offlineUserDataJobs/*}:run" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.ads.googleads.v9.resources.OfflineUserDataJobMetadata" + }; + } +} + +// Request message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v9.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobRequest { + // Required. The ID of the customer for which to create an offline user data job. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The offline user data job to be created. + google.ads.googleads.v9.resources.OfflineUserDataJob job = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 3; + + // If true, match rate range for the offline user data job is calculated and + // made available in the resource. + bool enable_match_rate_range_preview = 5; +} + +// Response message for +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v9.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. +message CreateOfflineUserDataJobResponse { + // The resource name of the OfflineUserDataJob. + string resource_name = 1; +} + +// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v9.services.OfflineUserDataJobService.GetOfflineUserDataJob]. +message GetOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to get. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; +} + +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v9.services.OfflineUserDataJobService.RunOfflineUserDataJob]. +message RunOfflineUserDataJobRequest { + // Required. The resource name of the OfflineUserDataJob to run. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 2; +} + +// Request message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v9.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsRequest { + // Required. The resource name of the OfflineUserDataJob. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OfflineUserDataJob" + } + ]; + + // True to enable partial failure for the offline user data job. + optional bool enable_partial_failure = 4; + + // True to enable warnings for the offline user data job. When enabled, a + // warning will not block the OfflineUserDataJobOperation, and will also + // return warning messages about malformed field values. + optional bool enable_warnings = 6; + + // Required. The list of operations to be done. + repeated OfflineUserDataJobOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 5; +} + +// Operation to be made for the AddOfflineUserDataJobOperationsRequest. +message OfflineUserDataJobOperation { + // Operation to be made for the AddOfflineUserDataJobOperationsRequest. + oneof operation { + // Add the provided data to the transaction. Data cannot be retrieved after + // being uploaded. + google.ads.googleads.v9.common.UserData create = 1; + + // Remove the provided data from the transaction. Data cannot be retrieved + // after being uploaded. + google.ads.googleads.v9.common.UserData remove = 2; + + // Remove all previously provided data. This is only supported for Customer + // Match. + bool remove_all = 3; + } +} + +// Response message for +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v9.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. +message AddOfflineUserDataJobOperationsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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/google-cloud/protos/google/ads/googleads/v9/services/operating_system_version_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/operating_system_version_constant_service.proto new file mode 100644 index 00000000..f17ec617 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/operating_system_version_constant_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/operating_system_version_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "OperatingSystemVersionConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the OS version constant service + +// Service to fetch Operating System Version constants. +service OperatingSystemVersionConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested OS version constant in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetOperatingSystemVersionConstant(GetOperatingSystemVersionConstantRequest) returns (google.ads.googleads.v9.resources.OperatingSystemVersionConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=operatingSystemVersionConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant][google.ads.googleads.v9.services.OperatingSystemVersionConstantService.GetOperatingSystemVersionConstant]. +message GetOperatingSystemVersionConstantRequest { + // Required. Resource name of the OS version to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/OperatingSystemVersionConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/paid_organic_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/paid_organic_search_term_view_service.proto new file mode 100644 index 00000000..22445f87 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/paid_organic_search_term_view_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/paid_organic_search_term_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaidOrganicSearchTermViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Paid Organic Search Term View service. + +// Service to fetch paid organic search term views. +service PaidOrganicSearchTermViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested paid organic search term view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetPaidOrganicSearchTermView(GetPaidOrganicSearchTermViewRequest) returns (google.ads.googleads.v9.resources.PaidOrganicSearchTermView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/paidOrganicSearchTermViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView][google.ads.googleads.v9.services.PaidOrganicSearchTermViewService.GetPaidOrganicSearchTermView]. +message GetPaidOrganicSearchTermViewRequest { + // Required. The resource name of the paid organic search term view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/PaidOrganicSearchTermView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/parental_status_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/parental_status_view_service.proto new file mode 100644 index 00000000..cc42ace4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/parental_status_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/parental_status_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ParentalStatusViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Parental Status View service. + +// Service to manage parental status views. +service ParentalStatusViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested parental status view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetParentalStatusView(GetParentalStatusViewRequest) returns (google.ads.googleads.v9.resources.ParentalStatusView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/parentalStatusViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [ParentalStatusViewService.GetParentalStatusView][google.ads.googleads.v9.services.ParentalStatusViewService.GetParentalStatusView]. +message GetParentalStatusViewRequest { + // Required. The resource name of the parental status view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ParentalStatusView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/payments_account_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/payments_account_service.proto new file mode 100644 index 00000000..ad536d70 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/payments_account_service.proto @@ -0,0 +1,71 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/payments_account.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "PaymentsAccountServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the payments account service. + +// Service to provide payments accounts that can be used to set up consolidated +// billing. +service PaymentsAccountService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns all payments accounts associated with all managers + // between the login customer ID and specified serving customer in the + // hierarchy, inclusive. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [PaymentsAccountError]() + // [QuotaError]() + // [RequestError]() + rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) { + option (google.api.http) = { + get: "/v9/customers/{customer_id=*}/paymentsAccounts" + }; + option (google.api.method_signature) = "customer_id"; + } +} + +// Request message for fetching all accessible payments accounts. +message ListPaymentsAccountsRequest { + // Required. The ID of the customer to apply the PaymentsAccount list operation to. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v9.services.PaymentsAccountService.ListPaymentsAccounts]. +message ListPaymentsAccountsResponse { + // The list of accessible payments accounts. + repeated google.ads.googleads.v9.resources.PaymentsAccount payments_accounts = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/product_bidding_category_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/product_bidding_category_constant_service.proto new file mode 100644 index 00000000..5073bb45 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/product_bidding_category_constant_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/product_bidding_category_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductBiddingCategoryConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Product Bidding Category constant service + +// Service to fetch Product Bidding Categories. +service ProductBiddingCategoryConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Product Bidding Category in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetProductBiddingCategoryConstant(GetProductBiddingCategoryConstantRequest) returns (google.ads.googleads.v9.resources.ProductBiddingCategoryConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=productBiddingCategoryConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant][google.ads.googleads.v9.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant]. +message GetProductBiddingCategoryConstantRequest { + // Required. Resource name of the Product Bidding Category to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductBiddingCategoryConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/product_group_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/product_group_view_service.proto new file mode 100644 index 00000000..f6bdf30a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/product_group_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/product_group_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ProductGroupViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ProductGroup View service. + +// Service to manage product group views. +service ProductGroupViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested product group view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetProductGroupView(GetProductGroupViewRequest) returns (google.ads.googleads.v9.resources.ProductGroupView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/productGroupViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [ProductGroupViewService.GetProductGroupView][google.ads.googleads.v9.services.ProductGroupViewService.GetProductGroupView]. +message GetProductGroupViewRequest { + // Required. The resource name of the product group view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ProductGroupView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/reach_plan_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/reach_plan_service.proto new file mode 100644 index 00000000..57d8f0f1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/reach_plan_service.proto @@ -0,0 +1,568 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/common/dates.proto"; +import "google/ads/googleads/v9/enums/frequency_cap_time_unit.proto"; +import "google/ads/googleads/v9/enums/reach_plan_ad_length.proto"; +import "google/ads/googleads/v9/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v9/enums/reach_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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the reach plan service. + +// Reach Plan Service gives users information about audience size that can +// be reached through advertisement on YouTube. In particular, +// GenerateReachForecast provides estimated number of people of specified +// demographics that can be reached by an ad in a given market by a campaign of +// certain duration with a defined budget. +service ReachPlanService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the list of plannable locations (for example, countries & DMAs). + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableLocations(ListPlannableLocationsRequest) returns (ListPlannableLocationsResponse) { + option (google.api.http) = { + post: "/v9:listPlannableLocations" + body: "*" + }; + } + + // Returns the list of per-location plannable YouTube ad formats with allowed + // targeting. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc ListPlannableProducts(ListPlannableProductsRequest) returns (ListPlannableProductsResponse) { + option (google.api.http) = { + post: "/v9:listPlannableProducts" + body: "*" + }; + option (google.api.method_signature) = "plannable_location_id"; + } + + // Generates a product mix ideas given a set of preferences. This method + // helps the advertiser to obtain a good mix of ad formats and budget + // allocations based on its preferences. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateProductMixIdeas(GenerateProductMixIdeasRequest) returns (GenerateProductMixIdeasResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:generateProductMixIdeas" + body: "*" + }; + option (google.api.method_signature) = "customer_id,plannable_location_id,currency_code,budget_micros"; + } + + // Generates a reach forecast for a given targeting / product mix. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RangeError]() + // [ReachPlanError]() + // [RequestError]() + rpc GenerateReachForecast(GenerateReachForecastRequest) returns (GenerateReachForecastResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:generateReachForecast" + body: "*" + }; + option (google.api.method_signature) = "customer_id,campaign_duration,planned_products"; + } +} + +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v9.services.ReachPlanService.ListPlannableLocations]. +message ListPlannableLocationsRequest { + +} + +// The list of plannable locations. +message ListPlannableLocationsResponse { + // The list of locations available for planning (Countries, DMAs, + // sub-countries). + // For locations like Countries and DMAs see + // https://developers.google.com/google-ads/api/reference/data/geotargets for + // more information. + repeated PlannableLocation plannable_locations = 1; +} + +// A plannable location: a country, a DMA, a metro region, a tv region, +// a province. +message PlannableLocation { + // The location identifier. + optional string id = 4; + + // The unique location name in english. + optional string name = 5; + + // The parent country, not present if location is a country. + // If present will always be a GeoTargetConstant ID. Additional information, + // such as country name is provided by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v9.services.ReachPlanService.ListPlannableLocations] or directly by accessing + // [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v9.services.GeoTargetConstantService.GetGeoTargetConstant]. + 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 + // [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v9.services.GeoTargetConstantService.GetGeoTargetConstant]. + optional string location_type = 8; +} + +// Request to list available products in a given location. +message ListPlannableProductsRequest { + // Required. The ID of the selected location for planning. To list the available + // plannable location ids use [ReachPlanService.ListPlannableLocations][google.ads.googleads.v9.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A response with all available products. +message ListPlannableProductsResponse { + // The list of products available for planning and related targeting metadata. + repeated ProductMetadata product_metadata = 1; +} + +// The metadata associated with an available plannable product. +message ProductMetadata { + // The code associated with the ad product. E.g. BUMPER, TRUEVIEW_IN_STREAM + // To list the available plannable product codes use ListPlannableProducts. + optional string plannable_product_code = 4; + + // The name associated with the ad product. + string plannable_product_name = 3; + + // The allowed plannable targeting for this product. + PlannableTargeting plannable_targeting = 2; +} + +// The targeting for which traffic metrics will be reported. +message PlannableTargeting { + // Allowed plannable age ranges for the product for which metrics will be + // reported. Actual targeting is computed by mapping this age range onto + // standard Google common.AgeRangeInfo values. + repeated google.ads.googleads.v9.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_ranges = 1; + + // Targetable genders for the ad product. + repeated google.ads.googleads.v9.common.GenderInfo genders = 2; + + // Targetable devices for the ad product. + // TABLET device targeting is automatically applied to reported metrics + // when MOBILE targeting is selected for CPM_MASTHEAD, + // GOOGLE_PREFERRED_BUMPER and GOOGLE_PREFERRED_SHORT products. + repeated google.ads.googleads.v9.common.DeviceInfo devices = 3; + + // Targetable networks for the ad product. + repeated google.ads.googleads.v9.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; +} + +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v9.services.ReachPlanService.GenerateProductMixIdeas]. +message GenerateProductMixIdeasRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID of the location, this is one of the ids returned by + // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v9.services.ReachPlanService.ListPlannableLocations]. + string plannable_location_id = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Currency code. + // Three-character ISO 4217 currency code. + string currency_code = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. Total budget. + // Amount in micros. One million is equivalent to one unit. + int64 budget_micros = 8 [(google.api.field_behavior) = REQUIRED]; + + // The preferences of the suggested product mix. + // An unset preference is interpreted as all possible values are allowed, + // unless explicitly specified. + Preferences preferences = 5; +} + +// Set of preferences about the planned mix. +message Preferences { + // True if ad skippable. + // If not set, default is any value. + optional bool is_skippable = 6; + + // True if ad start with sound. + // If not set, default is any value. + optional bool starts_with_sound = 7; + + // The length of the ad. + // If not set, default is any value. + google.ads.googleads.v9.enums.ReachPlanAdLengthEnum.ReachPlanAdLength ad_length = 3; + + // True if ad will only show on the top content. + // If not set, default is false. + optional bool top_content_only = 8; + + // True if the price guaranteed. The cost of serving the ad is agreed upfront + // and not subject to an auction. + // If not set, default is any value. + optional bool has_guaranteed_price = 9; +} + +// The suggested product mix. +message GenerateProductMixIdeasResponse { + // A list of products (ad formats) and the associated budget allocation idea. + repeated ProductAllocation product_allocation = 1; +} + +// An allocation of a part of the budget on a given product. +message ProductAllocation { + // Selected product for planning. The product codes returned are within the + // set of the ones returned by ListPlannableProducts when using the same + // location ID. + optional string plannable_product_code = 3; + + // The value to be allocated for the suggested product in requested currency. + // Amount in micros. One million is equivalent to one unit. + optional int64 budget_micros = 4; +} + +// Request message for [ReachPlanService.GenerateReachForecast][google.ads.googleads.v9.services.ReachPlanService.GenerateReachForecast]. +message GenerateReachForecastRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The currency code. + // Three-character ISO 4217 currency code. + optional string currency_code = 9; + + // Required. Campaign duration. + CampaignDuration campaign_duration = 3 [(google.api.field_behavior) = REQUIRED]; + + // Desired cookie frequency cap that will 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. + // Please use cookie_frequency_cap_setting instead. + optional int32 cookie_frequency_cap = 10; + + // Desired cookie frequency cap that will 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; + + // Desired 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, please 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]; +} + +// Effective frequency limit. +message EffectiveFrequencyLimit { + // The highest effective frequency value to include in + // Forecast.effective_frequency_breakdowns. + // This field supports frequencies 1-10, inclusive. + int32 effective_frequency_breakdown_limit = 1; +} + +// A rule specifying the maximum number of times an ad can be shown to a user +// over a particular time period. +message FrequencyCap { + // Required. The number of impressions, inclusive. + int32 impressions = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of time unit. + google.ads.googleads.v9.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The targeting for which traffic metrics will be reported. +message Targeting { + // Required. The ID of the selected location. Plannable location IDs can be + // obtained from [ReachPlanService.ListPlannableLocations][google.ads.googleads.v9.services.ReachPlanService.ListPlannableLocations]. + optional string plannable_location_id = 6; + + // Targeted age range. + // An unset value is equivalent to targeting all ages. + google.ads.googleads.v9.enums.ReachPlanAgeRangeEnum.ReachPlanAgeRange age_range = 2; + + // Targeted genders. + // An unset value is equivalent to targeting MALE and FEMALE. + repeated google.ads.googleads.v9.common.GenderInfo genders = 3; + + // Targeted devices. + // If not specified, targets all applicable devices. Applicable devices vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v9.services.ReachPlanService.ListPlannableProducts]. + repeated google.ads.googleads.v9.common.DeviceInfo devices = 4; + + // Targetable network for the ad product. + // If not specified, targets all applicable networks. Applicable networks vary + // by product and region and can be obtained from + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v9.services.ReachPlanService.ListPlannableProducts]. + google.ads.googleads.v9.enums.ReachPlanNetworkEnum.ReachPlanNetwork network = 5; +} + +// The duration of a planned campaign. +message CampaignDuration { + // The duration value in days. + // + // This field cannot be combined with the date_range field. + optional int32 duration_in_days = 2; + + // Date range of the campaign. + // Dates are in the yyyy-mm-dd format and inclusive. + // The end date must be < 1 year in the future and the + // date range must be <= 92 days long. + // + // This field cannot be combined with the duration_in_days field. + google.ads.googleads.v9.common.DateRange date_range = 3; +} + +// A product being planned for reach. +message PlannedProduct { + // Required. Selected product for planning. + // The code associated with the ad product. E.g. Trueview, Bumper + // To list the available plannable product codes use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v9.services.ReachPlanService.ListPlannableProducts]. + optional string plannable_product_code = 3; + + // Required. Maximum budget allocation in micros for the selected product. + // The value is specified in the selected planning currency_code. + // E.g. 1 000 000$ = 1 000 000 000 000 micros. + optional int64 budget_micros = 4; +} + +// 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; +} + +// 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; +} + +// 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/recommendation_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/recommendation_service.proto new file mode 100644 index 00000000..58fa37a1 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/recommendation_service.proto @@ -0,0 +1,309 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/extensions.proto"; +import "google/ads/googleads/v9/enums/keyword_match_type.proto"; +import "google/ads/googleads/v9/resources/ad.proto"; +import "google/ads/googleads/v9/resources/recommendation.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RecommendationServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::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"; + + // Returns the requested recommendation in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetRecommendation(GetRecommendationRequest) returns (google.ads.googleads.v9.resources.Recommendation) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/recommendations/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // 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: "/v9/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: "/v9/customers/{customer_id=*}/recommendations:dismiss" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RecommendationService.GetRecommendation][google.ads.googleads.v9.services.RecommendationService.GetRecommendation]. +message GetRecommendationRequest { + // Required. The resource name of the recommendation to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Recommendation" + } + ]; +} + +// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v9.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 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.v9.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.v9.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.v9.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.v9.common.CallFeedItem call_extensions = 1; + } + + // Parameters to use when applying sitelink extension recommendation. + message SitelinkExtensionParameters { + // Sitelink extensions to be added. This is a required field. + repeated google.ads.googleads.v9.common.SitelinkFeedItem sitelink_extensions = 1; + } + + // 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 recommendation. + message ResponsiveSearchAdParameters { + // Required. New ad to add to recommended ad group. + google.ads.googleads.v9.resources.Ad ad = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The resource name of the recommendation to apply. + string resource_name = 1; + + // 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 extension 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; + } +} + +// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v9.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 (e.g. 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; +} + +// Request message for [RecommendationService.DismissRecommendation][google.ads.googleads.v9.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.v9.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 (e.g. auth errors) + // we return the RPC level error. + google.rpc.Status partial_failure_error = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/remarketing_action_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/remarketing_action_service.proto new file mode 100644 index 00000000..5027ced2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/remarketing_action_service.proto @@ -0,0 +1,141 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/remarketing_action.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "RemarketingActionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Remarketing Action service. + +// Service to manage remarketing actions. +service RemarketingActionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested remarketing action in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetRemarketingAction(GetRemarketingActionRequest) returns (google.ads.googleads.v9.resources.RemarketingAction) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/remarketingActions/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates remarketing actions. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [ConversionActionError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc MutateRemarketingActions(MutateRemarketingActionsRequest) returns (MutateRemarketingActionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/remarketingActions:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [RemarketingActionService.GetRemarketingAction][google.ads.googleads.v9.services.RemarketingActionService.GetRemarketingAction]. +message GetRemarketingActionRequest { + // Required. The resource name of the remarketing action to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/RemarketingAction" + } + ]; +} + +// Request message for [RemarketingActionService.MutateRemarketingActions][google.ads.googleads.v9.services.RemarketingActionService.MutateRemarketingActions]. +message MutateRemarketingActionsRequest { + // Required. The ID of the customer whose remarketing actions are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual remarketing actions. + repeated RemarketingActionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a remarketing action. +message RemarketingActionOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new remarketing + // action. + google.ads.googleads.v9.resources.RemarketingAction create = 1; + + // Update operation: The remarketing action is expected to have a valid + // resource name. + google.ads.googleads.v9.resources.RemarketingAction update = 2; + } +} + +// Response message for remarketing action mutate. +message MutateRemarketingActionsResponse { + // Errors that pertain to operation failures in the partial failure mode. + // Returned only when partial_failure = true and all errors occur inside the + // operations. If any errors occur outside the operations (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/search_term_view_service.proto new file mode 100644 index 00000000..8c03584c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/search_term_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/search_term_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SearchTermViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Search Term View service. + +// Service to manage search term views. +service SearchTermViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the attributes of the requested search term view. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetSearchTermView(GetSearchTermViewRequest) returns (google.ads.googleads.v9.resources.SearchTermView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/searchTermViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [SearchTermViewService.GetSearchTermView][google.ads.googleads.v9.services.SearchTermViewService.GetSearchTermView]. +message GetSearchTermViewRequest { + // Required. The resource name of the search term view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SearchTermView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/shared_criterion_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/shared_criterion_service.proto new file mode 100644 index 00000000..8432fbcc --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/shared_criterion_service.proto @@ -0,0 +1,162 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/shared_criterion.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedCriterionServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Shared Criterion service. + +// Service to manage shared criteria. +service SharedCriterionService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested shared criterion in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetSharedCriterion(GetSharedCriterionRequest) returns (google.ads.googleads.v9.resources.SharedCriterion) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/sharedCriteria/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or removes shared criteria. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CriterionError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/sharedCriteria:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedCriterionService.GetSharedCriterion][google.ads.googleads.v9.services.SharedCriterionService.GetSharedCriterion]. +message GetSharedCriterionRequest { + // Required. The resource name of the shared criterion to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedCriterion" + } + ]; +} + +// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v9.services.SharedCriterionService.MutateSharedCriteria]. +message MutateSharedCriteriaRequest { + // Required. The ID of the customer whose shared criteria are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared criteria. + repeated SharedCriterionOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, remove) on an shared criterion. +message SharedCriterionOperation { + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared + // criterion. + google.ads.googleads.v9.resources.SharedCriterion create = 1; + + // Remove operation: A resource name for the removed shared criterion is + // expected, in this format: + // + // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated shared criterion with only mutable fields after mutate. The + // field will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.SharedCriterion shared_criterion = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/shared_set_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/shared_set_service.proto new file mode 100644 index 00000000..b81ff5d5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/shared_set_service.proto @@ -0,0 +1,172 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/resources/shared_set.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SharedSetServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Shared Set service. + +// Service to manage shared sets. +service SharedSetService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested shared set in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetSharedSet(GetSharedSetRequest) returns (google.ads.googleads.v9.resources.SharedSet) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/sharedSets/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates, updates, or removes shared sets. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [DatabaseError]() + // [DateError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [IdError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotEmptyError]() + // [NullError]() + // [OperatorError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + // [SharedSetError]() + // [SizeLimitError]() + // [StringFormatError]() + // [StringLengthError]() + rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/sharedSets:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SharedSetService.GetSharedSet][google.ads.googleads.v9.services.SharedSetService.GetSharedSet]. +message GetSharedSetRequest { + // Required. The resource name of the shared set to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SharedSet" + } + ]; +} + +// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v9.services.SharedSetService.MutateSharedSets]. +message MutateSharedSetsRequest { + // Required. The ID of the customer whose shared sets are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual shared sets. + repeated SharedSetOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; + + // The response content type setting. Determines whether the mutable resource + // or just the resource name should be returned post mutation. + google.ads.googleads.v9.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; +} + +// A single operation (create, update, remove) on an shared set. +message SharedSetOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new shared set. + google.ads.googleads.v9.resources.SharedSet create = 1; + + // Update operation: The shared set is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.SharedSet update = 2; + + // Remove operation: A resource name for the removed shared set is expected, + // in this format: + // + // `customers/{customer_id}/sharedSets/{shared_set_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; + + // The mutated shared set with only mutable fields after mutate. The field + // will only be returned when response_content_type is set to + // "MUTABLE_RESOURCE". + google.ads.googleads.v9.resources.SharedSet shared_set = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/shopping_performance_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/shopping_performance_view_service.proto new file mode 100644 index 00000000..c90492e5 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/shopping_performance_view_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/shopping_performance_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ShoppingPerformanceViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the ShoppingPerformanceView service. + +// Service to fetch Shopping performance views. +service ShoppingPerformanceViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested Shopping performance view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetShoppingPerformanceView(GetShoppingPerformanceViewRequest) returns (google.ads.googleads.v9.resources.ShoppingPerformanceView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/shoppingPerformanceView}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [ShoppingPerformanceViewService.GetShoppingPerformanceView][google.ads.googleads.v9.services.ShoppingPerformanceViewService.GetShoppingPerformanceView]. +message GetShoppingPerformanceViewRequest { + // Required. The resource name of the Shopping performance view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/ShoppingPerformanceView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_search_term_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_search_term_view_service.proto new file mode 100644 index 00000000..7799a36a --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_search_term_view_service.proto @@ -0,0 +1,68 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/smart_campaign_search_term_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSearchTermViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Smart Campaign Search Term View service. + +// Service to manage Smart campaign search term views. +service SmartCampaignSearchTermViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the attributes of the requested Smart campaign search term view. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetSmartCampaignSearchTermView(GetSmartCampaignSearchTermViewRequest) returns (google.ads.googleads.v9.resources.SmartCampaignSearchTermView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/smartCampaignSearchTermViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for +// [SmartCampaignSearchTermViewService.GetSmartCampaignSearchTermView][google.ads.googleads.v9.services.SmartCampaignSearchTermViewService.GetSmartCampaignSearchTermView]. +message GetSmartCampaignSearchTermViewRequest { + // Required. The resource name of the Smart campaign search term view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSearchTermView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_setting_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_setting_service.proto new file mode 100644 index 00000000..def5a47b --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_setting_service.proto @@ -0,0 +1,128 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/enums/response_content_type.proto"; +import "google/ads/googleads/v9/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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSettingServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::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 requested Smart campaign setting in full detail. + rpc GetSmartCampaignSetting(GetSmartCampaignSettingRequest) returns (google.ads.googleads.v9.resources.SmartCampaignSetting) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/smartCampaignSettings/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Updates Smart campaign settings for campaigns. + rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) returns (MutateSmartCampaignSettingsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/smartCampaignSettings:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [SmartCampaignSettingService.GetSmartCampaignSetting][google.ads.googleads.v9.services.SmartCampaignSettingService.GetSmartCampaignSetting]. +message GetSmartCampaignSettingRequest { + // Required. The resource name of the Smart campaign setting to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + } + ]; +} + +// Request message for +// [SmartCampaignSettingService.MutateSmartCampaignSetting][]. +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.v9.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.v9.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 (e.g. 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; + + // 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.v9.resources.SmartCampaignSetting smart_campaign_setting = 2; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_suggest_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_suggest_service.proto new file mode 100644 index 00000000..a6d401e4 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/smart_campaign_suggest_service.proto @@ -0,0 +1,224 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/ad_type_infos.proto"; +import "google/ads/googleads/v9/common/criteria.proto"; +import "google/ads/googleads/v9/resources/keyword_theme_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "SmartCampaignSuggestServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Service to get suggestions for Smart Campaigns. +service SmartCampaignSuggestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns BudgetOption suggestions. + rpc SuggestSmartCampaignBudgetOptions(SuggestSmartCampaignBudgetOptionsRequest) returns (SuggestSmartCampaignBudgetOptionsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:suggestSmartCampaignBudgetOptions" + body: "*" + }; + } + + // Suggests a Smart campaign ad compatible with the Ad family of resources, + // based on data points such as targeting and the business to advertise. + rpc SuggestSmartCampaignAd(SuggestSmartCampaignAdRequest) returns (SuggestSmartCampaignAdResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:suggestSmartCampaignAd" + body: "*" + }; + } + + // Suggests keyword themes to advertise on. + rpc SuggestKeywordThemes(SuggestKeywordThemesRequest) returns (SuggestKeywordThemesResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:suggestKeywordThemes" + body: "*" + }; + } +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. +message SuggestSmartCampaignBudgetOptionsRequest { + // Required. The ID of the customer whose budget options are to be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. For first time campaign creation use SuggestionInfo, for + // subsequent updates on BudgetOptions based on an already created campaign + // use that campaign. + oneof suggestion_data { + // Required. The resource name of the campaign to get suggestion for. + string campaign = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. Information needed to get budget options + SmartCampaignSuggestionInfo suggestion_info = 3 [(google.api.field_behavior) = REQUIRED]; + } +} + +// Information needed to get suggestion for Smart Campaign. More information +// provided will help the system to derive better suggestions. +message SmartCampaignSuggestionInfo { + // A list of locations. + message LocationList { + // Required. Locations. + repeated google.ads.googleads.v9.common.LocationInfo locations = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A context that describes a business. + message BusinessContext { + // Optional. The name of the business. + string business_name = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Landing page URL of the campaign. + string final_url = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The two letter advertising language for the Smart campaign to be + // constructed, default to 'en' if not set. + string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The business ad schedule. + repeated google.ads.googleads.v9.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.v9.common.KeywordThemeInfo keyword_themes = 7 [(google.api.field_behavior) = OPTIONAL]; + + // The business settings to consider when generating suggestions. + // Settings are automatically extracted from the business when provided. + // Otherwise, these settings must be specified explicitly. + oneof business_setting { + // Optional. Context describing the business to advertise. + BusinessContext business_context = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The ID of the Business Profile location. + // The location ID can be fetched by Business Profile API with its form: + // accounts/{accountId}/locations/{locationId}. The last {locationId} + // component from the Business Profile API represents the + // business_location_id. See the [Business Profile API] + // (https://developers.google.com/my-business/reference/rest/v4/accounts.locations) + int64 business_location_id = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The geo target of the campaign, either a list of locations or + // a single proximity shall be specified. + oneof geo_target { + // Optional. The targeting geo location by locations. + LocationList location_list = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The targeting geo location by proximity. + google.ads.googleads.v9.common.ProximityInfo proximity = 5 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignBudgets][]. Depending on +// whether the system could suggest the options, either all of the options or +// none of them might be returned. +message SuggestSmartCampaignBudgetOptionsResponse { + // Performance metrics for a given budget option. + message Metrics { + // The estimated min daily clicks. + int64 min_daily_clicks = 1; + + // The estimated max daily clicks. + int64 max_daily_clicks = 2; + } + + // Smart Campaign budget option. + message BudgetOption { + // The amount of the budget, in the local currency for the account. + // Amount is specified in micros, where one million is equivalent to one + // currency unit. + int64 daily_amount_micros = 1; + + // Metrics pertaining to the suggested budget, could be empty if there is + // not enough information to derive the estimates. + Metrics metrics = 2; + } + + // Optional. The lowest budget option. + optional BudgetOption low = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The recommended budget option. + optional BudgetOption recommended = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The highest budget option. + optional BudgetOption high = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v9.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inputs used to suggest a Smart campaign ad. + // Required fields: final_url, language_code, keyword_themes. + // Optional but recommended fields to improve the quality of the suggestion: + // business_setting and geo_target. + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestSmartCampaignAd][google.ads.googleads.v9.services.SmartCampaignSuggestService.SuggestSmartCampaignAd]. +message SuggestSmartCampaignAdResponse { + // Optional. Ad info includes 3 creative headlines and 2 creative descriptions. + google.ads.googleads.v9.common.SmartCampaignAdInfo ad_info = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v9.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesRequest { + // Required. The ID of the customer. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Information to get keyword theme suggestions. + // Required fields: + // * suggestion_info.final_url + // * suggestion_info.language_code + // * suggestion_info.geo_target + // + // Recommended fields: + // * suggestion_info.business_setting + SmartCampaignSuggestionInfo suggestion_info = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for +// [SmartCampaignSuggestService.SuggestKeywordThemes][google.ads.googleads.v9.services.SmartCampaignSuggestService.SuggestKeywordThemes]. +message SuggestKeywordThemesResponse { + // Smart campaign keyword theme suggestions. + repeated google.ads.googleads.v9.resources.KeywordThemeConstant keyword_themes = 1; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/third_party_app_analytics_link_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/third_party_app_analytics_link_service.proto new file mode 100644 index 00000000..f8aa5963 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/third_party_app_analytics_link_service.proto @@ -0,0 +1,94 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/third_party_app_analytics_link.proto"; +import "google/api/annotations.proto"; +import "google/api/resource.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "ThirdPartyAppAnalyticsLinkServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// This service allows management of links between Google Ads and third party +// app analytics. +service ThirdPartyAppAnalyticsLinkService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the third party app analytics link in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetThirdPartyAppAnalyticsLink(GetThirdPartyAppAnalyticsLinkRequest) returns (google.ads.googleads.v9.resources.ThirdPartyAppAnalyticsLink) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}" + }; + } + + // Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be + // provided to the third party when setting up app analytics. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc RegenerateShareableLinkId(RegenerateShareableLinkIdRequest) returns (RegenerateShareableLinkIdResponse) { + option (google.api.http) = { + post: "/v9/{resource_name=customers/*/thirdPartyAppAnalyticsLinks/*}:regenerateShareableLinkId" + body: "*" + }; + } +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.GetThirdPartyAppAnalyticsLink][google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.GetThirdPartyAppAnalyticsLink]. +message GetThirdPartyAppAnalyticsLinkRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Request message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdRequest { + // Resource name of the third party app analytics link. + string resource_name = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ThirdPartyAppAnalyticsLink" + }]; +} + +// Response message for +// [ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId][google.ads.googleads.v9.services.ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId]. +message RegenerateShareableLinkIdResponse { + +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/topic_constant_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/topic_constant_service.proto new file mode 100644 index 00000000..aaa80ec2 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/topic_constant_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/topic_constant.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "TopicConstantServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Topic constant service + +// Service to fetch topic constants. +service TopicConstantService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested topic constant in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetTopicConstant(GetTopicConstantRequest) returns (google.ads.googleads.v9.resources.TopicConstant) { + option (google.api.http) = { + get: "/v9/{resource_name=topicConstants/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [TopicConstantService.GetTopicConstant][google.ads.googleads.v9.services.TopicConstantService.GetTopicConstant]. +message GetTopicConstantRequest { + // Required. Resource name of the Topic to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicConstant" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/topic_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/topic_view_service.proto new file mode 100644 index 00000000..0b8b7607 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/topic_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/topic_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "TopicViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Topic View service. + +// Service to manage topic views. +service TopicViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested topic view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetTopicView(GetTopicViewRequest) returns (google.ads.googleads.v9.resources.TopicView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/topicViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [TopicViewService.GetTopicView][google.ads.googleads.v9.services.TopicViewService.GetTopicView]. +message GetTopicViewRequest { + // Required. The resource name of the topic view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/TopicView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/user_data_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/user_data_service.proto new file mode 100644 index 00000000..fe745908 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/user_data_service.proto @@ -0,0 +1,97 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/common/offline_user_data.proto"; +import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserDataServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the UserDataService. + +// Service to manage user data uploads. +service UserDataService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Uploads the given user data. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [FieldError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [OfflineUserDataJobError]() + // [QuotaError]() + // [RequestError]() + // [UserDataError]() + rpc UploadUserData(UploadUserDataRequest) returns (UploadUserDataResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}:uploadUserData" + body: "*" + }; + } +} + +// Request message for [UserDataService.UploadUserData][google.ads.googleads.v9.services.UserDataService.UploadUserData] +message UploadUserDataRequest { + // Required. The ID of the customer for which to update the user data. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to be done. + repeated UserDataOperation operations = 3 [(google.api.field_behavior) = REQUIRED]; + + // Metadata of the request. + oneof metadata { + // Metadata for data updates to a Customer Match user list. + google.ads.googleads.v9.common.CustomerMatchUserListMetadata customer_match_user_list_metadata = 2; + } +} + +// Operation to be made for the UploadUserDataRequest. +message UserDataOperation { + // Operation to be made for the UploadUserDataRequest. + oneof operation { + // The list of user data to be appended to the user list. + google.ads.googleads.v9.common.UserData create = 1; + + // The list of user data to be removed from the user list. + google.ads.googleads.v9.common.UserData remove = 2; + } +} + +// Response message for [UserDataService.UploadUserData][google.ads.googleads.v9.services.UserDataService.UploadUserData] +message UploadUserDataResponse { + // The date time at which the request was received by API, formatted as + // "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "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/google-cloud/protos/google/ads/googleads/v9/services/user_interest_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/user_interest_service.proto new file mode 100644 index 00000000..e455b9da --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/user_interest_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/user_interest.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserInterestServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the user interest service + +// Service to fetch Google Ads User Interest. +service UserInterestService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested user interest in full detail + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetUserInterest(GetUserInterestRequest) returns (google.ads.googleads.v9.resources.UserInterest) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/userInterests/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [UserInterestService.GetUserInterest][google.ads.googleads.v9.services.UserInterestService.GetUserInterest]. +message GetUserInterestRequest { + // Required. Resource name of the UserInterest to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserInterest" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/user_list_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/user_list_service.proto new file mode 100644 index 00000000..eaacfe15 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/user_list_service.proto @@ -0,0 +1,159 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/user_list.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/field_mask.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserListServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the User List service. + +// Service to manage user lists. +service UserListService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested user list. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetUserList(GetUserListRequest) returns (google.ads.googleads.v9.resources.UserList) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/userLists/*}" + }; + option (google.api.method_signature) = "resource_name"; + } + + // Creates or updates user lists. Operation statuses are returned. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [CollectionSizeError]() + // [DatabaseError]() + // [DistinctError]() + // [FieldError]() + // [FieldMaskError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [NewResourceCreationError]() + // [NotAllowlistedError]() + // [NotEmptyError]() + // [OperationAccessDeniedError]() + // [QuotaError]() + // [RangeError]() + // [RequestError]() + // [StringFormatError]() + // [StringLengthError]() + // [UserListError]() + rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) { + option (google.api.http) = { + post: "/v9/customers/{customer_id=*}/userLists:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } +} + +// Request message for [UserListService.GetUserList][google.ads.googleads.v9.services.UserListService.GetUserList]. +message GetUserListRequest { + // Required. The resource name of the user list to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserList" + } + ]; +} + +// Request message for [UserListService.MutateUserLists][google.ads.googleads.v9.services.UserListService.MutateUserLists]. +message MutateUserListsRequest { + // Required. The ID of the customer whose user lists are being modified. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of operations to perform on individual user lists. + repeated UserListOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; + + // If true, successful operations will be carried out and invalid + // operations will return errors. If false, all operations will be carried + // out in one transaction if and only if they are all valid. + // Default is false. + bool partial_failure = 3; + + // If true, the request is validated but not executed. Only errors are + // returned, not results. + bool validate_only = 4; +} + +// A single operation (create, update) on a user list. +message UserListOperation { + // FieldMask that determines which resource fields are modified in an update. + google.protobuf.FieldMask update_mask = 4; + + // The mutate operation. + oneof operation { + // Create operation: No resource name is expected for the new user list. + google.ads.googleads.v9.resources.UserList create = 1; + + // Update operation: The user list is expected to have a valid resource + // name. + google.ads.googleads.v9.resources.UserList update = 2; + + // Remove operation: A resource name for the removed user list is expected, + // in this format: + // + // `customers/{customer_id}/userLists/{user_list_id}` + string remove = 3; + } +} + +// 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 (e.g. 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; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/user_location_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/user_location_view_service.proto new file mode 100644 index 00000000..80854962 --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/user_location_view_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/user_location_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "UserLocationViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the UserLocationView service. + +// Service to manage user location views. +service UserLocationViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested user location view in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetUserLocationView(GetUserLocationViewRequest) returns (google.ads.googleads.v9.resources.UserLocationView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/userLocationViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [UserLocationViewService.GetUserLocationView][google.ads.googleads.v9.services.UserLocationViewService.GetUserLocationView]. +message GetUserLocationViewRequest { + // Required. The resource name of the user location view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/UserLocationView" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/video_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/video_service.proto new file mode 100644 index 00000000..49b0a33d --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/video_service.proto @@ -0,0 +1,67 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/video.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "VideoServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Video service. + +// Service to manage videos. +service VideoService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested video in full detail. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GetVideo(GetVideoRequest) returns (google.ads.googleads.v9.resources.Video) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/videos/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [VideoService.GetVideo][google.ads.googleads.v9.services.VideoService.GetVideo]. +message GetVideoRequest { + // Required. The resource name of the video to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Video" + } + ]; +} diff --git a/google-cloud/protos/google/ads/googleads/v9/services/webpage_view_service.proto b/google-cloud/protos/google/ads/googleads/v9/services/webpage_view_service.proto new file mode 100644 index 00000000..a8f6937c --- /dev/null +++ b/google-cloud/protos/google/ads/googleads/v9/services/webpage_view_service.proto @@ -0,0 +1,59 @@ +// 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.ads.googleads.v9.services; + +import "google/ads/googleads/v9/resources/webpage_view.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.V9.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v9/services;services"; +option java_multiple_files = true; +option java_outer_classname = "WebpageViewServiceProto"; +option java_package = "com.google.ads.googleads.v9.services"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V9\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V9::Services"; + +// Proto file describing the Webpage View service. + +// Service to manage webpage views. +service WebpageViewService { + option (google.api.default_host) = "googleads.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + + // Returns the requested webpage view in full detail. + rpc GetWebpageView(GetWebpageViewRequest) returns (google.ads.googleads.v9.resources.WebpageView) { + option (google.api.http) = { + get: "/v9/{resource_name=customers/*/webpageViews/*}" + }; + option (google.api.method_signature) = "resource_name"; + } +} + +// Request message for [WebpageViewService.GetWebpageView][google.ads.googleads.v9.services.WebpageViewService.GetWebpageView]. +message GetWebpageViewRequest { + // Required. The resource name of the webpage view to fetch. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/WebpageView" + } + ]; +} diff --git a/google-cloud/protos/google/analytics/admin/BUILD.bazel b/google-cloud/protos/google/analytics/admin/BUILD.bazel new file mode 100644 index 00000000..7d08fc58 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/BUILD.bazel @@ -0,0 +1,39 @@ +# This build file includes a target for the Ruby wrapper library for +# google-analytics-admin. + +# 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 analyticsadmin. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1alpha in this case. +ruby_cloud_gapic_library( + name = "analyticsadmin_ruby_wrapper", + srcs = ["//google/analytics/admin/v1alpha:admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-analytics-admin", + "ruby-cloud-env-prefix=ANALYTICS_ADMIN", + "ruby-cloud-wrapper-of=v1alpha:0.0", + "ruby-cloud-api-id=analyticsadmin.googleapis.com", + "ruby-cloud-api-shortname=analyticsadmin", + ], + ruby_cloud_description = "The Analytics Admin API allows for programmatic access to the Google Analytics App+Web configuration data. You can use the Google Analytics Admin API to manage accounts and App+Web properties.", + ruby_cloud_title = "Google Analytics Admin", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-analytics-admin-ruby", + deps = [ + ":analyticsadmin_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/BUILD.bazel b/google-cloud/protos/google/analytics/admin/v1alpha/BUILD.bazel new file mode 100644 index 00000000..47c65d60 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/BUILD.bazel @@ -0,0 +1,387 @@ +# 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 = "admin_proto", + srcs = [ + "access_report.proto", + "analytics_admin.proto", + "audience.proto", + "resources.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "admin_proto_with_info", + deps = [ + ":admin_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 = "admin_java_proto", + deps = [":admin_proto"], +) + +java_grpc_library( + name = "admin_java_grpc", + srcs = [":admin_proto"], + deps = [":admin_java_proto"], +) + +java_gapic_library( + name = "admin_java_gapic", + srcs = [":admin_proto_with_info"], + gapic_yaml = "analyticsadmin_gapic.yaml", + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin_v1alpha.yaml", + test_deps = [ + ":admin_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":admin_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "admin_java_gapic_test_suite", + test_classes = [ + "com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClientHttpJsonTest", + "com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClientTest", + ], + runtime_deps = [":admin_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-analytics-admin-v1alpha-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":admin_java_gapic", + ":admin_java_grpc", + ":admin_java_proto", + ":admin_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "admin_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha", + protos = [":admin_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "admin_go_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "admin_grpc_service_config.json", + importpath = "google.golang.org/google/analytics/admin/v1alpha;admin", + metadata = True, + service_yaml = "analyticsadmin_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":admin_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +go_test( + name = "admin_go_gapic_test", + srcs = [":admin_go_gapic_srcjar_test"], + embed = [":admin_go_gapic"], + importpath = "google.golang.org/google/analytics/admin/v1alpha", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-analytics-admin-v1alpha-go", + deps = [ + ":admin_go_gapic", + ":admin_go_gapic_srcjar-metadata.srcjar", + ":admin_go_gapic_srcjar-test.srcjar", + ":admin_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "admin_py_gapic", + srcs = [":admin_proto"], + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "admin_py_gapic_test", + srcs = [ + "admin_py_gapic_pytest.py", + "admin_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":admin_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-analytics-admin-v1alpha-py", + deps = [ + ":admin_py_gapic", + ], +) + +############################################################################## +# 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 = "admin_php_proto", + deps = [":admin_proto"], +) + +php_grpc_library( + name = "admin_php_grpc", + srcs = [":admin_proto"], + deps = [":admin_php_proto"], +) + +php_gapic_library( + name = "admin_php_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin_v1alpha.yaml", + deps = [ + ":admin_php_grpc", + ":admin_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-analytics-admin-v1alpha-php", + deps = [ + ":admin_php_gapic", + ":admin_php_grpc", + ":admin_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "admin_nodejs_gapic", + package_name = "@google-analytics/admin", + src = ":admin_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "admin_grpc_service_config.json", + package = "google.analytics.admin.v1alpha", + service_yaml = "analyticsadmin_v1alpha.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "google-analytics-admin-v1alpha-nodejs", + deps = [ + ":admin_nodejs_gapic", + ":admin_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 = "admin_ruby_proto", + deps = [":admin_proto"], +) + +ruby_grpc_library( + name = "admin_ruby_grpc", + srcs = [":admin_proto"], + deps = [":admin_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admin_ruby_gapic", + srcs = [":admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=analyticsadmin.googleapis.com", + "ruby-cloud-api-shortname=analyticsadmin", + "ruby-cloud-env-prefix=ANALYTICS_ADMIN", + "ruby-cloud-gem-name=google-analytics-admin-v1alpha", + ], + grpc_service_config = "admin_grpc_service_config.json", + ruby_cloud_description = "The Analytics Admin API allows for programmatic access to the Google Analytics App+Web configuration data. You can use the Google Analytics Admin API to manage accounts and App+Web properties.", + ruby_cloud_title = "Google Analytics Admin V1alpha", + service_yaml = "analyticsadmin_v1alpha.yaml", + deps = [ + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-analytics-admin-v1alpha-ruby", + deps = [ + ":admin_ruby_gapic", + ":admin_ruby_grpc", + ":admin_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 = "admin_csharp_proto", + deps = [":admin_proto"], +) + +csharp_grpc_library( + name = "admin_csharp_grpc", + srcs = [":admin_proto"], + deps = [":admin_csharp_proto"], +) + +csharp_gapic_library( + name = "admin_csharp_gapic", + srcs = [":admin_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin_v1alpha.yaml", + deps = [ + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-analytics-admin-v1alpha-csharp", + deps = [ + ":admin_csharp_gapic", + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "admin_cc_proto", + deps = [":admin_proto"], +) + +cc_grpc_library( + name = "admin_cc_grpc", + srcs = [":admin_proto"], + grpc_only = True, + deps = [":admin_cc_proto"], +) diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/access_report.proto b/google-cloud/protos/google/analytics/admin/v1alpha/access_report.proto new file mode 100644 index 00000000..ce6a8aa1 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/access_report.proto @@ -0,0 +1,328 @@ +// 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.analytics.admin.v1alpha; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha;admin"; +option java_multiple_files = true; +option java_outer_classname = "AccessReportProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// 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 both the hourly and + // daily 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; +} + +// 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/google-cloud/protos/google/analytics/admin/v1alpha/admin_grpc_service_config.json b/google-cloud/protos/google/analytics/admin/v1alpha/admin_grpc_service_config.json new file mode 100644 index 00000000..7b40cde7 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/admin_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [ + { + "name": [{"service": "google.analytics.admin.v1alpha.AnalyticsAdminService"}], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE", "UNKNOWN"] + } + } + ] +} diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/analytics_admin.proto b/google-cloud/protos/google/analytics/admin/v1alpha/analytics_admin.proto new file mode 100644 index 00000000..926f91bb --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/analytics_admin.proto @@ -0,0 +1,2333 @@ +// 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.analytics.admin.v1alpha; + +import "google/analytics/admin/v1alpha/access_report.proto"; +import "google/analytics/admin/v1alpha/audience.proto"; +import "google/analytics/admin/v1alpha/resources.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"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha;admin"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsAdminProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// Service Interface for the Analytics Admin API (GA4). +service AnalyticsAdminService { + option (google.api.default_host) = "analyticsadmin.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/analytics.edit," + "https://www.googleapis.com/auth/analytics.manage.users," + "https://www.googleapis.com/auth/analytics.manage.users.readonly," + "https://www.googleapis.com/auth/analytics.readonly"; + + // Lookup for a single Account. + rpc GetAccount(GetAccountRequest) returns (Account) { + option (google.api.http) = { + get: "/v1alpha/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns all accounts accessible by the caller. + // + // Note that these accounts might not currently have GA4 properties. + // Soft-deleted (ie: "trashed") accounts are excluded by default. + // Returns an empty list if no relevant accounts are found. + rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { + option (google.api.http) = { + get: "/v1alpha/accounts" + }; + } + + // Marks target Account as soft-deleted (ie: "trashed") and returns it. + // + // This API does not have a method to restore soft-deleted accounts. + // However, they can be restored using the Trash Can UI. + // + // If the accounts are not restored before the expiration time, the account + // and all child resources (eg: Properties, GoogleAdsLinks, Streams, + // UserLinks) will be permanently purged. + // https://support.google.com/analytics/answer/6154772 + // + // Returns an error if the target is not found. + rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates an account. + rpc UpdateAccount(UpdateAccountRequest) returns (Account) { + option (google.api.http) = { + patch: "/v1alpha/{account.name=accounts/*}" + body: "account" + }; + option (google.api.method_signature) = "account,update_mask"; + } + + // Requests a ticket for creating an account. + rpc ProvisionAccountTicket(ProvisionAccountTicketRequest) returns (ProvisionAccountTicketResponse) { + option (google.api.http) = { + post: "/v1alpha/accounts:provisionAccountTicket" + body: "*" + }; + } + + // Returns summaries of all accounts accessible by the caller. + rpc ListAccountSummaries(ListAccountSummariesRequest) returns (ListAccountSummariesResponse) { + option (google.api.http) = { + get: "/v1alpha/accountSummaries" + }; + } + + // Lookup for a single "GA4" Property. + rpc GetProperty(GetPropertyRequest) returns (Property) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns child Properties under the specified parent Account. + // + // Only "GA4" properties will be returned. + // Properties will be excluded if the caller does not have access. + // Soft-deleted (ie: "trashed") properties are excluded by default. + // Returns an empty list if no relevant properties are found. + rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) { + option (google.api.http) = { + get: "/v1alpha/properties" + }; + } + + // Creates an "GA4" property with the specified location and attributes. + rpc CreateProperty(CreatePropertyRequest) returns (Property) { + option (google.api.http) = { + post: "/v1alpha/properties" + body: "property" + }; + option (google.api.method_signature) = "property"; + } + + // Marks target Property as soft-deleted (ie: "trashed") and returns it. + // + // This API does not have a method to restore soft-deleted properties. + // However, they can be restored using the Trash Can UI. + // + // If the properties are not restored before the expiration time, the Property + // and all child resources (eg: GoogleAdsLinks, Streams, UserLinks) + // will be permanently purged. + // https://support.google.com/analytics/answer/6154772 + // + // Returns an error if the target is not found, or is not an GA4 Property. + rpc DeleteProperty(DeletePropertyRequest) returns (Property) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a property. + rpc UpdateProperty(UpdatePropertyRequest) returns (Property) { + option (google.api.http) = { + patch: "/v1alpha/{property.name=properties/*}" + body: "property" + }; + option (google.api.method_signature) = "property,update_mask"; + } + + // Gets information about a user's link to an account or property. + rpc GetUserLink(GetUserLinkRequest) returns (UserLink) { + option (google.api.http) = { + get: "/v1alpha/{name=accounts/*/userLinks/*}" + additional_bindings { + get: "/v1alpha/{name=properties/*/userLinks/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets information about multiple users' links to an account or property. + rpc BatchGetUserLinks(BatchGetUserLinksRequest) returns (BatchGetUserLinksResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=accounts/*}/userLinks:batchGet" + additional_bindings { + get: "/v1alpha/{parent=properties/*}/userLinks:batchGet" + } + }; + } + + // Lists all user links on an account or property. + rpc ListUserLinks(ListUserLinksRequest) returns (ListUserLinksResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=accounts/*}/userLinks" + additional_bindings { + get: "/v1alpha/{parent=properties/*}/userLinks" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Lists all user links on an account or property, including implicit ones + // that come from effective permissions granted by groups or organization + // admin roles. + // + // If a returned user link does not have direct permissions, they cannot + // be removed from the account or property directly with the DeleteUserLink + // command. They have to be removed from the group/etc that gives them + // permissions, which is currently only usable/discoverable in the GA or GMP + // UIs. + rpc AuditUserLinks(AuditUserLinksRequest) returns (AuditUserLinksResponse) { + option (google.api.http) = { + post: "/v1alpha/{parent=accounts/*}/userLinks:audit" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=properties/*}/userLinks:audit" + body: "*" + } + }; + } + + // Creates a user link on an account or property. + // + // If the user with the specified email already has permissions on the + // account or property, then the user's existing permissions will be unioned + // with the permissions specified in the new UserLink. + rpc CreateUserLink(CreateUserLinkRequest) returns (UserLink) { + option (google.api.http) = { + post: "/v1alpha/{parent=accounts/*}/userLinks" + body: "user_link" + additional_bindings { + post: "/v1alpha/{parent=properties/*}/userLinks" + body: "user_link" + } + }; + option (google.api.method_signature) = "parent,user_link"; + } + + // Creates information about multiple users' links to an account or property. + // + // This method is transactional. If any UserLink cannot be created, none of + // the UserLinks will be created. + rpc BatchCreateUserLinks(BatchCreateUserLinksRequest) returns (BatchCreateUserLinksResponse) { + option (google.api.http) = { + post: "/v1alpha/{parent=accounts/*}/userLinks:batchCreate" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=properties/*}/userLinks:batchCreate" + body: "*" + } + }; + } + + // Updates a user link on an account or property. + rpc UpdateUserLink(UpdateUserLinkRequest) returns (UserLink) { + option (google.api.http) = { + patch: "/v1alpha/{user_link.name=accounts/*/userLinks/*}" + body: "user_link" + additional_bindings { + patch: "/v1alpha/{user_link.name=properties/*/userLinks/*}" + body: "user_link" + } + }; + option (google.api.method_signature) = "user_link"; + } + + // Updates information about multiple users' links to an account or property. + rpc BatchUpdateUserLinks(BatchUpdateUserLinksRequest) returns (BatchUpdateUserLinksResponse) { + option (google.api.http) = { + post: "/v1alpha/{parent=accounts/*}/userLinks:batchUpdate" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=properties/*}/userLinks:batchUpdate" + body: "*" + } + }; + } + + // Deletes a user link on an account or property. + rpc DeleteUserLink(DeleteUserLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=accounts/*/userLinks/*}" + additional_bindings { + delete: "/v1alpha/{name=properties/*/userLinks/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Deletes information about multiple users' links to an account or property. + rpc BatchDeleteUserLinks(BatchDeleteUserLinksRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha/{parent=accounts/*}/userLinks:batchDelete" + body: "*" + additional_bindings { + post: "/v1alpha/{parent=properties/*}/userLinks:batchDelete" + body: "*" + } + }; + } + + // Creates a FirebaseLink. + // + // Properties can have at most one FirebaseLink. + rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/firebaseLinks" + body: "firebase_link" + }; + option (google.api.method_signature) = "parent,firebase_link"; + } + + // Deletes a FirebaseLink on a property + rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/firebaseLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FirebaseLinks on a property. + // Properties can have at most one FirebaseLink. + rpc ListFirebaseLinks(ListFirebaseLinksRequest) returns (ListFirebaseLinksResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/firebaseLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Returns the Site Tag for the specified web stream. + // Site Tags are immutable singletons. + rpc GetGlobalSiteTag(GetGlobalSiteTagRequest) returns (GlobalSiteTag) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/dataStreams/*/globalSiteTag}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a GoogleAdsLink. + rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/googleAdsLinks" + body: "google_ads_link" + }; + option (google.api.method_signature) = "parent,google_ads_link"; + } + + // Updates a GoogleAdsLink on a property + rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) { + option (google.api.http) = { + patch: "/v1alpha/{google_ads_link.name=properties/*/googleAdsLinks/*}" + body: "google_ads_link" + }; + option (google.api.method_signature) = "google_ads_link,update_mask"; + } + + // Deletes a GoogleAdsLink on a property + rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/googleAdsLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists GoogleAdsLinks on a property. + rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest) returns (ListGoogleAdsLinksResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/googleAdsLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Get data sharing settings on an account. + // Data sharing settings are singletons. + rpc GetDataSharingSettings(GetDataSharingSettingsRequest) returns (DataSharingSettings) { + option (google.api.http) = { + get: "/v1alpha/{name=accounts/*/dataSharingSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single "GA4" MeasurementProtocolSecret. + rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns child MeasurementProtocolSecrets under the specified parent + // Property. + rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest) returns (ListMeasurementProtocolSecretsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a measurement protocol secret. + rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" + body: "measurement_protocol_secret" + }; + option (google.api.method_signature) = "parent,measurement_protocol_secret"; + } + + // Deletes target MeasurementProtocolSecret. + rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a measurement protocol secret. + rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + patch: "/v1alpha/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + body: "measurement_protocol_secret" + }; + option (google.api.method_signature) = "measurement_protocol_secret,update_mask"; + } + + // Acknowledges the terms of user data collection for the specified property. + // + // This acknowledgement must be completed (either in the Google Analytics UI + // or via this API) before MeasurementProtocolSecret resources may be created. + rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest) returns (AcknowledgeUserDataCollectionResponse) { + option (google.api.http) = { + post: "/v1alpha/{property=properties/*}:acknowledgeUserDataCollection" + body: "*" + }; + } + + // Searches through all changes to an account or its children given the + // specified set of filters. + rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest) returns (SearchChangeHistoryEventsResponse) { + option (google.api.http) = { + post: "/v1alpha/{account=accounts/*}:searchChangeHistoryEvents" + body: "*" + }; + } + + // Lookup for Google Signals settings for a property. + rpc GetGoogleSignalsSettings(GetGoogleSignalsSettingsRequest) returns (GoogleSignalsSettings) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/googleSignalsSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates Google Signals settings for a property. + rpc UpdateGoogleSignalsSettings(UpdateGoogleSignalsSettingsRequest) returns (GoogleSignalsSettings) { + option (google.api.http) = { + patch: "/v1alpha/{google_signals_settings.name=properties/*/googleSignalsSettings}" + body: "google_signals_settings" + }; + option (google.api.method_signature) = "google_signals_settings,update_mask"; + } + + // Creates a conversion event with the specified attributes. + rpc CreateConversionEvent(CreateConversionEventRequest) returns (ConversionEvent) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/conversionEvents" + body: "conversion_event" + }; + option (google.api.method_signature) = "parent,conversion_event"; + } + + // Retrieve a single conversion event. + rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/conversionEvents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes a conversion event in a property. + rpc DeleteConversionEvent(DeleteConversionEventRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/conversionEvents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns a list of conversion events in the specified parent property. + // + // Returns an empty list if no conversion events are found. + rpc ListConversionEvents(ListConversionEventsRequest) returns (ListConversionEventsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/conversionEvents" + }; + option (google.api.method_signature) = "parent"; + } + + // Look up a single DisplayVideo360AdvertiserLink + rpc GetDisplayVideo360AdvertiserLink(GetDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all DisplayVideo360AdvertiserLinks on a property. + rpc ListDisplayVideo360AdvertiserLinks(ListDisplayVideo360AdvertiserLinksRequest) returns (ListDisplayVideo360AdvertiserLinksResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a DisplayVideo360AdvertiserLink. + // This can only be utilized by users who have proper authorization both on + // the Google Analytics property and on the Display & Video 360 advertiser. + // Users who do not have access to the Display & Video 360 advertiser should + // instead seek to create a DisplayVideo360LinkProposal. + rpc CreateDisplayVideo360AdvertiserLink(CreateDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks" + body: "display_video_360_advertiser_link" + }; + option (google.api.method_signature) = "parent,display_video_360_advertiser_link"; + } + + // Deletes a DisplayVideo360AdvertiserLink on a property. + rpc DeleteDisplayVideo360AdvertiserLink(DeleteDisplayVideo360AdvertiserLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a DisplayVideo360AdvertiserLink on a property. + rpc UpdateDisplayVideo360AdvertiserLink(UpdateDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { + option (google.api.http) = { + patch: "/v1alpha/{display_video_360_advertiser_link.name=properties/*/displayVideo360AdvertiserLinks/*}" + body: "display_video_360_advertiser_link" + }; + option (google.api.method_signature) = "display_video_360_advertiser_link,update_mask"; + } + + // Lookup for a single DisplayVideo360AdvertiserLinkProposal. + rpc GetDisplayVideo360AdvertiserLinkProposal(GetDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists DisplayVideo360AdvertiserLinkProposals on a property. + rpc ListDisplayVideo360AdvertiserLinkProposals(ListDisplayVideo360AdvertiserLinkProposalsRequest) returns (ListDisplayVideo360AdvertiserLinkProposalsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a DisplayVideo360AdvertiserLinkProposal. + rpc CreateDisplayVideo360AdvertiserLinkProposal(CreateDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals" + body: "display_video_360_advertiser_link_proposal" + }; + option (google.api.method_signature) = "parent,display_video_360_advertiser_link_proposal"; + } + + // Deletes a DisplayVideo360AdvertiserLinkProposal on a property. + // This can only be used on cancelled proposals. + rpc DeleteDisplayVideo360AdvertiserLinkProposal(DeleteDisplayVideo360AdvertiserLinkProposalRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Approves a DisplayVideo360AdvertiserLinkProposal. + // The DisplayVideo360AdvertiserLinkProposal will be deleted and a new + // DisplayVideo360AdvertiserLink will be created. + rpc ApproveDisplayVideo360AdvertiserLinkProposal(ApproveDisplayVideo360AdvertiserLinkProposalRequest) returns (ApproveDisplayVideo360AdvertiserLinkProposalResponse) { + option (google.api.http) = { + post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:approve" + body: "*" + }; + } + + // Cancels a DisplayVideo360AdvertiserLinkProposal. + // Cancelling can mean either: + // - Declining a proposal initiated from Display & Video 360 + // - Withdrawing a proposal initiated from Google Analytics + // After being cancelled, a proposal will eventually be deleted automatically. + rpc CancelDisplayVideo360AdvertiserLinkProposal(CancelDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { + option (google.api.http) = { + post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:cancel" + body: "*" + }; + } + + // Creates a CustomDimension. + rpc CreateCustomDimension(CreateCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/customDimensions" + body: "custom_dimension" + }; + option (google.api.method_signature) = "parent,custom_dimension"; + } + + // Updates a CustomDimension on a property. + rpc UpdateCustomDimension(UpdateCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + patch: "/v1alpha/{custom_dimension.name=properties/*/customDimensions/*}" + body: "custom_dimension" + }; + option (google.api.method_signature) = "custom_dimension,update_mask"; + } + + // Lists CustomDimensions on a property. + rpc ListCustomDimensions(ListCustomDimensionsRequest) returns (ListCustomDimensionsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/customDimensions" + }; + option (google.api.method_signature) = "parent"; + } + + // Archives a CustomDimension on a property. + rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha/{name=properties/*/customDimensions/*}:archive" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single CustomDimension. + rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/customDimensions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a CustomMetric. + rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/customMetrics" + body: "custom_metric" + }; + option (google.api.method_signature) = "parent,custom_metric"; + } + + // Updates a CustomMetric on a property. + rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + patch: "/v1alpha/{custom_metric.name=properties/*/customMetrics/*}" + body: "custom_metric" + }; + option (google.api.method_signature) = "custom_metric,update_mask"; + } + + // Lists CustomMetrics on a property. + rpc ListCustomMetrics(ListCustomMetricsRequest) returns (ListCustomMetricsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/customMetrics" + }; + option (google.api.method_signature) = "parent"; + } + + // Archives a CustomMetric on a property. + rpc ArchiveCustomMetric(ArchiveCustomMetricRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha/{name=properties/*/customMetrics/*}:archive" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single CustomMetric. + rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/customMetrics/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the singleton data retention settings for this property. + rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest) returns (DataRetentionSettings) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/dataRetentionSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the singleton data retention settings for this property. + rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest) returns (DataRetentionSettings) { + option (google.api.http) = { + patch: "/v1alpha/{data_retention_settings.name=properties/*/dataRetentionSettings}" + body: "data_retention_settings" + }; + option (google.api.method_signature) = "data_retention_settings,update_mask"; + } + + // Creates a DataStream. + rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/dataStreams" + body: "data_stream" + }; + option (google.api.method_signature) = "parent,data_stream"; + } + + // Deletes a DataStream on a property. + rpc DeleteDataStream(DeleteDataStreamRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha/{name=properties/*/dataStreams/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a DataStream on a property. + rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + patch: "/v1alpha/{data_stream.name=properties/*/dataStreams/*}" + body: "data_stream" + }; + option (google.api.method_signature) = "data_stream,update_mask"; + } + + // Lists DataStreams on a property. + rpc ListDataStreams(ListDataStreamsRequest) returns (ListDataStreamsResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/dataStreams" + }; + option (google.api.method_signature) = "parent"; + } + + // Lookup for a single DataStream. + rpc GetDataStream(GetDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/dataStreams/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single Audience. + // Audiences created before 2020 may not be supported. + rpc GetAudience(GetAudienceRequest) returns (Audience) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/audiences/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Audiences on a property. + // Audiences created before 2020 may not be supported. + rpc ListAudiences(ListAudiencesRequest) returns (ListAudiencesResponse) { + option (google.api.http) = { + get: "/v1alpha/{parent=properties/*}/audiences" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates an Audience. + rpc CreateAudience(CreateAudienceRequest) returns (Audience) { + option (google.api.http) = { + post: "/v1alpha/{parent=properties/*}/audiences" + body: "audience" + }; + option (google.api.method_signature) = "parent,audience"; + } + + // Updates an Audience on a property. + rpc UpdateAudience(UpdateAudienceRequest) returns (Audience) { + option (google.api.http) = { + patch: "/v1alpha/{audience.name=properties/*/audiences/*}" + body: "audience" + }; + option (google.api.method_signature) = "audience,update_mask"; + } + + // Archives an Audience on a property. + rpc ArchiveAudience(ArchiveAudienceRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha/{name=properties/*/audiences/*}:archive" + body: "*" + }; + } + + // Lookup for a AttributionSettings singleton. + rpc GetAttributionSettings(GetAttributionSettingsRequest) returns (AttributionSettings) { + option (google.api.http) = { + get: "/v1alpha/{name=properties/*/attributionSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates attribution settings on a property. + rpc UpdateAttributionSettings(UpdateAttributionSettingsRequest) returns (AttributionSettings) { + option (google.api.http) = { + patch: "/v1alpha/{attribution_settings.name=properties/*/attributionSettings}" + body: "attribution_settings" + }; + option (google.api.method_signature) = "attribution_settings,update_mask"; + } + + // Returns a customized report of data access records. The report provides + // records of each time a user reads Google Analytics reporting data. Access + // records are retained for up to 2 years. + // + // Data Access Reports can be requested for a property. The property must be + // in Google Analytics 360. This method is only available to Administrators. + // + // These data access records include GA4 UI Reporting, GA4 UI Explorations, + // GA4 Data API, and other products like Firebase & Admob that can retrieve + // data from Google Analytics through a linkage. These records don't include + // property configuration changes like adding a stream or changing a + // property's time zone. For configuration change history, see + // [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). + rpc RunAccessReport(RunAccessReportRequest) returns (RunAccessReportResponse) { + option (google.api.http) = { + post: "/v1alpha/{entity=properties/*}:runAccessReport" + body: "*" + }; + } +} + +// The request for a Data Access Record Report. +message RunAccessReportRequest { + // The Data Access Report is requested for this property. + // For example if "123" is your GA4 property ID, then entity should be + // "properties/123". + string entity = 1; + + // The dimensions requested and displayed in the response. Requests are + // allowed up to 9 dimensions. + repeated AccessDimension dimensions = 2; + + // The metrics requested and displayed in the response. Requests are allowed + // up to 10 metrics. + repeated AccessMetric metrics = 3; + + // Date ranges of access records to read. If multiple date ranges are + // requested, each response row will contain a zero based date range index. If + // two date ranges overlap, the access records for the overlapping days is + // included in the response rows for both date ranges. Requests are allowed up + // to 2 date ranges. + repeated AccessDateRange date_ranges = 4; + + // Dimension filters allow you to restrict report response to specific + // dimension values which match the filter. For example, filtering on access + // records of a single user. To learn more, see [Fundamentals of Dimension + // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) + // for examples. Metrics cannot be used in this filter. + AccessFilterExpression dimension_filter = 5; + + // Metric filters allow you to restrict report response to specific metric + // values which match the filter. Metric filters are applied after aggregating + // the report's rows, similar to SQL having-clause. Dimensions cannot be used + // in this filter. + AccessFilterExpression metric_filter = 6; + + // The row count of the start row. The first row is counted as row 0. If + // offset is unspecified, it is treated as 0. If offset is zero, then this + // method will return the first page of results with `limit` entries. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int64 offset = 7; + + // The number of rows to return. If unspecified, 10,000 rows are returned. The + // API returns a maximum of 100,000 rows per request, no matter how many you + // ask for. `limit` must be positive. + // + // The API may return fewer rows than the requested `limit`, if there aren't + // as many remaining rows as the `limit`. For instance, there are fewer than + // 300 possible values for the dimension `country`, so when reporting on only + // `country`, you can't get more than 300 rows, even if you set `limit` to a + // higher value. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int64 limit = 8; + + // This request's time zone if specified. If unspecified, the property's time + // zone is used. The request's time zone is used to interpret the start & end + // dates of the report. + // + // Formatted as strings from the IANA Time Zone database + // (https://www.iana.org/time-zones); for example "America/New_York" or + // "Asia/Tokyo". + string time_zone = 9; + + // Specifies how rows are ordered in the response. + repeated AccessOrderBy order_bys = 10; + + // Toggles whether to return the current state of this Analytics Property's + // quota. Quota is returned in [AccessQuota](#AccessQuota). + bool return_entity_quota = 11; +} + +// The customized Data Access Record Report response. +message RunAccessReportResponse { + // The header for a column in the report that corresponds to a specific + // dimension. The number of DimensionHeaders and ordering of DimensionHeaders + // matches the dimensions present in rows. + repeated AccessDimensionHeader dimension_headers = 1; + + // The header for a column in the report that corresponds to a specific + // metric. The number of MetricHeaders and ordering of MetricHeaders matches + // the metrics present in rows. + repeated AccessMetricHeader metric_headers = 2; + + // Rows of dimension value combinations and metric values in the report. + repeated AccessRow rows = 3; + + // The total number of rows in the query result. `rowCount` is independent of + // the number of rows returned in the response, the `limit` request + // parameter, and the `offset` request parameter. For example if a query + // returns 175 rows and includes `limit` of 50 in the API request, the + // response will contain `rowCount` of 175 but only 50 rows. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int32 row_count = 4; + + // The quota state for this Analytics property including this request. + AccessQuota quota = 5; +} + +// Request message for GetAccount RPC. +message GetAccountRequest { + // Required. The name of the account to lookup. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// Request message for ListAccounts RPC. +message ListAccountsRequest { + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 1; + + // A page token, received from a previous `ListAccounts` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListAccounts` must + // match the call that provided the page token. + string page_token = 2; + + // Whether to include soft-deleted (ie: "trashed") Accounts in the + // results. Accounts can be inspected to determine whether they are deleted or + // not. + bool show_deleted = 3; +} + +// Request message for ListAccounts RPC. +message ListAccountsResponse { + // Results that were accessible to the caller. + 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; +} + +// Request message for DeleteAccount RPC. +message DeleteAccountRequest { + // Required. The name of the Account to soft-delete. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// Request message for UpdateAccount RPC. +message UpdateAccountRequest { + // Required. The account to update. + // The account's `name` field is used to identify the account. + Account account = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketRequest { + // The account to create. + Account account = 1; + + // Redirect URI where the user will be sent after accepting Terms of Service. + // Must be configured in Developers Console as a Redirect URI + string redirect_uri = 2; +} + +// Response message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketResponse { + // The param to be passed in the ToS link. + string account_ticket_id = 1; +} + +// Request message for GetProperty RPC. +message GetPropertyRequest { + // Required. The name of the property to lookup. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; +} + +// Request message for ListProperties RPC. +message ListPropertiesRequest { + // Required. An expression for filtering the results of the request. + // Fields eligible for filtering are: + // `parent:`(The resource name of the parent account/property) or + // `ancestor:`(The resource name of the parent account) or + // `firebase_project:`(The id or number of the linked firebase project). + // Some examples of filters: + // + // ``` + // | Filter | Description | + // |-----------------------------|-------------------------------------------| + // | parent:accounts/123 | The account with account id: 123. | + // | parent:properties/123 | The property with property id: 123. | + // | ancestor:accounts/123 | The account with account id: 123. | + // | firebase_project:project-id | The firebase project with id: project-id. | + // | firebase_project:123 | The firebase project with number: 123. | + // ``` + string filter = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListProperties` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListProperties` must + // match the call that provided the page token. + string page_token = 3; + + // Whether to include soft-deleted (ie: "trashed") Properties in the + // results. Properties can be inspected to determine whether they are deleted + // or not. + bool show_deleted = 4; +} + +// Response message for ListProperties RPC. +message ListPropertiesResponse { + // Results that matched the filter criteria and were accessible to the caller. + repeated Property properties = 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 UpdateProperty RPC. +message UpdatePropertyRequest { + // Required. The property to update. + // The property's `name` field is used to identify the property to be + // updated. + Property property = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateProperty RPC. +message CreatePropertyRequest { + // Required. The property to create. + // Note: the supplied property must specify its parent. + Property property = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteProperty RPC. +message DeletePropertyRequest { + // Required. The name of the Property to soft-delete. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; +} + +// Request message for GetUserLink RPC. +message GetUserLinkRequest { + // Required. Example format: accounts/1234/userLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/UserLink" + } + ]; +} + +// Request message for BatchGetUserLinks RPC. +message BatchGetUserLinksRequest { + // Required. The account or property that all user links in the request are + // for. The parent of all provided values for the 'names' field must match + // this field. + // Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // Required. The names of the user links to retrieve. + // A maximum of 1000 user links can be retrieved in a batch. + // Format: accounts/{accountId}/userLinks/{userLinkId} + repeated string names = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/UserLink" + } + ]; +} + +// Response message for BatchGetUserLinks RPC. +message BatchGetUserLinksResponse { + // The requested user links. + repeated UserLink user_links = 1; +} + +// Request message for ListUserLinks RPC. +message ListUserLinksRequest { + // Required. Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // The maximum number of user links to return. + // The service may return fewer than this value. + // If unspecified, at most 200 user links will be returned. + // The maximum value is 500; values above 500 will be coerced to 500. + int32 page_size = 2; + + // A page token, received from a previous `ListUserLinks` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListUserLinks` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListUserLinks RPC. +message ListUserLinksResponse { + // List of UserLinks. These will be ordered stably, but in an arbitrary order. + repeated UserLink user_links = 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 AuditUserLinks RPC. +message AuditUserLinksRequest { + // Required. Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // The maximum number of user links to return. + // The service may return fewer than this value. + // If unspecified, at most 1000 user links will be returned. + // The maximum value is 5000; values above 5000 will be coerced to 5000. + int32 page_size = 2; + + // A page token, received from a previous `AuditUserLinks` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `AuditUserLinks` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for AuditUserLinks RPC. +message AuditUserLinksResponse { + // List of AuditUserLinks. These will be ordered stably, but in an arbitrary + // order. + repeated AuditUserLink user_links = 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 CreateUserLink RPC. +// +// Users can have multiple email addresses associated with their Google +// account, and one of these email addresses is the "primary" email address. +// Any of the email addresses associated with a Google account may be used +// for a new UserLink, but the returned UserLink will always contain the +// "primary" email address. As a result, the input and output email address +// for this request may differ. +message CreateUserLinkRequest { + // Required. Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // Optional. If set, then email the new user notifying them that they've been granted + // permissions to the resource. + bool notify_new_user = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The user link to create. + UserLink user_link = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for BatchCreateUserLinks RPC. +message BatchCreateUserLinksRequest { + // Required. The account or property that all user links in the request are for. + // This field is required. The parent field in the CreateUserLinkRequest + // messages must either be empty or match this field. + // Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // Optional. If set, then email the new users notifying them that they've been granted + // permissions to the resource. Regardless of whether this is set or not, + // notify_new_user field inside each individual request is ignored. + bool notify_new_users = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The requests specifying the user links to create. + // A maximum of 1000 user links can be created in a batch. + repeated CreateUserLinkRequest requests = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for BatchCreateUserLinks RPC. +message BatchCreateUserLinksResponse { + // The user links created. + repeated UserLink user_links = 1; +} + +// Request message for UpdateUserLink RPC. +message UpdateUserLinkRequest { + // Required. The user link to update. + UserLink user_link = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for BatchUpdateUserLinks RPC. +message BatchUpdateUserLinksRequest { + // Required. The account or property that all user links in the request are + // for. The parent field in the UpdateUserLinkRequest messages must either be + // empty or match this field. + // Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // Required. The requests specifying the user links to update. + // A maximum of 1000 user links can be updated in a batch. + repeated UpdateUserLinkRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for BatchUpdateUserLinks RPC. +message BatchUpdateUserLinksResponse { + // The user links updated. + repeated UserLink user_links = 1; +} + +// Request message for DeleteUserLink RPC. +message DeleteUserLinkRequest { + // Required. Example format: accounts/1234/userLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/UserLink" + } + ]; +} + +// Request message for BatchDeleteUserLinks RPC. +message BatchDeleteUserLinksRequest { + // Required. The account or property that all user links in the request are + // for. The parent of all values for user link names to delete must match this + // field. + // Example format: accounts/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/UserLink" + } + ]; + + // Required. The requests specifying the user links to update. + // A maximum of 1000 user links can be updated in a batch. + repeated DeleteUserLinkRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateFirebaseLink RPC +message CreateFirebaseLinkRequest { + // Required. Format: properties/{property_id} + // Example: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; + + // Required. The Firebase link to create. + FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteFirebaseLink RPC +message DeleteFirebaseLinkRequest { + // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} + // Example: properties/1234/firebaseLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; +} + +// Request message for ListFirebaseLinks RPC +message ListFirebaseLinksRequest { + // Required. Format: properties/{property_id} + // Example: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; + + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListFirebaseLinks` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListProperties` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListFirebaseLinks RPC +message ListFirebaseLinksResponse { + // List of FirebaseLinks. This will have at most one value. + repeated FirebaseLink firebase_links = 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. + // Currently, Google Analytics supports only one FirebaseLink per property, + // so this will never be populated. + string next_page_token = 2; +} + +// Request message for GetGlobalSiteTag RPC. +message GetGlobalSiteTagRequest { + // Required. The name of the site tag to lookup. + // Note that site tags are singletons and do not have unique IDs. + // Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag + // Example: "properties/123/dataStreams/456/globalSiteTag" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/GlobalSiteTag" + } + ]; +} + +// Request message for CreateGoogleAdsLink RPC +message CreateGoogleAdsLinkRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; + + // Required. The GoogleAdsLink to create. + GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateGoogleAdsLink RPC +message UpdateGoogleAdsLinkRequest { + // The GoogleAdsLink to update + GoogleAdsLink google_ads_link = 1; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteGoogleAdsLink RPC. +message DeleteGoogleAdsLinkRequest { + // Required. Example format: properties/1234/googleAdsLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; +} + +// Request message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListGoogleAdsLinks` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListGoogleAdsLinks` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksResponse { + // List of GoogleAdsLinks. + repeated GoogleAdsLink google_ads_links = 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 GetDataSharingSettings RPC. +message GetDataSharingSettingsRequest { + // Required. The name of the settings to lookup. + // Format: accounts/{account}/dataSharingSettings + // Example: "accounts/1000/dataSharingSettings" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataSharingSettings" + } + ]; +} + +// Request message for ListAccountSummaries RPC. +message ListAccountSummariesRequest { + // The maximum number of AccountSummary resources to return. The service may + // return fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 1; + + // A page token, received from a previous `ListAccountSummaries` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListAccountSummaries` + // must match the call that provided the page token. + string page_token = 2; +} + +// Response message for ListAccountSummaries RPC. +message ListAccountSummariesResponse { + // Account summaries of all accounts the caller has access to. + repeated AccountSummary account_summaries = 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 AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionRequest { + // Required. The property for which to acknowledge user data collection. + string property = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; + + // Required. An acknowledgement that the caller of this method understands the terms + // of user data collection. + // + // This field must contain the exact value: + // "I acknowledge that I have the necessary privacy disclosures and rights + // from my end users for the collection and processing of their data, + // including the association of such data with the visitation information + // Google Analytics collects from my site and/or app property." + string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionResponse { + +} + +// Request message for SearchChangeHistoryEvents RPC. +message SearchChangeHistoryEventsRequest { + // Required. The account resource for which to return change history resources. + string account = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; + + // Optional. Resource name for a child property. If set, only return changes + // made to this property or its child resources. + string property = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; + + // Optional. If set, only return changes if they are for a resource that matches at + // least one of these types. + repeated ChangeHistoryResourceType resource_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes that match one or more of these types of + // actions. + repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes if they are made by a user in this list. + repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes made after this time (inclusive). + google.protobuf.Timestamp earliest_change_time = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes made before this time (inclusive). + google.protobuf.Timestamp latest_change_time = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of ChangeHistoryEvent items to return. + // The service may return fewer than this value, even if there are additional + // pages. If unspecified, at most 50 items will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. + // Provide this to retrieve the subsequent page. When paginating, all other + // parameters provided to `SearchChangeHistoryEvents` must match the call that + // provided the page token. + string page_token = 9 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for SearchAccounts RPC. +message SearchChangeHistoryEventsResponse { + // Results that were accessible to the caller. + repeated ChangeHistoryEvent change_history_events = 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 GetMeasurementProtocolSecret RPC. +message GetMeasurementProtocolSecretRequest { + // Required. The name of the measurement protocol secret to lookup. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; +} + +// Request message for CreateMeasurementProtocolSecret RPC +message CreateMeasurementProtocolSecretRequest { + // Required. The parent resource where this secret will be created. + // Format: properties/{property}/dataStreams/{dataStream} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; + + // Required. The measurement protocol secret to create. + MeasurementProtocolSecret measurement_protocol_secret = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteMeasurementProtocolSecret RPC +message DeleteMeasurementProtocolSecretRequest { + // Required. The name of the MeasurementProtocolSecret to delete. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; +} + +// Request message for UpdateMeasurementProtocolSecret RPC +message UpdateMeasurementProtocolSecretRequest { + // Required. The measurement protocol secret to update. + MeasurementProtocolSecret measurement_protocol_secret = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to be updated. Omitted fields will not be updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsRequest { + // Required. The resource name of the parent stream. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 10 resources will be returned. + // The maximum value is 10. Higher values will be coerced to the maximum. + int32 page_size = 2; + + // A page token, received from a previous `ListMeasurementProtocolSecrets` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListMeasurementProtocolSecrets` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsResponse { + // A list of secrets for the parent stream specified in the request. + repeated MeasurementProtocolSecret measurement_protocol_secrets = 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 GetGoogleSignalsSettings RPC +message GetGoogleSignalsSettingsRequest { + // Required. The name of the google signals settings to retrieve. + // Format: properties/{property}/googleSignalsSettings + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/GoogleSignalsSettings" + } + ]; +} + +// Request message for UpdateGoogleSignalsSettings RPC +message UpdateGoogleSignalsSettingsRequest { + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + GoogleSignalsSettings google_signals_settings = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateConversionEvent RPC +message CreateConversionEventRequest { + // Required. The conversion event to create. + ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the parent property where this conversion event will + // be created. Format: properties/123 + string parent = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for GetConversionEvent RPC +message GetConversionEventRequest { + // Required. The resource name of the conversion event to retrieve. + // Format: properties/{property}/conversionEvents/{conversion_event} + // Example: "properties/123/conversionEvents/456" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for DeleteConversionEvent RPC +message DeleteConversionEventRequest { + // Required. The resource name of the conversion event to delete. + // Format: properties/{property}/conversionEvents/{conversion_event} + // Example: "properties/123/conversionEvents/456" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for ListConversionEvents RPC +message ListConversionEventsRequest { + // Required. The resource name of the parent property. + // Example: 'properties/123' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListConversionEvents` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListConversionEvents` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListConversionEvents RPC. +message ListConversionEventsResponse { + // The requested conversion events + repeated ConversionEvent conversion_events = 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 GetDisplayVideo360AdvertiserLink RPC. +message GetDisplayVideo360AdvertiserLinkRequest { + // Required. The name of the DisplayVideo360AdvertiserLink to get. + // Example format: properties/1234/displayVideo360AdvertiserLink/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" + } + ]; +} + +// Request message for ListDisplayVideo360AdvertiserLinks RPC. +message ListDisplayVideo360AdvertiserLinksRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListDisplayVideo360AdvertiserLinks` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListDisplayVideo360AdvertiserLinks` must match the call that provided the + // page token. + string page_token = 3; +} + +// Response message for ListDisplayVideo360AdvertiserLinks RPC. +message ListDisplayVideo360AdvertiserLinksResponse { + // List of DisplayVideo360AdvertiserLinks. + repeated DisplayVideo360AdvertiserLink display_video_360_advertiser_links = 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 CreateDisplayVideo360AdvertiserLink RPC. +message CreateDisplayVideo360AdvertiserLinkRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" + } + ]; + + // Required. The DisplayVideo360AdvertiserLink to create. + DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteDisplayVideo360AdvertiserLink RPC. +message DeleteDisplayVideo360AdvertiserLinkRequest { + // Required. The name of the DisplayVideo360AdvertiserLink to delete. + // Example format: properties/1234/displayVideo360AdvertiserLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" + } + ]; +} + +// Request message for UpdateDisplayVideo360AdvertiserLink RPC. +message UpdateDisplayVideo360AdvertiserLinkRequest { + // The DisplayVideo360AdvertiserLink to update + DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for GetDisplayVideo360AdvertiserLinkProposal RPC. +message GetDisplayVideo360AdvertiserLinkProposalRequest { + // Required. The name of the DisplayVideo360AdvertiserLinkProposal to get. + // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; +} + +// Request message for ListDisplayVideo360AdvertiserLinkProposals RPC. +message ListDisplayVideo360AdvertiserLinkProposalsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous + // `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve + // the subsequent page. + // + // When paginating, all other parameters provided to + // `ListDisplayVideo360AdvertiserLinkProposals` must match the call that + // provided the page token. + string page_token = 3; +} + +// Response message for ListDisplayVideo360AdvertiserLinkProposals RPC. +message ListDisplayVideo360AdvertiserLinkProposalsResponse { + // List of DisplayVideo360AdvertiserLinkProposals. + repeated DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposals = 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 CreateDisplayVideo360AdvertiserLinkProposal RPC. +message CreateDisplayVideo360AdvertiserLinkProposalRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; + + // Required. The DisplayVideo360AdvertiserLinkProposal to create. + DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposal = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteDisplayVideo360AdvertiserLinkProposal RPC. +message DeleteDisplayVideo360AdvertiserLinkProposalRequest { + // Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete. + // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; +} + +// Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC. +message ApproveDisplayVideo360AdvertiserLinkProposalRequest { + // Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve. + // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; +} + +// Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC. +message ApproveDisplayVideo360AdvertiserLinkProposalResponse { + // The DisplayVideo360AdvertiserLink created as a result of approving the + // proposal. + DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1; +} + +// Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC. +message CancelDisplayVideo360AdvertiserLinkProposalRequest { + // Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel. + // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + } + ]; +} + +// Request message for CreateCustomDimension RPC. +message CreateCustomDimensionRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; + + // Required. The CustomDimension to create. + CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomDimension RPC. +message UpdateCustomDimensionRequest { + // The CustomDimension to update + CustomDimension custom_dimension = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomDimensions RPC. +message ListCustomDimensionsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListCustomDimensions` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCustomDimensions` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListCustomDimensions RPC. +message ListCustomDimensionsResponse { + // List of CustomDimensions. + repeated CustomDimension custom_dimensions = 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 ArchiveCustomDimension RPC. +message ArchiveCustomDimensionRequest { + // Required. The name of the CustomDimension to archive. + // Example format: properties/1234/customDimensions/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; +} + +// Request message for GetCustomDimension RPC. +message GetCustomDimensionRequest { + // Required. The name of the CustomDimension to get. + // Example format: properties/1234/customDimensions/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; +} + +// Request message for CreateCustomMetric RPC. +message CreateCustomMetricRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; + + // Required. The CustomMetric to create. + CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomMetric RPC. +message UpdateCustomMetricRequest { + // The CustomMetric to update + CustomMetric custom_metric = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomMetrics RPC. +message ListCustomMetricsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListCustomMetrics` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCustomMetrics` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListCustomMetrics RPC. +message ListCustomMetricsResponse { + // List of CustomMetrics. + repeated CustomMetric custom_metrics = 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 ArchiveCustomMetric RPC. +message ArchiveCustomMetricRequest { + // Required. The name of the CustomMetric to archive. + // Example format: properties/1234/customMetrics/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; +} + +// Request message for GetCustomMetric RPC. +message GetCustomMetricRequest { + // Required. The name of the CustomMetric to get. + // Example format: properties/1234/customMetrics/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; +} + +// Request message for GetDataRetentionSettings RPC. +message GetDataRetentionSettingsRequest { + // Required. The name of the settings to lookup. + // Format: + // properties/{property}/dataRetentionSettings + // Example: "properties/1000/dataRetentionSettings" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataRetentionSettings" + } + ]; +} + +// Request message for UpdateDataRetentionSettings RPC. +message UpdateDataRetentionSettingsRequest { + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + DataRetentionSettings data_retention_settings = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateDataStream RPC. +message CreateDataStreamRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DataStream" + } + ]; + + // Required. The DataStream to create. + DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteDataStream RPC. +message DeleteDataStreamRequest { + // Required. The name of the DataStream to delete. + // Example format: properties/1234/dataStreams/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataStream" + } + ]; +} + +// Request message for UpdateDataStream RPC. +message UpdateDataStreamRequest { + // The DataStream to update + DataStream data_stream = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListDataStreams RPC. +message ListDataStreamsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DataStream" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListDataStreams` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDataStreams` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListDataStreams RPC. +message ListDataStreamsResponse { + // List of DataStreams. + repeated DataStream data_streams = 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 GetDataStream RPC. +message GetDataStreamRequest { + // Required. The name of the DataStream to get. + // Example format: properties/1234/dataStreams/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataStream" + } + ]; +} + +// Request message for GetAudience RPC. +message GetAudienceRequest { + // Required. The name of the Audience to get. + // Example format: properties/1234/audiences/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Audience" + } + ]; +} + +// Request message for ListAudiences RPC. +message ListAudiencesRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/Audience" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListAudiences` call. Provide this + // to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListAudiences` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListAudiences RPC. +message ListAudiencesResponse { + // List of Audiences. + repeated Audience audiences = 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 CreateAudience RPC. +message CreateAudienceRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/Audience" + } + ]; + + // Required. The audience to create. + Audience audience = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateAudience RPC. +message UpdateAudienceRequest { + // Required. The audience to update. + // The audience's `name` field is used to identify the audience to be updated. + Audience audience = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ArchiveAudience RPC. +message ArchiveAudienceRequest { + // Required. Example format: properties/1234/audiences/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/Audience" + } + ]; +} + +// Request message for GetAttributionSettings RPC. +message GetAttributionSettingsRequest { + // Required. The name of the attribution settings to retrieve. + // Format: properties/{property}/attributionSettings + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/AttributionSettings" + } + ]; +} + +// Request message for UpdateAttributionSettings RPC +message UpdateAttributionSettingsRequest { + // Required. The attribution settings to update. + // The `name` field is used to identify the settings to be updated. + AttributionSettings attribution_settings = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin.yaml b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin.yaml new file mode 100644 index 00000000..d74aa8ba --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin.yaml @@ -0,0 +1,198 @@ +type: google.api.Service +config_version: 3 +name: analyticsadmin.googleapis.com +title: Google Analytics Admin API + +apis: +- name: google.analytics.admin.v1alpha.AnalyticsAdminService + +authentication: + rules: + - selector: 'google.analytics.admin.v1alpha.AnalyticsAdminService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.AuditUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_gapic.yaml b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_gapic.yaml new file mode 100644 index 00000000..0bcb880b --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_gapic.yaml @@ -0,0 +1,2 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_v1alpha.yaml b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_v1alpha.yaml new file mode 100644 index 00000000..e268411e --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/analyticsadmin_v1alpha.yaml @@ -0,0 +1,203 @@ +type: google.api.Service +config_version: 3 +name: analyticsadmin.googleapis.com +title: Google Analytics Admin API + +apis: +- name: google.analytics.admin.v1alpha.AnalyticsAdminService + +authentication: + rules: + - selector: 'google.analytics.admin.v1alpha.AnalyticsAdminService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.AuditUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.GetUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.ListUserLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users, + https://www.googleapis.com/auth/analytics.manage.users.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.RunAccessReport + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.edit, + https://www.googleapis.com/auth/analytics.readonly + - selector: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateUserLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics.manage.users diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/audience.proto b/google-cloud/protos/google/analytics/admin/v1alpha/audience.proto new file mode 100644 index 00000000..e12943e1 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/audience.proto @@ -0,0 +1,419 @@ +// 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.analytics.admin.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha;admin"; +option java_multiple_files = true; +option java_outer_classname = "AudienceProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// Specifies how to evaluate users for joining an Audience. +enum AudienceFilterScope { + // Scope is not specified. + AUDIENCE_FILTER_SCOPE_UNSPECIFIED = 0; + + // User joins the Audience if the filter condition is met within one + // event. + AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT = 1; + + // User joins the Audience if the filter condition is met within one + // session. + AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION = 2; + + // User joins the Audience if the filter condition is met by any event + // across any session. + AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS = 3; +} + +// A specific filter for a single dimension or metric. +message AudienceDimensionOrMetricFilter { + // A filter for a string-type dimension that matches a particular pattern. + message StringFilter { + // The match type for the 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 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 to be matched against. + string value = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If true, the match is case-sensitive. If false, the match is + // case-insensitive. + bool case_sensitive = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // A filter for a string dimension that matches a particular list of options. + 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]; + + // Optional. If true, the match is case-sensitive. If false, the match is + // case-insensitive. + bool case_sensitive = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // 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; + } + } + + // A filter for numeric or date values on a dimension or metric. + message NumericFilter { + // 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; + } + + // Required. The operation applied to a numeric filter. + Operation operation = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The numeric or date value to match against. + NumericValue value = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // A filter for numeric or date values between certain values on a dimension + // or metric. + message BetweenFilter { + // Required. Begins with this number, inclusive. + NumericValue from_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Ends with this number, inclusive. + NumericValue to_value = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // One of the above filters. + oneof one_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; + + // A filter for numeric or date values on a dimension or metric. + NumericFilter numeric_filter = 4; + + // A filter for numeric or date values between certain values on a dimension + // or metric. + BetweenFilter between_filter = 5; + } + + // Required. Immutable. The dimension name or metric name to filter. + string field_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Indicates whether this filter needs dynamic evaluation or not. If set to + // true, users join the Audience if they ever met the condition (static + // evaluation). If unset or set to false, user evaluation for an Audience is + // dynamic; users are added to an Audience when they meet the conditions and + // then removed when they no longer meet them. + // + // This can only be set when Audience scope is ACROSS_ALL_SESSIONS. + bool at_any_point_in_time = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, specifies the time window for which to evaluate data in number of + // days. If not set, then audience data is evaluated against lifetime data + // (i.e., infinite time window). + // + // For example, if set to 1 day, only the current day's data is evaluated. The + // reference point is the current day when at_any_point_in_time is unset or + // false. + // + // It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be + // greater than 60 days. + int32 in_any_n_day_period = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// A filter that matches events of a single event name. If an event parameter +// is specified, only the subset of events that match both the single event name +// and the parameter filter expressions match this event filter. +message AudienceEventFilter { + // Required. Immutable. The name of the event to match against. + string event_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. If specified, this filter matches events that match both the single + // event name and the parameter filter expressions. AudienceEventFilter + // inside the parameter filter expression cannot be set (i.e., nested + // event filters are not supported). This should be a single and_group of + // dimension_or_metric_filter or not_expression; ANDs of ORs are not + // supported. Also, if it includes a filter for "eventCount", only that one + // will be considered; all the other filters will be ignored. + AudienceFilterExpression event_parameter_filter_expression = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A logical expression of Audience dimension, metric, or event filters. +message AudienceFilterExpression { + // The expression applied to a filter. + oneof expr { + // A list of expressions to be AND’ed together. It can only contain + // AudienceFilterExpressions with or_group. This must be set for the top + // level AudienceFilterExpression. + AudienceFilterExpressionList and_group = 1; + + // A list of expressions to OR’ed together. It cannot contain + // AudienceFilterExpressions with and_group or or_group. + AudienceFilterExpressionList or_group = 2; + + // A filter expression to be NOT'ed (i.e., inverted, complemented). It + // can only include a dimension_or_metric_filter. This cannot be set on the + // top level AudienceFilterExpression. + AudienceFilterExpression not_expression = 3; + + // A filter on a single dimension or metric. This cannot be set on the top + // level AudienceFilterExpression. + AudienceDimensionOrMetricFilter dimension_or_metric_filter = 4; + + // Creates a filter that matches a specific event. This cannot be set on the + // top level AudienceFilterExpression. + AudienceEventFilter event_filter = 5; + } +} + +// A list of Audience filter expressions. +message AudienceFilterExpressionList { + // A list of Audience filter expressions. + repeated AudienceFilterExpression filter_expressions = 1; +} + +// Defines a simple filter that a user must satisfy to be a member of the +// Audience. +message AudienceSimpleFilter { + // Required. Immutable. Specifies the scope for this filter. + AudienceFilterScope scope = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. A logical expression of Audience dimension, metric, or event filters. + AudienceFilterExpression filter_expression = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; +} + +// Defines filters that must occur in a specific order for the user to be a +// member of the Audience. +message AudienceSequenceFilter { + // A condition that must occur in the specified step order for this user + // to match the sequence. + message AudienceSequenceStep { + // Required. Immutable. Specifies the scope for this step. + AudienceFilterScope scope = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. If true, the event satisfying this step must be the very next event + // after the event satisfying the last step. If unset or false, this + // step indirectly follows the prior step; for example, there may be + // events between the prior step and this step. It is ignored for the + // first step. + bool immediately_follows = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When set, this step must be satisfied within the constraint_duration of + // the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not + // set, there is no duration requirement (the duration is effectively + // unlimited). It is ignored for the first step. + google.protobuf.Duration constraint_duration = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Immutable. A logical expression of Audience dimension, metric, or event filters in + // each step. + AudienceFilterExpression filter_expression = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + } + + // Required. Immutable. Specifies the scope for this filter. + AudienceFilterScope scope = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Defines the time period in which the whole sequence must occur. + google.protobuf.Duration sequence_maximum_duration = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. An ordered sequence of steps. A user must complete each step in order to + // join the sequence filter. + repeated AudienceSequenceStep sequence_steps = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A clause for defining either a simple or sequence filter. A filter can be +// inclusive (i.e., users satisfying the filter clause are included in the +// Audience) or exclusive (i.e., users satisfying the filter clause are +// excluded from the Audience). +message AudienceFilterClause { + // Specifies whether this is an include or exclude filter clause. + enum AudienceClauseType { + // Unspecified clause type. + AUDIENCE_CLAUSE_TYPE_UNSPECIFIED = 0; + + // Users will be included in the Audience if the filter clause is met. + INCLUDE = 1; + + // Users will be excluded from the Audience if the filter clause is met. + EXCLUDE = 2; + } + + oneof filter { + // A simple filter that a user must satisfy to be a member of the Audience. + AudienceSimpleFilter simple_filter = 2; + + // Filters that must occur in a specific order for the user to be a member + // of the Audience. + AudienceSequenceFilter sequence_filter = 3; + } + + // Required. Specifies whether this is an include or exclude filter clause. + AudienceClauseType clause_type = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Specifies an event to log when a user joins the Audience. +message AudienceEventTrigger { + // Determines when to log the event. + enum LogCondition { + // Log condition is not specified. + LOG_CONDITION_UNSPECIFIED = 0; + + // The event should be logged only when a user is joined. + AUDIENCE_JOINED = 1; + + // The event should be logged whenever the Audience condition is met, even + // if the user is already a member of the Audience. + AUDIENCE_MEMBERSHIP_RENEWED = 2; + } + + // Required. The event name that will be logged. + string event_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. When to log the event. + LogCondition log_condition = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// A resource message representing a GA4 Audience. +message Audience { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/Audience" + pattern: "properties/{property}/audiences/{audience}" + }; + + // Specifies how long an exclusion lasts for users that meet the exclusion + // filter. + enum AudienceExclusionDurationMode { + // Not specified. + AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED = 0; + + // Exclude users from the Audience during periods when they meet the + // filter clause. + EXCLUDE_TEMPORARILY = 1; + + // Exclude users from the Audience if they've ever met the filter clause. + EXCLUDE_PERMANENTLY = 2; + } + + // Output only. The resource name for this Audience resource. + // Format: properties/{propertyId}/audiences/{audienceId} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the Audience. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The description of the Audience. + string description = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more + // than 540 days. + int32 membership_duration_days = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. It is automatically set by GA to false if this is an NPA Audience and is + // excluded from ads personalization. + bool ads_personalization_enabled = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Specifies an event to log when a user joins the Audience. If not set, no + // event is logged when a user joins the Audience. + AudienceEventTrigger event_trigger = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. Specifies how long an exclusion lasts for users that meet the exclusion + // filter. It is applied to all EXCLUDE filter clauses and is ignored when + // there is no EXCLUDE filter clause in the Audience. + AudienceExclusionDurationMode exclusion_duration_mode = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed + // together. + repeated AudienceFilterClause filter_clauses = 8 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = UNORDERED_LIST + ]; +} diff --git a/google-cloud/protos/google/analytics/admin/v1alpha/resources.proto b/google-cloud/protos/google/analytics/admin/v1alpha/resources.proto new file mode 100644 index 00000000..337c7fe6 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1alpha/resources.proto @@ -0,0 +1,1300 @@ +// 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.analytics.admin.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha;admin"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.analytics.admin.v1alpha"; + +// The category selected for this property, used for industry benchmarking. +enum IndustryCategory { + // Industry category unspecified + INDUSTRY_CATEGORY_UNSPECIFIED = 0; + + // Automotive + AUTOMOTIVE = 1; + + // Business and industrial markets + BUSINESS_AND_INDUSTRIAL_MARKETS = 2; + + // Finance + FINANCE = 3; + + // Healthcare + HEALTHCARE = 4; + + // Technology + TECHNOLOGY = 5; + + // Travel + TRAVEL = 6; + + // Other + OTHER = 7; + + // Arts and entertainment + ARTS_AND_ENTERTAINMENT = 8; + + // Beauty and fitness + BEAUTY_AND_FITNESS = 9; + + // Books and literature + BOOKS_AND_LITERATURE = 10; + + // Food and drink + FOOD_AND_DRINK = 11; + + // Games + GAMES = 12; + + // Hobbies and leisure + HOBBIES_AND_LEISURE = 13; + + // Home and garden + HOME_AND_GARDEN = 14; + + // Internet and telecom + INTERNET_AND_TELECOM = 15; + + // Law and government + LAW_AND_GOVERNMENT = 16; + + // News + NEWS = 17; + + // Online communities + ONLINE_COMMUNITIES = 18; + + // People and society + PEOPLE_AND_SOCIETY = 19; + + // Pets and animals + PETS_AND_ANIMALS = 20; + + // Real estate + REAL_ESTATE = 21; + + // Reference + REFERENCE = 22; + + // Science + SCIENCE = 23; + + // Sports + SPORTS = 24; + + // Jobs and education + JOBS_AND_EDUCATION = 25; + + // Shopping + SHOPPING = 26; +} + +// Various levels of service for Google Analytics. +enum ServiceLevel { + // Service level not specified or invalid. + SERVICE_LEVEL_UNSPECIFIED = 0; + + // The standard version of Google Analytics. + GOOGLE_ANALYTICS_STANDARD = 1; + + // The paid, premium version of Google Analytics. + GOOGLE_ANALYTICS_360 = 2; +} + +// Different kinds of actors that can make changes to Google Analytics +// resources. +enum ActorType { + // Unknown or unspecified actor type. + ACTOR_TYPE_UNSPECIFIED = 0; + + // Changes made by the user specified in actor_email. + USER = 1; + + // Changes made by the Google Analytics system. + SYSTEM = 2; + + // Changes made by Google Analytics support team staff. + SUPPORT = 3; +} + +// Types of actions that may change a resource. +enum ActionType { + // Action type unknown or not specified. + ACTION_TYPE_UNSPECIFIED = 0; + + // Resource was created in this change. + CREATED = 1; + + // Resource was updated in this change. + UPDATED = 2; + + // Resource was deleted in this change. + DELETED = 3; +} + +// Types of resources whose changes may be returned from change history. +enum ChangeHistoryResourceType { + // Resource type unknown or not specified. + CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED = 0; + + // Account resource + ACCOUNT = 1; + + // Property resource + PROPERTY = 2; + + // FirebaseLink resource + FIREBASE_LINK = 6; + + // GoogleAdsLink resource + GOOGLE_ADS_LINK = 7; + + // GoogleSignalsSettings resource + GOOGLE_SIGNALS_SETTINGS = 8; + + // ConversionEvent resource + CONVERSION_EVENT = 9; + + // MeasurementProtocolSecret resource + MEASUREMENT_PROTOCOL_SECRET = 10; + + // CustomDimension resource + CUSTOM_DIMENSION = 11; + + // CustomMetric resource + CUSTOM_METRIC = 12; + + // DataRetentionSettings resource + DATA_RETENTION_SETTINGS = 13; + + // DisplayVideo360AdvertiserLink resource + DISPLAY_VIDEO_360_ADVERTISER_LINK = 14; + + // DisplayVideo360AdvertiserLinkProposal resource + DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL = 15; + + // SearchAds360Link resource + SEARCH_ADS_360_LINK = 16; + + // DataStream resource + DATA_STREAM = 18; + + // AttributionSettings resource + ATTRIBUTION_SETTINGS = 20; +} + +// Status of the Google Signals settings (i.e., whether this feature has been +// enabled for the property). +enum GoogleSignalsState { + // Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to + // represent that the user has not made an explicit choice. + GOOGLE_SIGNALS_STATE_UNSPECIFIED = 0; + + // Google Signals is enabled. + GOOGLE_SIGNALS_ENABLED = 1; + + // Google Signals is disabled. + GOOGLE_SIGNALS_DISABLED = 2; +} + +// Consent field of the Google Signals settings (i.e., whether the user has +// consented to the Google Signals terms of service.) +enum GoogleSignalsConsent { + // Google Signals consent value defaults to + // GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as + // GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED. + GOOGLE_SIGNALS_CONSENT_UNSPECIFIED = 0; + + // Terms of service have been accepted + GOOGLE_SIGNALS_CONSENT_CONSENTED = 2; + + // Terms of service have not been accepted + GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED = 1; +} + +// An indication of which product the user initiated a link proposal from. +enum LinkProposalInitiatingProduct { + // Unspecified product. + LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED = 0; + + // This proposal was created by a user from Google Analytics. + GOOGLE_ANALYTICS = 1; + + // This proposal was created by a user from a linked product (not Google + // Analytics). + LINKED_PRODUCT = 2; +} + +// The state of a link proposal resource. +enum LinkProposalState { + // Unspecified state + LINK_PROPOSAL_STATE_UNSPECIFIED = 0; + + // This proposal is awaiting review from a Google Analytics user. This + // proposal will automatically expire after some time. + AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS = 1; + + // This proposal is awaiting review from a user of a linked product. This + // proposal will automatically expire after some time. + AWAITING_REVIEW_FROM_LINKED_PRODUCT = 2; + + // This proposal has been withdrawn by an admin on the initiating product. + // This proposal will be automatically deleted after some time. + WITHDRAWN = 3; + + // This proposal has been declined by an admin on the receiving product. This + // proposal will be automatically deleted after some time. + DECLINED = 4; + + // This proposal expired due to lack of response from an admin on the + // receiving product. This proposal will be automatically deleted after some + // time. + EXPIRED = 5; + + // This proposal has become obsolete because a link was directly created to + // the same external product resource that this proposal specifies. This + // proposal will be automatically deleted after some time. + OBSOLETE = 6; +} + +// Types of Property resources. +enum PropertyType { + // Unknown or unspecified property type + PROPERTY_TYPE_UNSPECIFIED = 0; + + // Ordinary GA4 property + PROPERTY_TYPE_ORDINARY = 1; + + // GA4 subproperty + PROPERTY_TYPE_SUBPROPERTY = 2; + + // GA4 rollup property + PROPERTY_TYPE_ROLLUP = 3; +} + +// A resource message representing a Google Analytics account. +message Account { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/Account" + pattern: "accounts/{account}" + }; + + // Output only. Resource name of this account. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this account was originally created. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when account payload fields were last updated. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Human-readable display name for this account. + string display_name = 4 [(google.api.field_behavior) = REQUIRED]; + + // Country of business. Must be a Unicode CLDR region code. + string region_code = 5; + + // Output only. Indicates whether this Account is soft-deleted or not. Deleted + // accounts are excluded from List results unless specifically requested. + bool deleted = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource message representing a Google Analytics GA4 property. +message Property { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/Property" + pattern: "properties/{property}" + }; + + // Output only. Resource name of this property. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The property type for this Property resource. When creating a property, if + // the type is "PROPERTY_TYPE_UNSPECIFIED", then "ORDINARY_PROPERTY" will be + // implied. "SUBPROPERTY" and "ROLLUP_PROPERTY" types cannot yet be created + // via Google Analytics Admin API. + PropertyType property_type = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when the entity was originally created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when entity payload fields were last updated. + google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Resource name of this property's logical parent. + // + // Note: The Property-Moving UI can be used to change the parent. + // Format: accounts/{account}, properties/{property} + // Example: "accounts/100", "properties/101" + string parent = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. Human-readable display name for this property. + // + // The max allowed display name length is 100 UTF-16 code units. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Industry associated with this property + // Example: AUTOMOTIVE, FOOD_AND_DRINK + IndustryCategory industry_category = 6; + + // Required. Reporting Time Zone, used as the day boundary for reports, regardless of + // where the data originates. If the time zone honors DST, Analytics will + // automatically adjust for the changes. + // + // NOTE: Changing the time zone only affects data going forward, and is not + // applied retroactively. + // + // Format: https://www.iana.org/time-zones + // Example: "America/Los_Angeles" + string time_zone = 7 [(google.api.field_behavior) = REQUIRED]; + + // The currency type used in reports involving monetary values. + // + // + // Format: https://en.wikipedia.org/wiki/ISO_4217 + // Examples: "USD", "EUR", "JPY" + string currency_code = 8; + + // Output only. The Google Analytics service level that applies to this property. + ServiceLevel service_level = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, the time at which this property was trashed. If not set, then this + // property is not currently in the trash can. + google.protobuf.Timestamp delete_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, the time at which this trashed property will be permanently + // deleted. If not set, then this property is not currently in the trash can + // and is not slated to be deleted. + google.protobuf.Timestamp expire_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the parent account + // Format: accounts/{account_id} + // Example: "accounts/123" + string account = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// A resource message representing a data stream. +message DataStream { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataStream" + pattern: "properties/{property}/dataStreams/{data_stream}" + }; + + // Data specific to web streams. + message WebStreamData { + // Output only. Analytics "Measurement ID", without the "G-" prefix. + // Example: "G-1A2BCD345E" would just be "1A2BCD345E" + string measurement_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the corresponding web app in Firebase, if any. + // This ID can change if the web app is deleted and recreated. + string firebase_app_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Domain name of the web app being measured, or empty. + // Example: "http://www.google.com", "https://www.google.com" + string default_uri = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Data specific to Android app streams. + message AndroidAppStreamData { + // Output only. ID of the corresponding Android app in Firebase, if any. + // This ID can change if the Android app is deleted and recreated. + string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The package name for the app being measured. + // Example: "com.example.myandroidapp" + string package_name = 2 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Data specific to iOS app streams. + message IosAppStreamData { + // Output only. ID of the corresponding iOS app in Firebase, if any. + // This ID can change if the iOS app is deleted and recreated. + string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The Apple App Store Bundle ID for the app + // Example: "com.example.myiosapp" + string bundle_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + } + + // The type of the data stream. + enum DataStreamType { + // Type unknown or not specified. + DATA_STREAM_TYPE_UNSPECIFIED = 0; + + // Web data stream. + WEB_DATA_STREAM = 1; + + // Android app data stream. + ANDROID_APP_DATA_STREAM = 2; + + // iOS app data stream. + IOS_APP_DATA_STREAM = 3; + } + + // Data for specific data stream types. The message that will be + // set corresponds to the type of this stream. + oneof stream_data { + // Data specific to web streams. Must be populated if type is + // WEB_DATA_STREAM. + WebStreamData web_stream_data = 6; + + // Data specific to Android app streams. Must be populated if type is + // ANDROID_APP_DATA_STREAM. + AndroidAppStreamData android_app_stream_data = 7; + + // Data specific to iOS app streams. Must be populated if type is + // IOS_APP_DATA_STREAM. + IosAppStreamData ios_app_stream_data = 8; + } + + // Output only. Resource name of this Data Stream. + // Format: properties/{property_id}/dataStreams/{stream_id} + // Example: "properties/1000/dataStreams/2000" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The type of this DataStream resource. + DataStreamType type = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Human-readable display name for the Data Stream. + // + // Required for web data streams. + // + // The max allowed display name length is 255 UTF-16 code units. + string display_name = 3; + + // Output only. Time when this stream was originally created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when stream payload fields were last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource message representing a user's permissions on an Account or +// Property resource. +message UserLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/UserLink" + pattern: "accounts/{account}/userLinks/{user_link}" + pattern: "properties/{property}/userLinks/{user_link}" + }; + + // Output only. Example format: properties/1234/userLinks/5678 + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Email address of the user to link + string email_address = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Roles directly assigned to this user for this account or property. + // + // Valid values: + // predefinedRoles/viewer + // predefinedRoles/analyst + // predefinedRoles/editor + // predefinedRoles/admin + // predefinedRoles/no-cost-data + // predefinedRoles/no-revenue-data + // + // Excludes roles that are inherited from a higher-level entity, group, + // or organization admin role. + // + // A UserLink that is updated to have an empty list of direct_roles will be + // deleted. + repeated string direct_roles = 3; +} + +// Read-only resource used to summarize a principal's effective roles. +message AuditUserLink { + // Example format: properties/1234/userLinks/5678 + string name = 1; + + // Email address of the linked user + string email_address = 2; + + // Roles directly assigned to this user for this entity. + // + // Format: predefinedRoles/viewer + // + // Excludes roles that are inherited from an account (if this is for a + // property), group, or organization admin role. + repeated string direct_roles = 3; + + // Union of all permissions a user has at this account or property (includes + // direct permissions, group-inherited permissions, etc.). + // + // Format: predefinedRoles/viewer + repeated string effective_roles = 4; +} + +// A link between a GA4 property and a Firebase project. +message FirebaseLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/FirebaseLink" + pattern: "properties/{property}/firebaseLinks/{firebase_link}" + }; + + // Output only. Example format: properties/1234/firebaseLinks/5678 + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Firebase project resource name. When creating a FirebaseLink, you may + // provide this resource name using either a project number or project ID. + // Once this resource has been created, returned FirebaseLinks will always + // have a project_name that contains a project number. + // + // Format: 'projects/{project number}' + // Example: 'projects/1234' + string project = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when this FirebaseLink was originally created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Read-only resource with the tag for sending data from a website to a +// DataStream. Only present for web DataStream resources. +message GlobalSiteTag { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/GlobalSiteTag" + pattern: "properties/{property}/dataStreams/{data_stream}/globalSiteTag" + }; + + // Output only. Resource name for this GlobalSiteTag resource. + // Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag + // Example: "properties/123/dataStreams/456/globalSiteTag" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. JavaScript code snippet to be pasted as the first item into the head tag of + // every webpage to measure. + string snippet = 2 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A link between a GA4 property and a Google Ads account. +message GoogleAdsLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/GoogleAdsLink" + pattern: "properties/{property}/googleAdsLinks/{google_ads_link}" + }; + + // Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} + // + // Note: googleAdsLinkId is not the Google Ads customer ID. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Google Ads customer ID. + string customer_id = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. If true, this link is for a Google Ads manager account. + bool can_manage_clients = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Enable personalized advertising features with this integration. + // Automatically publish my Google Analytics audience lists and Google + // Analytics remarketing events/parameters to the linked Google Ads account. + // If this field is not set on create/update, it will be defaulted to true. + google.protobuf.BoolValue ads_personalization_enabled = 5; + + // Output only. Time when this link was originally created. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this link was last updated. + google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user that created the link. + // An empty string will be returned if the email address can't be retrieved. + string creator_email_address = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource message representing data sharing settings of a Google Analytics +// account. +message DataSharingSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataSharingSettings" + pattern: "accounts/{account}/dataSharingSettings" + }; + + // Output only. Resource name. + // Format: accounts/{account}/dataSharingSettings + // Example: "accounts/1000/dataSharingSettings" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Allows Google support to access the data in order to help troubleshoot + // issues. + bool sharing_with_google_support_enabled = 2; + + // Allows Google sales teams that are assigned to the customer to access the + // data in order to suggest configuration changes to improve results. + // Sales team restrictions still apply when enabled. + bool sharing_with_google_assigned_sales_enabled = 3; + + // Allows any of Google sales to access the data in order to suggest + // configuration changes to improve results. + bool sharing_with_google_any_sales_enabled = 4; + + // Allows Google to use the data to improve other Google products or services. + bool sharing_with_google_products_enabled = 5; + + // Allows Google to share the data anonymously in aggregate form with others. + bool sharing_with_others_enabled = 6; +} + +// A virtual resource representing an overview of an account and +// all its child GA4 properties. +message AccountSummary { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/AccountSummary" + pattern: "accountSummaries/{account_summary}" + }; + + // Resource name for this account summary. + // Format: accountSummaries/{account_id} + // Example: "accountSummaries/1000" + string name = 1; + + // Resource name of account referred to by this account summary + // Format: accounts/{account_id} + // Example: "accounts/1000" + string account = 2 [(google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + }]; + + // Display name for the account referred to in this account summary. + string display_name = 3; + + // List of summaries for child accounts of this account. + repeated PropertySummary property_summaries = 4; +} + +// A virtual resource representing metadata for a GA4 property. +message PropertySummary { + // Resource name of property referred to by this property summary + // Format: properties/{property_id} + // Example: "properties/1000" + string property = 1 [(google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + }]; + + // Display name for the property referred to in this property summary. + string display_name = 2; + + // The property's property type. + PropertyType property_type = 3; + + // Resource name of this property's logical parent. + // + // Note: The Property-Moving UI can be used to change the parent. + // Format: accounts/{account}, properties/{property} + // Example: "accounts/100", "properties/200" + string parent = 4; +} + +// A secret value used for sending hits to Measurement Protocol. +message MeasurementProtocolSecret { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + pattern: "properties/{property}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_protocol_secret}" + }; + + // Output only. Resource name of this secret. This secret may be a child of any type of + // stream. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Human-readable display name for this secret. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The measurement protocol secret value. Pass this value to the api_secret + // field of the Measurement Protocol API when sending hits to this + // secret's parent property. + string secret_value = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A set of changes within a Google Analytics account or its child properties +// that resulted from the same cause. Common causes would be updates made in the +// Google Analytics UI, changes from customer support, or automatic Google +// Analytics system changes. +message ChangeHistoryEvent { + // ID of this change history event. This ID is unique across Google Analytics. + string id = 1; + + // Time when change was made. + google.protobuf.Timestamp change_time = 2; + + // The type of actor that made this change. + ActorType actor_type = 3; + + // Email address of the Google account that made the change. This will be a + // valid email address if the actor field is set to USER, and empty otherwise. + // Google accounts that have been deleted will cause an error. + string user_actor_email = 4; + + // If true, then the list of changes returned was filtered, and does not + // represent all changes that occurred in this event. + bool changes_filtered = 5; + + // A list of changes made in this change history event that fit the filters + // specified in SearchChangeHistoryEventsRequest. + repeated ChangeHistoryChange changes = 6; +} + +// A description of a change to a single Google Analytics resource. +message ChangeHistoryChange { + // A snapshot of a resource as before or after the result of a change in + // change history. + message ChangeHistoryResource { + oneof resource { + // A snapshot of an Account resource in change history. + Account account = 1; + + // A snapshot of a Property resource in change history. + Property property = 2; + + // A snapshot of a FirebaseLink resource in change history. + FirebaseLink firebase_link = 6; + + // A snapshot of a GoogleAdsLink resource in change history. + GoogleAdsLink google_ads_link = 7; + + // A snapshot of a GoogleSignalsSettings resource in change history. + GoogleSignalsSettings google_signals_settings = 8; + + // A snapshot of a DisplayVideo360AdvertiserLink resource in change + // history. + DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 9; + + // A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in + // change history. + DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposal = 10; + + // A snapshot of a ConversionEvent resource in change history. + ConversionEvent conversion_event = 11; + + // A snapshot of a MeasurementProtocolSecret resource in change history. + MeasurementProtocolSecret measurement_protocol_secret = 12; + + // A snapshot of a CustomDimension resource in change history. + CustomDimension custom_dimension = 13; + + // A snapshot of a CustomMetric resource in change history. + CustomMetric custom_metric = 14; + + // A snapshot of a data retention settings resource in change history. + DataRetentionSettings data_retention_settings = 15; + + // A snapshot of a DataStream resource in change history. + DataStream data_stream = 18; + + // A snapshot of AttributionSettings resource in change history. + AttributionSettings attribution_settings = 20; + } + } + + // Resource name of the resource whose changes are described by this entry. + string resource = 1; + + // The type of action that changed this resource. + ActionType action = 2; + + // Resource contents from before the change was made. If this resource was + // created in this change, this field will be missing. + ChangeHistoryResource resource_before_change = 3; + + // Resource contents from after the change was made. If this resource was + // deleted in this change, this field will be missing. + ChangeHistoryResource resource_after_change = 4; +} + +// A link between a GA4 property and a Display & Video 360 advertiser. +message DisplayVideo360AdvertiserLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" + pattern: "properties/{property}/displayVideo360AdvertiserLinks/{display_video_360_advertiser_link}" + }; + + // Output only. The resource name for this DisplayVideo360AdvertiserLink resource. + // Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} + // + // Note: linkId is not the Display & Video 360 Advertiser ID + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The Display & Video 360 Advertiser's advertiser ID. + string advertiser_id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The display name of the Display & Video 360 Advertiser. + string advertiser_display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Enables personalized advertising features with this integration. + // If this field is not set on create/update, it will be defaulted to true. + google.protobuf.BoolValue ads_personalization_enabled = 4; + + // Immutable. Enables the import of campaign data from Display & Video 360 into the GA4 + // property. After link creation, this can only be updated from the Display & + // Video 360 product. + // If this field is not set on create, it will be defaulted to true. + google.protobuf.BoolValue campaign_data_sharing_enabled = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Enables the import of cost data from Display & Video 360 into the GA4 + // property. This can only be enabled if campaign_data_sharing_enabled is + // enabled. After link creation, this can only be updated from the Display & + // Video 360 product. + // If this field is not set on create, it will be defaulted to true. + google.protobuf.BoolValue cost_data_sharing_enabled = 6 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A proposal for a link between a GA4 property and a Display & Video 360 +// advertiser. +// +// A proposal is converted to a DisplayVideo360AdvertiserLink once approved. +// Google Analytics admins approve inbound proposals while Display & Video 360 +// admins approve outbound proposals. +message DisplayVideo360AdvertiserLinkProposal { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" + pattern: "properties/{property}/displayVideo360AdvertiserLinkProposals/{display_video_360_advertiser_link_proposal}" + }; + + // Output only. The resource name for this DisplayVideo360AdvertiserLinkProposal resource. + // Format: + // properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId} + // + // Note: proposalId is not the Display & Video 360 Advertiser ID + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The Display & Video 360 Advertiser's advertiser ID. + string advertiser_id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The status information for this link proposal. + LinkProposalStatusDetails link_proposal_status_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the Display & Video Advertiser. + // Only populated for proposals that originated from Display & Video 360. + string advertiser_display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. On a proposal being sent to Display & Video 360, this field must be set to + // the email address of an admin on the target advertiser. This is used to + // verify that the Google Analytics admin is aware of at least one admin on + // the Display & Video 360 Advertiser. This does not restrict approval of the + // proposal to a single user. Any admin on the Display & Video 360 Advertiser + // may approve the proposal. + string validation_email = 5 [(google.api.field_behavior) = INPUT_ONLY]; + + // Immutable. Enables personalized advertising features with this integration. + // If this field is not set on create, it will be defaulted to true. + google.protobuf.BoolValue ads_personalization_enabled = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Enables the import of campaign data from Display & Video 360. + // If this field is not set on create, it will be defaulted to true. + google.protobuf.BoolValue campaign_data_sharing_enabled = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Enables the import of cost data from Display & Video 360. + // This can only be enabled if campaign_data_sharing_enabled is enabled. + // If this field is not set on create, it will be defaulted to true. + google.protobuf.BoolValue cost_data_sharing_enabled = 8 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Status information for a link proposal. +message LinkProposalStatusDetails { + // Output only. The source of this proposal. + LinkProposalInitiatingProduct link_proposal_initiating_product = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the user that proposed this linkage. + string requestor_email = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of this proposal. + LinkProposalState link_proposal_state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A conversion event in a Google Analytics property. +message ConversionEvent { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + pattern: "properties/{property}/conversionEvents/{conversion_event}" + }; + + // Output only. Resource name of this conversion event. + // Format: properties/{property}/conversionEvents/{conversion_event} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The event name for this conversion event. + // Examples: 'click', 'purchase' + string event_name = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when this conversion event was created in the property. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, this event can currently be deleted via DeleteConversionEvent. + bool deletable = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set to true, this conversion event refers to a custom event. If set to + // false, this conversion event refers to a default event in GA. Default + // events typically have special meaning in GA. Default events are usually + // created for you by the GA system, but in some cases can be created by + // property admins. Custom events count towards the maximum number of + // custom conversion events that may be created per property. + bool custom = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Settings values for Google Signals. This is a singleton resource. +message GoogleSignalsSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/GoogleSignalsSettings" + pattern: "properties/{property}/googleSignalsSettings" + }; + + // Output only. Resource name of this setting. + // Format: properties/{property_id}/googleSignalsSettings + // Example: "properties/1000/googleSignalsSettings" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Status of this setting. + GoogleSignalsState state = 3; + + // Output only. Terms of Service acceptance. + GoogleSignalsConsent consent = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A definition for a CustomDimension. +message CustomDimension { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + pattern: "properties/{property}/customDimensions/{custom_dimension}" + }; + + // Valid values for the scope of this dimension. + enum DimensionScope { + // Scope unknown or not specified. + DIMENSION_SCOPE_UNSPECIFIED = 0; + + // Dimension scoped to an event. + EVENT = 1; + + // Dimension scoped to a user. + USER = 2; + } + + // Output only. Resource name for this CustomDimension resource. + // Format: properties/{property}/customDimensions/{customDimension} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Tagging parameter name for this custom dimension. + // + // If this is a user-scoped dimension, then this is the user property name. + // If this is an event-scoped dimension, then this is the event parameter + // name. + // + // May only contain alphanumeric and underscore characters, starting with a + // letter. Max length of 24 characters for user-scoped dimensions, 40 + // characters for event-scoped dimensions. + string parameter_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Display name for this custom dimension as shown in the Analytics UI. + // Max length of 82 characters, alphanumeric plus space and underscore + // starting with a letter. Legacy system-generated display names may contain + // square brackets, but updates to this field will never permit square + // brackets. + string display_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description for this custom dimension. Max length of 150 characters. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Immutable. The scope of this dimension. + DimensionScope scope = 5 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. If set to true, sets this dimension as NPA and excludes it from ads + // personalization. + // + // This is currently only supported by user-scoped custom dimensions. + bool disallow_ads_personalization = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// A definition for a custom metric. +message CustomMetric { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + pattern: "properties/{property}/customMetrics/{custom_metric}" + }; + + // Possible types of representing the custom metric's value. + // + // Currency representation may change in the future, requiring a breaking API + // change. + enum MeasurementUnit { + // MeasurementUnit unspecified or missing. + MEASUREMENT_UNIT_UNSPECIFIED = 0; + + // This metric uses default units. + STANDARD = 1; + + // This metric measures a currency. + CURRENCY = 2; + + // This metric measures feet. + FEET = 3; + + // This metric measures meters. + METERS = 4; + + // This metric measures kilometers. + KILOMETERS = 5; + + // This metric measures miles. + MILES = 6; + + // This metric measures milliseconds. + MILLISECONDS = 7; + + // This metric measures seconds. + SECONDS = 8; + + // This metric measures minutes. + MINUTES = 9; + + // This metric measures hours. + HOURS = 10; + } + + // The scope of this metric. + enum MetricScope { + // Scope unknown or not specified. + METRIC_SCOPE_UNSPECIFIED = 0; + + // Metric scoped to an event. + EVENT = 1; + } + + // Labels that mark the data in this custom metric as data that should be + // restricted to specific users. + enum RestrictedMetricType { + // Type unknown or unspecified. + RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0; + + // Metric reports cost data. + COST_DATA = 1; + + // Metric reports revenue data. + REVENUE_DATA = 2; + } + + // Output only. Resource name for this CustomMetric resource. + // Format: properties/{property}/customMetrics/{customMetric} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Tagging name for this custom metric. + // + // If this is an event-scoped metric, then this is the event parameter + // name. + // + // May only contain alphanumeric and underscore charactes, starting with a + // letter. Max length of 40 characters for event-scoped metrics. + string parameter_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Display name for this custom metric as shown in the Analytics UI. + // Max length of 82 characters, alphanumeric plus space and underscore + // starting with a letter. Legacy system-generated display names may contain + // square brackets, but updates to this field will never permit square + // brackets. + string display_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description for this custom dimension. + // Max length of 150 characters. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The type for the custom metric's value. + MeasurementUnit measurement_unit = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The scope of this custom metric. + MetricScope scope = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Types of restricted data that this metric may contain. Required for metrics + // with CURRENCY measurement unit. Must be empty for metrics with a + // non-CURRENCY measurement unit. + repeated RestrictedMetricType restricted_metric_type = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// Settings values for data retention. This is a singleton resource. +message DataRetentionSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataRetentionSettings" + pattern: "properties/{property}/dataRetentionSettings" + }; + + // Valid values for the data retention duration. + enum RetentionDuration { + // Data retention time duration is not specified. + RETENTION_DURATION_UNSPECIFIED = 0; + + // The data retention time duration is 2 months. + TWO_MONTHS = 1; + + // The data retention time duration is 14 months. + FOURTEEN_MONTHS = 3; + + // The data retention time duration is 26 months. + // Available to 360 properties only. + TWENTY_SIX_MONTHS = 4; + + // The data retention time duration is 38 months. + // Available to 360 properties only. + THIRTY_EIGHT_MONTHS = 5; + + // The data retention time duration is 50 months. + // Available to 360 properties only. + FIFTY_MONTHS = 6; + } + + // Output only. Resource name for this DataRetentionSetting resource. + // Format: properties/{property}/dataRetentionSettings + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The length of time that event-level data is retained. + RetentionDuration event_data_retention = 2; + + // If true, reset the retention period for the user identifier with every + // event from that user. + bool reset_user_data_on_new_activity = 3; +} + +// The attribution settings used for a given property. This is a singleton +// resource. +message AttributionSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/AttributionSettings" + pattern: "properties/{property}/attributionSettings" + }; + + // How far back in time events should be considered for inclusion in a + // converting path which leads to the first install of an app or the first + // visit to a site. + enum AcquisitionConversionEventLookbackWindow { + // Lookback window size unspecified. + ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED = 0; + + // 7-day lookback window. + ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS = 1; + + // 30-day lookback window. + ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS = 2; + } + + // How far back in time events should be considered for inclusion in a + // converting path for all conversions other than first app install/first site + // visit. + enum OtherConversionEventLookbackWindow { + // Lookback window size unspecified. + OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED = 0; + + // 30-day lookback window. + OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS = 1; + + // 60-day lookback window. + OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_60_DAYS = 2; + + // 90-day lookback window. + OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_90_DAYS = 3; + } + + // The reporting attribution model used to calculate conversion credit in this + // property's reports. + enum ReportingAttributionModel { + // Reporting attribution model unspecified. + REPORTING_ATTRIBUTION_MODEL_UNSPECIFIED = 0; + + // Data-driven attribution distributes credit for the conversion based on + // data for each conversion event. Each Data-driven model is specific to + // each advertiser and each conversion event. + CROSS_CHANNEL_DATA_DRIVEN = 1; + + // Ignores direct traffic and attributes 100% of the conversion value to the + // last channel that the customer clicked through (or engaged view through + // for YouTube) before converting. + CROSS_CHANNEL_LAST_CLICK = 2; + + // Gives all credit for the conversion to the first channel that a customer + // clicked (or engaged view through for YouTube) before converting. + CROSS_CHANNEL_FIRST_CLICK = 3; + + // Distributes the credit for the conversion equally across all the channels + // a customer clicked (or engaged view through for YouTube) before + // converting. + CROSS_CHANNEL_LINEAR = 4; + + // Attributes 40% credit to the first and last interaction, and the + // remaining 20% credit is distributed evenly to the middle interactions. + CROSS_CHANNEL_POSITION_BASED = 5; + + // Gives more credit to the touchpoints that happened closer in time to + // the conversion. + CROSS_CHANNEL_TIME_DECAY = 6; + + // Attributes 100% of the conversion value to the last Google Ads channel + // that the customer clicked through before converting. + ADS_PREFERRED_LAST_CLICK = 7; + } + + // Output only. Resource name of this attribution settings resource. + // Format: properties/{property_id}/attributionSettings + // Example: "properties/1000/attributionSettings" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The lookback window configuration for acquisition conversion events. + // The default window size is 30 days. + AcquisitionConversionEventLookbackWindow acquisition_conversion_event_lookback_window = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The lookback window for all other, non-acquisition conversion events. + // The default window size is 90 days. + OtherConversionEventLookbackWindow other_conversion_event_lookback_window = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The reporting attribution model used to calculate conversion credit in this + // property's reports. + // + // Changing the attribution model will apply to both historical and future + // data. These changes will be reflected in reports with conversion and + // revenue data. User and session data will be unaffected. + ReportingAttributionModel reporting_attribution_model = 4 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/analytics/admin/v1beta/BUILD.bazel b/google-cloud/protos/google/analytics/admin/v1beta/BUILD.bazel new file mode 100644 index 00000000..3184ca8f --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1beta/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 = "admin_proto", + srcs = [ + "analytics_admin.proto", + "resources.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", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "admin_proto_with_info", + deps = [ + ":admin_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 = "admin_java_proto", + deps = [":admin_proto"], +) + +java_grpc_library( + name = "admin_java_grpc", + srcs = [":admin_proto"], + deps = [":admin_java_proto"], +) + +java_gapic_library( + name = "admin_java_gapic", + srcs = [":admin_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin.yaml", + test_deps = [ + ":admin_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":admin_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "admin_java_gapic_test_suite", + test_classes = [ + "com.google.analytics.admin.v1beta.AnalyticsAdminServiceClientHttpJsonTest", + "com.google.analytics.admin.v1beta.AnalyticsAdminServiceClientTest", + ], + runtime_deps = [":admin_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-analytics-admin-v1beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":admin_java_gapic", + ":admin_java_grpc", + ":admin_java_proto", + ":admin_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "admin_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/analytics/admin/v1beta", + protos = [":admin_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "admin_go_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "admin_grpc_service_config.json", + importpath = "google.golang.org/google/analytics/admin/v1beta;admin", + metadata = True, + service_yaml = "analyticsadmin.yaml", + transport = "grpc+rest", + deps = [ + ":admin_go_proto", + ], +) + +go_test( + name = "admin_go_gapic_test", + srcs = [":admin_go_gapic_srcjar_test"], + embed = [":admin_go_gapic"], + importpath = "google.golang.org/google/analytics/admin/v1beta", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-analytics-admin-v1beta-go", + deps = [ + ":admin_go_gapic", + ":admin_go_gapic_srcjar-metadata.srcjar", + ":admin_go_gapic_srcjar-test.srcjar", + ":admin_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "admin_py_gapic", + srcs = [":admin_proto"], + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin.yaml", + transport = "grpc+rest", +) + +py_test( + name = "admin_py_gapic_test", + srcs = [ + "admin_py_gapic_pytest.py", + "admin_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":admin_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "analytics-admin-v1beta-py", + deps = [ + ":admin_py_gapic", + ], +) + +############################################################################## +# 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 = "admin_php_proto", + deps = [":admin_proto"], +) + +php_grpc_library( + name = "admin_php_grpc", + srcs = [":admin_proto"], + deps = [":admin_php_proto"], +) + +php_gapic_library( + name = "admin_php_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin.yaml", + deps = [ + ":admin_php_grpc", + ":admin_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-analytics-admin-v1beta-php", + deps = [ + ":admin_php_gapic", + ":admin_php_grpc", + ":admin_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "admin_nodejs_gapic", + package_name = "@google-cloud/admin", + src = ":admin_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "admin_grpc_service_config.json", + package = "google.analytics.admin.v1beta", + service_yaml = "analyticsadmin.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "analytics-admin-v1beta-nodejs", + deps = [ + ":admin_nodejs_gapic", + ":admin_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 = "admin_ruby_proto", + deps = [":admin_proto"], +) + +ruby_grpc_library( + name = "admin_ruby_grpc", + srcs = [":admin_proto"], + deps = [":admin_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admin_ruby_gapic", + srcs = [":admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-analytics-admin-v1beta", + ], + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin.yaml", + deps = [ + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-analytics-admin-v1beta-ruby", + deps = [ + ":admin_ruby_gapic", + ":admin_ruby_grpc", + ":admin_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 = "admin_csharp_proto", + deps = [":admin_proto"], +) + +csharp_grpc_library( + name = "admin_csharp_grpc", + srcs = [":admin_proto"], + deps = [":admin_csharp_proto"], +) + +csharp_gapic_library( + name = "admin_csharp_gapic", + srcs = [":admin_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "admin_grpc_service_config.json", + service_yaml = "analyticsadmin.yaml", + deps = [ + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-analytics-admin-v1beta-csharp", + deps = [ + ":admin_csharp_gapic", + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "admin_cc_proto", + deps = [":admin_proto"], +) + +cc_grpc_library( + name = "admin_cc_grpc", + srcs = [":admin_proto"], + grpc_only = True, + deps = [":admin_cc_proto"], +) diff --git a/google-cloud/protos/google/analytics/admin/v1beta/admin_grpc_service_config.json b/google-cloud/protos/google/analytics/admin/v1beta/admin_grpc_service_config.json new file mode 100644 index 00000000..e78bde2d --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1beta/admin_grpc_service_config.json @@ -0,0 +1,158 @@ +{ + "methodConfig": [ + { + "name": [{"service": "google.analytics.admin.v1beta.AnalyticsAdminService"}], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE", "UNKNOWN"] + } + }, + { + "name": [ + { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetAccount" + }, + { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListAccounts" + }, + { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteAccount" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateAccount" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ProvisionAccountTicket" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetProperty" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListProperties" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteProperty" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateProperty" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateProperty" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetUserLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "BatchGetUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "AuditUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateUserLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "BatchCreateUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateUserLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "BatchUpdateUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteUserLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "BatchDeleteUserLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetWebDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateWebDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateWebDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListWebDataStreams" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetIosAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteIosAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateIosAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateIosAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListIosAppDataStreams" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetAndroidAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteAndroidAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateAndroidAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateAndroidAppDataStream" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListAndroidAppDataStreams" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetEnhancedMeasurementSettings" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateEnhancedMeasurementSettings" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateFirebaseLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateFirebaseLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteFirebaseLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListFirebaseLinks" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "GetGlobalSiteTag" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "CreateGoogleAdsLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "UpdateGoogleAdsLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "DeleteGoogleAdsLink" + }, { + "service": "google.analytics.admin.v1beta.AnalyticsAdminService", + "method": "ListGoogleAdsLinks" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google-cloud/protos/google/analytics/admin/v1beta/analytics_admin.proto b/google-cloud/protos/google/analytics/admin/v1beta/analytics_admin.proto new file mode 100644 index 00000000..7e80f736 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1beta/analytics_admin.proto @@ -0,0 +1,1333 @@ +// 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.analytics.admin.v1beta; + +import "google/analytics/admin/v1beta/resources.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"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsAdminProto"; +option java_package = "com.google.analytics.admin.v1beta"; + +// Service Interface for the Analytics Admin API (GA4). +service AnalyticsAdminService { + option (google.api.default_host) = "analyticsadmin.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/analytics.edit," + "https://www.googleapis.com/auth/analytics.readonly"; + + // Lookup for a single Account. + rpc GetAccount(GetAccountRequest) returns (Account) { + option (google.api.http) = { + get: "/v1beta/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns all accounts accessible by the caller. + // + // Note that these accounts might not currently have GA4 properties. + // Soft-deleted (ie: "trashed") accounts are excluded by default. + // Returns an empty list if no relevant accounts are found. + rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { + option (google.api.http) = { + get: "/v1beta/accounts" + }; + } + + // Marks target Account as soft-deleted (ie: "trashed") and returns it. + // + // This API does not have a method to restore soft-deleted accounts. + // However, they can be restored using the Trash Can UI. + // + // If the accounts are not restored before the expiration time, the account + // and all child resources (eg: Properties, GoogleAdsLinks, Streams, + // UserLinks) will be permanently purged. + // https://support.google.com/analytics/answer/6154772 + // + // Returns an error if the target is not found. + rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates an account. + rpc UpdateAccount(UpdateAccountRequest) returns (Account) { + option (google.api.http) = { + patch: "/v1beta/{account.name=accounts/*}" + body: "account" + }; + option (google.api.method_signature) = "account,update_mask"; + } + + // Requests a ticket for creating an account. + rpc ProvisionAccountTicket(ProvisionAccountTicketRequest) returns (ProvisionAccountTicketResponse) { + option (google.api.http) = { + post: "/v1beta/accounts:provisionAccountTicket" + body: "*" + }; + } + + // Returns summaries of all accounts accessible by the caller. + rpc ListAccountSummaries(ListAccountSummariesRequest) returns (ListAccountSummariesResponse) { + option (google.api.http) = { + get: "/v1beta/accountSummaries" + }; + } + + // Lookup for a single "GA4" Property. + rpc GetProperty(GetPropertyRequest) returns (Property) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns child Properties under the specified parent Account. + // + // Only "GA4" properties will be returned. + // Properties will be excluded if the caller does not have access. + // Soft-deleted (ie: "trashed") properties are excluded by default. + // Returns an empty list if no relevant properties are found. + rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) { + option (google.api.http) = { + get: "/v1beta/properties" + }; + } + + // Creates an "GA4" property with the specified location and attributes. + rpc CreateProperty(CreatePropertyRequest) returns (Property) { + option (google.api.http) = { + post: "/v1beta/properties" + body: "property" + }; + option (google.api.method_signature) = "property"; + } + + // Marks target Property as soft-deleted (ie: "trashed") and returns it. + // + // This API does not have a method to restore soft-deleted properties. + // However, they can be restored using the Trash Can UI. + // + // If the properties are not restored before the expiration time, the Property + // and all child resources (eg: GoogleAdsLinks, Streams, UserLinks) + // will be permanently purged. + // https://support.google.com/analytics/answer/6154772 + // + // Returns an error if the target is not found, or is not an GA4 Property. + rpc DeleteProperty(DeletePropertyRequest) returns (Property) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a property. + rpc UpdateProperty(UpdatePropertyRequest) returns (Property) { + option (google.api.http) = { + patch: "/v1beta/{property.name=properties/*}" + body: "property" + }; + option (google.api.method_signature) = "property,update_mask"; + } + + // Creates a FirebaseLink. + // + // Properties can have at most one FirebaseLink. + rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/firebaseLinks" + body: "firebase_link" + }; + option (google.api.method_signature) = "parent,firebase_link"; + } + + // Deletes a FirebaseLink on a property + rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*/firebaseLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists FirebaseLinks on a property. + // Properties can have at most one FirebaseLink. + rpc ListFirebaseLinks(ListFirebaseLinksRequest) returns (ListFirebaseLinksResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/firebaseLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a GoogleAdsLink. + rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/googleAdsLinks" + body: "google_ads_link" + }; + option (google.api.method_signature) = "parent,google_ads_link"; + } + + // Updates a GoogleAdsLink on a property + rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) { + option (google.api.http) = { + patch: "/v1beta/{google_ads_link.name=properties/*/googleAdsLinks/*}" + body: "google_ads_link" + }; + option (google.api.method_signature) = "google_ads_link,update_mask"; + } + + // Deletes a GoogleAdsLink on a property + rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*/googleAdsLinks/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists GoogleAdsLinks on a property. + rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest) returns (ListGoogleAdsLinksResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/googleAdsLinks" + }; + option (google.api.method_signature) = "parent"; + } + + // Get data sharing settings on an account. + // Data sharing settings are singletons. + rpc GetDataSharingSettings(GetDataSharingSettingsRequest) returns (DataSharingSettings) { + option (google.api.http) = { + get: "/v1beta/{name=accounts/*/dataSharingSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single "GA4" MeasurementProtocolSecret. + rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns child MeasurementProtocolSecrets under the specified parent + // Property. + rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest) returns (ListMeasurementProtocolSecretsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a measurement protocol secret. + rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" + body: "measurement_protocol_secret" + }; + option (google.api.method_signature) = "parent,measurement_protocol_secret"; + } + + // Deletes target MeasurementProtocolSecret. + rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a measurement protocol secret. + rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { + option (google.api.http) = { + patch: "/v1beta/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" + body: "measurement_protocol_secret" + }; + option (google.api.method_signature) = "measurement_protocol_secret,update_mask"; + } + + // Acknowledges the terms of user data collection for the specified property. + // + // This acknowledgement must be completed (either in the Google Analytics UI + // or via this API) before MeasurementProtocolSecret resources may be created. + rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest) returns (AcknowledgeUserDataCollectionResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:acknowledgeUserDataCollection" + body: "*" + }; + } + + // Searches through all changes to an account or its children given the + // specified set of filters. + rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest) returns (SearchChangeHistoryEventsResponse) { + option (google.api.http) = { + post: "/v1beta/{account=accounts/*}:searchChangeHistoryEvents" + body: "*" + }; + } + + // Creates a conversion event with the specified attributes. + rpc CreateConversionEvent(CreateConversionEventRequest) returns (ConversionEvent) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/conversionEvents" + body: "conversion_event" + }; + option (google.api.method_signature) = "parent,conversion_event"; + } + + // Retrieve a single conversion event. + rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/conversionEvents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes a conversion event in a property. + rpc DeleteConversionEvent(DeleteConversionEventRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*/conversionEvents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns a list of conversion events in the specified parent property. + // + // Returns an empty list if no conversion events are found. + rpc ListConversionEvents(ListConversionEventsRequest) returns (ListConversionEventsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/conversionEvents" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a CustomDimension. + rpc CreateCustomDimension(CreateCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/customDimensions" + body: "custom_dimension" + }; + option (google.api.method_signature) = "parent,custom_dimension"; + } + + // Updates a CustomDimension on a property. + rpc UpdateCustomDimension(UpdateCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + patch: "/v1beta/{custom_dimension.name=properties/*/customDimensions/*}" + body: "custom_dimension" + }; + option (google.api.method_signature) = "custom_dimension,update_mask"; + } + + // Lists CustomDimensions on a property. + rpc ListCustomDimensions(ListCustomDimensionsRequest) returns (ListCustomDimensionsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/customDimensions" + }; + option (google.api.method_signature) = "parent"; + } + + // Archives a CustomDimension on a property. + rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1beta/{name=properties/*/customDimensions/*}:archive" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single CustomDimension. + rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/customDimensions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a CustomMetric. + rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/customMetrics" + body: "custom_metric" + }; + option (google.api.method_signature) = "parent,custom_metric"; + } + + // Updates a CustomMetric on a property. + rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + patch: "/v1beta/{custom_metric.name=properties/*/customMetrics/*}" + body: "custom_metric" + }; + option (google.api.method_signature) = "custom_metric,update_mask"; + } + + // Lists CustomMetrics on a property. + rpc ListCustomMetrics(ListCustomMetricsRequest) returns (ListCustomMetricsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/customMetrics" + }; + option (google.api.method_signature) = "parent"; + } + + // Archives a CustomMetric on a property. + rpc ArchiveCustomMetric(ArchiveCustomMetricRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1beta/{name=properties/*/customMetrics/*}:archive" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lookup for a single CustomMetric. + rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/customMetrics/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the singleton data retention settings for this property. + rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest) returns (DataRetentionSettings) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/dataRetentionSettings}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the singleton data retention settings for this property. + rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest) returns (DataRetentionSettings) { + option (google.api.http) = { + patch: "/v1beta/{data_retention_settings.name=properties/*/dataRetentionSettings}" + body: "data_retention_settings" + }; + option (google.api.method_signature) = "data_retention_settings,update_mask"; + } + + // Creates a DataStream. + rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + post: "/v1beta/{parent=properties/*}/dataStreams" + body: "data_stream" + }; + option (google.api.method_signature) = "parent,data_stream"; + } + + // Deletes a DataStream on a property. + rpc DeleteDataStream(DeleteDataStreamRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=properties/*/dataStreams/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a DataStream on a property. + rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + patch: "/v1beta/{data_stream.name=properties/*/dataStreams/*}" + body: "data_stream" + }; + option (google.api.method_signature) = "data_stream,update_mask"; + } + + // Lists DataStreams on a property. + rpc ListDataStreams(ListDataStreamsRequest) returns (ListDataStreamsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=properties/*}/dataStreams" + }; + option (google.api.method_signature) = "parent"; + } + + // Lookup for a single DataStream. + rpc GetDataStream(GetDataStreamRequest) returns (DataStream) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/dataStreams/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request message for GetAccount RPC. +message GetAccountRequest { + // Required. The name of the account to lookup. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// Request message for ListAccounts RPC. +message ListAccountsRequest { + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 1; + + // A page token, received from a previous `ListAccounts` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListAccounts` must + // match the call that provided the page token. + string page_token = 2; + + // Whether to include soft-deleted (ie: "trashed") Accounts in the + // results. Accounts can be inspected to determine whether they are deleted or + // not. + bool show_deleted = 3; +} + +// Request message for ListAccounts RPC. +message ListAccountsResponse { + // Results that were accessible to the caller. + 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; +} + +// Request message for DeleteAccount RPC. +message DeleteAccountRequest { + // Required. The name of the Account to soft-delete. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// Request message for UpdateAccount RPC. +message UpdateAccountRequest { + // Required. The account to update. + // The account's `name` field is used to identify the account. + Account account = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketRequest { + // The account to create. + Account account = 1; + + // Redirect URI where the user will be sent after accepting Terms of Service. + // Must be configured in Developers Console as a Redirect URI + string redirect_uri = 2; +} + +// Response message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketResponse { + // The param to be passed in the ToS link. + string account_ticket_id = 1; +} + +// Request message for GetProperty RPC. +message GetPropertyRequest { + // Required. The name of the property to lookup. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; +} + +// Request message for ListProperties RPC. +message ListPropertiesRequest { + // Required. An expression for filtering the results of the request. + // Fields eligible for filtering are: + // `parent:`(The resource name of the parent account/property) or + // `ancestor:`(The resource name of the parent account) or + // `firebase_project:`(The id or number of the linked firebase project). + // Some examples of filters: + // + // ``` + // | Filter | Description | + // |-----------------------------|-------------------------------------------| + // | parent:accounts/123 | The account with account id: 123. | + // | parent:properties/123 | The property with property id: 123. | + // | ancestor:accounts/123 | The account with account id: 123. | + // | firebase_project:project-id | The firebase project with id: project-id. | + // | firebase_project:123 | The firebase project with number: 123. | + // ``` + string filter = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListProperties` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListProperties` must + // match the call that provided the page token. + string page_token = 3; + + // Whether to include soft-deleted (ie: "trashed") Properties in the + // results. Properties can be inspected to determine whether they are deleted + // or not. + bool show_deleted = 4; +} + +// Response message for ListProperties RPC. +message ListPropertiesResponse { + // Results that matched the filter criteria and were accessible to the caller. + repeated Property properties = 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 UpdateProperty RPC. +message UpdatePropertyRequest { + // Required. The property to update. + // The property's `name` field is used to identify the property to be + // updated. + Property property = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateProperty RPC. +message CreatePropertyRequest { + // Required. The property to create. + // Note: the supplied property must specify its parent. + Property property = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteProperty RPC. +message DeletePropertyRequest { + // Required. The name of the Property to soft-delete. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; +} + +// Request message for CreateFirebaseLink RPC +message CreateFirebaseLinkRequest { + // Required. Format: properties/{property_id} + // Example: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; + + // Required. The Firebase link to create. + FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteFirebaseLink RPC +message DeleteFirebaseLinkRequest { + // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} + // Example: properties/1234/firebaseLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; +} + +// Request message for ListFirebaseLinks RPC +message ListFirebaseLinksRequest { + // Required. Format: properties/{property_id} + // Example: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/FirebaseLink" + } + ]; + + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListFirebaseLinks` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListProperties` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListFirebaseLinks RPC +message ListFirebaseLinksResponse { + // List of FirebaseLinks. This will have at most one value. + repeated FirebaseLink firebase_links = 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. + // Currently, Google Analytics supports only one FirebaseLink per property, + // so this will never be populated. + string next_page_token = 2; +} + +// Request message for CreateGoogleAdsLink RPC +message CreateGoogleAdsLinkRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; + + // Required. The GoogleAdsLink to create. + GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateGoogleAdsLink RPC +message UpdateGoogleAdsLinkRequest { + // The GoogleAdsLink to update + GoogleAdsLink google_ads_link = 1; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteGoogleAdsLink RPC. +message DeleteGoogleAdsLinkRequest { + // Required. Example format: properties/1234/googleAdsLinks/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; +} + +// Request message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListGoogleAdsLinks` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListGoogleAdsLinks` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksResponse { + // List of GoogleAdsLinks. + repeated GoogleAdsLink google_ads_links = 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 GetDataSharingSettings RPC. +message GetDataSharingSettingsRequest { + // Required. The name of the settings to lookup. + // Format: accounts/{account}/dataSharingSettings + // Example: "accounts/1000/dataSharingSettings" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataSharingSettings" + } + ]; +} + +// Request message for ListAccountSummaries RPC. +message ListAccountSummariesRequest { + // The maximum number of AccountSummary resources to return. The service may + // return fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 1; + + // A page token, received from a previous `ListAccountSummaries` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListAccountSummaries` + // must match the call that provided the page token. + string page_token = 2; +} + +// Response message for ListAccountSummaries RPC. +message ListAccountSummariesResponse { + // Account summaries of all accounts the caller has access to. + repeated AccountSummary account_summaries = 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 AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionRequest { + // Required. The property for which to acknowledge user data collection. + string property = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; + + // Required. An acknowledgement that the caller of this method understands the terms + // of user data collection. + // + // This field must contain the exact value: + // "I acknowledge that I have the necessary privacy disclosures and rights + // from my end users for the collection and processing of their data, + // including the association of such data with the visitation information + // Google Analytics collects from my site and/or app property." + string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionResponse { + +} + +// Request message for SearchChangeHistoryEvents RPC. +message SearchChangeHistoryEventsRequest { + // Required. The account resource for which to return change history resources. + string account = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; + + // Optional. Resource name for a child property. If set, only return changes + // made to this property or its child resources. + string property = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + } + ]; + + // Optional. If set, only return changes if they are for a resource that matches at + // least one of these types. + repeated ChangeHistoryResourceType resource_type = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes that match one or more of these types of + // actions. + repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes if they are made by a user in this list. + repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes made after this time (inclusive). + google.protobuf.Timestamp earliest_change_time = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, only return changes made before this time (inclusive). + google.protobuf.Timestamp latest_change_time = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of ChangeHistoryEvent items to return. + // The service may return fewer than this value, even if there are additional + // pages. If unspecified, at most 50 items will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. + // Provide this to retrieve the subsequent page. When paginating, all other + // parameters provided to `SearchChangeHistoryEvents` must match the call that + // provided the page token. + string page_token = 9 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for SearchAccounts RPC. +message SearchChangeHistoryEventsResponse { + // Results that were accessible to the caller. + repeated ChangeHistoryEvent change_history_events = 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 GetMeasurementProtocolSecret RPC. +message GetMeasurementProtocolSecretRequest { + // Required. The name of the measurement protocol secret to lookup. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; +} + +// Request message for CreateMeasurementProtocolSecret RPC +message CreateMeasurementProtocolSecretRequest { + // Required. The parent resource where this secret will be created. + // Format: properties/{property}/dataStreams/{dataStream} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; + + // Required. The measurement protocol secret to create. + MeasurementProtocolSecret measurement_protocol_secret = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteMeasurementProtocolSecret RPC +message DeleteMeasurementProtocolSecretRequest { + // Required. The name of the MeasurementProtocolSecret to delete. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; +} + +// Request message for UpdateMeasurementProtocolSecret RPC +message UpdateMeasurementProtocolSecretRequest { + // Required. The measurement protocol secret to update. + MeasurementProtocolSecret measurement_protocol_secret = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to be updated. Omitted fields will not be updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsRequest { + // Required. The resource name of the parent stream. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 10 resources will be returned. + // The maximum value is 10. Higher values will be coerced to the maximum. + int32 page_size = 2; + + // A page token, received from a previous `ListMeasurementProtocolSecrets` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListMeasurementProtocolSecrets` must match + // the call that provided the page token. + string page_token = 3; +} + +// Response message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsResponse { + // A list of secrets for the parent stream specified in the request. + repeated MeasurementProtocolSecret measurement_protocol_secrets = 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 CreateConversionEvent RPC +message CreateConversionEventRequest { + // Required. The conversion event to create. + ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of the parent property where this conversion event will + // be created. Format: properties/123 + string parent = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for GetConversionEvent RPC +message GetConversionEventRequest { + // Required. The resource name of the conversion event to retrieve. + // Format: properties/{property}/conversionEvents/{conversion_event} + // Example: "properties/123/conversionEvents/456" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for DeleteConversionEvent RPC +message DeleteConversionEventRequest { + // Required. The resource name of the conversion event to delete. + // Format: properties/{property}/conversionEvents/{conversion_event} + // Example: "properties/123/conversionEvents/456" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; +} + +// Request message for ListConversionEvents RPC +message ListConversionEventsRequest { + // Required. The resource name of the parent property. + // Example: 'properties/123' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/ConversionEvent" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + int32 page_size = 2; + + // A page token, received from a previous `ListConversionEvents` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListConversionEvents` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListConversionEvents RPC. +message ListConversionEventsResponse { + // The requested conversion events + repeated ConversionEvent conversion_events = 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 CreateCustomDimension RPC. +message CreateCustomDimensionRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; + + // Required. The CustomDimension to create. + CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomDimension RPC. +message UpdateCustomDimensionRequest { + // The CustomDimension to update + CustomDimension custom_dimension = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomDimensions RPC. +message ListCustomDimensionsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListCustomDimensions` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCustomDimensions` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListCustomDimensions RPC. +message ListCustomDimensionsResponse { + // List of CustomDimensions. + repeated CustomDimension custom_dimensions = 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 ArchiveCustomDimension RPC. +message ArchiveCustomDimensionRequest { + // Required. The name of the CustomDimension to archive. + // Example format: properties/1234/customDimensions/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; +} + +// Request message for GetCustomDimension RPC. +message GetCustomDimensionRequest { + // Required. The name of the CustomDimension to get. + // Example format: properties/1234/customDimensions/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + } + ]; +} + +// Request message for CreateCustomMetric RPC. +message CreateCustomMetricRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; + + // Required. The CustomMetric to create. + CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomMetric RPC. +message UpdateCustomMetricRequest { + // The CustomMetric to update + CustomMetric custom_metric = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomMetrics RPC. +message ListCustomMetricsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListCustomMetrics` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCustomMetrics` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListCustomMetrics RPC. +message ListCustomMetricsResponse { + // List of CustomMetrics. + repeated CustomMetric custom_metrics = 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 ArchiveCustomMetric RPC. +message ArchiveCustomMetricRequest { + // Required. The name of the CustomMetric to archive. + // Example format: properties/1234/customMetrics/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; +} + +// Request message for GetCustomMetric RPC. +message GetCustomMetricRequest { + // Required. The name of the CustomMetric to get. + // Example format: properties/1234/customMetrics/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + } + ]; +} + +// Request message for GetDataRetentionSettings RPC. +message GetDataRetentionSettingsRequest { + // Required. The name of the settings to lookup. + // Format: + // properties/{property}/dataRetentionSettings + // Example: "properties/1000/dataRetentionSettings" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataRetentionSettings" + } + ]; +} + +// Request message for UpdateDataRetentionSettings RPC. +message UpdateDataRetentionSettingsRequest { + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + DataRetentionSettings data_retention_settings = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to be updated. Field names must be in snake case + // (e.g., "field_to_update"). Omitted fields will not be updated. To replace + // the entire entity, use one path with the string "*" to match all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateDataStream RPC. +message CreateDataStreamRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DataStream" + } + ]; + + // Required. The DataStream to create. + DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteDataStream RPC. +message DeleteDataStreamRequest { + // Required. The name of the DataStream to delete. + // Example format: properties/1234/dataStreams/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataStream" + } + ]; +} + +// Request message for UpdateDataStream RPC. +message UpdateDataStreamRequest { + // The DataStream to update + DataStream data_stream = 1; + + // Required. The list of fields to be updated. Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match + // all fields. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListDataStreams RPC. +message ListDataStreamsRequest { + // Required. Example format: properties/1234 + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "analyticsadmin.googleapis.com/DataStream" + } + ]; + + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + int32 page_size = 2; + + // A page token, received from a previous `ListDataStreams` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDataStreams` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for ListDataStreams RPC. +message ListDataStreamsResponse { + // List of DataStreams. + repeated DataStream data_streams = 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 GetDataStream RPC. +message GetDataStreamRequest { + // Required. The name of the DataStream to get. + // Example format: properties/1234/dataStreams/5678 + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/DataStream" + } + ]; +} diff --git a/google-cloud/protos/google/analytics/admin/v1beta/analyticsadmin.yaml b/google-cloud/protos/google/analytics/admin/v1beta/analyticsadmin.yaml new file mode 100644 index 00000000..bffe682e --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1beta/analyticsadmin.yaml @@ -0,0 +1,109 @@ +type: google.api.Service +config_version: 3 +name: analyticsadmin.googleapis.com +title: Google Analytics Admin API + +apis: +- name: google.analytics.admin.v1beta.AnalyticsAdminService + +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 diff --git a/google-cloud/protos/google/analytics/admin/v1beta/resources.proto b/google-cloud/protos/google/analytics/admin/v1beta/resources.proto new file mode 100644 index 00000000..2a701030 --- /dev/null +++ b/google-cloud/protos/google/analytics/admin/v1beta/resources.proto @@ -0,0 +1,905 @@ +// 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.analytics.admin.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.analytics.admin.v1beta"; + +// The category selected for this property, used for industry benchmarking. +enum IndustryCategory { + // Industry category unspecified + INDUSTRY_CATEGORY_UNSPECIFIED = 0; + + // Automotive + AUTOMOTIVE = 1; + + // Business and industrial markets + BUSINESS_AND_INDUSTRIAL_MARKETS = 2; + + // Finance + FINANCE = 3; + + // Healthcare + HEALTHCARE = 4; + + // Technology + TECHNOLOGY = 5; + + // Travel + TRAVEL = 6; + + // Other + OTHER = 7; + + // Arts and entertainment + ARTS_AND_ENTERTAINMENT = 8; + + // Beauty and fitness + BEAUTY_AND_FITNESS = 9; + + // Books and literature + BOOKS_AND_LITERATURE = 10; + + // Food and drink + FOOD_AND_DRINK = 11; + + // Games + GAMES = 12; + + // Hobbies and leisure + HOBBIES_AND_LEISURE = 13; + + // Home and garden + HOME_AND_GARDEN = 14; + + // Internet and telecom + INTERNET_AND_TELECOM = 15; + + // Law and government + LAW_AND_GOVERNMENT = 16; + + // News + NEWS = 17; + + // Online communities + ONLINE_COMMUNITIES = 18; + + // People and society + PEOPLE_AND_SOCIETY = 19; + + // Pets and animals + PETS_AND_ANIMALS = 20; + + // Real estate + REAL_ESTATE = 21; + + // Reference + REFERENCE = 22; + + // Science + SCIENCE = 23; + + // Sports + SPORTS = 24; + + // Jobs and education + JOBS_AND_EDUCATION = 25; + + // Shopping + SHOPPING = 26; +} + +// Various levels of service for Google Analytics. +enum ServiceLevel { + // Service level not specified or invalid. + SERVICE_LEVEL_UNSPECIFIED = 0; + + // The standard version of Google Analytics. + GOOGLE_ANALYTICS_STANDARD = 1; + + // The paid, premium version of Google Analytics. + GOOGLE_ANALYTICS_360 = 2; +} + +// Different kinds of actors that can make changes to Google Analytics +// resources. +enum ActorType { + // Unknown or unspecified actor type. + ACTOR_TYPE_UNSPECIFIED = 0; + + // Changes made by the user specified in actor_email. + USER = 1; + + // Changes made by the Google Analytics system. + SYSTEM = 2; + + // Changes made by Google Analytics support team staff. + SUPPORT = 3; +} + +// Types of actions that may change a resource. +enum ActionType { + // Action type unknown or not specified. + ACTION_TYPE_UNSPECIFIED = 0; + + // Resource was created in this change. + CREATED = 1; + + // Resource was updated in this change. + UPDATED = 2; + + // Resource was deleted in this change. + DELETED = 3; +} + +// Types of resources whose changes may be returned from change history. +enum ChangeHistoryResourceType { + // Resource type unknown or not specified. + CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED = 0; + + // Account resource + ACCOUNT = 1; + + // Property resource + PROPERTY = 2; + + // FirebaseLink resource + FIREBASE_LINK = 6; + + // GoogleAdsLink resource + GOOGLE_ADS_LINK = 7; + + // GoogleSignalsSettings resource + GOOGLE_SIGNALS_SETTINGS = 8; + + // ConversionEvent resource + CONVERSION_EVENT = 9; + + // MeasurementProtocolSecret resource + MEASUREMENT_PROTOCOL_SECRET = 10; + + // DataRetentionSettings resource + DATA_RETENTION_SETTINGS = 13; + + // DisplayVideo360AdvertiserLink resource + DISPLAY_VIDEO_360_ADVERTISER_LINK = 14; + + // DisplayVideo360AdvertiserLinkProposal resource + DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL = 15; + + // DataStream resource + DATA_STREAM = 18; + + // AttributionSettings resource + ATTRIBUTION_SETTINGS = 20; +} + +// Types of Property resources. +enum PropertyType { + // Unknown or unspecified property type + PROPERTY_TYPE_UNSPECIFIED = 0; + + // Ordinary GA4 property + PROPERTY_TYPE_ORDINARY = 1; + + // GA4 subproperty + PROPERTY_TYPE_SUBPROPERTY = 2; + + // GA4 rollup property + PROPERTY_TYPE_ROLLUP = 3; +} + +// A resource message representing a Google Analytics account. +message Account { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/Account" + pattern: "accounts/{account}" + }; + + // Output only. Resource name of this account. + // Format: accounts/{account} + // Example: "accounts/100" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this account was originally created. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when account payload fields were last updated. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Human-readable display name for this account. + string display_name = 4 [(google.api.field_behavior) = REQUIRED]; + + // Country of business. Must be a Unicode CLDR region code. + string region_code = 5; + + // Output only. Indicates whether this Account is soft-deleted or not. Deleted + // accounts are excluded from List results unless specifically requested. + bool deleted = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource message representing a Google Analytics GA4 property. +message Property { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/Property" + pattern: "properties/{property}" + }; + + // Output only. Resource name of this property. + // Format: properties/{property_id} + // Example: "properties/1000" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The property type for this Property resource. When creating a property, if + // the type is "PROPERTY_TYPE_UNSPECIFIED", then "ORDINARY_PROPERTY" will be + // implied. "SUBPROPERTY" and "ROLLUP_PROPERTY" types cannot yet be created + // via Google Analytics Admin API. + PropertyType property_type = 14 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when the entity was originally created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when entity payload fields were last updated. + google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Resource name of this property's logical parent. + // + // Note: The Property-Moving UI can be used to change the parent. + // Format: accounts/{account}, properties/{property} + // Example: "accounts/100", "properties/101" + string parent = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. Human-readable display name for this property. + // + // The max allowed display name length is 100 UTF-16 code units. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Industry associated with this property + // Example: AUTOMOTIVE, FOOD_AND_DRINK + IndustryCategory industry_category = 6; + + // Required. Reporting Time Zone, used as the day boundary for reports, regardless of + // where the data originates. If the time zone honors DST, Analytics will + // automatically adjust for the changes. + // + // NOTE: Changing the time zone only affects data going forward, and is not + // applied retroactively. + // + // Format: https://www.iana.org/time-zones + // Example: "America/Los_Angeles" + string time_zone = 7 [(google.api.field_behavior) = REQUIRED]; + + // The currency type used in reports involving monetary values. + // + // + // Format: https://en.wikipedia.org/wiki/ISO_4217 + // Examples: "USD", "EUR", "JPY" + string currency_code = 8; + + // Output only. The Google Analytics service level that applies to this property. + ServiceLevel service_level = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, the time at which this property was trashed. If not set, then this + // property is not currently in the trash can. + google.protobuf.Timestamp delete_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, the time at which this trashed property will be permanently + // deleted. If not set, then this property is not currently in the trash can + // and is not slated to be deleted. + google.protobuf.Timestamp expire_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The resource name of the parent account + // Format: accounts/{account_id} + // Example: "accounts/123" + string account = 13 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + } + ]; +} + +// A resource message representing a data stream. +message DataStream { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataStream" + pattern: "properties/{property}/dataStreams/{data_stream}" + }; + + // Data specific to web streams. + message WebStreamData { + // Output only. Analytics "Measurement ID", without the "G-" prefix. + // Example: "G-1A2BCD345E" would just be "1A2BCD345E" + string measurement_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the corresponding web app in Firebase, if any. + // This ID can change if the web app is deleted and recreated. + string firebase_app_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Domain name of the web app being measured, or empty. + // Example: "http://www.google.com", "https://www.google.com" + string default_uri = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Data specific to Android app streams. + message AndroidAppStreamData { + // Output only. ID of the corresponding Android app in Firebase, if any. + // This ID can change if the Android app is deleted and recreated. + string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The package name for the app being measured. + // Example: "com.example.myandroidapp" + string package_name = 2 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Data specific to iOS app streams. + message IosAppStreamData { + // Output only. ID of the corresponding iOS app in Firebase, if any. + // This ID can change if the iOS app is deleted and recreated. + string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The Apple App Store Bundle ID for the app + // Example: "com.example.myiosapp" + string bundle_id = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + } + + // The type of the data stream. + enum DataStreamType { + // Type unknown or not specified. + DATA_STREAM_TYPE_UNSPECIFIED = 0; + + // Web data stream. + WEB_DATA_STREAM = 1; + + // Android app data stream. + ANDROID_APP_DATA_STREAM = 2; + + // iOS app data stream. + IOS_APP_DATA_STREAM = 3; + } + + // Data for specific data stream types. The message that will be + // set corresponds to the type of this stream. + oneof stream_data { + // Data specific to web streams. Must be populated if type is + // WEB_DATA_STREAM. + WebStreamData web_stream_data = 6; + + // Data specific to Android app streams. Must be populated if type is + // ANDROID_APP_DATA_STREAM. + AndroidAppStreamData android_app_stream_data = 7; + + // Data specific to iOS app streams. Must be populated if type is + // IOS_APP_DATA_STREAM. + IosAppStreamData ios_app_stream_data = 8; + } + + // Output only. Resource name of this Data Stream. + // Format: properties/{property_id}/dataStreams/{stream_id} + // Example: "properties/1000/dataStreams/2000" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The type of this DataStream resource. + DataStreamType type = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Human-readable display name for the Data Stream. + // + // Required for web data streams. + // + // The max allowed display name length is 255 UTF-16 code units. + string display_name = 3; + + // Output only. Time when this stream was originally created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when stream payload fields were last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A link between a GA4 property and a Firebase project. +message FirebaseLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/FirebaseLink" + pattern: "properties/{property}/firebaseLinks/{firebase_link}" + }; + + // Output only. Example format: properties/1234/firebaseLinks/5678 + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Firebase project resource name. When creating a FirebaseLink, you may + // provide this resource name using either a project number or project ID. + // Once this resource has been created, returned FirebaseLinks will always + // have a project_name that contains a project number. + // + // Format: 'projects/{project number}' + // Example: 'projects/1234' + string project = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when this FirebaseLink was originally created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A link between a GA4 property and a Google Ads account. +message GoogleAdsLink { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/GoogleAdsLink" + pattern: "properties/{property}/googleAdsLinks/{google_ads_link}" + }; + + // Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} + // + // Note: googleAdsLinkId is not the Google Ads customer ID. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. Google Ads customer ID. + string customer_id = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. If true, this link is for a Google Ads manager account. + bool can_manage_clients = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Enable personalized advertising features with this integration. + // Automatically publish my Google Analytics audience lists and Google + // Analytics remarketing events/parameters to the linked Google Ads account. + // If this field is not set on create/update, it will be defaulted to true. + google.protobuf.BoolValue ads_personalization_enabled = 5; + + // Output only. Time when this link was originally created. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when this link was last updated. + google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Email address of the user that created the link. + // An empty string will be returned if the email address can't be retrieved. + string creator_email_address = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A resource message representing data sharing settings of a Google Analytics +// account. +message DataSharingSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataSharingSettings" + pattern: "accounts/{account}/dataSharingSettings" + }; + + // Output only. Resource name. + // Format: accounts/{account}/dataSharingSettings + // Example: "accounts/1000/dataSharingSettings" + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Allows Google support to access the data in order to help troubleshoot + // issues. + bool sharing_with_google_support_enabled = 2; + + // Allows Google sales teams that are assigned to the customer to access the + // data in order to suggest configuration changes to improve results. + // Sales team restrictions still apply when enabled. + bool sharing_with_google_assigned_sales_enabled = 3; + + // Allows any of Google sales to access the data in order to suggest + // configuration changes to improve results. + bool sharing_with_google_any_sales_enabled = 4; + + // Allows Google to use the data to improve other Google products or services. + bool sharing_with_google_products_enabled = 5; + + // Allows Google to share the data anonymously in aggregate form with others. + bool sharing_with_others_enabled = 6; +} + +// A virtual resource representing an overview of an account and +// all its child GA4 properties. +message AccountSummary { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/AccountSummary" + pattern: "accountSummaries/{account_summary}" + }; + + // Resource name for this account summary. + // Format: accountSummaries/{account_id} + // Example: "accountSummaries/1000" + string name = 1; + + // Resource name of account referred to by this account summary + // Format: accounts/{account_id} + // Example: "accounts/1000" + string account = 2 [(google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Account" + }]; + + // Display name for the account referred to in this account summary. + string display_name = 3; + + // List of summaries for child accounts of this account. + repeated PropertySummary property_summaries = 4; +} + +// A virtual resource representing metadata for a GA4 property. +message PropertySummary { + // Resource name of property referred to by this property summary + // Format: properties/{property_id} + // Example: "properties/1000" + string property = 1 [(google.api.resource_reference) = { + type: "analyticsadmin.googleapis.com/Property" + }]; + + // Display name for the property referred to in this property summary. + string display_name = 2; + + // The property's property type. + PropertyType property_type = 3; + + // Resource name of this property's logical parent. + // + // Note: The Property-Moving UI can be used to change the parent. + // Format: accounts/{account}, properties/{property} + // Example: "accounts/100", "properties/200" + string parent = 4; +} + +// A secret value used for sending hits to Measurement Protocol. +message MeasurementProtocolSecret { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" + pattern: "properties/{property}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_protocol_secret}" + }; + + // Output only. Resource name of this secret. This secret may be a child of any type of + // stream. + // Format: + // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Human-readable display name for this secret. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The measurement protocol secret value. Pass this value to the api_secret + // field of the Measurement Protocol API when sending hits to this + // secret's parent property. + string secret_value = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A set of changes within a Google Analytics account or its child properties +// that resulted from the same cause. Common causes would be updates made in the +// Google Analytics UI, changes from customer support, or automatic Google +// Analytics system changes. +message ChangeHistoryEvent { + // ID of this change history event. This ID is unique across Google Analytics. + string id = 1; + + // Time when change was made. + google.protobuf.Timestamp change_time = 2; + + // The type of actor that made this change. + ActorType actor_type = 3; + + // Email address of the Google account that made the change. This will be a + // valid email address if the actor field is set to USER, and empty otherwise. + // Google accounts that have been deleted will cause an error. + string user_actor_email = 4; + + // If true, then the list of changes returned was filtered, and does not + // represent all changes that occurred in this event. + bool changes_filtered = 5; + + // A list of changes made in this change history event that fit the filters + // specified in SearchChangeHistoryEventsRequest. + repeated ChangeHistoryChange changes = 6; +} + +// A description of a change to a single Google Analytics resource. +message ChangeHistoryChange { + // A snapshot of a resource as before or after the result of a change in + // change history. + message ChangeHistoryResource { + oneof resource { + // A snapshot of an Account resource in change history. + Account account = 1; + + // A snapshot of a Property resource in change history. + Property property = 2; + + // A snapshot of a FirebaseLink resource in change history. + FirebaseLink firebase_link = 6; + + // A snapshot of a GoogleAdsLink resource in change history. + GoogleAdsLink google_ads_link = 7; + + // A snapshot of a ConversionEvent resource in change history. + ConversionEvent conversion_event = 11; + + // A snapshot of a MeasurementProtocolSecret resource in change history. + MeasurementProtocolSecret measurement_protocol_secret = 12; + + // A snapshot of a data retention settings resource in change history. + DataRetentionSettings data_retention_settings = 15; + + // A snapshot of a DataStream resource in change history. + DataStream data_stream = 18; + } + } + + // Resource name of the resource whose changes are described by this entry. + string resource = 1; + + // The type of action that changed this resource. + ActionType action = 2; + + // Resource contents from before the change was made. If this resource was + // created in this change, this field will be missing. + ChangeHistoryResource resource_before_change = 3; + + // Resource contents from after the change was made. If this resource was + // deleted in this change, this field will be missing. + ChangeHistoryResource resource_after_change = 4; +} + +// A conversion event in a Google Analytics property. +message ConversionEvent { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/ConversionEvent" + pattern: "properties/{property}/conversionEvents/{conversion_event}" + }; + + // Output only. Resource name of this conversion event. + // Format: properties/{property}/conversionEvents/{conversion_event} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The event name for this conversion event. + // Examples: 'click', 'purchase' + string event_name = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. Time when this conversion event was created in the property. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set, this event can currently be deleted via DeleteConversionEvent. + bool deletable = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If set to true, this conversion event refers to a custom event. If set to + // false, this conversion event refers to a default event in GA. Default + // events typically have special meaning in GA. Default events are usually + // created for you by the GA system, but in some cases can be created by + // property admins. Custom events count towards the maximum number of + // custom conversion events that may be created per property. + bool custom = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A definition for a CustomDimension. +message CustomDimension { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/CustomDimension" + pattern: "properties/{property}/customDimensions/{custom_dimension}" + }; + + // Valid values for the scope of this dimension. + enum DimensionScope { + // Scope unknown or not specified. + DIMENSION_SCOPE_UNSPECIFIED = 0; + + // Dimension scoped to an event. + EVENT = 1; + + // Dimension scoped to a user. + USER = 2; + } + + // Output only. Resource name for this CustomDimension resource. + // Format: properties/{property}/customDimensions/{customDimension} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Tagging parameter name for this custom dimension. + // + // If this is a user-scoped dimension, then this is the user property name. + // If this is an event-scoped dimension, then this is the event parameter + // name. + // + // May only contain alphanumeric and underscore characters, starting with a + // letter. Max length of 24 characters for user-scoped dimensions, 40 + // characters for event-scoped dimensions. + string parameter_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Display name for this custom dimension as shown in the Analytics UI. + // Max length of 82 characters, alphanumeric plus space and underscore + // starting with a letter. Legacy system-generated display names may contain + // square brackets, but updates to this field will never permit square + // brackets. + string display_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description for this custom dimension. Max length of 150 characters. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Immutable. The scope of this dimension. + DimensionScope scope = 5 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. If set to true, sets this dimension as NPA and excludes it from ads + // personalization. + // + // This is currently only supported by user-scoped custom dimensions. + bool disallow_ads_personalization = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// A definition for a custom metric. +message CustomMetric { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/CustomMetric" + pattern: "properties/{property}/customMetrics/{custom_metric}" + }; + + // Possible types of representing the custom metric's value. + // + // Currency representation may change in the future, requiring a breaking API + // change. + enum MeasurementUnit { + // MeasurementUnit unspecified or missing. + MEASUREMENT_UNIT_UNSPECIFIED = 0; + + // This metric uses default units. + STANDARD = 1; + + // This metric measures a currency. + CURRENCY = 2; + + // This metric measures feet. + FEET = 3; + + // This metric measures meters. + METERS = 4; + + // This metric measures kilometers. + KILOMETERS = 5; + + // This metric measures miles. + MILES = 6; + + // This metric measures milliseconds. + MILLISECONDS = 7; + + // This metric measures seconds. + SECONDS = 8; + + // This metric measures minutes. + MINUTES = 9; + + // This metric measures hours. + HOURS = 10; + } + + // The scope of this metric. + enum MetricScope { + // Scope unknown or not specified. + METRIC_SCOPE_UNSPECIFIED = 0; + + // Metric scoped to an event. + EVENT = 1; + } + + // Labels that mark the data in this custom metric as data that should be + // restricted to specific users. + enum RestrictedMetricType { + // Type unknown or unspecified. + RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0; + + // Metric reports cost data. + COST_DATA = 1; + + // Metric reports revenue data. + REVENUE_DATA = 2; + } + + // Output only. Resource name for this CustomMetric resource. + // Format: properties/{property}/customMetrics/{customMetric} + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. Tagging name for this custom metric. + // + // If this is an event-scoped metric, then this is the event parameter + // name. + // + // May only contain alphanumeric and underscore charactes, starting with a + // letter. Max length of 40 characters for event-scoped metrics. + string parameter_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Display name for this custom metric as shown in the Analytics UI. + // Max length of 82 characters, alphanumeric plus space and underscore + // starting with a letter. Legacy system-generated display names may contain + // square brackets, but updates to this field will never permit square + // brackets. + string display_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Description for this custom dimension. + // Max length of 150 characters. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The type for the custom metric's value. + MeasurementUnit measurement_unit = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The scope of this custom metric. + MetricScope scope = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Types of restricted data that this metric may contain. Required for metrics + // with CURRENCY measurement unit. Must be empty for metrics with a + // non-CURRENCY measurement unit. + repeated RestrictedMetricType restricted_metric_type = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// Settings values for data retention. This is a singleton resource. +message DataRetentionSettings { + option (google.api.resource) = { + type: "analyticsadmin.googleapis.com/DataRetentionSettings" + pattern: "properties/{property}/dataRetentionSettings" + }; + + // Valid values for the data retention duration. + enum RetentionDuration { + // Data retention time duration is not specified. + RETENTION_DURATION_UNSPECIFIED = 0; + + // The data retention time duration is 2 months. + TWO_MONTHS = 1; + + // The data retention time duration is 14 months. + FOURTEEN_MONTHS = 3; + + // The data retention time duration is 26 months. + // Available to 360 properties only. + TWENTY_SIX_MONTHS = 4; + + // The data retention time duration is 38 months. + // Available to 360 properties only. + THIRTY_EIGHT_MONTHS = 5; + + // The data retention time duration is 50 months. + // Available to 360 properties only. + FIFTY_MONTHS = 6; + } + + // Output only. Resource name for this DataRetentionSetting resource. + // Format: properties/{property}/dataRetentionSettings + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The length of time that event-level data is retained. + RetentionDuration event_data_retention = 2; + + // If true, reset the retention period for the user identifier with every + // event from that user. + bool reset_user_data_on_new_activity = 3; +} diff --git a/google-cloud/protos/google/analytics/data/BUILD.bazel b/google-cloud/protos/google/analytics/data/BUILD.bazel new file mode 100644 index 00000000..40fd80e3 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-analytics-data. + +# 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 analyticsdata. +# 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 = "analyticsdata_ruby_wrapper", + srcs = ["//google/analytics/data/v1beta:data_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-analytics-data", + "ruby-cloud-env-prefix=ANALYTICS_DATA", + "ruby-cloud-wrapper-of=v1beta:0.0", + "ruby-cloud-product-url=https://developers.google.com/analytics/devguides/reporting/data/v1", + "ruby-cloud-api-id=analyticsdata.googleapis.com", + "ruby-cloud-api-shortname=analyticsdata", + "ruby-cloud-service-override=BetaAnalyticsData=AnalyticsData", + ], + ruby_cloud_description = "The Google Analytics Data API provides programmatic methods to access report data in Google Analytics 4 (GA4) properties. Google Analytics 4 helps you understand how people use your web, iOS, or Android app.", + ruby_cloud_title = "Google Analytics Data", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-analytics-data-ruby", + deps = [ + ":analyticsdata_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/analytics/data/v1alpha/BUILD.bazel b/google-cloud/protos/google/analytics/data/v1alpha/BUILD.bazel new file mode 100644 index 00000000..f1adcb87 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1alpha/BUILD.bazel @@ -0,0 +1,370 @@ +# 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 = "data_proto", + srcs = [ + "analytics_data_api.proto", + "data.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "@com_google_protobuf//:duration_proto", + ], +) + +proto_library_with_info( + name = "data_proto_with_info", + deps = [ + ":data_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 = "data_java_proto", + deps = [":data_proto"], +) + +java_grpc_library( + name = "data_java_grpc", + srcs = [":data_proto"], + deps = [":data_java_proto"], +) + +java_gapic_library( + name = "data_java_gapic", + srcs = [":data_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "analytics_data_grpc_service_config.json", + service_yaml = "analyticsdata_v1alpha.yaml", + test_deps = [ + ":data_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":data_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "data_java_gapic_test_suite", + test_classes = [ + "com.google.analytics.data.v1alpha.AlphaAnalyticsDataClientHttpJsonTest", + "com.google.analytics.data.v1alpha.AlphaAnalyticsDataClientTest", + ], + runtime_deps = [":data_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-analytics-data-v1alpha-java", + transport = "grpc+rest", + deps = [ + ":data_java_gapic", + ":data_java_grpc", + ":data_java_proto", + ":data_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "data_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/analytics/data/v1alpha", + protos = [":data_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "data_go_gapic", + srcs = [":data_proto_with_info"], + grpc_service_config = "analytics_data_grpc_service_config.json", + importpath = "google.golang.org/google/analytics/data/v1alpha;data", + metadata = True, + service_yaml = "analyticsdata_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":data_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +go_test( + name = "data_go_gapic_test", + srcs = [":data_go_gapic_srcjar_test"], + embed = [":data_go_gapic"], + importpath = "google.golang.org/google/analytics/data/v1alpha", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-analytics-data-v1alpha-go", + deps = [ + ":data_go_gapic", + ":data_go_gapic_srcjar-metadata.srcjar", + ":data_go_gapic_srcjar-test.srcjar", + ":data_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "data_py_gapic", + srcs = [":data_proto"], + grpc_service_config = "analytics_data_grpc_service_config.json", + service_yaml = "analyticsdata_v1alpha.yaml", + transport = "grpc+rest", +) + +py_test( + name = "data_py_gapic_test", + srcs = [ + "data_py_gapic_pytest.py", + "data_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":data_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "analytics-data-v1alpha-py", + deps = [ + ":data_py_gapic", + ], +) + +############################################################################## +# 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 = "data_php_proto", + deps = [":data_proto"], +) + +php_grpc_library( + name = "data_php_grpc", + srcs = [":data_proto"], + deps = [":data_php_proto"], +) + +php_gapic_library( + name = "data_php_gapic", + srcs = [":data_proto_with_info"], + grpc_service_config = "analytics_data_grpc_service_config.json", + service_yaml = "analyticsdata_v1alpha.yaml", + deps = [ + ":data_php_grpc", + ":data_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1alpha-php", + deps = [ + ":data_php_gapic", + ":data_php_grpc", + ":data_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "data_nodejs_gapic", + package_name = "@google-cloud/data", + src = ":data_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "analytics_data_grpc_service_config.json", + package = "google.analytics.data.v1alpha", + service_yaml = "analyticsdata_v1alpha.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "analytics-data-v1alpha-nodejs", + deps = [ + ":data_nodejs_gapic", + ":data_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 = "data_ruby_proto", + deps = [":data_proto"], +) + +ruby_grpc_library( + name = "data_ruby_grpc", + srcs = [":data_proto"], + deps = [":data_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "data_ruby_gapic", + srcs = [":data_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-analytics-data-v1alpha", + ], + grpc_service_config = "analytics_data_grpc_service_config.json", + deps = [ + ":data_ruby_grpc", + ":data_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1alpha-ruby", + deps = [ + ":data_ruby_gapic", + ":data_ruby_grpc", + ":data_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 = "data_csharp_proto", + deps = [":data_proto"], +) + +csharp_grpc_library( + name = "data_csharp_grpc", + srcs = [":data_proto"], + deps = [":data_csharp_proto"], +) + +csharp_gapic_library( + name = "data_csharp_gapic", + srcs = [":data_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "analytics_data_grpc_service_config.json", + service_yaml = "analyticsdata_v1alpha.yaml", + deps = [ + ":data_csharp_grpc", + ":data_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1alpha-csharp", + deps = [ + ":data_csharp_gapic", + ":data_csharp_grpc", + ":data_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "data_cc_proto", + deps = [":data_proto"], +) + +cc_grpc_library( + name = "data_cc_grpc", + srcs = [":data_proto"], + grpc_only = True, + deps = [":data_cc_proto"], +) diff --git a/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_api.proto b/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_api.proto new file mode 100644 index 00000000..f86cf8db --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_api.proto @@ -0,0 +1,169 @@ +// 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.analytics.data.v1alpha; + +import "google/analytics/data/v1alpha/data.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/data/v1alpha;data"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsDataApiProto"; +option java_package = "com.google.analytics.data.v1alpha"; + +// Google Analytics reporting data service. +service AlphaAnalyticsData { + option (google.api.default_host) = "analyticsdata.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/analytics," + "https://www.googleapis.com/auth/analytics.readonly"; + + // Returns a customized funnel report of your Google Analytics event data. The + // data returned from the API is as a table with columns for the requested + // dimensions and metrics. + // + // Funnel exploration lets you visualize the steps your users take to complete + // a task and quickly see how well they are succeeding or failing at each + // step. For example, how do prospects become shoppers and then become buyers? + // How do one time buyers become repeat buyers? With this information, you can + // improve inefficient or abandoned customer journeys. To learn more, see [GA4 + // Funnel Explorations](https://support.google.com/analytics/answer/9327974). + rpc RunFunnelReport(RunFunnelReportRequest) returns (RunFunnelReportResponse) { + option (google.api.http) = { + post: "/v1alpha/{property=properties/*}:runFunnelReport" + body: "*" + }; + } +} + +// The request for a funnel report. +message RunFunnelReportRequest { + // Controls the dimensions present in the funnel visualization sub report + // response. + enum FunnelVisualizationType { + // Unspecified type. + FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED = 0; + + // A standard (stepped) funnel. The funnel visualization sub report in the + // response will not contain date. + STANDARD_FUNNEL = 1; + + // A trended (line chart) funnel. The funnel visualization sub report in the + // response will contain the date dimension. + TRENDED_FUNNEL = 2; + } + + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // Within a batch request, this property should either be unspecified or + // consistent with the batch-level property. + // + // Example: properties/1234 + string property = 1; + + // Date ranges of data to read. If multiple date ranges are requested, each + // response row will contain a zero based date range index. If two date + // ranges overlap, the event data for the overlapping days is included in the + // response rows for both date ranges. + repeated DateRange date_ranges = 2; + + // The configuration of this request's funnel. This funnel configuration is + // required. + Funnel funnel = 3; + + // If specified, this breakdown adds a dimension to the funnel table sub + // report response. This breakdown dimension expands each funnel step to the + // unique values of the breakdown dimension. For example, a breakdown by the + // `deviceCategory` dimension will create rows for `mobile`, `tablet`, + // `desktop`, and the total. + FunnelBreakdown funnel_breakdown = 4; + + // If specified, next action adds a dimension to the funnel visualization sub + // report response. This next action dimension expands each funnel step to the + // unique values of the next action. For example a next action of the + // `eventName` dimension will create rows for several events (i.e. + // `session_start` & `click`) and the total. + // + // Next action only supports `eventName` and most Page / Screen dimensions + // like `pageTitle` and `pagePath`. + FunnelNextAction funnel_next_action = 5; + + // The funnel visualization type controls the dimensions present in the funnel + // visualization sub report response. If not specified, `STANDARD_FUNNEL` is + // used. + FunnelVisualizationType funnel_visualization_type = 6; + + // The configurations of segments. Segments are subsets of a property's data. + // In a funnel report with segments, the funnel is evaluated in each segment. + // + // Each segment specified in this request + // produces a separate row in the response; in the response, each segment + // identified by its name. + // + // The segments parameter is optional. Requests are limited to 4 segments. + repeated Segment segments = 7; + + // The number of rows to return. If unspecified, 10,000 rows are returned. The + // API returns a maximum of 100,000 rows per request, no matter how many you + // ask for. `limit` must be positive. + // + // The API can also return fewer rows than the requested `limit`, if there + // aren't as many dimension values as the `limit`. + int64 limit = 9; + + // Dimension filters allow you to ask for only specific dimension values in + // the report. To learn more, see [Creating a Report: Dimension + // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) + // for examples. Metrics cannot be used in this filter. + FilterExpression dimension_filter = 10; + + // Toggles whether to return the current state of this Analytics Property's + // quota. Quota is returned in [PropertyQuota](#PropertyQuota). + bool return_property_quota = 12; +} + +// The funnel report response contains two sub reports. The two sub reports are +// different combinations of dimensions and metrics. +message RunFunnelReportResponse { + // The funnel table is a report with the funnel step, segment, breakdown + // dimension, active users, completion rate, abandonments, and abandonments + // rate. + // + // The segment dimension is only present in this response if a segment was + // requested. The breakdown dimension is only present in this response if it + // was requested. + FunnelSubReport funnel_table = 1; + + // The funnel visualization is a report with the funnel step, segment, date, + // next action dimension, and active users. + // + // The segment dimension is only present in this response if a segment was + // requested. The date dimension is only present in this response if it was + // requested via the `TRENDED_FUNNEL` funnel type. The next action dimension + // is only present in the response if it was requested. + FunnelSubReport funnel_visualization = 2; + + // This Analytics Property's quota state including this request. + PropertyQuota property_quota = 3; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#runFunnelReport". Useful to distinguish between + // response types in JSON. + string kind = 4; +} diff --git a/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_grpc_service_config.json b/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_grpc_service_config.json new file mode 100644 index 00000000..87520a15 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1alpha/analytics_data_grpc_service_config.json @@ -0,0 +1,24 @@ +{ + "methodConfig": [ + { + "name": [{ "service": "google.analytics.data.v1alpha.AlphaAnalyticsData" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNKNOWN"] + } + }, + { + "name": [ + { + "service": "google.analytics.data.v1alpha.AlphaAnalyticsData", + "method": "RunFunnelReport" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google-cloud/protos/google/analytics/data/v1alpha/analyticsdata_v1alpha.yaml b/google-cloud/protos/google/analytics/data/v1alpha/analyticsdata_v1alpha.yaml new file mode 100644 index 00000000..b55a02fe --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1alpha/analyticsdata_v1alpha.yaml @@ -0,0 +1,23 @@ +type: google.api.Service +config_version: 3 +name: analyticsdata.googleapis.com +title: Google Analytics Data API + +apis: +- name: google.analytics.data.v1alpha.AlphaAnalyticsData + +documentation: + summary: Accesses report data in Google Analytics. + +backend: + rules: + - selector: google.analytics.data.v1alpha.AlphaAnalyticsData.RunFunnelReport + deadline: 180.0 + +authentication: + rules: + - selector: google.analytics.data.v1alpha.AlphaAnalyticsData.RunFunnelReport + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics, + https://www.googleapis.com/auth/analytics.readonly diff --git a/google-cloud/protos/google/analytics/data/v1alpha/data.proto b/google-cloud/protos/google/analytics/data/v1alpha/data.proto new file mode 100644 index 00000000..9ef9f614 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1alpha/data.proto @@ -0,0 +1,1233 @@ +// 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.analytics.data.v1alpha; + +import "google/protobuf/duration.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/data/v1alpha;data"; +option java_multiple_files = true; +option java_outer_classname = "ReportingApiProto"; +option java_package = "com.google.analytics.data.v1alpha"; + +// A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests +// are allowed up to 4 date ranges. +message DateRange { + // The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot + // be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also + // accepted, and in that case, the date is inferred based on the property's + // reporting time zone. + string start_date = 1; + + // The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot + // be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is + // also accepted, and in that case, the date is inferred based on the + // property's reporting time zone. + string end_date = 2; + + // Assigns a name to this date range. The dimension `dateRange` is valued to + // this name in a report response. If set, cannot begin with `date_range_` or + // `RESERVED_`. If not set, date ranges are named by their zero based index in + // the request: `date_range_0`, `date_range_1`, etc. + string name = 3; +} + +// Dimensions are attributes of your data. For example, the dimension city +// indicates the city from which an event originates. Dimension values in report +// responses are strings; for example, the city could be "Paris" or "New York". +message Dimension { + // The name of the dimension. See the [API + // Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) + // for the list of dimension names. + // + // If `dimensionExpression` is specified, `name` can be any string that you + // would like within the allowed character set. For example if a + // `dimensionExpression` concatenates `country` and `city`, you could call + // that dimension `countryAndCity`. Dimension names that you choose must match + // the regular expression `^[a-zA-Z0-9_]$`. + // + // Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, + // `dimensionExpression`, and `pivots`. + string name = 1; + + // One dimension can be the result of an expression of multiple dimensions. + // For example, dimension "country, city": concatenate(country, ", ", city). + DimensionExpression dimension_expression = 2; +} + +// Used to express a dimension which is the result of a formula of multiple +// dimensions. Example usages: +// 1) lower_case(dimension) +// 2) concatenate(dimension1, symbol, dimension2). +message DimensionExpression { + // Used to convert a dimension value to a single case. + message CaseExpression { + // Name of a dimension. The name must refer back to a name in dimensions + // field of the request. + string dimension_name = 1; + } + + // Used to combine dimension values to a single dimension. + message ConcatenateExpression { + // Names of dimensions. The names must refer back to names in the dimensions + // field of the request. + repeated string dimension_names = 1; + + // The delimiter placed between dimension names. + // + // Delimiters are often single characters such as "|" or "," but can be + // longer strings. If a dimension value contains the delimiter, both will be + // present in response with no distinction. For example if dimension 1 value + // = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the + // response will contain "US,FR,JP". + string delimiter = 2; + } + + // Specify one type of dimension expression for `DimensionExpression`. + oneof one_expression { + // Used to convert a dimension value to lower case. + CaseExpression lower_case = 4; + + // Used to convert a dimension value to upper case. + CaseExpression upper_case = 5; + + // Used to combine dimension values to a single dimension. + // For example, dimension "country, city": concatenate(country, ", ", city). + ConcatenateExpression concatenate = 6; + } +} + +// To express dimension or metric filters. The fields in the same +// FilterExpression need to be either all dimensions or all metrics. +message FilterExpression { + // Specify one type of filter expression for `FilterExpression`. + oneof expr { + // The FilterExpressions in and_group have an AND relationship. + FilterExpressionList and_group = 1; + + // The FilterExpressions in or_group have an OR relationship. + FilterExpressionList or_group = 2; + + // The FilterExpression is NOT of not_expression. + FilterExpression 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. + Filter filter = 4; + } +} + +// A list of filter expressions. +message FilterExpressionList { + // A list of filter expressions. + repeated FilterExpression expressions = 1; +} + +// An expression to filter dimension or metric values. +message Filter { + // The dimension name or metric name. Must be a name defined in dimensions + // or metrics. + string field_name = 1; + + // Specify one type of filter for `Filter`. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 2; + + // A filter for in list values. + InListFilter in_list_filter = 3; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 4; + + // A filter for between two values. + BetweenFilter between_filter = 5; + } +} + +// The filter for string +message StringFilter { + // 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 InListFilter { + // 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 NumericFilter { + // 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 BetweenFilter { + // 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; + } +} + +// 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 DimensionHeader { + // The dimension's name. + string 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 MetricHeader { + // The metric's name. + string name = 1; + + // The metric's data type. + MetricType type = 2; +} + +// Report data for each row. +// For example if RunReportRequest contains: +// +// ```none +// "dimensions": [ +// { +// "name": "eventName" +// }, +// { +// "name": "countryId" +// } +// ], +// "metrics": [ +// { +// "name": "eventCount" +// } +// ] +// ``` +// +// One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and +// 15 as the eventCount, would be: +// +// ```none +// "dimensionValues": [ +// { +// "value": "in_app_purchase" +// }, +// { +// "value": "JP" +// } +// ], +// "metricValues": [ +// { +// "value": "15" +// } +// ] +// ``` +message Row { + // List of requested dimension values. In a PivotReport, dimension_values + // are only listed for dimensions included in a pivot. + repeated DimensionValue dimension_values = 1; + + // List of requested visible metric values. + repeated MetricValue metric_values = 2; +} + +// The value of a dimension. +message DimensionValue { + // One kind of dimension value + oneof one_value { + // Value as a string if the dimension type is a string. + string value = 1; + } +} + +// The value of a metric. +message MetricValue { + // One of metric value + oneof one_value { + // Measurement value. See MetricHeader for type. + string value = 4; + } +} + +// 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 PropertyQuota { + // Standard Analytics Properties can use up to 25,000 tokens per day; + // Analytics 360 Properties can use 250,000 tokens per day. Most requests + // consume fewer than 10 tokens. + QuotaStatus tokens_per_day = 1; + + // Standard Analytics Properties can use up to 5,000 tokens per hour; + // Analytics 360 Properties can use 50,000 tokens per hour. An API request + // consumes a single number of tokens, and that number is deducted from both + // the hourly and daily quotas. + QuotaStatus tokens_per_hour = 2; + + // Standard Analytics Properties can send up to 10 concurrent requests; + // Analytics 360 Properties can use up to 50 concurrent requests. + QuotaStatus concurrent_requests = 3; + + // Standard Analytics Properties and cloud project pairs can have up to 10 + // server errors per hour; Analytics 360 Properties and cloud project pairs + // can have up to 50 server errors per hour. + QuotaStatus server_errors_per_project_per_hour = 4; + + // Analytics Properties can send up to 120 requests with potentially + // thresholded dimensions per hour. In a batch request, each report request + // is individually counted for this quota if the request contains potentially + // thresholded dimensions. + QuotaStatus potentially_thresholded_requests_per_hour = 5; +} + +// Current state for a particular quota group. +message QuotaStatus { + // Quota consumed by this request. + int32 consumed = 1; + + // Quota remaining after this request. + int32 remaining = 2; +} + +// Breakdowns add a dimension to the funnel table sub report response. +message FunnelBreakdown { + // The dimension column added to the funnel table sub report response. The + // breakdown dimension breaks down each funnel step. A valid + // `breakdownDimension` is required if `funnelBreakdown` is specified. + Dimension breakdown_dimension = 1; + + // The maximum number of distinct values of the breakdown dimension to return + // in the response. A `limit` of `5` is used if limit is not specified. Limit + // must exceed zero and cannot exceed 15. + optional int64 limit = 2; +} + +// Next actions state the value for a dimension after the user has achieved +// a step but before the same user has achieved the next step. For example if +// the `nextActionDimension` is `eventName`, then `nextActionDimension` in the +// `i`th funnel step row will return first event after the event that qualified +// the user into the `i`th funnel step but before the user achieved the `i+1`th +// funnel step. +message FunnelNextAction { + // The dimension column added to the funnel visualization sub report response. + // The next action dimension returns the next dimension value of this + // dimension after the user has attained the `i`th funnel step. + // + // `nextActionDimension` currently only supports `eventName` and most Page / + // Screen dimensions like `pageTitle` and `pagePath`. `nextActionDimension` + // cannot be a dimension expression. + Dimension next_action_dimension = 1; + + // The maximum number of distinct values of the breakdown dimension to return + // in the response. A `limit` of `5` is used if limit is not specified. Limit + // must exceed zero and cannot exceed 5. + optional int64 limit = 2; +} + +// Configures the funnel in a funnel report request. A funnel reports on users +// as they pass through a sequence of steps. +// +// Funnel exploration lets you visualize the steps your users take to complete a +// task and quickly see how well they are succeeding or failing at each step. +// For example, how do prospects become shoppers and then become buyers? How do +// one time buyers become repeat buyers? With this information, you can improve +// inefficient or abandoned customer journeys. +message Funnel { + // In an open funnel, users can enter the funnel in any step, and in a closed + // funnel, users must enter the funnel in the first step. Optional. If + // unspecified, a closed funnel is used. + bool is_open_funnel = 1; + + // The sequential steps of this funnel. + repeated FunnelStep steps = 2; +} + +// Steps define the user journey you want to measure. Steps contain one or +// more conditions that your users must meet to be included in that step of +// the funnel journey. +message FunnelStep { + // The distinctive name for this step. If unspecified, steps will be named + // by a 1 based indexed name (i.e. "0. ", "1. ", etc.). This name defines + // string value returned by the `funnelStepName` dimension. For example, + // specifying `name = Purchase` in the request's third funnel step will + // produce `3. Purchase` in the funnel report response. + string name = 1; + + // If true, this step must directly follow the previous step. If false, + // there can be events between the previous step and this step. If + // unspecified, `isDirectlyFollowedBy` is treated as false. + bool is_directly_followed_by = 2; + + // If specified, this step must complete within this duration of the + // completion of the prior step. `withinDurationFromPriorStep` is inclusive + // of the endpoint at the microsecond granularity. For example a duration of + // 5 seconds can be completed at 4.9 or 5.0 seconds, but not 5 seconds and 1 + // microsecond. + // + // `withinDurationFromPriorStep` is optional, and if unspecified, steps may + // be separated by any time duration. + optional google.protobuf.Duration within_duration_from_prior_step = 3; + + // The condition that your users must meet to be included in this step of + // the funnel journey. + FunnelFilterExpression filter_expression = 4; +} + +// Funnel sub reports contain the dimension and metric data values. For example, +// 12 users reached the second step of the funnel. +message FunnelSubReport { + // Describes dimension columns. Funnel reports always include the funnel step + // dimension in sub report responses. Additional dimensions like breakdowns, + // dates, and next actions may be present in the response if requested. + repeated DimensionHeader dimension_headers = 1; + + // Describes metric columns. Funnel reports always include active users in sub + // report responses. The funnel table includes additional metrics like + // completion rate, abandonments, and abandonments rate. + repeated MetricHeader metric_headers = 2; + + // Rows of dimension value combinations and metric values in the report. + repeated Row rows = 3; + + // Metadata for the funnel report. + FunnelResponseMetadata metadata = 4; +} + +// User segments are subsets of users who engaged with your site or app. For +// example, users who have previously purchased; users who added items to their +// shopping carts, but didn’t complete a purchase. +message UserSegment { + // Defines which users are included in this segment. Optional. + UserSegmentCriteria user_inclusion_criteria = 1; + + // Defines which users are excluded in this segment. Optional. + UserSegmentExclusion exclusion = 2; +} + +// A user matches a criteria if the user's events meet the conditions in the +// criteria. +message UserSegmentCriteria { + // A user matches this criteria if the user matches each of these + // `andConditionGroups` and each of the `andSequenceGroups`. + // `andConditionGroups` may be empty if `andSequenceGroups` are specified. + repeated UserSegmentConditionGroup and_condition_groups = 1; + + // A user matches this criteria if the user matches each of these + // `andSequenceGroups` and each of the `andConditionGroups`. + // `andSequenceGroups` may be empty if `andConditionGroups` are specified. + repeated UserSegmentSequenceGroup and_sequence_groups = 2; +} + +// Scoping specifies which events are considered when evaluating if a user +// meets a criteria. +enum UserCriteriaScoping { + // Unspecified criteria scoping. Do not specify. + USER_CRITERIA_SCOPING_UNSPECIFIED = 0; + + // If the criteria is satisfied within one event, the user matches the + // criteria. + USER_CRITERIA_WITHIN_SAME_EVENT = 1; + + // If the criteria is satisfied within one session, the user matches the + // criteria. + USER_CRITERIA_WITHIN_SAME_SESSION = 2; + + // If the criteria is satisfied by any events for the user, the user + // matches the criteria. + USER_CRITERIA_ACROSS_ALL_SESSIONS = 3; +} + +// Conditions tell Analytics what data to include in or exclude from the +// segment. +message UserSegmentConditionGroup { + // Data is included or excluded from the segment based on if it matches + // the condition group. This scoping defines how many events the + // `segmentFilterExpression` is evaluated on before the condition group + // is determined to be matched or not. For example if `conditionScoping = + // USER_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all + // events in a session, and then, the condition group is determined to be + // matched or not for this user. For example if `conditionScoping = + // USER_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a single + // event, and then, the condition group is determined to be matched or not for + // this user. + // + // Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is + // used. + UserCriteriaScoping condition_scoping = 1; + + // Data is included or excluded from the segment based on if it matches + // this expression. Expressions express criteria on dimension, metrics, + // and/or parameters. + SegmentFilterExpression segment_filter_expression = 2; +} + +// Define conditions that must occur in a specific order for the user to be +// a member of the segment. +message UserSegmentSequenceGroup { + // All sequence steps must be satisfied in the scoping for the user to + // match the sequence. For example if `sequenceScoping = + // USER_CRITERIA_WITHIN_SAME_SESSION`, all sequence steps must complete within + // one session for the user to match the sequence. `sequenceScoping = + // USER_CRITERIA_WITHIN_SAME_EVENT` is not supported. + // + // Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is + // used. + UserCriteriaScoping sequence_scoping = 1; + + // Defines the time period in which the whole sequence must occur; for + // example, 30 Minutes. `sequenceMaximumDuration` is inclusive + // of the endpoint at the microsecond granularity. For example a sequence + // with a maximum duration of 5 seconds can be completed at 4.9 or 5.0 + // seconds, but not 5 seconds and 1 microsecond. + // + // `sequenceMaximumDuration` is optional, and if unspecified, sequences can + // be completed in any time duration. + google.protobuf.Duration sequence_maximum_duration = 2; + + // An ordered sequence of condition steps. A user's events must complete + // each step in order for the user to match the + // `UserSegmentSequenceGroup`. + repeated UserSequenceStep user_sequence_steps = 3; +} + +// A condition that must occur in the specified step order for this user +// to match the sequence. +message UserSequenceStep { + // If true, the event satisfying this step must be the very next event + // after the event satifying the last step. If false, this step indirectly + // follows the prior step; for example, there may be events between the + // prior step and this step. `isDirectlyFollowedBy` must be false for + // the first step. + bool is_directly_followed_by = 1; + + // This sequence step must be satisfied in the scoping for the user to + // match the sequence. For example if `sequenceScoping = + // WITHIN_SAME_SESSION`, this sequence steps must complete within one + // session for the user to match the sequence. `stepScoping = + // ACROSS_ALL_SESSIONS` is only allowed if the `sequenceScoping = + // ACROSS_ALL_SESSIONS`. + // + // Optional. If unspecified, `stepScoping` uses the same + // `UserCriteriaScoping` as the `sequenceScoping`. + UserCriteriaScoping step_scoping = 2; + + // A user matches this sequence step if their events match this + // expression. Expressions express criteria on dimension, metrics, + // and/or parameters. + SegmentFilterExpression segment_filter_expression = 3; +} + +// Specifies which users are excluded in this segment. +message UserSegmentExclusion { + // Specifies how long an exclusion will last if a user matches the + // `userExclusionCriteria`. + // + // Optional. If unspecified, `userExclusionDuration` of + // `USER_EXCLUSION_TEMPORARY` is used. + UserExclusionDuration user_exclusion_duration = 1; + + // If a user meets this condition, the user is excluded from membership in + // the segment for the `userExclusionDuration`. + UserSegmentCriteria user_exclusion_criteria = 2; +} + +// Enumerates options for how long an exclusion will last if a user matches +// the `userExclusionCriteria`. +enum UserExclusionDuration { + // Unspecified exclusion duration. Do not specify. + USER_EXCLUSION_DURATION_UNSPECIFIED = 0; + + // Temporarily exclude users from the segment during periods when the + // user meets the `userExclusionCriteria` condition. + USER_EXCLUSION_TEMPORARY = 1; + + // Permanently exclude users from the segment if the user ever meets the + // `userExclusionCriteria` condition. + USER_EXCLUSION_PERMANENT = 2; +} + +// Session segments are subsets of the sessions that occurred on your site or +// app: for example, all the sessions that originated from a particular +// advertising campaign. +message SessionSegment { + // Defines which sessions are included in this segment. Optional. + SessionSegmentCriteria session_inclusion_criteria = 1; + + // Defines which sessions are excluded in this segment. Optional. + SessionSegmentExclusion exclusion = 2; +} + +// A session matches a criteria if the session's events meet the conditions in +// the criteria. +message SessionSegmentCriteria { + // A session matches this criteria if the session matches each of these + // `andConditionGroups`. + repeated SessionSegmentConditionGroup and_condition_groups = 1; +} + +// Scoping specifies which events are considered when evaluating if a +// session meets a criteria. +enum SessionCriteriaScoping { + // Unspecified criteria scoping. Do not specify. + SESSION_CRITERIA_SCOPING_UNSPECIFIED = 0; + + // If the criteria is satisfied within one event, the session matches the + // criteria. + SESSION_CRITERIA_WITHIN_SAME_EVENT = 1; + + // If the criteria is satisfied within one session, the session matches + // the criteria. + SESSION_CRITERIA_WITHIN_SAME_SESSION = 2; +} + +// Conditions tell Analytics what data to include in or exclude from the +// segment. +message SessionSegmentConditionGroup { + // Data is included or excluded from the segment based on if it matches + // the condition group. This scoping defines how many events the + // `segmentFilterExpression` is evaluated on before the condition group + // is determined to be matched or not. For example if `conditionScoping = + // SESSION_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all + // events in a session, and then, the condition group is determined to be + // matched or not for this session. For example if `conditionScoping = + // SESSION_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a + // single event, and then, the condition group is determined to be matched or + // not for this session. + // + // Optional. If unspecified, a `conditionScoping` of `WITHIN_SAME_SESSION` + // is used. + SessionCriteriaScoping condition_scoping = 1; + + // Data is included or excluded from the segment based on if it matches + // this expression. Expressions express criteria on dimension, metrics, + // and/or parameters. + SegmentFilterExpression segment_filter_expression = 2; +} + +// Specifies which sessions are excluded in this segment. +message SessionSegmentExclusion { + // Specifies how long an exclusion will last if a session matches the + // `sessionExclusionCriteria`. + // + // Optional. If unspecified, a `sessionExclusionDuration` of + // `SESSION_EXCLUSION_TEMPORARY` is used. + SessionExclusionDuration session_exclusion_duration = 1; + + // If a session meets this condition, the session is excluded from + // membership in the segment for the `sessionExclusionDuration`. + SessionSegmentCriteria session_exclusion_criteria = 2; +} + +// Enumerates options for how long an exclusion will last if a session +// matches the `sessionExclusionCriteria`. +enum SessionExclusionDuration { + // Unspecified exclusion duration. Do not specify. + SESSION_EXCLUSION_DURATION_UNSPECIFIED = 0; + + // Temporarily exclude sessions from the segment during periods when the + // session meets the `sessionExclusionCriteria` condition. + SESSION_EXCLUSION_TEMPORARY = 1; + + // Permanently exclude sessions from the segment if the session ever meets + // the `sessionExclusionCriteria` condition. + SESSION_EXCLUSION_PERMANENT = 2; +} + +// Event segments are subsets of events that were triggered on your site or app. +// for example, all purchase events made in a particular location; app_exception +// events that occurred on a specific operating system. +message EventSegment { + // Defines which events are included in this segment. Optional. + EventSegmentCriteria event_inclusion_criteria = 1; + + // Defines which events are excluded in this segment. Optional. + EventSegmentExclusion exclusion = 2; +} + +// An event matches a criteria if the event meet the conditions in the +// criteria. +message EventSegmentCriteria { + // An event matches this criteria if the event matches each of these + // `andConditionGroups`. + repeated EventSegmentConditionGroup and_condition_groups = 1; +} + +// Scoping specifies which events are considered when evaluating if an event +// meets a criteria. +enum EventCriteriaScoping { + // Unspecified criteria scoping. Do not specify. + EVENT_CRITERIA_SCOPING_UNSPECIFIED = 0; + + // If the criteria is satisfied within one event, the event matches the + // criteria. + EVENT_CRITERIA_WITHIN_SAME_EVENT = 1; +} + +// Conditions tell Analytics what data to include in or exclude from the +// segment. +message EventSegmentConditionGroup { + // `conditionScoping` should always be `EVENT_CRITERIA_WITHIN_SAME_EVENT`. + // + // Optional. If unspecified, a `conditionScoping` of + // `EVENT_CRITERIA_WITHIN_SAME_EVENT` is used. + EventCriteriaScoping condition_scoping = 1; + + // Data is included or excluded from the segment based on if it matches + // this expression. Expressions express criteria on dimension, metrics, + // and/or parameters. + SegmentFilterExpression segment_filter_expression = 2; +} + +// Specifies which events are excluded in this segment. +message EventSegmentExclusion { + // `eventExclusionDuration` should always be `PERMANENTLY_EXCLUDE`. + // + // Optional. If unspecified, an `eventExclusionDuration` of + // `EVENT_EXCLUSION_PERMANENT` is used. + EventExclusionDuration event_exclusion_duration = 1; + + // If an event meets this condition, the event is excluded from membership + // in the segment for the `eventExclusionDuration`. + EventSegmentCriteria event_exclusion_criteria = 2; +} + +// Enumerates options for how long an exclusion will last if an event +// matches the `eventExclusionCriteria`. +enum EventExclusionDuration { + // Unspecified exclusion duration. Do not specify. + EVENT_EXCLUSION_DURATION_UNSPECIFIED = 0; + + // Permanently exclude events from the segment if the event ever meets + // the `eventExclusionCriteria` condition. + EVENT_EXCLUSION_PERMANENT = 1; +} + +// A segment is a subset of your Analytics data. For example, of your entire set +// of users, one segment might be users from a particular country or city. +// Another segment might be users who purchase a particular line of products or +// who visit a specific part of your site or trigger certain events in your app. +// +// To learn more, see [GA4 Segment +// Builder](https://support.google.com/analytics/answer/9304353). +message Segment { + // The name for this segment. If unspecified, segments are named "Segment". + // This name defines string value returned by the `segment` dimension. The + // `segment` dimension prefixes segment names by the 1-based index number of + // the segment in the request (i.e. "1. Segment", "2. Segment", etc.). + string name = 1; + + // A segment is specified in one scope. + oneof one_segment_scope { + // User segments are subsets of users who engaged with your site or app. + UserSegment user_segment = 2; + + // Session segments are subsets of the sessions that occurred on your site + // or app. + SessionSegment session_segment = 3; + + // Event segments are subsets of events that were triggered on your site or + // app. + EventSegment event_segment = 4; + } +} + +// Expresses combinations of segment filters. +message SegmentFilterExpression { + // Specify one type of filter for `SegmentFilterExpression`. + oneof expr { + // The SegmentFilterExpression in `andGroup` have an AND relationship. + SegmentFilterExpressionList and_group = 1; + + // The SegmentFilterExpression in `orGroup` have an OR relationship. + SegmentFilterExpressionList or_group = 2; + + // The SegmentFilterExpression is NOT of `notExpression`. + SegmentFilterExpression not_expression = 3; + + // A primitive segment filter. + SegmentFilter segment_filter = 4; + + // Creates a filter that matches events of a single event name. If a + // parameter filter expression is specified, only the subset of events that + // match both the single event name and the parameter filter expressions + // match this event filter. + SegmentEventFilter segment_event_filter = 5; + } +} + +// A list of segment filter expressions. +message SegmentFilterExpressionList { + // The list of segment filter expressions + repeated SegmentFilterExpression expressions = 1; +} + +// An expression to filter dimension or metric values. +message SegmentFilter { + // The dimension name or metric name. + string field_name = 1; + + // Specify one type of filter for `Filter`. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 4; + + // A filter for in list values. + InListFilter in_list_filter = 5; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 6; + + // A filter for between two values. + BetweenFilter between_filter = 7; + } + + // Specifies the scope for the filter. + SegmentFilterScoping filter_scoping = 8; +} + +// Scopings specify how the dimensions & metrics of multiple events +// should be considered when evaluating a segment filter. +message SegmentFilterScoping { + // If `atAnyPointInTime` is true, this filter evaluates to true for all + // events if it evaluates to true for any event in the date range of the + // request. + // + // This `atAnyPointInTime` parameter does not extend the date range of + // events in the report. If `atAnyPointInTime` is true, only events within + // the report's date range are considered when evaluating this filter. + // + // This `atAnyPointInTime` is only able to be specified if the criteria + // scoping is `ACROSS_ALL_SESSIONS` and is not able to be specified in + // sequences. + // + // If the criteria scoping is `ACROSS_ALL_SESSIONS`, `atAnyPointInTime` = + // false is used if unspecified. + optional bool at_any_point_in_time = 1; +} + +// Creates a filter that matches events of a single event name. If a parameter +// filter expression is specified, only the subset of events that match both the +// single event name and the parameter filter expressions match this event +// filter. +message SegmentEventFilter { + // This filter matches events of this single event name. Event name is + // required. + optional string event_name = 1; + + // If specified, this filter matches events that match both the single event + // name and the parameter filter expressions. + // + // Inside the parameter filter expression, only parameter filters are + // available. + optional SegmentParameterFilterExpression segment_parameter_filter_expression = 2; +} + +// Expresses combinations of segment filter on parameters. +message SegmentParameterFilterExpression { + // Specify one type of filter for `SegmentParameterFilterExpression`. + oneof expr { + // The SegmentParameterFilterExpression in `andGroup` have an AND + // relationship. + SegmentParameterFilterExpressionList and_group = 1; + + // The SegmentParameterFilterExpression in `orGroup` have an OR + // relationship. + SegmentParameterFilterExpressionList or_group = 2; + + // The SegmentParameterFilterExpression is NOT of `notExpression`. + SegmentParameterFilterExpression not_expression = 3; + + // A primitive segment parameter filter. + SegmentParameterFilter segment_parameter_filter = 4; + } +} + +// A list of segment parameter filter expressions. +message SegmentParameterFilterExpressionList { + // The list of segment parameter filter expressions. + repeated SegmentParameterFilterExpression expressions = 1; +} + +// An expression to filter parameter values in a segment. +message SegmentParameterFilter { + // The field that is being filtered. + oneof one_parameter { + // This filter will be evaluated on the specified event parameter. Event + // parameters are logged as parameters of the event. Event parameters + // include fields like "firebase_screen" & "currency". + // + // Event parameters can only be used in segments & funnels and can only be + // used in a descendent filter from an EventFilter. In a descendent filter + // from an EventFilter either event or item parameters should be used. + string event_parameter_name = 1; + + // This filter will be evaluated on the specified item parameter. Item + // parameters are logged as parameters in the item array. Item parameters + // include fields like "item_name" & "item_category". + // + // Item parameters can only be used in segments & funnels and can only be + // used in a descendent filter from an EventFilter. In a descendent filter + // from an EventFilter either event or item parameters should be used. + // + // Item parameters are only available in ecommerce events. To learn more + // about ecommerce events, see the [Measure ecommerce] + // (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) + // guide. + string item_parameter_name = 2; + } + + // Specify one type of filter. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 4; + + // A filter for in list values. + InListFilter in_list_filter = 5; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 6; + + // A filter for between two values. + BetweenFilter between_filter = 7; + } + + // Specifies the scope for the filter. + SegmentParameterFilterScoping filter_scoping = 8; +} + +// Scopings specify how multiple events should be considered when evaluating a +// segment parameter filter. +message SegmentParameterFilterScoping { + // Accumulates the parameter over the specified period of days before + // applying the filter. Only supported if criteria scoping is + // `ACROSS_ALL_SESSIONS` or `WITHIN_SAME_SESSION`. Only supported if the + // parameter is `event_count`. + // + // For example if `inAnyNDayPeriod` is 3, the event_name is "purchase", + // the event parameter is "event_count", and the Filter's criteria is + // greater than 5, this filter will accumulate the event count of purchase + // events over every 3 consecutive day period in the report's date range; a + // user will pass this Filter's criteria to be included in this segment if + // their count of purchase events exceeds 5 in any 3 consecutive day period. + // For example, the periods 2021-11-01 to 2021-11-03, 2021-11-02 to + // 2021-11-04, 2021-11-03 to 2021-11-05, and etc. will be considered. + // + // The date range is not extended for the purpose of having a full N day + // window near the start of the date range. For example if a report is for + // 2021-11-01 to 2021-11-10 and `inAnyNDayPeriod` = 3, the first two day + // period will be effectively shortened because no event data outside the + // report's date range will be read. For example, the first four periods + // will effectively be: 2021-11-01 to 2021-11-01, 2021-11-01 to 2021-11-02, + // 2021-11-01 to 2021-11-03, and 2021-11-02 to 2021-11-04. + // + // `inAnyNDayPeriod` is optional. If not specified, the + // `segmentParameterFilter` is applied to each event individually. + optional int64 in_any_n_day_period = 1; +} + +// Expresses combinations of funnel filters. +message FunnelFilterExpression { + // Specify one type of filter for `FunnelFilterExpression`. + oneof expr { + // The FunnelFilterExpression in `andGroup` have an AND relationship. + FunnelFilterExpressionList and_group = 1; + + // The FunnelFilterExpression in `orGroup` have an OR relationship. + FunnelFilterExpressionList or_group = 2; + + // The FunnelFilterExpression is NOT of `notExpression`. + FunnelFilterExpression not_expression = 3; + + // A funnel filter for a dimension or metric. + FunnelFieldFilter funnel_field_filter = 4; + + // Creates a filter that matches events of a single event name. If a + // parameter filter expression is specified, only the subset of events that + // match both the single event name and the parameter filter expressions + // match this event filter. + FunnelEventFilter funnel_event_filter = 5; + } +} + +// A list of funnel filter expressions. +message FunnelFilterExpressionList { + // The list of funnel filter expressions. + repeated FunnelFilterExpression expressions = 1; +} + +// An expression to filter dimension or metric values. +message FunnelFieldFilter { + // The dimension name or metric name. + string field_name = 1; + + // Specify one type of filter. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 4; + + // A filter for in list values. + InListFilter in_list_filter = 5; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 6; + + // A filter for between two values. + BetweenFilter between_filter = 7; + } +} + +// Creates a filter that matches events of a single event name. If a parameter +// filter expression is specified, only the subset of events that match both the +// single event name and the parameter filter expressions match this event +// filter. +message FunnelEventFilter { + // This filter matches events of this single event name. Event name is + // required. + optional string event_name = 1; + + // If specified, this filter matches events that match both the single event + // name and the parameter filter expressions. + // + // Inside the parameter filter expression, only parameter filters are + // available. + optional FunnelParameterFilterExpression funnel_parameter_filter_expression = 2; +} + +// Expresses combinations of funnel filters on parameters. +message FunnelParameterFilterExpression { + // Specify one type of filter for `FunnelParameterFilterExpression`. + oneof expr { + // The FunnelParameterFilterExpression in `andGroup` have an AND + // relationship. + FunnelParameterFilterExpressionList and_group = 1; + + // The FunnelParameterFilterExpression in `orGroup` have an OR + // relationship. + FunnelParameterFilterExpressionList or_group = 2; + + // The FunnelParameterFilterExpression is NOT of `notExpression`. + FunnelParameterFilterExpression not_expression = 3; + + // A primitive funnel parameter filter. + FunnelParameterFilter funnel_parameter_filter = 4; + } +} + +// A list of funnel parameter filter expressions. +message FunnelParameterFilterExpressionList { + // The list of funnel parameter filter expressions. + repeated FunnelParameterFilterExpression expressions = 1; +} + +// An expression to filter parameter values in a funnel. +message FunnelParameterFilter { + // The field that is being filtered. + oneof one_parameter { + // This filter will be evaluated on the specified event parameter. Event + // parameters are logged as parameters of the event. Event parameters + // include fields like "firebase_screen" & "currency". + // + // Event parameters can only be used in segments & funnels and can only be + // used in a descendent filter from an EventFilter. In a descendent filter + // from an EventFilter either event or item parameters should be used. + string event_parameter_name = 1; + + // This filter will be evaluated on the specified item parameter. Item + // parameters are logged as parameters in the item array. Item parameters + // include fields like "item_name" & "item_category". + // + // Item parameters can only be used in segments & funnels and can only be + // used in a descendent filter from an EventFilter. In a descendent filter + // from an EventFilter either event or item parameters should be used. + // + // Item parameters are only available in ecommerce events. To learn more + // about ecommerce events, see the [Measure ecommerce] + // (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) + // guide. + string item_parameter_name = 2; + } + + // Specify one type of filter. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 4; + + // A filter for in list values. + InListFilter in_list_filter = 5; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 6; + + // A filter for between two values. + BetweenFilter between_filter = 7; + } +} + +// The funnel report's response metadata carries additional information about +// the funnel report. +message FunnelResponseMetadata { + // If funnel report results are + // [sampled](https://support.google.com/analytics/answer/2637192), this + // describes what percentage of events were used in this funnel report. One + // `samplingMetadatas` is populated for each date range. Each + // `samplingMetadatas` corresponds to a date range in order that date ranges + // were specified in the request. + // + // However if the results are not sampled, this field will not be defined. + repeated SamplingMetadata sampling_metadatas = 1; +} + +// If funnel report results are +// [sampled](https://support.google.com/analytics/answer/2637192), this +// metadata describes what percentage of events were used in this funnel +// report for a date range. Sampling is the practice of analyzing a subset of +// all data in order to uncover the meaningful information in the larger data +// set. +message SamplingMetadata { + // The total number of events read in this sampled report for a date range. + // This is the size of the subset this property's data that was analyzed in + // this funnel report. + int64 samples_read_count = 1; + + // The total number of events present in this property's data that could + // have been analyzed in this funnel report for a date range. Sampling + // uncovers the meaningful information about the larger data set, and this + // is the size of the larger data set. + // + // To calculate the percentage of available data that was used in this + // funnel report, compute `samplesReadCount/samplingSpaceSize`. + int64 sampling_space_size = 2; +} + +// A metric's value type. +enum MetricType { + // Unspecified type. + METRIC_TYPE_UNSPECIFIED = 0; + + // Integer type. + TYPE_INTEGER = 1; + + // Floating point type. + TYPE_FLOAT = 2; + + // A duration of seconds; a special floating point type. + TYPE_SECONDS = 4; + + // A duration in milliseconds; a special floating point type. + TYPE_MILLISECONDS = 5; + + // A duration in minutes; a special floating point type. + TYPE_MINUTES = 6; + + // A duration in hours; a special floating point type. + TYPE_HOURS = 7; + + // A custom metric of standard type; a special floating point type. + TYPE_STANDARD = 8; + + // An amount of money; a special floating point type. + TYPE_CURRENCY = 9; + + // A length in feet; a special floating point type. + TYPE_FEET = 10; + + // A length in miles; a special floating point type. + TYPE_MILES = 11; + + // A length in meters; a special floating point type. + TYPE_METERS = 12; + + // A length in kilometers; a special floating point type. + TYPE_KILOMETERS = 13; +} diff --git a/google-cloud/protos/google/analytics/data/v1beta/BUILD.bazel b/google-cloud/protos/google/analytics/data/v1beta/BUILD.bazel new file mode 100644 index 00000000..d064866a --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1beta/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 = "data_proto", + srcs = [ + "analytics_data_api.proto", + "data.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + ], +) + +proto_library_with_info( + name = "data_proto_with_info", + deps = [ + ":data_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 = "data_java_proto", + deps = [":data_proto"], +) + +java_grpc_library( + name = "data_java_grpc", + srcs = [":data_proto"], + deps = [":data_java_proto"], +) + +java_gapic_library( + name = "data_java_gapic", + srcs = [":data_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "analytics_data_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + test_deps = [ + ":data_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":data_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "data_java_gapic_test_suite", + test_classes = [ + "com.google.analytics.data.v1beta.BetaAnalyticsDataClientHttpJsonTest", + "com.google.analytics.data.v1beta.BetaAnalyticsDataClientTest", + ], + runtime_deps = [":data_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-analytics-data-v1beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":data_java_gapic", + ":data_java_grpc", + ":data_java_proto", + ":data_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "data_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/analytics/data/v1beta", + protos = [":data_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "data_go_gapic", + srcs = [":data_proto_with_info"], + grpc_service_config = "analytics_data_grpc_service_config.json", + importpath = "google.golang.org/google/analytics/data/v1beta;data", + metadata = True, + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ":data_go_proto", + ], +) + +go_test( + name = "data_go_gapic_test", + srcs = [":data_go_gapic_srcjar_test"], + embed = [":data_go_gapic"], + importpath = "google.golang.org/google/analytics/data/v1beta", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-analytics-data-v1beta-go", + deps = [ + ":data_go_gapic", + ":data_go_gapic_srcjar-metadata.srcjar", + ":data_go_gapic_srcjar-test.srcjar", + ":data_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "data_py_gapic", + srcs = [":data_proto"], + grpc_service_config = "analytics_data_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "data_py_gapic_test", + srcs = [ + "data_py_gapic_pytest.py", + "data_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":data_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-analytics-data-v1beta-py", + deps = [ + ":data_py_gapic", + ], +) + +############################################################################## +# 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 = "data_php_proto", + deps = [":data_proto"], +) + +php_grpc_library( + name = "data_php_grpc", + srcs = [":data_proto"], + deps = [":data_php_proto"], +) + +php_gapic_library( + name = "data_php_gapic", + srcs = [":data_proto_with_info"], + grpc_service_config = "analytics_data_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + deps = [ + ":data_php_grpc", + ":data_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1beta-php", + deps = [ + ":data_php_gapic", + ":data_php_grpc", + ":data_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "data_nodejs_gapic", + package_name = "@google-analytics/data", + src = ":data_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "analytics_data_grpc_service_config.json", + package = "google.analytics.data.v1beta", + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "google-analytics-data-v1beta-nodejs", + deps = [ + ":data_nodejs_gapic", + ":data_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 = "data_ruby_proto", + deps = [":data_proto"], +) + +ruby_grpc_library( + name = "data_ruby_grpc", + srcs = [":data_proto"], + deps = [":data_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "data_ruby_gapic", + srcs = [":data_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=analyticsdata.googleapis.com", + "ruby-cloud-api-shortname=analyticsdata", + "ruby-cloud-env-prefix=ANALYTICS_DATA", + "ruby-cloud-gem-name=google-analytics-data-v1beta", + "ruby-cloud-product-url=https://developers.google.com/analytics/devguides/reporting/data/v1", + "ruby-cloud-service-override=BetaAnalyticsData=AnalyticsData", + ], + grpc_service_config = "analytics_data_grpc_service_config.json", + rest_numeric_enums = False, + ruby_cloud_description = "The Google Analytics Data API provides programmatic methods to access report data in Google Analytics 4 (GA4) properties. Google Analytics 4 helps you understand how people use your web, iOS, or Android app.", + ruby_cloud_title = "Google Analytics Data V1beta", + service_yaml = "analyticsdata_v1beta.yaml", + deps = [ + ":data_ruby_grpc", + ":data_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1beta-ruby", + deps = [ + ":data_ruby_gapic", + ":data_ruby_grpc", + ":data_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 = "data_csharp_proto", + deps = [":data_proto"], +) + +csharp_grpc_library( + name = "data_csharp_grpc", + srcs = [":data_proto"], + deps = [":data_csharp_proto"], +) + +csharp_gapic_library( + name = "data_csharp_gapic", + srcs = [":data_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "analytics_data_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "analyticsdata_v1beta.yaml", + deps = [ + ":data_csharp_grpc", + ":data_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-analytics-data-v1beta-csharp", + deps = [ + ":data_csharp_gapic", + ":data_csharp_grpc", + ":data_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "data_cc_proto", + deps = [":data_proto"], +) + +cc_grpc_library( + name = "data_cc_grpc", + srcs = [":data_proto"], + grpc_only = True, + deps = [":data_cc_proto"], +) diff --git a/google-cloud/protos/google/analytics/data/v1beta/analytics_data_api.proto b/google-cloud/protos/google/analytics/data/v1beta/analytics_data_api.proto new file mode 100644 index 00000000..e5ee72cc --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1beta/analytics_data_api.proto @@ -0,0 +1,628 @@ +// 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.analytics.data.v1beta; + +import "google/analytics/data/v1beta/data.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 = "google.golang.org/genproto/googleapis/analytics/data/v1beta;data"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsDataApiProto"; +option java_package = "com.google.analytics.data.v1beta"; + +// Google Analytics reporting data service. +service BetaAnalyticsData { + option (google.api.default_host) = "analyticsdata.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/analytics," + "https://www.googleapis.com/auth/analytics.readonly"; + + // Returns a customized report of your Google Analytics event data. Reports + // contain statistics derived from data collected by the Google Analytics + // tracking code. The data returned from the API is as a table with columns + // for the requested dimensions and metrics. Metrics are individual + // measurements of user activity on your property, such as active users or + // event count. Dimensions break down metrics across some common criteria, + // such as country or event name. + // + // For a guide to constructing requests & understanding responses, see + // [Creating a + // Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics). + rpc RunReport(RunReportRequest) returns (RunReportResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:runReport" + body: "*" + }; + } + + // Returns a customized pivot report of your Google Analytics event data. + // Pivot reports are more advanced and expressive formats than regular + // reports. In a pivot report, dimensions are only visible if they are + // included in a pivot. Multiple pivots can be specified to further dissect + // your data. + rpc RunPivotReport(RunPivotReportRequest) returns (RunPivotReportResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:runPivotReport" + body: "*" + }; + } + + // Returns multiple reports in a batch. All reports must be for the same + // GA4 Property. + rpc BatchRunReports(BatchRunReportsRequest) returns (BatchRunReportsResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:batchRunReports" + body: "*" + }; + } + + // Returns multiple pivot reports in a batch. All reports must be for the same + // GA4 Property. + rpc BatchRunPivotReports(BatchRunPivotReportsRequest) returns (BatchRunPivotReportsResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:batchRunPivotReports" + body: "*" + }; + } + + // Returns metadata for dimensions and metrics available in reporting methods. + // Used to explore the dimensions and metrics. In this method, a Google + // Analytics GA4 Property Identifier is specified in the request, and + // the metadata response includes Custom dimensions and metrics as well as + // Universal metadata. + // + // For example if a custom metric with parameter name `levels_unlocked` is + // registered to a property, the Metadata response will contain + // `customEvent:levels_unlocked`. Universal metadata are dimensions and + // metrics applicable to any property such as `country` and `totalUsers`. + rpc GetMetadata(GetMetadataRequest) returns (Metadata) { + option (google.api.http) = { + get: "/v1beta/{name=properties/*/metadata}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns a customized report of realtime event data for your property. + // Events appear in realtime reports seconds after they have been sent to + // the Google Analytics. Realtime reports show events and usage data for the + // periods of time ranging from the present moment to 30 minutes ago (up to + // 60 minutes for Google Analytics 360 properties). + // + // For a guide to constructing realtime requests & understanding responses, + // see [Creating a Realtime + // Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics). + rpc RunRealtimeReport(RunRealtimeReportRequest) returns (RunRealtimeReportResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:runRealtimeReport" + body: "*" + }; + } + + // This compatibility method lists dimensions and metrics that can be added to + // a report request and maintain compatibility. This method fails if the + // request's dimensions and metrics are incompatible. + // + // In Google Analytics, reports fail if they request incompatible dimensions + // and/or metrics; in that case, you will need to remove dimensions and/or + // metrics from the incompatible report until the report is compatible. + // + // The Realtime and Core reports have different compatibility rules. This + // method checks compatibility for Core reports. + rpc CheckCompatibility(CheckCompatibilityRequest) returns (CheckCompatibilityResponse) { + option (google.api.http) = { + post: "/v1beta/{property=properties/*}:checkCompatibility" + body: "*" + }; + } +} + +// The request for compatibility information for a report's dimensions and +// metrics. Check compatibility provides a preview of the compatibility of a +// report; fields shared with the `runReport` request should be the same values +// as in your `runReport` request. +message CheckCompatibilityRequest { + // A Google Analytics GA4 property identifier whose events are tracked. To + // learn more, see [where to find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // `property` should be the same value as in your `runReport` request. + // + // Example: properties/1234 + // + // Set the Property ID to 0 for compatibility checking on dimensions and + // metrics common to all properties. In this special mode, this method will + // not return custom dimensions and metrics. + string property = 1; + + // The dimensions in this report. `dimensions` should be the same value as in + // your `runReport` request. + repeated Dimension dimensions = 2; + + // The metrics in this report. `metrics` should be the same value as in your + // `runReport` request. + repeated Metric metrics = 3; + + // The filter clause of dimensions. `dimensionFilter` should be the same value + // as in your `runReport` request. + FilterExpression dimension_filter = 4; + + // The filter clause of metrics. `metricFilter` should be the same value as in + // your `runReport` request + FilterExpression metric_filter = 5; + + // Filters the dimensions and metrics in the response to just this + // compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”` + // to only return compatible dimensions & metrics. + Compatibility compatibility_filter = 6; +} + +// The compatibility response with the compatibility of each dimension & metric. +message CheckCompatibilityResponse { + // The compatibility of each dimension. + repeated DimensionCompatibility dimension_compatibilities = 1; + + // The compatibility of each metric. + repeated MetricCompatibility metric_compatibilities = 2; +} + +// The dimensions and metrics currently accepted in reporting methods. +message Metadata { + option (google.api.resource) = { + type: "analyticsdata.googleapis.com/Metadata" + pattern: "properties/{property}/metadata" + }; + + // Resource name of this metadata. + string name = 3; + + // The dimension descriptions. + repeated DimensionMetadata dimensions = 1; + + // The metric descriptions. + repeated MetricMetadata metrics = 2; +} + +// The request to generate a report. +message RunReportRequest { + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // Within a batch request, this property should either be unspecified or + // consistent with the batch-level property. + // + // Example: properties/1234 + string property = 1; + + // The dimensions requested and displayed. + repeated Dimension dimensions = 2; + + // The metrics requested and displayed. + repeated Metric metrics = 3; + + // Date ranges of data to read. If multiple date ranges are requested, each + // response row will contain a zero based date range index. If two date + // ranges overlap, the event data for the overlapping days is included in the + // response rows for both date ranges. In a cohort request, this `dateRanges` + // must be unspecified. + repeated DateRange date_ranges = 4; + + // Dimension filters allow you to ask for only specific dimension values in + // the report. To learn more, see [Fundamentals of Dimension + // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) + // for examples. Metrics cannot be used in this filter. + FilterExpression dimension_filter = 5; + + // The filter clause of metrics. Applied after aggregating the report's rows, + // similar to SQL having-clause. Dimensions cannot be used in this filter. + FilterExpression metric_filter = 6; + + // The row count of the start row. The first row is counted as row 0. + // + // When paging, the first request does not specify offset; or equivalently, + // sets offset to 0; the first request returns the first `limit` of rows. The + // second request sets offset to the `limit` of the first request; the second + // request returns the second `limit` of rows. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int64 offset = 7; + + // The number of rows to return. If unspecified, 10,000 rows are returned. The + // API returns a maximum of 100,000 rows per request, no matter how many you + // ask for. `limit` must be positive. + // + // The API can also return fewer rows than the requested `limit`, if there + // aren't as many dimension values as the `limit`. For instance, there are + // fewer than 300 possible values for the dimension `country`, so when + // reporting on only `country`, you can't get more than 300 rows, even if you + // set `limit` to a higher value. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int64 limit = 8; + + // Aggregation of metrics. Aggregated metric values will be shown in rows + // where the dimension_values are set to "RESERVED_(MetricAggregation)". + repeated MetricAggregation metric_aggregations = 9; + + // Specifies how rows are ordered in the response. + repeated OrderBy order_bys = 10; + + // A currency code in ISO4217 format, such as "AED", "USD", "JPY". + // If the field is empty, the report uses the property's default currency. + string currency_code = 11; + + // Cohort group associated with this request. If there is a cohort group + // in the request the 'cohort' dimension must be present. + CohortSpec cohort_spec = 12; + + // If false or unspecified, each row with all metrics equal to 0 will not be + // returned. If true, these rows will be returned if they are not separately + // removed by a filter. + bool keep_empty_rows = 13; + + // Toggles whether to return the current state of this Analytics Property's + // quota. Quota is returned in [PropertyQuota](#PropertyQuota). + bool return_property_quota = 14; +} + +// The response report table corresponding to a request. +message RunReportResponse { + // Describes dimension columns. The number of DimensionHeaders and ordering of + // DimensionHeaders matches the dimensions present in rows. + repeated DimensionHeader dimension_headers = 1; + + // Describes metric columns. The number of MetricHeaders and ordering of + // MetricHeaders matches the metrics present in rows. + repeated MetricHeader metric_headers = 2; + + // Rows of dimension value combinations and metric values in the report. + repeated Row rows = 3; + + // If requested, the totaled values of metrics. + repeated Row totals = 4; + + // If requested, the maximum values of metrics. + repeated Row maximums = 5; + + // If requested, the minimum values of metrics. + repeated Row minimums = 6; + + // The total number of rows in the query result. `rowCount` is independent of + // the number of rows returned in the response, the `limit` request + // parameter, and the `offset` request parameter. For example if a query + // returns 175 rows and includes `limit` of 50 in the API request, the + // response will contain `rowCount` of 175 but only 50 rows. + // + // To learn more about this pagination parameter, see + // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + int32 row_count = 7; + + // Metadata for the report. + ResponseMetaData metadata = 8; + + // This Analytics Property's quota state including this request. + PropertyQuota property_quota = 9; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#runReport". Useful to distinguish between + // response types in JSON. + string kind = 10; +} + +// The request to generate a pivot report. +message RunPivotReportRequest { + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // Within a batch request, this property should either be unspecified or + // consistent with the batch-level property. + // + // Example: properties/1234 + string property = 1; + + // The dimensions requested. All defined dimensions must be used by one of the + // following: dimension_expression, dimension_filter, pivots, order_bys. + repeated Dimension dimensions = 2; + + // The metrics requested, at least one metric needs to be specified. All + // defined metrics must be used by one of the following: metric_expression, + // metric_filter, order_bys. + repeated Metric metrics = 3; + + // The date range to retrieve event data for the report. If multiple date + // ranges are specified, event data from each date range is used in the + // report. A special dimension with field name "dateRange" can be included in + // a Pivot's field names; if included, the report compares between date + // ranges. In a cohort request, this `dateRanges` must be unspecified. + repeated DateRange date_ranges = 4; + + // Describes the visual format of the report's dimensions in columns or rows. + // The union of the fieldNames (dimension names) in all pivots must be a + // subset of dimension names defined in Dimensions. No two pivots can share a + // dimension. A dimension is only visible if it appears in a pivot. + repeated Pivot pivots = 5; + + // The filter clause of dimensions. Dimensions must be requested to be used in + // this filter. Metrics cannot be used in this filter. + FilterExpression dimension_filter = 6; + + // The filter clause of metrics. Applied at post aggregation phase, similar to + // SQL having-clause. Metrics must be requested to be used in this filter. + // Dimensions cannot be used in this filter. + FilterExpression metric_filter = 7; + + // A currency code in ISO4217 format, such as "AED", "USD", "JPY". + // If the field is empty, the report uses the property's default currency. + string currency_code = 8; + + // Cohort group associated with this request. If there is a cohort group + // in the request the 'cohort' dimension must be present. + CohortSpec cohort_spec = 9; + + // If false or unspecified, each row with all metrics equal to 0 will not be + // returned. If true, these rows will be returned if they are not separately + // removed by a filter. + bool keep_empty_rows = 10; + + // Toggles whether to return the current state of this Analytics Property's + // quota. Quota is returned in [PropertyQuota](#PropertyQuota). + bool return_property_quota = 11; +} + +// The response pivot report table corresponding to a pivot request. +message RunPivotReportResponse { + // Summarizes the columns and rows created by a pivot. Each pivot in the + // request produces one header in the response. If we have a request like + // this: + // + // "pivots": [{ + // "fieldNames": ["country", + // "city"] + // }, + // { + // "fieldNames": "eventName" + // }] + // + // We will have the following `pivotHeaders` in the response: + // + // "pivotHeaders" : [{ + // "dimensionHeaders": [{ + // "dimensionValues": [ + // { "value": "United Kingdom" }, + // { "value": "London" } + // ] + // }, + // { + // "dimensionValues": [ + // { "value": "Japan" }, + // { "value": "Osaka" } + // ] + // }] + // }, + // { + // "dimensionHeaders": [{ + // "dimensionValues": [{ "value": "session_start" }] + // }, + // { + // "dimensionValues": [{ "value": "scroll" }] + // }] + // }] + repeated PivotHeader pivot_headers = 1; + + // Describes dimension columns. The number of DimensionHeaders and ordering of + // DimensionHeaders matches the dimensions present in rows. + repeated DimensionHeader dimension_headers = 2; + + // Describes metric columns. The number of MetricHeaders and ordering of + // MetricHeaders matches the metrics present in rows. + repeated MetricHeader metric_headers = 3; + + // Rows of dimension value combinations and metric values in the report. + repeated Row rows = 4; + + // Aggregation of metric values. Can be totals, minimums, or maximums. The + // returned aggregations are controlled by the metric_aggregations in the + // pivot. The type of aggregation returned in each row is shown by the + // dimension_values which are set to "RESERVED_". + repeated Row aggregates = 5; + + // Metadata for the report. + ResponseMetaData metadata = 6; + + // This Analytics Property's quota state including this request. + PropertyQuota property_quota = 7; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#runPivotReport". Useful to distinguish between + // response types in JSON. + string kind = 8; +} + +// The batch request containing multiple report requests. +message BatchRunReportsRequest { + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // This property must be specified for the batch. The property within + // RunReportRequest may either be unspecified or consistent with this + // property. + // + // Example: properties/1234 + string property = 1; + + // Individual requests. Each request has a separate report response. Each + // batch request is allowed up to 5 requests. + repeated RunReportRequest requests = 2; +} + +// The batch response containing multiple reports. +message BatchRunReportsResponse { + // Individual responses. Each response has a separate report request. + repeated RunReportResponse reports = 1; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#batchRunReports". Useful to distinguish between + // response types in JSON. + string kind = 2; +} + +// The batch request containing multiple pivot report requests. +message BatchRunPivotReportsRequest { + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // This property must be specified for the batch. The property within + // RunPivotReportRequest may either be unspecified or consistent with this + // property. + // + // Example: properties/1234 + string property = 1; + + // Individual requests. Each request has a separate pivot report response. + // Each batch request is allowed up to 5 requests. + repeated RunPivotReportRequest requests = 2; +} + +// The batch response containing multiple pivot reports. +message BatchRunPivotReportsResponse { + // Individual responses. Each response has a separate pivot report request. + repeated RunPivotReportResponse pivot_reports = 1; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#batchRunPivotReports". Useful to distinguish + // between response types in JSON. + string kind = 2; +} + +// Request for a property's dimension and metric metadata. +message GetMetadataRequest { + // Required. The resource name of the metadata to retrieve. This name field is + // specified in the URL path and not URL parameters. Property is a numeric + // Google Analytics GA4 Property identifier. To learn more, see [where to find + // your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // + // Example: properties/1234/metadata + // + // Set the Property ID to 0 for dimensions and metrics common to all + // properties. In this special mode, this method will not return custom + // dimensions and metrics. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "analyticsdata.googleapis.com/Metadata" + } + ]; +} + +// The request to generate a realtime report. +message RunRealtimeReportRequest { + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). + // + // Example: properties/1234 + string property = 1; + + // The dimensions requested and displayed. + repeated Dimension dimensions = 2; + + // The metrics requested and displayed. + repeated Metric metrics = 3; + + // The filter clause of dimensions. Metrics cannot be used in this filter. + FilterExpression dimension_filter = 4; + + // The filter clause of metrics. Applied at post aggregation phase, similar to + // SQL having-clause. Dimensions cannot be used in this filter. + FilterExpression metric_filter = 5; + + // The number of rows to return. If unspecified, 10,000 rows are returned. The + // API returns a maximum of 100,000 rows per request, no matter how many you + // ask for. `limit` must be positive. + // + // The API can also return fewer rows than the requested `limit`, if there + // aren't as many dimension values as the `limit`. For instance, there are + // fewer than 300 possible values for the dimension `country`, so when + // reporting on only `country`, you can't get more than 300 rows, even if you + // set `limit` to a higher value. + int64 limit = 6; + + // Aggregation of metrics. Aggregated metric values will be shown in rows + // where the dimension_values are set to "RESERVED_(MetricAggregation)". + repeated MetricAggregation metric_aggregations = 7; + + // Specifies how rows are ordered in the response. + repeated OrderBy order_bys = 8; + + // Toggles whether to return the current state of this Analytics Property's + // Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota). + bool return_property_quota = 9; + + // The minute ranges of event data to read. If unspecified, one minute range + // for the last 30 minutes will be used. If multiple minute ranges are + // requested, each response row will contain a zero based minute range index. + // If two minute ranges overlap, the event data for the overlapping minutes is + // included in the response rows for both minute ranges. + repeated MinuteRange minute_ranges = 10; +} + +// The response realtime report table corresponding to a request. +message RunRealtimeReportResponse { + // Describes dimension columns. The number of DimensionHeaders and ordering of + // DimensionHeaders matches the dimensions present in rows. + repeated DimensionHeader dimension_headers = 1; + + // Describes metric columns. The number of MetricHeaders and ordering of + // MetricHeaders matches the metrics present in rows. + repeated MetricHeader metric_headers = 2; + + // Rows of dimension value combinations and metric values in the report. + repeated Row rows = 3; + + // If requested, the totaled values of metrics. + repeated Row totals = 4; + + // If requested, the maximum values of metrics. + repeated Row maximums = 5; + + // If requested, the minimum values of metrics. + repeated Row minimums = 6; + + // The total number of rows in the query result. `rowCount` is independent of + // the number of rows returned in the response and the `limit` request + // parameter. For example if a query returns 175 rows and includes `limit` + // of 50 in the API request, the response will contain `rowCount` of 175 but + // only 50 rows. + int32 row_count = 7; + + // This Analytics Property's Realtime quota state including this request. + PropertyQuota property_quota = 8; + + // Identifies what kind of resource this message is. This `kind` is always the + // fixed string "analyticsData#runRealtimeReport". Useful to distinguish + // between response types in JSON. + string kind = 9; +} diff --git a/google-cloud/protos/google/analytics/data/v1beta/analytics_data_grpc_service_config.json b/google-cloud/protos/google/analytics/data/v1beta/analytics_data_grpc_service_config.json new file mode 100644 index 00000000..8e1908cb --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1beta/analytics_data_grpc_service_config.json @@ -0,0 +1,48 @@ +{ + "methodConfig": [ + { + "name": [{ "service": "google.analytics.data.v1beta.BetaAnalyticsData" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNKNOWN"] + } + }, + { + "name": [ + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "RunReport" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "RunPivotReport" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "BatchRunReports" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "BatchRunPivotReports" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "RunRealtimeReport" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "GetMetadata" + }, + { + "service": "google.analytics.data.v1beta.BetaAnalyticsData", + "method": "CheckCompatibility" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google-cloud/protos/google/analytics/data/v1beta/analyticsdata_v1beta.yaml b/google-cloud/protos/google/analytics/data/v1beta/analyticsdata_v1beta.yaml new file mode 100644 index 00000000..eab7fa01 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1beta/analyticsdata_v1beta.yaml @@ -0,0 +1,23 @@ +type: google.api.Service +config_version: 3 +name: analyticsdata.googleapis.com +title: Google Analytics Data API + +apis: +- name: google.analytics.data.v1beta.BetaAnalyticsData + +documentation: + summary: Accesses report data in Google Analytics. + +backend: + rules: + - selector: 'google.analytics.data.v1beta.BetaAnalyticsData.*' + deadline: 180.0 + +authentication: + rules: + - selector: 'google.analytics.data.v1beta.BetaAnalyticsData.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/analytics, + https://www.googleapis.com/auth/analytics.readonly diff --git a/google-cloud/protos/google/analytics/data/v1beta/data.proto b/google-cloud/protos/google/analytics/data/v1beta/data.proto new file mode 100644 index 00000000..6c6431b9 --- /dev/null +++ b/google-cloud/protos/google/analytics/data/v1beta/data.proto @@ -0,0 +1,981 @@ +// 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.analytics.data.v1beta; + +option go_package = "google.golang.org/genproto/googleapis/analytics/data/v1beta;data"; +option java_multiple_files = true; +option java_outer_classname = "ReportingApiProto"; +option java_package = "com.google.analytics.data.v1beta"; + +// A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests +// are allowed up to 4 date ranges. +message DateRange { + // The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot + // be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also + // accepted, and in that case, the date is inferred based on the property's + // reporting time zone. + string start_date = 1; + + // The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot + // be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is + // also accepted, and in that case, the date is inferred based on the + // property's reporting time zone. + string end_date = 2; + + // Assigns a name to this date range. The dimension `dateRange` is valued to + // this name in a report response. If set, cannot begin with `date_range_` or + // `RESERVED_`. If not set, date ranges are named by their zero based index in + // the request: `date_range_0`, `date_range_1`, etc. + string name = 3; +} + +// A contiguous set of minutes: startMinutesAgo, startMinutesAgo + 1, ..., +// endMinutesAgo. Requests are allowed up to 2 minute ranges. +message MinuteRange { + // The inclusive start minute for the query as a number of minutes before now. + // For example, `"startMinutesAgo": 29` specifies the report should include + // event data from 29 minutes ago and after. Cannot be after `endMinutesAgo`. + // + // If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics + // properties can request up to the last 30 minutes of event data + // (`startMinutesAgo <= 29`), and 360 Analytics properties can request up to + // the last 60 minutes of event data (`startMinutesAgo <= 59`). + optional int32 start_minutes_ago = 1; + + // The inclusive end minute for the query as a number of minutes before now. + // Cannot be before `startMinutesAgo`. For example, `"endMinutesAgo": 15` + // specifies the report should include event data from prior to 15 minutes + // ago. + // + // If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics + // properties can request any minute in the last 30 minutes of event data + // (`endMinutesAgo <= 29`), and 360 Analytics properties can request any + // minute in the last 60 minutes of event data (`endMinutesAgo <= 59`). + optional int32 end_minutes_ago = 2; + + // Assigns a name to this minute range. The dimension `dateRange` is valued to + // this name in a report response. If set, cannot begin with `date_range_` or + // `RESERVED_`. If not set, minute ranges are named by their zero based index + // in the request: `date_range_0`, `date_range_1`, etc. + string name = 3; +} + +// Dimensions are attributes of your data. For example, the dimension city +// indicates the city from which an event originates. Dimension values in report +// responses are strings; for example, the city could be "Paris" or "New York". +// Requests are allowed up to 9 dimensions. +message Dimension { + // The name of the dimension. See the [API + // Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) + // for the list of dimension names. + // + // If `dimensionExpression` is specified, `name` can be any string that you + // would like within the allowed character set. For example if a + // `dimensionExpression` concatenates `country` and `city`, you could call + // that dimension `countryAndCity`. Dimension names that you choose must match + // the regular expression `^[a-zA-Z0-9_]$`. + // + // Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, + // `dimensionExpression`, and `pivots`. + string name = 1; + + // One dimension can be the result of an expression of multiple dimensions. + // For example, dimension "country, city": concatenate(country, ", ", city). + DimensionExpression dimension_expression = 2; +} + +// Used to express a dimension which is the result of a formula of multiple +// dimensions. Example usages: +// 1) lower_case(dimension) +// 2) concatenate(dimension1, symbol, dimension2). +message DimensionExpression { + // Used to convert a dimension value to a single case. + message CaseExpression { + // Name of a dimension. The name must refer back to a name in dimensions + // field of the request. + string dimension_name = 1; + } + + // Used to combine dimension values to a single dimension. + message ConcatenateExpression { + // Names of dimensions. The names must refer back to names in the dimensions + // field of the request. + repeated string dimension_names = 1; + + // The delimiter placed between dimension names. + // + // Delimiters are often single characters such as "|" or "," but can be + // longer strings. If a dimension value contains the delimiter, both will be + // present in response with no distinction. For example if dimension 1 value + // = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the + // response will contain "US,FR,JP". + string delimiter = 2; + } + + // Specify one type of dimension expression for `DimensionExpression`. + oneof one_expression { + // Used to convert a dimension value to lower case. + CaseExpression lower_case = 4; + + // Used to convert a dimension value to upper case. + CaseExpression upper_case = 5; + + // Used to combine dimension values to a single dimension. + // For example, dimension "country, city": concatenate(country, ", ", city). + ConcatenateExpression concatenate = 6; + } +} + +// The quantitative measurements of a report. For example, the metric +// `eventCount` is the total number of events. Requests are allowed up to 10 +// metrics. +message Metric { + // The name of the metric. See the [API + // Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) + // for the list of metric names. + // + // If `expression` is specified, `name` can be any string that you would like + // within the allowed character set. For example if `expression` is + // `screenPageViews/sessions`, you could call that metric's name = + // `viewsPerSession`. Metric names that you choose must match the regular + // expression `^[a-zA-Z0-9_]$`. + // + // Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric + // `expression`. + string name = 1; + + // A mathematical expression for derived metrics. For example, the metric + // Event count per user is `eventCount/totalUsers`. + string expression = 2; + + // Indicates if a metric is invisible in the report response. If a metric is + // invisible, the metric will not produce a column in the response, but can be + // used in `metricFilter`, `orderBys`, or a metric `expression`. + bool invisible = 3; +} + +// To express dimension or metric filters. The fields in the same +// FilterExpression need to be either all dimensions or all metrics. +message FilterExpression { + // Specify one type of filter expression for `FilterExpression`. + oneof expr { + // The FilterExpressions in and_group have an AND relationship. + FilterExpressionList and_group = 1; + + // The FilterExpressions in or_group have an OR relationship. + FilterExpressionList or_group = 2; + + // The FilterExpression is NOT of not_expression. + FilterExpression 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. + Filter filter = 4; + } +} + +// A list of filter expressions. +message FilterExpressionList { + // A list of filter expressions. + repeated FilterExpression expressions = 1; +} + +// An expression to filter dimension or metric values. +message Filter { + // The filter for string + message StringFilter { + // 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 InListFilter { + // 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 NumericFilter { + // 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 BetweenFilter { + // Begins with this number. + NumericValue from_value = 1; + + // Ends with this number. + NumericValue to_value = 2; + } + + // The dimension name or metric name. + // + // In most methods, dimensions & metrics can be used for the first time in + // this field. However in a RunPivotReportRequest, this field must be + // additionally specified by name in the RunPivotReportRequest's dimensions or + // metrics. + string field_name = 1; + + // Specify one type of filter for `Filter`. + oneof one_filter { + // Strings related filter. + StringFilter string_filter = 3; + + // A filter for in list values. + InListFilter in_list_filter = 4; + + // A filter for numeric or date values. + NumericFilter numeric_filter = 5; + + // A filter for two values. + BetweenFilter between_filter = 6; + } +} + +// Order bys define how rows will be sorted in the response. For example, +// ordering rows by descending event count is one ordering, and ordering rows by +// the event name string is a different ordering. +message OrderBy { + // 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; + } + + // Sorts by a pivot column group. + message PivotOrderBy { + // A pair of dimension names and values. Rows with this dimension pivot pair + // are ordered by the metric's value. + // + // For example if pivots = {{"browser", "Chrome"}} and + // metric_name = "Sessions", + // then the rows will be sorted based on Sessions in Chrome. + // + // ---------|----------|----------------|----------|---------------- + // | Chrome | Chrome | Safari | Safari + // ---------|----------|----------------|----------|---------------- + // Country | Sessions | Pages/Sessions | Sessions | Pages/Sessions + // ---------|----------|----------------|----------|---------------- + // US | 2 | 2 | 3 | 1 + // ---------|----------|----------------|----------|---------------- + // Canada | 3 | 1 | 4 | 1 + // ---------|----------|----------------|----------|---------------- + message PivotSelection { + // Must be a dimension name from the request. + string dimension_name = 1; + + // Order by only when the named dimension is this value. + string dimension_value = 2; + } + + // In the response to order by, order rows by this column. Must be a metric + // name from the request. + string metric_name = 1; + + // Used to select a dimension name and value pivot. If multiple pivot + // selections are given, the sort occurs on rows where all pivot selection + // dimension name and value pairs match the row's dimension name and value + // pair. + repeated PivotSelection pivot_selections = 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; + + // Sorts results by a metric's values within a pivot column group. + PivotOrderBy pivot = 3; + } + + // If true, sorts by descending order. + bool desc = 4; +} + +// Describes the visible dimension columns and rows in the report response. +message Pivot { + // Dimension names for visible columns in the report response. Including + // "dateRange" produces a date range column; for each row in the response, + // dimension values in the date range column will indicate the corresponding + // date range from the request. + repeated string field_names = 1; + + // Specifies how dimensions are ordered in the pivot. In the first Pivot, the + // OrderBys determine Row and PivotDimensionHeader ordering; in subsequent + // Pivots, the OrderBys determine only PivotDimensionHeader ordering. + // Dimensions specified in these OrderBys must be a subset of + // Pivot.field_names. + repeated OrderBy order_bys = 2; + + // The row count of the start row. The first row is counted as row 0. + int64 offset = 3; + + // The number of unique combinations of dimension values to return in this + // pivot. The `limit` parameter is required. A `limit` of 10,000 is common for + // single pivot requests. + // + // The product of the `limit` for each `pivot` in a `RunPivotReportRequest` + // must not exceed 100,000. For example, a two pivot request with `limit: + // 1000` in each pivot will fail because the product is `1,000,000`. + int64 limit = 4; + + // Aggregate the metrics by dimensions in this pivot using the specified + // metric_aggregations. + repeated MetricAggregation metric_aggregations = 5; +} + +// The specification of cohorts for a cohort report. +// +// Cohort reports create a time series of user retention for the cohort. For +// example, you could select the cohort of users that were acquired in the first +// week of September and follow that cohort for the next six weeks. Selecting +// the users acquired in the first week of September cohort is specified in the +// `cohort` object. Following that cohort for the next six weeks is specified in +// the `cohortsRange` object. +// +// For examples, see [Cohort Report +// Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples). +// +// The report response could show a weekly time series where say your app has +// retained 60% of this cohort after three weeks and 25% of this cohort after +// six weeks. These two percentages can be calculated by the metric +// `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report. +message CohortSpec { + // Defines the selection criteria to group users into cohorts. + // + // Most cohort reports define only a single cohort. If multiple cohorts are + // specified, each cohort can be recognized in the report by their name. + repeated Cohort cohorts = 1; + + // Cohort reports follow cohorts over an extended reporting date range. This + // range specifies an offset duration to follow the cohorts over. + CohortsRange cohorts_range = 2; + + // Optional settings for a cohort report. + CohortReportSettings cohort_report_settings = 3; +} + +// Defines a cohort selection criteria. A cohort is a group of users who share +// a common characteristic. For example, users with the same `firstSessionDate` +// belong to the same cohort. +message Cohort { + // Assigns a name to this cohort. The dimension `cohort` is valued to this + // name in a report response. If set, cannot begin with `cohort_` or + // `RESERVED_`. If not set, cohorts are named by their zero based index + // `cohort_0`, `cohort_1`, etc. + string name = 1; + + // Dimension used by the cohort. Required and only supports + // `firstSessionDate`. + string dimension = 2; + + // The cohort selects users whose first touch date is between start date and + // end date defined in the `dateRange`. This `dateRange` does not specify the + // full date range of event data that is present in a cohort report. In a + // cohort report, this `dateRange` is extended by the granularity and offset + // present in the `cohortsRange`; event data for the extended reporting date + // range is present in a cohort report. + // + // In a cohort request, this `dateRange` is required and the `dateRanges` in + // the `RunReportRequest` or `RunPivotReportRequest` must be unspecified. + // + // This `dateRange` should generally be aligned with the cohort's granularity. + // If `CohortsRange` uses daily granularity, this `dateRange` can be a single + // day. If `CohortsRange` uses weekly granularity, this `dateRange` can be + // aligned to a week boundary, starting at Sunday and ending Saturday. If + // `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to + // a month, starting at the first and ending on the last day of the month. + DateRange date_range = 3; +} + +// Configures the extended reporting date range for a cohort report. Specifies +// an offset duration to follow the cohorts over. +message CohortsRange { + // The granularity used to interpret the `startOffset` and `endOffset` for the + // extended reporting date range for a cohort report. + enum Granularity { + // Should never be specified. + GRANULARITY_UNSPECIFIED = 0; + + // Daily granularity. Commonly used if the cohort's `dateRange` is a single + // day and the request contains `cohortNthDay`. + DAILY = 1; + + // Weekly granularity. Commonly used if the cohort's `dateRange` is a week + // in duration (starting on Sunday and ending on Saturday) and the request + // contains `cohortNthWeek`. + WEEKLY = 2; + + // Monthly granularity. Commonly used if the cohort's `dateRange` is a month + // in duration and the request contains `cohortNthMonth`. + MONTHLY = 3; + } + + // Required. The granularity used to interpret the `startOffset` and + // `endOffset` for the extended reporting date range for a cohort report. + Granularity granularity = 1; + + // `startOffset` specifies the start date of the extended reporting date range + // for a cohort report. `startOffset` is commonly set to 0 so that reports + // contain data from the acquisition of the cohort forward. + // + // If `granularity` is `DAILY`, the `startDate` of the extended reporting date + // range is `startDate` of the cohort plus `startOffset` days. + // + // If `granularity` is `WEEKLY`, the `startDate` of the extended reporting + // date range is `startDate` of the cohort plus `startOffset * 7` days. + // + // If `granularity` is `MONTHLY`, the `startDate` of the extended reporting + // date range is `startDate` of the cohort plus `startOffset * 30` days. + int32 start_offset = 2; + + // Required. `endOffset` specifies the end date of the extended reporting date + // range for a cohort report. `endOffset` can be any positive integer but is + // commonly set to 5 to 10 so that reports contain data on the cohort for the + // next several granularity time periods. + // + // If `granularity` is `DAILY`, the `endDate` of the extended reporting date + // range is `endDate` of the cohort plus `endOffset` days. + // + // If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date + // range is `endDate` of the cohort plus `endOffset * 7` days. + // + // If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date + // range is `endDate` of the cohort plus `endOffset * 30` days. + int32 end_offset = 3; +} + +// Optional settings of a cohort report. +message CohortReportSettings { + // If true, accumulates the result from first touch day to the end day. Not + // supported in `RunReportRequest`. + bool accumulate = 1; +} + +// Response's metadata carrying additional information about the report content. +message ResponseMetaData { + // The schema restrictions actively enforced in creating this report. To learn + // more, see [Access and data-restriction + // management](https://support.google.com/analytics/answer/10851388). + message SchemaRestrictionResponse { + // A metric actively restricted in creating the report. + message ActiveMetricRestriction { + // The name of the restricted metric. + optional string metric_name = 1; + + // The reason for this metric's restriction. + repeated RestrictedMetricType restricted_metric_types = 2; + } + + // All restrictions actively enforced in creating the report. For example, + // `purchaseRevenue` always has the restriction type `REVENUE_DATA`. + // However, this active response restriction is only populated if the user's + // custom role disallows access to `REVENUE_DATA`. + repeated ActiveMetricRestriction active_metric_restrictions = 1; + } + + // If true, indicates some buckets of dimension combinations are rolled into + // "(other)" row. This can happen for high cardinality reports. + bool data_loss_from_other_row = 3; + + // Describes the schema restrictions actively enforced in creating this + // report. To learn more, see [Access and data-restriction + // management](https://support.google.com/analytics/answer/10851388). + optional SchemaRestrictionResponse schema_restriction_response = 4; + + // The currency code used in this report. Intended to be used in formatting + // currency metrics like `purchaseRevenue` for visualization. If currency_code + // was specified in the request, this response parameter will echo the request + // parameter; otherwise, this response parameter is the property's current + // currency_code. + // + // Currency codes are string encodings of currency types from the ISO 4217 + // standard (https://en.wikipedia.org/wiki/ISO_4217); for example "USD", + // "EUR", "JPY". To learn more, see + // https://support.google.com/analytics/answer/9796179. + optional string currency_code = 5; + + // The property's current timezone. Intended to be used to interpret + // time-based dimensions like `hour` and `minute`. Formatted as strings from + // the IANA Time Zone database (https://www.iana.org/time-zones); for example + // "America/New_York" or "Asia/Tokyo". + optional string time_zone = 6; + + // If empty reason is specified, the report is empty for this reason. + optional string empty_reason = 7; + + // If `subjectToThresholding` is true, this report is subject to thresholding + // and only returns data that meets the minimum aggregation thresholds. It is + // possible for a request to be subject to thresholding thresholding and no + // data is absent from the report, and this happens when all data is above the + // thresholds. To learn more, see [Data + // thresholds](https://support.google.com/analytics/answer/9383630) and [About + // Demographics and + // Interests](https://support.google.com/analytics/answer/2799357). + optional bool subject_to_thresholding = 8; +} + +// 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 DimensionHeader { + // The dimension's name. + string 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 MetricHeader { + // The metric's name. + string name = 1; + + // The metric's data type. + MetricType type = 2; +} + +// Dimensions' values in a single pivot. +message PivotHeader { + // The size is the same as the cardinality of the corresponding dimension + // combinations. + repeated PivotDimensionHeader pivot_dimension_headers = 1; + + // The cardinality of the pivot. The total number of rows for this pivot's + // fields regardless of how the parameters `offset` and `limit` are specified + // in the request. + int32 row_count = 2; +} + +// Summarizes dimension values from a row for this pivot. +message PivotDimensionHeader { + // Values of multiple dimensions in a pivot. + repeated DimensionValue dimension_values = 1; +} + +// Report data for each row. +// For example if RunReportRequest contains: +// +// ```none +// "dimensions": [ +// { +// "name": "eventName" +// }, +// { +// "name": "countryId" +// } +// ], +// "metrics": [ +// { +// "name": "eventCount" +// } +// ] +// ``` +// +// One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and +// 15 as the eventCount, would be: +// +// ```none +// "dimensionValues": [ +// { +// "value": "in_app_purchase" +// }, +// { +// "value": "JP" +// } +// ], +// "metricValues": [ +// { +// "value": "15" +// } +// ] +// ``` +message Row { + // List of requested dimension values. In a PivotReport, dimension_values + // are only listed for dimensions included in a pivot. + repeated DimensionValue dimension_values = 1; + + // List of requested visible metric values. + repeated MetricValue metric_values = 2; +} + +// The value of a dimension. +message DimensionValue { + // One kind of dimension value + oneof one_value { + // Value as a string if the dimension type is a string. + string value = 1; + } +} + +// The value of a metric. +message MetricValue { + // One of metric value + oneof one_value { + // Measurement value. See MetricHeader for type. + string value = 4; + } +} + +// 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; + } +} + +// 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 PropertyQuota { + // Standard Analytics Properties can use up to 25,000 tokens per day; + // Analytics 360 Properties can use 250,000 tokens per day. Most requests + // consume fewer than 10 tokens. + QuotaStatus tokens_per_day = 1; + + // Standard Analytics Properties can use up to 5,000 tokens per hour; + // Analytics 360 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. + QuotaStatus tokens_per_hour = 2; + + // Standard Analytics Properties can send up to 10 concurrent requests; + // Analytics 360 Properties can use up to 50 concurrent requests. + QuotaStatus concurrent_requests = 3; + + // Standard Analytics Properties and cloud project pairs can have up to 10 + // server errors per hour; Analytics 360 Properties and cloud project pairs + // can have up to 50 server errors per hour. + QuotaStatus server_errors_per_project_per_hour = 4; + + // Analytics Properties can send up to 120 requests with potentially + // thresholded dimensions per hour. In a batch request, each report request + // is individually counted for this quota if the request contains potentially + // thresholded dimensions. + QuotaStatus potentially_thresholded_requests_per_hour = 5; + + // Analytics Properties can use up to 25% of their tokens per project per + // hour. This amounts to standard Analytics Properties can use up to 1,250 + // tokens per project per hour, and 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. + QuotaStatus tokens_per_project_per_hour = 6; +} + +// Current state for a particular quota group. +message QuotaStatus { + // Quota consumed by this request. + int32 consumed = 1; + + // Quota remaining after this request. + int32 remaining = 2; +} + +// Explains a dimension. +message DimensionMetadata { + // This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For + // example, `eventName`. + string api_name = 1; + + // This dimension's name within the Google Analytics user interface. For + // example, `Event name`. + string ui_name = 2; + + // Description of how this dimension is used and calculated. + string description = 3; + + // Still usable but deprecated names for this dimension. If populated, this + // dimension is available by either `apiName` or one of `deprecatedApiNames` + // for a period of time. After the deprecation period, the dimension will be + // available only by `apiName`. + repeated string deprecated_api_names = 4; + + // True if the dimension is a custom dimension for this property. + bool custom_definition = 5; + + // The display name of the category that this dimension belongs to. Similar + // dimensions and metrics are categorized together. + string category = 7; +} + +// Explains a metric. +message MetricMetadata { + // Justifications for why this metric is blocked. + enum BlockedReason { + // Will never be specified in API response. + BLOCKED_REASON_UNSPECIFIED = 0; + + // If present, your access is blocked to revenue related metrics for this + // property, and this metric is revenue related. + NO_REVENUE_METRICS = 1; + + // If present, your access is blocked to cost related metrics for this + // property, and this metric is cost related. + NO_COST_METRICS = 2; + } + + // A metric name. Useable in [Metric](#Metric)'s `name`. For example, + // `eventCount`. + string api_name = 1; + + // This metric's name within the Google Analytics user interface. For example, + // `Event count`. + string ui_name = 2; + + // Description of how this metric is used and calculated. + string description = 3; + + // Still usable but deprecated names for this metric. If populated, this + // metric is available by either `apiName` or one of `deprecatedApiNames` + // for a period of time. After the deprecation period, the metric will be + // available only by `apiName`. + repeated string deprecated_api_names = 4; + + // The type of this metric. + MetricType type = 5; + + // The mathematical expression for this derived metric. Can be used in + // [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics + // are not expressions, and for non-expressions, this field is empty. + string expression = 6; + + // True if the metric is a custom metric for this property. + bool custom_definition = 7; + + // If reasons are specified, your access is blocked to this metric for this + // property. API requests from you to this property for this metric will + // succeed; however, the report will contain only zeros for this metric. API + // requests with metric filters on blocked metrics will fail. If reasons are + // empty, you have access to this metric. + // + // To learn more, see [Access and data-restriction + // management](https://support.google.com/analytics/answer/10851388). + repeated BlockedReason blocked_reasons = 8; + + // The display name of the category that this metrics belongs to. Similar + // dimensions and metrics are categorized together. + string category = 10; +} + +// The compatibility for a single dimension. +message DimensionCompatibility { + // The dimension metadata contains the API name for this compatibility + // information. The dimension metadata also contains other helpful information + // like the UI name and description. + optional DimensionMetadata dimension_metadata = 1; + + // The compatibility of this dimension. If the compatibility is COMPATIBLE, + // this dimension can be successfully added to the report. + optional Compatibility compatibility = 2; +} + +// The compatibility for a single metric. +message MetricCompatibility { + // The metric metadata contains the API name for this compatibility + // information. The metric metadata also contains other helpful information + // like the UI name and description. + optional MetricMetadata metric_metadata = 1; + + // The compatibility of this metric. If the compatibility is COMPATIBLE, + // this metric can be successfully added to the report. + optional Compatibility compatibility = 2; +} + +// Represents aggregation of metrics. +enum MetricAggregation { + // Unspecified operator. + METRIC_AGGREGATION_UNSPECIFIED = 0; + + // SUM operator. + TOTAL = 1; + + // Minimum operator. + MINIMUM = 5; + + // Maximum operator. + MAXIMUM = 6; + + // Count operator. + COUNT = 4; +} + +// A metric's value type. +enum MetricType { + // Unspecified type. + METRIC_TYPE_UNSPECIFIED = 0; + + // Integer type. + TYPE_INTEGER = 1; + + // Floating point type. + TYPE_FLOAT = 2; + + // A duration of seconds; a special floating point type. + TYPE_SECONDS = 4; + + // A duration in milliseconds; a special floating point type. + TYPE_MILLISECONDS = 5; + + // A duration in minutes; a special floating point type. + TYPE_MINUTES = 6; + + // A duration in hours; a special floating point type. + TYPE_HOURS = 7; + + // A custom metric of standard type; a special floating point type. + TYPE_STANDARD = 8; + + // An amount of money; a special floating point type. + TYPE_CURRENCY = 9; + + // A length in feet; a special floating point type. + TYPE_FEET = 10; + + // A length in miles; a special floating point type. + TYPE_MILES = 11; + + // A length in meters; a special floating point type. + TYPE_METERS = 12; + + // A length in kilometers; a special floating point type. + TYPE_KILOMETERS = 13; +} + +// Categories of data that you may be restricted from viewing on certain GA4 +// properties. +enum RestrictedMetricType { + // Unspecified type. + RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0; + + // Cost metrics such as `adCost`. + COST_DATA = 1; + + // Revenue metrics such as `purchaseRevenue`. + REVENUE_DATA = 2; +} + +// The compatibility types for a single dimension or metric. +enum Compatibility { + // Unspecified compatibility. + COMPATIBILITY_UNSPECIFIED = 0; + + // The dimension or metric is compatible. This dimension or metric can be + // successfully added to a report. + COMPATIBLE = 1; + + // The dimension or metric is incompatible. This dimension or metric cannot be + // successfully added to a report. + INCOMPATIBLE = 2; +} diff --git a/google-cloud/protos/google/api/BUILD.bazel b/google-cloud/protos/google/api/BUILD.bazel index 5bea9ed0..ebb9ba81 100644 --- a/google-cloud/protos/google/api/BUILD.bazel +++ b/google-cloud/protos/google/api/BUILD.bazel @@ -1,3 +1,5 @@ +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"]) @@ -88,6 +90,11 @@ proto_library( deps = [":annotations_proto"], ) +proto_library( + name = "error_reason_proto", + srcs = ["error_reason.proto"], +) + proto_library( name = "field_behavior_proto", srcs = ["field_behavior.proto"], @@ -174,6 +181,14 @@ proto_library( ], ) +proto_library( + name = "routing_proto", + srcs = ["routing.proto"], + deps = [ + "@com_google_protobuf//:descriptor_proto", + ], +) + proto_library( name = "service_proto", srcs = ["service.proto"], @@ -220,13 +235,27 @@ proto_library( proto_library( name = "usage_proto", srcs = ["usage.proto"], - deps = [":annotations_proto"], + deps = [ + ":annotations_proto", + ":visibility_proto", + ], +) + +proto_library( + name = "visibility_proto", + srcs = ["visibility.proto"], + visibility = ["//visibility:public"], + deps = ["@com_google_protobuf//:descriptor_proto"], ) ############################################################################## # Java ############################################################################## -load("@com_google_googleapis_imports//:imports.bzl", "java_proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) java_proto_library( name = "api_java_proto", @@ -243,6 +272,7 @@ java_proto_library( "distribution_proto", "documentation_proto", "endpoint_proto", + "error_reason_proto", "field_behavior_proto", "http_proto", "httpbody_proto", @@ -255,10 +285,54 @@ java_proto_library( "monitoring_proto", "quota_proto", "resource_proto", + "routing_proto", "service_proto", "source_info_proto", "system_parameter_proto", "usage_proto", + "visibility_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-api-java", + transport = "grpc+rest", + deps = [ + "annotations_proto", + "auth_proto", + "backend_proto", + "billing_proto", + "client_proto", + "config_change_proto", + "consumer_proto", + "context_proto", + "control_proto", + "distribution_proto", + "documentation_proto", + "endpoint_proto", + "error_reason_proto", + "field_behavior_proto", + "http_proto", + "httpbody_proto", + "label_proto", + "launch_stage_proto", + "log_proto", + "logging_proto", + "metric_proto", + "monitored_resource_proto", + "monitoring_proto", + "quota_proto", + "resource_proto", + "routing_proto", + "service_proto", + "source_info_proto", + "system_parameter_proto", + "usage_proto", + "visibility_proto", + ":api_java_proto", ], ) @@ -272,7 +346,11 @@ go_proto_library( importpath = "google.golang.org/genproto/googleapis/api/annotations", protos = [ ":annotations_proto", + ":client_proto", + ":field_behavior_proto", ":http_proto", + ":resource_proto", + ":routing_proto", ], ) @@ -349,6 +427,12 @@ go_proto_library( protos = [":resource_proto"], ) +go_proto_library( + name = "routing_go_proto", + importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations", + protos = [":routing_proto"], +) + go_proto_library( name = "serviceconfig_go_proto", importpath = "google.golang.org/genproto/googleapis/api/serviceconfig", @@ -378,6 +462,12 @@ go_proto_library( ], ) +go_proto_library( + name = "visibility_go_proto", + importpath = "google.golang.org/genproto/googleapis/api/visibility;visibility", + protos = [":visibility_proto"], +) + ############################################################################## # C++ ############################################################################## @@ -503,6 +593,11 @@ cc_proto_library( deps = [":resource_proto"], ) +cc_proto_library( + name = "routing_cc_proto", + deps = [":routing_proto"], +) + cc_proto_library( name = "service_cc_proto", deps = [":service_proto"], @@ -523,6 +618,11 @@ cc_proto_library( deps = [":usage_proto"], ) +cc_proto_library( + name = "visibility_cc_proto", + deps = [":visibility_proto"], +) + ############################################################################## # Python ############################################################################## @@ -648,6 +748,11 @@ py_proto_library( deps = [":resource_proto"], ) +py_proto_library( + name = "routing_py_proto", + deps = [":routing_proto"], +) + py_proto_library( name = "service_py_proto", deps = [":service_proto"], @@ -667,3 +772,8 @@ py_proto_library( name = "usage_py_proto", deps = [":usage_proto"], ) + +py_proto_library( + name = "visibility_py_proto", + deps = ["visibility_proto"], +) diff --git a/google-cloud/protos/google/api/annotations.proto b/google-cloud/protos/google/api/annotations.proto index 85c361b4..efdab3db 100644 --- a/google-cloud/protos/google/api/annotations.proto +++ b/google-cloud/protos/google/api/annotations.proto @@ -1,4 +1,4 @@ -// Copyright (c) 2015, Google Inc. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google-cloud/protos/google/api/apikeys/BUILD.bazel b/google-cloud/protos/google/api/apikeys/BUILD.bazel new file mode 100644 index 00000000..8131ffe6 --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-api_keys. + +# 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 apikeys. +# 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 = "apikeys_ruby_wrapper", + srcs = ["//google/api/apikeys/v2:apikeys_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=apikeys.googleapis.com", + "ruby-cloud-api-shortname=apikeys", + "ruby-cloud-gem-name=google-cloud-api_keys", + "ruby-cloud-product-url=https://cloud.google.com/api-keys/", + "ruby-cloud-wrapper-of=v2:0.0", + ], + ruby_cloud_description = "An API key is a simple encrypted string that you can use when calling Google Cloud APIs. The API Keys service manages the API keys associated with developer projects.", + ruby_cloud_title = "API Keys", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-apikeys-ruby", + deps = [ + ":apikeys_ruby_wrapper", + ], +) + diff --git a/google-cloud/protos/google/api/apikeys/v2/BUILD.bazel b/google-cloud/protos/google/api/apikeys/v2/BUILD.bazel new file mode 100644 index 00000000..b2b71c0f --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/v2/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 = "apikeys_proto", + srcs = [ + "apikeys.proto", + "resources.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 = "apikeys_proto_with_info", + deps = [ + ":apikeys_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 = "apikeys_java_proto", + deps = [":apikeys_proto"], +) + +java_grpc_library( + name = "apikeys_java_grpc", + srcs = [":apikeys_proto"], + deps = [":apikeys_java_proto"], +) + +java_gapic_library( + name = "apikeys_java_gapic", + srcs = [":apikeys_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "apikeys_grpc_service_config.json", + service_yaml = "apikeys_v2.yaml", + test_deps = [ + ":apikeys_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":apikeys_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "apikeys_java_gapic_test_suite", + test_classes = [ + "com.google.api.apikeys.v2.ApiKeysClientHttpJsonTest", + "com.google.api.apikeys.v2.ApiKeysClientTest", + ], + runtime_deps = [":apikeys_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-apikeys-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":apikeys_java_gapic", + ":apikeys_java_grpc", + ":apikeys_java_proto", + ":apikeys_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "apikeys_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/apikeys/v2", + protos = [":apikeys_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "apikeys_go_gapic", + srcs = [":apikeys_proto_with_info"], + grpc_service_config = "apikeys_grpc_service_config.json", + importpath = "cloud.google.com/go/api/apikeys/apiv2;apikeys", + metadata = True, + service_yaml = "apikeys_v2.yaml", + transport = "grpc+rest", + deps = [ + ":apikeys_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@com_google_cloud_go//longrunning/autogen:go_default_library", + ], +) + +go_test( + name = "apikeys_go_gapic_test", + srcs = [":apikeys_go_gapic_srcjar_test"], + embed = [":apikeys_go_gapic"], + importpath = "cloud.google.com/go/api/apikeys/apiv2", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-apikeys-v2-go", + deps = [ + ":apikeys_go_gapic", + ":apikeys_go_gapic_srcjar-metadata.srcjar", + ":apikeys_go_gapic_srcjar-test.srcjar", + ":apikeys_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "apikeys_py_gapic", + srcs = [":apikeys_proto"], + grpc_service_config = "apikeys_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-api-keys", + "python-gapic-namespace=google.cloud", + "python-gapic-name=api_keys", + ], + service_yaml = "apikeys_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +py_test( + name = "apikeys_py_gapic_test", + srcs = [ + "apikeys_py_gapic_pytest.py", + "apikeys_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":apikeys_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-apikeys-v2-py", + deps = [ + ":apikeys_py_gapic", + ], +) + +############################################################################## +# 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 = "apikeys_php_proto", + deps = [":apikeys_proto"], +) + +php_grpc_library( + name = "apikeys_php_grpc", + srcs = [":apikeys_proto"], + deps = [":apikeys_php_proto"], +) + +php_gapic_library( + name = "apikeys_php_gapic", + srcs = [":apikeys_proto_with_info"], + grpc_service_config = "apikeys_grpc_service_config.json", + service_yaml = "apikeys_v2.yaml", + deps = [ + ":apikeys_php_grpc", + ":apikeys_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-apikeys-v2-php", + deps = [ + ":apikeys_php_gapic", + ":apikeys_php_grpc", + ":apikeys_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "apikeys_nodejs_gapic", + package_name = "@google-cloud/apikeys", + src = ":apikeys_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "apikeys_grpc_service_config.json", + package = "google.api.apikeys.v2", + service_yaml = "apikeys_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-apikeys-v2-nodejs", + deps = [ + ":apikeys_nodejs_gapic", + ":apikeys_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 = "apikeys_ruby_proto", + deps = [":apikeys_proto"], +) + +ruby_grpc_library( + name = "apikeys_ruby_grpc", + srcs = [":apikeys_proto"], + deps = [":apikeys_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "apikeys_ruby_gapic", + srcs = [":apikeys_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=apikeys.googleapis.com", + "ruby-cloud-api-shortname=apikeys", + "ruby-cloud-gem-name=google-cloud-api_keys-v2", + "ruby-cloud-product-url=https://cloud.google.com/api-keys/", + ], + grpc_service_config = "apikeys_grpc_service_config.json", + ruby_cloud_description = "An API key is a simple encrypted string that you can use when calling Google Cloud APIs. The API Keys service manages the API keys associated with developer projects.", + ruby_cloud_title = "API Keys V2", + service_yaml = "apikeys_v2.yaml", + deps = [ + ":apikeys_ruby_grpc", + ":apikeys_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-apikeys-v2-ruby", + deps = [ + ":apikeys_ruby_gapic", + ":apikeys_ruby_grpc", + ":apikeys_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 = "apikeys_csharp_proto", + deps = [":apikeys_proto"], +) + +csharp_grpc_library( + name = "apikeys_csharp_grpc", + srcs = [":apikeys_proto"], + deps = [":apikeys_csharp_proto"], +) + +csharp_gapic_library( + name = "apikeys_csharp_gapic", + srcs = [":apikeys_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "apikeys_grpc_service_config.json", + service_yaml = "apikeys_v2.yaml", + deps = [ + ":apikeys_csharp_grpc", + ":apikeys_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-apikeys-v2-csharp", + deps = [ + ":apikeys_csharp_gapic", + ":apikeys_csharp_grpc", + ":apikeys_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "apikeys_cc_proto", + deps = [":apikeys_proto"], +) + +cc_grpc_library( + name = "apikeys_cc_grpc", + srcs = [":apikeys_proto"], + grpc_only = True, + deps = [":apikeys_cc_proto"], +) diff --git a/google-cloud/protos/google/api/apikeys/v2/apikeys.proto b/google-cloud/protos/google/api/apikeys/v2/apikeys.proto new file mode 100644 index 00000000..4b0e08ac --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/v2/apikeys.proto @@ -0,0 +1,287 @@ +// 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.api.apikeys.v2; + +import "google/api/annotations.proto"; +import "google/api/apikeys/v2/resources.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.ApiKeys.V2"; +option go_package = "google.golang.org/genproto/googleapis/api/apikeys/v2;apikeys"; +option java_multiple_files = true; +option java_outer_classname = "ApiKeysProto"; +option java_package = "com.google.api.apikeys.v2"; +option php_namespace = "Google\\Cloud\\ApiKeys\\V2"; +option ruby_package = "Google::Cloud::ApiKeys::V2"; + +// Manages the API keys associated with projects. +service ApiKeys { + option (google.api.default_host) = "apikeys.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 new API key. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc CreateKey(CreateKeyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/locations/*}/keys" + body: "key" + }; + option (google.api.method_signature) = "parent,key,key_id"; + option (google.longrunning.operation_info) = { + response_type: "Key" + metadata_type: "google.protobuf.Empty" + }; + } + + // Lists the API keys owned by a project. The key string of the API key + // isn't included in the response. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc ListKeys(ListKeysRequest) returns (ListKeysResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/locations/*}/keys" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the metadata for an API key. The key string of the API key + // isn't included in the response. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc GetKey(GetKeyRequest) returns (Key) { + option (google.api.http) = { + get: "/v2/{name=projects/*/locations/*/keys/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Get the key string for an API key. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc GetKeyString(GetKeyStringRequest) returns (GetKeyStringResponse) { + option (google.api.http) = { + get: "/v2/{name=projects/*/locations/*/keys/*}/keyString" + }; + option (google.api.method_signature) = "name"; + } + + // Patches the modifiable fields of an API key. + // The key string of the API key isn't included in the response. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc UpdateKey(UpdateKeyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v2/{key.name=projects/*/locations/*/keys/*}" + body: "key" + }; + option (google.api.method_signature) = "key,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Key" + metadata_type: "google.protobuf.Empty" + }; + } + + // Deletes an API key. Deleted key can be retrieved within 30 days of + // deletion. Afterward, key will be purged from the project. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc DeleteKey(DeleteKeyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v2/{name=projects/*/locations/*/keys/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Key" + metadata_type: "google.protobuf.Empty" + }; + } + + // Undeletes an API key which was deleted within 30 days. + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + rpc UndeleteKey(UndeleteKeyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/locations/*/keys/*}:undelete" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Key" + metadata_type: "google.protobuf.Empty" + }; + } + + // Find the parent project and resource name of the API + // key that matches the key string in the request. If the API key has been + // purged, resource name will not be set. + // The service account must have the `apikeys.keys.lookup` permission + // on the parent project. + rpc LookupKey(LookupKeyRequest) returns (LookupKeyResponse) { + option (google.api.http) = { + get: "/v2/keys:lookupKey" + }; + } +} + +// Request message for `CreateKey` method. +message CreateKeyRequest { + // Required. The project in which the API key is created. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "apikeys.googleapis.com/Key" + } + ]; + + // Required. The API key fields to set at creation time. + // You can configure only the `display_name`, `restrictions`, and + // `annotations` fields. + Key key = 2 [(google.api.field_behavior) = REQUIRED]; + + // User specified key id (optional). If specified, it will become the final + // component of the key resource 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. In another word, the id must match the regular + // expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + // + // The id must NOT be a UUID-like string. + string key_id = 3; +} + +// Request message for `ListKeys` method. +message ListKeysRequest { + // Required. Lists all API keys associated with this project. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "apikeys.googleapis.com/Key" + } + ]; + + // Optional. Specifies the maximum number of results to be returned at a time. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Requests a specific page of results. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicate that keys deleted in the past 30 days should also be + // returned. + bool show_deleted = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for `ListKeys` method. +message ListKeysResponse { + // A list of API keys. + repeated Key keys = 1; + + // The pagination token for the next page of results. + string next_page_token = 2; +} + +// Request message for `GetKey` method. +message GetKeyRequest { + // Required. The resource name of the API key to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" } + ]; +} + +// Request message for `GetKeyString` method. +message GetKeyStringRequest { + // Required. The resource name of the API key to be retrieved. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" } + ]; +} + +// Response message for `GetKeyString` method. +message GetKeyStringResponse { + // An encrypted and signed value of the key. + string key_string = 1; +} + +// Request message for `UpdateKey` method. +message UpdateKeyRequest { + // Required. Set the `name` field to the resource name of the API key to be + // updated. You can update only the `display_name`, `restrictions`, and + // `annotations` fields. + Key key = 1 [(google.api.field_behavior) = REQUIRED]; + + // The field mask specifies which fields to be updated as part of this + // request. All other fields are ignored. + // Mutable fields are: `display_name`, `restrictions`, and `annotations`. + // If an update mask is not provided, the service treats it as an implied mask + // equivalent to all allowed fields that are set on the wire. If the field + // mask has a special value "*", the service treats it equivalent to replace + // all allowed mutable fields. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for `DeleteKey` method. +message DeleteKeyRequest { + // Required. The resource name of the API key to be deleted. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" } + ]; + + // Optional. The etag known to the client for the expected state of the key. + // This is to be used for optimistic concurrency. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for `UndeleteKey` method. +message UndeleteKeyRequest { + // Required. The resource name of the API key to be undeleted. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "apikeys.googleapis.com/Key" } + ]; +} + +// Request message for `LookupKey` method. +message LookupKeyRequest { + // Required. Finds the project that owns the key string value. + string key_string = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for `LookupKey` method. +message LookupKeyResponse { + // The project that owns the key with the value specified in the request. + string parent = 1; + + // The resource name of the API key. If the API key has been purged, + // resource name is empty. + string name = 2; +} diff --git a/google-cloud/protos/google/api/apikeys/v2/apikeys_grpc_service_config.json b/google-cloud/protos/google/api/apikeys/v2/apikeys_grpc_service_config.json new file mode 100644 index 00000000..418bf99a --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/v2/apikeys_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.apikeys.v2.ApiKeys" } + ], + "timeout": "10s" + }] +} diff --git a/google-cloud/protos/google/api/apikeys/v2/apikeys_v2.yaml b/google-cloud/protos/google/api/apikeys/v2/apikeys_v2.yaml new file mode 100644 index 00000000..0f9403e1 --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/v2/apikeys_v2.yaml @@ -0,0 +1,55 @@ +type: google.api.Service +config_version: 3 +name: apikeys.googleapis.com +title: API Keys API + +apis: +- name: google.api.apikeys.v2.ApiKeys +- name: google.longrunning.Operations + +documentation: + summary: Manages the API keys associated with developer projects. + +backend: + rules: + - selector: 'google.api.apikeys.v2.ApiKeys.*' + deadline: 120.0 + - selector: google.longrunning.Operations.GetOperation + deadline: 120.0 + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v2/{name=operations/*}' + +authentication: + rules: + - selector: 'google.api.apikeys.v2.ApiKeys.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.api.apikeys.v2.ApiKeys.GetKey + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.apikeys.v2.ApiKeys.GetKeyString + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.apikeys.v2.ApiKeys.ListKeys + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.apikeys.v2.ApiKeys.LookupKey + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/api/apikeys/v2/resources.proto b/google-cloud/protos/google/api/apikeys/v2/resources.proto new file mode 100644 index 00000000..08e0b11a --- /dev/null +++ b/google-cloud/protos/google/api/apikeys/v2/resources.proto @@ -0,0 +1,172 @@ +// 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.api.apikeys.v2; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ApiKeys.V2"; +option go_package = "google.golang.org/genproto/googleapis/api/apikeys/v2;apikeys"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.apikeys.v2"; +option php_namespace = "Google\\Cloud\\ApiKeys\\V2"; +option ruby_package = "Google::Cloud::ApiKeys::V2"; + +// The representation of a key managed by the API Keys API. +message Key { + option (google.api.resource) = { + type: "apikeys.googleapis.com/Key" + pattern: "projects/{project}/locations/{location}/keys/{key}" + plural: "keys" + singular: "key" + style: DECLARATIVE_FRIENDLY + }; + + // Output only. The resource name of the key. + // The `name` has the form: + // `projects//locations/global/keys/`. + // For example: + // `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` + // + // NOTE: Key is a global resource; hence the only supported value for + // location is `global`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique id in UUID4 format. + string uid = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Human-readable display name of this key that you can modify. + // The maximum length is 63 characters. + string display_name = 2; + + // Output only. An encrypted and signed value held by this key. + // This field can be accessed only through the `GetKeyString` method. + string key_string = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A timestamp identifying the time this key was originally + // created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A timestamp identifying the time this key was last + // updated. + google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A timestamp when this key was deleted. If the resource is not deleted, + // this must be empty. + google.protobuf.Timestamp delete_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Annotations is an unstructured key-value map stored with a policy that + // may be set by external tools to store and retrieve arbitrary metadata. + // They are not queryable and should be preserved when modifying objects. + map annotations = 8; + + // Key restrictions. + Restrictions restrictions = 9; + + // Output only. A checksum computed by the server based on the current value of the Key + // resource. This may be sent on update and delete requests to ensure the + // client has an up-to-date value before proceeding. + // See https://google.aip.dev/154. + string etag = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Describes the restrictions on the key. +message Restrictions { + // The websites, IP addresses, Android apps, or iOS apps (the clients) that + // are allowed to use the key. You can specify only one type of client + // restrictions per key. + oneof client_restrictions { + // The HTTP referrers (websites) that are allowed to use the key. + BrowserKeyRestrictions browser_key_restrictions = 1; + + // The IP addresses of callers that are allowed to use the key. + ServerKeyRestrictions server_key_restrictions = 2; + + // The Android apps that are allowed to use the key. + AndroidKeyRestrictions android_key_restrictions = 3; + + // The iOS apps that are allowed to use the key. + IosKeyRestrictions ios_key_restrictions = 4; + } + + // A restriction for a specific service and optionally one or + // more specific methods. Requests are allowed if they + // match any of these restrictions. If no restrictions are + // specified, all targets are allowed. + repeated ApiTarget api_targets = 5; +} + +// The HTTP referrers (websites) that are allowed to use the key. +message BrowserKeyRestrictions { + // A list of regular expressions for the referrer URLs that are allowed + // to make API calls with this key. + repeated string allowed_referrers = 1; +} + +// The IP addresses of callers that are allowed to use the key. +message ServerKeyRestrictions { + // A list of the caller IP addresses that are allowed to make API calls + // with this key. + repeated string allowed_ips = 1; +} + +// The Android apps that are allowed to use the key. +message AndroidKeyRestrictions { + // A list of Android applications that are allowed to make API calls with + // this key. + repeated AndroidApplication allowed_applications = 1; +} + +// Identifier of an Android application for key use. +message AndroidApplication { + // The SHA1 fingerprint of the application. For example, both sha1 formats are + // acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or + // DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. + // Output format is the latter. + string sha1_fingerprint = 1; + + // The package name of the application. + string package_name = 2; +} + +// The iOS apps that are allowed to use the key. +message IosKeyRestrictions { + // A list of bundle IDs that are allowed when making API calls with this key. + repeated string allowed_bundle_ids = 1; +} + +// A restriction for a specific service and optionally one or multiple +// specific methods. Both fields are case insensitive. +message ApiTarget { + // The service for this restriction. It should be the canonical + // service name, for example: `translate.googleapis.com`. + // You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) + // to get a list of services that are enabled in the project. + string service = 1; + + // Optional. List of one or more methods that can be called. + // If empty, all methods for the service are allowed. A wildcard + // (*) can be used as the last symbol. + // Valid examples: + // `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` + // `TranslateText` + // `Get*` + // `translate.googleapis.com.Get*` + repeated string methods = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/api/auth.proto b/google-cloud/protos/google/api/auth.proto index 7c5d6166..54026e1a 100644 --- a/google-cloud/protos/google/api/auth.proto +++ b/google-cloud/protos/google/api/auth.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -23,9 +22,10 @@ option java_outer_classname = "AuthProto"; option java_package = "com.google.api"; option objc_class_prefix = "GAPI"; -// `Authentication` defines the authentication configuration for an API. +// `Authentication` defines the authentication configuration for API methods +// provided by an API service. // -// Example for an API targeted for external use: +// Example: // // name: calendar.googleapis.com // authentication: @@ -37,6 +37,9 @@ option objc_class_prefix = "GAPI"; // - selector: "*" // requirements: // provider_id: google_calendar_auth +// - selector: google.calendar.Delegate +// oauth: +// canonical_scopes: https://www.googleapis.com/auth/calendar.read message Authentication { // A list of authentication rules that apply to individual API methods. // @@ -66,12 +69,34 @@ message AuthenticationRule { OAuthRequirements oauth = 2; // If true, the service accepts API keys without any other credential. + // This flag only applies to HTTP and gRPC requests. bool allow_without_credential = 5; // Requirements for additional authentication providers. repeated AuthRequirement requirements = 7; } +// Specifies a location to extract JWT from an API request. +message JwtLocation { + oneof in { + // Specifies HTTP header name to extract JWT token. + string header = 1; + + // Specifies URL query parameter name to extract JWT token. + string query = 2; + } + + // The value prefix. The value format is "value_prefix{token}" + // Only applies to "in" header type. Must be empty for "in" query type. + // If not empty, the header value has to match (case sensitive) this prefix. + // If not matched, JWT will not be extracted. If matched, JWT will be + // extracted after the prefix is removed. + // + // For example, for "Authorization: Bearer {JWT}", + // value_prefix="Bearer " with a space at the end. + string value_prefix = 3; +} + // Configuration for an authentication provider, including support for // [JSON Web Token // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). @@ -96,8 +121,8 @@ message AuthProvider { // Optional if the key set document: // - can be retrieved from // [OpenID - // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of - // the issuer. + // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) + // of the issuer. // - can be inferred from the email domain of the issuer (e.g. a Google // service account). // @@ -107,11 +132,15 @@ message AuthProvider { // The list of JWT // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). // that are allowed to access. A JWT containing any of these audiences will - // be accepted. When this setting is absent, only JWTs with audience - // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]" - // will be accepted. For example, if no audiences are in the setting, - // LibraryService API will only accept JWTs with the following audience - // "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + // be accepted. When this setting is absent, JWTs with audiences: + // - "https://[service.name]/[google.protobuf.Api.name]" + // - "https://[service.name]/" + // will be accepted. + // For example, if no audiences are in the setting, LibraryService API will + // accept JWTs with the following audiences: + // - + // https://library-example.googleapis.com/google.example.library.v1.LibraryService + // - https://library-example.googleapis.com/ // // Example: // @@ -122,6 +151,25 @@ message AuthProvider { // Redirect URL if JWT token is required but not present or is expired. // Implement authorizationUrl of securityDefinitions in OpenAPI spec. string authorization_url = 5; + + // Defines the locations to extract the JWT. + // + // JWT locations can be either from HTTP headers or URL query parameters. + // The rule is that the first match wins. The checking order is: checking + // all headers first, then URL query parameters. + // + // If not specified, default to use following 3 locations: + // 1) Authorization: Bearer + // 2) x-goog-iap-jwt-assertion + // 3) access_token query parameter + // + // Default locations can be specified as followings: + // jwt_locations: + // - header: Authorization + // value_prefix: "Bearer " + // - header: x-goog-iap-jwt-assertion + // - query: access_token + repeated JwtLocation jwt_locations = 6; } // OAuth scopes are a way to define data and permissions on data. For example, diff --git a/google-cloud/protos/google/api/backend.proto b/google-cloud/protos/google/api/backend.proto index 26a16ef4..da387869 100644 --- a/google-cloud/protos/google/api/backend.proto +++ b/google-cloud/protos/google/api/backend.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -96,10 +95,29 @@ message BackendRule { string selector = 1; // The address of the API backend. + // + // The scheme is used to determine the backend protocol and security. + // The following schemes are accepted: + // + // SCHEME PROTOCOL SECURITY + // http:// HTTP None + // https:// HTTP TLS + // grpc:// gRPC None + // grpcs:// gRPC TLS + // + // It is recommended to explicitly include a scheme. Leaving out the scheme + // may cause constrasting behaviors across platforms. + // + // If the port is unspecified, the default is: + // - 80 for schemes without TLS + // - 443 for schemes with TLS + // + // For HTTP backends, use [protocol][google.api.BackendRule.protocol] + // to specify the protocol version. string address = 2; - // The number of seconds to wait for a response from a request. The default - // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds. + // The number of seconds to wait for a response from a request. The default + // varies based on the request protocol and deployment environment. double deadline = 3; // Minimum deadline in seconds needed for this method. Calls having deadline @@ -120,8 +138,45 @@ message BackendRule { // // For example, specifying `jwt_audience` implies that the backend expects // authentication via a JWT. + // + // When authentication is unspecified, the resulting behavior is the same + // as `disable_auth` set to `true`. + // + // Refer to https://developers.google.com/identity/protocols/OpenIDConnect for + // JWT ID token. oneof authentication { - // The JWT audience is used when generating a JWT id token for the backend. + // The JWT audience is used when generating a JWT ID token for the backend. + // This ID token will be added in the HTTP "authorization" header, and sent + // to the backend. string jwt_audience = 7; + + // When disable_auth is true, a JWT ID token won't be generated and the + // original "Authorization" HTTP header will be preserved. If the header is + // used to carry the original token and is expected by the backend, this + // field must be set to true to preserve the header. + bool disable_auth = 8; } + + // The protocol used for sending a request to the backend. + // The supported values are "http/1.1" and "h2". + // + // The default value is inferred from the scheme in the + // [address][google.api.BackendRule.address] field: + // + // SCHEME PROTOCOL + // http:// http/1.1 + // https:// http/1.1 + // grpc:// h2 + // grpcs:// h2 + // + // For secure HTTP backends (https://) that support HTTP/2, set this field + // to "h2" for improved performance. + // + // Configuring this field to non-default values is only supported for secure + // HTTP backends. This field will be ignored for all other backends. + // + // See + // https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + // for more details on the supported values. + string protocol = 9; } diff --git a/google-cloud/protos/google/api/billing.proto b/google-cloud/protos/google/api/billing.proto index 87c11e7f..e94c2ec5 100644 --- a/google-cloud/protos/google/api/billing.proto +++ b/google-cloud/protos/google/api/billing.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,14 +11,11 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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/api/metric.proto"; - option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; option java_multiple_files = true; option java_outer_classname = "BillingProto"; @@ -28,22 +25,33 @@ option objc_class_prefix = "GAPI"; // Billing related configuration of the service. // // The following example shows how to configure monitored resources and metrics -// for billing: +// for billing, `consumer_destinations` is the only supported destination and +// the monitored resources need at least one label key +// `cloud.googleapis.com/location` to indicate the location of the billing +// usage, using different monitored resources between monitoring and billing is +// recommended so they can be evolved independently: +// // // monitored_resources: -// - type: library.googleapis.com/branch +// - type: library.googleapis.com/billing_branch // labels: -// - key: /city -// description: The city where the library branch is located in. -// - key: /name -// description: The name of the branch. +// - key: cloud.googleapis.com/location +// description: | +// Predefined label to support billing location restriction. +// - key: city +// description: | +// Custom label to define the city where the library branch is located +// in. +// - key: name +// description: Custom label to define the name of the library branch. // metrics: // - name: library.googleapis.com/book/borrowed_count // metric_kind: DELTA // value_type: INT64 +// unit: "1" // billing: // consumer_destinations: -// - monitored_resource: library.googleapis.com/branch +// - monitored_resource: library.googleapis.com/billing_branch // metrics: // - library.googleapis.com/book/borrowed_count message Billing { diff --git a/google-cloud/protos/google/api/client.proto b/google-cloud/protos/google/api/client.proto index 56f8664a..3b3fd0c4 100644 --- a/google-cloud/protos/google/api/client.proto +++ b/google-cloud/protos/google/api/client.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2018 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; diff --git a/google-cloud/protos/google/api/config_change.proto b/google-cloud/protos/google/api/config_change.proto index c36764a5..f1fcde4f 100644 --- a/google-cloud/protos/google/api/config_change.proto +++ b/google-cloud/protos/google/api/config_change.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; diff --git a/google-cloud/protos/google/api/consumer.proto b/google-cloud/protos/google/api/consumer.proto index 0facc2eb..b7e5df1c 100644 --- a/google-cloud/protos/google/api/consumer.proto +++ b/google-cloud/protos/google/api/consumer.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2016 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/google-cloud/protos/google/api/context.proto b/google-cloud/protos/google/api/context.proto index 2d330f6f..8e776ecf 100644 --- a/google-cloud/protos/google/api/context.proto +++ b/google-cloud/protos/google/api/context.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -41,7 +40,7 @@ option objc_class_prefix = "GAPI"; // Available context types are defined in package // `google.rpc.context`. // -// This also provides mechanism to whitelist any protobuf message extension that +// This also provides mechanism to allowlist any protobuf message extension that // can be sent in grpc metadata using “x-goog-ext--bin” and // “x-goog-ext--jspb” format. For example, list any service // specific protobuf types that can appear in grpc metadata as follows in your diff --git a/google-cloud/protos/google/api/control.proto b/google-cloud/protos/google/api/control.proto index e769f978..6eb1958e 100644 --- a/google-cloud/protos/google/api/control.proto +++ b/google-cloud/protos/google/api/control.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; diff --git a/google-cloud/protos/google/api/distribution.proto b/google-cloud/protos/google/api/distribution.proto index ee45d9dc..b079a438 100644 --- a/google-cloud/protos/google/api/distribution.proto +++ b/google-cloud/protos/google/api/distribution.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -176,7 +175,7 @@ message Distribution { // // Sum[i=1..n]((x_i - mean)^2) // - // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition + // Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition // describes Welford's method for accumulating this sum in one pass. // // If `count` is zero then this field must be zero. diff --git a/google-cloud/protos/google/api/documentation.proto b/google-cloud/protos/google/api/documentation.proto index 74cbf67e..7288169b 100644 --- a/google-cloud/protos/google/api/documentation.proto +++ b/google-cloud/protos/google/api/documentation.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -94,6 +93,12 @@ message Documentation { // The URL to the root of documentation. string documentation_root_url = 4; + // Specifies the service root url if the default one (the service name + // from the yaml file) is not suitable. This can be seen in any fully + // specified service urls as well as sections that show a base that other + // urls are relative to. + string service_root_url = 6; + // Declares a single overview page. For example: //
documentation:
   //   summary: ...
diff --git a/google-cloud/protos/google/api/endpoint.proto b/google-cloud/protos/google/api/endpoint.proto
index 2077334d..a434e8e7 100644
--- a/google-cloud/protos/google/api/endpoint.proto
+++ b/google-cloud/protos/google/api/endpoint.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -23,10 +22,10 @@ option java_outer_classname = "EndpointProto";
 option java_package = "com.google.api";
 option objc_class_prefix = "GAPI";
 
-// `Endpoint` describes a network endpoint that serves a set of APIs.
-// A service may expose any number of endpoints, and all endpoints share the
-// same service configuration, such as quota configuration and monitoring
-// configuration.
+// `Endpoint` describes a network endpoint of a service that serves a set of
+// APIs. It is commonly known as a service endpoint. A service may expose
+// any number of service endpoints, and all service endpoints share the same
+// service definition, such as quota limits and monitoring metrics.
 //
 // Example service configuration:
 //
@@ -43,6 +42,8 @@ message Endpoint {
   // The canonical name of this endpoint.
   string name = 1;
 
+  // Unimplemented. Dot not use.
+  //
   // DEPRECATED: This field is no longer supported. Instead of using aliases,
   // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intended
   // aliases.
@@ -50,9 +51,6 @@ message Endpoint {
   // Additional names that this endpoint will be hosted on.
   repeated string aliases = 2 [deprecated = true];
 
-  // The list of features enabled on this endpoint.
-  repeated string features = 4;
-
   // The specification of an Internet routable address of API frontend that will
   // handle requests to this [API
   // Endpoint](https://cloud.google.com/apis/design/glossary). It should be
diff --git a/google-cloud/protos/google/api/error_reason.proto b/google-cloud/protos/google/api/error_reason.proto
new file mode 100644
index 00000000..393c808b
--- /dev/null
+++ b/google-cloud/protos/google/api/error_reason.proto
@@ -0,0 +1,397 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.api;
+
+option go_package = "google.golang.org/genproto/googleapis/api/error_reason;error_reason";
+option java_multiple_files = true;
+option java_outer_classname = "ErrorReasonProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+// Defines the supported values for `google.rpc.ErrorInfo.reason` for the
+// `googleapis.com` error domain. This error domain is reserved for [Service
+// Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview).
+// For each error info of this domain, the metadata key "service" refers to the
+// logical identifier of an API service, such as "pubsub.googleapis.com". The
+// "consumer" refers to the entity that consumes an API Service. It typically is
+// a Google project that owns the client application or the server resource,
+// such as "projects/123". Other metadata keys are specific to each error
+// reason. For more information, see the definition of the specific error
+// reason.
+enum ErrorReason {
+  // Do not use this default value.
+  ERROR_REASON_UNSPECIFIED = 0;
+
+  // The request is calling a disabled service for a consumer.
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" contacting
+  // "pubsub.googleapis.com" service which is disabled:
+  //
+  //     { "reason": "SERVICE_DISABLED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "pubsub.googleapis.com"
+  //       }
+  //     }
+  //
+  // This response indicates the "pubsub.googleapis.com" has been disabled in
+  // "projects/123".
+  SERVICE_DISABLED = 1;
+
+  // The request whose associated billing account is disabled.
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+  // "pubsub.googleapis.com" service because the associated billing account is
+  // disabled:
+  //
+  //     { "reason": "BILLING_DISABLED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "pubsub.googleapis.com"
+  //       }
+  //     }
+  //
+  // This response indicates the billing account associated has been disabled.
+  BILLING_DISABLED = 2;
+
+  // The request is denied because the provided [API
+  // key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It
+  // may be in a bad format, cannot be found, or has been expired).
+  //
+  // Example of an ErrorInfo when the request is contacting
+  // "storage.googleapis.com" service with an invalid API key:
+  //
+  //     { "reason": "API_KEY_INVALID",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "service": "storage.googleapis.com",
+  //       }
+  //     }
+  API_KEY_INVALID = 3;
+
+  // The request is denied because it violates [API key API
+  // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions).
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call the
+  // "storage.googleapis.com" service because this service is restricted in the
+  // API key:
+  //
+  //     { "reason": "API_KEY_SERVICE_BLOCKED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  API_KEY_SERVICE_BLOCKED = 4;
+
+  // The request is denied because it violates [API key HTTP
+  // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions).
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call
+  // "storage.googleapis.com" service because the http referrer of the request
+  // violates API key HTTP restrictions:
+  //
+  //     { "reason": "API_KEY_HTTP_REFERRER_BLOCKED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com",
+  //       }
+  //     }
+  API_KEY_HTTP_REFERRER_BLOCKED = 7;
+
+  // The request is denied because it violates [API key IP address
+  // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call
+  // "storage.googleapis.com" service because the caller IP of the request
+  // violates API key IP address restrictions:
+  //
+  //     { "reason": "API_KEY_IP_ADDRESS_BLOCKED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com",
+  //       }
+  //     }
+  API_KEY_IP_ADDRESS_BLOCKED = 8;
+
+  // The request is denied because it violates [API key Android application
+  // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call
+  // "storage.googleapis.com" service because the request from the Android apps
+  // violates the API key Android application restrictions:
+  //
+  //     { "reason": "API_KEY_ANDROID_APP_BLOCKED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  API_KEY_ANDROID_APP_BLOCKED = 9;
+
+  // The request is denied because it violates [API key iOS application
+  // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call
+  // "storage.googleapis.com" service because the request from the iOS apps
+  // violates the API key iOS application restrictions:
+  //
+  //     { "reason": "API_KEY_IOS_APP_BLOCKED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  API_KEY_IOS_APP_BLOCKED = 13;
+
+  // The request is denied because there is not enough rate quota for the
+  // consumer.
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+  // "pubsub.googleapis.com" service because consumer's rate quota usage has
+  // reached the maximum value set for the quota limit
+  // "ReadsPerMinutePerProject" on the quota metric
+  // "pubsub.googleapis.com/read_requests":
+  //
+  //     { "reason": "RATE_LIMIT_EXCEEDED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "pubsub.googleapis.com",
+  //         "quota_metric": "pubsub.googleapis.com/read_requests",
+  //         "quota_limit": "ReadsPerMinutePerProject"
+  //       }
+  //     }
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" checks quota on
+  // the service "dataflow.googleapis.com" and hits the organization quota
+  // limit "DefaultRequestsPerMinutePerOrganization" on the metric
+  // "dataflow.googleapis.com/default_requests".
+  //
+  //     { "reason": "RATE_LIMIT_EXCEEDED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "dataflow.googleapis.com",
+  //         "quota_metric": "dataflow.googleapis.com/default_requests",
+  //         "quota_limit": "DefaultRequestsPerMinutePerOrganization"
+  //       }
+  //     }
+  RATE_LIMIT_EXCEEDED = 5;
+
+  // The request is denied because there is not enough resource quota for the
+  // consumer.
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+  // "compute.googleapis.com" service because consumer's resource quota usage
+  // has reached the maximum value set for the quota limit "VMsPerProject"
+  // on the quota metric "compute.googleapis.com/vms":
+  //
+  //     { "reason": "RESOURCE_QUOTA_EXCEEDED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "compute.googleapis.com",
+  //         "quota_metric": "compute.googleapis.com/vms",
+  //         "quota_limit": "VMsPerProject"
+  //       }
+  //     }
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" checks resource
+  // quota on the service "dataflow.googleapis.com" and hits the organization
+  // quota limit "jobs-per-organization" on the metric
+  // "dataflow.googleapis.com/job_count".
+  //
+  //     { "reason": "RESOURCE_QUOTA_EXCEEDED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "dataflow.googleapis.com",
+  //         "quota_metric": "dataflow.googleapis.com/job_count",
+  //         "quota_limit": "jobs-per-organization"
+  //       }
+  //     }
+  RESOURCE_QUOTA_EXCEEDED = 6;
+
+  // The request whose associated billing account address is in a tax restricted
+  // location, violates the local tax restrictions when creating resources in
+  // the restricted region.
+  //
+  // Example of an ErrorInfo when creating the Cloud Storage Bucket in the
+  // container "projects/123" under a tax restricted region
+  // "locations/asia-northeast3":
+  //
+  //     { "reason": "LOCATION_TAX_POLICY_VIOLATED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com",
+  //         "location": "locations/asia-northeast3"
+  //       }
+  //     }
+  //
+  // This response indicates creating the Cloud Storage Bucket in
+  // "locations/asia-northeast3" violates the location tax restriction.
+  LOCATION_TAX_POLICY_VIOLATED = 10;
+
+  // The request is denied because the caller does not have required permission
+  // on the user project "projects/123" or the user project is invalid. For more
+  // information, check the [userProject System
+  // Parameters](https://cloud.google.com/apis/docs/system-parameters).
+  //
+  // Example of an ErrorInfo when the caller is calling Cloud Storage service
+  // with insufficient permissions on the user project:
+  //
+  //     { "reason": "USER_PROJECT_DENIED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  USER_PROJECT_DENIED = 11;
+
+  // The request is denied because the consumer "projects/123" is suspended due
+  // to Terms of Service(Tos) violations. Check [Project suspension
+  // guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines)
+  // for more information.
+  //
+  // Example of an ErrorInfo when calling Cloud Storage service with the
+  // suspended consumer "projects/123":
+  //
+  //     { "reason": "CONSUMER_SUSPENDED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  CONSUMER_SUSPENDED = 12;
+
+  // The request is denied because the associated consumer is invalid. It may be
+  // in a bad format, cannot be found, or have been deleted.
+  //
+  // Example of an ErrorInfo when calling Cloud Storage service with the
+  // invalid consumer "projects/123":
+  //
+  //     { "reason": "CONSUMER_INVALID",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  CONSUMER_INVALID = 14;
+
+  // The request is denied because it violates [VPC Service
+  // Controls](https://cloud.google.com/vpc-service-controls/docs/overview).
+  // The 'uid' field is a random generated identifier that customer can use it
+  // to search the audit log for a request rejected by VPC Service Controls. For
+  // more information, please refer [VPC Service Controls
+  // Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id)
+  //
+  // Example of an ErrorInfo when the consumer "projects/123" fails to call
+  // Cloud Storage service because the request is prohibited by the VPC Service
+  // Controls.
+  //
+  //     { "reason": "SECURITY_POLICY_VIOLATED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "uid": "123456789abcde",
+  //         "consumer": "projects/123",
+  //         "service": "storage.googleapis.com"
+  //       }
+  //     }
+  SECURITY_POLICY_VIOLATED = 15;
+
+  // The request is denied because the provided access token has expired.
+  //
+  // Example of an ErrorInfo when the request is calling Cloud Storage service
+  // with an expired access token:
+  //
+  //     { "reason": "ACCESS_TOKEN_EXPIRED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "service": "storage.googleapis.com",
+  //         "method": "google.storage.v1.Storage.GetObject"
+  //       }
+  //     }
+  ACCESS_TOKEN_EXPIRED = 16;
+
+  // The request is denied because the provided access token doesn't have at
+  // least one of the acceptable scopes required for the API. Please check
+  // [OAuth 2.0 Scopes for Google
+  // APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for
+  // the list of the OAuth 2.0 scopes that you might need to request to access
+  // the API.
+  //
+  // Example of an ErrorInfo when the request is calling Cloud Storage service
+  // with an access token that is missing required scopes:
+  //
+  //     { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "service": "storage.googleapis.com",
+  //         "method": "google.storage.v1.Storage.GetObject"
+  //       }
+  //     }
+  ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17;
+
+  // The request is denied because the account associated with the provided
+  // access token is in an invalid state, such as disabled or deleted.
+  // For more information, see https://cloud.google.com/docs/authentication.
+  //
+  // Warning: For privacy reasons, the server may not be able to disclose the
+  // email address for some accounts. The client MUST NOT depend on the
+  // availability of the `email` attribute.
+  //
+  // Example of an ErrorInfo when the request is to the Cloud Storage API with
+  // an access token that is associated with a disabled or deleted [service
+  // account](http://cloud/iam/docs/service-accounts):
+  //
+  //     { "reason": "ACCOUNT_STATE_INVALID",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "service": "storage.googleapis.com",
+  //         "method": "google.storage.v1.Storage.GetObject",
+  //         "email": "user@123.iam.gserviceaccount.com"
+  //       }
+  //     }
+  ACCOUNT_STATE_INVALID = 18;
+
+  // The request is denied because the type of the provided access token is not
+  // supported by the API being called.
+  //
+  // Example of an ErrorInfo when the request is to the Cloud Storage API with
+  // an unsupported token type.
+  //
+  //     { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED",
+  //       "domain": "googleapis.com",
+  //       "metadata": {
+  //         "service": "storage.googleapis.com",
+  //         "method": "google.storage.v1.Storage.GetObject"
+  //       }
+  //     }
+  ACCESS_TOKEN_TYPE_UNSUPPORTED = 19;
+}
diff --git a/google-cloud/protos/google/api/expr/artman_cel.yaml b/google-cloud/protos/google/api/expr/artman_cel.yaml
deleted file mode 100644
index 89d2d28b..00000000
--- a/google-cloud/protos/google/api/expr/artman_cel.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file is auto-generated based on service config and could be
-# incorrect. The API producer can manually edit it. Remove all the FIXMEs
-# before sending this file out for review.
-common:
-  api_name: cel
-  api_version: v1alpha1
-  organization_name: google-cloud
-  proto_deps:
-    - name: google-common-protos
-  src_proto_paths:
-  - v1alpha1
-  service_yaml: cel.yaml
-  gapic_yaml: v1alpha1/cel_gapic.yaml
-artifacts:
-- name: gapic_config
-  type: GAPIC_CONFIG
-- name: java_gapic
-  type: GAPIC
-  language: JAVA
-- name: python_gapic
-  type: GAPIC
-  language: PYTHON
-- name: nodejs_gapic
-  type: GAPIC
-  language: NODEJS
-- name: php_gapic
-  type: GAPIC
-  language: PHP
-- name: go_gapic
-  type: GAPIC
-  language: GO
-- name: ruby_gapic
-  type: GAPIC
-  language: RUBY
-- name: csharp_gapic
-  type: GAPIC
-  language: CSHARP
diff --git a/google-cloud/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel b/google-cloud/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel
new file mode 100644
index 00000000..012109e2
--- /dev/null
+++ b/google-cloud/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel
@@ -0,0 +1,178 @@
+# 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 = "conformance_proto",
+    srcs = [
+        "conformance_service.proto",
+    ],
+    deps = [
+        "//google/api/expr/v1alpha1:checked_proto",
+        "//google/api/expr/v1alpha1:eval_proto",
+        "//google/api/expr/v1alpha1:syntax_proto",
+        "//google/api:client_proto",
+        "//google/rpc:status_proto",
+    ],
+)
+
+##############################################################################
+# Java
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "java_grpc_library",
+    "java_proto_library",
+)
+
+java_proto_library(
+    name = "conformance_java_proto",
+    deps = [":conformance_proto"],
+)
+
+java_grpc_library(
+    name = "conformance_java_grpc",
+    srcs = [":conformance_proto"],
+    deps = [":conformance_java_proto"],
+)
+
+##############################################################################
+# Go
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "go_proto_library",
+)
+
+go_proto_library(
+    name = "conformance_go_proto",
+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+    importpath = "google.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1",
+    protos = [":conformance_proto"],
+    deps = [
+        "//google/api/expr/v1alpha1:expr_go_proto",
+        "//google/api:annotations_go_proto",
+        "//google/rpc:status_go_proto",
+    ],
+)
+
+##############################################################################
+# Python
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "moved_proto_library",
+    "py_grpc_library",
+    "py_proto_library",
+)
+
+moved_proto_library(
+    name = "conformance_moved_proto",
+    srcs = [":conformance_proto"],
+    deps = [
+        "//google/api/expr/v1alpha1:checked_proto",
+        "//google/api/expr/v1alpha1:eval_proto",
+        "//google/api/expr/v1alpha1:syntax_proto",
+        "//google/api:client_proto",
+        "//google/rpc:status_proto",
+    ],
+)
+
+py_proto_library(
+    name = "conformance_py_proto",
+    deps = [":conformance_moved_proto"],
+)
+
+py_grpc_library(
+    name = "conformance_py_grpc",
+    srcs = [":conformance_moved_proto"],
+    deps = [":conformance_py_proto"],
+)
+
+##############################################################################
+# PHP
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "php_grpc_library",
+    "php_proto_library",
+)
+
+php_proto_library(
+    name = "conformance_php_proto",
+    deps = [":conformance_proto"],
+)
+
+php_grpc_library(
+    name = "conformance_php_grpc",
+    srcs = [":conformance_proto"],
+    deps = [":conformance_php_proto"],
+)
+
+##############################################################################
+# Ruby
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "ruby_grpc_library",
+    "ruby_proto_library",
+)
+
+ruby_proto_library(
+    name = "conformance_ruby_proto",
+    deps = [":conformance_proto"],
+)
+
+ruby_grpc_library(
+    name = "conformance_ruby_grpc",
+    srcs = [":conformance_proto"],
+    deps = [":conformance_ruby_proto"],
+)
+
+##############################################################################
+# C#
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "csharp_grpc_library",
+    "csharp_proto_library",
+)
+
+csharp_proto_library(
+    name = "conformance_csharp_proto",
+    deps = [":conformance_proto"],
+)
+
+csharp_grpc_library(
+    name = "conformance_csharp_grpc",
+    srcs = [":conformance_proto"],
+    deps = [":conformance_csharp_proto"],
+)
+
+##############################################################################
+# C++
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "cc_grpc_library",
+    "cc_proto_library",
+)
+
+cc_proto_library(
+    name = "conformance_cc_proto",
+    deps = [":conformance_proto"],
+)
+
+cc_grpc_library(
+    name = "conformance_cc_grpc",
+    srcs = [":conformance_proto"],
+    generate_mocks = True,
+    grpc_only = True,
+    deps = [":conformance_cc_proto"],
+)
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/conformance_service.proto b/google-cloud/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto
similarity index 83%
rename from google-cloud/protos/google/api/expr/v1alpha1/conformance_service.proto
rename to google-cloud/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto
index e0d5286b..91616984 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/conformance_service.proto
+++ b/google-cloud/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,24 +11,22 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF 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.expr.v1alpha1;
+package google.api.expr.conformance.v1alpha1;
 
-import "google/api/client.proto";
 import "google/api/expr/v1alpha1/checked.proto";
 import "google/api/expr/v1alpha1/eval.proto";
 import "google/api/expr/v1alpha1/syntax.proto";
-import "google/api/field_behavior.proto";
 import "google/rpc/status.proto";
+import "google/api/client.proto";
 
 option cc_enable_arenas = true;
-option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
+option go_package = "google.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1;confpb";
 option java_multiple_files = true;
 option java_outer_classname = "ConformanceServiceProto";
-option java_package = "com.google.api.expr.v1alpha1";
+option java_package = "com.google.api.expr.conformance.v1alpha1";
 
 // Access a CEL implementation from another process or machine.
 // A CEL implementation is decomposed as a parser, a static checker,
@@ -40,13 +38,11 @@ service ConformanceService {
 
   // Transforms CEL source text into a parsed representation.
   rpc Parse(ParseRequest) returns (ParseResponse) {
-    option (google.api.method_signature) = "cel_source";
   }
 
   // Runs static checks on a parsed CEL representation and return
   // an annotated representation, or a set of issues.
   rpc Check(CheckRequest) returns (CheckResponse) {
-    option (google.api.method_signature) = "parsed_expr";
   }
 
   // Evaluates a parsed or annotation CEL representation given
@@ -58,12 +54,12 @@ service ConformanceService {
 // Request message for the Parse method.
 message ParseRequest {
   // Required. Source text in CEL syntax.
-  string cel_source = 1 [(google.api.field_behavior) = REQUIRED];
+  string cel_source = 1;
 
   // Tag for version of CEL syntax, for future use.
   string syntax_version = 2;
 
-  // File or resource for source text, used in [SourceInfo][google.api.expr.v1alpha1.SourceInfo].
+  // File or resource for source text, used in [SourceInfo][google.api.SourceInfo].
   string source_location = 3;
 
   // Prevent macro expansion.  See "Macros" in Language Defiinition.
@@ -73,7 +69,7 @@ message ParseRequest {
 // Response message for the Parse method.
 message ParseResponse {
   // The parsed representation, or unset if parsing failed.
-  ParsedExpr parsed_expr = 1;
+  google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1;
 
   // Any number of issues with [StatusDetails][] as the details.
   repeated google.rpc.Status issues = 2;
@@ -82,18 +78,18 @@ message ParseResponse {
 // Request message for the Check method.
 message CheckRequest {
   // Required. The parsed representation of the CEL program.
-  ParsedExpr parsed_expr = 1 [(google.api.field_behavior) = REQUIRED];
+  google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1;
 
   // Declarations of types for external variables and functions.
   // Required if program uses external variables or functions
   // not in the default environment.
-  repeated Decl type_env = 2;
+  repeated google.api.expr.v1alpha1.Decl type_env = 2;
 
   // The protocol buffer context.  See "Name Resolution" in the
   // Language Definition.
   string container = 3;
 
-  // If true, use only the declarations in [type_env][google.api.expr.v1alpha1.CheckRequest.type_env].  If false (default),
+  // If true, use only the declarations in [type_env][google.api.expr.conformance.v1alpha1.CheckRequest.type_env].  If false (default),
   // add declarations for the standard definitions to the type environment.  See
   // "Standard Definitions" in the Language Definition.
   bool no_std_env = 4;
@@ -102,7 +98,7 @@ message CheckRequest {
 // Response message for the Check method.
 message CheckResponse {
   // The annotated representation, or unset if checking failed.
-  CheckedExpr checked_expr = 1;
+  google.api.expr.v1alpha1.CheckedExpr checked_expr = 1;
 
   // Any number of issues with [StatusDetails][] as the details.
   repeated google.rpc.Status issues = 2;
@@ -113,27 +109,27 @@ message EvalRequest {
   // Required. Either the parsed or annotated representation of the CEL program.
   oneof expr_kind {
     // Evaluate based on the parsed representation.
-    ParsedExpr parsed_expr = 1;
+    google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1;
 
     // Evaluate based on the checked representation.
-    CheckedExpr checked_expr = 2;
+    google.api.expr.v1alpha1.CheckedExpr checked_expr = 2;
   }
 
   // Bindings for the external variables.  The types SHOULD be compatible
-  // with the type environment in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
-  map bindings = 3;
+  // with the type environment in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
+  map bindings = 3;
 
-  // SHOULD be the same container as used in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
+  // SHOULD be the same container as used in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
   string container = 4;
 }
 
 // Response message for the Eval method.
 message EvalResponse {
   // The execution result, or unset if execution couldn't start.
-  ExprValue result = 1;
+  google.api.expr.v1alpha1.ExprValue result = 1;
 
   // Any number of issues with [StatusDetails][] as the details.
-  // Note that CEL execution errors are reified into [ExprValue][google.api.expr.v1alpha1.ExprValue].
+  // Note that CEL execution errors are reified into [ExprValue][].
   // Nevertheless, we'll allow out-of-band issues to be raised,
   // which also makes the replies more regular.
   repeated google.rpc.Status issues = 2;
@@ -163,8 +159,8 @@ message IssueDetails {
   Severity severity = 1;
 
   // Position in the source, if known.
-  SourcePosition position = 2;
+  google.api.expr.v1alpha1.SourcePosition position = 2;
 
-  // Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown.
+  // Expression ID from [Expr][], 0 if unknown.
   int64 id = 3;
 }
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/BUILD.bazel b/google-cloud/protos/google/api/expr/v1alpha1/BUILD.bazel
index 2380d157..a303701b 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/BUILD.bazel
+++ b/google-cloud/protos/google/api/expr/v1alpha1/BUILD.bazel
@@ -1,16 +1,29 @@
+# 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("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+load("@rules_proto//proto:defs.bzl", "proto_library")
 
 proto_library(
-    name = "cel_service_proto",
-    srcs = ["cel_service.proto"],
+    name = "expr_proto",
+    srcs = [
+        "checked.proto",
+        "eval.proto",
+        "explain.proto",
+        "syntax.proto",
+        "value.proto",
+    ],
     deps = [
-        ":conformance_service_proto",
+        "//google/rpc:status_proto",
+        "@com_google_protobuf//:any_proto",
+        "@com_google_protobuf//:duration_proto",
+        "@com_google_protobuf//:empty_proto",
+        "@com_google_protobuf//:struct_proto",
+        "@com_google_protobuf//:timestamp_proto",
     ],
 )
 
@@ -24,19 +37,6 @@ proto_library(
     ],
 )
 
-proto_library(
-    name = "conformance_service_proto",
-    srcs = ["conformance_service.proto"],
-    deps = [
-        ":checked_proto",
-        ":eval_proto",
-        ":syntax_proto",
-        "//google/api:client_proto",
-        "//google/api:field_behavior_proto",
-        "//google/rpc:status_proto",
-    ],
-)
-
 proto_library(
     name = "eval_proto",
     srcs = ["eval.proto"],
@@ -73,87 +73,24 @@ proto_library(
     ],
 )
 
-proto_library(
-    name = "cel_proto",
-    srcs = [
-        "cel_service.proto",
-        "checked.proto",
-        "conformance_service.proto",
-        "eval.proto",
-        "explain.proto",
-        "syntax.proto",
-        "value.proto",
-    ],
-    deps = [
-        "//google/api:client_proto",
-        "//google/api:field_behavior_proto",
-        "//google/rpc:status_proto",
-        "@com_google_protobuf//:any_proto",
-        "@com_google_protobuf//:duration_proto",
-        "@com_google_protobuf//:empty_proto",
-        "@com_google_protobuf//:struct_proto",
-        "@com_google_protobuf//:timestamp_proto",
-    ],
-)
-
-proto_library_with_info(
-    name = "cel_proto_with_info",
-    deps = [
-        ":cel_proto",
-        "//google/cloud:common_resources_proto",
-    ],
-)
-
 ##############################################################################
 # Java
 ##############################################################################
 load(
     "@com_google_googleapis_imports//:imports.bzl",
     "java_grpc_library",
-    "java_gapic_library",
-    "java_gapic_assembly_gradle_pkg",
     "java_proto_library",
-    "java_gapic_test",
 )
 
 java_proto_library(
-    name = "cel_java_proto",
-    deps = [":cel_proto"],
+    name = "expr_java_proto",
+    deps = [":expr_proto"],
 )
 
 java_grpc_library(
-    name = "cel_java_grpc",
-    srcs = [":cel_proto"],
-    deps = [":cel_java_proto"],
-)
-
-java_gapic_library(
-    name = "cel_java_gapic",
-    src = ":cel_proto_with_info",
-    gapic_yaml = "cel_gapic.yaml",
-    service_yaml = "//google/api/expr:cel.yaml",
-    test_deps = [":cel_java_grpc"],
-    deps = [":cel_java_proto"],
-)
-
-java_gapic_test(
-    name = "cel_java_gapic_test_suite",
-    test_classes = [
-        "com.google.cloud.api.expr.v1alpha1.CelServiceClientTest",
-        "com.google.cloud.api.expr.v1alpha1.ConformanceServiceClientTest",
-    ],
-    runtime_deps = [":cel_java_gapic_test"],
-)
-
-# Opensource Packages
-java_gapic_assembly_gradle_pkg(
-    name = "google-cloud-cel-v1alpha1-java",
-    deps = [
-        ":cel_java_gapic",
-        ":cel_java_grpc",
-        ":cel_java_proto",
-        ":cel_proto",
-    ],
+    name = "expr_java_grpc",
+    srcs = [":expr_proto"],
+    deps = [":expr_java_proto"],
 )
 
 ##############################################################################
@@ -162,135 +99,142 @@ java_gapic_assembly_gradle_pkg(
 load(
     "@com_google_googleapis_imports//:imports.bzl",
     "go_proto_library",
-    "go_test",
-    "go_gapic_library",
-    "go_gapic_assembly_pkg",
 )
 
 go_proto_library(
-    name = "cel_go_proto",
+    name = "expr_go_proto",
     compilers = ["@io_bazel_rules_go//proto:go_grpc"],
     importpath = "google.golang.org/genproto/googleapis/api/expr/v1alpha1",
-    protos = [":cel_proto"],
+    protos = [":expr_proto"],
     deps = [
-        "//google/api:annotations_go_proto",
         "//google/rpc:status_go_proto",
     ],
 )
 
-go_gapic_library(
-    name = "cel_go_gapic",
-    src = ":cel_proto_with_info",
-    gapic_yaml = "cel_gapic.yaml",
-    importpath = "cloud.google.com/go/expr/apiv1alpha1",
-    service_yaml = "//google/api/expr:cel.yaml",
-    deps = [":cel_go_proto"],
-)
-
-go_test(
-    name = "cel_go_gapic_test",
-    srcs = [":cel_go_gapic_srcjar_test"],
-    embed = [":cel_go_gapic"],
-    importpath = "cloud.google.com/go/expr/apiv1alpha1",
+##############################################################################
+# Python
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "moved_proto_library",
+    "py_grpc_library",
+    "py_proto_library",
 )
 
-# Opensource Packages
-go_gapic_assembly_pkg(
-    name = "gapi-cloud-cel-v1alpha1-go",
+moved_proto_library(
+    name = "expr_moved_proto",
+    srcs = [":expr_proto"],
     deps = [
-        ":cel_go_gapic",
-        ":cel_go_gapic_srcjar-smoke-test.srcjar",
-        ":cel_go_gapic_srcjar-test.srcjar",
-        ":cel_go_proto",
+        "//google/rpc:status_proto",
+        "@com_google_protobuf//:any_proto",
+        "@com_google_protobuf//:duration_proto",
+        "@com_google_protobuf//:empty_proto",
+        "@com_google_protobuf//:struct_proto",
+        "@com_google_protobuf//:timestamp_proto",
     ],
 )
 
+py_proto_library(
+    name = "expr_py_proto",
+    deps = [":expr_moved_proto"],
+)
+
+py_grpc_library(
+    name = "expr_py_grpc",
+    srcs = [":expr_moved_proto"],
+    deps = [":expr_py_proto"],
+)
+
 ##############################################################################
-# C++
+# PHP
 ##############################################################################
 load(
     "@com_google_googleapis_imports//:imports.bzl",
-    "cc_grpc_library",
-    "cc_proto_library",
+    "php_grpc_library",
+    "php_proto_library",
 )
 
-cc_proto_library(
-    name = "cel_service_cc_proto",
-    deps = [":cel_service_proto"],
+php_proto_library(
+    name = "expr_php_proto",
+    deps = [":expr_proto"],
 )
 
-cc_grpc_library(
-    name = "cel_service_cc_grpc",
-    srcs = [":cel_service_proto"],
-    generate_mocks = True,
-    grpc_only = True,
-    deps = [":cel_service_cc_proto"],
-)
-
-cc_proto_library(
-    name = "checked_cc_proto",
-    deps = [":checked_proto"],
+php_grpc_library(
+    name = "expr_php_grpc",
+    srcs = [":expr_proto"],
+    deps = [":expr_php_proto"],
 )
 
-cc_proto_library(
-    name = "conformance_service_cc_proto",
-    deps = [":conformance_service_proto"],
+##############################################################################
+# Ruby
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "ruby_grpc_library",
+    "ruby_proto_library",
 )
 
-cc_grpc_library(
-    name = "conformance_service_cc_grpc",
-    srcs = [":conformance_service_proto"],
-    generate_mocks = True,
-    grpc_only = True,
-    deps = [":conformance_service_cc_proto"],
+ruby_proto_library(
+    name = "expr_ruby_proto",
+    deps = [":expr_proto"],
 )
 
-cc_proto_library(
-    name = "eval_cc_proto",
-    deps = [":eval_proto"],
+ruby_grpc_library(
+    name = "expr_ruby_grpc",
+    srcs = [":expr_proto"],
+    deps = [":expr_ruby_proto"],
 )
 
-cc_proto_library(
-    name = "explain_cc_proto",
-    deps = [":explain_proto"],
+##############################################################################
+# C#
+##############################################################################
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "csharp_grpc_library",
+    "csharp_proto_library",
 )
 
-cc_proto_library(
-    name = "syntax_cc_proto",
-    deps = [":syntax_proto"],
+csharp_proto_library(
+    name = "expr_csharp_proto",
+    deps = [":expr_proto"],
 )
 
-cc_proto_library(
-    name = "value_cc_proto",
-    deps = [":value_proto"],
+csharp_grpc_library(
+    name = "expr_csharp_grpc",
+    srcs = [":expr_proto"],
+    deps = [":expr_csharp_proto"],
 )
 
 ##############################################################################
-# Python
+# C++
 ##############################################################################
-load("@com_google_googleapis_imports//:imports.bzl", "py_proto_library")
+load(
+    "@com_google_googleapis_imports//:imports.bzl",
+    "cc_proto_library",
+)
 
-py_proto_library(
-    name = "checked_py_proto",
+cc_proto_library(
+    name = "checked_cc_proto",
     deps = [":checked_proto"],
 )
 
-py_proto_library(
-    name = "eval_py_proto",
+
+cc_proto_library(
+    name = "eval_cc_proto",
     deps = [":eval_proto"],
 )
 
-py_proto_library(
-    name = "explain_py_proto",
+cc_proto_library(
+    name = "explain_cc_proto",
     deps = [":explain_proto"],
 )
 
-py_proto_library(
-    name = "syntax_py_proto",
+cc_proto_library(
+    name = "syntax_cc_proto",
     deps = [":syntax_proto"],
 )
 
-py_proto_library(
-    name = "value_py_proto",
+cc_proto_library(
+    name = "value_cc_proto",
     deps = [":value_proto"],
 )
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/cel.yaml b/google-cloud/protos/google/api/expr/v1alpha1/cel.yaml
deleted file mode 100644
index 2f79c16d..00000000
--- a/google-cloud/protos/google/api/expr/v1alpha1/cel.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-type: google.api.Service
-config_version: 3
-name: cel.googleapis.com
-title: Common Expression Language
-
-apis:
-- name: google.api.expr.v1alpha1.ConformanceService
-
-documentation:
-  summary: Defines common types for the Common Expression Language.
-  overview: |-
-    # Common Expression Language
-
-    The Common Expression Language (CEL) implements common semantics for
-    expression evaluation, enabling different applications to more easily
-    interoperate.
-
-    Key Applications
-
-    *   Security policy: organization have complex infrastructure and need
-    common     tooling to reason about the system as a whole *   Protocols:
-    expressions are a useful data type and require interoperability     across
-    programming languages and platforms.
-
-
-    Guiding philosophy:
-
-    1.  Keep it small & fast.
-    *   CEL evaluates in linear time, is mutation free, and not
-    Turing-complete.         This limitation is a feature of the language
-    design, which allows the         implementation to evaluate orders of
-    magnitude faster than equivalently         sandboxed JavaScript. 2.  Make
-    it extensible.
-    *   CEL is designed to be embedded in applications, and allows for
-    extensibility via its context which allows for functions and data
-    to be         provided by the software that embeds it. 3.
-    Developer-friendly
-    *   The language is approachable to developers. The initial spec was
-    based         on the experience of developing Firebase Rules and usability
-    testing         many prior iterations.     *   The library itself and
-    accompanying toolings should be easy to adopt by         teams that seek
-    to integrate CEL into their platforms.
-
-    The required components of a system that supports CEL are:
-
-    *   The textual representation of an expression as written by a developer.
-    It is     of similar syntax of expressions in C/C++/Java/JavaScript *   A
-    binary representation of an expression. It is an abstract syntax tree
-    (AST).
-    *   A compiler library that converts the textual representation to the
-    binary     representation. This can be done ahead of time (in the control
-    plane) or     just before evaluation (in the data plane). *   A context
-    containing one or more typed variables, often protobuf messages.     Most
-    use-case will use attribute_context.proto
-    *   An evaluator library that takes the binary format in the context and
-    produces a result, usually a Boolean.
-
-    Example of boolean conditions and object construction:
-
-    ``` c
-    // Condition
-    account.balance >= transaction.withdrawal
-    || (account.overdraftProtection
-    && account.overdraftLimit >= transaction.withdrawal  -
-    account.balance)
-
-    // Object construction
-    common.GeoPoint{ latitude: 10.0, longitude: -5.5 }
-    ```
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/cel_gapic.yaml b/google-cloud/protos/google/api/expr/v1alpha1/cel_gapic.yaml
deleted file mode 100644
index d2213fc7..00000000
--- a/google-cloud/protos/google/api/expr/v1alpha1/cel_gapic.yaml
+++ /dev/null
@@ -1,248 +0,0 @@
-type: com.google.api.codegen.ConfigProto
-config_schema_version: 1.0.0
-# The settings of generated code in a specific language.
-language_settings:
-  java:
-    package_name: com.google.cloud.api.expr.v1alpha1
-  python:
-    package_name: google.cloud.api.expr_v1alpha1.gapic
-  go:
-    package_name: cloud.google.com/go/expr/apiv1alpha1
-  csharp:
-    package_name: Google.Api.Expr.V1alpha1
-  ruby:
-    package_name: Google::Cloud::Api::Expr::V1alpha1
-  php:
-    package_name: Google\Cloud\Api\Expr\V1alpha1
-  nodejs:
-    package_name: expr.v1alpha1
-# A list of API interface configurations.
-interfaces:
-  # The fully qualified name of the API interface.
-- name: google.api.expr.v1alpha1.CelService
-  # A list of resource collection configurations.
-  # Consists of a name_pattern and an entity_name.
-  # The name_pattern is a pattern to describe the names of the resources of this
-  # collection, using the platform's conventions for URI patterns. A generator
-  # may use this to generate methods to compose and decompose such names. The
-  # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
-  # those will be taken as hints for the parameter names of the generated
-  # methods. If empty, no name methods are generated.
-  # The entity_name is the name to be used as a basis for generated methods and
-  # classes.
-  collections: []
-  # Definition for retryable codes.
-  retry_codes_def:
-  - name: idempotent
-    retry_codes:
-    - UNAVAILABLE
-    - DEADLINE_EXCEEDED
-  - name: non_idempotent
-    retry_codes: []
-  # Definition for retry/backoff parameters.
-  retry_params_def:
-  - name: default
-    initial_retry_delay_millis: 100
-    retry_delay_multiplier: 1.3
-    max_retry_delay_millis: 60000
-    initial_rpc_timeout_millis: 20000
-    rpc_timeout_multiplier: 1
-    max_rpc_timeout_millis: 20000
-    total_timeout_millis: 600000
-  # A list of method configurations.
-  # Common properties:
-  #
-  #   name - The simple name of the method.
-  #
-  #   flattening - Specifies the configuration for parameter flattening.
-  #   Describes the parameter groups for which a generator should produce method
-  #   overloads which allow a client to directly pass request message fields as
-  #   method parameters. This information may or may not be used, depending on
-  #   the target language.
-  #   Consists of groups, which each represent a list of parameters to be
-  #   flattened. Each parameter listed must be a field of the request message.
-  #
-  #   required_fields - Fields that are always required for a request to be
-  #   valid.
-  #
-  #   resource_name_treatment - An enum that specifies how to treat the resource
-  #   name formats defined in the field_name_patterns and
-  #   response_field_name_patterns fields.
-  #   UNSET: default value
-  #   NONE: the collection configs will not be used by the generated code.
-  #   VALIDATE: string fields will be validated by the client against the
-  #   specified resource name formats.
-  #   STATIC_TYPES: the client will use generated types for resource names.
-  #
-  #   page_streaming - Specifies the configuration for paging.
-  #   Describes information for generating a method which transforms a paging
-  #   list RPC into a stream of resources.
-  #   Consists of a request and a response.
-  #   The request specifies request information of the list method. It defines
-  #   which fields match the paging pattern in the request. The request consists
-  #   of a page_size_field and a token_field. The page_size_field is the name of
-  #   the optional field specifying the maximum number of elements to be
-  #   returned in the response. The token_field is the name of the field in the
-  #   request containing the page token.
-  #   The response specifies response information of the list method. It defines
-  #   which fields match the paging pattern in the response. The response
-  #   consists of a token_field and a resources_field. The token_field is the
-  #   name of the field in the response containing the next page token. The
-  #   resources_field is the name of the field in the response containing the
-  #   list of resources belonging to the page.
-  #
-  #   retry_codes_name - Specifies the configuration for retryable codes. The
-  #   name must be defined in interfaces.retry_codes_def.
-  #
-  #   retry_params_name - Specifies the configuration for retry/backoff
-  #   parameters. The name must be defined in interfaces.retry_params_def.
-  #
-  #   field_name_patterns - Maps the field name of the request type to
-  #   entity_name of interfaces.collections.
-  #   Specifies the string pattern that the field must follow.
-  #
-  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
-  #   the call is retrying, refer to retry_params_name instead.
-  methods:
-  - name: Parse
-    flattening:
-      groups:
-      - parameters:
-        - cel_source
-    required_fields:
-    - cel_source
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
-  - name: Check
-    flattening:
-      groups:
-      - parameters:
-        - parsed_expr
-    required_fields:
-    - parsed_expr
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
-  - name: Eval
-    flattening:
-      groups:
-      - parameters:
-    required_fields:
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
-  # The fully qualified name of the API interface.
-- name: google.api.expr.v1alpha1.ConformanceService
-  # A list of resource collection configurations.
-  # Consists of a name_pattern and an entity_name.
-  # The name_pattern is a pattern to describe the names of the resources of this
-  # collection, using the platform's conventions for URI patterns. A generator
-  # may use this to generate methods to compose and decompose such names. The
-  # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
-  # those will be taken as hints for the parameter names of the generated
-  # methods. If empty, no name methods are generated.
-  # The entity_name is the name to be used as a basis for generated methods and
-  # classes.
-  collections: []
-  # Definition for retryable codes.
-  retry_codes_def:
-  - name: idempotent
-    retry_codes:
-    - UNAVAILABLE
-    - DEADLINE_EXCEEDED
-  - name: non_idempotent
-    retry_codes: []
-  # Definition for retry/backoff parameters.
-  retry_params_def:
-  - name: default
-    initial_retry_delay_millis: 100
-    retry_delay_multiplier: 1.3
-    max_retry_delay_millis: 60000
-    initial_rpc_timeout_millis: 20000
-    rpc_timeout_multiplier: 1
-    max_rpc_timeout_millis: 20000
-    total_timeout_millis: 600000
-  # A list of method configurations.
-  # Common properties:
-  #
-  #   name - The simple name of the method.
-  #
-  #   flattening - Specifies the configuration for parameter flattening.
-  #   Describes the parameter groups for which a generator should produce method
-  #   overloads which allow a client to directly pass request message fields as
-  #   method parameters. This information may or may not be used, depending on
-  #   the target language.
-  #   Consists of groups, which each represent a list of parameters to be
-  #   flattened. Each parameter listed must be a field of the request message.
-  #
-  #   required_fields - Fields that are always required for a request to be
-  #   valid.
-  #
-  #   resource_name_treatment - An enum that specifies how to treat the resource
-  #   name formats defined in the field_name_patterns and
-  #   response_field_name_patterns fields.
-  #   UNSET: default value
-  #   NONE: the collection configs will not be used by the generated code.
-  #   VALIDATE: string fields will be validated by the client against the
-  #   specified resource name formats.
-  #   STATIC_TYPES: the client will use generated types for resource names.
-  #
-  #   page_streaming - Specifies the configuration for paging.
-  #   Describes information for generating a method which transforms a paging
-  #   list RPC into a stream of resources.
-  #   Consists of a request and a response.
-  #   The request specifies request information of the list method. It defines
-  #   which fields match the paging pattern in the request. The request consists
-  #   of a page_size_field and a token_field. The page_size_field is the name of
-  #   the optional field specifying the maximum number of elements to be
-  #   returned in the response. The token_field is the name of the field in the
-  #   request containing the page token.
-  #   The response specifies response information of the list method. It defines
-  #   which fields match the paging pattern in the response. The response
-  #   consists of a token_field and a resources_field. The token_field is the
-  #   name of the field in the response containing the next page token. The
-  #   resources_field is the name of the field in the response containing the
-  #   list of resources belonging to the page.
-  #
-  #   retry_codes_name - Specifies the configuration for retryable codes. The
-  #   name must be defined in interfaces.retry_codes_def.
-  #
-  #   retry_params_name - Specifies the configuration for retry/backoff
-  #   parameters. The name must be defined in interfaces.retry_params_def.
-  #
-  #   field_name_patterns - Maps the field name of the request type to
-  #   entity_name of interfaces.collections.
-  #   Specifies the string pattern that the field must follow.
-  #
-  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
-  #   the call is retrying, refer to retry_params_name instead.
-  methods:
-  - name: Parse
-    flattening:
-      groups:
-      - parameters:
-        - cel_source
-    required_fields:
-    - cel_source
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
-  - name: Check
-    flattening:
-      groups:
-      - parameters:
-        - parsed_expr
-    required_fields:
-    - parsed_expr
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
-  - name: Eval
-    flattening:
-      groups:
-      - parameters:
-    required_fields:
-    retry_codes_name: non_idempotent
-    retry_params_name: default
-    timeout_millis: 60000
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/cel_service.proto b/google-cloud/protos/google/api/expr/v1alpha1/cel_service.proto
deleted file mode 100644
index 0bf649ff..00000000
--- a/google-cloud/protos/google/api/expr/v1alpha1/cel_service.proto
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2018 Google LLC.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF 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.expr.v1alpha1;
-
-import "google/api/expr/v1alpha1/conformance_service.proto";
-
-option cc_enable_arenas = true;
-option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
-option java_multiple_files = true;
-option java_outer_classname = "CelServiceProto";
-option java_package = "com.google.api.expr.v1alpha1";
-
-// Access a CEL implementation from another process or machine.
-// A CEL implementation is decomposed as a parser, a static checker,
-// and an evaluator.  Every CEL implementation is expected to provide
-// a server for this API.  The API will be used for conformance testing,
-// utilities, and execution as a service.
-service CelService {
-  // Transforms CEL source text into a parsed representation.
-  rpc Parse(ParseRequest) returns (ParseResponse) {}
-
-  // Runs static checks on a parsed CEL representation and return
-  // an annotated representation, or a set of issues.
-  rpc Check(CheckRequest) returns (CheckResponse) {}
-
-  // Evaluates a parsed or annotation CEL representation given
-  // values of external bindings.
-  rpc Eval(EvalRequest) returns (EvalResponse) {}
-}
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/checked.proto b/google-cloud/protos/google/api/expr/v1alpha1/checked.proto
index 0a7e3c54..930dc4f0 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/checked.proto
+++ b/google-cloud/protos/google/api/expr/v1alpha1/checked.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -59,6 +58,15 @@ message CheckedExpr {
   // any optimizations made during the type-checking pass.
   SourceInfo source_info = 5;
 
+  // The expr version indicates the major / minor version number of the `expr`
+  // representation.
+  //
+  // The most common reason for a version change will be to indicate to the CEL
+  // runtimes that transformations have been performed on the expr during static
+  // analysis. In some cases, this will save the runtime the work of applying
+  // the same or similar transformations prior to evaluation.
+  string expr_version = 6;
+
   // The checked expression. Semantically equivalent to the parsed `expr`, but
   // may have structural differences.
   Expr expr = 4;
@@ -229,15 +237,14 @@ message Decl {
   }
 
   // Function declaration specifies one or more overloads which indicate the
-  // function's parameter types and return type, and may optionally specify a
-  // function definition in terms of CEL expressions.
+  // function's parameter types and return type.
   //
   // Functions have no observable side-effects (there may be side-effects like
   // logging which are not observable from CEL).
   message FunctionDecl {
     // An overload indicates a function's parameter types and return type, and
-    // may optionally include a function body described in terms of [Expr][google.api.expr.v1alpha1.Expr]
-    // values.
+    // may optionally include a function body described in terms of
+    // [Expr][google.api.expr.v1alpha1.Expr] values.
     //
     // Functions overloads are declared in either a function or method
     // call-style. For methods, the `params[0]` is the expected type of the
@@ -249,11 +256,13 @@ message Decl {
       // Required. Globally unique overload name of the function which reflects
       // the function name and argument types.
       //
-      // This will be used by a [Reference][google.api.expr.v1alpha1.Reference] to indicate the `overload_id` that
-      // was resolved for the function `name`.
+      // This will be used by a [Reference][google.api.expr.v1alpha1.Reference]
+      // to indicate the `overload_id` that was resolved for the function
+      // `name`.
       string overload_id = 1;
 
-      // List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
+      // List of function parameter [Type][google.api.expr.v1alpha1.Type]
+      // values.
       //
       // Param types are disjoint after generic type parameters have been
       // replaced with the type `DYN`. Since the `DYN` type is compatible with
@@ -276,7 +285,7 @@ message Decl {
       Type result_type = 4;
 
       // Whether the function is to be used in a method call-style `x.f(...)`
-      // of a function call-style `f(x, ...)`.
+      // or a function call-style `f(x, ...)`.
       //
       // For methods, the first parameter declaration, `params[0]` is the
       // expected type of the target receiver.
@@ -295,9 +304,11 @@ message Decl {
   // Declarations are organized in containers and this represents the full path
   // to the declaration in its container, as in `google.api.expr.Decl`.
   //
-  // Declarations used as [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] parameters may or may not
-  // have a name depending on whether the overload is function declaration or a
-  // function definition containing a result [Expr][google.api.expr.v1alpha1.Expr].
+  // Declarations used as
+  // [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload]
+  // parameters may or may not have a name depending on whether the overload is
+  // function declaration or a function definition containing a result
+  // [Expr][google.api.expr.v1alpha1.Expr].
   string name = 1;
 
   // Required. The declaration kind.
@@ -322,7 +333,8 @@ message Reference {
   // presented candidates must happen at runtime because of dynamic types. The
   // type checker attempts to narrow down this list as much as possible.
   //
-  // Empty if this is not a reference to a [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl].
+  // Empty if this is not a reference to a
+  // [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl].
   repeated string overload_id = 3;
 
   // For references to constants, this may contain the value of the
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/eval.proto b/google-cloud/protos/google/api/expr/v1alpha1/eval.proto
index 2187427d..e9052644 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/eval.proto
+++ b/google-cloud/protos/google/api/expr/v1alpha1/eval.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/explain.proto b/google-cloud/protos/google/api/expr/v1alpha1/explain.proto
index 56f84405..23d51485 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/explain.proto
+++ b/google-cloud/protos/google/api/expr/v1alpha1/explain.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/syntax.proto b/google-cloud/protos/google/api/expr/v1alpha1/syntax.proto
index 59bc2691..c234a02e 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/syntax.proto
+++ b/google-cloud/protos/google/api/expr/v1alpha1/syntax.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -100,7 +99,7 @@ message Expr {
 
   // A list creation expression.
   //
-  // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g.
+  // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g.
   // `dyn([1, 'hello', 2.0])`
   message CreateList {
     // The elements part of the list.
@@ -130,7 +129,14 @@ message Expr {
       }
 
       // Required. The value assigned to the key.
+      //
+      // If the optional_entry field is true, the expression must resolve to an
+      // optional-typed value. If the optional value is present, the key will be
+      // set; however, if the optional value is absent, the key will be unset.
       Expr value = 4;
+
+      // Whether the key-value pair is optional.
+      bool optional_entry = 5;
     }
 
     // The type name of the message to be created, empty when creating map
@@ -288,15 +294,16 @@ message SourceInfo {
   // `acme/app/AnvilPolicy.cel`.
   string location = 2;
 
-  // Monotonically increasing list of character offsets where newlines appear.
+  // Monotonically increasing list of code point offsets where newlines
+  // `\n` appear.
   //
   // The line number of a given position is the index `i` where for a given
   // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
   // column may be derivd from `id_positions[id] - line_offsets[i]`.
   repeated int32 line_offsets = 3;
 
-  // A map from the parse node id (e.g. `Expr.id`) to the character offset
-  // within source.
+  // A map from the parse node id (e.g. `Expr.id`) to the code point offset
+  // within the source.
   map positions = 4;
 
   // A map from the parse node id where a macro replacement was made to the
@@ -315,7 +322,7 @@ message SourcePosition {
   // The soucre location name (e.g. file name).
   string location = 1;
 
-  // The character offset.
+  // The UTF-8 code unit offset.
   int32 offset = 2;
 
   // The 1-based index of the starting line in the source text
diff --git a/google-cloud/protos/google/api/expr/v1alpha1/value.proto b/google-cloud/protos/google/api/expr/v1alpha1/value.proto
index a6ba3876..2f03ef62 100644
--- a/google-cloud/protos/google/api/expr/v1alpha1/value.proto
+++ b/google-cloud/protos/google/api/expr/v1alpha1/value.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// 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.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/expr/v1beta1/BUILD.bazel b/google-cloud/protos/google/api/expr/v1beta1/BUILD.bazel
index bcf7e6f0..819e1364 100644
--- a/google-cloud/protos/google/api/expr/v1beta1/BUILD.bazel
+++ b/google-cloud/protos/google/api/expr/v1beta1/BUILD.bazel
@@ -1,3 +1,5 @@
+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"])
 
diff --git a/google-cloud/protos/google/api/field_behavior.proto b/google-cloud/protos/google/api/field_behavior.proto
index eb7f78ef..c4abe3b6 100644
--- a/google-cloud/protos/google/api/field_behavior.proto
+++ b/google-cloud/protos/google/api/field_behavior.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2018 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -76,4 +75,16 @@ enum FieldBehavior {
   // This indicates that the field may be set once in a request to create a
   // resource, but may not be changed thereafter.
   IMMUTABLE = 5;
+
+  // Denotes that a (repeated) field is an unordered list.
+  // This indicates that the service may provide the elements of the list
+  // in any arbitrary  order, rather than the order the user originally
+  // provided. Additionally, the list's order may or may not be stable.
+  UNORDERED_LIST = 6;
+
+  // Denotes that this field returns a non-empty default value if not set.
+  // This indicates that if the user provides the empty value in a request,
+  // a non-empty value will be returned. The user will not be aware of what
+  // non-empty value to expect.
+  NON_EMPTY_DEFAULT = 7;
 }
diff --git a/google-cloud/protos/google/api/http.proto b/google-cloud/protos/google/api/http.proto
index b2977f51..113fa936 100644
--- a/google-cloud/protos/google/api/http.proto
+++ b/google-cloud/protos/google/api/http.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/httpbody.proto b/google-cloud/protos/google/api/httpbody.proto
index 45c1e76b..00c80aba 100644
--- a/google-cloud/protos/google/api/httpbody.proto
+++ b/google-cloud/protos/google/api/httpbody.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -46,12 +45,15 @@ option objc_class_prefix = "GAPI";
 //
 //       // The raw HTTP body is bound to this field.
 //       google.api.HttpBody http_body = 2;
+//
 //     }
 //
 //     service ResourceService {
-//       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
-//       rpc UpdateResource(google.api.HttpBody) returns
-//       (google.protobuf.Empty);
+//       rpc GetResource(GetResourceRequest)
+//         returns (google.api.HttpBody);
+//       rpc UpdateResource(google.api.HttpBody)
+//         returns (google.protobuf.Empty);
+//
 //     }
 //
 // Example with streaming methods:
@@ -61,6 +63,7 @@ option objc_class_prefix = "GAPI";
 //         returns (stream google.api.HttpBody);
 //       rpc UpdateCalendar(stream google.api.HttpBody)
 //         returns (stream google.api.HttpBody);
+//
 //     }
 //
 // Use of this type only changes how the request and response bodies are
diff --git a/google-cloud/protos/google/api/label.proto b/google-cloud/protos/google/api/label.proto
index 668efd1c..af294c91 100644
--- a/google-cloud/protos/google/api/label.proto
+++ b/google-cloud/protos/google/api/label.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/launch_stage.proto b/google-cloud/protos/google/api/launch_stage.proto
index 55fd9142..cca8419a 100644
--- a/google-cloud/protos/google/api/launch_stage.proto
+++ b/google-cloud/protos/google/api/launch_stage.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -29,6 +28,12 @@ enum LaunchStage {
   // Do not use this default value.
   LAUNCH_STAGE_UNSPECIFIED = 0;
 
+  // The feature is not yet implemented. Users can not use it.
+  UNIMPLEMENTED = 6;
+
+  // Prelaunch features are hidden from users and are only visible internally.
+  PRELAUNCH = 7;
+
   // Early Access features are limited to a closed group of testers. To use
   // these features, you must sign up in advance and sign a Trusted Tester
   // agreement (which includes confidentiality provisions). These features may
@@ -40,7 +45,7 @@ enum LaunchStage {
   // for widespread use. By Alpha, all significant design issues are resolved
   // and we are in the process of verifying functionality. Alpha customers
   // need to apply for access, agree to applicable terms, and have their
-  // projects whitelisted. Alpha releases don’t have to be feature complete,
+  // projects allowlisted. Alpha releases don’t have to be feature complete,
   // no SLAs are provided, and there are no technical support obligations, but
   // they will be far enough along that customers can actually use them in
   // test environments or for limited-use tests -- just like they would in
diff --git a/google-cloud/protos/google/api/log.proto b/google-cloud/protos/google/api/log.proto
index 1125e1fe..22ee2893 100644
--- a/google-cloud/protos/google/api/log.proto
+++ b/google-cloud/protos/google/api/log.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/logging.proto b/google-cloud/protos/google/api/logging.proto
index 9090b2a1..e60f77ca 100644
--- a/google-cloud/protos/google/api/logging.proto
+++ b/google-cloud/protos/google/api/logging.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
diff --git a/google-cloud/protos/google/api/metric.proto b/google-cloud/protos/google/api/metric.proto
index cd2762a9..aadc1967 100644
--- a/google-cloud/protos/google/api/metric.proto
+++ b/google-cloud/protos/google/api/metric.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -30,11 +29,11 @@ option objc_class_prefix = "GAPI";
 // Defines a metric type and its schema. Once a metric descriptor is created,
 // deleting or altering it stops data collection and makes the metric type's
 // existing data unusable.
+//
 message MetricDescriptor {
   // Additional annotations that can be used to guide the usage of a metric.
   message MetricDescriptorMetadata {
-    // Deprecated. Please use the MetricDescriptor.launch_stage instead.
-    // The launch stage of the metric definition.
+    // Deprecated. Must use the [MetricDescriptor.launch_stage][google.api.MetricDescriptor.launch_stage] instead.
     LaunchStage launch_stage = 1 [deprecated = true];
 
     // The sampling period of metric data points. For metrics which are written
@@ -50,6 +49,8 @@ message MetricDescriptor {
   }
 
   // The kind of measurement. It describes how the data is reported.
+  // For information on setting the start time and end time based on
+  // the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval].
   enum MetricKind {
     // Do not use this default value.
     METRIC_KIND_UNSPECIFIED = 0;
@@ -98,8 +99,8 @@ message MetricDescriptor {
   string name = 1;
 
   // The metric type, including its DNS name prefix. The type is not
-  // URL-encoded.  All user-defined metric types have the DNS name
-  // `custom.googleapis.com` or `external.googleapis.com`.  Metric types should
+  // URL-encoded. All user-defined metric types have the DNS name
+  // `custom.googleapis.com` or `external.googleapis.com`. Metric types should
   // use a natural hierarchical grouping. For example:
   //
   //     "custom.googleapis.com/invoice/paid/amount"
@@ -123,10 +124,28 @@ message MetricDescriptor {
   // Some combinations of `metric_kind` and `value_type` might not be supported.
   ValueType value_type = 4;
 
-  // The unit in which the metric value is reported. It is only applicable
-  // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
-  // supported units are a subset of [The Unified Code for Units of
-  // Measure](http://unitsofmeasure.org/ucum.html) standard:
+  // The units in which the metric value is reported. It is only applicable
+  // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
+  // defines the representation of the stored metric values.
+  //
+  // Different systems might scale the values to be more easily displayed (so a
+  // value of `0.02kBy` _might_ be displayed as `20By`, and a value of
+  // `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
+  // `kBy`, then the value of the metric is always in thousands of bytes, no
+  // matter how it might be displayed.
+  //
+  // If you want a custom metric to record the exact number of CPU-seconds used
+  // by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
+  // `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
+  // CPU-seconds, then the value is written as `12005`.
+  //
+  // Alternatively, if you want a custom metric to record data in a more
+  // granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
+  // `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
+  // or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
+  //
+  // The supported units are a subset of [The Unified Code for Units of
+  // Measure](https://unitsofmeasure.org/ucum.html) standard:
   //
   // **Basic units (UNIT)**
   //
@@ -136,36 +155,44 @@ message MetricDescriptor {
   // * `min`   minute
   // * `h`     hour
   // * `d`     day
+  // * `1`     dimensionless
   //
   // **Prefixes (PREFIX)**
   //
-  // * `k`     kilo    (10**3)
-  // * `M`     mega    (10**6)
-  // * `G`     giga    (10**9)
-  // * `T`     tera    (10**12)
-  // * `P`     peta    (10**15)
-  // * `E`     exa     (10**18)
-  // * `Z`     zetta   (10**21)
-  // * `Y`     yotta   (10**24)
-  // * `m`     milli   (10**-3)
-  // * `u`     micro   (10**-6)
-  // * `n`     nano    (10**-9)
-  // * `p`     pico    (10**-12)
-  // * `f`     femto   (10**-15)
-  // * `a`     atto    (10**-18)
-  // * `z`     zepto   (10**-21)
-  // * `y`     yocto   (10**-24)
-  // * `Ki`    kibi    (2**10)
-  // * `Mi`    mebi    (2**20)
-  // * `Gi`    gibi    (2**30)
-  // * `Ti`    tebi    (2**40)
+  // * `k`     kilo    (10^3)
+  // * `M`     mega    (10^6)
+  // * `G`     giga    (10^9)
+  // * `T`     tera    (10^12)
+  // * `P`     peta    (10^15)
+  // * `E`     exa     (10^18)
+  // * `Z`     zetta   (10^21)
+  // * `Y`     yotta   (10^24)
+  //
+  // * `m`     milli   (10^-3)
+  // * `u`     micro   (10^-6)
+  // * `n`     nano    (10^-9)
+  // * `p`     pico    (10^-12)
+  // * `f`     femto   (10^-15)
+  // * `a`     atto    (10^-18)
+  // * `z`     zepto   (10^-21)
+  // * `y`     yocto   (10^-24)
+  //
+  // * `Ki`    kibi    (2^10)
+  // * `Mi`    mebi    (2^20)
+  // * `Gi`    gibi    (2^30)
+  // * `Ti`    tebi    (2^40)
+  // * `Pi`    pebi    (2^50)
   //
   // **Grammar**
   //
   // The grammar also includes these connectors:
   //
-  // * `/`    division (as an infix operator, e.g. `1/s`).
-  // * `.`    multiplication (as an infix operator, e.g. `GBy.d`)
+  // * `/`    division or ratio (as an infix operator). For examples,
+  //          `kBy/{email}` or `MiBy/10ms` (although you should almost never
+  //          have `/s` in a metric `unit`; rates should always be computed at
+  //          query time from the underlying cumulative or delta value).
+  // * `.`    multiplication or composition (as an infix operator). For
+  //          examples, `GBy.d` or `k{watt}.h`.
   //
   // The grammar for a unit is as follows:
   //
@@ -180,14 +207,25 @@ message MetricDescriptor {
   //
   // Notes:
   //
-  // * `Annotation` is just a comment if it follows a `UNIT` and is
-  //    equivalent to `1` if it is used alone. For examples,
-  //    `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
+  // * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
+  //    is used alone, then the unit is equivalent to `1`. For examples,
+  //    `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
   // * `NAME` is a sequence of non-blank printable ASCII characters not
-  //    containing '{' or '}'.
-  // * `1` represents dimensionless value 1, such as in `1/s`.
-  // * `%` represents dimensionless value 1/100, and annotates values giving
-  //    a percentage.
+  //    containing `{` or `}`.
+  // * `1` represents a unitary [dimensionless
+  //    unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
+  //    as in `1/s`. It is typically used when none of the basic units are
+  //    appropriate. For example, "new users per day" can be represented as
+  //    `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
+  //    users). Alternatively, "thousands of page views per day" would be
+  //    represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
+  //    value of `5.3` would mean "5300 page views per day").
+  // * `%` represents dimensionless value of 1/100, and annotates values giving
+  //    a percentage (so the metric values are typically in the range of 0..100,
+  //    and a metric value `3` means "3 percent").
+  // * `10^2.%` indicates a metric contains a ratio, typically in the range
+  //    0..1, that will be multiplied by 100 and displayed as a percentage
+  //    (so a metric value `0.03` means "3 percent").
   string unit = 5;
 
   // A detailed description of the metric, which can be used in documentation.
@@ -204,6 +242,13 @@ message MetricDescriptor {
 
   // Optional. The launch stage of the metric definition.
   LaunchStage launch_stage = 12;
+
+  // Read-only. If present, then a [time
+  // series][google.monitoring.v3.TimeSeries], which is identified partially by
+  // a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
+  // with this metric type can only be associated with one of the monitored
+  // resource types listed here.
+  repeated string monitored_resource_types = 13;
 }
 
 // A specific metric, identified by specifying values for all of the
diff --git a/google-cloud/protos/google/api/monitored_resource.proto b/google-cloud/protos/google/api/monitored_resource.proto
index 2c94902a..bd5be4e4 100644
--- a/google-cloud/protos/google/api/monitored_resource.proto
+++ b/google-cloud/protos/google/api/monitored_resource.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -37,6 +36,7 @@ option objc_class_prefix = "GAPI";
 // Different APIs can support different monitored resource types. APIs generally
 // provide a `list` method that returns the monitored resource descriptors used
 // by the API.
+//
 message MonitoredResourceDescriptor {
   // Optional. The resource name of the monitored resource descriptor:
   // `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
@@ -48,7 +48,6 @@ message MonitoredResourceDescriptor {
 
   // Required. The monitored resource type. For example, the type
   // `"cloudsql_database"` represents databases in Google Cloud SQL.
-  // The maximum length of this value is 256 characters.
   string type = 1;
 
   // Optional. A concise name for the monitored resource type that might be
diff --git a/google-cloud/protos/google/api/monitoring.proto b/google-cloud/protos/google/api/monitoring.proto
index 07e962d1..60770ec5 100644
--- a/google-cloud/protos/google/api/monitoring.proto
+++ b/google-cloud/protos/google/api/monitoring.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -29,37 +28,52 @@ option objc_class_prefix = "GAPI";
 // for monitoring. In the example, a monitored resource and two metrics are
 // defined. The `library.googleapis.com/book/returned_count` metric is sent
 // to both producer and consumer projects, whereas the
-// `library.googleapis.com/book/overdue_count` metric is only sent to the
+// `library.googleapis.com/book/num_overdue` metric is only sent to the
 // consumer project.
 //
 //     monitored_resources:
-//     - type: library.googleapis.com/branch
+//     - type: library.googleapis.com/Branch
+//       display_name: "Library Branch"
+//       description: "A branch of a library."
+//       launch_stage: GA
 //       labels:
-//       - key: /city
-//         description: The city where the library branch is located in.
-//       - key: /name
-//         description: The name of the branch.
+//       - key: resource_container
+//         description: "The Cloud container (ie. project id) for the Branch."
+//       - key: location
+//         description: "The location of the library branch."
+//       - key: branch_id
+//         description: "The id of the branch."
 //     metrics:
 //     - name: library.googleapis.com/book/returned_count
+//       display_name: "Books Returned"
+//       description: "The count of books that have been returned."
+//       launch_stage: GA
 //       metric_kind: DELTA
 //       value_type: INT64
+//       unit: "1"
 //       labels:
-//       - key: /customer_id
-//     - name: library.googleapis.com/book/overdue_count
+//       - key: customer_id
+//         description: "The id of the customer."
+//     - name: library.googleapis.com/book/num_overdue
+//       display_name: "Books Overdue"
+//       description: "The current number of overdue books."
+//       launch_stage: GA
 //       metric_kind: GAUGE
 //       value_type: INT64
+//       unit: "1"
 //       labels:
-//       - key: /customer_id
+//       - key: customer_id
+//         description: "The id of the customer."
 //     monitoring:
 //       producer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
+//       - monitored_resource: library.googleapis.com/Branch
 //         metrics:
 //         - library.googleapis.com/book/returned_count
 //       consumer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
+//       - monitored_resource: library.googleapis.com/Branch
 //         metrics:
 //         - library.googleapis.com/book/returned_count
-//         - library.googleapis.com/book/overdue_count
+//         - library.googleapis.com/book/num_overdue
 message Monitoring {
   // Configuration of a specific monitoring destination (the producer project
   // or the consumer project).
@@ -74,7 +88,7 @@ message Monitoring {
   }
 
   // Monitoring configurations for sending metrics to the producer project.
-  // There can be multiple producer destinations. A monitored resouce type may
+  // There can be multiple producer destinations. A monitored resource type may
   // appear in multiple monitoring destinations if different aggregations are
   // needed for different sets of metrics associated with that monitored
   // resource type. A monitored resource and metric pair may only be used once
@@ -82,7 +96,7 @@ message Monitoring {
   repeated MonitoringDestination producer_destinations = 1;
 
   // Monitoring configurations for sending metrics to the consumer project.
-  // There can be multiple consumer destinations. A monitored resouce type may
+  // There can be multiple consumer destinations. A monitored resource type may
   // appear in multiple monitoring destinations if different aggregations are
   // needed for different sets of metrics associated with that monitored
   // resource type. A monitored resource and metric pair may only be used once
diff --git a/google-cloud/protos/google/api/quota.proto b/google-cloud/protos/google/api/quota.proto
index 2e6e52b6..dae89de3 100644
--- a/google-cloud/protos/google/api/quota.proto
+++ b/google-cloud/protos/google/api/quota.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -150,10 +149,7 @@ message QuotaLimit {
   // Used by group-based quotas only.
   int64 free_tier = 7;
 
-  // Duration of this limit in textual notation. Example: "100s", "24h", "1d".
-  // For duration longer than a day, only multiple of days is supported. We
-  // support only "100s" and "1d" for now. Additional support will be added in
-  // the future. "0" indicates indefinite duration.
+  // Duration of this limit in textual notation. Must be "100s" or "1d".
   //
   // Used by group-based quotas only.
   string duration = 5;
diff --git a/google-cloud/protos/google/api/resource.proto b/google-cloud/protos/google/api/resource.proto
index fdb7001a..0ce0344f 100644
--- a/google-cloud/protos/google/api/resource.proto
+++ b/google-cloud/protos/google/api/resource.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2018 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
 
 syntax = "proto3";
 
@@ -58,22 +57,15 @@ extend google.protobuf.MessageOptions {
 //       // For Kubernetes resources, the format is {api group}/{kind}.
 //       option (google.api.resource) = {
 //         type: "pubsub.googleapis.com/Topic"
-//         name_descriptor: {
-//           pattern: "projects/{project}/topics/{topic}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Project"
-//           parent_name_extractor: "projects/{project}"
-//         }
+//         pattern: "projects/{project}/topics/{topic}"
 //       };
 //     }
 //
 // The ResourceDescriptor Yaml config will look like:
 //
-//    resources:
-//    - type: "pubsub.googleapis.com/Topic"
-//      name_descriptor:
-//        - pattern: "projects/{project}/topics/{topic}"
-//          parent_type: "cloudresourcemanager.googleapis.com/Project"
-//          parent_name_extractor: "projects/{project}"
+//     resources:
+//     - type: "pubsub.googleapis.com/Topic"
+//       pattern: "projects/{project}/topics/{topic}"
 //
 // Sometimes, resources have multiple patterns, typically because they can
 // live under multiple parents.
@@ -83,26 +75,10 @@ extend google.protobuf.MessageOptions {
 //     message LogEntry {
 //       option (google.api.resource) = {
 //         type: "logging.googleapis.com/LogEntry"
-//         name_descriptor: {
-//           pattern: "projects/{project}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Project"
-//           parent_name_extractor: "projects/{project}"
-//         }
-//         name_descriptor: {
-//           pattern: "folders/{folder}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Folder"
-//           parent_name_extractor: "folders/{folder}"
-//         }
-//         name_descriptor: {
-//           pattern: "organizations/{organization}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Organization"
-//           parent_name_extractor: "organizations/{organization}"
-//         }
-//         name_descriptor: {
-//           pattern: "billingAccounts/{billing_account}/logs/{log}"
-//           parent_type: "billing.googleapis.com/BillingAccount"
-//           parent_name_extractor: "billingAccounts/{billing_account}"
-//         }
+//         pattern: "projects/{project}/logs/{log}"
+//         pattern: "folders/{folder}/logs/{log}"
+//         pattern: "organizations/{organization}/logs/{log}"
+//         pattern: "billingAccounts/{billing_account}/logs/{log}"
 //       };
 //     }
 //
@@ -110,48 +86,10 @@ extend google.protobuf.MessageOptions {
 //
 //     resources:
 //     - type: 'logging.googleapis.com/LogEntry'
-//       name_descriptor:
-//         - pattern: "projects/{project}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Project"
-//           parent_name_extractor: "projects/{project}"
-//         - pattern: "folders/{folder}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Folder"
-//           parent_name_extractor: "folders/{folder}"
-//         - pattern: "organizations/{organization}/logs/{log}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Organization"
-//           parent_name_extractor: "organizations/{organization}"
-//         - pattern: "billingAccounts/{billing_account}/logs/{log}"
-//           parent_type: "billing.googleapis.com/BillingAccount"
-//           parent_name_extractor: "billingAccounts/{billing_account}"
-//
-// For flexible resources, the resource name doesn't contain parent names, but
-// the resource itself has parents for policy evaluation.
-//
-// Example:
-//
-//     message Shelf {
-//       option (google.api.resource) = {
-//         type: "library.googleapis.com/Shelf"
-//         name_descriptor: {
-//           pattern: "shelves/{shelf}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Project"
-//         }
-//         name_descriptor: {
-//           pattern: "shelves/{shelf}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Folder"
-//         }
-//       };
-//     }
-//
-// The ResourceDescriptor Yaml config will look like:
-//
-//     resources:
-//     - type: 'library.googleapis.com/Shelf'
-//       name_descriptor:
-//         - pattern: "shelves/{shelf}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Project"
-//         - pattern: "shelves/{shelf}"
-//           parent_type: "cloudresourcemanager.googleapis.com/Folder"
+//       pattern: "projects/{project}/logs/{log}"
+//       pattern: "folders/{folder}/logs/{log}"
+//       pattern: "organizations/{organization}/logs/{log}"
+//       pattern: "billingAccounts/{billing_account}/logs/{log}"
 message ResourceDescriptor {
   // A description of the historical or future-looking state of the
   // resource pattern.
@@ -169,6 +107,22 @@ message ResourceDescriptor {
     FUTURE_MULTI_PATTERN = 2;
   }
 
+  // A flag representing a specific style that a resource claims to conform to.
+  enum Style {
+    // The unspecified value. Do not use.
+    STYLE_UNSPECIFIED = 0;
+
+    // This resource is intended to be "declarative-friendly".
+    //
+    // Declarative-friendly resources must be more strictly consistent, and
+    // setting this to true communicates to tools that this resource should
+    // adhere to declarative-friendly expectations.
+    //
+    // Note: This is used by the API linter (linter.aip.dev) to enable
+    // additional checks.
+    DECLARATIVE_FRIENDLY = 1;
+  }
+
   // The resource type. It must be in the format of
   // {service_name}/{resource_type_kind}. The `resource_type_kind` must be
   // singular and must not include version numbers.
@@ -223,16 +177,25 @@ message ResourceDescriptor {
   //     }
   History history = 4;
 
-  // The plural name used in the resource name, such as 'projects' for
-  // the name of 'projects/{project}'. It is the same concept of the `plural`
-  // field in k8s CRD spec
+  // The plural name used in the resource name and permission names, such as
+  // 'projects' for the resource name of 'projects/{project}' and the permission
+  // name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
+  // concept of the `plural` field in k8s CRD spec
   // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
+  //
+  // Note: The plural form is required even for singleton resources. See
+  // https://aip.dev/156
   string plural = 5;
 
   // The same concept of the `singular` field in k8s CRD spec
   // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
   // Such as "project" for the `resourcemanager.googleapis.com/Project` type.
   string singular = 6;
+
+  // Style flag(s) for this resource.
+  // These indicate that a resource is expected to conform to a given
+  // style. See the specific style flags for additional information.
+  repeated Style style = 10;
 }
 
 // Defines a proto annotation that describes a string field that refers to
@@ -247,6 +210,17 @@ message ResourceReference {
   //         type: "pubsub.googleapis.com/Topic"
   //       }];
   //     }
+  //
+  // Occasionally, a field may reference an arbitrary resource. In this case,
+  // APIs use the special value * in their resource reference.
+  //
+  // Example:
+  //
+  //     message GetIamPolicyRequest {
+  //       string resource = 2 [(google.api.resource_reference) = {
+  //         type: "*"
+  //       }];
+  //     }
   string type = 1;
 
   // The resource type of a child collection that the annotated field
@@ -255,10 +229,10 @@ message ResourceReference {
   //
   // Example:
   //
-  //   message ListLogEntriesRequest {
-  //     string parent = 1 [(google.api.resource_reference) = {
-  //       child_type: "logging.googleapis.com/LogEntry"
-  //     };
-  //   }
+  //     message ListLogEntriesRequest {
+  //       string parent = 1 [(google.api.resource_reference) = {
+  //         child_type: "logging.googleapis.com/LogEntry"
+  //       };
+  //     }
   string child_type = 2;
 }
diff --git a/google-cloud/protos/google/api/routing.proto b/google-cloud/protos/google/api/routing.proto
new file mode 100644
index 00000000..01382838
--- /dev/null
+++ b/google-cloud/protos/google/api/routing.proto
@@ -0,0 +1,461 @@
+// 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.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 = "RoutingProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+extend google.protobuf.MethodOptions {
+  // See RoutingRule.
+  google.api.RoutingRule routing = 72295729;
+}
+
+// Specifies the routing information that should be sent along with the request
+// in the form of routing header.
+// **NOTE:** All service configuration rules follow the "last one wins" order.
+//
+// The examples below will apply to an RPC which has the following request type:
+//
+// Message Definition:
+//
+//     message Request {
+//       // The name of the Table
+//       // Values can be of the following formats:
+//       // - `projects//tables/`
+//       // - `projects//instances//tables/
` +// // - `region//zones//tables/
` +// string table_name = 1; +// +// // This value specifies routing for replication. +// // It can be in the following formats: +// // - `profiles/` +// // - a legacy `profile_id` that can be any string +// string app_profile_id = 2; +// } +// +// Example message: +// +// { +// table_name: projects/proj_foo/instances/instance_bar/table/table_baz, +// app_profile_id: profiles/prof_qux +// } +// +// The routing header consists of one or multiple key-value pairs. Every key +// and value must be percent-encoded, and joined together in the format of +// `key1=value1&key2=value2`. +// In the examples below I am skipping the percent-encoding for readablity. +// +// Example 1 +// +// Extracting a field from the request to put into the routing header +// unchanged, with the key equal to the field name. +// +// annotation: +// +// option (google.api.routing) = { +// // Take the `app_profile_id`. +// routing_parameters { +// field: "app_profile_id" +// } +// }; +// +// result: +// +// x-goog-request-params: app_profile_id=profiles/prof_qux +// +// Example 2 +// +// Extracting a field from the request to put into the routing header +// unchanged, with the key different from the field name. +// +// annotation: +// +// option (google.api.routing) = { +// // Take the `app_profile_id`, but name it `routing_id` in the header. +// routing_parameters { +// field: "app_profile_id" +// path_template: "{routing_id=**}" +// } +// }; +// +// result: +// +// x-goog-request-params: routing_id=profiles/prof_qux +// +// Example 3 +// +// Extracting a field from the request to put into the routing +// header, while matching a path template syntax on the field's value. +// +// NB: it is more useful to send nothing than to send garbage for the purpose +// of dynamic routing, since garbage pollutes cache. Thus the matching. +// +// Sub-example 3a +// +// The field matches the template. +// +// annotation: +// +// option (google.api.routing) = { +// // Take the `table_name`, if it's well-formed (with project-based +// // syntax). +// routing_parameters { +// field: "table_name" +// path_template: "{table_name=projects/*/instances/*/**}" +// } +// }; +// +// result: +// +// x-goog-request-params: +// table_name=projects/proj_foo/instances/instance_bar/table/table_baz +// +// Sub-example 3b +// +// The field does not match the template. +// +// annotation: +// +// option (google.api.routing) = { +// // Take the `table_name`, if it's well-formed (with region-based +// // syntax). +// routing_parameters { +// field: "table_name" +// path_template: "{table_name=regions/*/zones/*/**}" +// } +// }; +// +// result: +// +// +// +// Sub-example 3c +// +// Multiple alternative conflictingly named path templates are +// specified. The one that matches is used to construct the header. +// +// annotation: +// +// option (google.api.routing) = { +// // Take the `table_name`, if it's well-formed, whether +// // using the region- or projects-based syntax. +// +// routing_parameters { +// field: "table_name" +// path_template: "{table_name=regions/*/zones/*/**}" +// } +// routing_parameters { +// field: "table_name" +// path_template: "{table_name=projects/*/instances/*/**}" +// } +// }; +// +// result: +// +// x-goog-request-params: +// table_name=projects/proj_foo/instances/instance_bar/table/table_baz +// +// Example 4 +// +// Extracting a single routing header key-value pair by matching a +// template syntax on (a part of) a single request field. +// +// annotation: +// +// option (google.api.routing) = { +// // Take just the project id from the `table_name` field. +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=projects/*}/**" +// } +// }; +// +// result: +// +// x-goog-request-params: routing_id=projects/proj_foo +// +// Example 5 +// +// Extracting a single routing header key-value pair by matching +// several conflictingly named path templates on (parts of) a single request +// field. The last template to match "wins" the conflict. +// +// annotation: +// +// option (google.api.routing) = { +// // If the `table_name` does not have instances information, +// // take just the project id for routing. +// // Otherwise take project + instance. +// +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=projects/*}/**" +// } +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=projects/*/instances/*}/**" +// } +// }; +// +// result: +// +// x-goog-request-params: +// routing_id=projects/proj_foo/instances/instance_bar +// +// Example 6 +// +// Extracting multiple routing header key-value pairs by matching +// several non-conflicting path templates on (parts of) a single request field. +// +// Sub-example 6a +// +// Make the templates strict, so that if the `table_name` does not +// have an instance information, nothing is sent. +// +// annotation: +// +// option (google.api.routing) = { +// // The routing code needs two keys instead of one composite +// // but works only for the tables with the "project-instance" name +// // syntax. +// +// routing_parameters { +// field: "table_name" +// path_template: "{project_id=projects/*}/instances/*/**" +// } +// routing_parameters { +// field: "table_name" +// path_template: "projects/*/{instance_id=instances/*}/**" +// } +// }; +// +// result: +// +// x-goog-request-params: +// project_id=projects/proj_foo&instance_id=instances/instance_bar +// +// Sub-example 6b +// +// Make the templates loose, so that if the `table_name` does not +// have an instance information, just the project id part is sent. +// +// annotation: +// +// option (google.api.routing) = { +// // The routing code wants two keys instead of one composite +// // but will work with just the `project_id` for tables without +// // an instance in the `table_name`. +// +// routing_parameters { +// field: "table_name" +// path_template: "{project_id=projects/*}/**" +// } +// routing_parameters { +// field: "table_name" +// path_template: "projects/*/{instance_id=instances/*}/**" +// } +// }; +// +// result (is the same as 6a for our example message because it has the instance +// information): +// +// x-goog-request-params: +// project_id=projects/proj_foo&instance_id=instances/instance_bar +// +// Example 7 +// +// Extracting multiple routing header key-value pairs by matching +// several path templates on multiple request fields. +// +// NB: note that here there is no way to specify sending nothing if one of the +// fields does not match its template. E.g. if the `table_name` is in the wrong +// format, the `project_id` will not be sent, but the `routing_id` will be. +// The backend routing code has to be aware of that and be prepared to not +// receive a full complement of keys if it expects multiple. +// +// annotation: +// +// option (google.api.routing) = { +// // The routing needs both `project_id` and `routing_id` +// // (from the `app_profile_id` field) for routing. +// +// routing_parameters { +// field: "table_name" +// path_template: "{project_id=projects/*}/**" +// } +// routing_parameters { +// field: "app_profile_id" +// path_template: "{routing_id=**}" +// } +// }; +// +// result: +// +// x-goog-request-params: +// project_id=projects/proj_foo&routing_id=profiles/prof_qux +// +// Example 8 +// +// Extracting a single routing header key-value pair by matching +// several conflictingly named path templates on several request fields. The +// last template to match "wins" the conflict. +// +// annotation: +// +// option (google.api.routing) = { +// // The `routing_id` can be a project id or a region id depending on +// // the table name format, but only if the `app_profile_id` is not set. +// // If `app_profile_id` is set it should be used instead. +// +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=projects/*}/**" +// } +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=regions/*}/**" +// } +// routing_parameters { +// field: "app_profile_id" +// path_template: "{routing_id=**}" +// } +// }; +// +// result: +// +// x-goog-request-params: routing_id=profiles/prof_qux +// +// Example 9 +// +// Bringing it all together. +// +// annotation: +// +// option (google.api.routing) = { +// // For routing both `table_location` and a `routing_id` are needed. +// // +// // table_location can be either an instance id or a region+zone id. +// // +// // For `routing_id`, take the value of `app_profile_id` +// // - If it's in the format `profiles/`, send +// // just the `` part. +// // - If it's any other literal, send it as is. +// // If the `app_profile_id` is empty, and the `table_name` starts with +// // the project_id, send that instead. +// +// routing_parameters { +// field: "table_name" +// path_template: "projects/*/{table_location=instances/*}/tables/*" +// } +// routing_parameters { +// field: "table_name" +// path_template: "{table_location=regions/*/zones/*}/tables/*" +// } +// routing_parameters { +// field: "table_name" +// path_template: "{routing_id=projects/*}/**" +// } +// routing_parameters { +// field: "app_profile_id" +// path_template: "{routing_id=**}" +// } +// routing_parameters { +// field: "app_profile_id" +// path_template: "profiles/{routing_id=*}" +// } +// }; +// +// result: +// +// x-goog-request-params: +// table_location=instances/instance_bar&routing_id=prof_qux +message RoutingRule { + // A collection of Routing Parameter specifications. + // **NOTE:** If multiple Routing Parameters describe the same key + // (via the `path_template` field or via the `field` field when + // `path_template` is not provided), "last one wins" rule + // determines which Parameter gets used. + // See the examples for more details. + repeated RoutingParameter routing_parameters = 2; +} + +// A projection from an input message to the GRPC or REST header. +message RoutingParameter { + // A request field to extract the header key-value pair from. + string field = 1; + + // A pattern matching the key-value field. Optional. + // If not specified, the whole field specified in the `field` field will be + // taken as value, and its name used as key. If specified, it MUST contain + // exactly one named segment (along with any number of unnamed segments) The + // pattern will be matched over the field specified in the `field` field, then + // if the match is successful: + // - the name of the single named segment will be used as a header name, + // - the match value of the segment will be used as a header value; + // if the match is NOT successful, nothing will be sent. + // + // Example: + // + // -- This is a field in the request message + // | that the header value will be extracted from. + // | + // | -- This is the key name in the + // | | routing header. + // V | + // field: "table_name" v + // path_template: "projects/*/{table_location=instances/*}/tables/*" + // ^ ^ + // | | + // In the {} brackets is the pattern that -- | + // specifies what to extract from the | + // field as a value to be sent. | + // | + // The string in the field must match the whole pattern -- + // before brackets, inside brackets, after brackets. + // + // When looking at this specific example, we can see that: + // - A key-value pair with the key `table_location` + // and the value matching `instances/*` should be added + // to the x-goog-request-params routing header. + // - The value is extracted from the request message's `table_name` field + // if it matches the full pattern specified: + // `projects/*/instances/*/tables/*`. + // + // **NB:** If the `path_template` field is not provided, the key name is + // equal to the field name, and the whole field should be sent as a value. + // This makes the pattern for the field and the value functionally equivalent + // to `**`, and the configuration + // + // { + // field: "table_name" + // } + // + // is a functionally equivalent shorthand to: + // + // { + // field: "table_name" + // path_template: "{table_name=**}" + // } + // + // See Example 1 for more details. + string path_template = 2; +} diff --git a/google-cloud/protos/google/api/service.proto b/google-cloud/protos/google/api/service.proto index c29eb5c8..7cae8a94 100644 --- a/google-cloud/protos/google/api/service.proto +++ b/google-cloud/protos/google/api/service.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -25,18 +24,15 @@ import "google/api/control.proto"; import "google/api/documentation.proto"; import "google/api/endpoint.proto"; import "google/api/http.proto"; -import "google/api/label.proto"; import "google/api/log.proto"; import "google/api/logging.proto"; import "google/api/metric.proto"; import "google/api/monitored_resource.proto"; import "google/api/monitoring.proto"; import "google/api/quota.proto"; -import "google/api/resource.proto"; import "google/api/source_info.proto"; import "google/api/system_parameter.proto"; import "google/api/usage.proto"; -import "google/protobuf/any.proto"; import "google/protobuf/api.proto"; import "google/protobuf/type.proto"; import "google/protobuf/wrappers.proto"; @@ -56,7 +52,6 @@ option objc_class_prefix = "GAPI"; // Example: // // type: google.api.Service -// config_version: 3 // name: calendar.googleapis.com // title: Google Calendar API // apis: @@ -71,29 +66,24 @@ option objc_class_prefix = "GAPI"; // requirements: // provider_id: google_calendar_auth message Service { - // The semantic version of the service configuration. The config version - // affects the interpretation of the service configuration. For example, - // certain features are enabled by default for certain config versions. - // The latest config version is `3`. - google.protobuf.UInt32Value config_version = 20; - // The service name, which is a DNS-like logical identifier for the // service, such as `calendar.googleapis.com`. The service name // typically goes through DNS verification to make sure the owner // of the service also owns the DNS name. string name = 1; - // A unique ID for a specific instance of this message, typically assigned - // by the client for tracking purpose. If empty, the server may choose to - // generate one instead. Must be no longer than 60 characters. - string id = 33; - // The product title for this service. string title = 2; // The Google project that owns this service. string producer_project_id = 22; + // A unique ID for a specific instance of this message, typically assigned + // by the client for tracking purpose. Must be no longer than 63 characters + // and only lower case letters, digits, '.', '_' and '-' are allowed. If + // empty, the server may choose to generate one instead. + string id = 33; + // A list of API interfaces exported by this service. Only the `name` field // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration // author, as the remaining fields will be derived from the IDL during the @@ -173,4 +163,10 @@ message Service { // Output only. The source information for this configuration if available. SourceInfo source_info = 37; + + // Obsolete. Do not use. + // + // This field has no semantic meaning. The service config compiler always + // sets this field to `3`. + google.protobuf.UInt32Value config_version = 20 [deprecated = true]; } diff --git a/google-cloud/protos/google/api/serviceconfig.yaml b/google-cloud/protos/google/api/serviceconfig.yaml index 6d883d42..054295e4 100644 --- a/google-cloud/protos/google/api/serviceconfig.yaml +++ b/google-cloud/protos/google/api/serviceconfig.yaml @@ -1,5 +1,5 @@ type: google.api.Service -config_version: 1 +config_version: 3 name: serviceconfig.googleapis.com title: Service Config API @@ -16,8 +16,10 @@ types: - name: google.api.ResourceDescriptor - name: google.api.ResourceReference - name: google.api.Service +- name: google.api.Visibility enums: +- name: google.api.ErrorReason - name: google.api.FieldBehavior documentation: diff --git a/google-cloud/protos/google/api/servicecontrol/BUILD.bazel b/google-cloud/protos/google/api/servicecontrol/BUILD.bazel index e69de29b..0ed01f05 100644 --- a/google-cloud/protos/google/api/servicecontrol/BUILD.bazel +++ b/google-cloud/protos/google/api/servicecontrol/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_control. + +# 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 servicecontrol. +# 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 = "servicecontrol_ruby_wrapper", + srcs = ["//google/api/servicecontrol/v1:servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_control", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-wrapper-of=v1:0.3", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + ], + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-servicecontrol-ruby", + deps = [ + ":servicecontrol_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/api/servicecontrol/v1/BUILD.bazel b/google-cloud/protos/google/api/servicecontrol/v1/BUILD.bazel new file mode 100644 index 00000000..a603fe7f --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v1/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 = "servicecontrol_proto", + srcs = [ + "check_error.proto", + "distribution.proto", + "http_request.proto", + "log_entry.proto", + "metric_value.proto", + "operation.proto", + "quota_controller.proto", + "service_controller.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:distribution_proto", + "//google/logging/type:type_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "servicecontrol_proto_with_info", + deps = [ + ":servicecontrol_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 = "servicecontrol_java_proto", + deps = [":servicecontrol_proto"], +) + +java_grpc_library( + name = "servicecontrol_java_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_java_proto"], +) + +java_gapic_library( + name = "servicecontrol_java_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + test_deps = [ + ":servicecontrol_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_proto", + ], +) + +java_gapic_test( + name = "servicecontrol_java_gapic_test_suite", + test_classes = [ + "com.google.api.servicecontrol.v1.QuotaControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v1.QuotaControllerClientTest", + "com.google.api.servicecontrol.v1.ServiceControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v1.ServiceControllerClientTest", + ], + runtime_deps = [":servicecontrol_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicecontrol-v1-java", + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_gapic", + ":servicecontrol_java_grpc", + ":servicecontrol_java_proto", + ":servicecontrol_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "servicecontrol_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/servicecontrol/v1", + protos = [":servicecontrol_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:distribution_go_proto", + "//google/logging/type:type_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "servicecontrol_go_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + importpath = "cloud.google.com/go/api/servicecontrol/apiv1;servicecontrol", + metadata = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +go_test( + name = "servicecontrol_go_gapic_test", + srcs = [":servicecontrol_go_gapic_srcjar_test"], + embed = [":servicecontrol_go_gapic"], + importpath = "cloud.google.com/go/api/servicecontrol/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicecontrol-v1-go", + deps = [ + ":servicecontrol_go_gapic", + ":servicecontrol_go_gapic_srcjar-metadata.srcjar", + ":servicecontrol_go_gapic_srcjar-test.srcjar", + ":servicecontrol_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "servicecontrol_py_gapic", + srcs = [":servicecontrol_proto"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicecontrol", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-control", + ], + transport = "grpc", +) + +py_test( + name = "servicecontrol_py_gapic_test", + srcs = [ + "servicecontrol_py_gapic_pytest.py", + "servicecontrol_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicecontrol_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-servicecontrol-v1-py", + deps = [ + ":servicecontrol_py_gapic", + ], +) + +############################################################################## +# 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 = "servicecontrol_php_proto", + deps = [":servicecontrol_proto"], +) + +php_grpc_library( + name = "servicecontrol_php_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_php_proto"], +) + +php_gapic_library( + name = "servicecontrol_php_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + service_yaml = "servicecontrol.yaml", + deps = [ + ":servicecontrol_php_grpc", + ":servicecontrol_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-php", + deps = [ + ":servicecontrol_php_gapic", + ":servicecontrol_php_grpc", + ":servicecontrol_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "servicecontrol_nodejs_gapic", + package_name = "@google-cloud/service-control", + src = ":servicecontrol_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + package = "google.api.servicecontrol.v1", + service_yaml = "servicecontrol.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicecontrol-v1-nodejs", + deps = [ + ":servicecontrol_nodejs_gapic", + ":servicecontrol_proto", + ## DO NOT CHANGE: Owlbot add dependency logging type protos. + "//google/logging/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 = "servicecontrol_ruby_proto", + deps = [":servicecontrol_proto"], +) + +ruby_grpc_library( + name = "servicecontrol_ruby_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicecontrol_ruby_gapic", + srcs = [":servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-gem-name=google-cloud-service_control-v1", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicecontrol_grpc_service_config.json", + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API V1", + deps = [ + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-ruby", + deps = [ + ":servicecontrol_ruby_gapic", + ":servicecontrol_ruby_grpc", + ":servicecontrol_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 = "servicecontrol_csharp_proto", + deps = [":servicecontrol_proto"], +) + +csharp_grpc_library( + name = "servicecontrol_csharp_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_csharp_proto"], +) + +csharp_gapic_library( + name = "servicecontrol_csharp_gapic", + srcs = [":servicecontrol_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicecontrol_grpc_service_config.json", + service_yaml = "servicecontrol.yaml", + deps = [ + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-csharp", + deps = [ + ":servicecontrol_csharp_gapic", + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "servicecontrol_cc_proto", + deps = [":servicecontrol_proto"], +) + +cc_grpc_library( + name = "servicecontrol_cc_grpc", + srcs = [":servicecontrol_proto"], + grpc_only = True, + deps = [":servicecontrol_cc_proto"], +) diff --git a/google-cloud/protos/google/api/servicecontrol/v1/check_error.proto b/google-cloud/protos/google/api/servicecontrol/v1/check_error.proto index de3969d2..4f63471a 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/check_error.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/check_error.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -16,13 +16,16 @@ syntax = "proto3"; package google.api.servicecontrol.v1; -import "google/api/annotations.proto"; +import "google/rpc/status.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "CheckErrorProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // Defines the errors to be returned in // [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors]. @@ -33,19 +36,16 @@ message CheckError { ERROR_CODE_UNSPECIFIED = 0; // The consumer's project id, network container, or resource container was - // not found. Same as [google.rpc.Code.NOT_FOUND][]. + // not found. Same as [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND]. NOT_FOUND = 5; // The consumer doesn't have access to the specified resource. - // Same as [google.rpc.Code.PERMISSION_DENIED][]. + // Same as [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. PERMISSION_DENIED = 7; - // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][]. + // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. RESOURCE_EXHAUSTED = 8; - // The consumer has been flagged as an abuser. - ABUSER_DETECTED = 103; - // The consumer hasn't activated the service. SERVICE_NOT_ACTIVATED = 104; @@ -58,6 +58,10 @@ message CheckError { // The consumer's project number or id does not represent a valid project. PROJECT_INVALID = 114; + // The input consumer info does not represent a valid consumer folder or + // organization. + CONSUMER_INVALID = 125; + // The IP address of the consumer is invalid for the specific consumer // project. IP_ADDRESS_BLOCKED = 109; @@ -83,26 +87,9 @@ message CheckError { // The consumer's API Key was not found in config record. API_KEY_NOT_FOUND = 113; - // Request is not allowed as per security policies defined in Org Policy. - SECURITY_POLICY_VIOLATED = 121; - // The credential in the request can not be verified. INVALID_CREDENTIAL = 123; - // Request is not allowed as per location policies defined in Org Policy. - LOCATION_POLICY_VIOLATED = 124; - - // The input consumer info does not represent a valid consumer folder or - // organization. - CONSUMER_INVALID = 125; - - // NOTE: By convention, all *_UNAVAILABLE codes are required to be in the - // 300 - 399 range. - - // NOTE: Unless there are very special business requirements, service - // producer should ignore the following errors. These errors should not - // cause the rejection of client requests. - // The backend server for looking up project id/number is unavailable. NAMESPACE_LOOKUP_UNAVAILABLE = 300; @@ -112,22 +99,26 @@ message CheckError { // The backend server for checking billing status is unavailable. BILLING_STATUS_UNAVAILABLE = 302; - // The backend server for checking quota limits is unavailable. - QUOTA_CHECK_UNAVAILABLE = 303; - // Cloud Resource Manager backend server is unavailable. CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE = 305; - - // Backend server for evaluating security policy is unavailable. - SECURITY_POLICY_BACKEND_UNAVAILABLE = 306; - - // Backend server for evaluating location policy is unavailable. - LOCATION_POLICY_BACKEND_UNAVAILABLE = 307; } // The error code. Code code = 1; + // Subject to whom this error applies. See the specific code enum for more + // details on this field. For example: + // + // - "project:" + // - "folder:" + // - "organization:" + string subject = 4; + // Free-form text providing details on the error cause of the error. string detail = 2; + + // Contains public information about the check error. If available, + // `status.code` will be non zero and client can propagate it out as public + // error. + google.rpc.Status status = 3; } diff --git a/google-cloud/protos/google/api/servicecontrol/v1/distribution.proto b/google-cloud/protos/google/api/servicecontrol/v1/distribution.proto index 40b89f5b..e874e44a 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/distribution.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/distribution.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -16,20 +16,25 @@ syntax = "proto3"; package google.api.servicecontrol.v1; +import "google/api/distribution.proto"; + option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "DistributionProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // Distribution represents a frequency distribution of double-valued sample // points. It contains the size of the population of sample points plus // additional optional information: // -// - the arithmetic mean of the samples -// - the minimum and maximum of the samples -// - the sum-squared-deviation of the samples, used to compute variance -// - a histogram of the values of the sample points +// * the arithmetic mean of the samples +// * the minimum and maximum of the samples +// * the sum-squared-deviation of the samples, used to compute variance +// * a histogram of the values of the sample points message Distribution { // Describing buckets with constant width. message LinearBuckets { @@ -155,4 +160,7 @@ message Distribution { // Buckets with arbitrary user-provided width. ExplicitBuckets explicit_buckets = 9; } + + // Example points. Must be in increasing order of `value` field. + repeated google.api.Distribution.Exemplar exemplars = 10; } diff --git a/google-cloud/protos/google/api/servicecontrol/v1/http_request.proto b/google-cloud/protos/google/api/servicecontrol/v1/http_request.proto new file mode 100644 index 00000000..1587203e --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v1/http_request.proto @@ -0,0 +1,93 @@ +// 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.api.servicecontrol.v1; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; +option java_multiple_files = true; +option java_outer_classname = "HttpRequestProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// A common proto for logging HTTP requests. Only contains semantics +// defined by the HTTP specification. Product-specific logging +// information MUST be defined in a separate message. +message HttpRequest { + // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. + string request_method = 1; + + // The scheme (http, https), the host name, the path, and the query + // portion of the URL that was requested. + // Example: `"http://example.com/some/info?color=red"`. + string request_url = 2; + + // The size of the HTTP request message in bytes, including the request + // headers and the request body. + int64 request_size = 3; + + // The response code indicating the status of the response. + // Examples: 200, 404. + int32 status = 4; + + // The size of the HTTP response message sent back to the client, in bytes, + // including the response headers and the response body. + int64 response_size = 5; + + // The user agent sent by the client. Example: + // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET + // CLR 1.0.3705)"`. + string user_agent = 6; + + // The IP address (IPv4 or IPv6) of the client that issued the HTTP + // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. + string remote_ip = 7; + + // The IP address (IPv4 or IPv6) of the origin server that the request was + // sent to. + string server_ip = 13; + + // The referer URL of the request, as defined in + // [HTTP/1.1 Header Field + // Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + string referer = 8; + + // The request processing latency on the server, from the time the request was + // received until the response was sent. + google.protobuf.Duration latency = 14; + + // Whether or not a cache lookup was attempted. + bool cache_lookup = 11; + + // Whether or not an entity was served from cache + // (with or without validation). + bool cache_hit = 9; + + // Whether or not the response was validated with the origin server before + // being served from cache. This field is only meaningful if `cache_hit` is + // True. + bool cache_validated_with_origin_server = 10; + + // The number of HTTP response bytes inserted into cache. Set only when a + // cache fill was attempted. + int64 cache_fill_bytes = 12; + + // Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" + string protocol = 15; +} diff --git a/google-cloud/protos/google/api/servicecontrol/v1/log_entry.proto b/google-cloud/protos/google/api/servicecontrol/v1/log_entry.proto index 50b0fc46..4f20aef0 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/log_entry.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/log_entry.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -16,16 +16,19 @@ syntax = "proto3"; package google.api.servicecontrol.v1; -import "google/api/annotations.proto"; +import "google/api/servicecontrol/v1/http_request.proto"; import "google/logging/type/log_severity.proto"; import "google/protobuf/any.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "LogEntryProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // An individual log entry. message LogEntry { @@ -41,6 +44,16 @@ message LogEntry { // `LogSeverity.DEFAULT`. google.logging.type.LogSeverity severity = 12; + // Optional. Information about the HTTP request associated with this + // log entry, if applicable. + HttpRequest http_request = 14; + + // Optional. Resource name of the trace associated with the log entry, if any. + // If this field contains a relative resource name, you can assume the name is + // relative to `//tracing.googleapis.com`. Example: + // `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824` + string trace = 15; + // A unique ID for the log entry used for deduplication. If omitted, // the implementation will generate one based on operation_id. string insert_id = 4; @@ -63,4 +76,51 @@ message LogEntry { // is expressed as a JSON object. google.protobuf.Struct struct_payload = 6; } + + // Optional. Information about an operation associated with the log entry, if + // applicable. + LogEntryOperation operation = 16; + + // Optional. Source code location information associated with the log entry, + // if any. + LogEntrySourceLocation source_location = 17; +} + +// Additional information about a potentially long-running operation with which +// a log entry is associated. +message LogEntryOperation { + // Optional. An arbitrary operation identifier. Log entries with the + // same identifier are assumed to be part of the same operation. + string id = 1; + + // Optional. An arbitrary producer identifier. The combination of + // `id` and `producer` must be globally unique. Examples for `producer`: + // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. + string producer = 2; + + // Optional. Set this to True if this is the first log entry in the operation. + bool first = 3; + + // Optional. Set this to True if this is the last log entry in the operation. + bool last = 4; +} + +// Additional information about the source code location that produced the log +// entry. +message LogEntrySourceLocation { + // Optional. Source file name. Depending on the runtime environment, this + // might be a simple name or a fully-qualified name. + string file = 1; + + // Optional. Line within the source file. 1-based; 0 indicates no line number + // available. + int64 line = 2; + + // Optional. Human-readable name of the function or method being invoked, with + // optional context such as the class or package name. This information may be + // used in contexts such as the logs viewer, where a file and line number are + // less meaningful. The format can vary by language. For example: + // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + // (Python). + string function = 3; } diff --git a/google-cloud/protos/google/api/servicecontrol/v1/metric_value.proto b/google-cloud/protos/google/api/servicecontrol/v1/metric_value.proto index 9a62ff69..c0e2a42d 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/metric_value.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/metric_value.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -16,33 +16,36 @@ syntax = "proto3"; package google.api.servicecontrol.v1; -import "google/api/annotations.proto"; import "google/api/servicecontrol/v1/distribution.proto"; import "google/protobuf/timestamp.proto"; -import "google/type/money.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "MetricValueSetProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // Represents a single metric value. message MetricValue { // The labels describing the metric value. - // See comments on - // [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] - // for the overriding relationship. + // See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for + // the overriding relationship. + // Note that this map must not contain monitored resource labels. map labels = 1; // The start of the time period over which this metric value's measurement // applies. The time period has different semantics for different metric // types (cumulative, delta, and gauge). See the metric definition - // documentation in the service configuration for details. + // documentation in the service configuration for details. If not specified, + // [google.api.servicecontrol.v1.Operation.start_time][google.api.servicecontrol.v1.Operation.start_time] will be used. google.protobuf.Timestamp start_time = 2; // The end of the time period over which this metric value's measurement - // applies. + // applies. If not specified, + // [google.api.servicecontrol.v1.Operation.end_time][google.api.servicecontrol.v1.Operation.end_time] will be used. google.protobuf.Timestamp end_time = 3; // The value. The type of value used in the request must diff --git a/google-cloud/protos/google/api/servicecontrol/v1/operation.proto b/google-cloud/protos/google/api/servicecontrol/v1/operation.proto index 301f3575..7ce6cd43 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/operation.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/operation.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -16,28 +16,31 @@ syntax = "proto3"; package google.api.servicecontrol.v1; -import "google/api/annotations.proto"; import "google/api/servicecontrol/v1/log_entry.proto"; import "google/api/servicecontrol/v1/metric_value.proto"; +import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "OperationProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // Represents information regarding an operation. message Operation { // Defines the importance of the data contained in the operation. enum Importance { - // The API implementation may cache and aggregate the data. - // The data may be lost when rare and unexpected system failures occur. + // Allows data caching, batching, and aggregation. It provides + // higher performance with higher data loss risk. LOW = 0; - // The API implementation doesn't cache and aggregate the data. - // If the method returns successfully, it's guaranteed that the data has - // been persisted in durable storage. + // Disables data aggregation to minimize data loss. It is for operations + // that contains significant monetary value or audit trail. This feature + // only applies to the client libraries. HIGH = 1; } @@ -60,10 +63,13 @@ message Operation { // consumer, but not for service-initiated operations that are // not related to a specific consumer. // - // This can be in one of the following formats: - // project:, - // project_number:, - // api_key:. + // - This can be in one of the following formats: + // - project:PROJECT_ID, + // - project`_`number:PROJECT_NUMBER, + // - projects/PROJECT_ID or PROJECT_NUMBER, + // - folders/FOLDER_NUMBER, + // - organizations/ORGANIZATION_NUMBER, + // - api`_`key:API_KEY. string consumer_id = 3; // Required. Start time of the operation. @@ -90,7 +96,8 @@ message Operation { // - `servicecontrol.googleapis.com/service_agent` describing the service // used to handle the API request (e.g. ESP), // - `servicecontrol.googleapis.com/platform` describing the platform - // where the API is served (e.g. GAE, GCE, GKE). + // where the API is served, such as App Engine, Compute Engine, or + // Kubernetes Engine. map labels = 6; // Represents information about this operation. Each MetricValueSet @@ -110,4 +117,7 @@ message Operation { // DO NOT USE. This is an experimental field. Importance importance = 11; + + // Unimplemented. + repeated google.protobuf.Any extensions = 16; } diff --git a/google-cloud/protos/google/api/servicecontrol/v1/quota_controller.proto b/google-cloud/protos/google/api/servicecontrol/v1/quota_controller.proto index 808a7354..58b13ee6 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/quota_controller.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/quota_controller.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -18,18 +18,28 @@ package google.api.servicecontrol.v1; import "google/api/annotations.proto"; import "google/api/servicecontrol/v1/metric_value.proto"; +import "google/rpc/status.proto"; +import "google/api/client.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "QuotaControllerProto"; option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // [Google Quota Control API](/service-control/overview) // // Allows clients to allocate and release quota against a [managed // service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService). service QuotaController { + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + // Attempts to allocate quota for the specified consumer. It should be called // before the operation is executed. // @@ -54,8 +64,7 @@ message AllocateQuotaRequest { // Name of the service as specified in the service configuration. For example, // `"pubsub.googleapis.com"`. // - // See [google.api.Service][google.api.Service] for the definition of a - // service name. + // See [google.api.Service][google.api.Service] for the definition of a service name. string service_name = 1; // Operation that describes the quota allocation. @@ -78,34 +87,59 @@ message QuotaOperation { // the service configuration or specified using the quota metrics. If the // amount is higher than the available quota, allocation error will be // returned and no quota will be allocated. + // If multiple quotas are part of the request, and one fails, none of the + // quotas are allocated or released. NORMAL = 1; // The operation allocates quota for the amount specified in the service // configuration or specified using the quota metrics. If the amount is // higher than the available quota, request does not fail but all available // quota will be allocated. + // For rate quota, BEST_EFFORT will continue to deduct from other groups + // even if one does not have enough quota. For allocation, it will find the + // minimum available amount across all groups and deduct that amount from + // all the affected groups. BEST_EFFORT = 2; // For AllocateQuota request, only checks if there is enough quota // available and does not change the available quota. No lock is placed on // the available quota either. CHECK_ONLY = 3; + + // Unimplemented. When used in AllocateQuotaRequest, this returns the + // effective quota limit(s) in the response, and no quota check will be + // performed. Not supported for other requests, and even for + // AllocateQuotaRequest, this is currently supported only for allowlisted + // services. + QUERY_ONLY = 4; + + // The operation allocates quota for the amount specified in the service + // configuration or specified using the quota metrics. If the requested + // amount is higher than the available quota, request does not fail and + // remaining quota would become negative (going over the limit). + // Not supported for Rate Quota. + ADJUST_ONLY = 5; } // Identity of the operation. This is expected to be unique within the scope // of the service that generated the operation, and guarantees idempotency in // case of retries. // - // UUID version 4 is recommended, though not required. In scenarios where an - // operation is computed from existing information and an idempotent id is - // desirable for deduplication purpose, UUID version 5 is recommended. See - // RFC 4122 for details. + // In order to ensure best performance and latency in the Quota backends, + // operation_ids are optimally associated with time, so that related + // operations can be accessed fast in storage. For this reason, the + // recommended token for services that intend to operate at a high QPS is + // Unix time in nanos + UUID string operation_id = 1; // Fully qualified name of the API method for which this quota operation is // requested. This name is used for matching quota rules or metric rules and - // billing status rules defined in service configuration. This field is not - // required if the quota operation is performed on non-API resources. + // billing status rules defined in service configuration. + // + // This field should not be set if any of the following is true: + // (1) the quota operation is performed on non-API resources. + // (2) quota_metrics is set because the caller is doing quota override. + // // // Example of an RPC method name: // google.example.library.v1.LibraryService.CreateShelf @@ -132,6 +166,8 @@ message QuotaOperation { // label value combinations. If a request has such duplicated MetricValue // instances, the entire request is rejected with // an invalid argument error. + // + // This field is mutually exclusive with method_name. repeated MetricValueSet quota_metrics = 5; // Quota mode for this operation. @@ -163,8 +199,7 @@ message AllocateQuotaResponse { string service_config_id = 4; } -// Represents error information for -// [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation]. +// Represents error information for [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation]. message QuotaError { // Error codes related to project config validations are deprecated since the // quota controller methods do not perform these validations. Instead services @@ -176,7 +211,7 @@ message QuotaError { UNSPECIFIED = 0; // Quota allocation failed. - // Same as [google.rpc.Code.RESOURCE_EXHAUSTED][]. + // Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. RESOURCE_EXHAUSTED = 8; // Consumer cannot access the service because the service requires active @@ -203,4 +238,8 @@ message QuotaError { // Free-form text that provides details on the cause of the error. string description = 3; + + // Contains additional information about the quota error. + // If available, `status.code` will be non zero. + google.rpc.Status status = 4; } diff --git a/google-cloud/protos/google/api/servicecontrol/v1/service_controller.proto b/google-cloud/protos/google/api/servicecontrol/v1/service_controller.proto index 38f53ca0..8f658c4f 100644 --- a/google-cloud/protos/google/api/servicecontrol/v1/service_controller.proto +++ b/google-cloud/protos/google/api/servicecontrol/v1/service_controller.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -17,36 +17,48 @@ syntax = "proto3"; package google.api.servicecontrol.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/api/servicecontrol/v1/check_error.proto"; import "google/api/servicecontrol/v1/operation.proto"; import "google/rpc/status.proto"; option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; option java_multiple_files = true; option java_outer_classname = "ServiceControllerProto"; option java_package = "com.google.api.servicecontrol.v1"; option objc_class_prefix = "GASC"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; // [Google Service Control API](/service-control/overview) // // Lets clients check and report operations against a [managed // service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService). service ServiceController { - // Checks an operation with Google Service Control to decide whether - // the given operation should proceed. It should be called before the - // operation is executed. + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + + // Checks whether an operation on a service should be allowed to proceed + // based on the configuration of the service and related policies. It must be + // called before the operation is executed. // // If feasible, the client should cache the check results and reuse them for - // 60 seconds. In case of server errors, the client can rely on the cached - // results for longer time. + // 60 seconds. In case of any server errors, the client should rely on the + // cached results for much longer time to avoid outage. + // WARNING: There is general 60s delay for the configuration and policy + // propagation, therefore callers MUST NOT depend on the `Check` method having + // the latest policy information. // - // NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has the - // size limit of 64KB. + // NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has + // the size limit (wire-format byte size) of 1MB. // // This method requires the `servicemanagement.services.check` permission // on the specified service. For more information, see - // [Google Cloud IAM](https://cloud.google.com/iam). + // [Cloud IAM](https://cloud.google.com/iam). rpc Check(CheckRequest) returns (CheckResponse) { option (google.api.http) = { post: "/v1/services/{service_name}:check" @@ -64,7 +76,7 @@ service ServiceController { // for business and compliance reasons. // // NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has - // the size limit of 1MB. + // the size limit (wire-format byte size) of 1MB. // // This method requires the `servicemanagement.services.report` permission // on the specified service. For more information, see @@ -100,16 +112,55 @@ message CheckRequest { // Response message for the Check method. message CheckResponse { + // Contains additional information about the check operation. message CheckInfo { + // A list of fields and label keys that are ignored by the server. + // The client doesn't need to send them for following requests to improve + // performance and allow better aggregation. + repeated string unused_arguments = 1; + // Consumer info of this check. ConsumerInfo consumer_info = 2; } - // `ConsumerInfo` provides information about the consumer project. + // `ConsumerInfo` provides information about the consumer. message ConsumerInfo { + // The type of the consumer as defined in + // [Google Resource Manager](https://cloud.google.com/resource-manager/). + enum ConsumerType { + // This is never used. + CONSUMER_TYPE_UNSPECIFIED = 0; + + // The consumer is a Google Cloud Project. + PROJECT = 1; + + // The consumer is a Google Cloud Folder. + FOLDER = 2; + + // The consumer is a Google Cloud Organization. + ORGANIZATION = 3; + + // Service-specific resource container which is defined by the service + // producer to offer their users the ability to manage service control + // functionalities at a finer level of granularity than the PROJECT. + SERVICE_SPECIFIC = 4; + } + // The Google cloud project number, e.g. 1234567890. A value of 0 indicates // no project number is found. + // + // NOTE: This field is deprecated after we support flexible consumer + // id. New code should not depend on this field anymore. int64 project_number = 1; + + // The type of the consumer which should have been defined in + // [Google Resource Manager](https://cloud.google.com/resource-manager/). + ConsumerType type = 2; + + // The consumer identity number, can be Google cloud project number, folder + // number or organization number e.g. 1234567890. A value of 0 indicates no + // consumer number is found. + int64 consumer_number = 3; } // The same operation_id value used in the @@ -117,9 +168,6 @@ message CheckResponse { // and diagnostics purposes. string operation_id = 1; - // The current service rollout id used to process the request. - string service_rollout_id = 11; - // Indicate the decision of the check. // // If no check errors are present, the service should process the operation. @@ -130,6 +178,9 @@ message CheckResponse { // The actual config id used to process the request. string service_config_id = 5; + // The current service rollout id used to process the request. + string service_rollout_id = 11; + // Feedback data returned from the server during processing a Check request. CheckInfo check_info = 6; } @@ -151,8 +202,8 @@ message ReportRequest { // be used only when multiple operations are natually available at the time // of the report. // - // If multiple operations are in a single request, the total request size - // should be no larger than 1MB. See + // There is no limit on the number of operations in the same ReportRequest, + // however the ReportRequest size should be no larger than 1MB. See // [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] // for partial failure behavior. repeated Operation operations = 2; diff --git a/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol.yaml b/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol.yaml new file mode 100644 index 00000000..7a2b5685 --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol.yaml @@ -0,0 +1,178 @@ +type: google.api.Service +config_version: 3 +name: servicecontrol.googleapis.com +title: Service Control API + +apis: +- name: google.api.servicecontrol.v1.QuotaController +- name: google.api.servicecontrol.v1.ServiceController + +documentation: + summary: |- + Provides admission control and telemetry reporting for services integrated + with Service Infrastructure. + overview: |- + Google Service Control provides control plane functionality to managed + services, such as logging, monitoring, and status checks. This page + provides an overview of what it does and how it works. + + ## Why use Service Control? + + When you develop a cloud service, you typically start with the business + requirements and the architecture design, then proceed with API definition + and implementation. Before you put your service into production, you + need to deal with many control plane issues: + + * How to control access to your service. + * How to send logging and monitoring data to both consumers and producers. + * How to create and manage dashboards to visualize this data. + * How to automatically scale the control plane components with your + service. + + Service Control is a mature and feature-rich control plane provider + that addresses these needs with high efficiency, high scalability, + and high availability. It provides a simple public API that can be + accessed from anywhere using JSON REST and gRPC clients, so when you move + your service from on-premise to a cloud provider, or from one cloud + provider to another, you don't need to change the control plane provider. + + Services built using Google Cloud Endpoints already take advantage of + Service Control. Cloud Endpoints sends logging and monitoring data + through Google Service Control for every request arriving at its + proxy. If you need to report any additional logging and monitoring data + for your Cloud Endpoints service, you can call the Service Control API + directly from your service. + + The Service Control API definition is open sourced and available on + [GitHub](https://github.com/googleapis/googleapis/tree/master/google/api/servicecontrol). By + changing the DNS name, you can easily use alternative implementations + of the Service Control API. + + ## Architecture + + Google Service Control works with a set of *managed services* and their + *operations* (activities), *checks* whether an operation is allowed to + proceed, and *reports* completed operations. Behind the scenes, it + leverages other + Google Cloud services, such as + [Google Service + Management](/service-infrastructure/docs/service-management/getting-started), [Stackdriver + Logging](/logging), and [Stackdriver Monitoring](/monitoring), while + hiding their complexity from service producers. It enables service + producers to send telemetry data to their consumers. It uses caching, + batching, aggregation, and retries to deliver higher performance and + availability than the individual backend systems it encapsulates. + +
+
+ The overall architecture of a service that uses Google Service
+    Control.
Figure 1: Using Google Service + Control.
+ + The Service Control API provides two methods: + + * + [`services.check`](/service-infrastructure/docs/service-control/reference/rest/v1/services/check), + used for: + * Ensuring valid consumer status + * Validating API keys + * + [`services.report`](/service-infrastructure/docs/service-control/reference/rest/v1/services/report), + used for: + * Sending logs to Stackdriver Logging + * Sending metrics to Stackdriver Monitoring + + We'll look at these in more detail in the rest of this overview. + + ## Managed services + + A [managed + service](/service-infrastructure/docs/service-management/reference/rest/v1/services) is + a network service managed by + [Google Service + Management](/service-infrastructure/docs/service-management/getting-started). Each + managed service has a unique name, such as `example.googleapis.com`, + which must be a valid fully-qualified DNS name, as per RFC 1035. + + For example: + + * Google Cloud Pub/Sub (`pubsub.googleapis.com`) + * Google Cloud Vision (`vision.googleapis.com`) + * Google Cloud Bigtable (`bigtable.googleapis.com`) + * Google Cloud Datastore (`datastore.googleapis.com`) + + Google Service Management manages the lifecycle of each service's + configuration, which is used to customize Google Service Control's + behavior. Service configurations are also used by Google Cloud Console for + displaying APIs and their settings, enabling/disabling APIs, and more. + + ## Operations + + Google Service Control uses the generic concept of an *operation* + to represent the activities of a managed service, such as API calls and + resource usage. Each operation is associated with a managed service and a + specific service consumer, and has a set of properties that describe the + operation, such as the API method name and resource usage amount. For more + information, see the + [Operation + definition](/service-infrastructure/docs/service-control/reference/rest/v1/Operation). ## + Check + + The + [`services.check`](/service-infrastructure/docs/service-control/reference/rest/v1/services/check) method + determines whether an operation should be allowed to proceed for a + managed service. + + For example: + + * Check if the consumer is still active. + * Check if the consumer has enabled the service. + * Check if the API key is still valid. + + By performing multiple checks within a single method call, it provides + better performance, higher reliability, and reduced development cost to + service producers compared to checking with multiple backend systems. + + ## Report + + The + [`services.report`](/service-infrastructure/docs/service-control/reference/rest/v1/services/report) method + reports completed operations for a managed service to backend + systems, such as logging and monitoring. The reported data can be seen in + Google API Console and Google Cloud Console, and retrieved with + appropriate APIs, such as the Stackdriver Logging and Stackdriver + Monitoring APIs. + + ## Next steps + + * Read our [Getting Started + guide](/service-infrastructure/docs/service-control/getting-started) to + find out how to set up and use the Google Service Control API. + +backend: + rules: + - selector: google.api.servicecontrol.v1.QuotaController.AllocateQuota + deadline: 10.0 + - selector: google.api.servicecontrol.v1.ServiceController.Check + deadline: 5.0 + - selector: google.api.servicecontrol.v1.ServiceController.Report + deadline: 16.0 + +authentication: + rules: + - selector: google.api.servicecontrol.v1.QuotaController.AllocateQuota + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v1.ServiceController.Check + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v1.ServiceController.Report + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol diff --git a/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json b/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json new file mode 100644 index 00000000..e5606616 --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicecontrol.v1.ServiceController", + "method": "Check" + } + ], + "timeout": "5s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.api.servicecontrol.v1.ServiceController", + "method": "Report" + } + ], + "timeout": "16s" + } + ] +} diff --git a/google-cloud/protos/google/api/servicecontrol/v2/BUILD.bazel b/google-cloud/protos/google/api/servicecontrol/v2/BUILD.bazel new file mode 100644 index 00000000..8fec05fb --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/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 = "servicecontrol_proto", + srcs = [ + "service_controller.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/rpc:status_proto", + "//google/rpc/context:attribute_context_proto", + ], +) + +proto_library_with_info( + name = "servicecontrol_proto_with_info", + deps = [ + ":servicecontrol_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 = "servicecontrol_java_proto", + deps = [":servicecontrol_proto"], +) + +java_grpc_library( + name = "servicecontrol_java_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_java_proto"], +) + +java_gapic_library( + name = "servicecontrol_java_gapic", + srcs = [":servicecontrol_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "servicecontrol_grpc_service_config.json", + service_yaml = "servicecontrol.yaml", + test_deps = [ + ":servicecontrol_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_proto", + "//google/api:api_java_proto", + "//google/rpc/context:attribute_context_java_proto", + ], +) + +java_gapic_test( + name = "servicecontrol_java_gapic_test_suite", + test_classes = [ + "com.google.api.servicecontrol.v2.ServiceControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v2.ServiceControllerClientTest", + ], + runtime_deps = [":servicecontrol_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicecontrol-v2-java", + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_gapic", + ":servicecontrol_java_grpc", + ":servicecontrol_java_proto", + ":servicecontrol_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "servicecontrol_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/servicecontrol/v2", + protos = [":servicecontrol_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + "//google/rpc/context:attribute_context_go_proto", + ], +) + +go_gapic_library( + name = "servicecontrol_go_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + importpath = "cloud.google.com/go/api/servicecontrol/apiv2;servicecontrol", + metadata = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_go_proto", + ], +) + +go_test( + name = "servicecontrol_go_gapic_test", + srcs = [":servicecontrol_go_gapic_srcjar_test"], + embed = [":servicecontrol_go_gapic"], + importpath = "cloud.google.com/go/api/servicecontrol/apiv2", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicecontrol-v2-go", + deps = [ + ":servicecontrol_go_gapic", + ":servicecontrol_go_gapic_srcjar-metadata.srcjar", + ":servicecontrol_go_gapic_srcjar-test.srcjar", + ":servicecontrol_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "servicecontrol_py_gapic", + srcs = [":servicecontrol_proto"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicecontrol", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-control", + ], + transport = "grpc", +) + +py_test( + name = "servicecontrol_py_gapic_test", + srcs = [ + "servicecontrol_py_gapic_pytest.py", + "servicecontrol_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicecontrol_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-servicecontrol-v2-py", + deps = [ + ":servicecontrol_py_gapic", + ], +) + +############################################################################## +# 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 = "servicecontrol_php_proto", + deps = [":servicecontrol_proto"], +) + +php_grpc_library( + name = "servicecontrol_php_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_php_proto"], +) + +php_gapic_library( + name = "servicecontrol_php_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + service_yaml = "servicecontrol.yaml", + deps = [ + ":servicecontrol_php_grpc", + ":servicecontrol_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-php", + deps = [ + ":servicecontrol_php_gapic", + ":servicecontrol_php_grpc", + ":servicecontrol_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "servicecontrol_nodejs_gapic", + package_name = "@google-cloud/servicecontrol", + src = ":servicecontrol_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + package = "google.api.servicecontrol.v2", + service_yaml = "servicecontrol.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicecontrol-v2-nodejs", + deps = [ + ":servicecontrol_nodejs_gapic", + ":servicecontrol_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 = "servicecontrol_ruby_proto", + deps = [":servicecontrol_proto"], +) + +ruby_grpc_library( + name = "servicecontrol_ruby_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicecontrol_ruby_gapic", + srcs = [":servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-gem-name=google-cloud-service_control-v2", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicecontrol_grpc_service_config.json", + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API V2", + deps = [ + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-ruby", + deps = [ + ":servicecontrol_ruby_gapic", + ":servicecontrol_ruby_grpc", + ":servicecontrol_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 = "servicecontrol_csharp_proto", + deps = [":servicecontrol_proto"], +) + +csharp_grpc_library( + name = "servicecontrol_csharp_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_csharp_proto"], +) + +csharp_gapic_library( + name = "servicecontrol_csharp_gapic", + srcs = [":servicecontrol_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicecontrol_grpc_service_config.json", + service_yaml = "servicecontrol.yaml", + deps = [ + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-csharp", + deps = [ + ":servicecontrol_csharp_gapic", + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "servicecontrol_cc_proto", + deps = [":servicecontrol_proto"], +) + +cc_grpc_library( + name = "servicecontrol_cc_grpc", + srcs = [":servicecontrol_proto"], + grpc_only = True, + deps = [":servicecontrol_cc_proto"], +) diff --git a/google-cloud/protos/google/api/servicecontrol/v2/service_controller.proto b/google-cloud/protos/google/api/servicecontrol/v2/service_controller.proto new file mode 100644 index 00000000..2e2112ef --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v2/service_controller.proto @@ -0,0 +1,190 @@ +// 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.api.servicecontrol.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/rpc/context/attribute_context.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V2"; +option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v2;servicecontrol"; +option java_multiple_files = true; +option java_outer_classname = "ServiceControllerProto"; +option java_package = "com.google.api.servicecontrol.v2"; +option objc_class_prefix = "GASC"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V2"; +option ruby_package = "Google::Cloud::ServiceControl::V2"; + +// [Service Control API +// v2](https://cloud.google.com/service-infrastructure/docs/service-control/access-control) +// +// Private Preview. This feature is only available for approved services. +// +// This API provides admission control and telemetry reporting for services +// that are integrated with [Service +// Infrastructure](https://cloud.google.com/service-infrastructure). +service ServiceController { + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + + // Private Preview. This feature is only available for approved services. + // + // This method provides admission control for services that are integrated + // with [Service + // Infrastructure](https://cloud.google.com/service-infrastructure). It checks + // whether an operation should be allowed based on the service configuration + // and relevant policies. It must be called before the operation is executed. + // For more information, see + // [Admission + // Control](https://cloud.google.com/service-infrastructure/docs/admission-control). + // + // NOTE: The admission control has an expected policy propagation delay of + // 60s. The caller **must** not depend on the most recent policy changes. + // + // NOTE: The admission control has a hard limit of 1 referenced resources + // per call. If an operation refers to more than 1 resources, the caller + // must call the Check method multiple times. + // + // This method requires the `servicemanagement.services.check` permission + // on the specified service. For more information, see + // [Service Control API Access + // Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control). + rpc Check(CheckRequest) returns (CheckResponse) { + option (google.api.http) = { + post: "/v2/services/{service_name}:check" + body: "*" + }; + } + + // Private Preview. This feature is only available for approved services. + // + // This method provides telemetry reporting for services that are integrated + // with [Service + // Infrastructure](https://cloud.google.com/service-infrastructure). It + // reports a list of operations that have occurred on a service. It must be + // called after the operations have been executed. For more information, see + // [Telemetry + // Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting). + // + // NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB + // per Report call. It is recommended to have no more than 100 operations per + // call. + // + // This method requires the `servicemanagement.services.report` permission + // on the specified service. For more information, see + // [Service Control API Access + // Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control). + rpc Report(ReportRequest) returns (ReportResponse) { + option (google.api.http) = { + post: "/v2/services/{service_name}:report" + body: "*" + }; + } +} + +// Request message for the Check method. +message CheckRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // Specifies the version of the service configuration that should be used to + // process the request. Must not be empty. Set this field to 'latest' to + // specify using the latest configuration. + string service_config_id = 2; + + // Describes attributes about the operation being executed by the service. + google.rpc.context.AttributeContext attributes = 3; + + // Describes the resources and the policies applied to each resource. + repeated ResourceInfo resources = 4; + + // Optional. Contains a comma-separated list of flags. + string flags = 5; +} + +// Describes a resource referenced in the request. +message ResourceInfo { + // The name of the resource referenced in the request. + string name = 1; + + // The resource type in the format of "{service}/{kind}". + string type = 2; + + // The resource permission needed for this request. + // The format must be "{service}/{plural}.{verb}". + string permission = 3; + + // Optional. The identifier of the container of this resource. For Google + // Cloud APIs, the resource container must be one of the following formats: + // - `projects/` + // - `folders/` + // - `organizations/` + // For the policy enforcement on the container level (VPCSC and Location + // Policy check), this field takes precedence on the container extracted from + // name when presents. + string container = 4; + + // Optional. The location of the resource. The value must be a valid zone, + // region or multiregion. For example: "europe-west4" or + // "northamerica-northeast1-a" + string location = 5; +} + +// Response message for the Check method. +message CheckResponse { + // Operation is allowed when this field is not set. Any non-'OK' status + // indicates a denial; [google.rpc.Status.details][google.rpc.Status.details] + // would contain additional details about the denial. + google.rpc.Status status = 1; + + // Returns a set of request contexts generated from the `CheckRequest`. + map headers = 2; +} + +// Request message for the Report method. +message ReportRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // Specifies the version of the service configuration that should be used to + // process the request. Must not be empty. Set this field to 'latest' to + // specify using the latest configuration. + string service_config_id = 2; + + // Describes the list of operations to be reported. Each operation is + // represented as an AttributeContext, and contains all attributes around an + // API access. + repeated google.rpc.context.AttributeContext operations = 3; +} + +// Response message for the Report method. +// If the request contains any invalid data, the server returns an RPC error. +message ReportResponse {} diff --git a/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol.yaml b/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol.yaml new file mode 100644 index 00000000..9fd969fd --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol.yaml @@ -0,0 +1,171 @@ +type: google.api.Service +config_version: 3 +name: servicecontrol.googleapis.com +title: Service Control API + +apis: +- name: google.api.servicecontrol.v2.ServiceController + +documentation: + summary: |- + Provides admission control and telemetry reporting for services integrated + with Service Infrastructure. + overview: |- + Google Service Control provides control plane functionality to managed + services, such as logging, monitoring, and status checks. This page + provides an overview of what it does and how it works. + + ## Why use Service Control? + + When you develop a cloud service, you typically start with the business + requirements and the architecture design, then proceed with API definition + and implementation. Before you put your service into production, you + need to deal with many control plane issues: + + * How to control access to your service. + * How to send logging and monitoring data to both consumers and producers. + * How to create and manage dashboards to visualize this data. + * How to automatically scale the control plane components with your + service. + + Service Control is a mature and feature-rich control plane provider + that addresses these needs with high efficiency, high scalability, + and high availability. It provides a simple public API that can be + accessed from anywhere using JSON REST and gRPC clients, so when you move + your service from on-premise to a cloud provider, or from one cloud + provider to another, you don't need to change the control plane provider. + + Services built using Google Cloud Endpoints already take advantage of + Service Control. Cloud Endpoints sends logging and monitoring data + through Google Service Control for every request arriving at its + proxy. If you need to report any additional logging and monitoring data + for your Cloud Endpoints service, you can call the Service Control API + directly from your service. + + The Service Control API definition is open sourced and available on + [GitHub](https://github.com/googleapis/googleapis/tree/master/google/api/servicecontrol). By + changing the DNS name, you can easily use alternative implementations + of the Service Control API. + + ## Architecture + + Google Service Control works with a set of *managed services* and their + *operations* (activities), *checks* whether an operation is allowed to + proceed, and *reports* completed operations. Behind the scenes, it + leverages other + Google Cloud services, such as + [Google Service + Management](https://cloud.google.com/service-infrastructure/docs/service-management/getting-started), [Stackdriver + Logging](https://cloud.google.com/products/operations), and [Stackdriver + Monitoring](https://cloud.google.com/monitoring), while hiding their + complexity from service producers. It enables service + producers to send telemetry data to their consumers. It uses caching, + batching, aggregation, and retries to deliver higher performance and + availability than the individual backend systems it encapsulates. + +
+
+ The overall architecture of a service that uses Google Service
+    Control.
Figure 1: Using Google Service + Control.
+ + The Service Control API provides two methods: + + * + [`services.check`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/check), + used for: + * Ensuring valid consumer status + * Validating API keys + * + [`services.report`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/report), + used for: + * Sending logs to Stackdriver Logging + * Sending metrics to Stackdriver Monitoring + + We'll look at these in more detail in the rest of this overview. + + ## Managed services + + A [managed + service](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services) is + a network service managed by + [Google Service + Management](https://cloud.google.com/service-infrastructure/docs/service-management/getting-started). Each + managed service has a unique name, such as `example.googleapis.com`, + which must be a valid fully-qualified DNS name, as per RFC 1035. + + For example: + + * Google Cloud Pub/Sub (`pubsub.googleapis.com`) + * Google Cloud Vision (`vision.googleapis.com`) + * Google Cloud Bigtable (`bigtable.googleapis.com`) + * Google Cloud Datastore (`datastore.googleapis.com`) + + Google Service Management manages the lifecycle of each service's + configuration, which is used to customize Google Service Control's + behavior. Service configurations are also used by Google Cloud Console for + displaying APIs and their settings, enabling/disabling APIs, and more. + + ## Operations + + Google Service Control uses the generic concept of an *operation* + to represent the activities of a managed service, such as API calls and + resource usage. Each operation is associated with a managed service and a + specific service consumer, and has a set of properties that describe the + operation, such as the API method name and resource usage amount. For more + information, see the + [Operation + definition](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/Operation). ## + Check + + The + [`services.check`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/check) method + determines whether an operation should be allowed to proceed for a + managed service. + + For example: + + * Check if the consumer is still active. + * Check if the consumer has enabled the service. + * Check if the API key is still valid. + + By performing multiple checks within a single method call, it provides + better performance, higher reliability, and reduced development cost to + service producers compared to checking with multiple backend systems. + + ## Report + + The + [`services.report`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/report) method + reports completed operations for a managed service to backend + systems, such as logging and monitoring. The reported data can be seen in + Google API Console and Google Cloud Console, and retrieved with + appropriate APIs, such as the Stackdriver Logging and Stackdriver + Monitoring APIs. + + ## Next steps + + * Read our [Getting Started + guide](https://cloud.google.com/service-infrastructure/docs/service-control/getting-started) + to find out how to set up and use the Google Service Control API. + +backend: + rules: + - selector: google.api.servicecontrol.v2.ServiceController.Check + deadline: 5.0 + - selector: google.api.servicecontrol.v2.ServiceController.Report + deadline: 5.0 + +authentication: + rules: + - selector: google.api.servicecontrol.v2.ServiceController.Check + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v2.ServiceController.Report + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol diff --git a/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json b/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json new file mode 100644 index 00000000..a1ebcef0 --- /dev/null +++ b/google-cloud/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json @@ -0,0 +1,20 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicecontrol.v2.ServiceController", + "method": "Check" + } + ], + "timeout": "5s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/google-cloud/protos/google/api/servicemanagement/BUILD.bazel b/google-cloud/protos/google/api/servicemanagement/BUILD.bazel index e69de29b..906c4c82 100644 --- a/google-cloud/protos/google/api/servicemanagement/BUILD.bazel +++ b/google-cloud/protos/google/api/servicemanagement/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_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 servicemanagement. +# 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 = "servicemanagement_ruby_wrapper", + srcs = ["//google/api/servicemanagement/v1:servicemanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_management", + "ruby-cloud-env-prefix=SERVICE_MANAGEMENT", + "ruby-cloud-wrapper-of=v1:0.3", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + "ruby-cloud-api-id=servicemanagement.googleapis.com", + "ruby-cloud-api-shortname=servicemanagement", + ], + ruby_cloud_description = "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + ruby_cloud_title = "Service Management", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-servicemanagement-ruby", + deps = [ + ":servicemanagement_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/api/servicemanagement/artman_servicemanagement_v1.yaml b/google-cloud/protos/google/api/servicemanagement/artman_servicemanagement_v1.yaml deleted file mode 100644 index cfb5fce2..00000000 --- a/google-cloud/protos/google/api/servicemanagement/artman_servicemanagement_v1.yaml +++ /dev/null @@ -1,34 +0,0 @@ -common: - api_name: servicemanagement - api_version: v1 - organization_name: google-cloud - proto_deps: - - name: google-common-protos - src_proto_paths: - - v1 - service_yaml: servicemanagement_v1.yaml - gapic_yaml: v1/servicemanagement_gapic.yaml -artifacts: -- name: gapic_config - type: GAPIC_CONFIG -- name: java_gapic - type: GAPIC - language: JAVA -- name: python_gapic - type: GAPIC - language: PYTHON -- name: nodejs_gapic - type: GAPIC - language: NODEJS -- name: php_gapic - type: GAPIC - language: PHP -- name: go_gapic - type: GAPIC - language: GO -- name: ruby_gapic - type: GAPIC - language: RUBY -- name: csharp_gapic - type: GAPIC - language: CSHARP diff --git a/google-cloud/protos/google/api/servicemanagement/servicemanagement_v1.yaml b/google-cloud/protos/google/api/servicemanagement/servicemanagement_v1.yaml deleted file mode 100644 index b23a788f..00000000 --- a/google-cloud/protos/google/api/servicemanagement/servicemanagement_v1.yaml +++ /dev/null @@ -1,233 +0,0 @@ -type: google.api.Service -config_version: 2 -name: servicemanagement.googleapis.com -title: Google Service Management API - -apis: -- name: google.api.servicemanagement.v1.ServiceManager - -types: -- name: google.api.servicemanagement.v1.ConfigSource -- name: google.api.servicemanagement.v1.ConfigRef -- name: google.api.servicemanagement.v1.OperationMetadata -- name: google.api.servicemanagement.v1.Rollout -- name: google.api.servicemanagement.v1.SubmitConfigSourceResponse -- name: google.api.servicemanagement.v1.UndeleteServiceResponse - -documentation: - summary: |- - Google Service Management allows service producers to publish their services - on Google Cloud Platform so that they can be discovered and used by service - consumers. - overview: |- - Google Service Management manages a set of *services*. Service Management - allows *service producers* to publish their services on Google Cloud - Platform so that they can be discovered and used by *service consumers*. It - also handles the tasks of tracking service lifecycle and programming various - backend systems -- such as [Stackdriver - Logging](https://cloud.google.com/stackdriver), [Stackdriver - Monitoring](https://cloud.google.com/stackdriver) -- to support the managed - services. - - If you are a service producer, you can use the Google Service Management API - and [Google Cloud SDK (gcloud)](/sdk) to publish and manage your services. - Each managed service has a service configuration which declares various - aspects of the service such as its API surface, along with parameters to - configure the supporting backend systems, such as logging and monitoring. If - you build your service using [Google Cloud - Endpoints](https://cloud.google.com/endpoints/), the service configuration - will be handled automatically. - - If you are a service consumer and want to use a managed service, you can use - the Google Service Management API or [Google Cloud - Console](https://console.cloud.google.com) to activate the service for your - [Google developer project](https://developers.google.com/console/help/new/), - then start using its APIs and functions. - - ## Managed services - - REST URL: - `https://servicemanagement.googleapis.com/v1/services/{service-name}`
- REST schema is defined - [here](/service-management/reference/rest/v1/services). - - A managed service refers to a network service managed by Service Management. - Each managed service has a unique name, such as `example.googleapis.com`, - which must be a valid fully-qualified DNS name, as per RFC 1035. - - A managed service typically provides some REST APIs and/or other functions - to their service consumers, such as mobile apps or cloud services. - - Service producers can use methods, such as - [services.create](/service-management/reference/rest/v1/services/create), - [services.delete](/service-management/reference/rest/v1/services/delete), - [services.undelete](/service-management/reference/rest/v1/services/undelete), - to manipulate their managed services. - - ## Service producers - - A service producer is the Google developer project responsible for - publishing and maintaining a managed service. Each managed service is owned - by exactly one service producer. - - ## Service consumers - - A service consumer is a Google developer project that has enabled and can - invoke APIs on a managed service. A managed service can have many service - consumers. - - ## Service configuration - - REST URL: - `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}` -
REST schema is defined - [here](/service-management/reference/rest/v1/services.configs). - - Each managed service is described by a service configuration which covers a - wide range of features, including its name, title, RPC API definitions, REST - API definitions, documentation, authentication, and more. - - To change the configuration of a managed service, the service producer needs - to publish an updated service configuration to Service Management. Service - Management keeps a history of published service configurations, making it - possible to easily retrace how a service's configuration evolved over time. - Service configurations can be published using the - [services.configs.create](/service-management/reference/rest/v1/services.configs/create) - or - [services.configs.submit](/service-management/reference/rest/v1/services.configs/submit) - methods. - - Alternatively, `services.configs.submit` allows publishing an - [OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification, - formerly known as the Swagger Specification, which is automatically - converted to a corresponding service configuration. - - ## Service rollout - - REST URL: - `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}` -
REST schema is defined - [here](/service-management/reference/rest/v1/services.rollouts). - - A `Rollout` defines how Google Service Management should deploy service - configurations to backend systems and how the configurations take effect at - runtime. It lets service producers specify multiple service configuration - versions to be deployed together, and a strategy that indicates how they - should be used. - - Updating a managed service's configuration can be dangerous, as a - configuration error can lead to a service outage. To mitigate risks, Service - Management supports gradual rollout of service configuration changes. This - feature gives service producers time to identity potential issues and - rollback service configuration changes in case of errors, thus minimizing - the customer impact of bad configurations. For example, you could specify - that 5% of traffic uses configuration 1, while the remaining 95% uses - configuration 2. - - Service Management keeps a history of rollouts so that service producers can - undo to previous configuration versions. You can rollback a configuration by - initiating a new `Rollout` that clones a previously submitted rollout - record. - rules: - - selector: google.longrunning.Operations.ListOperations - description: Lists service operations that match the specified filter in the request. - -backend: - rules: - - selector: google.longrunning.Operations.ListOperations - deadline: 10.0 - - selector: google.longrunning.Operations.GetOperation - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.ListServices - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.GetService - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.CreateService - deadline: 20.0 - - selector: google.api.servicemanagement.v1.ServiceManager.DeleteService - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.UndeleteService - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig - deadline: 20.0 - - selector: google.api.servicemanagement.v1.ServiceManager.SubmitConfigSource - deadline: 20.0 - - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.EnableService - deadline: 10.0 - - selector: google.api.servicemanagement.v1.ServiceManager.DisableService - deadline: 10.0 - - selector: google.iam.v1.IAMPolicy.SetIamPolicy - deadline: 10.0 - - selector: google.iam.v1.IAMPolicy.GetIamPolicy - deadline: 10.0 - - selector: google.iam.v1.IAMPolicy.TestIamPermissions - deadline: 10.0 - -http: - rules: - - selector: google.longrunning.Operations.ListOperations - get: /v1/operations - - - selector: google.iam.v1.IAMPolicy.SetIamPolicy - post: '/v1/{resource=services/*}:setIamPolicy' - body: '*' - additional_bindings: - - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy' - body: '*' - - - selector: google.iam.v1.IAMPolicy.GetIamPolicy - post: '/v1/{resource=services/*}:getIamPolicy' - body: '*' - additional_bindings: - - post: '/v1/{resource=services/*/consumers/*}:getIamPolicy' - body: '*' - - - selector: google.iam.v1.IAMPolicy.TestIamPermissions - post: '/v1/{resource=services/*}:testIamPermissions' - body: '*' - additional_bindings: - - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions' - body: '*' - - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/service.management - - selector: |- - google.api.servicemanagement.v1.ServiceManager.GetService, - google.api.servicemanagement.v1.ServiceManager.GetServiceConfig, - google.api.servicemanagement.v1.ServiceManager.GetServiceRollout, - google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs, - google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts, - google.api.servicemanagement.v1.ServiceManager.ListServices - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only, - https://www.googleapis.com/auth/service.management, - https://www.googleapis.com/auth/service.management.readonly - - selector: |- - google.iam.v1.IAMPolicy.GetIamPolicy, - google.iam.v1.IAMPolicy.TestIamPermissions - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only, - https://www.googleapis.com/auth/service.management, - https://www.googleapis.com/auth/service.management.readonly diff --git a/google-cloud/protos/google/api/servicemanagement/v1/BUILD.bazel b/google-cloud/protos/google/api/servicemanagement/v1/BUILD.bazel new file mode 100644 index 00000000..3e243109 --- /dev/null +++ b/google-cloud/protos/google/api/servicemanagement/v1/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 = "servicemanagement_proto", + srcs = [ + "resources.proto", + "servicemanager.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:config_change_proto", + "//google/api:field_behavior_proto", + "//google/api:service_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "servicemanagement_proto_with_info", + deps = [ + ":servicemanagement_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 = "servicemanagement_java_proto", + deps = [":servicemanagement_proto"], +) + +java_grpc_library( + name = "servicemanagement_java_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_java_proto"], +) + +java_gapic_library( + name = "servicemanagement_java_gapic", + srcs = [":servicemanagement_proto_with_info"], + gapic_yaml = "servicemanagement_gapic.yaml", + grpc_service_config = "servicemanagement_grpc_service_config.json", + service_yaml = "servicemanagement_v1.yaml", + test_deps = [ + ":servicemanagement_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicemanagement_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "servicemanagement_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.api.servicemanagement.v1.ServiceManagerClientHttpJsonTest", + "com.google.cloud.api.servicemanagement.v1.ServiceManagerClientTest", + ], + runtime_deps = [":servicemanagement_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicemanagement-v1-java", + transport = "grpc+rest", + deps = [ + ":servicemanagement_java_gapic", + ":servicemanagement_java_grpc", + ":servicemanagement_java_proto", + ":servicemanagement_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "servicemanagement_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/servicemanagement/v1", + protos = [":servicemanagement_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:configchange_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "servicemanagement_go_gapic", + srcs = [":servicemanagement_proto_with_info"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + importpath = "cloud.google.com/go/api/servicemanagement/apiv1;servicemanagement", + metadata = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicemanagement_go_proto", + "//google/api:serviceconfig_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", + ], +) + +go_test( + name = "servicemanagement_go_gapic_test", + srcs = [":servicemanagement_go_gapic_srcjar_test"], + embed = [":servicemanagement_go_gapic"], + importpath = "cloud.google.com/go/api/servicemanagement/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicemanagement-v1-go", + deps = [ + ":servicemanagement_go_gapic", + ":servicemanagement_go_gapic_srcjar-metadata.srcjar", + ":servicemanagement_go_gapic_srcjar-test.srcjar", + ":servicemanagement_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "servicemanagement_py_gapic", + srcs = [":servicemanagement_proto"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicemanagement", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-management", + ], + transport = "grpc", +) + +py_test( + name = "servicemanagement_py_gapic_test", + srcs = [ + "servicemanagement_py_gapic_pytest.py", + "servicemanagement_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicemanagement_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-servicemanagement-v1-py", + deps = [ + ":servicemanagement_py_gapic", + ], +) + +############################################################################## +# 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 = "servicemanagement_php_proto", + deps = [":servicemanagement_proto"], +) + +php_grpc_library( + name = "servicemanagement_php_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_php_proto"], +) + +php_gapic_library( + name = "servicemanagement_php_gapic", + srcs = [":servicemanagement_proto_with_info"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + service_yaml = "servicemanagement_v1.yaml", + deps = [ + ":servicemanagement_php_grpc", + ":servicemanagement_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-php", + deps = [ + ":servicemanagement_php_gapic", + ":servicemanagement_php_grpc", + ":servicemanagement_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "servicemanagement_nodejs_gapic", + package_name = "@google-cloud/service-management", + src = ":servicemanagement_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + package = "google.api.servicemanagement.v1", + service_yaml = "servicemanagement_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicemanagement-v1-nodejs", + deps = [ + ":servicemanagement_nodejs_gapic", + ":servicemanagement_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 = "servicemanagement_ruby_proto", + deps = [":servicemanagement_proto"], +) + +ruby_grpc_library( + name = "servicemanagement_ruby_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicemanagement_ruby_gapic", + srcs = [":servicemanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicemanagement.googleapis.com", + "ruby-cloud-api-shortname=servicemanagement", + "ruby-cloud-env-prefix=SERVICE_MANAGEMENT", + "ruby-cloud-gem-name=google-cloud-service_management-v1", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicemanagement_grpc_service_config.json", + ruby_cloud_description = "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + ruby_cloud_title = "Service Management V1", + deps = [ + ":servicemanagement_ruby_grpc", + ":servicemanagement_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-ruby", + deps = [ + ":servicemanagement_ruby_gapic", + ":servicemanagement_ruby_grpc", + ":servicemanagement_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 = "servicemanagement_csharp_proto", + deps = [":servicemanagement_proto"], +) + +csharp_grpc_library( + name = "servicemanagement_csharp_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_csharp_proto"], +) + +csharp_gapic_library( + name = "servicemanagement_csharp_gapic", + srcs = [":servicemanagement_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicemanagement_grpc_service_config.json", + service_yaml = "servicemanagement_v1.yaml", + deps = [ + ":servicemanagement_csharp_grpc", + ":servicemanagement_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-csharp", + deps = [ + ":servicemanagement_csharp_gapic", + ":servicemanagement_csharp_grpc", + ":servicemanagement_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "servicemanagement_cc_proto", + deps = [":servicemanagement_proto"], +) + +cc_grpc_library( + name = "servicemanagement_cc_grpc", + srcs = [":servicemanagement_proto"], + grpc_only = True, + deps = [":servicemanagement_cc_proto"], +) diff --git a/google-cloud/protos/google/api/servicemanagement/v1/resources.proto b/google-cloud/protos/google/api/servicemanagement/v1/resources.proto index 1c924849..57ffd770 100644 --- a/google-cloud/protos/google/api/servicemanagement/v1/resources.proto +++ b/google-cloud/protos/google/api/servicemanagement/v1/resources.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// 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. @@ -16,16 +16,9 @@ syntax = "proto3"; package google.api.servicemanagement.v1; -import "google/api/annotations.proto"; import "google/api/config_change.proto"; -import "google/api/metric.proto"; -import "google/api/service.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/any.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/struct.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; -import "google/rpc/status.proto"; option csharp_namespace = "Google.Cloud.ServiceManagement.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicemanagement/v1;servicemanagement"; @@ -34,11 +27,13 @@ option java_outer_classname = "ResourcesProto"; option java_package = "com.google.api.servicemanagement.v1"; option objc_class_prefix = "GASM"; option php_namespace = "Google\\Cloud\\ServiceManagement\\V1"; +option ruby_package = "Google::Cloud::ServiceManagement::V1"; // The full representation of a Service that is managed by // Google Service Management. message ManagedService { - // The name of the service. See the [overview](/service-management/overview) + // The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) // for naming requirements. string service_name = 2; @@ -195,7 +190,7 @@ message ChangeReport { message Rollout { // Strategy that specifies how clients of Google Service Controller want to // send traffic to use different config versions. This is generally - // used by API proxy to split traffic based on your configured precentage for + // used by API proxy to split traffic based on your configured percentage for // each config version. // // One example of how to gradually rollout a new service configuration using @@ -260,15 +255,16 @@ message Rollout { FAILED_ROLLED_BACK = 6; } - // Optional unique identifier of this Rollout. Only lower case letters, digits - // and '-' are allowed. + // Optional. Unique identifier of this Rollout. Must be no longer than 63 + // characters and only lower case letters, digits, '.', '_' and '-' are + // allowed. // // If not specified by client, the server will generate one. The generated id // will have the form of , where "date" is the create // date in ISO 8601 format. "revision number" is a monotonically increasing // positive number that is reset every day for each service. // An example of the generated rollout_id is '2016-02-16r1' - string rollout_id = 1; + string rollout_id = 1 [(google.api.field_behavior) = OPTIONAL]; // Creation time of the rollout. Readonly. google.protobuf.Timestamp create_time = 2; diff --git a/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml index 0cca80e2..b101e2b5 100644 --- a/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml +++ b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml @@ -1,301 +1,6 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 # The settings of generated code in a specific language. language_settings: java: package_name: com.google.cloud.api.servicemanagement.v1 - python: - package_name: google.cloud.api.servicemanagement_v1.gapic - go: - package_name: cloud.google.com/go/api/servicemanagement/apiv1 - csharp: - package_name: Google.Api.Servicemanagement.V1 - ruby: - package_name: Google::Cloud::Api::Servicemanagement::V1 - php: - package_name: Google\Cloud\Api\Servicemanagement\V1 - nodejs: - package_name: servicemanagement.v1 -# A list of API interface configurations. -interfaces: - # The fully qualified name of the API interface. -- name: google.api.servicemanagement.v1.ServiceManager - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - smoke_test: - method: ListServices - init_fields: - - producer_project_id=$PROJECT_ID - collections: [] - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - UNAVAILABLE - - DEADLINE_EXCEEDED - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # resource_name_treatment - An enum that specifies how to treat the resource - # name formats defined in the field_name_patterns and - # response_field_name_patterns fields. - # UNSET: default value - # NONE: the collection configs will not be used by the generated code. - # VALIDATE: string fields will be validated by the client against the - # specified resource name formats. - # STATIC_TYPES: the client will use generated types for resource names. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: ListServices - flattening: - groups: - - parameters: - - producer_project_id - - consumer_id - required_fields: - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: services - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: GetService - flattening: - groups: - - parameters: - - service_name - required_fields: - - service_name - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: CreateService - flattening: - groups: - - parameters: - - service - required_fields: - - service - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: DeleteService - flattening: - groups: - - parameters: - - service_name - required_fields: - - service_name - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 60000 - - name: UndeleteService - flattening: - groups: - - parameters: - - service_name - required_fields: - - service_name - retry_codes_name: non_idempotent - retry_params_name: default - # REVIEW: Could this operation take a long time? - timeout_millis: 60000 - - name: ListServiceConfigs - flattening: - groups: - - parameters: - - service_name - required_fields: - - service_name - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: service_configs - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: GetServiceConfig - flattening: - groups: - - parameters: - - service_name - - config_id - - view - required_fields: - - service_name - - config_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: CreateServiceConfig - flattening: - groups: - - parameters: - - service_name - - service_config - required_fields: - - service_name - - service_config - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SubmitConfigSource - flattening: - groups: - - parameters: - - service_name - - config_source - - validate_only - required_fields: - - service_name - - config_source - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 10000 - - name: ListServiceRollouts - flattening: - groups: - - parameters: - - service_name - - filter - required_fields: - - service_name - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: rollouts - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: GetServiceRollout - flattening: - groups: - - parameters: - - service_name - - rollout_id - required_fields: - - service_name - - rollout_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: CreateServiceRollout - flattening: - groups: - - parameters: - - service_name - - rollout - required_fields: - - service_name - - rollout - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 10000 - - name: GenerateConfigReport - flattening: - groups: - - parameters: - - new_config - - old_config - required_fields: - - new_config - - old_config - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 10000 - - name: EnableService - flattening: - groups: - - parameters: - - service_name - - consumer_id - required_fields: - - service_name - - consumer_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 - - name: DisableService - flattening: - groups: - - parameters: - - service_name - - consumer_id - required_fields: - - service_name - - consumer_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 10000 diff --git a/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json new file mode 100755 index 00000000..e2ec9d59 --- /dev/null +++ b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json @@ -0,0 +1,12 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicemanagement.v1.ServiceManager" + } + ], + "timeout": "10s" + } + ] +} diff --git a/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml new file mode 100644 index 00000000..78a96a91 --- /dev/null +++ b/google-cloud/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml @@ -0,0 +1,267 @@ +type: google.api.Service +config_version: 3 +name: servicemanagement.googleapis.com +title: Service Management API + +apis: +- name: google.api.servicemanagement.v1.ServiceManager + +types: +- name: google.api.servicemanagement.v1.ConfigRef +- name: google.api.servicemanagement.v1.ConfigSource +- name: google.api.servicemanagement.v1.OperationMetadata +- name: google.api.servicemanagement.v1.Rollout +- name: google.api.servicemanagement.v1.SubmitConfigSourceResponse +- name: google.api.servicemanagement.v1.UndeleteServiceResponse + +documentation: + summary: |- + Google Service Management allows service producers to publish their + services on Google Cloud Platform so that they can be discovered and used + by service consumers. + overview: |- + Google Service Management manages a set of *services*. Service Management + allows *service producers* to + publish their services on Google Cloud Platform so that they can be + discovered and used by *service consumers*. It also handles the tasks of + tracking + service lifecycle and programming various backend systems -- such as + [Stackdriver Logging](https://cloud.google.com/stackdriver), + [Stackdriver Monitoring](https://cloud.google.com/stackdriver) -- to + support the managed services. + + If you are a service producer, you can use the Google Service Management + API and [Google Cloud SDK (gcloud)](https://cloud.google.com/sdk) to + publish and manage your services. Each managed service has a service + configuration which declares various aspects of the service such as its + API surface, along with parameters to configure the supporting + backend + systems, such as logging and monitoring. If you build your service using + [Google Cloud Endpoints](https://cloud.google.com/endpoints/), the service + configuration will be handled automatically. + + If you are a service consumer and want to use a managed service, you can + use the Google Service Management API or [Google Cloud + Console](https://console.cloud.google.com) to activate the service for + your [Google developer + project](https://developers.google.com/console/help/new/), then start + using its APIs and functions. + + ## Managed services + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}`
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services). A + managed service refers to a network service managed by + Service Management. Each managed service has a unique name, such as + `example.googleapis.com`, which must be a valid fully-qualified DNS name, + as per RFC 1035. + + A managed service typically provides some REST APIs and/or other + functions to their service consumers, such as mobile apps or cloud + services. + + Service producers can use methods, such as + [services.create](https://cloud.google.com/service-management/reference/rest/v1/services/create), [services.delete](https://cloud.google.com/service-management/reference/rest/v1/services/delete), [services.undelete](https://cloud.google.com/service-management/reference/rest/v1/services/undelete), to + manipulate their managed services. + + ## Service producers + + A service producer is the Google developer project responsible for + publishing and maintaining a managed service. Each managed service is + owned by exactly one service producer. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a managed service. A managed service can have many service + consumers. + + ## Service configuration + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}` +
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services.configs). Each + managed service is described by a service configuration which covers a + wide range of features, including its name, title, RPC API + definitions, + REST API definitions, documentation, authentication, and more. + + To change the configuration of a managed service, the service producer + needs to publish an updated service configuration to Service + Management. + Service Management keeps a history of published + service configurations, making it possible to easily retrace how a + service's configuration evolved over time. Service configurations can be + published + using the [services.configs.create](https://cloud.google.com/service-management/reference/rest/v1/services.configs/create) or + [services.configs.submit](https://cloud.google.com/service-management/reference/rest/v1/services.configs/submit) methods. Alternatively, + `services.configs.submit` allows publishing an + [OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification, + formerly known as the Swagger Specification, which is automatically + converted to a corresponding service configuration. + + ## Service rollout + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}` +
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services.rollouts). A + `Rollout` defines how Google Service Management should deploy service + configurations to backend systems and how the configurations take effect + at runtime. It lets service producers specify multiple service + configuration + versions to be deployed together, and a strategy that indicates how they + should be used. + + Updating a managed service's configuration can be dangerous, as a + configuration error can lead to a service outage. To mitigate risks, + Service Management + supports gradual rollout of service configuration changes. This feature + gives service producers time to identity potential issues and rollback + service + configuration changes in case of errors, thus minimizing the customer + impact of bad configurations. For example, you could specify that 5% of + traffic uses configuration 1, while the remaining 95% uses configuration + 2. + + Service Management keeps a history of rollouts so that service + producers can undo to previous configuration versions. You can rollback a + configuration by initiating a new `Rollout` that clones a previously + submitted rollout record. + rules: + - 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. + + - selector: google.longrunning.Operations.ListOperations + description: Lists service operations that match the specified filter in the request. + +backend: + rules: + - selector: 'google.api.servicemanagement.v1.ServiceManager.*' + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig + deadline: 20.0 + - selector: 'google.iam.v1.IAMPolicy.*' + deadline: 10.0 + - selector: 'google.longrunning.Operations.*' + deadline: 10.0 + +http: + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + post: '/v1/{resource=services/*}:getIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:getIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=services/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=services/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.ListOperations + get: /v1/operations + +authentication: + rules: + - selector: 'google.api.servicemanagement.v1.ServiceManager.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.api.servicemanagement.v1.ServiceManager.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management diff --git a/google-cloud/protos/google/api/servicemanagement/v1/servicemanager.proto b/google-cloud/protos/google/api/servicemanagement/v1/servicemanager.proto index 02d50666..c863cd41 100644 --- a/google-cloud/protos/google/api/servicemanagement/v1/servicemanager.proto +++ b/google-cloud/protos/google/api/servicemanagement/v1/servicemanager.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// 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. @@ -17,13 +17,12 @@ syntax = "proto3"; package google.api.servicemanagement.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/api/service.proto"; import "google/api/servicemanagement/v1/resources.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/any.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/struct.proto"; -import "google/rpc/status.proto"; option csharp_namespace = "Google.Cloud.ServiceManagement.V1"; option go_package = "google.golang.org/genproto/googleapis/api/servicemanagement/v1;servicemanagement"; @@ -32,22 +31,28 @@ option java_outer_classname = "ServiceManagerProto"; option java_package = "com.google.api.servicemanagement.v1"; option objc_class_prefix = "GASM"; option php_namespace = "Google\\Cloud\\ServiceManagement\\V1"; +option ruby_package = "Google::Cloud::ServiceManagement::V1"; -// [Google Service Management API](/service-management/overview) +// [Google Service Management +// API](https://cloud.google.com/service-infrastructure/docs/overview) service ServiceManager { + option (google.api.default_host) = "servicemanagement.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/service.management," + "https://www.googleapis.com/auth/service.management.readonly"; + // Lists managed services. // // Returns all public services. For authenticated users, also returns all // services the calling user has "servicemanagement.services.get" permission // for. - // - // **BETA:** If the caller specifies the `consumer_id`, it returns only the - // services enabled on the consumer. The `consumer_id` must have the format - // of "project:{PROJECT-ID}". rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { option (google.api.http) = { get: "/v1/services" }; + option (google.api.method_signature) = "producer_project_id,consumer_id"; } // Gets a managed service. Authentication is required unless the service is @@ -56,10 +61,18 @@ service ServiceManager { option (google.api.http) = { get: "/v1/services/{service_name}" }; + option (google.api.method_signature) = "service_name"; } // Creates a new managed service. - // Please note one producer project can own no more than 20 services. + // + // A managed service is immutable, and is subject to mandatory 30-day + // data retention. You cannot move a service or recreate it within 30 days + // after deletion. + // + // One producer project can own no more than 500 services. For security and + // reliability purposes, a production service should be hosted in a + // dedicated producer project. // // Operation rpc CreateService(CreateServiceRequest) @@ -68,6 +81,11 @@ service ServiceManager { post: "/v1/services" body: "service" }; + option (google.api.method_signature) = "service"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.ManagedService" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; } // Deletes a managed service. This method will change the service to the @@ -83,6 +101,11 @@ service ServiceManager { option (google.api.http) = { delete: "/v1/services/{service_name}" }; + option (google.api.method_signature) = "service_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; } // Revives a previously deleted managed service. The method restores the @@ -96,6 +119,11 @@ service ServiceManager { option (google.api.http) = { post: "/v1/services/{service_name}:undelete" }; + option (google.api.method_signature) = "service_name"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.UndeleteServiceResponse" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; } // Lists the history of the service configuration for a managed service, @@ -105,6 +133,7 @@ service ServiceManager { option (google.api.http) = { get: "/v1/services/{service_name}/configs" }; + option (google.api.method_signature) = "service_name"; } // Gets a service configuration (version) for a managed service. @@ -113,6 +142,7 @@ service ServiceManager { get: "/v1/services/{service_name}/configs/{config_id}" additional_bindings { get: "/v1/services/{service_name}/config" } }; + option (google.api.method_signature) = "service_name,config_id,view"; } // Creates a new service configuration (version) for a managed service. @@ -129,6 +159,7 @@ service ServiceManager { post: "/v1/services/{service_name}/configs" body: "service_config" }; + option (google.api.method_signature) = "service_name,service_config"; } // Creates a new service configuration (version) for a managed service based @@ -151,6 +182,12 @@ service ServiceManager { post: "/v1/services/{service_name}/configs:submit" body: "*" }; + option (google.api.method_signature) = + "service_name,config_source,validate_only"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.SubmitConfigSourceResponse" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; } // Lists the history of the service configuration rollouts for a managed @@ -160,6 +197,7 @@ service ServiceManager { option (google.api.http) = { get: "/v1/services/{service_name}/rollouts" }; + option (google.api.method_signature) = "service_name,filter"; } // Gets a service configuration @@ -168,6 +206,7 @@ service ServiceManager { option (google.api.http) = { get: "/v1/services/{service_name}/rollouts/{rollout_id}" }; + option (google.api.method_signature) = "service_name,rollout_id"; } // Creates a new service configuration rollout. Based on rollout, the @@ -190,6 +229,11 @@ service ServiceManager { post: "/v1/services/{service_name}/rollouts" body: "rollout" }; + option (google.api.method_signature) = "service_name,rollout"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.Rollout" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; } // Generates and returns a report (errors, warnings and changes from @@ -209,33 +253,7 @@ service ServiceManager { post: "/v1/services:generateConfigReport" body: "*" }; - } - - // Enables a [service][google.api.servicemanagement.v1.ManagedService] for a - // project, so it can be used for the project. See [Cloud Auth - // Guide](https://cloud.google.com/docs/authentication) for more information. - // - // Operation - rpc EnableService(EnableServiceRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/services/{service_name}:enable" - body: "*" - }; - } - - // Disables a [service][google.api.servicemanagement.v1.ManagedService] for a - // project, so it can no longer be be used for the project. It prevents - // accidental usage that may cause unexpected billing charges or security - // leaks. - // - // Operation - rpc DisableService(DisableServiceRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/services/{service_name}:disable" - body: "*" - }; + option (google.api.method_signature) = "new_config,old_config"; } } @@ -244,7 +262,8 @@ message ListServicesRequest { // Include services produced by the specified project. string producer_project_id = 1; - // Requested size of the next page of data. + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 100. int32 page_size = 5; // Token identifying which result to start with; returned by a previous list @@ -256,7 +275,7 @@ message ListServicesRequest { // The Google Service Management implementation accepts the following // forms: // - project: - string consumer_id = 7; + string consumer_id = 7 [deprecated = true]; } // Response message for `ListServices` method. @@ -270,29 +289,31 @@ message ListServicesResponse { // Request message for `GetService` method. message GetServiceRequest { - // The name of the service. See the `ServiceManager` overview for naming - // requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the `ServiceManager` overview for + // naming requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; } // Request message for CreateService method. message CreateServiceRequest { - // Initial values for the service resource. - ManagedService service = 1; + // Required. Initial values for the service resource. + ManagedService service = 1 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteService method. message DeleteServiceRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; } // Request message for UndeleteService method. message UndeleteServiceRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; } // Response message for UndeleteService method. @@ -314,12 +335,16 @@ message GetServiceConfigRequest { FULL = 1; } - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; - // The id of the service configuration resource. - string config_id = 2; + // Required. The id of the service configuration resource. + // + // This field must be specified for the server to return all fields, including + // `SourceInfo`. + string config_id = 2 [(google.api.field_behavior) = REQUIRED]; // Specifies which parts of the Service Config should be returned in the // response. @@ -328,14 +353,16 @@ message GetServiceConfigRequest { // Request message for ListServiceConfigs method. message ListServiceConfigsRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; // The token of the page to retrieve. string page_token = 2; - // The max number of items to include in the response list. + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 100. int32 page_size = 3; } @@ -350,27 +377,30 @@ message ListServiceConfigsResponse { // Request message for CreateServiceConfig method. message CreateServiceConfigRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; - - // The service configuration resource. - google.api.Service service_config = 2; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The service configuration resource. + google.api.Service service_config = 2 + [(google.api.field_behavior) = REQUIRED]; } // Request message for SubmitConfigSource method. message SubmitConfigSourceRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; - // The source configuration for the service. - ConfigSource config_source = 2; + // Required. The source configuration for the service. + ConfigSource config_source = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. If set, this will result in the generation of a // `google.api.Service` configuration based on the `ConfigSource` provided, // but the generated config and the sources will NOT be persisted. - bool validate_only = 3; + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for SubmitConfigSource method. @@ -381,35 +411,38 @@ message SubmitConfigSourceResponse { // Request message for 'CreateServiceRollout' message CreateServiceRolloutRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; - // The rollout resource. The `service_name` field is output only. - Rollout rollout = 2; + // Required. The rollout resource. The `service_name` field is output only. + Rollout rollout = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for 'ListServiceRollouts' message ListServiceRolloutsRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; // The token of the page to retrieve. string page_token = 2; - // The max number of items to include in the response list. + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 100. int32 page_size = 3; - // Use `filter` to return subset of rollouts. + // Required. Use `filter` to return subset of rollouts. // The following filters are supported: // -- To limit the results to only those in - // [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', + // status (google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', // use filter='status=SUCCESS' // -- To limit the results to those in - // [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' + // status (google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' // or 'FAILED', use filter='status=CANCELLED OR status=FAILED' - string filter = 4; + string filter = 4 [(google.api.field_behavior) = REQUIRED]; } // Response message for ListServiceRollouts method. @@ -423,65 +456,30 @@ message ListServiceRolloutsResponse { // Request message for GetServiceRollout method. message GetServiceRolloutRequest { - // The name of the service. See the [overview](/service-management/overview) - // for naming requirements. For example: `example.googleapis.com`. - string service_name = 1; - - // The id of the rollout resource. - string rollout_id = 2; -} - -// Request message for EnableService method. -message EnableServiceRequest { - // Name of the service to enable. Specifying an unknown service name will - // cause the request to fail. - string service_name = 1; - - // The identity of consumer resource which service enablement will be - // applied to. - // - // The Google Service Management implementation accepts the following - // forms: - // - "project:" - // - // Note: this is made compatible with - // google.api.servicecontrol.v1.Operation.consumer_id. - string consumer_id = 2; -} + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. For + // example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; -// Request message for DisableService method. -message DisableServiceRequest { - // Name of the service to disable. Specifying an unknown service name - // will cause the request to fail. - string service_name = 1; - - // The identity of consumer resource which service disablement will be - // applied to. - // - // The Google Service Management implementation accepts the following - // forms: - // - "project:" - // - // Note: this is made compatible with - // google.api.servicecontrol.v1.Operation.consumer_id. - string consumer_id = 2; + // Required. The id of the rollout resource. + string rollout_id = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for GenerateConfigReport method. message GenerateConfigReportRequest { - // Service configuration for which we want to generate the report. + // Required. Service configuration for which we want to generate the report. // For this version of API, the supported types are // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], // and [google.api.Service][google.api.Service] - google.protobuf.Any new_config = 1; + google.protobuf.Any new_config = 1 [(google.api.field_behavior) = REQUIRED]; - // Service configuration against which the comparison will be done. + // Optional. Service configuration against which the comparison will be done. // For this version of API, the supported types are // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], // and [google.api.Service][google.api.Service] - google.protobuf.Any old_config = 2; + google.protobuf.Any old_config = 2 [(google.api.field_behavior) = OPTIONAL]; } // Response message for GenerateConfigReport method. diff --git a/google-cloud/protos/google/api/serviceusage/BUILD.bazel b/google-cloud/protos/google/api/serviceusage/BUILD.bazel new file mode 100644 index 00000000..011cfc2b --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_usage. + +# 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 serviceusage. +# 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 = "serviceusage_ruby_wrapper", + srcs = ["//google/api/serviceusage/v1:serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_usage", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-wrapper-of=v1:0.0", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + ], + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-serviceusage-ruby", + deps = [ + ":serviceusage_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/api/serviceusage/v1/BUILD.bazel b/google-cloud/protos/google/api/serviceusage/v1/BUILD.bazel new file mode 100644 index 00000000..8c25c297 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/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 = "serviceusage_proto", + srcs = [ + "resources.proto", + "serviceusage.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:auth_proto", + "//google/api:client_proto", + "//google/api:documentation_proto", + "//google/api:endpoint_proto", + "//google/api:monitored_resource_proto", + "//google/api:monitoring_proto", + "//google/api:quota_proto", + "//google/api:usage_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:api_proto", + ], +) + +proto_library_with_info( + name = "serviceusage_proto_with_info", + deps = [ + ":serviceusage_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 = "serviceusage_java_proto", + deps = [":serviceusage_proto"], +) + +java_grpc_library( + name = "serviceusage_java_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_java_proto"], +) + +java_gapic_library( + name = "serviceusage_java_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + test_deps = [ + ":serviceusage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":serviceusage_java_proto", + ], +) + +java_gapic_test( + name = "serviceusage_java_gapic_test_suite", + test_classes = [ + "com.google.api.serviceusage.v1.ServiceUsageClientHttpJsonTest", + "com.google.api.serviceusage.v1.ServiceUsageClientTest", + ], + runtime_deps = [":serviceusage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-serviceusage-v1-java", + transport = "grpc+rest", + deps = [ + ":serviceusage_java_gapic", + ":serviceusage_java_grpc", + ":serviceusage_java_proto", + ":serviceusage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +# load( +# "@com_google_googleapis_imports//:imports.bzl", +# "go_gapic_assembly_pkg", +# "go_gapic_library", +# "go_proto_library", +# "go_test", +# ) + +# go_proto_library( +# name = "serviceusage_go_proto", +# compilers = ["@io_bazel_rules_go//proto:go_grpc"], +# importpath = "google.golang.org/genproto/googleapis/api/serviceusage/v1", +# protos = [":serviceusage_proto"], +# deps = [ +# "//google/api:annotations_go_proto", +# "//google/api:auth_go_proto", +# "//google/api:documentation_go_proto", +# "//google/api:endpoint_go_proto", +# "//google/api:monitoredres_go_proto", +# "//google/api:monitoring_go_proto", +# "//google/api:serviceconfig_go_proto", +# "//google/api:usage_go_proto", +# "//google/longrunning:longrunning_go_proto", +# ], +# ) + +# go_gapic_library( +# name = "serviceusage_go_gapic", +# srcs = [":serviceusage_proto_with_info"], +# grpc_service_config = "serviceusage_grpc_service_config.json", +# importpath = "cloud.google.com/go/api/serviceusage/apiv1;serviceusage", +# service_yaml = "serviceusage_v1.yaml", +# metadata = True, +# deps = [ +# ":serviceusage_go_proto", +# "//google/longrunning:longrunning_go_proto", +# "@com_google_cloud_go//longrunning/autogen:go_default_library", +# "@com_google_cloud_go//longrunning:go_default_library", +# ], +# ) + +# go_test( +# name = "serviceusage_go_gapic_test", +# srcs = [":serviceusage_go_gapic_srcjar_test"], +# embed = [":serviceusage_go_gapic"], +# importpath = "cloud.google.com/go/api/serviceusage/apiv1", +# ) + +# # Open Source Packages +# go_gapic_assembly_pkg( +# name = "gapi-cloud-api-serviceusage-v1-go", +# deps = [ +# ":serviceusage_go_gapic", +# ":serviceusage_go_gapic_srcjar-test.srcjar", +# ":serviceusage_go_gapic_srcjar-metadata.srcjar", +# ":serviceusage_go_proto", +# ], +# ) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "serviceusage_py_gapic", + srcs = [":serviceusage_proto"], + grpc_service_config = "serviceusage_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-service-usage", + "python-gapic-namespace=google.cloud", + "python-gapic-name=service_usage", + ], + transport = "grpc", +) + +py_test( + name = "serviceusage_py_gapic_test", + srcs = [ + "serviceusage_py_gapic_pytest.py", + "serviceusage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":serviceusage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-serviceusage-v1-py", + deps = [ + ":serviceusage_py_gapic", + ], +) + +############################################################################## +# 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 = "serviceusage_php_proto", + deps = [":serviceusage_proto"], +) + +php_grpc_library( + name = "serviceusage_php_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_php_proto"], +) + +php_gapic_library( + name = "serviceusage_php_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + service_yaml = "serviceusage_v1.yaml", + deps = [ + ":serviceusage_php_grpc", + ":serviceusage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-php", + deps = [ + ":serviceusage_php_gapic", + ":serviceusage_php_grpc", + ":serviceusage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "serviceusage_nodejs_gapic", + package_name = "@google-cloud/service-usage", + src = ":serviceusage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "serviceusage_grpc_service_config.json", + package = "google.api.serviceusage.v1", + service_yaml = "serviceusage_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-serviceusage-v1-nodejs", + deps = [ + ":serviceusage_nodejs_gapic", + ":serviceusage_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 = "serviceusage_ruby_proto", + deps = [":serviceusage_proto"], +) + +ruby_grpc_library( + name = "serviceusage_ruby_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "serviceusage_ruby_gapic", + srcs = [":serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_usage-v1", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + ], + grpc_service_config = "serviceusage_grpc_service_config.json", + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage V1", + deps = [ + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-ruby", + deps = [ + ":serviceusage_ruby_gapic", + ":serviceusage_ruby_grpc", + ":serviceusage_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 = "serviceusage_csharp_proto", + deps = [":serviceusage_proto"], +) + +csharp_grpc_library( + name = "serviceusage_csharp_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_csharp_proto"], +) + +csharp_gapic_library( + name = "serviceusage_csharp_gapic", + srcs = [":serviceusage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "serviceusage_grpc_service_config.json", + # service_yaml = "serviceusage_v1.yaml", + deps = [ + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-csharp", + deps = [ + ":serviceusage_csharp_gapic", + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "serviceusage_cc_proto", + deps = [":serviceusage_proto"], +) + +cc_grpc_library( + name = "serviceusage_cc_grpc", + srcs = [":serviceusage_proto"], + grpc_only = True, + deps = [":serviceusage_cc_proto"], +) diff --git a/google-cloud/protos/google/api/serviceusage/v1/resources.proto b/google-cloud/protos/google/api/serviceusage/v1/resources.proto new file mode 100644 index 00000000..b78ba0f3 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1/resources.proto @@ -0,0 +1,121 @@ +// 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.api.serviceusage.v1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// A service that is available for use by the consumer. +message Service { + // The resource name of the consumer and service. + // + // A valid name would be: + // - projects/123/services/serviceusage.googleapis.com + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - projects/123 + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // Defines the monitored resources used by this service. This is required + // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. + repeated google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} diff --git a/google-cloud/protos/google/api/serviceusage/v1/serviceusage.proto b/google-cloud/protos/google/api/serviceusage/v1/serviceusage.proto new file mode 100644 index 00000000..41c5e2d4 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1/serviceusage.proto @@ -0,0 +1,301 @@ +// 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.api.serviceusage.v1; + +import "google/api/annotations.proto"; +import "google/api/serviceusage/v1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// Enables services that service consumers want to use on Google Cloud Platform, +// lists the available or enabled services, or disables services that service +// consumers no longer use. +// +// See [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.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/service.management"; + + // Enable a service so that it can be used with a project. + rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "EnableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Disable a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "DisableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1/{name=*/*/services/*}" + }; + } + + // List all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + // + // WARNING: If you need to query enabled services frequently or across + // an organization, you should use + // [Cloud Asset Inventory + // API](https://cloud.google.com/asset-inventory/docs/apis), which provides + // higher throughput and richer filtering capability. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services" + }; + } + + // Enable multiple services on a project. The operation is atomic: if enabling + // any service fails, then the entire batch fails, and no state changes occur. + // To enable a single service, use the `EnableService` method instead. + rpc BatchEnableServices(BatchEnableServicesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "BatchEnableServicesResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configurations and enabled states for a given list of + // services. + rpc BatchGetServices(BatchGetServicesRequest) returns (BatchGetServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services:batchGet" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Response message for the `EnableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message EnableServiceResponse { + // The new state of the service after enabling. + Service service = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Enum to determine if service usage should be checked when disabling a + // service. + enum CheckIfServiceHasUsage { + // When unset, the default behavior is used, which is SKIP. + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = 0; + + // If set, skip checking service usage when disabling a service. + SKIP = 1; + + // If set, service usage is checked when disabling the service. If a + // service, or its dependents, has usage in the last 30 days, the request + // returns a FAILED_PRECONDITION error. + CHECK = 2; + } + + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; + + // Indicates if services that are enabled and which depend on this service + // should also be disabled. If not set, an error will be generated if any + // enabled services depend on the service to be disabled. When set, the + // service, and any enabled services that depend on it, will be disabled + // together. + bool disable_dependent_services = 2; + + // Defines the behavior for checking service usage when disabling a service. + CheckIfServiceHasUsage check_if_service_has_usage = 3; +} + +// Response message for the `DisableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message DisableServiceResponse { + // The new state of the service after disabling. + Service service = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Response message for the `BatchEnableServices` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message BatchEnableServicesResponse { + // Provides error messages for the failing services. + message EnableFailure { + // The service id of a service that could not be enabled. + string service_id = 1; + + // An error message describing why the service could not be enabled. + string error_message = 2; + } + + // The new state of the services after enabling. + repeated Service services = 1; + + // If allow_partial_success is true, and one or more services could not be + // enabled, this field contains the details about each failure. + repeated EnableFailure failures = 2; +} + +// Request message for the `BatchGetServices` method. +message BatchGetServicesRequest { + // Parent to retrieve services from. + // If this is set, the parent of all of the services specified in `names` must + // match this field. An example name would be: `projects/123` where `123` is + // the project number. The `BatchGetServices` method currently only supports + // projects. + string parent = 1; + + // Names of the services to retrieve. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + // A single request can get a maximum of 30 services at a time. + repeated string names = 2; +} + +// Response message for the `BatchGetServices` method. +message BatchGetServicesResponse { + // The requested Service states. + repeated Service services = 1; +} diff --git a/google-cloud/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json b/google-cloud/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json new file mode 100644 index 00000000..f7a8789f --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.serviceusage.v1.ServiceUsage" } + ], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/api/serviceusage/v1/serviceusage_v1.yaml b/google-cloud/protos/google/api/serviceusage/v1/serviceusage_v1.yaml new file mode 100644 index 00000000..28a46351 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1/serviceusage_v1.yaml @@ -0,0 +1,75 @@ +type: google.api.Service +config_version: 3 +name: serviceusage.googleapis.com +title: Service Usage API + +apis: +- name: google.api.serviceusage.v1.ServiceUsage + +types: +- name: google.api.serviceusage.v1.BatchEnableServicesResponse +- name: google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure +- name: google.api.serviceusage.v1.DisableServiceResponse +- name: google.api.serviceusage.v1.EnableServiceResponse +- name: google.api.serviceusage.v1.OperationMetadata + +documentation: + summary: |- + Enables services that service consumers want to use on Google Cloud + Platform, lists the available or enabled services, or disables services + that service consumers no longer use. + overview: |- + The Service Usage API allows *service consumers* to manage the set + of *services* they interact with. Consumers can use the Service Usage API + or the [Google Cloud Console](https://console.cloud.google.com) to enable + services in their [Google + developer + project](https://developers.google.com/console/help/new/). After a service + is enabled, its APIs become available. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a service. A service can have many service consumers. + +backend: + rules: + - selector: 'google.api.serviceusage.v1.ServiceUsage.*' + deadline: 20.0 + - selector: 'google.longrunning.Operations.*' + deadline: 20.0 + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: /v1/operations + +authentication: + rules: + - selector: 'google.api.serviceusage.v1.ServiceUsage.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.api.serviceusage.v1.ServiceUsage.BatchGetServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1.ServiceUsage.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1.ServiceUsage.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management diff --git a/google-cloud/protos/google/api/serviceusage/v1beta1/BUILD.bazel b/google-cloud/protos/google/api/serviceusage/v1beta1/BUILD.bazel new file mode 100644 index 00000000..56d11dec --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1beta1/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 = "serviceusage_proto", + srcs = [ + "resources.proto", + "serviceusage.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:auth_proto", + "//google/api:client_proto", + "//google/api:documentation_proto", + "//google/api:endpoint_proto", + "//google/api:field_behavior_proto", + "//google/api:monitored_resource_proto", + "//google/api:monitoring_proto", + "//google/api:quota_proto", + "//google/api:usage_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:api_proto", + "@com_google_protobuf//:field_mask_proto", + ], +) + +proto_library_with_info( + name = "serviceusage_proto_with_info", + deps = [ + ":serviceusage_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 = "serviceusage_java_proto", + deps = [":serviceusage_proto"], +) + +java_grpc_library( + name = "serviceusage_java_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_java_proto"], +) + +java_gapic_library( + name = "serviceusage_java_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + test_deps = [ + ":serviceusage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":serviceusage_java_proto", + ], +) + +java_gapic_test( + name = "serviceusage_java_gapic_test_suite", + test_classes = [ + "com.google.api.serviceusage.v1beta1.ServiceUsageClientHttpJsonTest", + "com.google.api.serviceusage.v1beta1.ServiceUsageClientTest", + ], + runtime_deps = [":serviceusage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-serviceusage-v1beta1-java", + transport = "grpc+rest", + deps = [ + ":serviceusage_java_gapic", + ":serviceusage_java_grpc", + ":serviceusage_java_proto", + ":serviceusage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "serviceusage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1", + protos = [":serviceusage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:monitoredres_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "serviceusage_go_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + importpath = "cloud.google.com/go/api/serviceusage/apiv1beta1;serviceusage", + metadata = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@com_google_cloud_go//longrunning/autogen:go_default_library", + ], +) + +go_test( + name = "serviceusage_go_gapic_test", + srcs = [":serviceusage_go_gapic_srcjar_test"], + embed = [":serviceusage_go_gapic"], + importpath = "cloud.google.com/go/api/serviceusage/apiv1beta1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-serviceusage-v1beta1-go", + deps = [ + ":serviceusage_go_gapic", + ":serviceusage_go_gapic_srcjar-metadata.srcjar", + ":serviceusage_go_gapic_srcjar-test.srcjar", + ":serviceusage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "serviceusage_py_gapic", + srcs = [":serviceusage_proto"], + grpc_service_config = "serviceusage_grpc_service_config.json", + transport = "grpc", +) + +# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed +#py_test( +# name = "serviceusage_py_gapic_test", +# srcs = [ +# "serviceusage_py_gapic_pytest.py", +# "serviceusage_py_gapic_test.py", +# ], +# legacy_create_init = False, +# deps = [":serviceusage_py_gapic"], +#) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-serviceusage-v1beta1-py", + deps = [ + ":serviceusage_py_gapic", + ], +) + +############################################################################## +# 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 = "serviceusage_php_proto", + deps = [":serviceusage_proto"], +) + +php_grpc_library( + name = "serviceusage_php_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_php_proto"], +) + +php_gapic_library( + name = "serviceusage_php_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + service_yaml = "serviceusage_v1beta1.yaml", + deps = [ + ":serviceusage_php_grpc", + ":serviceusage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-php", + deps = [ + ":serviceusage_php_gapic", + ":serviceusage_php_grpc", + ":serviceusage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "serviceusage_nodejs_gapic", + package_name = "@google-cloud/service-usage", + src = ":serviceusage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "serviceusage_grpc_service_config.json", + package = "google.api.serviceusage.v1beta1", + service_yaml = "serviceusage_v1beta1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-serviceusage-v1beta1-nodejs", + deps = [ + ":serviceusage_nodejs_gapic", + ":serviceusage_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 = "serviceusage_ruby_proto", + deps = [":serviceusage_proto"], +) + +ruby_grpc_library( + name = "serviceusage_ruby_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "serviceusage_ruby_gapic", + srcs = [":serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_usage-v1beta1", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + ], + grpc_service_config = "serviceusage_grpc_service_config.json", + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage V1beta1", + deps = [ + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-ruby", + deps = [ + ":serviceusage_ruby_gapic", + ":serviceusage_ruby_grpc", + ":serviceusage_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 = "serviceusage_csharp_proto", + deps = [":serviceusage_proto"], +) + +csharp_grpc_library( + name = "serviceusage_csharp_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_csharp_proto"], +) + +csharp_gapic_library( + name = "serviceusage_csharp_gapic", + srcs = [":serviceusage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "serviceusage_grpc_service_config.json", + service_yaml = "serviceusage_v1beta1.yaml", + deps = [ + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-csharp", + deps = [ + ":serviceusage_csharp_gapic", + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/api/serviceusage/v1beta1/resources.proto b/google-cloud/protos/google/api/serviceusage/v1beta1/resources.proto new file mode 100644 index 00000000..a68437c3 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1beta1/resources.proto @@ -0,0 +1,394 @@ +// 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.api.serviceusage.v1beta1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// A service that is available for use by the consumer. +message Service { + // The resource name of the consumer and service. + // + // A valid name would be: + // - `projects/123/services/serviceusage.googleapis.com` + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - `projects/123` + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // Defines the monitored resources used by this service. This is required + // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. + repeated google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} + +// Consumer quota settings for a quota metric. +message ConsumerQuotaMetric { + // The resource name of the quota settings on this metric for this consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the metric. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The display name of the metric. + // + // An example name would be: + // `CPUs` + string display_name = 2; + + // The consumer quota for each quota limit defined on the metric. + repeated ConsumerQuotaLimit consumer_quota_limits = 3; + + // The quota limits targeting the descendant containers of the + // consumer in request. + // + // If the consumer in request is of type `organizations` + // or `folders`, the field will list per-project limits in the metric; if the + // consumer in request is of type `project`, the field will be empty. + // + // The `quota_buckets` field of each descendant consumer quota limit will not + // be populated. + repeated ConsumerQuotaLimit descendant_consumer_quota_limits = 6; + + // The units in which the metric value is reported. + string unit = 5; +} + +// Consumer quota settings for a quota limit. +message ConsumerQuotaLimit { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the parent metric of this limit. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 8; + + // The limit unit. + // + // An example unit would be + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 2; + + // Whether this limit is precise or imprecise. + bool is_precise = 3; + + // Whether admin overrides are allowed on this limit + bool allows_admin_overrides = 7; + + // Summary of the enforced quota buckets, organized by quota dimension, + // ordered from least specific to most specific (for example, the global + // default bucket, with no quota dimensions, will always appear first). + repeated QuotaBucket quota_buckets = 9; +} + +// Selected view of quota. Can be used to request more detailed quota +// information when retrieving quota metrics and limits. +enum QuotaView { + // No quota view specified. Requests that do not specify a quota view will + // typically default to the BASIC view. + QUOTA_VIEW_UNSPECIFIED = 0; + + // Only buckets with overrides are shown in the response. + BASIC = 1; + + // Include per-location buckets even if they do not have overrides. + // When the view is FULL, and a limit has regional or zonal quota, the limit + // will include buckets for all regions or zones that could support + // overrides, even if none are currently present. In some cases this will + // cause the response to become very large; callers that do not need this + // extra information should use the BASIC view instead. + FULL = 2; +} + +// A quota bucket is a quota provisioning unit for a specific set of dimensions. +message QuotaBucket { + // The effective limit of this quota bucket. Equal to default_limit if there + // are no overrides. + int64 effective_limit = 1; + + // The default limit of this quota bucket, as specified by the service + // configuration. + int64 default_limit = 2; + + // Producer override on this quota bucket. + QuotaOverride producer_override = 3; + + // Consumer override on this quota bucket. + QuotaOverride consumer_override = 4; + + // Admin override on this quota bucket. + QuotaOverride admin_override = 5; + + // The dimensions of this quota bucket. + // + // If this map is empty, this is the global bucket, which is the default quota + // value applied to all requests that do not have a more specific override. + // + // If this map is nonempty, the default limit, effective limit, and quota + // overrides apply only to requests that have the dimensions given in the map. + // + // For example, if the map has key `region` and value `us-east-1`, then the + // specified effective limit is only effective in that region, and the + // specified overrides apply only in that region. + map dimensions = 6; +} + +// A quota override +message QuotaOverride { + // The resource name of the override. + // This name is generated by the server when the override is created. + // + // Example names would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The overriding quota limit value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 override_value = 2; + + // If this map is nonempty, then this override applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, an override on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the override is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * Keys that are not defined in the limit's unit are not valid keys. + // Any string appearing in `{brackets}` in the unit (besides `{project}` + // or + // `{user}`) is a defined key. + // * `project` is not a valid key; the project is already specified in + // the parent resource name. + // * `user` is not a valid key; the API does not support quota overrides + // that apply only to a specific user. + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * If any valid key other than `region` or `zone` appears in the map, then + // all valid keys other than `region` or `zone` must also appear in the + // map. + map dimensions = 3; + + // The name of the metric to which this override applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this override applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The resource name of the ancestor that requested the override. For example: + // `organizations/12345` or `folders/67890`. + // Used by admin overrides only. + string admin_override_ancestor = 6; +} + +// Import data embedded in the request message +message OverrideInlineSource { + // The overrides to create. + // Each override must have a value for 'metric' and 'unit', to specify + // which metric and which limit the override should be applied to. + // The 'name' field of the override does not need to be set; it is ignored. + repeated QuotaOverride overrides = 1; +} + +// 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. + LIMIT_DECREASE_BELOW_USAGE = 1; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to decrease by more than 10 percent. + LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2; +} + +// Quota policy created by quota administrator. +message AdminQuotaPolicy { + // The resource name of the policy. + // This name is generated by the server when the policy is created. + // + // Example names would be: + // `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + string name = 1; + + // The quota policy value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 policy_value = 2; + + // + // If this map is nonempty, then this policy applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, an policy on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the policy is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * Keys other than `region` or `zone` are not valid. + map dimensions = 3; + + // The name of the metric to which this policy applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this policy applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The cloud resource container at which the quota policy is created. The + // format is `{container_type}/{container_number}` + string container = 6; +} + +// Service identity for a service. This is the identity that service producer +// should use to access consumer resources. +message ServiceIdentity { + // The email address of the service account that a service producer would use + // to access consumer resources. + string email = 1; + + // The unique and stable id of the service account. + // https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + string unique_id = 2; +} diff --git a/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage.proto b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage.proto new file mode 100644 index 00000000..20512248 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage.proto @@ -0,0 +1,786 @@ +// 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.api.serviceusage.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/serviceusage/v1beta1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.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/service.management"; + + // Enables a service so that it can be used with a project. + // + // Operation response type: `google.protobuf.Empty` + rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Disables a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + // + // Operation response type: `google.protobuf.Empty` + rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*}" + }; + } + + // Lists all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{parent=*/*}/services" + }; + } + + // Enables multiple services on a project. The operation is atomic: if + // enabling any service fails, then the entire batch fails, and no state + // changes occur. + // + // Operation response type: `google.protobuf.Empty` + rpc BatchEnableServices(BatchEnableServicesRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Retrieves a summary of all quota information visible to the service + // consumer, organized by service metric. Each metric includes information + // about all of its defined limits. Each limit includes the limit + // configuration (quota unit, preciseness, default value), the current + // effective limit value, and all of the overrides applied to the limit. + rpc ListConsumerQuotaMetrics(ListConsumerQuotaMetricsRequest) returns (ListConsumerQuotaMetricsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics" + }; + } + + // Retrieves a summary of quota information for a specific quota metric + rpc GetConsumerQuotaMetric(GetConsumerQuotaMetricRequest) returns (ConsumerQuotaMetric) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}" + }; + } + + // Retrieves a summary of quota information for a specific quota limit. + rpc GetConsumerQuotaLimit(GetConsumerQuotaLimitRequest) returns (ConsumerQuotaLimit) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}" + }; + } + + // Creates an admin override. + // An admin override is applied by an administrator of a parent folder or + // parent organization of the consumer receiving the override. An admin + // override is intended to limit the amount of quota the consumer can use out + // of the total quota pool allocated to all children of the folder or + // organization. + rpc CreateAdminOverride(CreateAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates an admin override. + rpc UpdateAdminOverride(UpdateAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes an admin override. + rpc DeleteAdminOverride(DeleteAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all admin overrides on this limit. + rpc ListAdminOverrides(ListAdminOverridesRequest) returns (ListAdminOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + }; + } + + // Creates or updates multiple admin overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportAdminOverrides(ImportAdminOverridesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportAdminOverridesResponse" + metadata_type: "ImportAdminOverridesMetadata" + }; + } + + // Creates a consumer override. + // A consumer override is applied to the consumer on its own authority to + // limit its own quota usage. Consumer overrides cannot be used to grant more + // quota than would be allowed by admin overrides, producer overrides, or the + // default limit of the service. + rpc CreateConsumerOverride(CreateConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates a consumer override. + rpc UpdateConsumerOverride(UpdateConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a consumer override. + rpc DeleteConsumerOverride(DeleteConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all consumer overrides on this limit. + rpc ListConsumerOverrides(ListConsumerOverridesRequest) returns (ListConsumerOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + }; + } + + // Creates or updates multiple consumer overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportConsumerOverrides(ImportConsumerOverridesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportConsumerOverridesResponse" + metadata_type: "ImportConsumerOverridesMetadata" + }; + } + + // Generates service identity for service. + rpc GenerateServiceIdentity(GenerateServiceIdentityRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity" + }; + option (google.longrunning.operation_info) = { + response_type: "ServiceIdentity" + metadata_type: "google.protobuf.Empty" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // Two or more services must be specified. To enable a single service, + // use the `EnableService` method instead. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Request message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsRequest { + // Parent of the quotas resource. + // + // Some example names would be: + // `projects/123/services/serviceconsumermanagement.googleapis.com` + // `folders/345/services/serviceconsumermanagement.googleapis.com` + // `organizations/456/services/serviceconsumermanagement.googleapis.com` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 4; +} + +// Response message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsResponse { + // Quota settings for the consumer, organized by quota metric. + repeated ConsumerQuotaMetric metrics = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Request message for GetConsumerQuotaMetric +message GetConsumerQuotaMetricRequest { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for GetConsumerQuotaLimit +message GetConsumerQuotaLimitRequest { + // The resource name of the quota limit. + // + // Use the quota limit resource name returned by previous + // ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for CreateAdminOverride. +message CreateAdminOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The admin override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateAdminOverride. +message UpdateAdminOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteAdminOverride. +message DeleteAdminOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListAdminOverrides +message ListAdminOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListAdminOverrides. +message ListAdminOverridesResponse { + // Admin overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateAdminOverrides +message BatchCreateAdminOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportAdminOverrides +message ImportAdminOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportAdminOverrides +message ImportAdminOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminOverrides. +message ImportAdminOverridesMetadata { + +} + +// Request message for CreateConsumerOverride. +message CreateConsumerOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateConsumerOverride. +message UpdateConsumerOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteConsumerOverride. +message DeleteConsumerOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListConsumerOverrides +message ListConsumerOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListConsumerOverrides. +message ListConsumerOverridesResponse { + // Consumer overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateConsumerOverrides +message BatchCreateConsumerOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportConsumerOverrides +message ImportConsumerOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportConsumerOverrides +message ImportConsumerOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportConsumerOverrides. +message ImportConsumerOverridesMetadata { + +} + +// Response message for ImportAdminQuotaPolicies +message ImportAdminQuotaPoliciesResponse { + // The policies that were created from the imported data. + repeated AdminQuotaPolicy policies = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminQuotaPolicies. +message ImportAdminQuotaPoliciesMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by CreateAdminQuotaPolicy. +message CreateAdminQuotaPolicyMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by UpdateAdminQuotaPolicy. +message UpdateAdminQuotaPolicyMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by DeleteAdminQuotaPolicy. +message DeleteAdminQuotaPolicyMetadata { + +} + +// Request message for generating service identity. +message GenerateServiceIdentityRequest { + // Name of the consumer and service to generate an identity for. + // + // The `GenerateServiceIdentity` methods currently only support projects. + // + // An example name would be: + // `projects/123/services/example.googleapis.com` where `123` is the + // project number. + string parent = 1; +} + +// Response message for getting service identity. +message GetServiceIdentityResponse { + // Enum for service identity state. + enum IdentityState { + // Default service identity state. This value is used if the state is + // omitted. + IDENTITY_STATE_UNSPECIFIED = 0; + + // Service identity has been created and can be used. + ACTIVE = 1; + } + + // Service identity that service producer can use to access consumer + // resources. If exists is true, it contains email and unique_id. If exists is + // false, it contains pre-constructed email and empty unique_id. + ServiceIdentity identity = 1; + + // Service identity state. + IdentityState state = 2; +} + +// Metadata for the `GetServiceIdentity` method. +message GetServiceIdentityMetadata { + +} diff --git a/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json new file mode 100644 index 00000000..c04430c6 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.serviceusage.v1beta1.ServiceUsage" } + ], + "timeout": "5s" + }] +} diff --git a/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml new file mode 100644 index 00000000..1a1db7e9 --- /dev/null +++ b/google-cloud/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml @@ -0,0 +1,68 @@ +type: google.api.Service +config_version: 3 +name: serviceusage.googleapis.com +title: Service Usage API + +apis: +- name: google.api.serviceusage.v1beta1.ServiceUsage + +types: +- name: google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse +- name: google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse +- name: google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata +- name: google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata +- name: google.api.serviceusage.v1beta1.GetServiceIdentityMetadata +- name: google.api.serviceusage.v1beta1.GetServiceIdentityResponse +- name: google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata +- name: google.api.serviceusage.v1beta1.ImportAdminOverridesResponse +- name: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata +- name: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse +- name: google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata +- name: google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse +- name: google.api.serviceusage.v1beta1.OperationMetadata +- name: google.api.serviceusage.v1beta1.ServiceIdentity +- name: google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + +documentation: + summary: |- + Enables services that service consumers want to use on Google Cloud + Platform, lists the available or enabled services, or disables services + that service consumers no longer use. + overview: |- + The Service Usage API allows *service consumers* to manage the set + of *services* they interact with. Consumers can use the Service Usage API + or the [Google Cloud Console](https://console.cloud.google.com) to enable + services in their [Google + developer + project](https://developers.google.com/console/help/new/). After a service + is enabled, its APIs become available. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a service. A service can have many service consumers. + +backend: + rules: + - selector: 'google.api.serviceusage.v1beta1.ServiceUsage.*' + deadline: 5.0 + - selector: 'google.longrunning.Operations.*' + deadline: 5.0 + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta1/{name=operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: /v1beta1/operations + +authentication: + rules: + - selector: 'google.api.serviceusage.v1beta1.ServiceUsage.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/api/source_info.proto b/google-cloud/protos/google/api/source_info.proto index 5954143d..cbdd625c 100644 --- a/google-cloud/protos/google/api/source_info.proto +++ b/google-cloud/protos/google/api/source_info.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; diff --git a/google-cloud/protos/google/api/system_parameter.proto b/google-cloud/protos/google/api/system_parameter.proto index 740a5538..7d0b1d57 100644 --- a/google-cloud/protos/google/api/system_parameter.proto +++ b/google-cloud/protos/google/api/system_parameter.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; diff --git a/google-cloud/protos/google/api/usage.proto b/google-cloud/protos/google/api/usage.proto index 6ab4e408..ad2764c9 100644 --- a/google-cloud/protos/google/api/usage.proto +++ b/google-cloud/protos/google/api/usage.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2015 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -28,6 +27,12 @@ message Usage { // Requirements that must be satisfied before a consumer project can use the // service. Each requirement is of the form /; // for example 'serviceusage.googleapis.com/billing-enabled'. + // + // For Google APIs, a Terms of Service requirement must be included here. + // Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud". + // Other Google APIs should include + // "serviceusage.googleapis.com/tos/universal". Additional ToS can be + // included based on the business needs. repeated string requirements = 1; // A list of usage rules that apply to individual API methods. diff --git a/google-cloud/protos/google/api/visibility.proto b/google-cloud/protos/google/api/visibility.proto new file mode 100644 index 00000000..bde48dd2 --- /dev/null +++ b/google-cloud/protos/google/api/visibility.proto @@ -0,0 +1,111 @@ +// 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.api; + +import "google/protobuf/descriptor.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/visibility;visibility"; +option java_multiple_files = true; +option java_outer_classname = "VisibilityProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.EnumOptions { + // See `VisibilityRule`. + google.api.VisibilityRule enum_visibility = 72295727; +} + +extend google.protobuf.EnumValueOptions { + // See `VisibilityRule`. + google.api.VisibilityRule value_visibility = 72295727; +} + +extend google.protobuf.FieldOptions { + // See `VisibilityRule`. + google.api.VisibilityRule field_visibility = 72295727; +} + +extend google.protobuf.MessageOptions { + // See `VisibilityRule`. + google.api.VisibilityRule message_visibility = 72295727; +} + +extend google.protobuf.MethodOptions { + // See `VisibilityRule`. + google.api.VisibilityRule method_visibility = 72295727; +} + +extend google.protobuf.ServiceOptions { + // See `VisibilityRule`. + google.api.VisibilityRule api_visibility = 72295727; +} + +// `Visibility` defines restrictions for the visibility of service +// elements. Restrictions are specified using visibility labels +// (e.g., PREVIEW) that are elsewhere linked to users and projects. +// +// Users and projects can have access to more than one visibility label. The +// effective visibility for multiple labels is the union of each label's +// elements, plus any unrestricted elements. +// +// If an element and its parents have no restrictions, visibility is +// unconditionally granted. +// +// Example: +// +// visibility: +// rules: +// - selector: google.calendar.Calendar.EnhancedSearch +// restriction: PREVIEW +// - selector: google.calendar.Calendar.Delegate +// restriction: INTERNAL +// +// Here, all methods are publicly visible except for the restricted methods +// EnhancedSearch and Delegate. +message Visibility { + // A list of visibility rules that apply to individual API elements. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated VisibilityRule rules = 1; +} + +// A visibility rule provides visibility configuration for an individual API +// element. +message VisibilityRule { + // Selects methods, messages, fields, enums, etc. to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // A comma-separated list of visibility labels that apply to the `selector`. + // Any of the listed labels can be used to grant the visibility. + // + // If a rule has multiple labels, removing one of the labels but not all of + // them can break clients. + // + // Example: + // + // visibility: + // rules: + // - selector: google.calendar.Calendar.EnhancedSearch + // restriction: INTERNAL, PREVIEW + // + // Removing INTERNAL from this restriction will break clients that rely on + // this method and only had access to it through INTERNAL. + string restriction = 2; +} diff --git a/google-cloud/protos/google/appengine/BUILD.bazel b/google-cloud/protos/google/appengine/BUILD.bazel new file mode 100644 index 00000000..8a194edf --- /dev/null +++ b/google-cloud/protos/google/appengine/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-app_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 appengine. +# 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 = "appengine_ruby_wrapper", + srcs = ["//google/appengine/v1:appengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-app_engine", + "ruby-cloud-env-prefix=APP_ENGINE", + "ruby-cloud-wrapper-of=v1:0.3", + "ruby-cloud-product-url=https://cloud.google.com/appengine/docs/admin-api/", + "ruby-cloud-api-id=appengine.googleapis.com", + "ruby-cloud-api-shortname=appengine", + ], + ruby_cloud_description = "The App Engine Admin API provisions and manages your App Engine applications.", + ruby_cloud_title = "App Engine Admin", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-appengine-ruby", + deps = [ + ":appengine_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/appengine/artman_appengine.yaml b/google-cloud/protos/google/appengine/artman_appengine.yaml deleted file mode 100644 index 62472c75..00000000 --- a/google-cloud/protos/google/appengine/artman_appengine.yaml +++ /dev/null @@ -1,17 +0,0 @@ -common: - api_name: appengine - api_version: v1 - organization_name: google - src_proto_paths: - - v1 - proto_deps: - - name: google-common-protos - - name: google-iam-v1 - proto_path: google/iam/v1 -artifacts: -- name: java_grpc - type: GRPC - language: JAVA -- name: php_grpc - type: GRPC - language: PHP diff --git a/google-cloud/protos/google/appengine/legacy/BUILD.bazel b/google-cloud/protos/google/appengine/legacy/BUILD.bazel new file mode 100644 index 00000000..bea806a2 --- /dev/null +++ b/google-cloud/protos/google/appengine/legacy/BUILD.bazel @@ -0,0 +1,177 @@ +# 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 = "legacy_proto", + srcs = [ + "audit_data.proto", + ], + deps = [ + "//google/api:annotations_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "legacy_java_proto", + deps = [":legacy_proto"], +) + +java_grpc_library( + name = "legacy_java_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "legacy_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/legacy", + protos = [":legacy_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "legacy_moved_proto", + srcs = [":legacy_proto"], + deps = [ + "//google/api:annotations_proto", + ], +) + +py_proto_library( + name = "legacy_py_proto", + deps = [":legacy_moved_proto"], +) + +py_grpc_library( + name = "legacy_py_grpc", + srcs = [":legacy_moved_proto"], + deps = [":legacy_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "legacy_php_proto", + deps = [":legacy_proto"], +) + +php_grpc_library( + name = "legacy_php_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "legacy_ruby_proto", + deps = [":legacy_proto"], +) + +ruby_grpc_library( + name = "legacy_ruby_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "legacy_csharp_proto", + deps = [":legacy_proto"], +) + +csharp_grpc_library( + name = "legacy_csharp_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "legacy_cc_proto", + deps = [":legacy_proto"], +) + +cc_grpc_library( + name = "legacy_cc_grpc", + srcs = [":legacy_proto"], + grpc_only = True, + deps = [":legacy_cc_proto"], +) diff --git a/google-cloud/protos/google/appengine/legacy/audit_data.proto b/google-cloud/protos/google/appengine/legacy/audit_data.proto index 05181457..e5217262 100644 --- a/google-cloud/protos/google/appengine/legacy/audit_data.proto +++ b/google-cloud/protos/google/appengine/legacy/audit_data.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. diff --git a/google-cloud/protos/google/appengine/logging/v1/BUILD.bazel b/google-cloud/protos/google/appengine/logging/v1/BUILD.bazel new file mode 100644 index 00000000..2ea7513b --- /dev/null +++ b/google-cloud/protos/google/appengine/logging/v1/BUILD.bazel @@ -0,0 +1,177 @@ +# 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 = [ + "request_log.proto", + ], + deps = [ + "//google/logging/type:type_proto", + "@com_google_protobuf//:duration_proto", + "@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_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/logging/v1", + protos = [":logging_proto"], + deps = [ + "//google/logging/type:type_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "logging_py_gapic", + srcs = [":logging_proto"], + opt_args = [ + "warehouse-package-name=google-cloud-appengine-logging", + "python-gapic-namespace=google.cloud", + "python-gapic-name=appengine_logging", + ], + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-appengine-logging-v1-py", + deps = [ + ":logging_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_grpc_library( + name = "logging_php_grpc", + srcs = [":logging_proto"], + deps = [":logging_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +############################################################################## +# 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/google-cloud/protos/google/appengine/logging/v1/request_log.proto b/google-cloud/protos/google/appengine/logging/v1/request_log.proto index f3e2630a..f44d31e3 100644 --- a/google-cloud/protos/google/appengine/logging/v1/request_log.proto +++ b/google-cloud/protos/google/appengine/logging/v1/request_log.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -20,10 +20,13 @@ import "google/logging/type/log_severity.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.Logging.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/logging/v1;logging"; option java_multiple_files = true; option java_outer_classname = "RequestLogProto"; option java_package = "com.google.appengine.logging.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\Logging\\V1"; +option ruby_package = "Google::Cloud::AppEngine::Logging::V1"; // Application log line emitted while processing a request. message LogLine { @@ -182,6 +185,10 @@ message RequestLog { // Stackdriver Trace identifier for this request. string trace_id = 39; + // If true, the value in the 'trace_id' field was sampled for storage in a + // trace backend. + bool trace_sampled = 43; + // Source code for the application that handled this request. There can be // more than one source reference per deployed application if source code is // distributed among multiple repositories. diff --git a/google-cloud/protos/google/appengine/v1/BUILD.bazel b/google-cloud/protos/google/appengine/v1/BUILD.bazel new file mode 100644 index 00000000..37463b63 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/BUILD.bazel @@ -0,0 +1,414 @@ +# 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 = "appengine_proto", + srcs = [ + "app_yaml.proto", + "appengine.proto", + "application.proto", + "audit_data.proto", + "certificate.proto", + "deploy.proto", + "deployed_files.proto", + "domain.proto", + "domain_mapping.proto", + "firewall.proto", + "instance.proto", + "location.proto", + "network_settings.proto", + "operation.proto", + "service.proto", + "version.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 = "appengine_proto_with_info", + deps = [ + ":appengine_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 = "appengine_java_proto", + deps = [":appengine_proto"], +) + +java_grpc_library( + name = "appengine_java_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_java_proto"], +) + +java_gapic_library( + name = "appengine_java_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + test_deps = [ + ":appengine_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":appengine_java_proto", + ], +) + +java_gapic_test( + name = "appengine_java_gapic_test_suite", + test_classes = [ + "com.google.appengine.v1.ApplicationsClientHttpJsonTest", + "com.google.appengine.v1.ApplicationsClientTest", + "com.google.appengine.v1.AuthorizedCertificatesClientHttpJsonTest", + "com.google.appengine.v1.AuthorizedCertificatesClientTest", + "com.google.appengine.v1.AuthorizedDomainsClientHttpJsonTest", + "com.google.appengine.v1.AuthorizedDomainsClientTest", + "com.google.appengine.v1.DomainMappingsClientHttpJsonTest", + "com.google.appengine.v1.DomainMappingsClientTest", + "com.google.appengine.v1.FirewallClientHttpJsonTest", + "com.google.appengine.v1.FirewallClientTest", + "com.google.appengine.v1.InstancesClientHttpJsonTest", + "com.google.appengine.v1.InstancesClientTest", + "com.google.appengine.v1.ServicesClientHttpJsonTest", + "com.google.appengine.v1.ServicesClientTest", + "com.google.appengine.v1.VersionsClientHttpJsonTest", + "com.google.appengine.v1.VersionsClientTest", + ], + runtime_deps = [":appengine_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-appengine-v1-java", + transport = "grpc+rest", + deps = [ + ":appengine_java_gapic", + ":appengine_java_grpc", + ":appengine_java_proto", + ":appengine_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "appengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/v1", + protos = [":appengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "appengine_go_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + importpath = "cloud.google.com/go/appengine/apiv1;appengine", + metadata = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":appengine_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", + ], +) + +go_test( + name = "appengine_go_gapic_test", + srcs = [":appengine_go_gapic_srcjar_test"], + embed = [":appengine_go_gapic"], + importpath = "cloud.google.com/go/appengine/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-appengine-v1-go", + deps = [ + ":appengine_go_gapic", + ":appengine_go_gapic_srcjar-metadata.srcjar", + ":appengine_go_gapic_srcjar-test.srcjar", + ":appengine_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "appengine_py_gapic", + srcs = [":appengine_proto"], + grpc_service_config = "appengine_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-appengine-admin", + "python-gapic-namespace=google.cloud", + "python-gapic-name=appengine_admin", + ], + transport = "grpc", +) + +py_test( + name = "appengine_py_gapic_test", + srcs = [ + "appengine_py_gapic_pytest.py", + "appengine_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":appengine_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-py", + deps = [ + ":appengine_py_gapic", + ], +) + +############################################################################## +# 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 = "appengine_php_proto", + deps = [":appengine_proto"], +) + +php_grpc_library( + name = "appengine_php_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_php_proto"], +) + +php_gapic_library( + name = "appengine_php_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + service_yaml = "appengine_v1.yaml", + deps = [ + ":appengine_php_grpc", + ":appengine_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-php", + deps = [ + ":appengine_php_gapic", + ":appengine_php_grpc", + ":appengine_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "appengine_nodejs_gapic", + package_name = "@google-cloud/appengine-admin", + src = ":appengine_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "appengine_grpc_service_config.json", + package = "google.appengine.v1", + service_yaml = "appengine_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "appengine-v1-nodejs", + deps = [ + ":appengine_nodejs_gapic", + ":appengine_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 = "appengine_ruby_proto", + deps = [":appengine_proto"], +) + +ruby_grpc_library( + name = "appengine_ruby_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "appengine_ruby_gapic", + srcs = [":appengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-app_engine-v1", + "ruby-cloud-env-prefix=APP_ENGINE", + "ruby-cloud-product-url=https://cloud.google.com/appengine/docs/admin-api/", + "ruby-cloud-api-id=appengine.googleapis.com", + "ruby-cloud-api-shortname=appengine", + ], + ruby_cloud_description = "The App Engine Admin API provisions and manages your App Engine applications.", + ruby_cloud_title = "App Engine Admin V1", + deps = [ + ":appengine_ruby_grpc", + ":appengine_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-ruby", + deps = [ + ":appengine_ruby_gapic", + ":appengine_ruby_grpc", + ":appengine_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 = "appengine_csharp_proto", + deps = [":appengine_proto"], +) + +csharp_grpc_library( + name = "appengine_csharp_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_csharp_proto"], +) + +csharp_gapic_library( + name = "appengine_csharp_gapic", + srcs = [":appengine_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "appengine_grpc_service_config.json", + service_yaml = "appengine_v1.yaml", + deps = [ + ":appengine_csharp_grpc", + ":appengine_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-csharp", + deps = [ + ":appengine_csharp_gapic", + ":appengine_csharp_grpc", + ":appengine_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "appengine_cc_proto", + deps = [":appengine_proto"], +) + +cc_grpc_library( + name = "appengine_cc_grpc", + srcs = [":appengine_proto"], + grpc_only = True, + deps = [":appengine_cc_proto"], +) diff --git a/google-cloud/protos/google/appengine/v1/app_yaml.proto b/google-cloud/protos/google/appengine/v1/app_yaml.proto index c0bb2ce2..88218533 100644 --- a/google-cloud/protos/google/appengine/v1/app_yaml.proto +++ b/google-cloud/protos/google/appengine/v1/app_yaml.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,16 +16,17 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; import "google/protobuf/duration.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "AppYamlProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; -// [Google Cloud -// Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) // configuration for API handlers. message ApiConfigHandler { // Action to take when users access resources that require @@ -112,8 +113,9 @@ message UrlMap { // Returns the contents of a file, such as an image, as the response. StaticFilesHandler static_files = 2; - // Executes a script to handle the request that matches this URL - // pattern. + // Executes a script to handle the requests that match this URL + // pattern. Only the `auto` value is supported for Node.js in the + // App Engine standard environment, for example `"script": "auto"`. ScriptHandler script = 3; // Uses API Endpoints to handle requests. @@ -123,7 +125,8 @@ message UrlMap { // Security (HTTPS) enforcement for this URL. SecurityLevel security_level = 5; - // Level of login required to access this resource. + // Level of login required to access this resource. Not supported for Node.js + // in the App Engine standard environment. LoginRequirement login = 6; // Action to take when users access resources that require @@ -216,6 +219,64 @@ message HealthCheck { google.protobuf.Duration timeout = 7; } +// Readiness checking configuration for VM instances. Unhealthy instances +// are removed from traffic rotation. +message ReadinessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Readiness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before removing + // traffic. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before receiving + // traffic. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // A maximum time limit on application initialization, measured from moment + // the application successfully replies to a healthcheck until it is ready to + // serve traffic. + google.protobuf.Duration app_start_timeout = 7; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. +message LivenessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Liveness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before considering the + // VM unhealthy. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before considering + // the VM healthy. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // The initial delay before starting to execute the checks. + google.protobuf.Duration initial_delay = 7; +} + // Third-party Python runtime library that is required by the application. message Library { // Name of the library. Example: "django". diff --git a/google-cloud/protos/google/appengine/v1/appengine.proto b/google-cloud/protos/google/appengine/v1/appengine.proto index 6b9c3847..76eb230f 100644 --- a/google-cloud/protos/google/appengine/v1/appengine.proto +++ b/google-cloud/protos/google/appengine/v1/appengine.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -17,123 +17,138 @@ syntax = "proto3"; package google.appengine.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/appengine/v1/application.proto"; +import "google/appengine/v1/certificate.proto"; +import "google/appengine/v1/domain.proto"; +import "google/appengine/v1/domain_mapping.proto"; +import "google/appengine/v1/firewall.proto"; import "google/appengine/v1/instance.proto"; import "google/appengine/v1/service.proto"; import "google/appengine/v1/version.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/field_mask.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "AppengineProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; -// Manages instances of a version. -service Instances { - // Lists the instances of a version. - rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { +// Manages App Engine applications. +service Applications { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Gets information about an application. + rpc GetApplication(GetApplicationRequest) returns (Application) { option (google.api.http) = { - get: "/v1/{parent=apps/*/services/*/versions/*}/instances" + get: "/v1/{name=apps/*}" }; + option (google.api.method_signature) = "name"; } - // Gets instance information. - rpc GetInstance(GetInstanceRequest) returns (Instance) { + // Creates an App Engine application for a Google Cloud Platform project. + // Required fields: + // + // * `id` - The ID of the target Cloud Platform project. + // * *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located. + // + // For more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/). + rpc CreateApplication(CreateApplicationRequest) returns (google.longrunning.Operation) { option (google.api.http) = { - get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + post: "/v1/apps" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" }; } - // Stops a running instance. - rpc DeleteInstance(DeleteInstanceRequest) - returns (google.longrunning.Operation) { + // Updates the specified Application resource. + // You can update the following fields: + // + // * `auth_domain` - Google authentication domain for controlling user access to the application. + // * `default_cookie_expiration` - Cookie expiration policy for the application. + // * `iap` - Identity-Aware Proxy properties for the application. + rpc UpdateApplication(UpdateApplicationRequest) returns (google.longrunning.Operation) { option (google.api.http) = { - delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + patch: "/v1/{name=apps/*}" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" }; } - // Enables debugging on a VM instance. This allows you to use the SSH - // command to connect to the virtual machine where the instance lives. - // While in "debug mode", the instance continues to serve live traffic. - // You should delete the instance when you are done debugging and then - // allow the system to take over and determine if another instance - // should be started. - // - // Only applicable for instances in App Engine flexible environment. - rpc DebugInstance(DebugInstanceRequest) - returns (google.longrunning.Operation) { + // Recreates the required App Engine features for the specified App Engine + // application, for example a Cloud Storage bucket or App Engine service + // account. + // Use this method if you receive an error message about a missing feature, + // for example, *Error retrieving the App Engine service account*. + // If you have deleted your App Engine service account, this will + // not be able to recreate it. Instead, you should attempt to use the + // IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . + // If the deletion was recent, the numeric ID can be found in the Cloud + // Console Activity Log. + rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) { option (google.api.http) = { - post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" + post: "/v1/{name=apps/*}:repair" body: "*" }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" + }; } } -// Manages versions of a service. -service Versions { - // Lists the versions of a service. - rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { - option (google.api.http) = { - get: "/v1/{parent=apps/*/services/*}/versions" - }; - } +// Request message for `Applications.GetApplication`. +message GetApplicationRequest { + // Name of the Application resource to get. Example: `apps/myapp`. + string name = 1; +} - // Gets the specified Version resource. - // By default, only a `BASIC_VIEW` will be returned. - // Specify the `FULL_VIEW` parameter to get the full resource. - rpc GetVersion(GetVersionRequest) returns (Version) { - option (google.api.http) = { - get: "/v1/{name=apps/*/services/*/versions/*}" - }; - } +// Request message for `Applications.CreateApplication`. +message CreateApplicationRequest { + // Application configuration. + Application application = 2; +} - // Deploys code and resource files to a new version. - rpc CreateVersion(CreateVersionRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{parent=apps/*/services/*}/versions" - body: "version" - }; - } +// Request message for `Applications.UpdateApplication`. +message UpdateApplicationRequest { + // Name of the Application resource to update. Example: `apps/myapp`. + string name = 1; - // Updates the specified Version resource. - // You can specify the following fields depending on the App Engine - // environment and type of scaling that the version resource uses: - // - // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): - // For Version resources that use basic scaling, manual scaling, or run in - // the App Engine flexible environment. - // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): - // For Version resources that run in the App Engine standard environment. - // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): - // For Version resources that use automatic scaling and run in the App - // Engine standard environment. - // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): - // For Version resources that use automatic scaling and run in the App - // Engine standard environment. - rpc UpdateVersion(UpdateVersionRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - patch: "/v1/{name=apps/*/services/*/versions/*}" - body: "version" - }; - } + // An Application containing the updated resource. + Application application = 2; - // Deletes an existing Version resource. - rpc DeleteVersion(DeleteVersionRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - delete: "/v1/{name=apps/*/services/*/versions/*}" - }; - } + // Required. Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for 'Applications.RepairApplication'. +message RepairApplicationRequest { + // Name of the application to repair. Example: `apps/myapp` + string name = 1; } // Manages services of an application. service Services { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + // Lists all the services in the application. rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { option (google.api.http) = { @@ -149,57 +164,29 @@ service Services { } // Updates the configuration of the specified service. - rpc UpdateService(UpdateServiceRequest) - returns (google.longrunning.Operation) { + rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{name=apps/*/services/*}" body: "service" }; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadataV1" + }; } // Deletes the specified service and all enclosed versions. - rpc DeleteService(DeleteServiceRequest) - returns (google.longrunning.Operation) { + rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=apps/*/services/*}" }; - } -} - -// Manages App Engine applications. -service Applications { - // Gets information about an application. - rpc GetApplication(GetApplicationRequest) returns (Application) { - option (google.api.http) = { - get: "/v1/{name=apps/*}" - }; - } - - // Recreates the required App Engine features for the application in your - // project, for example a Cloud Storage bucket or App Engine service account. - // Use this method if you receive an error message about a missing feature, - // for example "*Error retrieving the App Engine service account*". - rpc RepairApplication(RepairApplicationRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{name=apps/*}:repair" - body: "*" + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" }; } } -// Request message for `Applications.GetApplication`. -message GetApplicationRequest { - // Name of the Application resource to get. Example: `apps/myapp`. - string name = 1; -} - -// Request message for 'Applications.RepairApplication'. -message RepairApplicationRequest { - // Name of the application to repair. Example: `apps/myapp` - string name = 1; -} - // Request message for `Services.ListServices`. message ListServicesRequest { // Name of the parent Application resource. Example: `apps/myapp`. @@ -236,24 +223,21 @@ message UpdateServiceRequest { // field mask will be updated. Service service = 2; - // Standard field mask for the set of fields to be updated. + // Required. Standard field mask for the set of fields to be updated. google.protobuf.FieldMask update_mask = 3; - // Set to `true` to gradually shift traffic from one version to another - // single version. By default, traffic is shifted immediately. - // For gradual traffic migration, the target version + // Set to `true` to gradually shift traffic to one or more versions that you + // specify. By default, traffic is shifted immediately. + // For gradual traffic migration, the target versions // must be located within instances that are configured for both - // [warmup - // requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype) + // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) // and - // [automatic - // scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling). + // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). // You must specify the - // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby) + // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) // field in the Service resource. Gradual traffic migration is not // supported in the App Engine flexible environment. For examples, see - // [Migrating and Splitting - // Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). bool migrate_traffic = 4; } @@ -263,6 +247,101 @@ message DeleteServiceRequest { string name = 1; } +// Manages versions of a service. +service Versions { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the versions of a service. + rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*/services/*}/versions" + }; + } + + // Gets the specified Version resource. + // By default, only a `BASIC_VIEW` will be returned. + // Specify the `FULL_VIEW` parameter to get the full resource. + rpc GetVersion(GetVersionRequest) returns (Version) { + option (google.api.http) = { + get: "/v1/{name=apps/*/services/*/versions/*}" + }; + } + + // Deploys code and resource files to a new version. + rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=apps/*/services/*}/versions" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "CreateVersionMetadataV1" + }; + } + + // Updates the specified Version resource. + // You can specify the following fields depending on the App Engine + // environment and type of scaling that the version resource uses: + // + // **Standard environment** + // + // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class) + // + // *automatic scaling* in the standard environment: + // + // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automaticScaling.standard_scheduler_settings.max_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.min_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_cpu_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_throughput_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // + // *basic scaling* or *manual scaling* in the standard environment: + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling) + // + // **Flexible environment** + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) + // + // *automatic scaling* in the flexible environment: + // + // * [`automatic_scaling.min_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cool_down_period_sec`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cpu_utilization.target_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // + // *manual scaling* in the flexible environment: + // + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling) + rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/services/*/versions/*}" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "OperationMetadataV1" + }; + } + + // Deletes an existing Version resource. + rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/services/*/versions/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } +} + // Request message for `Versions.ListVersions`. message ListVersionsRequest { // Name of the parent Service resource. Example: @@ -288,6 +367,19 @@ message ListVersionsResponse { string next_page_token = 2; } +// Fields that should be returned when [Version][google.appengine.v1.Version] resources +// are retrieved. +enum VersionView { + // Basic version information including scaling and inbound services, + // but not detailed deployment information. + BASIC = 0; + + // The information from `BASIC`, plus detailed information about the + // deployment. This format is required when creating resources, but + // is not returned in `Get` or `List` by default. + FULL = 1; +} + // Request message for `Versions.GetVersion`. message GetVersionRequest { // Name of the resource requested. Example: @@ -329,6 +421,73 @@ message DeleteVersionRequest { string name = 1; } +// Manages instances of a version. +service Instances { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the instances of a version. + // + // Tip: To aggregate details about instances over time, see the + // [Stackdriver Monitoring API](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*/services/*/versions/*}/instances" + }; + } + + // Gets instance information. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + }; + } + + // Stops a running instance. + // + // The instance might be automatically recreated based on the scaling settings + // of the version. For more information, see "How Instances are Managed" + // ([standard environment](https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | + // [flexible environment](https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)). + // + // To ensure that instances are not re-created and avoid getting billed, you + // can stop all instances within the target version by changing the serving + // status of the version to `STOPPED` with the + // [`apps.services.versions.patch`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) + // method. + rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } + + // Enables debugging on a VM instance. This allows you to use the SSH + // command to connect to the virtual machine where the instance lives. + // While in "debug mode", the instance continues to serve live traffic. + // You should delete the instance when you are done debugging and then + // allow the system to take over and determine if another instance + // should be started. + // + // Only applicable for instances in App Engine flexible environment. + rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadataV1" + }; + } +} + // Request message for `Instances.ListInstances`. message ListInstancesRequest { // Name of the parent Version resource. Example: @@ -370,17 +529,480 @@ message DebugInstanceRequest { // Name of the resource requested. Example: // `apps/myapp/services/default/versions/v1/instances/instance-1`. string name = 1; + + // Public SSH key to add to the instance. Examples: + // + // * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + // * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + // + // For more information, see + // [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + string ssh_key = 2; } -// Fields that should be returned when [Version][google.appengine.v1.Version] -// resources are retreived. -enum VersionView { - // Basic version information including scaling and inbound services, - // but not detailed deployment information. - BASIC = 0; +// Firewall resources are used to define a collection of access control rules +// for an Application. Each rule is defined with a position which specifies +// the rule's order in the sequence of rules, an IP range to be matched against +// requests, and an action to take upon matching requests. +// +// Every request is evaluated against the Firewall rules in priority order. +// Processesing stops at the first rule which matches the request's IP address. +// A final rule always specifies an action that applies to all remaining +// IP addresses. The default final rule for a newly-created application will be +// set to "allow" if not otherwise specified by the user. +service Firewall { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the firewall rules of an application. + rpc ListIngressRules(ListIngressRulesRequest) returns (ListIngressRulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/firewall/ingressRules" + }; + } - // The information from `BASIC`, plus detailed information about the - // deployment. This format is required when creating resources, but - // is not returned in `Get` or `List` by default. - FULL = 1; + // Replaces the entire firewall ruleset in one bulk operation. This overrides + // and replaces the rules of an existing firewall with the new rules. + // + // If the final rule does not match traffic with the '*' wildcard IP range, + // then an "allow all" rule is explicitly added to the end of the list. + rpc BatchUpdateIngressRules(BatchUpdateIngressRulesRequest) returns (BatchUpdateIngressRulesResponse) { + option (google.api.http) = { + post: "/v1/{name=apps/*/firewall/ingressRules}:batchUpdate" + body: "*" + }; + } + + // Creates a firewall rule for the application. + rpc CreateIngressRule(CreateIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/firewall/ingressRules" + body: "rule" + }; + } + + // Gets the specified firewall rule. + rpc GetIngressRule(GetIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + get: "/v1/{name=apps/*/firewall/ingressRules/*}" + }; + } + + // Updates the specified firewall rule. + rpc UpdateIngressRule(UpdateIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/firewall/ingressRules/*}" + body: "rule" + }; + } + + // Deletes the specified firewall rule. + rpc DeleteIngressRule(DeleteIngressRuleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/firewall/ingressRules/*}" + }; + } +} + +// Request message for `Firewall.ListIngressRules`. +message ListIngressRulesRequest { + // Name of the Firewall collection to retrieve. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; + + // A valid IP Address. If set, only rules matching this address will be + // returned. The first returned rule will be the rule that fires on requests + // from this IP. + string matching_address = 4; +} + +// Response message for `Firewall.ListIngressRules`. +message ListIngressRulesResponse { + // The ingress FirewallRules for this application. + repeated google.appengine.v1.FirewallRule ingress_rules = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Firewall.BatchUpdateIngressRules`. +message BatchUpdateIngressRulesRequest { + // Name of the Firewall collection to set. + // Example: `apps/myapp/firewall/ingressRules`. + string name = 1; + + // A list of FirewallRules to replace the existing set. + repeated google.appengine.v1.FirewallRule ingress_rules = 2; +} + +// Response message for `Firewall.UpdateAllIngressRules`. +message BatchUpdateIngressRulesResponse { + // The full list of ingress FirewallRules for this application. + repeated google.appengine.v1.FirewallRule ingress_rules = 1; +} + +// Request message for `Firewall.CreateIngressRule`. +message CreateIngressRuleRequest { + // Name of the parent Firewall collection in which to create a new rule. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // A FirewallRule containing the new resource. + // + // The user may optionally provide a position at which the new rule will be + // placed. The positions define a sequential list starting at 1. If a rule + // already exists at the given position, rules greater than the provided + // position will be moved forward by one. + // + // If no position is provided, the server will place the rule as the second to + // last rule in the sequence before the required default allow-all or deny-all + // rule. + google.appengine.v1.FirewallRule rule = 2; +} + +// Request message for `Firewall.GetIngressRule`. +message GetIngressRuleRequest { + // Name of the Firewall resource to retrieve. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `Firewall.UpdateIngressRule`. +message UpdateIngressRuleRequest { + // Name of the Firewall resource to update. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; + + // A FirewallRule containing the updated resource + google.appengine.v1.FirewallRule rule = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `Firewall.DeleteIngressRule`. +message DeleteIngressRuleRequest { + // Name of the Firewall resource to delete. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Manages domains a user is authorized to administer. To authorize use of a +// domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +service AuthorizedDomains { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all domains the user is authorized to administer. + rpc ListAuthorizedDomains(ListAuthorizedDomainsRequest) returns (ListAuthorizedDomainsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/authorizedDomains" + }; + } +} + +// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsResponse { + // The authorized domains belonging to the user. + repeated google.appengine.v1.AuthorizedDomain domains = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Manages SSL certificates a user is authorized to administer. A user can +// administer any SSL certificates applicable to their authorized domains. +service AuthorizedCertificates { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all SSL certificates the user is authorized to administer. + rpc ListAuthorizedCertificates(ListAuthorizedCertificatesRequest) returns (ListAuthorizedCertificatesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/authorizedCertificates" + }; + } + + // Gets the specified SSL certificate. + rpc GetAuthorizedCertificate(GetAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + get: "/v1/{name=apps/*/authorizedCertificates/*}" + }; + } + + // Uploads the specified SSL certificate. + rpc CreateAuthorizedCertificate(CreateAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/authorizedCertificates" + body: "certificate" + }; + } + + // Updates the specified SSL certificate. To renew a certificate and maintain + // its existing domain mappings, update `certificate_data` with a new + // certificate. The new certificate must be applicable to the same domains as + // the original certificate. The certificate `display_name` may also be + // updated. + rpc UpdateAuthorizedCertificate(UpdateAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/authorizedCertificates/*}" + body: "certificate" + }; + } + + // Deletes the specified SSL certificate. + rpc DeleteAuthorizedCertificate(DeleteAuthorizedCertificateRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/authorizedCertificates/*}" + }; + } +} + +// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // Controls the set of fields returned in the `LIST` response. + AuthorizedCertificateView view = 4; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesResponse { + // The SSL certificates the user is authorized to administer. + repeated google.appengine.v1.AuthorizedCertificate certificates = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +message GetAuthorizedCertificateRequest { + // Name of the resource requested. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // Controls the set of fields returned in the `GET` response. + AuthorizedCertificateView view = 2; +} + +// Fields that should be returned when an AuthorizedCertificate resource is +// retrieved. +enum AuthorizedCertificateView { + // Basic certificate information, including applicable domains and expiration + // date. + BASIC_CERTIFICATE = 0; + + // The information from `BASIC_CERTIFICATE`, plus detailed information on the + // domain mappings that have this certificate mapped. + FULL_CERTIFICATE = 1; +} + +// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +message CreateAuthorizedCertificateRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // SSL certificate data. + google.appengine.v1.AuthorizedCertificate certificate = 2; +} + +// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +message UpdateAuthorizedCertificateRequest { + // Name of the resource to update. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // An `AuthorizedCertificate` containing the updated resource. Only fields set + // in the field mask will be updated. + google.appengine.v1.AuthorizedCertificate certificate = 2; + + // Standard field mask for the set of fields to be updated. Updates are only + // supported on the `certificate_raw_data` and `display_name` fields. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +message DeleteAuthorizedCertificateRequest { + // Name of the resource to delete. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; +} + +// Manages domains serving an application. +service DomainMappings { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the domain mappings on an application. + rpc ListDomainMappings(ListDomainMappingsRequest) returns (ListDomainMappingsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/domainMappings" + }; + } + + // Gets the specified domain mapping. + rpc GetDomainMapping(GetDomainMappingRequest) returns (google.appengine.v1.DomainMapping) { + option (google.api.http) = { + get: "/v1/{name=apps/*/domainMappings/*}" + }; + } + + // Maps a domain to an application. A user must be authorized to administer a + // domain in order to map it to an application. For a list of available + // authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`](). + rpc CreateDomainMapping(CreateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/domainMappings" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1" + }; + } + + // Updates the specified domain mapping. To map an SSL certificate to a + // domain mapping, update `certificate_id` to point to an `AuthorizedCertificate` + // resource. A user must be authorized to administer the associated domain + // in order to update a `DomainMapping` resource. + rpc UpdateDomainMapping(UpdateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/domainMappings/*}" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1" + }; + } + + // Deletes the specified domain mapping. A user must be authorized to + // administer the associated domain in order to delete a `DomainMapping` + // resource. + rpc DeleteDomainMapping(DeleteDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/domainMappings/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsResponse { + // The domain mappings for the application. + repeated google.appengine.v1.DomainMapping domain_mappings = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `DomainMappings.GetDomainMapping`. +message GetDomainMappingRequest { + // Name of the resource requested. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Override strategy for mutating an existing mapping. +enum DomainOverrideStrategy { + // Strategy unspecified. Defaults to `STRICT`. + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = 0; + + // Overrides not allowed. If a mapping already exists for the + // specified domain, the request will return an ALREADY_EXISTS (409). + STRICT = 1; + + // Overrides allowed. If a mapping already exists for the specified domain, + // the request will overwrite it. Note that this might stop another + // Google product from serving. For example, if the domain is + // mapped to another App Engine application, that app will no + // longer serve from that domain. + OVERRIDE = 2; +} + +// Request message for `DomainMappings.CreateDomainMapping`. +message CreateDomainMappingRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Domain mapping configuration. + google.appengine.v1.DomainMapping domain_mapping = 2; + + // Whether the domain creation should override any existing mappings for this + // domain. By default, overrides are rejected. + DomainOverrideStrategy override_strategy = 4; +} + +// Request message for `DomainMappings.UpdateDomainMapping`. +message UpdateDomainMappingRequest { + // Name of the resource to update. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; + + // A domain mapping containing the updated resource. Only fields set + // in the field mask will be updated. + google.appengine.v1.DomainMapping domain_mapping = 2; + + // Required. Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `DomainMappings.DeleteDomainMapping`. +message DeleteDomainMappingRequest { + // Name of the resource to delete. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; } diff --git a/google-cloud/protos/google/appengine/v1/appengine_grpc_service_config.json b/google-cloud/protos/google/appengine/v1/appengine_grpc_service_config.json new file mode 100644 index 00000000..03e4427b --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/appengine_grpc_service_config.json @@ -0,0 +1,17 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.appengine.v1.Applications" }, + { "service": "google.appengine.v1.Services" }, + { "service": "google.appengine.v1.Versions" }, + { "service": "google.appengine.v1.DeployedFiles" }, + { "service": "google.appengine.v1.Instances" }, + { "service": "google.appengine.v1.EmailSenders" }, + { "service": "google.appengine.v1.Firewall" }, + { "service": "google.appengine.v1.AuthorizedDomains" }, + { "service": "google.appengine.v1.AuthorizedCertificates" }, + { "service": "google.appengine.v1.DomainMappings" } + ], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/appengine/v1/appengine_v1.yaml b/google-cloud/protos/google/appengine/v1/appengine_v1.yaml new file mode 100644 index 00000000..d3573183 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/appengine_v1.yaml @@ -0,0 +1,236 @@ +type: google.api.Service +config_version: 3 +name: appengine.googleapis.com +title: App Engine Admin API + +apis: +- name: google.appengine.v1.Applications +- name: google.appengine.v1.AuthorizedCertificates +- name: google.appengine.v1.AuthorizedDomains +- name: google.appengine.v1.DomainMappings +- name: google.appengine.v1.Firewall +- name: google.appengine.v1.Instances +- name: google.appengine.v1.Services +- name: google.appengine.v1.Versions + +types: +- name: google.appengine.v1.LocationMetadata +- name: google.appengine.v1.OperationMetadataV1 + +documentation: + summary: Provisions and manages developers' App Engine applications. + overview: |- + # Google App Engine Admin API + + ## Overview + + The Google App Engine Admin API is a RESTful API for managing App Engine + applications. The Admin API provides programmatic access to several of the + App Engine administrative operations that are found in the [Google Cloud + Platform Console](https://console.cloud.google.com/appengine). + + ## Documentation + + [Google App Engine Admin API + Documentation](https://cloud.google.com/appengine/docs/admin-api/) + 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.appengine.v1.Applications.*' + deadline: 30.0 + - selector: 'google.appengine.v1.AuthorizedCertificates.*' + deadline: 30.0 + - selector: google.appengine.v1.AuthorizedCertificates.GetAuthorizedCertificate + deadline: 60.0 + - selector: google.appengine.v1.AuthorizedDomains.ListAuthorizedDomains + deadline: 30.0 + - selector: 'google.appengine.v1.DomainMappings.*' + deadline: 30.0 + - selector: google.appengine.v1.DomainMappings.GetDomainMapping + deadline: 60.0 + - selector: google.appengine.v1.DomainMappings.ListDomainMappings + deadline: 60.0 + - selector: 'google.appengine.v1.Firewall.*' + deadline: 30.0 + - selector: 'google.appengine.v1.Instances.*' + deadline: 30.0 + - selector: google.appengine.v1.Instances.ListInstances + deadline: 60.0 + - selector: 'google.appengine.v1.Services.*' + deadline: 30.0 + - selector: 'google.appengine.v1.Versions.*' + deadline: 30.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 30.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 30.0 + - selector: 'google.longrunning.Operations.*' + deadline: 30.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=apps/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=apps/*}/locations' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=apps/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=apps/*}/operations' + +authentication: + rules: + - selector: 'google.appengine.v1.Applications.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Applications.GetApplication + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.AuthorizedCertificates.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.AuthorizedCertificates.GetAuthorizedCertificate + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.AuthorizedCertificates.ListAuthorizedCertificates + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.AuthorizedDomains.ListAuthorizedDomains + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.DomainMappings.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.DomainMappings.GetDomainMapping + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.DomainMappings.ListDomainMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.Firewall.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Firewall.GetIngressRule + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Firewall.ListIngressRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Instances.DebugInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Instances.DeleteInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Instances.GetInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Instances.ListInstances + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.DeleteService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Services.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.UpdateService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.appengine.v1.Versions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Versions.GetVersion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Versions.ListVersions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.WaitOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/appengine/v1/application.proto b/google-cloud/protos/google/appengine/v1/application.proto index f85375fe..bc9c3f5d 100644 --- a/google-cloud/protos/google/appengine/v1/application.proto +++ b/google-cloud/protos/google/appengine/v1/application.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,17 +16,90 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; import "google/protobuf/duration.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "ApplicationProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // An Application resource contains the top-level configuration of an App // Engine application. message Application { + enum ServingStatus { + // Serving status is unspecified. + UNSPECIFIED = 0; + + // Application is serving. + SERVING = 1; + + // Application has been disabled by the user. + USER_DISABLED = 2; + + // Application has been disabled by the system. + SYSTEM_DISABLED = 3; + } + + // Identity-Aware Proxy + message IdentityAwareProxy { + // Whether the serving infrastructure will authenticate and + // authorize all incoming requests. + // + // If true, the `oauth2_client_id` and `oauth2_client_secret` + // fields must be non-empty. + bool enabled = 1; + + // OAuth2 client ID to use for the authentication flow. + string oauth2_client_id = 2; + + // OAuth2 client secret to use for the authentication flow. + // + // For security reasons, this value cannot be retrieved via the API. + // Instead, the SHA-256 hash of the value is returned in the + // `oauth2_client_secret_sha256` field. + // + // @InputOnly + string oauth2_client_secret = 3; + + // Hex-encoded SHA-256 hash of the client secret. + // + // @OutputOnly + string oauth2_client_secret_sha256 = 4; + } + + enum DatabaseType { + // Database type is unspecified. + DATABASE_TYPE_UNSPECIFIED = 0; + + // Cloud Datastore + CLOUD_DATASTORE = 1; + + // Cloud Firestore Native + CLOUD_FIRESTORE = 2; + + // Cloud Firestore in Datastore Mode + CLOUD_DATASTORE_COMPATIBILITY = 3; + } + + // The feature specific settings to be used in the application. These define + // behaviors that are user configurable. + message FeatureSettings { + // Boolean value indicating if split health checks should be used instead + // of the legacy health checks. At an app.yaml level, this means defaulting + // to 'readiness_check' and 'liveness_check' values instead of + // 'health_check' ones. Once the legacy 'health_check' behavior is + // deprecated, and this value is always true, this setting can + // be removed. + bool split_health_checks = 1; + + // If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + // base image for VMs, rather than a base Debian image. + bool use_container_optimized_os = 2; + } + // Full path to the Application resource in the API. // Example: `apps/myapp`. // @@ -41,8 +114,7 @@ message Application { // HTTP path dispatch rules for requests to the application that do not // explicitly target a service or version. Rules are order-dependent. - // - // @OutputOnly + // Up to 20 dispatch rules can be supported. repeated UrlDispatchRule dispatch_rules = 3; // Google Apps authentication domain that controls which users can access @@ -51,19 +123,14 @@ message Application { // Defaults to open access for any Google Account. string auth_domain = 6; - // Location from which this application will be run. Application instances - // will run out of data centers in the chosen location, which is also where + // Location from which this application runs. Application instances + // run out of the data centers in the specified location, which is also where // all of the application's end user content is stored. // // Defaults to `us-central`. // - // Options are: - // - // `us-central` - Central US - // - // `europe-west` - Western Europe - // - // `us-east1` - Eastern US + // View the list of + // [supported locations](https://cloud.google.com/appengine/docs/locations). string location_id = 7; // Google Cloud Storage bucket that can be used for storing files @@ -74,10 +141,11 @@ message Application { string code_bucket = 8; // Cookie expiration policy for this application. - // - // @OutputOnly google.protobuf.Duration default_cookie_expiration = 9; + // Serving status of this application. + ServingStatus serving_status = 10; + // Hostname used to reach this application, as resolved by App Engine. // // @OutputOnly @@ -88,6 +156,24 @@ message Application { // // @OutputOnly string default_bucket = 12; + + // The service account associated with the application. + // This is the app-level default identity. If no identity provided during + // create version, Admin API will fallback to this one. + string service_account = 13; + + IdentityAwareProxy iap = 14; + + // The Google Container Registry domain used for storing managed build docker + // images for this application. + string gcr_domain = 16; + + // The type of the Cloud Firestore or Cloud Datastore database associated with + // this application. + DatabaseType database_type = 17; + + // The feature specific settings to be used in the application. + FeatureSettings feature_settings = 18; } // Rules to match an HTTP request and dispatch that request to a service. @@ -99,9 +185,10 @@ message UrlDispatchRule { string domain = 1; // Pathname within the host. Must start with a "`/`". A - // single "`*`" can be included at the end of the path. The sum - // of the lengths of the domain and path may not exceed 100 - // characters. + // single "`*`" can be included at the end of the path. + // + // The sum of the lengths of the domain and path may not + // exceed 100 characters. string path = 2; // Resource ID of a service in this application that should diff --git a/google-cloud/protos/google/appengine/v1/audit_data.proto b/google-cloud/protos/google/appengine/v1/audit_data.proto index db8d97df..d839280d 100644 --- a/google-cloud/protos/google/appengine/v1/audit_data.proto +++ b/google-cloud/protos/google/appengine/v1/audit_data.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// 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. @@ -17,12 +17,14 @@ syntax = "proto3"; package google.appengine.v1; import "google/appengine/v1/appengine.proto"; -import "google/iam/v1/iam_policy.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "AuditDataProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // App Engine admin service audit log. message AuditData { @@ -42,11 +44,11 @@ message AuditData { // Detailed information about UpdateService call. message UpdateServiceMethod { // Update service request. - google.appengine.v1.UpdateServiceRequest request = 1; + UpdateServiceRequest request = 1; } // Detailed information about CreateVersion call. message CreateVersionMethod { // Create version request. - google.appengine.v1.CreateVersionRequest request = 1; + CreateVersionRequest request = 1; } diff --git a/google-cloud/protos/google/appengine/v1/certificate.proto b/google-cloud/protos/google/appengine/v1/certificate.proto new file mode 100644 index 00000000..037465be --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/certificate.proto @@ -0,0 +1,172 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "CertificateProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// An SSL certificate that a user has been authorized to administer. A user +// is authorized to administer any certificate that applies to one of their +// authorized domains. +message AuthorizedCertificate { + // Full path to the `AuthorizedCertificate` resource in the API. Example: + // `apps/myapp/authorizedCertificates/12345`. + // + // @OutputOnly + string name = 1; + + // Relative name of the certificate. This is a unique value autogenerated + // on `AuthorizedCertificate` resource creation. Example: `12345`. + // + // @OutputOnly + string id = 2; + + // The user-specified display name of the certificate. This is not + // guaranteed to be unique. Example: `My Certificate`. + string display_name = 3; + + // Topmost applicable domains of this certificate. This certificate + // applies to these domains and their subdomains. Example: `example.com`. + // + // @OutputOnly + repeated string domain_names = 4; + + // The time when this certificate expires. To update the renewal time on this + // certificate, upload an SSL certificate with a different expiration time + // using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + // + // @OutputOnly + google.protobuf.Timestamp expire_time = 5; + + // The SSL certificate serving the `AuthorizedCertificate` resource. This + // must be obtained independently from a certificate authority. + CertificateRawData certificate_raw_data = 6; + + // Only applicable if this certificate is managed by App Engine. Managed + // certificates are tied to the lifecycle of a `DomainMapping` and cannot be + // updated or deleted via the `AuthorizedCertificates` API. If this + // certificate is manually administered by the user, this field will be empty. + // + // @OutputOnly + ManagedCertificate managed_certificate = 7; + + // The full paths to user visible Domain Mapping resources that have this + // certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + // + // This may not represent the full list of mapped domain mappings if the user + // does not have `VIEWER` permissions on all of the applications that have + // this certificate mapped. See `domain_mappings_count` for a complete count. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + repeated string visible_domain_mappings = 8; + + // Aggregate count of the domain mappings with this certificate mapped. This + // count includes domain mappings on applications for which the user does not + // have `VIEWER` permissions. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + int32 domain_mappings_count = 9; +} + +// An SSL certificate obtained from a certificate authority. +message CertificateRawData { + // PEM encoded x.509 public key certificate. This field is set once on + // certificate creation. Must include the header and footer. Example: + //
+  // -----BEGIN CERTIFICATE-----
+  // 
+  // -----END CERTIFICATE-----
+  // 
+ string public_certificate = 1; + + // Unencrypted PEM encoded RSA private key. This field is set once on + // certificate creation and then encrypted. The key size must be 2048 + // bits or fewer. Must include the header and footer. Example: + //
+  // -----BEGIN RSA PRIVATE KEY-----
+  // 
+  // -----END RSA PRIVATE KEY-----
+  // 
+ // @InputOnly + string private_key = 2; +} + +// State of certificate management. Refers to the most recent certificate +// acquisition or renewal attempt. +enum ManagementStatus { + MANAGEMENT_STATUS_UNSPECIFIED = 0; + + // Certificate was successfully obtained and inserted into the serving + // system. + OK = 1; + + // Certificate is under active attempts to acquire or renew. + PENDING = 2; + + // Most recent renewal failed due to an invalid DNS setup and will be + // retried. Renewal attempts will continue to fail until the certificate + // domain's DNS configuration is fixed. The last successfully provisioned + // certificate may still be serving. + FAILED_RETRYING_NOT_VISIBLE = 4; + + // All renewal attempts have been exhausted, likely due to an invalid DNS + // setup. + FAILED_PERMANENT = 6; + + // Most recent renewal failed due to an explicit CAA record that does not + // include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will + // continue to fail until the CAA is reconfigured. The last successfully + // provisioned certificate may still be serving. + FAILED_RETRYING_CAA_FORBIDDEN = 7; + + // Most recent renewal failed due to a CAA retrieval failure. This means that + // the domain's DNS provider does not properly handle CAA records, failing + // requests for CAA records when no CAA records are defined. Renewals will + // continue to fail until the DNS provider is changed or a CAA record is + // added for the given domain. The last successfully provisioned certificate + // may still be serving. + FAILED_RETRYING_CAA_CHECKING = 8; +} + +// A certificate managed by App Engine. +message ManagedCertificate { + // Time at which the certificate was last renewed. The renewal process is + // fully managed. Certificate renewal will automatically occur before the + // certificate expires. Renewal errors can be tracked via `ManagementStatus`. + // + // @OutputOnly + google.protobuf.Timestamp last_renewal_time = 1; + + // Status of certificate management. Refers to the most recent certificate + // acquisition or renewal attempt. + // + // @OutputOnly + ManagementStatus status = 2; +} diff --git a/google-cloud/protos/google/appengine/v1/deploy.proto b/google-cloud/protos/google/appengine/v1/deploy.proto index e8419993..8796ec1f 100644 --- a/google-cloud/protos/google/appengine/v1/deploy.proto +++ b/google-cloud/protos/google/appengine/v1/deploy.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,12 +16,15 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; +import "google/protobuf/duration.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "DeployProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // Code and application artifacts used to deploy a version to App Engine. message Deployment { @@ -30,12 +33,19 @@ message Deployment { // credentials supplied with this call. map files = 1; - // A Docker image that App Engine uses to run the version. - // Only applicable for instances in App Engine flexible environment. + // The Docker image for the container that runs the version. + // Only applicable for instances running in the App Engine flexible environment. ContainerInfo container = 2; // The zip file for this deployment, if this is a zip deployment. ZipInfo zip = 3; + + // Options for any Google Cloud Build builds created as a part of this + // deployment. + // + // These options will only be used if a new build is created, such as when + // deploying to the App Engine flexible environment using files or zip. + CloudBuildOptions cloud_build_options = 6; } // Single source file that is part of the version to be deployed. Each source @@ -55,15 +65,35 @@ message FileInfo { string mime_type = 3; } -// Docker image that is used to start a VM container for the version you -// deploy. +// Docker image that is used to create a container and start a VM instance for +// the version that you deploy. Only applicable for instances running in the App +// Engine flexible environment. message ContainerInfo { - // URI to the hosted container image in a Docker repository. The URI must be - // fully qualified and include a tag or digest. + // URI to the hosted container image in Google Container Registry. The URI + // must be fully qualified and include a tag or digest. // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" string image = 1; } +// Options for the build operations performed as a part of the version +// deployment. Only applicable for App Engine flexible environment when creating +// a version using source code directly. +message CloudBuildOptions { + // Path to the yaml file used in deployment, used to determine runtime + // configuration details. + // + // Required for flexible environment builds. + // + // See https://cloud.google.com/appengine/docs/standard/python/config/appref + // for more details. + string app_yaml_path = 1; + + // The Cloud Build timeout used as part of any dependent builds performed by + // version creation. Defaults to 10 minutes. + google.protobuf.Duration cloud_build_timeout = 2; +} + +// The zip file information for a zip deployment. message ZipInfo { // URL of the zip file to deploy from. Must be a URL to a resource in // Google Cloud Storage in the form diff --git a/google-cloud/protos/google/appengine/v1/deployed_files.proto b/google-cloud/protos/google/appengine/v1/deployed_files.proto new file mode 100644 index 00000000..67e9b703 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/deployed_files.proto @@ -0,0 +1,25 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DeployedFilesProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; diff --git a/google-cloud/protos/google/appengine/v1/domain.proto b/google-cloud/protos/google/appengine/v1/domain.proto new file mode 100644 index 00000000..cd39adfb --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/domain.proto @@ -0,0 +1,40 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A domain that a user has been authorized to administer. To authorize use +// of a domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +message AuthorizedDomain { + // Full path to the `AuthorizedDomain` resource in the API. Example: + // `apps/myapp/authorizedDomains/example.com`. + // + // @OutputOnly + string name = 1; + + // Fully qualified domain name of the domain authorized for use. Example: + // `example.com`. + string id = 2; +} diff --git a/google-cloud/protos/google/appengine/v1/domain_mapping.proto b/google-cloud/protos/google/appengine/v1/domain_mapping.proto new file mode 100644 index 00000000..f307217a --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/domain_mapping.proto @@ -0,0 +1,123 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainMappingProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A domain serving an App Engine application. +message DomainMapping { + // Full path to the `DomainMapping` resource in the API. Example: + // `apps/myapp/domainMapping/example.com`. + // + // @OutputOnly + string name = 1; + + // Relative name of the domain serving the application. Example: + // `example.com`. + string id = 2; + + // SSL configuration for this domain. If unconfigured, this domain will not + // serve with SSL. + SslSettings ssl_settings = 3; + + // The resource records required to configure this domain mapping. These + // records must be added to the domain's DNS configuration in order to + // serve the application via this domain mapping. + // + // @OutputOnly + repeated ResourceRecord resource_records = 4; +} + +// SSL configuration for a `DomainMapping` resource. +message SslSettings { + // The SSL management type for this domain. + enum SslManagementType { + // Defaults to `AUTOMATIC`. + SSL_MANAGEMENT_TYPE_UNSPECIFIED = 0; + + // SSL support for this domain is configured automatically. The mapped SSL + // certificate will be automatically renewed. + AUTOMATIC = 1; + + // SSL support for this domain is configured manually by the user. Either + // the domain has no SSL support or a user-obtained SSL certificate has been + // explictly mapped to this domain. + MANUAL = 2; + } + + // ID of the `AuthorizedCertificate` resource configuring SSL for the + // application. Clearing this field will remove SSL support. + // + // By default, a managed certificate is automatically created for every + // domain mapping. To omit SSL support or to configure SSL manually, specify + // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + // be authorized to administer the `AuthorizedCertificate` resource to + // manually map it to a `DomainMapping` resource. + // Example: `12345`. + string certificate_id = 1; + + // SSL management type for this domain. If `AUTOMATIC`, a managed certificate + // is automatically provisioned. If `MANUAL`, `certificate_id` must be + // manually specified in order to configure SSL for this domain. + SslManagementType ssl_management_type = 3; + + // ID of the managed `AuthorizedCertificate` resource currently being + // provisioned, if applicable. Until the new managed certificate has been + // successfully provisioned, the previous SSL state will be preserved. Once + // the provisioning process completes, the `certificate_id` field will reflect + // the new managed certificate and this field will be left empty. To remove + // SSL support while there is still a pending managed certificate, clear the + // `certificate_id` field with an `UpdateDomainMappingRequest`. + // + // @OutputOnly + string pending_managed_certificate_id = 4; +} + +// A DNS resource record. +message ResourceRecord { + // A resource record type. + enum RecordType { + // An unknown resource record. + RECORD_TYPE_UNSPECIFIED = 0; + + // An A resource record. Data is an IPv4 address. + A = 1; + + // An AAAA resource record. Data is an IPv6 address. + AAAA = 2; + + // A CNAME resource record. Data is a domain name to be aliased. + CNAME = 3; + } + + // Relative name of the object affected by this record. Only applicable for + // `CNAME` records. Example: 'www'. + string name = 1; + + // Data for this record. Values vary by record type, as defined in RFC 1035 + // (section 5) and RFC 1034 (section 3.6.1). + string rrdata = 2; + + // Resource record type. Example: `AAAA`. + RecordType type = 3; +} diff --git a/google-cloud/protos/google/appengine/v1/firewall.proto b/google-cloud/protos/google/appengine/v1/firewall.proto new file mode 100644 index 00000000..d7172f7e --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/firewall.proto @@ -0,0 +1,68 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "FirewallProto"; +option java_package = "com.google.appengine.v1.firewall"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A single firewall rule that is evaluated against incoming traffic +// and provides an action to take on matched requests. +message FirewallRule { + // Available actions to take on matching requests. + enum Action { + UNSPECIFIED_ACTION = 0; + + // Matching requests are allowed. + ALLOW = 1; + + // Matching requests are denied. + DENY = 2; + } + + // A positive integer between [1, Int32.MaxValue-1] that defines the order of + // rule evaluation. Rules with the lowest priority are evaluated first. + // + // A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + // when no previous rule matches. Only the action of this rule can be modified + // by the user. + int32 priority = 1; + + // The action to take on matched requests. + Action action = 2; + + // IP address or range, defined using CIDR notation, of requests that this + // rule applies to. You can use the wildcard character "*" to match all IPs + // equivalent to "0/0" and "::/0" together. + // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + // + // + //

Truncation will be silently performed on addresses which are not + // properly truncated. For example, `1.2.3.4/24` is accepted as the same + // address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + // as the same address as `2001:db8::/32`. + string source_range = 3; + + // An optional string description of this rule. + // This field has a maximum length of 100 characters. + string description = 4; +} diff --git a/google-cloud/protos/google/appengine/v1/instance.proto b/google-cloud/protos/google/appengine/v1/instance.proto index e7c87ee2..59b2e5c9 100644 --- a/google-cloud/protos/google/appengine/v1/instance.proto +++ b/google-cloud/protos/google/appengine/v1/instance.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,17 +16,26 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/timestamp.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "InstanceProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // An Instance resource is the computing unit that App Engine uses to // automatically scale an application. message Instance { + option (google.api.resource) = { + type: "appengine.googleapis.com/Instance" + pattern: "apps/{app}/services/{service}/versions/{version}/instances/{instance}" + }; + // Availability of the instance. enum Availability { UNSPECIFIED = 0; @@ -36,85 +45,99 @@ message Instance { DYNAMIC = 2; } - // Full path to the Instance resource in the API. + // Wrapper for LivenessState enum. + message Liveness { + // Liveness health check status for Flex instances. + enum LivenessState { + // There is no liveness health check for the instance. Only applicable for + // instances in App Engine standard environment. + LIVENESS_STATE_UNSPECIFIED = 0; + + // The health checking system is aware of the instance but its health is + // not known at the moment. + UNKNOWN = 1; + + // The instance is reachable i.e. a connection to the application health + // checking endpoint can be established, and conforms to the requirements + // defined by the health check. + HEALTHY = 2; + + // The instance is reachable, but does not conform to the requirements + // defined by the health check. + UNHEALTHY = 3; + + // The instance is being drained. The existing connections to the instance + // have time to complete, but the new ones are being refused. + DRAINING = 4; + + // The instance is unreachable i.e. a connection to the application health + // checking endpoint cannot be established, or the server does not respond + // within the specified timeout. + TIMEOUT = 5; + } + + + } + + // Output only. Full path to the Instance resource in the API. // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. - // - // @OutputOnly - string name = 1; + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Relative name of the instance within the version. + // Output only. Relative name of the instance within the version. // Example: `instance-1`. - // - // @OutputOnly - string id = 2; + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // App Engine release this instance is running on. - // - // @OutputOnly - string app_engine_release = 3; + // Output only. App Engine release this instance is running on. + string app_engine_release = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Availability of the instance. - // - // @OutputOnly - Availability availability = 4; + // Output only. Availability of the instance. + Availability availability = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Name of the virtual machine where this instance lives. Only applicable + // Output only. Name of the virtual machine where this instance lives. Only applicable // for instances in App Engine flexible environment. - // - // @OutputOnly - string vm_name = 5; + string vm_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Zone where the virtual machine is located. Only applicable for instances + // Output only. Zone where the virtual machine is located. Only applicable for instances // in App Engine flexible environment. - // - // @OutputOnly - string vm_zone_name = 6; + string vm_zone_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Virtual machine ID of this instance. Only applicable for instances in + // Output only. Virtual machine ID of this instance. Only applicable for instances in // App Engine flexible environment. - // - // @OutputOnly - string vm_id = 7; + string vm_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Time that this instance was started. + // Output only. Time that this instance was started. // // @OutputOnly - google.protobuf.Timestamp start_time = 8; + google.protobuf.Timestamp start_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Number of requests since this instance was started. - // - // @OutputOnly - int32 requests = 9; + // Output only. Number of requests since this instance was started. + int32 requests = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Number of errors since this instance was started. - // - // @OutputOnly - int32 errors = 10; + // Output only. Number of errors since this instance was started. + int32 errors = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Average queries per second (QPS) over the last minute. - // - // @OutputOnly - float qps = 11; + // Output only. Average queries per second (QPS) over the last minute. + float qps = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Average latency (ms) over the last minute. - // - // @OutputOnly - int32 average_latency = 12; + // Output only. Average latency (ms) over the last minute. + int32 average_latency = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Total memory in use (bytes). - // - // @OutputOnly - int64 memory_usage = 13; + // Output only. Total memory in use (bytes). + int64 memory_usage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Status of the virtual machine where this instance lives. Only applicable + // Output only. Status of the virtual machine where this instance lives. Only applicable // for instances in App Engine flexible environment. - // - // @OutputOnly - string vm_status = 14; + string vm_status = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Whether this instance is in debug mode. Only applicable for instances in + // Output only. Whether this instance is in debug mode. Only applicable for instances in // App Engine flexible environment. - // - // @OutputOnly - bool vm_debug_enabled = 15; + bool vm_debug_enabled = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP address of this instance. Only applicable for instances in App + // Engine flexible environment. + string vm_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The liveness health check of this instance. Only applicable for instances + // in App Engine flexible environment. + Liveness.LivenessState vm_liveness = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google-cloud/protos/google/appengine/v1/location.proto b/google-cloud/protos/google/appengine/v1/location.proto index 8364dde8..995a5ff6 100644 --- a/google-cloud/protos/google/appengine/v1/location.proto +++ b/google-cloud/protos/google/appengine/v1/location.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,24 +16,29 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; -import "google/type/latlng.proto"; +import "google/api/field_behavior.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "LocationProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; -// Metadata for the given -// [google.cloud.location.Location][google.cloud.location.Location]. +// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. message LocationMetadata { - // App Engine Standard Environment is available in the given location. + // App Engine standard environment is available in the given location. // // @OutputOnly bool standard_environment_available = 2; - // App Engine Flexible Environment is available in the given location. + // App Engine flexible environment is available in the given location. // // @OutputOnly bool flexible_environment_available = 4; + + // Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + // is available in the given location. + bool search_api_available = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/google-cloud/protos/google/appengine/v1/network_settings.proto b/google-cloud/protos/google/appengine/v1/network_settings.proto new file mode 100644 index 00000000..2645e8c8 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1/network_settings.proto @@ -0,0 +1,47 @@ +// 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; +option java_multiple_files = true; +option java_outer_classname = "NetworkSettingsProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A NetworkSettings resource is a container for ingress settings for a version +// or service. +message NetworkSettings { + // If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. + enum IngressTrafficAllowed { + // Unspecified + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = 0; + + // Allow HTTP traffic from public and private sources. + INGRESS_TRAFFIC_ALLOWED_ALL = 1; + + // Allow HTTP traffic from only private VPC sources. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = 2; + + // Allow HTTP traffic from private VPC sources and through load balancers. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = 3; + } + + // The ingress settings for version or service. + IngressTrafficAllowed ingress_traffic_allowed = 1; +} diff --git a/google-cloud/protos/google/appengine/v1/operation.proto b/google-cloud/protos/google/appengine/v1/operation.proto index b1c9e235..a2636cb7 100644 --- a/google-cloud/protos/google/appengine/v1/operation.proto +++ b/google-cloud/protos/google/appengine/v1/operation.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,16 +16,17 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "OperationProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; -// Metadata for the given -// [google.longrunning.Operation][google.longrunning.Operation]. +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. message OperationMetadataV1 { // API method that initiated this operation. Example: // `google.appengine.v1.Versions.CreateVersion`. @@ -53,4 +54,26 @@ message OperationMetadataV1 { // // @OutputOnly string target = 5; + + // Ephemeral message that may change every time the operation is polled. + // @OutputOnly + string ephemeral_message = 6; + + // Durable messages that persist on every operation poll. + // @OutputOnly + repeated string warning = 7; + + // Metadata specific to the type of operation in progress. + // @OutputOnly + oneof method_metadata { + CreateVersionMetadataV1 create_version_metadata = 8; + } +} + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +// [google.appengine.v1.CreateVersionRequest][google.appengine.v1.CreateVersionRequest]. +message CreateVersionMetadataV1 { + // The Cloud Build ID if one was created as part of the version create. + // @OutputOnly + string cloud_build_id = 1; } diff --git a/google-cloud/protos/google/appengine/v1/service.proto b/google-cloud/protos/google/appengine/v1/service.proto index 2726fae9..b3ed6def 100644 --- a/google-cloud/protos/google/appengine/v1/service.proto +++ b/google-cloud/protos/google/appengine/v1/service.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,12 +16,15 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; +import "google/appengine/v1/network_settings.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "ServiceProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // A Service resource is a logical component of an application that can share // state and communicate in a secure fashion with other services. @@ -46,6 +49,22 @@ message Service { // Mapping that defines fractional HTTP traffic diversion to // different versions within the service. TrafficSplit split = 3; + + // A set of labels to apply to this service. Labels are key/value pairs that + // describe the service and all resources that belong to it (e.g., + // versions). The labels can be used to search and group resources, and are + // propagated to the usage and billing reports, enabling fine-grain analysis + // of costs. An example of using labels is to tag resources belonging to + // different environments (e.g., "env=prod", "env=qa"). + // + //

Label keys and values can be no longer than 63 characters and can only + // contain lowercase letters, numeric characters, underscores, dashes, and + // international characters. Label keys must start with a lowercase letter + // or an international character. Each service can have at most 32 labels. + map labels = 4; + + // Ingress settings for this service. Will apply to all versions. + NetworkSettings network_settings = 6; } // Traffic routing configuration for versions within a single service. Traffic @@ -63,6 +82,11 @@ message TrafficSplit { // Diversion based on applying the modulus operation to a fingerprint // of the IP address. IP = 2; + + // Diversion based on weighted random assignment. An incoming request is + // randomly routed to a version in the traffic split, with probability + // proportional to the version's traffic share. + RANDOM = 3; } // Mechanism used to determine which version a request is sent to. diff --git a/google-cloud/protos/google/appengine/v1/version.proto b/google-cloud/protos/google/appengine/v1/version.proto index 94ed0b0c..2caab513 100644 --- a/google-cloud/protos/google/appengine/v1/version.proto +++ b/google-cloud/protos/google/appengine/v1/version.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// 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. @@ -16,16 +16,18 @@ syntax = "proto3"; package google.appengine.v1; -import "google/api/annotations.proto"; import "google/appengine/v1/app_yaml.proto"; import "google/appengine/v1/deploy.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; +option csharp_namespace = "Google.Cloud.AppEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/appengine/v1;appengine"; option java_multiple_files = true; option java_outer_classname = "VersionProto"; option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; // A Version resource is a specific set of source code and configuration files // that are deployed into a service. @@ -41,12 +43,13 @@ message Version { // Reserved names: "default", "latest", and any name with the prefix "ah-". string id = 2; - // Controls how instances are created. + // Controls how instances are created, scaled, and reaped. // // Defaults to `AutomaticScaling`. oneof scaling { // Automatic scaling is based on request rate, response latencies, and other - // application metrics. + // application metrics. Instances are dynamically created and destroyed as + // needed in order to handle traffic. AutomaticScaling automatic_scaling = 3; // A service with basic scaling will create an instance when the application @@ -57,6 +60,7 @@ message Version { // A service with manual scaling runs continuously, allowing you to perform // complex initialization and rely on the state of its memory over time. + // Manually scaled versions are sometimes referred to as "backends". ManualScaling manual_scaling = 5; } @@ -65,6 +69,7 @@ message Version { repeated InboundServiceType inbound_services = 6; // Instance class that is used to run this version. Valid values are: + // // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` // @@ -72,21 +77,35 @@ message Version { // BasicScaling. string instance_class = 7; - // Extra network settings. Only applicable for VM runtimes. + // Extra network settings. + // Only applicable in the App Engine flexible environment. Network network = 8; - // Machine resources for this version. Only applicable for VM runtimes. + // The Google Compute Engine zones that are supported by this version in the + // App Engine flexible environment. Deprecated. + repeated string zones = 118; + + // Machine resources for this version. + // Only applicable in the App Engine flexible environment. Resources resources = 9; // Desired runtime. Example: `python27`. string runtime = 10; + // The channel of the runtime to use. Only available for some + // runtimes. Defaults to the `default` channel. + string runtime_channel = 117; + // Whether multiple requests can be dispatched to this version at once. bool threadsafe = 11; // Whether to deploy this version in a container on a virtual machine. bool vm = 12; + // Allows App Engine second generation runtimes to access the legacy bundled + // services. + bool app_engine_apis = 128; + // Metadata settings that are supplied to this version to enable // beta runtime features. map beta_settings = 13; @@ -113,11 +132,24 @@ message Version { google.protobuf.Timestamp create_time = 17; // Total size in bytes of all the files that are included in this version - // and curerntly hosted on the App Engine disk. + // and currently hosted on the App Engine disk. // // @OutputOnly int64 disk_usage_bytes = 18; + // The version of the API in the given runtime environment. Please see the + // app.yaml reference for valid values at + // https://cloud.google.com/appengine/docs/standard//config/appref + string runtime_api_version = 21; + + // The path or name of the app's main executable. + string runtime_main_executable_path = 22; + + // The identity that the deployed version will run as. + // Admin API will use the App Engine Appspot service account as default if + // this field is neither provided in app.yaml file nor through CLI flag. + string service_account = 127; + // An ordered list of URL-matching patterns that should be applied to incoming // requests. The first matching URL handles the request and other request // handlers are not attempted. @@ -137,8 +169,7 @@ message Version { repeated Library libraries = 102; // Serving configuration for - // [Google Cloud - // Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). // // Only returned in `GET` requests if `view=FULL` is set. ApiConfigHandler api_config = 103; @@ -148,21 +179,38 @@ message Version { // Only returned in `GET` requests if `view=FULL` is set. map env_variables = 104; + // Environment variables available to the build environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + map build_env_variables = 125; + // Duration that static files should be cached by web proxies and browsers. // Only applicable if the corresponding - // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) + // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) // does not specify its own expiration time. // // Only returned in `GET` requests if `view=FULL` is set. google.protobuf.Duration default_expiration = 105; - // Configures health checking for VM instances. Unhealthy instances are - // stopped and replaced with new instances. Only applicable for VM - // runtimes. + // Configures health checking for instances. Unhealthy instances are + // stopped and replaced with new instances. + // Only applicable in the App Engine flexible environment. // // Only returned in `GET` requests if `view=FULL` is set. HealthCheck health_check = 106; + // Configures readiness health checking for instances. + // Unhealthy instances are not put into the backend traffic rotation. + // + // Only returned in `GET` requests if `view=FULL` is set. + ReadinessCheck readiness_check = 112; + + // Configures liveness health checking for instances. + // Unhealthy instances are stopped and replaced with new instances + // + // Only returned in `GET` requests if `view=FULL` is set. + LivenessCheck liveness_check = 113; + // Files that match this pattern will not be built into this version. // Only applicable for Go runtimes. // @@ -179,15 +227,77 @@ message Version { // // @OutputOnly string version_url = 109; + + // Cloud Endpoints configuration. + // + // If endpoints_api_service is set, the Cloud Endpoints Extensible Service + // Proxy will be provided to serve the API implemented by the app. + EndpointsApiService endpoints_api_service = 110; + + // The entrypoint for the application. + Entrypoint entrypoint = 122; + + // Enables VPC connectivity for standard apps. + VpcAccessConnector vpc_access_connector = 121; +} + +// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +// The Endpoints API Service provides tooling for serving Open API and gRPC +// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +// deployments. +// +// The fields here refer to the name and configuration ID of a "service" +// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +message EndpointsApiService { + // Available rollout strategies. + enum RolloutStrategy { + // Not specified. Defaults to `FIXED`. + UNSPECIFIED_ROLLOUT_STRATEGY = 0; + + // Endpoints service configuration ID will be fixed to the configuration ID + // specified by `config_id`. + FIXED = 1; + + // Endpoints service configuration ID will be updated with each rollout. + MANAGED = 2; + } + + // Endpoints service name which is the name of the "service" resource in the + // Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + string name = 1; + + // Endpoints service configuration ID as specified by the Service Management + // API. For example "2016-09-19r1". + // + // By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + // This means that Endpoints starts up with a particular configuration ID. + // When a new configuration is rolled out, Endpoints must be given the new + // configuration ID. The `config_id` field is used to give the configuration + // ID and is required in this case. + // + // Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + // When using this, Endpoints fetches the latest configuration and does not + // need the configuration ID. In this case, `config_id` must be omitted. + string config_id = 2; + + // Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + // `MANAGED`, `config_id` must be omitted. + RolloutStrategy rollout_strategy = 3; + + // Enable or disable trace sampling. By default, this is set to false for + // enabled. + bool disable_trace_sampling = 4; } // Automatic scaling is based on request rate, response latencies, and other // application metrics. message AutomaticScaling { - // Amount of time that the + // The time period that the // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) - // should wait between changes to the number of virtual machines. - // Only applicable for VM runtimes. + // should wait before it starts collecting information from a new instance. + // This prevents the autoscaler from collecting information when the instance + // is initializing, during which the collected usage would not be reliable. + // Only applicable in the App Engine flexible environment. google.protobuf.Duration cool_down_period = 1; // Target scaling by CPU usage. @@ -203,7 +313,8 @@ message AutomaticScaling { // version. int32 max_idle_instances = 4; - // Maximum number of instances that should be started to handle requests. + // Maximum number of instances that should be started to handle requests for + // this version. int32 max_total_instances = 5; // Maximum amount of time that a request should wait in the pending queue @@ -214,7 +325,8 @@ message AutomaticScaling { // this version. Only applicable for the default version of a service. int32 min_idle_instances = 7; - // Minimum number of instances that should be maintained for this version. + // Minimum number of running instances that should be maintained for this + // version. int32 min_total_instances = 8; // Minimum amount of time a request should wait in the pending queue before @@ -229,6 +341,9 @@ message AutomaticScaling { // Target scaling by network usage. NetworkUtilization network_utilization = 12; + + // Scheduler settings for standard environment. + StandardSchedulerSettings standard_scheduler_settings = 20; } // A service with basic scaling will create an instance when the application @@ -249,8 +364,7 @@ message BasicScaling { message ManualScaling { // Number of instances to assign to the service at the start. This number // can later be altered by using the - // [Modules - // API](https://cloud.google.com/appengine/docs/python/modules/functions) + // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) // `set_num_instances()` function. int32 instances = 1; } @@ -265,7 +379,8 @@ message CpuUtilization { double target_utilization = 2; } -// Target scaling by request utilization. Only applicable for VM runtimes. +// Target scaling by request utilization. +// Only applicable in the App Engine flexible environment. message RequestUtilization { // Target requests per second. int32 target_request_count_per_second = 1; @@ -274,7 +389,8 @@ message RequestUtilization { int32 target_concurrent_requests = 2; } -// Target scaling by disk usage. Only applicable for VM runtimes. +// Target scaling by disk usage. +// Only applicable in the App Engine flexible environment. message DiskUtilization { // Target bytes written per second. int32 target_write_bytes_per_second = 14; @@ -289,7 +405,8 @@ message DiskUtilization { int32 target_read_ops_per_second = 17; } -// Target scaling by network usage. Only applicable for VM runtimes. +// Target scaling by network usage. +// Only applicable in the App Engine flexible environment. message NetworkUtilization { // Target bytes sent per second. int32 target_sent_bytes_per_second = 1; @@ -304,20 +421,77 @@ message NetworkUtilization { int32 target_received_packets_per_second = 13; } -// Extra network settings. Only applicable for VM runtimes. +// Scheduler settings for standard environment. +message StandardSchedulerSettings { + // Target CPU utilization ratio to maintain when scaling. + double target_cpu_utilization = 1; + + // Target throughput utilization ratio to maintain when scaling + double target_throughput_utilization = 2; + + // Minimum number of instances to run for this version. Set to zero to disable + // `min_instances` configuration. + int32 min_instances = 3; + + // Maximum number of instances to run for this version. Set to zero to disable + // `max_instances` configuration. + int32 max_instances = 4; +} + +// Extra network settings. +// Only applicable in the App Engine flexible environment. message Network { // List of ports, or port pairs, to forward from the virtual machine to the // application container. + // Only applicable in the App Engine flexible environment. repeated string forwarded_ports = 1; - // Tag to apply to the VM instance during creation. + // Tag to apply to the instance during creation. + // Only applicable in the App Engine flexible environment. string instance_tag = 2; - // Google Cloud Platform network where the virtual machines are created. + // Google Compute Engine network where the virtual machines are created. // Specify the short name, not the resource path. // // Defaults to `default`. string name = 3; + + // Google Cloud Platform sub-network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // If a subnetwork name is specified, a network name will also be required + // unless it is for the default network. + // + // * If the network that the instance is being created in is a Legacy network, + // then the IP address is allocated from the IPv4Range. + // * If the network that the instance is being created in is an auto Subnet + // Mode Network, then only network name should be specified (not the + // subnetwork_name) and the IP address is created from the IPCidrRange of the + // subnetwork that exists in that zone for that network. + // * If the network that the instance is being created in is a custom Subnet + // Mode Network, then the subnetwork_name must be specified and the + // IP address is created from the IPCidrRange of the subnetwork. + // + // If specified, the subnetwork must exist in the same region as the + // App Engine flexible environment application. + string subnetwork_name = 4; + + // Enable session affinity. + // Only applicable in the App Engine flexible environment. + bool session_affinity = 5; +} + +// Volumes mounted within the app container. +// Only applicable in the App Engine flexible environment. +message Volume { + // Unique name for the volume. + string name = 1; + + // Underlying volume type, e.g. 'tmpfs'. + string volume_type = 2; + + // Volume size in gigabytes. + double size_gb = 3; } // Machine resources for a version. @@ -330,6 +504,13 @@ message Resources { // Memory (GB) needed. double memory_gb = 3; + + // User specified volumes. + repeated Volume volumes = 4; + + // The name of the encryption key that is stored in Google Cloud KMS. + // Only should be used by Cloud Composer to encrypt the vm disk + string kms_key_reference = 5; } // Available inbound services. @@ -377,3 +558,37 @@ enum ServingStatus { // to `SERVING`. STOPPED = 2; } + +// VPC access connector specification. +message VpcAccessConnector { + // Available egress settings. + // + // This controls what traffic is diverted through the VPC Access Connector + // resource. By default PRIVATE_IP_RANGES will be used. + enum EgressSetting { + EGRESS_SETTING_UNSPECIFIED = 0; + + // Force the use of VPC Access for all egress traffic from the function. + ALL_TRAFFIC = 1; + + // Use the VPC Access Connector for private IP space from RFC1918. + PRIVATE_IP_RANGES = 2; + } + + // Full Serverless VPC Access Connector name e.g. + // /projects/my-project/locations/us-central1/connectors/c1. + string name = 1; + + // The egress setting for the connector, controlling what traffic is diverted + // through it. + EgressSetting egress_setting = 2; +} + +// The entrypoint for the application. +message Entrypoint { + // The command to run. + oneof command { + // The format should be a shell command that can be fed to `bash -c`. + string shell = 1; + } +} diff --git a/google-cloud/protos/google/appengine/v1beta/BUILD.bazel b/google-cloud/protos/google/appengine/v1beta/BUILD.bazel new file mode 100644 index 00000000..e79f0837 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/BUILD.bazel @@ -0,0 +1,192 @@ +# 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 = "appengine_proto", + srcs = [ + "app_yaml.proto", + "appengine.proto", + "application.proto", + "audit_data.proto", + "certificate.proto", + "deploy.proto", + "domain.proto", + "domain_mapping.proto", + "firewall.proto", + "instance.proto", + "location.proto", + "network_settings.proto", + "operation.proto", + "service.proto", + "version.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", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "appengine_java_proto", + deps = [":appengine_proto"], +) + +java_grpc_library( + name = "appengine_java_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "appengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/v1beta", + protos = [":appengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "appengine_moved_proto", + srcs = [":appengine_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", + ], +) + +py_proto_library( + name = "appengine_py_proto", + deps = [":appengine_moved_proto"], +) + +py_grpc_library( + name = "appengine_py_grpc", + srcs = [":appengine_moved_proto"], + deps = [":appengine_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "appengine_php_proto", + deps = [":appengine_proto"], +) + +php_grpc_library( + name = "appengine_php_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "appengine_ruby_proto", + deps = [":appengine_proto"], +) + +ruby_grpc_library( + name = "appengine_ruby_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "appengine_csharp_proto", + deps = [":appengine_proto"], +) + +csharp_grpc_library( + name = "appengine_csharp_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/appengine/v1beta/app_yaml.proto b/google-cloud/protos/google/appengine/v1beta/app_yaml.proto new file mode 100644 index 00000000..a18e9d58 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/app_yaml.proto @@ -0,0 +1,348 @@ +// 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AppYamlProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +// configuration for API handlers. +message ApiConfigHandler { + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 1; + + // Level of login required to access this resource. Defaults to + // `optional`. + LoginRequirement login = 2; + + // Path to the script from the application root directory. + string script = 3; + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 4; + + // URL to serve the endpoint at. + string url = 5; +} + +// Custom static error page to be served when an error occurs. +message ErrorHandler { + // Error codes. + enum ErrorCode { + option allow_alias = true; + + // Not specified. ERROR_CODE_DEFAULT is assumed. + ERROR_CODE_UNSPECIFIED = 0; + + // All other error types. + ERROR_CODE_DEFAULT = 0; + + // Application has exceeded a resource quota. + ERROR_CODE_OVER_QUOTA = 1; + + // Client blocked by the application's Denial of Service protection + // configuration. + ERROR_CODE_DOS_API_DENIAL = 2; + + // Deadline reached before the application responds. + ERROR_CODE_TIMEOUT = 3; + } + + // Error condition this handler applies to. + ErrorCode error_code = 1; + + // Static file content to be served for this error. + string static_file = 2; + + // MIME type of file. Defaults to `text/html`. + string mime_type = 3; +} + +// URL pattern and description of how the URL should be handled. App Engine can +// handle URLs by executing application code or by serving static files +// uploaded with the version, such as images, CSS, or JavaScript. +message UrlMap { + // Redirect codes. + enum RedirectHttpResponseCode { + // Not specified. `302` is assumed. + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = 0; + + // `301 Moved Permanently` code. + REDIRECT_HTTP_RESPONSE_CODE_301 = 1; + + // `302 Moved Temporarily` code. + REDIRECT_HTTP_RESPONSE_CODE_302 = 2; + + // `303 See Other` code. + REDIRECT_HTTP_RESPONSE_CODE_303 = 3; + + // `307 Temporary Redirect` code. + REDIRECT_HTTP_RESPONSE_CODE_307 = 4; + } + + // URL prefix. Uses regular expression syntax, which means regexp + // special characters must be escaped, but should not contain groupings. + // All URLs that begin with this prefix are handled by this handler, using the + // portion of the URL after the prefix as part of the file path. + string url_regex = 1; + + // Type of handler for this URL pattern. + oneof handler_type { + // Returns the contents of a file, such as an image, as the response. + StaticFilesHandler static_files = 2; + + // Executes a script to handle the requests that match this URL + // pattern. Only the `auto` value is supported for Node.js in the + // App Engine standard environment, for example `"script": "auto"`. + ScriptHandler script = 3; + + // Uses API Endpoints to handle requests. + ApiEndpointHandler api_endpoint = 4; + } + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 5; + + // Level of login required to access this resource. Not supported for Node.js + // in the App Engine standard environment. + LoginRequirement login = 6; + + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 7; + + // `30x` code to use when performing redirects for the `secure` field. + // Defaults to `302`. + RedirectHttpResponseCode redirect_http_response_code = 8; +} + +// Files served directly to the user for a given URL, such as images, CSS +// stylesheets, or JavaScript source files. Static file handlers describe which +// files in the application directory are static files, and which URLs serve +// them. +message StaticFilesHandler { + // Path to the static files matched by the URL pattern, from the + // application root directory. The path can refer to text matched in groupings + // in the URL pattern. + string path = 1; + + // Regular expression that matches the file paths for all files that should be + // referenced by this handler. + string upload_path_regex = 2; + + // HTTP headers to use for all responses from these URLs. + map http_headers = 3; + + // MIME type used to serve all files served by this handler. + // + // Defaults to file-specific MIME types, which are derived from each file's + // filename extension. + string mime_type = 4; + + // Time a static file served by this handler should be cached + // by web proxies and browsers. + google.protobuf.Duration expiration = 5; + + // Whether this handler should match the request if the file + // referenced by the handler does not exist. + bool require_matching_file = 6; + + // Whether files should also be uploaded as code data. By default, files + // declared in static file handlers are uploaded as static + // data and are only served to end users; they cannot be read by the + // application. If enabled, uploads are charged against both your code and + // static data storage resource quotas. + bool application_readable = 7; +} + +// Executes a script to handle the request that matches the URL pattern. +message ScriptHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Uses Google Cloud Endpoints to handle requests. +message ApiEndpointHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. Only applicable for +// instances in App Engine flexible environment. +message HealthCheck { + // Whether to explicitly disable health checks for this instance. + bool disable_health_check = 1; + + // Host header to send when performing an HTTP health check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive successful health checks required before receiving + // traffic. + uint32 healthy_threshold = 3; + + // Number of consecutive failed health checks required before removing + // traffic. + uint32 unhealthy_threshold = 4; + + // Number of consecutive failed health checks required before an instance is + // restarted. + uint32 restart_threshold = 5; + + // Interval between health checks. + google.protobuf.Duration check_interval = 6; + + // Time before the health check is considered failed. + google.protobuf.Duration timeout = 7; +} + +// Readiness checking configuration for VM instances. Unhealthy instances +// are removed from traffic rotation. +message ReadinessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Readiness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before removing + // traffic. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before receiving + // traffic. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // A maximum time limit on application initialization, measured from moment + // the application successfully replies to a healthcheck until it is ready to + // serve traffic. + google.protobuf.Duration app_start_timeout = 7; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. +message LivenessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Liveness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before considering the + // VM unhealthy. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before considering + // the VM healthy. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // The initial delay before starting to execute the checks. + google.protobuf.Duration initial_delay = 7; +} + +// Third-party Python runtime library that is required by the application. +message Library { + // Name of the library. Example: "django". + string name = 1; + + // Version of the library to select, or "latest". + string version = 2; +} + +// Actions to take when the user is not logged in. +enum AuthFailAction { + // Not specified. `AUTH_FAIL_ACTION_REDIRECT` is assumed. + AUTH_FAIL_ACTION_UNSPECIFIED = 0; + + // Redirects user to "accounts.google.com". The user is redirected back to the + // application URL after signing in or creating an account. + AUTH_FAIL_ACTION_REDIRECT = 1; + + // Rejects request with a `401` HTTP status code and an error + // message. + AUTH_FAIL_ACTION_UNAUTHORIZED = 2; +} + +// Methods to restrict access to a URL based on login status. +enum LoginRequirement { + // Not specified. `LOGIN_OPTIONAL` is assumed. + LOGIN_UNSPECIFIED = 0; + + // Does not require that the user is signed in. + LOGIN_OPTIONAL = 1; + + // If the user is not signed in, the `auth_fail_action` is taken. + // In addition, if the user is not an administrator for the + // application, they are given an error message regardless of + // `auth_fail_action`. If the user is an administrator, the handler + // proceeds. + LOGIN_ADMIN = 2; + + // If the user has signed in, the handler proceeds normally. Otherwise, the + // auth_fail_action is taken. + LOGIN_REQUIRED = 3; +} + +// Methods to enforce security (HTTPS) on a URL. +enum SecurityLevel { + option allow_alias = true; + + // Not specified. + SECURE_UNSPECIFIED = 0; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used, and respond accordingly. + SECURE_DEFAULT = 0; + + // Requests for a URL that match this handler that use HTTPS are automatically + // redirected to the HTTP equivalent URL. + SECURE_NEVER = 1; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used and respond accordingly. + SECURE_OPTIONAL = 2; + + // Requests for a URL that match this handler that do not use HTTPS are + // automatically redirected to the HTTPS URL with the same path. Query + // parameters are reserved for the redirect. + SECURE_ALWAYS = 3; +} diff --git a/google-cloud/protos/google/appengine/v1beta/appengine.proto b/google-cloud/protos/google/appengine/v1beta/appengine.proto new file mode 100644 index 00000000..9b26daba --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/appengine.proto @@ -0,0 +1,1006 @@ +// 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.appengine.v1beta; + +import "google/appengine/v1beta/application.proto"; +import "google/appengine/v1beta/certificate.proto"; +import "google/appengine/v1beta/domain.proto"; +import "google/appengine/v1beta/domain_mapping.proto"; +import "google/appengine/v1beta/firewall.proto"; +import "google/appengine/v1beta/instance.proto"; +import "google/appengine/v1beta/version.proto"; +import "google/appengine/v1beta/service.proto"; +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AppengineProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Manages App Engine applications. +service Applications { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Gets information about an application. + rpc GetApplication(GetApplicationRequest) returns (Application) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*}" + }; + } + + // Creates an App Engine application for a Google Cloud Platform project. + // Required fields: + // + // * `id` - The ID of the target Cloud Platform project. + // * *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located. + // + // For more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/). + rpc CreateApplication(CreateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/apps" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Updates the specified Application resource. + // You can update the following fields: + // + // * `auth_domain` - Google authentication domain for controlling user access to the application. + // * `default_cookie_expiration` - Cookie expiration policy for the application. + rpc UpdateApplication(UpdateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*}" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Recreates the required App Engine features for the specified App Engine + // application, for example a Cloud Storage bucket or App Engine service + // account. + // Use this method if you receive an error message about a missing feature, + // for example, *Error retrieving the App Engine service account*. + // If you have deleted your App Engine service account, this will + // not be able to recreate it. Instead, you should attempt to use the + // IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . + // If the deletion was recent, the numeric ID can be found in the Cloud + // Console Activity Log. + rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*}:repair" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Applications.GetApplication`. +message GetApplicationRequest { + // Name of the Application resource to get. Example: `apps/myapp`. + string name = 1; +} + +// Request message for `Applications.CreateApplication`. +message CreateApplicationRequest { + // Application configuration. + Application application = 2; +} + +// Request message for `Applications.UpdateApplication`. +message UpdateApplicationRequest { + // Name of the Application resource to update. Example: `apps/myapp`. + string name = 1; + + // An Application containing the updated resource. + Application application = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for 'Applications.RepairApplication'. +message RepairApplicationRequest { + // Name of the application to repair. Example: `apps/myapp` + string name = 1; +} + +// Manages services of an application. +service Services { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all the services in the application. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/services" + }; + } + + // Gets the current configuration of the specified service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*}" + }; + } + + // Updates the configuration of the specified service. + rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/services/*}" + body: "service" + }; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes the specified service and all enclosed versions. + rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Services.ListServices`. +message ListServicesRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Services.ListServices`. +message ListServicesResponse { + // The services belonging to the requested application. + repeated Service services = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Services.GetService`. +message GetServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Request message for `Services.UpdateService`. +message UpdateServiceRequest { + // Name of the resource to update. Example: `apps/myapp/services/default`. + string name = 1; + + // A Service resource containing the updated service. Only fields set in the + // field mask will be updated. + Service service = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; + + // Set to `true` to gradually shift traffic to one or more versions that you + // specify. By default, traffic is shifted immediately. + // For gradual traffic migration, the target versions + // must be located within instances that are configured for both + // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) + // and + // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). + // You must specify the + // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) + // field in the Service resource. Gradual traffic migration is not + // supported in the App Engine flexible environment. For examples, see + // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + bool migrate_traffic = 4; +} + +// Request message for `Services.DeleteService`. +message DeleteServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Manages versions of a service. +service Versions { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the versions of a service. + rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*/services/*}/versions" + }; + } + + // Gets the specified Version resource. + // By default, only a `BASIC_VIEW` will be returned. + // Specify the `FULL_VIEW` parameter to get the full resource. + rpc GetVersion(GetVersionRequest) returns (Version) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*/versions/*}" + }; + } + + // Deploys code and resource files to a new version. + rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*/services/*}/versions" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "CreateVersionMetadataV1Beta" + }; + } + + // Updates the specified Version resource. + // You can specify the following fields depending on the App Engine + // environment and type of scaling that the version resource uses: + // + // **Standard environment** + // + // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class) + // + // *automatic scaling* in the standard environment: + // + // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automaticScaling.standard_scheduler_settings.max_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.min_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_cpu_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_throughput_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // + // *basic scaling* or *manual scaling* in the standard environment: + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status) + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling) + // + // **Flexible environment** + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status) + // + // *automatic scaling* in the flexible environment: + // + // * [`automatic_scaling.min_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cool_down_period_sec`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cpu_utilization.target_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // + // *manual scaling* in the flexible environment: + // + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling) + rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/services/*/versions/*}" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes an existing Version resource. + rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*/versions/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Versions.ListVersions`. +message ListVersionsRequest { + // Name of the parent Service resource. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Controls the set of fields returned in the `List` response. + VersionView view = 2; + + // Maximum results to return per page. + int32 page_size = 3; + + // Continuation token for fetching the next page of results. + string page_token = 4; +} + +// Response message for `Versions.ListVersions`. +message ListVersionsResponse { + // The versions belonging to the requested service. + repeated Version versions = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Versions.GetVersion`. +message GetVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; + + // Controls the set of fields returned in the `Get` response. + VersionView view = 2; +} + +// Request message for `Versions.CreateVersion`. +message CreateVersionRequest { + // Name of the parent resource to create this version under. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Application deployment configuration. + Version version = 2; +} + +// Request message for `Versions.UpdateVersion`. +message UpdateVersionRequest { + // Name of the resource to update. Example: + // `apps/myapp/services/default/versions/1`. + string name = 1; + + // A Version containing the updated resource. Only fields set in the field + // mask will be updated. + Version version = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Fields that should be returned when [Version][google.appengine.v1beta.Version] resources +// are retrieved. +enum VersionView { + // Basic version information including scaling and inbound services, + // but not detailed deployment information. + BASIC = 0; + + // The information from `BASIC`, plus detailed information about the + // deployment. This format is required when creating resources, but + // is not returned in `Get` or `List` by default. + FULL = 1; +} + +// Request message for `Versions.DeleteVersion`. +message DeleteVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; +} + +// Request message for `Instances.ListInstances`. +message ListInstancesRequest { + // Name of the parent Version resource. Example: + // `apps/myapp/services/default/versions/v1`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Instances.ListInstances`. +message ListInstancesResponse { + // The instances belonging to the requested version. + repeated Instance instances = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Instances.GetInstance`. +message GetInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DeleteInstance`. +message DeleteInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DebugInstance`. +message DebugInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; + + // Public SSH key to add to the instance. Examples: + // + // * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + // * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + // + // For more information, see + // [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + string ssh_key = 2; +} + +// Request message for `Firewall.ListIngressRules`. +message ListIngressRulesRequest { + // Name of the Firewall collection to retrieve. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; + + // A valid IP Address. If set, only rules matching this address will be + // returned. The first returned rule will be the rule that fires on requests + // from this IP. + string matching_address = 4; +} + +// Manages instances of a version. +service Instances { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the instances of a version. + // + // Tip: To aggregate details about instances over time, see the + // [Stackdriver Monitoring API](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*/services/*/versions/*}/instances" + }; + } + + // Gets instance information. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}" + }; + } + + // Stops a running instance. + // + // The instance might be automatically recreated based on the scaling settings + // of the version. For more information, see "How Instances are Managed" + // ([standard environment](https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | + // [flexible environment](https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)). + // + // To ensure that instances are not re-created and avoid getting billed, you + // can stop all instances within the target version by changing the serving + // status of the version to `STOPPED` with the + // [`apps.services.versions.patch`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) + // method. + rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Enables debugging on a VM instance. This allows you to use the SSH + // command to connect to the virtual machine where the instance lives. + // While in "debug mode", the instance continues to serve live traffic. + // You should delete the instance when you are done debugging and then + // allow the system to take over and determine if another instance + // should be started. + // + // Only applicable for instances in App Engine flexible environment. + rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}:debug" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Response message for `Firewall.ListIngressRules`. +message ListIngressRulesResponse { + // The ingress FirewallRules for this application. + repeated FirewallRule ingress_rules = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Firewall.BatchUpdateIngressRules`. +message BatchUpdateIngressRulesRequest { + // Name of the Firewall collection to set. + // Example: `apps/myapp/firewall/ingressRules`. + string name = 1; + + // A list of FirewallRules to replace the existing set. + repeated FirewallRule ingress_rules = 2; +} + +// Response message for `Firewall.UpdateAllIngressRules`. +message BatchUpdateIngressRulesResponse { + // The full list of ingress FirewallRules for this application. + repeated FirewallRule ingress_rules = 1; +} + +// Request message for `Firewall.CreateIngressRule`. +message CreateIngressRuleRequest { + // Name of the parent Firewall collection in which to create a new rule. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // A FirewallRule containing the new resource. + // + // The user may optionally provide a position at which the new rule will be + // placed. The positions define a sequential list starting at 1. If a rule + // already exists at the given position, rules greater than the provided + // position will be moved forward by one. + // + // If no position is provided, the server will place the rule as the second to + // last rule in the sequence before the required default allow-all or deny-all + // rule. + FirewallRule rule = 2; +} + +// Request message for `Firewall.GetIngressRule`. +message GetIngressRuleRequest { + // Name of the Firewall resource to retrieve. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `Firewall.UpdateIngressRule`. +message UpdateIngressRuleRequest { + // Name of the Firewall resource to update. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; + + // A FirewallRule containing the updated resource + FirewallRule rule = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `Firewall.DeleteIngressRule`. +message DeleteIngressRuleRequest { + // Name of the Firewall resource to delete. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsResponse { + // The authorized domains belonging to the user. + repeated AuthorizedDomain domains = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // Controls the set of fields returned in the `LIST` response. + AuthorizedCertificateView view = 4; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesResponse { + // The SSL certificates the user is authorized to administer. + repeated AuthorizedCertificate certificates = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Firewall resources are used to define a collection of access control rules +// for an Application. Each rule is defined with a position which specifies +// the rule's order in the sequence of rules, an IP range to be matched against +// requests, and an action to take upon matching requests. +// +// Every request is evaluated against the Firewall rules in priority order. +// Processesing stops at the first rule which matches the request's IP address. +// A final rule always specifies an action that applies to all remaining +// IP addresses. The default final rule for a newly-created application will be +// set to "allow" if not otherwise specified by the user. +service Firewall { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the firewall rules of an application. + rpc ListIngressRules(ListIngressRulesRequest) returns (ListIngressRulesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/firewall/ingressRules" + }; + } + + // Replaces the entire firewall ruleset in one bulk operation. This overrides + // and replaces the rules of an existing firewall with the new rules. + // + // If the final rule does not match traffic with the '*' wildcard IP range, + // then an "allow all" rule is explicitly added to the end of the list. + rpc BatchUpdateIngressRules(BatchUpdateIngressRulesRequest) returns (BatchUpdateIngressRulesResponse) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*/firewall/ingressRules}:batchUpdate" + body: "*" + }; + } + + // Creates a firewall rule for the application. + rpc CreateIngressRule(CreateIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/firewall/ingressRules" + body: "rule" + }; + } + + // Gets the specified firewall rule. + rpc GetIngressRule(GetIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + }; + } + + // Updates the specified firewall rule. + rpc UpdateIngressRule(UpdateIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + body: "rule" + }; + } + + // Deletes the specified firewall rule. + rpc DeleteIngressRule(DeleteIngressRuleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + }; + } +} + +// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +message GetAuthorizedCertificateRequest { + // Name of the resource requested. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // Controls the set of fields returned in the `GET` response. + AuthorizedCertificateView view = 2; +} + +// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +message CreateAuthorizedCertificateRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // SSL certificate data. + AuthorizedCertificate certificate = 2; +} + +// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +message UpdateAuthorizedCertificateRequest { + // Name of the resource to update. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // An `AuthorizedCertificate` containing the updated resource. Only fields set + // in the field mask will be updated. + AuthorizedCertificate certificate = 2; + + // Standard field mask for the set of fields to be updated. Updates are only + // supported on the `certificate_raw_data` and `display_name` fields. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +message DeleteAuthorizedCertificateRequest { + // Name of the resource to delete. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; +} + +// Request message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsResponse { + // The domain mappings for the application. + repeated DomainMapping domain_mappings = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `DomainMappings.GetDomainMapping`. +message GetDomainMappingRequest { + // Name of the resource requested. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Request message for `DomainMappings.CreateDomainMapping`. +message CreateDomainMappingRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Domain mapping configuration. + DomainMapping domain_mapping = 2; + + // Whether the domain creation should override any existing mappings for this + // domain. By default, overrides are rejected. + DomainOverrideStrategy override_strategy = 4; +} + +// Manages domains a user is authorized to administer. To authorize use of a +// domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +service AuthorizedDomains { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all domains the user is authorized to administer. + rpc ListAuthorizedDomains(ListAuthorizedDomainsRequest) returns (ListAuthorizedDomainsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/authorizedDomains" + }; + } +} + +// Request message for `DomainMappings.UpdateDomainMapping`. +message UpdateDomainMappingRequest { + // Name of the resource to update. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; + + // A domain mapping containing the updated resource. Only fields set + // in the field mask will be updated. + DomainMapping domain_mapping = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `DomainMappings.DeleteDomainMapping`. +message DeleteDomainMappingRequest { + // Name of the resource to delete. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Manages SSL certificates a user is authorized to administer. A user can +// administer any SSL certificates applicable to their authorized domains. +service AuthorizedCertificates { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all SSL certificates the user is authorized to administer. + rpc ListAuthorizedCertificates(ListAuthorizedCertificatesRequest) returns (ListAuthorizedCertificatesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/authorizedCertificates" + }; + } + + // Gets the specified SSL certificate. + rpc GetAuthorizedCertificate(GetAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/authorizedCertificates/*}" + }; + } + + // Uploads the specified SSL certificate. + rpc CreateAuthorizedCertificate(CreateAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/authorizedCertificates" + body: "certificate" + }; + } + + // Updates the specified SSL certificate. To renew a certificate and maintain + // its existing domain mappings, update `certificate_data` with a new + // certificate. The new certificate must be applicable to the same domains as + // the original certificate. The certificate `display_name` may also be + // updated. + rpc UpdateAuthorizedCertificate(UpdateAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/authorizedCertificates/*}" + body: "certificate" + }; + } + + // Deletes the specified SSL certificate. + rpc DeleteAuthorizedCertificate(DeleteAuthorizedCertificateRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/authorizedCertificates/*}" + }; + } +} + +// Fields that should be returned when an AuthorizedCertificate resource is +// retrieved. +enum AuthorizedCertificateView { + // Basic certificate information, including applicable domains and expiration + // date. + BASIC_CERTIFICATE = 0; + + // The information from `BASIC_CERTIFICATE`, plus detailed information on the + // domain mappings that have this certificate mapped. + FULL_CERTIFICATE = 1; +} + +// Override strategy for mutating an existing mapping. +enum DomainOverrideStrategy { + // Strategy unspecified. Defaults to `STRICT`. + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = 0; + + // Overrides not allowed. If a mapping already exists for the + // specified domain, the request will return an ALREADY_EXISTS (409). + STRICT = 1; + + // Overrides allowed. If a mapping already exists for the specified domain, + // the request will overwrite it. Note that this might stop another + // Google product from serving. For example, if the domain is + // mapped to another App Engine application, that app will no + // longer serve from that domain. + OVERRIDE = 2; +} + +// Manages domains serving an application. +service DomainMappings { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the domain mappings on an application. + rpc ListDomainMappings(ListDomainMappingsRequest) returns (ListDomainMappingsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/domainMappings" + }; + } + + // Gets the specified domain mapping. + rpc GetDomainMapping(GetDomainMappingRequest) returns (DomainMapping) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/domainMappings/*}" + }; + } + + // Maps a domain to an application. A user must be authorized to administer a + // domain in order to map it to an application. For a list of available + // authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`](). + rpc CreateDomainMapping(CreateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/domainMappings" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Updates the specified domain mapping. To map an SSL certificate to a + // domain mapping, update `certificate_id` to point to an `AuthorizedCertificate` + // resource. A user must be authorized to administer the associated domain + // in order to update a `DomainMapping` resource. + rpc UpdateDomainMapping(UpdateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/domainMappings/*}" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes the specified domain mapping. A user must be authorized to + // administer the associated domain in order to delete a `DomainMapping` + // resource. + rpc DeleteDomainMapping(DeleteDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/domainMappings/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} diff --git a/google-cloud/protos/google/appengine/v1beta/application.proto b/google-cloud/protos/google/appengine/v1beta/application.proto new file mode 100644 index 00000000..f99046dc --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/application.proto @@ -0,0 +1,193 @@ +// 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "ApplicationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An Application resource contains the top-level configuration of an App +// Engine application. +message Application { + // Identity-Aware Proxy + message IdentityAwareProxy { + // Whether the serving infrastructure will authenticate and + // authorize all incoming requests. + // + // If true, the `oauth2_client_id` and `oauth2_client_secret` + // fields must be non-empty. + bool enabled = 1; + + // OAuth2 client ID to use for the authentication flow. + string oauth2_client_id = 2; + + // OAuth2 client secret to use for the authentication flow. + // + // For security reasons, this value cannot be retrieved via the API. + // Instead, the SHA-256 hash of the value is returned in the + // `oauth2_client_secret_sha256` field. + // + // @InputOnly + string oauth2_client_secret = 3; + + // Hex-encoded SHA-256 hash of the client secret. + // + // @OutputOnly + string oauth2_client_secret_sha256 = 4; + } + + // The feature specific settings to be used in the application. These define + // behaviors that are user configurable. + message FeatureSettings { + // Boolean value indicating if split health checks should be used instead + // of the legacy health checks. At an app.yaml level, this means defaulting + // to 'readiness_check' and 'liveness_check' values instead of + // 'health_check' ones. Once the legacy 'health_check' behavior is + // deprecated, and this value is always true, this setting can + // be removed. + bool split_health_checks = 1; + + // If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + // base image for VMs, rather than a base Debian image. + bool use_container_optimized_os = 2; + } + + enum ServingStatus { + // Serving status is unspecified. + UNSPECIFIED = 0; + + // Application is serving. + SERVING = 1; + + // Application has been disabled by the user. + USER_DISABLED = 2; + + // Application has been disabled by the system. + SYSTEM_DISABLED = 3; + } + + enum DatabaseType { + // Database type is unspecified. + DATABASE_TYPE_UNSPECIFIED = 0; + + // Cloud Datastore + CLOUD_DATASTORE = 1; + + // Cloud Firestore Native + CLOUD_FIRESTORE = 2; + + // Cloud Firestore in Datastore Mode + CLOUD_DATASTORE_COMPATIBILITY = 3; + } + + // Full path to the Application resource in the API. + // Example: `apps/myapp`. + // + // @OutputOnly + string name = 1; + + // Identifier of the Application resource. This identifier is equivalent + // to the project ID of the Google Cloud Platform project where you want to + // deploy your application. + // Example: `myapp`. + string id = 2; + + // HTTP path dispatch rules for requests to the application that do not + // explicitly target a service or version. Rules are order-dependent. + // Up to 20 dispatch rules can be supported. + repeated UrlDispatchRule dispatch_rules = 3; + + // Google Apps authentication domain that controls which users can access + // this application. + // + // Defaults to open access for any Google Account. + string auth_domain = 6; + + // Location from which this application runs. Application instances + // run out of the data centers in the specified location, which is also where + // all of the application's end user content is stored. + // + // Defaults to `us-central`. + // + // View the list of + // [supported locations](https://cloud.google.com/appengine/docs/locations). + string location_id = 7; + + // Google Cloud Storage bucket that can be used for storing files + // associated with this application. This bucket is associated with the + // application and can be used by the gcloud deployment commands. + // + // @OutputOnly + string code_bucket = 8; + + // Cookie expiration policy for this application. + google.protobuf.Duration default_cookie_expiration = 9; + + // Serving status of this application. + ServingStatus serving_status = 10; + + // Hostname used to reach this application, as resolved by App Engine. + // + // @OutputOnly + string default_hostname = 11; + + // Google Cloud Storage bucket that can be used by this application to store + // content. + // + // @OutputOnly + string default_bucket = 12; + + IdentityAwareProxy iap = 14; + + // The Google Container Registry domain used for storing managed build docker + // images for this application. + string gcr_domain = 16; + + // The type of the Cloud Firestore or Cloud Datastore database associated with + // this application. + DatabaseType database_type = 17; + + // The feature specific settings to be used in the application. + FeatureSettings feature_settings = 18; +} + +// Rules to match an HTTP request and dispatch that request to a service. +message UrlDispatchRule { + // Domain name to match against. The wildcard "`*`" is supported if + // specified before a period: "`*.`". + // + // Defaults to matching all domains: "`*`". + string domain = 1; + + // Pathname within the host. Must start with a "`/`". A + // single "`*`" can be included at the end of the path. + // + // The sum of the lengths of the domain and path may not + // exceed 100 characters. + string path = 2; + + // Resource ID of a service in this application that should + // serve the matched request. The service must already + // exist. Example: `default`. + string service = 3; +} diff --git a/google-cloud/protos/google/appengine/v1beta/audit_data.proto b/google-cloud/protos/google/appengine/v1beta/audit_data.proto new file mode 100644 index 00000000..254a46dd --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/audit_data.proto @@ -0,0 +1,54 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.appengine.v1beta; + +import "google/appengine/v1beta/appengine.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// App Engine admin service audit log. +message AuditData { + // Detailed information about methods that require it. Does not include + // simple Get, List or Delete methods because all significant information + // (resource name, number of returned elements for List operations) is already + // included in parent audit log message. + oneof method { + // Detailed information about UpdateService call. + UpdateServiceMethod update_service = 1; + + // Detailed information about CreateVersion call. + CreateVersionMethod create_version = 2; + } +} + +// Detailed information about UpdateService call. +message UpdateServiceMethod { + // Update service request. + UpdateServiceRequest request = 1; +} + +// Detailed information about CreateVersion call. +message CreateVersionMethod { + // Create version request. + CreateVersionRequest request = 1; +} diff --git a/google-cloud/protos/google/appengine/v1beta/certificate.proto b/google-cloud/protos/google/appengine/v1beta/certificate.proto new file mode 100644 index 00000000..fda072de --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/certificate.proto @@ -0,0 +1,172 @@ +// 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.appengine.v1beta; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "CertificateProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An SSL certificate that a user has been authorized to administer. A user +// is authorized to administer any certificate that applies to one of their +// authorized domains. +message AuthorizedCertificate { + // Full path to the `AuthorizedCertificate` resource in the API. Example: + // `apps/myapp/authorizedCertificates/12345`. + // + // @OutputOnly + string name = 1; + + // Relative name of the certificate. This is a unique value autogenerated + // on `AuthorizedCertificate` resource creation. Example: `12345`. + // + // @OutputOnly + string id = 2; + + // The user-specified display name of the certificate. This is not + // guaranteed to be unique. Example: `My Certificate`. + string display_name = 3; + + // Topmost applicable domains of this certificate. This certificate + // applies to these domains and their subdomains. Example: `example.com`. + // + // @OutputOnly + repeated string domain_names = 4; + + // The time when this certificate expires. To update the renewal time on this + // certificate, upload an SSL certificate with a different expiration time + // using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + // + // @OutputOnly + google.protobuf.Timestamp expire_time = 5; + + // The SSL certificate serving the `AuthorizedCertificate` resource. This + // must be obtained independently from a certificate authority. + CertificateRawData certificate_raw_data = 6; + + // Only applicable if this certificate is managed by App Engine. Managed + // certificates are tied to the lifecycle of a `DomainMapping` and cannot be + // updated or deleted via the `AuthorizedCertificates` API. If this + // certificate is manually administered by the user, this field will be empty. + // + // @OutputOnly + ManagedCertificate managed_certificate = 7; + + // The full paths to user visible Domain Mapping resources that have this + // certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + // + // This may not represent the full list of mapped domain mappings if the user + // does not have `VIEWER` permissions on all of the applications that have + // this certificate mapped. See `domain_mappings_count` for a complete count. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + repeated string visible_domain_mappings = 8; + + // Aggregate count of the domain mappings with this certificate mapped. This + // count includes domain mappings on applications for which the user does not + // have `VIEWER` permissions. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + int32 domain_mappings_count = 9; +} + +// An SSL certificate obtained from a certificate authority. +message CertificateRawData { + // PEM encoded x.509 public key certificate. This field is set once on + // certificate creation. Must include the header and footer. Example: + //

+  // -----BEGIN CERTIFICATE-----
+  // 
+  // -----END CERTIFICATE-----
+  // 
+ string public_certificate = 1; + + // Unencrypted PEM encoded RSA private key. This field is set once on + // certificate creation and then encrypted. The key size must be 2048 + // bits or fewer. Must include the header and footer. Example: + //
+  // -----BEGIN RSA PRIVATE KEY-----
+  // 
+  // -----END RSA PRIVATE KEY-----
+  // 
+ // @InputOnly + string private_key = 2; +} + +// State of certificate management. Refers to the most recent certificate +// acquisition or renewal attempt. +enum ManagementStatus { + MANAGEMENT_STATUS_UNSPECIFIED = 0; + + // Certificate was successfully obtained and inserted into the serving + // system. + OK = 1; + + // Certificate is under active attempts to acquire or renew. + PENDING = 2; + + // Most recent renewal failed due to an invalid DNS setup and will be + // retried. Renewal attempts will continue to fail until the certificate + // domain's DNS configuration is fixed. The last successfully provisioned + // certificate may still be serving. + FAILED_RETRYING_NOT_VISIBLE = 4; + + // All renewal attempts have been exhausted, likely due to an invalid DNS + // setup. + FAILED_PERMANENT = 6; + + // Most recent renewal failed due to an explicit CAA record that does not + // include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will + // continue to fail until the CAA is reconfigured. The last successfully + // provisioned certificate may still be serving. + FAILED_RETRYING_CAA_FORBIDDEN = 7; + + // Most recent renewal failed due to a CAA retrieval failure. This means that + // the domain's DNS provider does not properly handle CAA records, failing + // requests for CAA records when no CAA records are defined. Renewals will + // continue to fail until the DNS provider is changed or a CAA record is + // added for the given domain. The last successfully provisioned certificate + // may still be serving. + FAILED_RETRYING_CAA_CHECKING = 8; +} + +// A certificate managed by App Engine. +message ManagedCertificate { + // Time at which the certificate was last renewed. The renewal process is + // fully managed. Certificate renewal will automatically occur before the + // certificate expires. Renewal errors can be tracked via `ManagementStatus`. + // + // @OutputOnly + google.protobuf.Timestamp last_renewal_time = 1; + + // Status of certificate management. Refers to the most recent certificate + // acquisition or renewal attempt. + // + // @OutputOnly + ManagementStatus status = 2; +} diff --git a/google-cloud/protos/google/appengine/v1beta/deploy.proto b/google-cloud/protos/google/appengine/v1beta/deploy.proto new file mode 100644 index 00000000..4714915a --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/deploy.proto @@ -0,0 +1,118 @@ +// 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DeployProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Code and application artifacts used to deploy a version to App Engine. +message Deployment { + // Manifest of the files stored in Google Cloud Storage that are included + // as part of this version. All files must be readable using the + // credentials supplied with this call. + map files = 1; + + // The Docker image for the container that runs the version. + // Only applicable for instances running in the App Engine flexible environment. + ContainerInfo container = 2; + + // The zip file for this deployment, if this is a zip deployment. + ZipInfo zip = 3; + + // Google Cloud Build build information. Only applicable for instances running + // in the App Engine flexible environment. + BuildInfo build = 5; + + // Options for any Google Cloud Build builds created as a part of this + // deployment. + // + // These options will only be used if a new build is created, such as when + // deploying to the App Engine flexible environment using files or zip. + CloudBuildOptions cloud_build_options = 6; +} + +// Single source file that is part of the version to be deployed. Each source +// file that is deployed must be specified separately. +message FileInfo { + // URL source to use to fetch this file. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 1; + + // The SHA1 hash of the file, in hex. + string sha1_sum = 2; + + // The MIME type of the file. + // + // Defaults to the value from Google Cloud Storage. + string mime_type = 3; +} + +// Docker image that is used to create a container and start a VM instance for +// the version that you deploy. Only applicable for instances running in the App +// Engine flexible environment. +message ContainerInfo { + // URI to the hosted container image in Google Container Registry. The URI + // must be fully qualified and include a tag or digest. + // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + string image = 1; +} + +// Google Cloud Build information. +message BuildInfo { + // The Google Cloud Build id. + // Example: "f966068f-08b2-42c8-bdfe-74137dff2bf9" + string cloud_build_id = 1; +} + +// Options for the build operations performed as a part of the version +// deployment. Only applicable for App Engine flexible environment when creating +// a version using source code directly. +message CloudBuildOptions { + // Path to the yaml file used in deployment, used to determine runtime + // configuration details. + // + // Required for flexible environment builds. + // + // See https://cloud.google.com/appengine/docs/standard/python/config/appref + // for more details. + string app_yaml_path = 1; + + // The Cloud Build timeout used as part of any dependent builds performed by + // version creation. Defaults to 10 minutes. + google.protobuf.Duration cloud_build_timeout = 2; +} + +// The zip file information for a zip deployment. +message ZipInfo { + // URL of the zip file to deploy from. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 3; + + // An estimate of the number of files in a zip for a zip deployment. + // If set, must be greater than or equal to the actual number of files. + // Used for optimizing performance; if not provided, deployment may be slow. + int32 files_count = 4; +} diff --git a/google-cloud/protos/google/appengine/v1beta/domain.proto b/google-cloud/protos/google/appengine/v1beta/domain.proto new file mode 100644 index 00000000..94bbcd9c --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/domain.proto @@ -0,0 +1,41 @@ +// 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A domain that a user has been authorized to administer. To authorize use +// of a domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +message AuthorizedDomain { + // Full path to the `AuthorizedDomain` resource in the API. Example: + // `apps/myapp/authorizedDomains/example.com`. + // + // @OutputOnly + string name = 1; + + // Fully qualified domain name of the domain authorized for use. Example: + // `example.com`. + string id = 2; +} diff --git a/google-cloud/protos/google/appengine/v1beta/domain_mapping.proto b/google-cloud/protos/google/appengine/v1beta/domain_mapping.proto new file mode 100644 index 00000000..9a0bebc7 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/domain_mapping.proto @@ -0,0 +1,118 @@ +// 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainMappingProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A domain serving an App Engine application. +message DomainMapping { + // Full path to the `DomainMapping` resource in the API. Example: + // `apps/myapp/domainMapping/example.com`. + // + // @OutputOnly + string name = 1; + + // Relative name of the domain serving the application. Example: + // `example.com`. + string id = 2; + + // SSL configuration for this domain. If unconfigured, this domain will not + // serve with SSL. + SslSettings ssl_settings = 3; + + // The resource records required to configure this domain mapping. These + // records must be added to the domain's DNS configuration in order to + // serve the application via this domain mapping. + // + // @OutputOnly + repeated ResourceRecord resource_records = 4; +} + +// SSL configuration for a `DomainMapping` resource. +message SslSettings { + // The SSL management type for this domain. + enum SslManagementType { + // SSL support for this domain is configured automatically. The mapped SSL + // certificate will be automatically renewed. + AUTOMATIC = 0; + + // SSL support for this domain is configured manually by the user. Either + // the domain has no SSL support or a user-obtained SSL certificate has been + // explictly mapped to this domain. + MANUAL = 1; + } + + // ID of the `AuthorizedCertificate` resource configuring SSL for the + // application. Clearing this field will remove SSL support. + // + // By default, a managed certificate is automatically created for every + // domain mapping. To omit SSL support or to configure SSL manually, specify + // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + // be authorized to administer the `AuthorizedCertificate` resource to + // manually map it to a `DomainMapping` resource. + // Example: `12345`. + string certificate_id = 1; + + // SSL management type for this domain. If `AUTOMATIC`, a managed certificate + // is automatically provisioned. If `MANUAL`, `certificate_id` must be + // manually specified in order to configure SSL for this domain. + SslManagementType ssl_management_type = 3; + + // ID of the managed `AuthorizedCertificate` resource currently being + // provisioned, if applicable. Until the new managed certificate has been + // successfully provisioned, the previous SSL state will be preserved. Once + // the provisioning process completes, the `certificate_id` field will reflect + // the new managed certificate and this field will be left empty. To remove + // SSL support while there is still a pending managed certificate, clear the + // `certificate_id` field with an `UpdateDomainMappingRequest`. + // + // @OutputOnly + string pending_managed_certificate_id = 4; +} + +// A DNS resource record. +message ResourceRecord { + // A resource record type. + enum RecordType { + // An A resource record. Data is an IPv4 address. + A = 0; + + // An AAAA resource record. Data is an IPv6 address. + AAAA = 1; + + // A CNAME resource record. Data is a domain name to be aliased. + CNAME = 2; + } + + // Relative name of the object affected by this record. Only applicable for + // `CNAME` records. Example: 'www'. + string name = 1; + + // Data for this record. Values vary by record type, as defined in RFC 1035 + // (section 5) and RFC 1034 (section 3.6.1). + string rrdata = 2; + + // Resource record type. Example: `AAAA`. + RecordType type = 3; +} diff --git a/google-cloud/protos/google/appengine/v1beta/firewall.proto b/google-cloud/protos/google/appengine/v1beta/firewall.proto new file mode 100644 index 00000000..f853327c --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/firewall.proto @@ -0,0 +1,69 @@ +// 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "FirewallProto"; +option java_package = "com.google.appengine.v1beta.firewall"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A single firewall rule that is evaluated against incoming traffic +// and provides an action to take on matched requests. +message FirewallRule { + // Available actions to take on matching requests. + enum Action { + UNSPECIFIED_ACTION = 0; + + // Matching requests are allowed. + ALLOW = 1; + + // Matching requests are denied. + DENY = 2; + } + + // A positive integer between [1, Int32.MaxValue-1] that defines the order of + // rule evaluation. Rules with the lowest priority are evaluated first. + // + // A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + // when no previous rule matches. Only the action of this rule can be modified + // by the user. + int32 priority = 1; + + // The action to take on matched requests. + Action action = 2; + + // IP address or range, defined using CIDR notation, of requests that this + // rule applies to. You can use the wildcard character "*" to match all IPs + // equivalent to "0/0" and "::/0" together. + // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + // + // + //

Truncation will be silently performed on addresses which are not + // properly truncated. For example, `1.2.3.4/24` is accepted as the same + // address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + // as the same address as `2001:db8::/32`. + string source_range = 3; + + // An optional string description of this rule. + // This field has a maximum length of 100 characters. + string description = 4; +} diff --git a/google-cloud/protos/google/appengine/v1beta/instance.proto b/google-cloud/protos/google/appengine/v1beta/instance.proto new file mode 100644 index 00000000..f5444508 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/instance.proto @@ -0,0 +1,143 @@ +// 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.appengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "InstanceProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An Instance resource is the computing unit that App Engine uses to +// automatically scale an application. +message Instance { + option (google.api.resource) = { + type: "appengine.googleapis.com/Instance" + pattern: "apps/{app}/services/{service}/versions/{version}/instances/{instance}" + }; + + // Wrapper for LivenessState enum. + message Liveness { + // Liveness health check status for Flex instances. + enum LivenessState { + // There is no liveness health check for the instance. Only applicable for + // instances in App Engine standard environment. + LIVENESS_STATE_UNSPECIFIED = 0; + + // The health checking system is aware of the instance but its health is + // not known at the moment. + UNKNOWN = 1; + + // The instance is reachable i.e. a connection to the application health + // checking endpoint can be established, and conforms to the requirements + // defined by the health check. + HEALTHY = 2; + + // The instance is reachable, but does not conform to the requirements + // defined by the health check. + UNHEALTHY = 3; + + // The instance is being drained. The existing connections to the instance + // have time to complete, but the new ones are being refused. + DRAINING = 4; + + // The instance is unreachable i.e. a connection to the application health + // checking endpoint cannot be established, or the server does not respond + // within the specified timeout. + TIMEOUT = 5; + } + + + } + + // Availability of the instance. + enum Availability { + UNSPECIFIED = 0; + + RESIDENT = 1; + + DYNAMIC = 2; + } + + // Output only. Full path to the Instance resource in the API. + // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Relative name of the instance within the version. + // Example: `instance-1`. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. App Engine release this instance is running on. + string app_engine_release = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability of the instance. + Availability availability = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Zone where the virtual machine is located. Only applicable for instances + // in App Engine flexible environment. + string vm_zone_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Virtual machine ID of this instance. Only applicable for instances in + // App Engine flexible environment. + string vm_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time that this instance was started. + // + // @OutputOnly + google.protobuf.Timestamp start_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of requests since this instance was started. + int32 requests = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of errors since this instance was started. + int32 errors = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average queries per second (QPS) over the last minute. + float qps = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average latency (ms) over the last minute. + int32 average_latency = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total memory in use (bytes). + int64 memory_usage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_status = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether this instance is in debug mode. Only applicable for instances in + // App Engine flexible environment. + bool vm_debug_enabled = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP address of this instance. Only applicable for instances in App + // Engine flexible environment. + string vm_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The liveness health check of this instance. Only applicable for instances + // in App Engine flexible environment. + Liveness.LivenessState vm_liveness = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/appengine/v1beta/location.proto b/google-cloud/protos/google/appengine/v1beta/location.proto new file mode 100644 index 00000000..e4689d23 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/location.proto @@ -0,0 +1,44 @@ +// 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.appengine.v1beta; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "LocationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. +message LocationMetadata { + // App Engine standard environment is available in the given location. + // + // @OutputOnly + bool standard_environment_available = 2; + + // App Engine flexible environment is available in the given location. + // + // @OutputOnly + bool flexible_environment_available = 4; + + // Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + // is available in the given location. + bool search_api_available = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/appengine/v1beta/network_settings.proto b/google-cloud/protos/google/appengine/v1beta/network_settings.proto new file mode 100644 index 00000000..1e84f69f --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/network_settings.proto @@ -0,0 +1,48 @@ +// 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "NetworkSettingsProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A NetworkSettings resource is a container for ingress settings for a version +// or service. +message NetworkSettings { + // If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. + enum IngressTrafficAllowed { + // Unspecified + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = 0; + + // Allow HTTP traffic from public and private sources. + INGRESS_TRAFFIC_ALLOWED_ALL = 1; + + // Allow HTTP traffic from only private VPC sources. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = 2; + + // Allow HTTP traffic from private VPC sources and through load balancers. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = 3; + } + + // The ingress settings for version or service. + IngressTrafficAllowed ingress_traffic_allowed = 1; +} diff --git a/google-cloud/protos/google/appengine/v1beta/operation.proto b/google-cloud/protos/google/appengine/v1beta/operation.proto new file mode 100644 index 00000000..10c5ea31 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/operation.proto @@ -0,0 +1,79 @@ +// 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.appengine.v1beta; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "OperationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. +message OperationMetadataV1Beta { + // API method that initiated this operation. Example: + // `google.appengine.v1beta.Versions.CreateVersion`. + // + // @OutputOnly + string method = 1; + + // Time that this operation was created. + // + // @OutputOnly + google.protobuf.Timestamp insert_time = 2; + + // Time that this operation completed. + // + // @OutputOnly + google.protobuf.Timestamp end_time = 3; + + // User who requested this operation. + // + // @OutputOnly + string user = 4; + + // Name of the resource that this operation is acting on. Example: + // `apps/myapp/services/default`. + // + // @OutputOnly + string target = 5; + + // Ephemeral message that may change every time the operation is polled. + // @OutputOnly + string ephemeral_message = 6; + + // Durable messages that persist on every operation poll. + // @OutputOnly + repeated string warning = 7; + + // Metadata specific to the type of operation in progress. + // @OutputOnly + oneof method_metadata { + CreateVersionMetadataV1Beta create_version_metadata = 8; + } +} + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +// [google.appengine.v1beta.CreateVersionRequest][google.appengine.v1beta.CreateVersionRequest]. +message CreateVersionMetadataV1Beta { + // The Cloud Build ID if one was created as part of the version create. + // @OutputOnly + string cloud_build_id = 1; +} diff --git a/google-cloud/protos/google/appengine/v1beta/service.proto b/google-cloud/protos/google/appengine/v1beta/service.proto new file mode 100644 index 00000000..7c4a2a88 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/service.proto @@ -0,0 +1,93 @@ +// 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.appengine.v1beta; + +import "google/appengine/v1beta/network_settings.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A Service resource is a logical component of an application that can share +// state and communicate in a secure fashion with other services. +// For example, an application that handles customer requests might +// include separate services to handle tasks such as backend data +// analysis or API requests from mobile devices. Each service has a +// collection of versions that define a specific set of code used to +// implement the functionality of that service. +message Service { + // Full path to the Service resource in the API. + // Example: `apps/myapp/services/default`. + // + // @OutputOnly + string name = 1; + + // Relative name of the service within the application. + // Example: `default`. + // + // @OutputOnly + string id = 2; + + // Mapping that defines fractional HTTP traffic diversion to + // different versions within the service. + TrafficSplit split = 3; + + // Ingress settings for this service. Will apply to all versions. + NetworkSettings network_settings = 6; +} + +// Traffic routing configuration for versions within a single service. Traffic +// splits define how traffic directed to the service is assigned to versions. +message TrafficSplit { + // Available sharding mechanisms. + enum ShardBy { + // Diversion method unspecified. + UNSPECIFIED = 0; + + // Diversion based on a specially named cookie, "GOOGAPPUID." The cookie + // must be set by the application itself or no diversion will occur. + COOKIE = 1; + + // Diversion based on applying the modulus operation to a fingerprint + // of the IP address. + IP = 2; + + // Diversion based on weighted random assignment. An incoming request is + // randomly routed to a version in the traffic split, with probability + // proportional to the version's traffic share. + RANDOM = 3; + } + + // Mechanism used to determine which version a request is sent to. + // The traffic selection algorithm will + // be stable for either type until allocations are changed. + ShardBy shard_by = 1; + + // Mapping from version IDs within the service to fractional + // (0.000, 1] allocations of traffic for that version. Each version can + // be specified only once, but some versions in the service may not + // have any traffic allocation. Services that have traffic allocated + // cannot be deleted until either the service is deleted or + // their traffic allocation is removed. Allocations must sum to 1. + // Up to two decimal place precision is supported for IP-based splits and + // up to three decimal places is supported for cookie-based splits. + map allocations = 2; +} diff --git a/google-cloud/protos/google/appengine/v1beta/version.proto b/google-cloud/protos/google/appengine/v1beta/version.proto new file mode 100644 index 00000000..e32f2d26 --- /dev/null +++ b/google-cloud/protos/google/appengine/v1beta/version.proto @@ -0,0 +1,607 @@ +// 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.appengine.v1beta; + +import "google/appengine/v1beta/app_yaml.proto"; +import "google/appengine/v1beta/deploy.proto"; +import "google/appengine/v1beta/network_settings.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "VersionProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A Version resource is a specific set of source code and configuration files +// that are deployed into a service. +message Version { + // Full path to the Version resource in the API. Example: + // `apps/myapp/services/default/versions/v1`. + // + // @OutputOnly + string name = 1; + + // Relative name of the version within the service. Example: `v1`. + // Version names can contain only lowercase letters, numbers, or hyphens. + // Reserved names: "default", "latest", and any name with the prefix "ah-". + string id = 2; + + // Controls how instances are created, scaled, and reaped. + // + // Defaults to `AutomaticScaling`. + oneof scaling { + // Automatic scaling is based on request rate, response latencies, and other + // application metrics. Instances are dynamically created and destroyed as + // needed in order to handle traffic. + AutomaticScaling automatic_scaling = 3; + + // A service with basic scaling will create an instance when the application + // receives a request. The instance will be turned down when the app becomes + // idle. Basic scaling is ideal for work that is intermittent or driven by + // user activity. + BasicScaling basic_scaling = 4; + + // A service with manual scaling runs continuously, allowing you to perform + // complex initialization and rely on the state of its memory over time. + // Manually scaled versions are sometimes referred to as "backends". + ManualScaling manual_scaling = 5; + } + + // Before an application can receive email or XMPP messages, the application + // must be configured to enable the service. + repeated InboundServiceType inbound_services = 6; + + // Instance class that is used to run this version. Valid values are: + // + // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` + // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` + // + // Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or + // BasicScaling. + string instance_class = 7; + + // Extra network settings. + // Only applicable in the App Engine flexible environment. + Network network = 8; + + // The Google Compute Engine zones that are supported by this version in the + // App Engine flexible environment. Deprecated. + repeated string zones = 118; + + // Machine resources for this version. + // Only applicable in the App Engine flexible environment. + Resources resources = 9; + + // Desired runtime. Example: `python27`. + string runtime = 10; + + // The channel of the runtime to use. Only available for some + // runtimes. Defaults to the `default` channel. + string runtime_channel = 117; + + // Whether multiple requests can be dispatched to this version at once. + bool threadsafe = 11; + + // Whether to deploy this version in a container on a virtual machine. + bool vm = 12; + + // app_engine_apis allows second generation runtimes to access the + // App Engine APIs. + bool app_engine_apis = 128; + + // Metadata settings that are supplied to this version to enable + // beta runtime features. + map beta_settings = 13; + + // App Engine execution environment for this version. + // + // Defaults to `standard`. + string env = 14; + + // Current serving status of this version. Only the versions with a + // `SERVING` status create instances and can be billed. + // + // `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`. + ServingStatus serving_status = 15; + + // Email address of the user who created this version. + // + // @OutputOnly + string created_by = 16; + + // Time that this version was created. + // + // @OutputOnly + google.protobuf.Timestamp create_time = 17; + + // Total size in bytes of all the files that are included in this version + // and currently hosted on the App Engine disk. + // + // @OutputOnly + int64 disk_usage_bytes = 18; + + // The version of the API in the given runtime environment. Please see the + // app.yaml reference for valid values at + // https://cloud.google.com/appengine/docs/standard//config/appref + string runtime_api_version = 21; + + // The path or name of the app's main executable. + string runtime_main_executable_path = 22; + + // The identity that the deployed version will run as. + // Admin API will use the App Engine Appspot service account as default if + // this field is neither provided in app.yaml file nor through CLI flag. + string service_account = 127; + + // An ordered list of URL-matching patterns that should be applied to incoming + // requests. The first matching URL handles the request and other request + // handlers are not attempted. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated UrlMap handlers = 100; + + // Custom static error pages. Limited to 10KB per page. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated ErrorHandler error_handlers = 101; + + // Configuration for third-party Python runtime libraries that are required + // by the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated Library libraries = 102; + + // Serving configuration for + // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + // + // Only returned in `GET` requests if `view=FULL` is set. + ApiConfigHandler api_config = 103; + + // Environment variables available to the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + map env_variables = 104; + + // Environment variables available to the build environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + map build_env_variables = 125; + + // Duration that static files should be cached by web proxies and browsers. + // Only applicable if the corresponding + // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler) + // does not specify its own expiration time. + // + // Only returned in `GET` requests if `view=FULL` is set. + google.protobuf.Duration default_expiration = 105; + + // Configures health checking for instances. Unhealthy instances are + // stopped and replaced with new instances. + // Only applicable in the App Engine flexible environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + HealthCheck health_check = 106; + + // Configures readiness health checking for instances. + // Unhealthy instances are not put into the backend traffic rotation. + // + // Only returned in `GET` requests if `view=FULL` is set. + ReadinessCheck readiness_check = 112; + + // Configures liveness health checking for instances. + // Unhealthy instances are stopped and replaced with new instances + // + // Only returned in `GET` requests if `view=FULL` is set. + LivenessCheck liveness_check = 113; + + // Files that match this pattern will not be built into this version. + // Only applicable for Go runtimes. + // + // Only returned in `GET` requests if `view=FULL` is set. + string nobuild_files_regex = 107; + + // Code and application artifacts that make up this version. + // + // Only returned in `GET` requests if `view=FULL` is set. + Deployment deployment = 108; + + // Serving URL for this version. Example: + // "https://myversion-dot-myservice-dot-myapp.appspot.com" + // + // @OutputOnly + string version_url = 109; + + // Cloud Endpoints configuration. + // + // If endpoints_api_service is set, the Cloud Endpoints Extensible Service + // Proxy will be provided to serve the API implemented by the app. + EndpointsApiService endpoints_api_service = 110; + + // The entrypoint for the application. + Entrypoint entrypoint = 122; + + // Enables VPC connectivity for standard apps. + VpcAccessConnector vpc_access_connector = 121; +} + +// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +// The Endpoints API Service provides tooling for serving Open API and gRPC +// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +// deployments. +// +// The fields here refer to the name and configuration ID of a "service" +// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +message EndpointsApiService { + // Available rollout strategies. + enum RolloutStrategy { + // Not specified. Defaults to `FIXED`. + UNSPECIFIED_ROLLOUT_STRATEGY = 0; + + // Endpoints service configuration ID will be fixed to the configuration ID + // specified by `config_id`. + FIXED = 1; + + // Endpoints service configuration ID will be updated with each rollout. + MANAGED = 2; + } + + // Endpoints service name which is the name of the "service" resource in the + // Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + string name = 1; + + // Endpoints service configuration ID as specified by the Service Management + // API. For example "2016-09-19r1". + // + // By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + // This means that Endpoints starts up with a particular configuration ID. + // When a new configuration is rolled out, Endpoints must be given the new + // configuration ID. The `config_id` field is used to give the configuration + // ID and is required in this case. + // + // Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + // When using this, Endpoints fetches the latest configuration and does not + // need the configuration ID. In this case, `config_id` must be omitted. + string config_id = 2; + + // Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + // `MANAGED`, `config_id` must be omitted. + RolloutStrategy rollout_strategy = 3; + + // Enable or disable trace sampling. By default, this is set to false for + // enabled. + bool disable_trace_sampling = 4; +} + +// Automatic scaling is based on request rate, response latencies, and other +// application metrics. +message AutomaticScaling { + // The time period that the + // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) + // should wait before it starts collecting information from a new instance. + // This prevents the autoscaler from collecting information when the instance + // is initializing, during which the collected usage would not be reliable. + // Only applicable in the App Engine flexible environment. + google.protobuf.Duration cool_down_period = 1; + + // Target scaling by CPU usage. + CpuUtilization cpu_utilization = 2; + + // Number of concurrent requests an automatic scaling instance can accept + // before the scheduler spawns a new instance. + // + // Defaults to a runtime-specific value. + int32 max_concurrent_requests = 3; + + // Maximum number of idle instances that should be maintained for this + // version. + int32 max_idle_instances = 4; + + // Maximum number of instances that should be started to handle requests for + // this version. + int32 max_total_instances = 5; + + // Maximum amount of time that a request should wait in the pending queue + // before starting a new instance to handle it. + google.protobuf.Duration max_pending_latency = 6; + + // Minimum number of idle instances that should be maintained for + // this version. Only applicable for the default version of a service. + int32 min_idle_instances = 7; + + // Minimum number of running instances that should be maintained for this + // version. + int32 min_total_instances = 8; + + // Minimum amount of time a request should wait in the pending queue before + // starting a new instance to handle it. + google.protobuf.Duration min_pending_latency = 9; + + // Target scaling by request utilization. + RequestUtilization request_utilization = 10; + + // Target scaling by disk usage. + DiskUtilization disk_utilization = 11; + + // Target scaling by network usage. + NetworkUtilization network_utilization = 12; + + // Target scaling by user-provided metrics. + // Only applicable in the App Engine flexible environment. + repeated CustomMetric custom_metrics = 21; + + // Scheduler settings for standard environment. + StandardSchedulerSettings standard_scheduler_settings = 20; +} + +// A service with basic scaling will create an instance when the application +// receives a request. The instance will be turned down when the app becomes +// idle. Basic scaling is ideal for work that is intermittent or driven by +// user activity. +message BasicScaling { + // Duration of time after the last request that an instance must wait before + // the instance is shut down. + google.protobuf.Duration idle_timeout = 1; + + // Maximum number of instances to create for this version. + int32 max_instances = 2; +} + +// A service with manual scaling runs continuously, allowing you to perform +// complex initialization and rely on the state of its memory over time. +message ManualScaling { + // Number of instances to assign to the service at the start. This number + // can later be altered by using the + // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) + // `set_num_instances()` function. + int32 instances = 1; +} + +// Target scaling by CPU usage. +message CpuUtilization { + // Period of time over which CPU utilization is calculated. + google.protobuf.Duration aggregation_window_length = 1; + + // Target CPU utilization ratio to maintain when scaling. Must be between 0 + // and 1. + double target_utilization = 2; +} + +// Target scaling by request utilization. +// Only applicable in the App Engine flexible environment. +message RequestUtilization { + // Target requests per second. + int32 target_request_count_per_second = 1; + + // Target number of concurrent requests. + int32 target_concurrent_requests = 2; +} + +// Target scaling by disk usage. +// Only applicable in the App Engine flexible environment. +message DiskUtilization { + // Target bytes written per second. + int32 target_write_bytes_per_second = 14; + + // Target ops written per second. + int32 target_write_ops_per_second = 15; + + // Target bytes read per second. + int32 target_read_bytes_per_second = 16; + + // Target ops read per seconds. + int32 target_read_ops_per_second = 17; +} + +// Target scaling by network usage. +// Only applicable in the App Engine flexible environment. +message NetworkUtilization { + // Target bytes sent per second. + int32 target_sent_bytes_per_second = 1; + + // Target packets sent per second. + int32 target_sent_packets_per_second = 11; + + // Target bytes received per second. + int32 target_received_bytes_per_second = 12; + + // Target packets received per second. + int32 target_received_packets_per_second = 13; +} + +// Allows autoscaling based on Stackdriver metrics. +message CustomMetric { + // The name of the metric. + string metric_name = 1; + + // The type of the metric. Must be a string representing a Stackdriver + // metric type e.g. GAGUE, DELTA_PER_SECOND, etc. + string target_type = 2; + + // The target spec. + oneof target_spec { + // The target value for the metric. + double target_utilization = 3; + + // May be used instead of `target_utilization` when an instance can handle a + // specific amount of work/resources and the metric value is equal to the + // current amount of work remaining. The autoscaler will try to keep the + // number of instances equal to the metric value divided by + // `single_instance_assignment`. + double single_instance_assignment = 4; + } + + // Allows filtering on the metric's fields. + string filter = 5; +} + +// Scheduler settings for standard environment. +message StandardSchedulerSettings { + // Target CPU utilization ratio to maintain when scaling. + double target_cpu_utilization = 1; + + // Target throughput utilization ratio to maintain when scaling + double target_throughput_utilization = 2; + + // Minimum number of instances to run for this version. Set to zero to disable + // `min_instances` configuration. + int32 min_instances = 3; + + // Maximum number of instances to run for this version. Set to zero to disable + // `max_instances` configuration. + int32 max_instances = 4; +} + +// Extra network settings. +// Only applicable in the App Engine flexible environment. +message Network { + // List of ports, or port pairs, to forward from the virtual machine to the + // application container. + // Only applicable in the App Engine flexible environment. + repeated string forwarded_ports = 1; + + // Tag to apply to the instance during creation. + // Only applicable in the App Engine flexible environment. + string instance_tag = 2; + + // Google Compute Engine network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // Defaults to `default`. + string name = 3; + + // Google Cloud Platform sub-network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // If a subnetwork name is specified, a network name will also be required + // unless it is for the default network. + // + // * If the network that the instance is being created in is a Legacy network, + // then the IP address is allocated from the IPv4Range. + // * If the network that the instance is being created in is an auto Subnet + // Mode Network, then only network name should be specified (not the + // subnetwork_name) and the IP address is created from the IPCidrRange of the + // subnetwork that exists in that zone for that network. + // * If the network that the instance is being created in is a custom Subnet + // Mode Network, then the subnetwork_name must be specified and the + // IP address is created from the IPCidrRange of the subnetwork. + // + // If specified, the subnetwork must exist in the same region as the + // App Engine flexible environment application. + string subnetwork_name = 4; + + // Enable session affinity. + // Only applicable in the App Engine flexible environment. + bool session_affinity = 5; +} + +// Volumes mounted within the app container. +// Only applicable in the App Engine flexible environment. +message Volume { + // Unique name for the volume. + string name = 1; + + // Underlying volume type, e.g. 'tmpfs'. + string volume_type = 2; + + // Volume size in gigabytes. + double size_gb = 3; +} + +// Machine resources for a version. +message Resources { + // Number of CPU cores needed. + double cpu = 1; + + // Disk size (GB) needed. + double disk_gb = 2; + + // Memory (GB) needed. + double memory_gb = 3; + + // User specified volumes. + repeated Volume volumes = 4; + + // The name of the encryption key that is stored in Google Cloud KMS. + // Only should be used by Cloud Composer to encrypt the vm disk + string kms_key_reference = 5; +} + +// VPC access connector specification. +message VpcAccessConnector { + // Full Serverless VPC Access Connector name e.g. + // /projects/my-project/locations/us-central1/connectors/c1. + string name = 1; +} + +// The entrypoint for the application. +message Entrypoint { + // The command to run. + oneof command { + // The format should be a shell command that can be fed to `bash -c`. + string shell = 1; + } +} + +// Available inbound services. +enum InboundServiceType { + // Not specified. + INBOUND_SERVICE_UNSPECIFIED = 0; + + // Allows an application to receive mail. + INBOUND_SERVICE_MAIL = 1; + + // Allows an application to receive email-bound notifications. + INBOUND_SERVICE_MAIL_BOUNCE = 2; + + // Allows an application to receive error stanzas. + INBOUND_SERVICE_XMPP_ERROR = 3; + + // Allows an application to receive instant messages. + INBOUND_SERVICE_XMPP_MESSAGE = 4; + + // Allows an application to receive user subscription POSTs. + INBOUND_SERVICE_XMPP_SUBSCRIBE = 5; + + // Allows an application to receive a user's chat presence. + INBOUND_SERVICE_XMPP_PRESENCE = 6; + + // Registers an application for notifications when a client connects or + // disconnects from a channel. + INBOUND_SERVICE_CHANNEL_PRESENCE = 7; + + // Enables warmup requests. + INBOUND_SERVICE_WARMUP = 9; +} + +// Run states of a version. +enum ServingStatus { + // Not specified. + SERVING_STATUS_UNSPECIFIED = 0; + + // Currently serving. Instances are created according to the + // scaling settings of the version. + SERVING = 1; + + // Disabled. No instances will be created and the scaling + // settings are ignored until the state of the version changes + // to `SERVING`. + STOPPED = 2; +} diff --git a/google-cloud/protos/google/apps/alertcenter/v1beta1/BUILD.bazel b/google-cloud/protos/google/apps/alertcenter/v1beta1/BUILD.bazel new file mode 100644 index 00000000..d83f6f71 --- /dev/null +++ b/google-cloud/protos/google/apps/alertcenter/v1beta1/BUILD.bazel @@ -0,0 +1,353 @@ +# 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 = "alertcenter_proto", + srcs = [ + "alertcenter.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "alertcenter_proto_with_info", + deps = [ + ":alertcenter_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 = "alertcenter_java_proto", + deps = [":alertcenter_proto"], +) + +java_grpc_library( + name = "alertcenter_java_grpc", + srcs = [":alertcenter_proto"], + deps = [":alertcenter_java_proto"], +) + +java_gapic_library( + name = "alertcenter_java_gapic", + srcs = [":alertcenter_proto_with_info"], + grpc_service_config = "alertcenter_grpc_service_config.json", + test_deps = [ + ":alertcenter_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":alertcenter_java_proto", + ], +) + +java_gapic_test( + name = "alertcenter_java_gapic_test_suite", + test_classes = [ + "com.google.apps.alertcenter.v1beta1.AlertCenterServiceClientHttpJsonTest", + "com.google.apps.alertcenter.v1beta1.AlertCenterServiceClientTest", + ], + runtime_deps = [":alertcenter_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-apps-alertcenter-v1beta1-java", + transport = "grpc+rest", + deps = [ + ":alertcenter_java_gapic", + ":alertcenter_java_grpc", + ":alertcenter_java_proto", + ":alertcenter_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "alertcenter_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/alertcenter/v1beta1", + protos = [":alertcenter_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "alertcenter_go_gapic", + srcs = [":alertcenter_proto_with_info"], + grpc_service_config = "alertcenter_grpc_service_config.json", + importpath = "google.golang.org/google/apps/alertcenter/v1beta1;alertcenter", + metadata = True, + service_yaml = "alertcenter.yaml", + transport = "grpc+rest", + deps = [ + ":alertcenter_go_proto", + ], +) + +go_test( + name = "alertcenter_go_gapic_test", + srcs = [":alertcenter_go_gapic_srcjar_test"], + embed = [":alertcenter_go_gapic"], + importpath = "google.golang.org/google/apps/alertcenter/v1beta1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-apps-alertcenter-v1beta1-go", + deps = [ + ":alertcenter_go_gapic", + ":alertcenter_go_gapic_srcjar-metadata.srcjar", + ":alertcenter_go_gapic_srcjar-test.srcjar", + ":alertcenter_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "alertcenter_py_gapic", + srcs = [":alertcenter_proto"], + grpc_service_config = "alertcenter_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "alertcenter_py_gapic_test", + srcs = [ + "alertcenter_py_gapic_pytest.py", + "alertcenter_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":alertcenter_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "apps-alertcenter-v1beta1-py", + deps = [ + ":alertcenter_py_gapic", + ], +) + +############################################################################## +# 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 = "alertcenter_php_proto", + deps = [":alertcenter_proto"], +) + +php_grpc_library( + name = "alertcenter_php_grpc", + srcs = [":alertcenter_proto"], + deps = [":alertcenter_php_proto"], +) + +php_gapic_library( + name = "alertcenter_php_gapic", + srcs = [":alertcenter_proto_with_info"], + grpc_service_config = "alertcenter_grpc_service_config.json", + service_yaml = "alertcenter.yaml", + deps = [ + ":alertcenter_php_grpc", + ":alertcenter_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-apps-alertcenter-v1beta1-php", + deps = [ + ":alertcenter_php_gapic", + ":alertcenter_php_grpc", + ":alertcenter_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "alertcenter_nodejs_gapic", + package_name = "@google-cloud/alertcenter", + src = ":alertcenter_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "alertcenter_grpc_service_config.json", + package = "google.apps.alertcenter.v1beta1", + service_yaml = "alertcenter.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "apps-alertcenter-v1beta1-nodejs", + deps = [ + ":alertcenter_nodejs_gapic", + ":alertcenter_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 = "alertcenter_ruby_proto", + deps = [":alertcenter_proto"], +) + +ruby_grpc_library( + name = "alertcenter_ruby_grpc", + srcs = [":alertcenter_proto"], + deps = [":alertcenter_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "alertcenter_ruby_gapic", + srcs = [":alertcenter_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-apps-alertcenter-v1beta1", + ], + grpc_service_config = "alertcenter_grpc_service_config.json", + deps = [ + ":alertcenter_ruby_grpc", + ":alertcenter_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-apps-alertcenter-v1beta1-ruby", + deps = [ + ":alertcenter_ruby_gapic", + ":alertcenter_ruby_grpc", + ":alertcenter_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 = "alertcenter_csharp_proto", + deps = [":alertcenter_proto"], +) + +csharp_grpc_library( + name = "alertcenter_csharp_grpc", + srcs = [":alertcenter_proto"], + deps = [":alertcenter_csharp_proto"], +) + +csharp_gapic_library( + name = "alertcenter_csharp_gapic", + srcs = [":alertcenter_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "alertcenter_grpc_service_config.json", + service_yaml = "alertcenter.yaml", + deps = [ + ":alertcenter_csharp_grpc", + ":alertcenter_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-apps-alertcenter-v1beta1-csharp", + deps = [ + ":alertcenter_csharp_gapic", + ":alertcenter_csharp_grpc", + ":alertcenter_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.proto b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.proto new file mode 100644 index 00000000..91663323 --- /dev/null +++ b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.proto @@ -0,0 +1,515 @@ +// 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.apps.alertcenter.v1beta1; + +import "google/api/annotations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Apps.AlertCenter.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/apps/alertcenter/v1beta1;alertcenter"; +option java_multiple_files = true; +option java_outer_classname = "AlertCenterProto"; +option java_package = "com.google.apps.alertcenter.v1beta1"; +option objc_class_prefix = "GAIC"; +option php_namespace = "Google\\Apps\\AlertCenter\\V1beta1"; +option ruby_package = "Google::Apps::AlertCenter::V1beta1"; + +// Google Workspace Alert Center API (beta). +service AlertCenterService { + option (google.api.default_host) = "alertcenter.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/apps.alerts"; + + // Lists the alerts. + rpc ListAlerts(ListAlertsRequest) returns (ListAlertsResponse) { + option (google.api.http) = { + get: "/v1beta1/alerts" + }; + } + + // Gets the specified alert. Attempting to get a nonexistent alert returns + // `NOT_FOUND` error. + rpc GetAlert(GetAlertRequest) returns (Alert) { + option (google.api.http) = { + get: "/v1beta1/alerts/{alert_id}" + }; + } + + // Marks the specified alert for deletion. An alert that has been marked for + // deletion is removed from Alert Center after 30 days. + // Marking an alert for deletion has no effect on an alert which has + // already been marked for deletion. Attempting to mark a nonexistent alert + // for deletion results in a `NOT_FOUND` error. + rpc DeleteAlert(DeleteAlertRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/alerts/{alert_id}" + }; + } + + // Restores, or "undeletes", an alert that was marked for deletion within the + // past 30 days. Attempting to undelete an alert which was marked for deletion + // over 30 days ago (which has been removed from the Alert Center database) or + // a nonexistent alert returns a `NOT_FOUND` error. Attempting to + // undelete an alert which has not been marked for deletion has no effect. + rpc UndeleteAlert(UndeleteAlertRequest) returns (Alert) { + option (google.api.http) = { + post: "/v1beta1/alerts/{alert_id}:undelete" + body: "*" + }; + } + + // Creates new feedback for an alert. Attempting to create a feedback for + // a non-existent alert returns `NOT_FOUND` error. Attempting to create a + // feedback for an alert that is marked for deletion returns + // `FAILED_PRECONDITION' error. + rpc CreateAlertFeedback(CreateAlertFeedbackRequest) returns (AlertFeedback) { + option (google.api.http) = { + post: "/v1beta1/alerts/{alert_id}/feedback" + body: "feedback" + }; + } + + // Lists all the feedback for an alert. Attempting to list feedbacks for + // a non-existent alert returns `NOT_FOUND` error. + rpc ListAlertFeedback(ListAlertFeedbackRequest) returns (ListAlertFeedbackResponse) { + option (google.api.http) = { + get: "/v1beta1/alerts/{alert_id}/feedback" + }; + } + + // Returns the metadata of an alert. Attempting to get metadata for + // a non-existent alert returns `NOT_FOUND` error. + rpc GetAlertMetadata(GetAlertMetadataRequest) returns (AlertMetadata) { + option (google.api.http) = { + get: "/v1beta1/alerts/{alert_id}/metadata" + }; + } + + // Returns customer-level settings. + rpc GetSettings(GetSettingsRequest) returns (Settings) { + option (google.api.http) = { + get: "/v1beta1/settings" + }; + } + + // Updates the customer-level settings. + rpc UpdateSettings(UpdateSettingsRequest) returns (Settings) { + option (google.api.http) = { + patch: "/v1beta1/settings" + body: "settings" + }; + } + + // Performs batch delete operation on alerts. + rpc BatchDeleteAlerts(BatchDeleteAlertsRequest) returns (BatchDeleteAlertsResponse) { + option (google.api.http) = { + post: "/v1beta1/alerts:batchDelete" + body: "*" + }; + } + + // Performs batch undelete operation on alerts. + rpc BatchUndeleteAlerts(BatchUndeleteAlertsRequest) returns (BatchUndeleteAlertsResponse) { + option (google.api.http) = { + post: "/v1beta1/alerts:batchUndelete" + body: "*" + }; + } +} + +// An alert affecting a customer. +message Alert { + // Output only. The unique identifier of the Google account of the customer. + string customer_id = 1; + + // Output only. The unique identifier for the alert. + string alert_id = 2; + + // Output only. The time this alert was created. + google.protobuf.Timestamp create_time = 3; + + // Required. The time the event that caused this alert was started or + // detected. + google.protobuf.Timestamp start_time = 4; + + // Optional. The time the event that caused this alert ceased being active. + // If provided, the end time must not be earlier than the start time. + // If not provided, it indicates an ongoing alert. + google.protobuf.Timestamp end_time = 5; + + // Required. The type of the alert. + // This is output only after alert is created. + // For a list of available alert types see + // [Google Workspace Alert + // types](https://developers.google.com/admin-sdk/alertcenter/reference/alert-types). + string type = 6; + + // Required. A unique identifier for the system that reported the alert. + // This is output only after alert is created. + // + // Supported sources are any of the following: + // + // * Google Operations + // * Mobile device management + // * Gmail phishing + // * Domain wide takeout + // * State sponsored attack + // * Google identity + string source = 7; + + // Optional. The data associated with this alert, for example + // [google.apps.alertcenter.type.DeviceCompromised] [google.apps.alertcenter.type.DeviceCompromised]. + google.protobuf.Any data = 8; + + // Output only. An optional + // [Security Investigation Tool](https://support.google.com/a/answer/7575955) + // query for this alert. + string security_investigation_tool_link = 9; + + // Output only. `True` if this alert is marked for deletion. + bool deleted = 11; + + // Output only. The metadata associated with this alert. + AlertMetadata metadata = 12; + + // Output only. The time this alert was last updated. + google.protobuf.Timestamp update_time = 13; + + // Optional. `etag` is used for optimistic concurrency control as a way to help + // prevent simultaneous updates of an alert from overwriting each other. + // It is strongly suggested that systems make use of the `etag` in the + // read-modify-write cycle to perform alert updates in order to avoid race + // conditions: An `etag` is returned in the response which contains alerts, + // and systems are expected to put that etag in the request to update alert to + // ensure that their change will be applied to the same version of the alert. + // + // If no `etag` is provided in the call to update alert, then the existing + // alert is overwritten blindly. + string etag = 14; +} + +// A customer feedback about an alert. +message AlertFeedback { + // Output only. The unique identifier of the Google account of the customer. + string customer_id = 1; + + // Output only. The alert identifier. + string alert_id = 2; + + // Output only. The unique identifier for the feedback. + string feedback_id = 3; + + // Output only. The time this feedback was created. + google.protobuf.Timestamp create_time = 4; + + // Required. The type of the feedback. + AlertFeedbackType type = 5; + + // Output only. The email of the user that provided the feedback. + string email = 6; +} + +// An alert metadata. +message AlertMetadata { + // Output only. The unique identifier of the Google account of the customer. + string customer_id = 1; + + // Output only. The alert identifier. + string alert_id = 2; + + // The current status of the alert. + // The supported values are the following: + // + // * NOT_STARTED + // * IN_PROGRESS + // * CLOSED + string status = 4; + + // The email address of the user assigned to the alert. + string assignee = 5; + + // Output only. The time this metadata was last updated. + google.protobuf.Timestamp update_time = 6; + + // The severity value of the alert. Alert Center will set this field at alert + // creation time, default's to an empty string when it could not be + // determined. + // The supported values for update actions on this field are the following: + // + // * HIGH + // * MEDIUM + // * LOW + string severity = 7; + + // Optional. `etag` is used for optimistic concurrency control as a way to + // help prevent simultaneous updates of an alert metadata from overwriting + // each other. It is strongly suggested that systems make use of the `etag` in + // the read-modify-write cycle to perform metatdata updates in order to avoid + // race conditions: An `etag` is returned in the response which contains alert + // metadata, and systems are expected to put that etag in the request to + // update alert metadata to ensure that their change will be applied to the + // same version of the alert metadata. + // + // If no `etag` is provided in the call to update alert metadata, then the + // existing alert metadata is overwritten blindly. + string etag = 8; +} + +// Customer-level settings. +message Settings { + // Settings for callback notifications. + // For more details see [Google Workspace Alert + // Notification](https://developers.google.com/admin-sdk/alertcenter/guides/notifications). + message Notification { + // A reference to a Cloud Pubsub topic. + // + // To register for notifications, the owner of the topic must grant + // `alerts-api-push-notifications@system.gserviceaccount.com` the + // `projects.topics.publish` permission. + message CloudPubsubTopic { + // The `name` field of a Cloud Pubsub [Topic] + // (https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic). + string topic_name = 1; + + // Optional. The format of the payload that would be sent. + // If not specified the format will be JSON. + PayloadFormat payload_format = 2; + } + + // The format of the payload. + enum PayloadFormat { + // Payload format is not specified (will use JSON as default). + PAYLOAD_FORMAT_UNSPECIFIED = 0; + + // Use JSON. + JSON = 1; + } + + // Exactly one destination to be specified. + oneof destination { + // A Google Cloud Pub/sub topic destination. + CloudPubsubTopic cloud_pubsub_topic = 1; + } + } + + // The list of notifications. + repeated Notification notifications = 1; +} + +// A request to perform batch delete on alerts. +message BatchDeleteAlertsRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alerts are associated with. + string customer_id = 1; + + // Required. list of alert IDs. + repeated string alert_id = 2; +} + +// Response to batch delete operation on alerts. +message BatchDeleteAlertsResponse { + // The successful list of alert IDs. + repeated string success_alert_ids = 1; + + // The status details for each failed alert_id. + map failed_alert_status = 2; +} + +// A request to perform batch undelete on alerts. +message BatchUndeleteAlertsRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alerts are associated with. + string customer_id = 1; + + // Required. list of alert IDs. + repeated string alert_id = 2; +} + +// Response to batch undelete operation on alerts. +message BatchUndeleteAlertsResponse { + // The successful list of alert IDs. + repeated string success_alert_ids = 1; + + // The status details for each failed alert_id. + map failed_alert_status = 2; +} + +// An alert listing request. +message ListAlertsRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alerts are associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Optional. The requested page size. Server may return fewer items than + // requested. If unspecified, server picks an appropriate default. + int32 page_size = 2; + + // Optional. A token identifying a page of results the server should return. + // If empty, a new iteration is started. To continue an iteration, pass in + // the value from the previous ListAlertsResponse's + // [next_page_token][google.apps.alertcenter.v1beta1.ListAlertsResponse.next_page_token] field. + string page_token = 3; + + // Optional. A query string for filtering alert results. + // For more details, see [Query + // filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported + // query filter + // fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.list). + string filter = 4; + + // Optional. The sort order of the list results. + // If not specified results may be returned in arbitrary order. + // You can sort the results in descending order based on the creation + // timestamp using `order_by="create_time desc"`. + // Currently, supported sorting are `create_time asc`, `create_time desc`, + // `update_time desc` + string order_by = 5; +} + +// Response message for an alert listing request. +message ListAlertsResponse { + // The list of alerts. + repeated Alert alerts = 1; + + // The token for the next page. If not empty, indicates that there may be more + // alerts that match the listing request; this value can be used in a + // subsequent [ListAlertsRequest][google.apps.alertcenter.v1beta1.ListAlertsRequest] to get alerts continuing from last result + // of the current list call. + string next_page_token = 2; +} + +// Request for a specific alert. +message GetAlertRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert is associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The identifier of the alert to retrieve. + string alert_id = 2; +} + +// A request to mark a specific alert for deletion. +message DeleteAlertRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert is associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The identifier of the alert to delete. + string alert_id = 2; +} + +// A request to undelete a specific alert that was marked for deletion. +message UndeleteAlertRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert is associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The identifier of the alert to undelete. + string alert_id = 2; +} + +// A request to create a new alert feedback. +message CreateAlertFeedbackRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert is associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The identifier of the alert this feedback belongs to. + string alert_id = 2; + + // Required. The new alert feedback to create. + AlertFeedback feedback = 3; +} + +// An alert feedback listing request. +message ListAlertFeedbackRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert feedback are associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The alert identifier. + // The "-" wildcard could be used to represent all alerts. + string alert_id = 2; + + // Optional. A query string for filtering alert feedback results. + // For more details, see [Query + // filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters) and [Supported + // query filter + // fields](https://developers.google.com/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list). + string filter = 3; +} + +// Response message for an alert feedback listing request. +message ListAlertFeedbackResponse { + // The list of alert feedback. + // Feedback entries for each alert are ordered by creation time descending. + repeated AlertFeedback feedback = 1; +} + +// Get the alert metadata. +message GetAlertMetadataRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert metadata is associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // Required. The identifier of the alert this metadata belongs to. + string alert_id = 2; +} + +// Get the customer level settings. +message GetSettingsRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert settings are associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; +} + +// The type of alert feedback. +enum AlertFeedbackType { + // The feedback type is not specified. + ALERT_FEEDBACK_TYPE_UNSPECIFIED = 0; + + // The alert report is not useful. + NOT_USEFUL = 1; + + // The alert report is somewhat useful. + SOMEWHAT_USEFUL = 2; + + // The alert report is very useful. + VERY_USEFUL = 3; +} + +// Update the customer level settings. +message UpdateSettingsRequest { + // Optional. The unique identifier of the Google Workspace organization + // account of the customer the alert settings are associated with. + // Inferred from the caller identity if not provided. + string customer_id = 1; + + // The customer settings to update. + Settings settings = 2; +} diff --git a/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.yaml b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.yaml new file mode 100644 index 00000000..2d361a62 --- /dev/null +++ b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter.yaml @@ -0,0 +1,17 @@ +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. + +authentication: + rules: + - selector: 'google.apps.alertcenter.v1beta1.AlertCenterService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/apps.alerts diff --git a/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter_grpc_service_config.json b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter_grpc_service_config.json new file mode 100644 index 00000000..83f7666d --- /dev/null +++ b/google-cloud/protos/google/apps/alertcenter/v1beta1/alertcenter_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.apps.alertcenter.v1beta1.AlertCenterService" } + ], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/BUILD.bazel b/google-cloud/protos/google/apps/drive/activity/v2/BUILD.bazel new file mode 100644 index 00000000..d25367d1 --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/BUILD.bazel @@ -0,0 +1,367 @@ +# 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 = "activity_proto", + srcs = [ + "action.proto", + "actor.proto", + "common.proto", + "drive_activity_service.proto", + "query_drive_activity_request.proto", + "query_drive_activity_response.proto", + "target.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "activity_proto_with_info", + deps = [ + ":activity_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 = "activity_java_proto", + deps = [":activity_proto"], +) + +java_grpc_library( + name = "activity_java_grpc", + srcs = [":activity_proto"], + deps = [":activity_java_proto"], +) + +java_gapic_library( + name = "activity_java_gapic", + srcs = [":activity_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "driveactivity_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + test_deps = [ + ":activity_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":activity_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "activity_java_gapic_test_suite", + test_classes = [ + "com.google.apps.drive.activity.v2.DriveActivityServiceClientHttpJsonTest", + "com.google.apps.drive.activity.v2.DriveActivityServiceClientTest", + ], + runtime_deps = [":activity_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-drive-activity-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":activity_java_gapic", + ":activity_java_grpc", + ":activity_java_proto", + ":activity_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "activity_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/drive/activity/v2", + protos = [":activity_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "activity_go_gapic", + srcs = [":activity_proto_with_info"], + grpc_service_config = "driveactivity_grpc_service_config.json", + importpath = "google.golang.org/google/apps/drive/activity/v2;activity", + metadata = True, + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + transport = "grpc+rest", + deps = [ + ":activity_go_proto", + ], +) + +go_test( + name = "activity_go_gapic_test", + srcs = [":activity_go_gapic_srcjar_test"], + embed = [":activity_go_gapic"], + importpath = "google.golang.org/google/apps/drive/activity/v2", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-apps-drive-activity-v2-go", + deps = [ + ":activity_go_gapic", + ":activity_go_gapic_srcjar-metadata.srcjar", + ":activity_go_gapic_srcjar-test.srcjar", + ":activity_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "activity_py_gapic", + srcs = [":activity_proto"], + grpc_service_config = "driveactivity_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + transport = "grpc", + deps = [ + ], +) + +py_test( + name = "activity_py_gapic_test", + srcs = [ + "activity_py_gapic_pytest.py", + "activity_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":activity_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "drive-activity-v2-py", + deps = [ + ":activity_py_gapic", + ], +) + +############################################################################## +# 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 = "activity_php_proto", + deps = [":activity_proto"], +) + +php_grpc_library( + name = "activity_php_grpc", + srcs = [":activity_proto"], + deps = [":activity_php_proto"], +) + +php_gapic_library( + name = "activity_php_gapic", + srcs = [":activity_proto_with_info"], + grpc_service_config = "driveactivity_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + deps = [ + ":activity_php_grpc", + ":activity_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-apps-drive-activity-v2-php", + deps = [ + ":activity_php_gapic", + ":activity_php_grpc", + ":activity_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "activity_nodejs_gapic", + package_name = "@google-cloud/drive-activity", + src = ":activity_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "driveactivity_grpc_service_config.json", + package = "google.apps.drive.activity.v2", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "drive-activity-v2-nodejs", + deps = [ + ":activity_nodejs_gapic", + ":activity_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 = "activity_ruby_proto", + deps = [":activity_proto"], +) + +ruby_grpc_library( + name = "activity_ruby_grpc", + srcs = [":activity_proto"], + deps = [":activity_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "activity_ruby_gapic", + srcs = [":activity_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-apps-drive-activity-v2"], + grpc_service_config = "driveactivity_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + deps = [ + ":activity_ruby_grpc", + ":activity_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-apps-drive-activity-v2-ruby", + deps = [ + ":activity_ruby_gapic", + ":activity_ruby_grpc", + ":activity_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 = "activity_csharp_proto", + deps = [":activity_proto"], +) + +csharp_grpc_library( + name = "activity_csharp_grpc", + srcs = [":activity_proto"], + deps = [":activity_csharp_proto"], +) + +csharp_gapic_library( + name = "activity_csharp_gapic", + srcs = [":activity_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "driveactivity_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "driveactivity_v2.yaml", + deps = [ + ":activity_csharp_grpc", + ":activity_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-apps-drive-activity-v2-csharp", + deps = [ + ":activity_csharp_gapic", + ":activity_csharp_grpc", + ":activity_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/apps/drive/activity/v2/action.proto b/google-cloud/protos/google/apps/drive/activity/v2/action.proto new file mode 100644 index 00000000..b1398c95 --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/action.proto @@ -0,0 +1,606 @@ +// 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.apps.drive.activity.v2; + +import "google/apps/drive/activity/v2/actor.proto"; +import "google/apps/drive/activity/v2/common.proto"; +import "google/apps/drive/activity/v2/target.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "ActionProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// Information about the action. +message Action { + // The type and detailed information about the action. + ActionDetail detail = 1; + + // The actor responsible for this action (or empty if all actors are + // responsible). + Actor actor = 3; + + // The target this action affects (or empty if affecting all targets). This + // represents the state of the target immediately after this action occurred. + Target target = 4; + + // When the action occurred (or empty if same time as entire activity). + oneof time { + // The action occurred at this specific time. + google.protobuf.Timestamp timestamp = 5; + + // The action occurred over this time range. + TimeRange time_range = 6; + } +} + +// Data describing the type and additional information of an action. +message ActionDetail { + // Data describing the type and additional information of an action. + oneof action_detail { + // An object was created. + Create create = 1; + + // An object was edited. + Edit edit = 2; + + // An object was moved. + Move move = 3; + + // An object was renamed. + Rename rename = 4; + + // An object was deleted. + Delete delete = 5; + + // A deleted object was restored. + Restore restore = 6; + + // The permission on an object was changed. + PermissionChange permission_change = 7; + + // A change about comments was made. + Comment comment = 8; + + // A change happened in data leak prevention status. + DataLeakPreventionChange dlp_change = 9; + + // An object was referenced in an application outside of Drive/Docs. + ApplicationReference reference = 12; + + // Settings were changed. + SettingsChange settings_change = 13; + + // Label was changed. + AppliedLabelChange applied_label_change = 19; + } +} + +// An object was created. +message Create { + // An object was created from scratch. + message New { + + } + + // An object was uploaded into Drive. + message Upload { + + } + + // An object was created by copying an existing object. + message Copy { + // The original object. + TargetReference original_object = 1; + } + + // The origin of the new object. + oneof origin { + // If present, indicates the object was newly created (e.g. as a blank + // document), not derived from a Drive object or external object. + New new = 1; + + // If present, indicates the object originated externally and was uploaded + // to Drive. + Upload upload = 2; + + // If present, indicates the object was created by copying an existing Drive + // object. + Copy copy = 3; + } +} + +// An empty message indicating an object was edited. +message Edit { + +} + +// An object was moved. +message Move { + // The added parent object(s). + repeated TargetReference added_parents = 1; + + // The removed parent object(s). + repeated TargetReference removed_parents = 2; +} + +// An object was renamed. +message Rename { + // The previous title of the drive object. + string old_title = 1; + + // The new title of the drive object. + string new_title = 2; +} + +// An object was deleted. +message Delete { + // The type of deletion. + enum Type { + // Deletion type is not available. + TYPE_UNSPECIFIED = 0; + + // An object was put into the trash. + TRASH = 1; + + // An object was deleted permanently. + PERMANENT_DELETE = 2; + } + + // The type of delete action taken. + Type type = 1; +} + +// A deleted object was restored. +message Restore { + // The type of restoration. + enum Type { + // The type is not available. + TYPE_UNSPECIFIED = 0; + + // An object was restored from the trash. + UNTRASH = 1; + } + + // The type of restore action taken. + Type type = 1; +} + +// A change of the permission setting on an item. +message PermissionChange { + // The set of permissions added by this change. + repeated Permission added_permissions = 1; + + // The set of permissions removed by this change. + repeated Permission removed_permissions = 2; +} + +// The permission setting of an object. +message Permission { + // The [Google Drive permissions + // roles](https://developers.google.com/drive/web/manage-sharing#roles). + enum Role { + // The role is not available. + ROLE_UNSPECIFIED = 0; + + // A role granting full access. + OWNER = 1; + + // A role granting the ability to manage people and settings. + ORGANIZER = 2; + + // A role granting the ability to contribute and manage content. + FILE_ORGANIZER = 3; + + // A role granting the ability to contribute content. This role is sometimes + // also known as "writer". + EDITOR = 4; + + // A role granting the ability to view and comment on content. + COMMENTER = 5; + + // A role granting the ability to view content. This role is sometimes also + // known as "reader". + VIEWER = 6; + + // A role granting the ability to view content only after it has been + // published to the web. This role is sometimes also known as "published + // reader". See https://support.google.com/sites/answer/6372880 for more + // information. + PUBLISHED_VIEWER = 7; + } + + // Represents any user (including a logged out user). + message Anyone { + + } + + // Indicates the + // [Google Drive permissions + // role](https://developers.google.com/drive/web/manage-sharing#roles). The + // role determines a user's ability to read, write, and comment on items. + Role role = 1; + + // The entity granted the role. + oneof scope { + // The user to whom this permission applies. + User user = 2; + + // The group to whom this permission applies. + Group group = 3; + + // The domain to whom this permission applies. + Domain domain = 4; + + // If set, this permission applies to anyone, even logged out users. + Anyone anyone = 5; + } + + // If true, the item can be discovered (e.g. in the user's "Shared with me" + // collection) without needing a link to the item. + bool allow_discovery = 6; +} + +// A change about comments on an object. +message Comment { + // A regular posted comment. + message Post { + // More detailed information about the change. + enum Subtype { + // Subtype not available. + SUBTYPE_UNSPECIFIED = 0; + + // A post was added. + ADDED = 1; + + // A post was deleted. + DELETED = 2; + + // A reply was added. + REPLY_ADDED = 3; + + // A reply was deleted. + REPLY_DELETED = 4; + + // A posted comment was resolved. + RESOLVED = 5; + + // A posted comment was reopened. + REOPENED = 6; + } + + // The sub-type of this event. + Subtype subtype = 1; + } + + // A comment with an assignment. + message Assignment { + // More detailed information about the change. + enum Subtype { + // Subtype not available. + SUBTYPE_UNSPECIFIED = 0; + + // An assignment was added. + ADDED = 1; + + // An assignment was deleted. + DELETED = 2; + + // An assignment reply was added. + REPLY_ADDED = 3; + + // An assignment reply was deleted. + REPLY_DELETED = 4; + + // An assignment was resolved. + RESOLVED = 5; + + // A resolved assignment was reopened. + REOPENED = 6; + + // An assignment was reassigned. + REASSIGNED = 7; + } + + // The sub-type of this event. + Subtype subtype = 1; + + // The user to whom the comment was assigned. + User assigned_user = 7; + } + + // A suggestion. + message Suggestion { + // More detailed information about the change. + enum Subtype { + // Subtype not available. + SUBTYPE_UNSPECIFIED = 0; + + // A suggestion was added. + ADDED = 1; + + // A suggestion was deleted. + DELETED = 2; + + // A suggestion reply was added. + REPLY_ADDED = 3; + + // A suggestion reply was deleted. + REPLY_DELETED = 4; + + // A suggestion was accepted. + ACCEPTED = 7; + + // A suggestion was rejected. + REJECTED = 8; + + // An accepted suggestion was deleted. + ACCEPT_DELETED = 9; + + // A rejected suggestion was deleted. + REJECT_DELETED = 10; + } + + // The sub-type of this event. + Subtype subtype = 1; + } + + // The type of changed comment. + oneof type { + // A change on a regular posted comment. + Post post = 1; + + // A change on an assignment. + Assignment assignment = 2; + + // A change on a suggestion. + Suggestion suggestion = 3; + } + + // Users who are mentioned in this comment. + repeated User mentioned_users = 7; +} + +// A change in the object's data leak prevention status. +message DataLeakPreventionChange { + // The type of the change. + enum Type { + // An update to the DLP state that is neither FLAGGED or CLEARED. + TYPE_UNSPECIFIED = 0; + + // Document has been flagged as containing sensitive content. + FLAGGED = 1; + + // Document is no longer flagged as containing sensitive content. + CLEARED = 2; + } + + // The type of Data Leak Prevention (DLP) change. + Type type = 1; +} + +// Activity in applications other than Drive. +message ApplicationReference { + // The type of the action. + enum Type { + // The type is not available. + UNSPECIFIED_REFERENCE_TYPE = 0; + + // The links of one or more Drive items were posted. + LINK = 1; + + // Comments were made regarding a Drive item. + DISCUSS = 2; + } + + // The reference type corresponding to this event. + Type type = 1; +} + +// Information about settings changes. +message SettingsChange { + // Information about restriction policy changes to a feature. + message RestrictionChange { + // The feature which had changes to its restriction policy. + enum Feature { + // The feature which changed restriction settings was not available. + FEATURE_UNSPECIFIED = 0; + + // When restricted, this prevents items from being shared outside the + // domain. + SHARING_OUTSIDE_DOMAIN = 1; + + // When restricted, this prevents direct sharing of individual items. + DIRECT_SHARING = 2; + + // When restricted, this prevents actions like copy, download, and print + // that might result in uncontrolled duplicates of items. + ITEM_DUPLICATION = 3; + + // When restricted, this prevents use of Drive File Stream. + DRIVE_FILE_STREAM = 4; + } + + // The restriction applicable to a feature. + enum Restriction { + // The type of restriction is not available. + RESTRICTION_UNSPECIFIED = 0; + + // The feature is available without restriction. + UNRESTRICTED = 1; + + // The use of this feature is fully restricted. + FULLY_RESTRICTED = 2; + } + + // The feature which had a change in restriction policy. + Feature feature = 1; + + // The restriction in place after the change. + Restriction new_restriction = 2; + } + + // The set of changes made to restrictions. + repeated RestrictionChange restriction_changes = 1; +} + +// Label changes that were made on the Target. +message AppliedLabelChange { + // A change made to a Label on the Target. + message AppliedLabelChangeDetail { + // Change to a Field value. + message FieldValueChange { + // Contains a value of a Field. + message FieldValue { + // Wrapper for Text Field value. + message Text { + // Value of Text Field. + optional string value = 1; + } + + // Wrapper for Text List Field value. + message TextList { + // Text values. + repeated Text values = 1; + } + + // Wrapper for Selection Field value as combined value/display_name + // pair for selected choice. + message Selection { + // Selection value as Field Choice ID. + optional string value = 1; + + // Selection value as human-readable display string. + optional string display_name = 2; + } + + // Wrapper for SelectionList Field value. + message SelectionList { + // Selection values. + repeated Selection values = 1; + } + + // Wrapper for Integer Field value. + message Integer { + // Integer value. + optional int64 value = 1; + } + + // Wrapper for User Field value. + message SingleUser { + // User value as email. + optional string value = 1; + } + + // Wrapper for UserList Field value. + message UserList { + // User values. + repeated SingleUser values = 1; + } + + // Wrapper for Date Field value. + message Date { + // Date value. + optional google.protobuf.Timestamp value = 1; + } + + // Field values for all Field types. + oneof value { + // Text Field value. + Text text = 1; + + // Text List Field value. + TextList text_list = 3; + + // Selection Field value. + Selection selection = 4; + + // Selection List Field value. + SelectionList selection_list = 5; + + // Integer Field value. + Integer integer = 6; + + // User Field value. + SingleUser user = 7; + + // User List Field value. + UserList user_list = 8; + + // Date Field value. + Date date = 9; + } + } + + // The ID of this field. Field IDs are unique within a Label. + optional string field_id = 1; + + // The value that was previously set on the field. If not present, + // the field was newly set. At least one of {old_value|new_value} is + // always set. + optional FieldValue old_value = 2; + + // The value that is now set on the field. If not present, the field was + // cleared. At least one of {old_value|new_value} is always set. + optional FieldValue new_value = 3; + + // The human-readable display name for this field. + optional string display_name = 4; + } + + // The type of Label change + enum Type { + // The type of change to this Label is not available. + TYPE_UNSPECIFIED = 0; + + // The identified Label was added to the Target. + LABEL_ADDED = 1; + + // The identified Label was removed from the Target. + LABEL_REMOVED = 2; + + // Field values were changed on the Target. + LABEL_FIELD_VALUE_CHANGED = 3; + + // The Label was applied as a side-effect of Drive item creation. + LABEL_APPLIED_BY_ITEM_CREATE = 4; + } + + // The Label name representing the Label that changed. + // This name always contains the revision of the Label that was used + // when this Action occurred. The format is + // `labels/id@revision`. + string label = 1; + + // The types of changes made to the Label on the Target. + repeated Type types = 2; + + // The human-readable title of the label that changed. + string title = 3; + + // Field Changes. Only present if `types` contains + // `LABEL_FIELD_VALUE_CHANGED`. + repeated FieldValueChange field_changes = 4; + } + + // Changes that were made to the Label on the Target. + repeated AppliedLabelChangeDetail changes = 1; +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/actor.proto b/google-cloud/protos/google/apps/drive/activity/v2/actor.proto new file mode 100644 index 00000000..5a65ed0e --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/actor.proto @@ -0,0 +1,118 @@ +// 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.apps.drive.activity.v2; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "ActorProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// The actor of a Drive activity. +message Actor { + // The type of actor. + oneof type { + // An end user. + User user = 1; + + // An anonymous user. + AnonymousUser anonymous = 2; + + // An account acting on behalf of another. + Impersonation impersonation = 3; + + // A non-user actor (i.e. system triggered). + SystemEvent system = 4; + + // An administrator. + Administrator administrator = 5; + } +} + +// Information about an end user. +message User { + // A known user. + message KnownUser { + // The identifier for this user that can be used with the People API to get + // more information. The format is `people/ACCOUNT_ID`. See + // https://developers.google.com/people/. + string person_name = 1; + + // True if this is the user making the request. + bool is_current_user = 2; + } + + // A user whose account has since been deleted. + message DeletedUser { + + } + + // A user about whom nothing is currently known. + message UnknownUser { + + } + + // The type of user, such as known, unknown, and deleted. + oneof type { + // A known user. + KnownUser known_user = 2; + + // A user whose account has since been deleted. + DeletedUser deleted_user = 3; + + // A user about whom nothing is currently known. + UnknownUser unknown_user = 4; + } +} + +// Empty message representing an anonymous user or indicating the authenticated +// user should be anonymized. +message AnonymousUser { + +} + +// Information about an impersonation, where an admin acts on behalf of an end +// user. Information about the acting admin is not currently available. +message Impersonation { + // The impersonated user. + User impersonated_user = 1; +} + +// Event triggered by system operations instead of end users. +message SystemEvent { + // The types of system events that may trigger activity. + enum Type { + // The event type is unspecified. + TYPE_UNSPECIFIED = 0; + + // The event is a consequence of a user account being deleted. + USER_DELETION = 1; + + // The event is due to the system automatically purging trash. + TRASH_AUTO_PURGE = 2; + } + + // The type of the system event that may triggered activity. + Type type = 1; +} + +// Empty message representing an administrator. +message Administrator { + +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/common.proto b/google-cloud/protos/google/apps/drive/activity/v2/common.proto new file mode 100644 index 00000000..cf1a6b2a --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/common.proto @@ -0,0 +1,54 @@ +// 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.apps.drive.activity.v2; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// Information about time ranges. +message TimeRange { + // The start of the time range. + google.protobuf.Timestamp start_time = 1; + + // The end of the time range. + google.protobuf.Timestamp end_time = 2; +} + +// Information about a group. +message Group { + // The email address of the group. + string email = 1; + + // The title of the group. + string title = 2; +} + +// Information about a domain. +message Domain { + // The name of the domain, e.g. `google.com`. + string name = 1; + + // An opaque string used to identify this domain. + string legacy_id = 3; +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/drive_activity_service.proto b/google-cloud/protos/google/apps/drive/activity/v2/drive_activity_service.proto new file mode 100644 index 00000000..f54760c5 --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/drive_activity_service.proto @@ -0,0 +1,48 @@ +// 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.apps.drive.activity.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/apps/drive/activity/v2/query_drive_activity_request.proto"; +import "google/apps/drive/activity/v2/query_drive_activity_response.proto"; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "DriveActivityServiceProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// Service for querying activity on Drive items. Activity is user +// or system action on Drive items that happened in the past. A Drive item can +// be a file or folder, or a Team Drive. +service DriveActivityService { + option (google.api.default_host) = "driveactivity.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/drive.activity," + "https://www.googleapis.com/auth/drive.activity.readonly"; + + // Query past activity in Google Drive. + rpc QueryDriveActivity(QueryDriveActivityRequest) returns (QueryDriveActivityResponse) { + option (google.api.http) = { + post: "/v2/activity:query" + body: "*" + }; + } +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_grpc_service_config.json b/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_grpc_service_config.json new file mode 100644 index 00000000..a226a6bb --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_grpc_service_config.json @@ -0,0 +1,20 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.apps.drive.activity.v2.DriveActivityService", + "method": "QueryDriveActivity" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_v2.yaml b/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_v2.yaml new file mode 100644 index 00000000..fa499e63 --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/driveactivity_v2.yaml @@ -0,0 +1,18 @@ +type: google.api.Service +config_version: 3 +name: driveactivity.googleapis.com +title: Drive Activity API + +apis: +- name: google.apps.drive.activity.v2.DriveActivityService + +documentation: + summary: Provides a historical view of activity in Google Drive. + +authentication: + rules: + - selector: google.apps.drive.activity.v2.DriveActivityService.QueryDriveActivity + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive.activity, + https://www.googleapis.com/auth/drive.activity.readonly diff --git a/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_request.proto b/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_request.proto new file mode 100644 index 00000000..59d8087d --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_request.proto @@ -0,0 +1,108 @@ +// 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.apps.drive.activity.v2; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "QueryDriveActivityRequestProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// The request message for querying Drive activity. +message QueryDriveActivityRequest { + // The primary criteria in the query. The default is + // ancestor_name = `items/root` if no key is specified. + oneof key { + // Return activities for this Drive item. The format is + // `items/ITEM_ID`. + string item_name = 1; + + // Return activities for this Drive folder and all children and descendants. + // The format is `items/ITEM_ID`. + string ancestor_name = 2; + } + + // Details on how to consolidate related actions that make up the activity. If + // not set, then related actions are not consolidated. + ConsolidationStrategy consolidation_strategy = 5; + + // The miminum number of activities desired in the response; the server will + // attempt to return at least this quanitity. The server may also return fewer + // activities if it has a partial response ready before the request times out. + // If not set, a default value is used. + int32 page_size = 6; + + // The token identifying which page of results to return. Set this to the + // next_page_token value returned from a previous query to obtain the + // following page of results. If not set, the first page of results will be + // returned. + string page_token = 7; + + // The filtering for items returned from this query request. The format of the + // filter string is a sequence of expressions, joined by an optional "AND", + // where each expression is of the form "field operator value". + // + // Supported fields: + // + // - `time`: Uses numerical operators on date values either in + // terms of milliseconds since Jan 1, 1970 or in RFC 3339 format. + // Examples: + // - `time > 1452409200000 AND time <= 1492812924310` + // - `time >= "2016-01-10T01:02:03-05:00"` + // + // - `detail.action_detail_case`: Uses the "has" operator (:) and + // either a singular value or a list of allowed action types enclosed in + // parentheses. + // Examples: + // - `detail.action_detail_case: RENAME` + // - `detail.action_detail_case:(CREATE EDIT)` + // - `-detail.action_detail_case:MOVE` + // + string filter = 8; +} + +// How the individual activities are consolidated. A set of activities may be +// consolidated into one combined activity if they are related in some way, such +// as one actor performing the same action on multiple targets, or multiple +// actors performing the same action on a single target. The strategy defines +// the rules for which activities are related. +message ConsolidationStrategy { + // A strategy which does no consolidation of individual activities. + message NoConsolidation { + + } + + // A strategy which consolidates activities using the grouping rules from the + // legacy V1 Activity API. Similar actions occurring within a window of time + // can be grouped across multiple targets (such as moving a set of files at + // once) or multiple actors (such as several users editing the same item). + // Grouping rules for this strategy are specific to each type of action. + message Legacy { + + } + + // How the individual activities are consolidated. + oneof strategy { + // The individual activities are not consolidated. + NoConsolidation none = 1; + + // The individual activities are consolidated using the legacy strategy. + Legacy legacy = 2; + } +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_response.proto b/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_response.proto new file mode 100644 index 00000000..61ca30ed --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/query_drive_activity_response.proto @@ -0,0 +1,74 @@ +// 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.apps.drive.activity.v2; + +import "google/apps/drive/activity/v2/action.proto"; +import "google/apps/drive/activity/v2/actor.proto"; +import "google/apps/drive/activity/v2/common.proto"; +import "google/apps/drive/activity/v2/target.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "QueryDriveActivityResponseProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// Response message for querying Drive activity. +message QueryDriveActivityResponse { + // List of activity requested. + repeated DriveActivity activities = 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; +} + +// A single Drive activity comprising one or more Actions by one or more +// Actors on one or more Targets. Some Action groupings occur spontaneously, +// such as moving an item into a shared folder triggering a permission change. +// Other groupings of related Actions, such as multiple Actors editing one item +// or moving multiple files into a new folder, are controlled by the selection +// of a ConsolidationStrategy in the QueryDriveActivityRequest. +message DriveActivity { + // Key information about the primary action for this activity. This is either + // representative, or the most important, of all actions in the activity, + // according to the ConsolidationStrategy in the request. + ActionDetail primary_action_detail = 2; + + // All actor(s) responsible for the activity. + repeated Actor actors = 3; + + // Details on all actions in this activity. + repeated Action actions = 4; + + // All Google Drive objects this activity is about (e.g. file, folder, drive). + // This represents the state of the target immediately after the actions + // occurred. + repeated Target targets = 5; + + // The period of time when this activity occurred. + oneof time { + // The activity occurred at this specific time. + google.protobuf.Timestamp timestamp = 6; + + // The activity occurred over this time range. + TimeRange time_range = 7; + } +} diff --git a/google-cloud/protos/google/apps/drive/activity/v2/target.proto b/google-cloud/protos/google/apps/drive/activity/v2/target.proto new file mode 100644 index 00000000..f6967fce --- /dev/null +++ b/google-cloud/protos/google/apps/drive/activity/v2/target.proto @@ -0,0 +1,265 @@ +// 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.apps.drive.activity.v2; + +import "google/apps/drive/activity/v2/actor.proto"; +import "google/apps/drive/activity/v2/common.proto"; + +option csharp_namespace = "Google.Apps.Drive.Activity.V2"; +option go_package = "google.golang.org/genproto/googleapis/apps/drive/activity/v2;activity"; +option java_multiple_files = true; +option java_outer_classname = "TargetProto"; +option java_package = "com.google.apps.drive.activity.v2"; +option objc_class_prefix = "GADA"; +option php_namespace = "Google\\Apps\\Drive\\Activity\\V2"; + +// Information about the target of activity. +message Target { + // The type of target object. + oneof object { + // The target is a Drive item. + DriveItem drive_item = 1; + + // The target is a shared drive. + Drive drive = 5; + + // The target is a comment on a Drive file. + FileComment file_comment = 3; + } + + // This field is deprecated; please use the `drive` field instead. + TeamDrive team_drive = 2 [deprecated = true]; +} + +// A lightweight reference to the target of activity. +message TargetReference { + // The type of target object. + oneof object { + // The target is a Drive item. + DriveItemReference drive_item = 1; + + // The target is a shared drive. + DriveReference drive = 3; + } + + // This field is deprecated; please use the `drive` field instead. + TeamDriveReference team_drive = 2 [deprecated = true]; +} + +// A comment on a file. +message FileComment { + // The comment in the discussion thread. This identifier is an opaque string + // compatible with the Drive API; see + // https://developers.google.com/drive/v3/reference/comments/get + string legacy_comment_id = 1; + + // The discussion thread to which the comment was added. This identifier is an + // opaque string compatible with the Drive API and references the first + // comment in a discussion; see + // https://developers.google.com/drive/v3/reference/comments/get + string legacy_discussion_id = 2; + + // The link to the discussion thread containing this comment, for example, + // `https://docs.google.com/DOCUMENT_ID/edit?disco=THREAD_ID`. + string link_to_discussion = 3; + + // The Drive item containing this comment. + DriveItem parent = 4; +} + +// A Drive item, such as a file or folder. +message DriveItem { + // This item is deprecated; please see `DriveFile` instead. + message File { + option deprecated = true; + + + } + + // This item is deprecated; please see `DriveFolder` instead. + message Folder { + option deprecated = true; + + // This item is deprecated; please see `DriveFolder.Type` instead. + enum Type { + option deprecated = true; + + // This item is deprecated; please see `DriveFolder.Type` instead. + TYPE_UNSPECIFIED = 0; + + // This item is deprecated; please see `DriveFolder.Type` instead. + MY_DRIVE_ROOT = 1; + + // This item is deprecated; please see `DriveFolder.Type` instead. + TEAM_DRIVE_ROOT = 2; + + // This item is deprecated; please see `DriveFolder.Type` instead. + STANDARD_FOLDER = 3; + } + + // This field is deprecated; please see `DriveFolder.type` instead. + Type type = 6; + } + + // A Drive item which is a file. + message DriveFile { + + } + + // A Drive item which is a folder. + message DriveFolder { + // The type of a Drive folder. + enum Type { + // The folder type is unknown. + TYPE_UNSPECIFIED = 0; + + // The folder is the root of a user's MyDrive. + MY_DRIVE_ROOT = 1; + + // The folder is the root of a shared drive. + SHARED_DRIVE_ROOT = 2; + + // The folder is a standard, non-root, folder. + STANDARD_FOLDER = 3; + } + + // The type of Drive folder. + Type type = 6; + } + + // The target Drive item. The format is `items/ITEM_ID`. + string name = 1; + + // The title of the Drive item. + string title = 2; + + // This field is deprecated; please use the `driveFile` field instead. + File file = 3 [deprecated = true]; + + // This field is deprecated; please use the `driveFolder` field instead. + Folder folder = 4 [deprecated = true]; + + // If present, this describes the type of the Drive item. + oneof item_type { + // The Drive item is a file. + DriveFile drive_file = 8; + + // The Drive item is a folder. Includes information about the type of + // folder. + DriveFolder drive_folder = 9; + } + + // The MIME type of the Drive item. See + // https://developers.google.com/drive/v3/web/mime-types. + string mime_type = 6; + + // Information about the owner of this Drive item. + Owner owner = 7; +} + +// Information about the owner of a Drive item. +message Owner { + // The owner of the Drive item. + oneof owner { + // The user that owns the Drive item. + User user = 1; + + // The drive that owns the item. + DriveReference drive = 4; + } + + // This field is deprecated; please use the `drive` field instead. + TeamDriveReference team_drive = 2 [deprecated = true]; + + // The domain of the Drive item owner. + Domain domain = 3; +} + +// This item is deprecated; please see `Drive` instead. +message TeamDrive { + option deprecated = true; + + // This field is deprecated; please see `Drive.name` instead. + string name = 1; + + // This field is deprecated; please see `Drive.title` instead. + string title = 2; + + // This field is deprecated; please see `Drive.root` instead. + DriveItem root = 3; +} + +// Information about a shared drive. +message Drive { + // The resource name of the shared drive. The format is + // `COLLECTION_ID/DRIVE_ID`. Clients should not assume a specific collection + // ID for this resource name. + string name = 1; + + // The title of the shared drive. + string title = 2; + + // The root of this shared drive. + DriveItem root = 3; +} + +// A lightweight reference to a Drive item, such as a file or folder. +message DriveItemReference { + // The target Drive item. The format is `items/ITEM_ID`. + string name = 1; + + // The title of the Drive item. + string title = 2; + + // This field is deprecated; please use the `driveFile` field instead. + DriveItem.File file = 3 [deprecated = true]; + + // This field is deprecated; please use the `driveFolder` field instead. + DriveItem.Folder folder = 4 [deprecated = true]; + + // If present, this describes the type of the Drive item. + oneof item_type { + // The Drive item is a file. + DriveItem.DriveFile drive_file = 8; + + // The Drive item is a folder. Includes information about the type of + // folder. + DriveItem.DriveFolder drive_folder = 9; + } +} + +// This item is deprecated; please see `DriveReference` instead. +message TeamDriveReference { + option deprecated = true; + + // This field is deprecated; please see `DriveReference.name` instead. + string name = 1; + + // This field is deprecated; please see `DriveReference.title` instead. + string title = 2; +} + +// A lightweight reference to a shared drive. +message DriveReference { + // The resource name of the shared drive. The format is + // `COLLECTION_ID/DRIVE_ID`. Clients should not assume a specific collection + // ID for this resource name. + string name = 1; + + // The title of the shared drive. + string title = 2; +} diff --git a/google-cloud/protos/google/apps/market/v2/BUILD.bazel b/google-cloud/protos/google/apps/market/v2/BUILD.bazel new file mode 100644 index 00000000..32b1c8cd --- /dev/null +++ b/google-cloud/protos/google/apps/market/v2/BUILD.bazel @@ -0,0 +1,350 @@ +# 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 = "marketplace_proto", + srcs = [ + "resources.proto", + "services.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + ], +) + +proto_library_with_info( + name = "marketplace_proto_with_info", + deps = [ + ":marketplace_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 = "marketplace_java_proto", + deps = [":marketplace_proto"], +) + +java_grpc_library( + name = "marketplace_java_grpc", + srcs = [":marketplace_proto"], + deps = [":marketplace_java_proto"], +) + +java_gapic_library( + name = "marketplace_java_gapic", + srcs = [":marketplace_proto_with_info"], + grpc_service_config = "service_grpc_service_config.json", + test_deps = [ + ":marketplace_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":marketplace_java_proto", + ], +) + +java_gapic_test( + name = "marketplace_java_gapic_test_suite", + test_classes = [ + "com.google.ccc.hosted.marketplace.v2.CustomerLicenseServiceClientHttpJsonTest", + "com.google.ccc.hosted.marketplace.v2.CustomerLicenseServiceClientTest", + "com.google.ccc.hosted.marketplace.v2.LicenseNotificationServiceClientHttpJsonTest", + "com.google.ccc.hosted.marketplace.v2.LicenseNotificationServiceClientTest", + "com.google.ccc.hosted.marketplace.v2.UserLicenseServiceClientHttpJsonTest", + "com.google.ccc.hosted.marketplace.v2.UserLicenseServiceClientTest", + ], + runtime_deps = [":marketplace_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-hosted-marketplace-v2-java", + transport = "grpc+rest", + deps = [ + ":marketplace_java_gapic", + ":marketplace_java_grpc", + ":marketplace_java_proto", + ":marketplace_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "marketplace_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/ccc/hosted/marketplace/v2", + protos = [":marketplace_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "marketplace_go_gapic", + srcs = [":marketplace_proto_with_info"], + grpc_service_config = "service_grpc_service_config.json", + importpath = "google.golang.org/ccc/hosted/marketplace/v2;marketplace", + metadata = True, + service_yaml = "appsmarket_v2.yaml", + deps = [ + ":marketplace_go_proto", + ], +) + +go_test( + name = "marketplace_go_gapic_test", + srcs = [":marketplace_go_gapic_srcjar_test"], + embed = [":marketplace_go_gapic"], + importpath = "google.golang.org/ccc/hosted/marketplace/v2", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-hosted-marketplace-v2-go", + deps = [ + ":marketplace_go_gapic", + ":marketplace_go_gapic_srcjar-metadata.srcjar", + ":marketplace_go_gapic_srcjar-test.srcjar", + ":marketplace_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "marketplace_py_gapic", + srcs = [":marketplace_proto"], + grpc_service_config = "service_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "marketplace_py_gapic_test", + srcs = [ + "marketplace_py_gapic_pytest.py", + "marketplace_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":marketplace_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "hosted-marketplace-v2-py", + deps = [ + ":marketplace_py_gapic", + ], +) + +############################################################################## +# 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 = "marketplace_php_proto", + deps = [":marketplace_proto"], +) + +php_grpc_library( + name = "marketplace_php_grpc", + srcs = [":marketplace_proto"], + deps = [":marketplace_php_proto"], +) + +php_gapic_library( + name = "marketplace_php_gapic", + srcs = [":marketplace_proto_with_info"], + grpc_service_config = "service_grpc_service_config.json", + deps = [ + ":marketplace_php_grpc", + ":marketplace_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-hosted-marketplace-v2-php", + deps = [ + ":marketplace_php_gapic", + ":marketplace_php_grpc", + ":marketplace_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "marketplace_nodejs_gapic", + package_name = "@google-cloud/marketplace", + src = ":marketplace_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "service_grpc_service_config.json", + package = "ccc.hosted.marketplace.v2", + service_yaml = "appsmarket_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "hosted-marketplace-v2-nodejs", + deps = [ + ":marketplace_nodejs_gapic", + ":marketplace_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 = "marketplace_ruby_proto", + deps = [":marketplace_proto"], +) + +ruby_grpc_library( + name = "marketplace_ruby_grpc", + srcs = [":marketplace_proto"], + deps = [":marketplace_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "marketplace_ruby_gapic", + srcs = [":marketplace_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-hosted-marketplace-v2", + ], + grpc_service_config = "service_grpc_service_config.json", + deps = [ + ":marketplace_ruby_grpc", + ":marketplace_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-hosted-marketplace-v2-ruby", + deps = [ + ":marketplace_ruby_gapic", + ":marketplace_ruby_grpc", + ":marketplace_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 = "marketplace_csharp_proto", + deps = [":marketplace_proto"], +) + +csharp_grpc_library( + name = "marketplace_csharp_grpc", + srcs = [":marketplace_proto"], + deps = [":marketplace_csharp_proto"], +) + +csharp_gapic_library( + name = "marketplace_csharp_gapic", + srcs = [":marketplace_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "service_grpc_service_config.json", + service_yaml = "appsmarket_v2.yaml", + deps = [ + ":marketplace_csharp_grpc", + ":marketplace_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-hosted-marketplace-v2-csharp", + deps = [ + ":marketplace_csharp_gapic", + ":marketplace_csharp_grpc", + ":marketplace_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/apps/market/v2/appsmarket_v2.yaml b/google-cloud/protos/google/apps/market/v2/appsmarket_v2.yaml new file mode 100644 index 00000000..1fb992cd --- /dev/null +++ b/google-cloud/protos/google/apps/market/v2/appsmarket_v2.yaml @@ -0,0 +1,38 @@ +type: google.api.Service +config_version: 3 +name: appsmarket.googleapis.com +title: Google Workspace Marketplace API + +apis: +- name: ccc.hosted.marketplace.v2.CustomerLicenseService +- name: ccc.hosted.marketplace.v2.LicenseNotificationService +- name: ccc.hosted.marketplace.v2.UserLicenseService + +documentation: + summary: |- + Lets your Google Workspace Marketplace applications integrate with Google's + licensing and billing services. + +backend: + rules: + - selector: ccc.hosted.marketplace.v2.CustomerLicenseService.Get + deadline: 20.0 + - selector: ccc.hosted.marketplace.v2.LicenseNotificationService.List + deadline: 20.0 + - selector: ccc.hosted.marketplace.v2.UserLicenseService.Get + deadline: 20.0 + +authentication: + rules: + - selector: ccc.hosted.marketplace.v2.CustomerLicenseService.Get + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appsmarketplace.license + - selector: ccc.hosted.marketplace.v2.LicenseNotificationService.List + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appsmarketplace.license + - selector: ccc.hosted.marketplace.v2.UserLicenseService.Get + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appsmarketplace.license diff --git a/google-cloud/protos/google/apps/market/v2/resources.proto b/google-cloud/protos/google/apps/market/v2/resources.proto new file mode 100644 index 00000000..782edab3 --- /dev/null +++ b/google-cloud/protos/google/apps/market/v2/resources.proto @@ -0,0 +1,175 @@ +// 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 ccc.hosted.marketplace.v2; + + +option go_package = "google.golang.org/genproto/googleapis/ccc/hosted/marketplace/v2;marketplace"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.ccc.hosted.marketplace.v2"; +option php_namespace = "Google\\Apps\\Market\\V2"; + +message CustomerLicense { + message Editions { + // (Deprecated) + string edition_id = 405 [deprecated = true]; + + // (Deprecated) + int32 seat_count = 406 [deprecated = true]; + + // (Deprecated) + int32 assigned_seats = 409 [deprecated = true]; + } + + // The type of API resource. This is always appsmarket#customerLicense. + string kind = 1; + + // The customer's license status. One of: + // + // - `ACTIVE`: The customer has a valid license. + // - `UNLICENSED`: There is no license: either this customer has never + // installed your application, or else has deleted it. + string state = 2; + + // The ID of the application corresponding to this license query. + string application_id = 3; + + // (Deprecated) + repeated Editions editions = 4 [deprecated = true]; + + // The ID of the customer license. + string id = 101; + + // The domain name of the customer. + string customer_id = 102; +} + +message LicenseNotification { + message Deletes { + string kind = 1; + + // (Deprecated) + string edition_id = 901 [deprecated = true]; + } + + message Expiries { + string kind = 1; + + // (Deprecated) + string edition_id = 701 [deprecated = true]; + } + + message Provisions { + string kind = 1; + + // (Deprecated) + string edition_id = 601 [deprecated = true]; + + // The number of seats that were provisioned. + int64 seat_count = 602; + } + + message Reassignments { + string kind = 1; + + // The email address of the reassigned user. + string user_id = 801; + + string type = 802; + + // (Deprecated) + string edition_id = 803 [deprecated = true]; + } + + // The ID of the license notification. + string id = 1; + + // The ID of the application according to this notification. + string application_id = 2; + + // The time the event occurred, measuring in milliseconds since the UNIX + // epoch. + int64 timestamp = 3; + + // The domain name of the customer corresponding to this notification. + string customer_id = 4; + + // The type of API resource. This is always appsmarket#licenseNotification. + string kind = 5; + + // The list of provisioning notifications. + repeated Provisions provisions = 6; + + // The list of expiry notifications. + repeated Expiries expiries = 7; + + // The list of reassignment notifications. + repeated Reassignments reassignments = 8; + + // The list of deletion notifications. + repeated Deletes deletes = 9; +} + +message LicenseNotificationList { + string kind = 1; + + // The list of notifications. One or more of: + // + // - `provisions`: A new license of the application has been provisioned. + // - `expiries`: A license of the application has expired. + // - `deletions`: An application has been deleted from a domain. + // - `reassignments`: An administrator has assigned or revoked a seat license + // for the application on the provided domain. + repeated LicenseNotification notifications = 1007; + + // The token used to continue querying for notifications after the final + // notification in the current result set. + string next_page_token = 100602; +} + +message UserLicense { + // The type of API resource. This is always appsmarket#userLicense. + string kind = 1; + + // The domain administrator has activated the application for this domain. + bool enabled = 2; + + // The user's licensing status. One of: + // + // - `ACTIVE`: The user has a valid license and should be permitted to use the + // application. + // - `UNLICENSED`: The administrator of this user's domain never assigned a + // seat for the application to this user. + // - `EXPIRED`: The administrator assigned a seat to this user, but the + // license is expired. + string state = 3; + + // (Deprecated) + string edition_id = 4 [deprecated = true]; + + // The domain name of the user. + string customer_id = 5; + + // The ID of the application corresponding to the license query. + string application_id = 6; + + // The ID of user license. + string id = 101; + + // The email address of the user. + string user_id = 102; +} diff --git a/google-cloud/protos/google/apps/market/v2/service_grpc_service_config.json b/google-cloud/protos/google/apps/market/v2/service_grpc_service_config.json new file mode 100644 index 00000000..65501070 --- /dev/null +++ b/google-cloud/protos/google/apps/market/v2/service_grpc_service_config.json @@ -0,0 +1,27 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "ccc.hosted.marketplace.v2.CustomerLicenseService", + "method": "Get" + }, + { + "service": "ccc.hosted.marketplace.v2.LicenseNotificationService", + "method": "List" + }, + { + "service": "ccc.hosted.marketplace.v2.UserLicenseService", + "method": "Get" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE", "UNKNOWN"] + } + } + ] +} diff --git a/google-cloud/protos/google/apps/market/v2/services.proto b/google-cloud/protos/google/apps/market/v2/services.proto new file mode 100644 index 00000000..83855e77 --- /dev/null +++ b/google-cloud/protos/google/apps/market/v2/services.proto @@ -0,0 +1,96 @@ +// 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 ccc.hosted.marketplace.v2; + +import "google/api/annotations.proto"; +import "google/apps/market/v2/resources.proto"; +import "google/api/client.proto"; + +option go_package = "google.golang.org/genproto/googleapis/ccc/hosted/marketplace/v2;marketplace"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.ccc.hosted.marketplace.v2"; +option php_namespace = "Google\\Apps\\Market\\V2"; + +service CustomerLicenseService { + option (google.api.default_host) = "appsmarket.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appsmarketplace.license"; + + // Get the status of a license for a customer to determine if they have access + // for a given app. + rpc Get(CustomerLicenseGetRequest) returns (CustomerLicense) { + option (google.api.http) = { + get: "/appsmarket/v2/customerLicense/{application_id}/{customer_id}" + }; + } +} + +service LicenseNotificationService { + option (google.api.default_host) = "appsmarket.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appsmarketplace.license"; + + // Get a list of licensing notifications with regards to a given app. + rpc List(LicenseNotificationListRequest) returns (LicenseNotificationList) { + option (google.api.http) = { + get: "/appsmarket/v2/licenseNotification/{application_id}" + body: "*" + }; + } +} + +service UserLicenseService { + option (google.api.default_host) = "appsmarket.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appsmarketplace.license"; + + // Get the user's licensing status for their permission to use a given app. + rpc Get(UserLicenseGetRequest) returns (UserLicense) { + option (google.api.http) = { + get: "/appsmarket/v2/userLicense/{application_id}/{user_id}" + }; + } +} + +message CustomerLicenseGetRequest { + // Application Id + string application_id = 1; + + // Customer Id + string customer_id = 2; +} + +message LicenseNotificationListRequest { + // Application Id + string application_id = 1; + + uint32 max_results = 2; + + string start_token = 3; + + // Timestamp in milliseconds since epoch + uint64 timestamp = 4; +} + +message UserLicenseGetRequest { + // Application Id + string application_id = 1; + + // User Id + string user_id = 2; +} diff --git a/google-cloud/protos/google/apps/script/type/BUILD.bazel b/google-cloud/protos/google/apps/script/type/BUILD.bazel new file mode 100644 index 00000000..619630a6 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/BUILD.bazel @@ -0,0 +1,148 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "type_proto", + srcs = [ + "addon_widget_set.proto", + "extension_point.proto", + "script_manifest.proto", + ], + deps = [ + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +java_proto_library( + name = "type_java_proto", + deps = [":type_proto"], +) + +java_grpc_library( + name = "type_java_grpc", + srcs = [":type_proto"], + deps = [":type_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-java", + transport = "grpc+rest", + deps = [ + ":type_java_grpc", + ":type_java_proto", + ":type_proto", + ], +) + +go_proto_library( + name = "type_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type", + protos = [":type_proto"], +) + +moved_proto_library( + name = "type_moved_proto", + srcs = [":type_proto"], + deps = [ + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +py_proto_library( + name = "type_py_proto", + deps = [":type_moved_proto"], +) + +py_proto_library( + name = "type_py_original_proto", + deps = [":type_proto"], +) + +py_grpc_library( + name = "type_py_grpc", + srcs = [":type_moved_proto"], + deps = [":type_py_proto"], +) + +php_proto_library( + name = "type_php_proto", + deps = [":type_proto"], +) + +php_grpc_library( + name = "type_php_grpc", + srcs = [":type_proto"], + deps = [":type_php_proto"], +) + +ruby_proto_library( + name = "type_ruby_proto", + deps = [":type_proto"], +) + +ruby_grpc_library( + name = "type_ruby_grpc", + srcs = [":type_proto"], + deps = [":type_ruby_proto"], +) + +csharp_proto_library( + name = "type_csharp_proto", + deps = [":type_proto"], +) + +csharp_grpc_library( + name = "type_csharp_grpc", + srcs = [":type_proto"], + deps = [":type_csharp_proto"], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-apps-script-type-csharp", + package_name = "Google.Apps.Script.Type", + generate_nongapic_package = True, + deps = [ + ":type_csharp_grpc", + ":type_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/addon_widget_set.proto b/google-cloud/protos/google/apps/script/type/addon_widget_set.proto new file mode 100644 index 00000000..477ff90f --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/addon_widget_set.proto @@ -0,0 +1,58 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type; + +option csharp_namespace = "Google.Apps.Script.Type"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type"; +option java_multiple_files = true; +option java_outer_classname = "AddOnWidgetSetProto"; +option java_package = "com.google.apps.script.type"; +option php_namespace = "Google\\Apps\\Script\\Type"; +option ruby_package = "Google::Apps::Script::Type"; + +// The widget subset used by an add-on. +message AddOnWidgetSet { + // The Widget type. DEFAULT is the basic widget set. + enum WidgetType { + // The default widget set. + WIDGET_TYPE_UNSPECIFIED = 0; + + // The date picker. + DATE_PICKER = 1; + + // Styled buttons include filled buttons and disabled buttons. + STYLED_BUTTONS = 2; + + // Persistent forms allow persisting form values during actions. + PERSISTENT_FORMS = 3; + + // Fixed footer in card. + FIXED_FOOTER = 4; + + // Update the subject and recipients of a draft. + UPDATE_SUBJECT_AND_RECIPIENTS = 5; + + // The grid widget. + GRID_WIDGET = 6; + + // A Gmail add-on action that applies to the addon compose UI. + ADDON_COMPOSE_UI_ACTION = 7; + } + + // The list of widgets used in an add-on. + repeated WidgetType used_widgets = 1; +} diff --git a/google-cloud/protos/google/apps/script/type/calendar/BUILD.bazel b/google-cloud/protos/google/apps/script/type/calendar/BUILD.bazel new file mode 100644 index 00000000..7e70f970 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/calendar/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", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "calendar_proto", + srcs = [ + "calendar_addon_manifest.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +java_proto_library( + name = "calendar_java_proto", + deps = [":calendar_proto"], +) + +java_grpc_library( + name = "calendar_java_grpc", + srcs = [":calendar_proto"], + deps = [":calendar_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-calendar-java", + transport = "grpc+rest", + deps = [ + ":calendar_java_grpc", + ":calendar_java_proto", + ":calendar_proto", + ], +) + +go_proto_library( + name = "calendar_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/calendar", + protos = [":calendar_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "calendar_moved_proto", + srcs = [":calendar_proto"], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +py_proto_library( + name = "calendar_py_proto", + deps = [":calendar_moved_proto"], +) + +py_proto_library( + name = "calendar_py_original_proto", + deps = [":calendar_proto"], +) + +py_grpc_library( + name = "calendar_py_grpc", + srcs = [":calendar_moved_proto"], + deps = [":calendar_py_proto"], +) + +php_proto_library( + name = "calendar_php_proto", + deps = [":calendar_proto"], +) + +php_grpc_library( + name = "calendar_php_grpc", + srcs = [":calendar_proto"], + deps = [":calendar_php_proto"], +) + +ruby_proto_library( + name = "calendar_ruby_proto", + deps = [":calendar_proto"], +) + +ruby_grpc_library( + name = "calendar_ruby_grpc", + srcs = [":calendar_proto"], + deps = [":calendar_ruby_proto"], +) + +csharp_proto_library( + name = "calendar_csharp_proto", + deps = [":calendar_proto"], +) + +csharp_grpc_library( + name = "calendar_csharp_grpc", + srcs = [":calendar_proto"], + deps = [":calendar_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/calendar/calendar_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/calendar/calendar_addon_manifest.proto new file mode 100644 index 00000000..3d21cd28 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/calendar/calendar_addon_manifest.proto @@ -0,0 +1,107 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.calendar; + +import "google/api/field_behavior.proto"; +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Calendar"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/calendar"; +option java_multiple_files = true; +option java_outer_classname = "CalendarAddOnManifestProto"; +option java_package = "com.google.apps.script.type.calendar"; +option php_namespace = "Google\\Apps\\Script\\Type\\Calendar"; +option ruby_package = "Google::Apps::Script::Type::Calendar"; + +// Manifest section specific to Calendar Add-ons. + +// Calendar add-on manifest. +message CalendarAddOnManifest { + // An enum defining the level of data access event triggers require. + enum EventAccess { + // Default value when nothing is set for EventAccess. + UNSPECIFIED = 0; + + // METADATA gives event triggers the permission to access the metadata of + // events such as event id and calendar id. + METADATA = 1; + + // READ gives event triggers access to all provided event fields including + // the metadata, attendees, and conference data. + READ = 3; + + // WRITE gives event triggers access to the metadata of events and the + // ability to perform all actions, including adding attendees and setting + // conference data. + WRITE = 4; + + // READ_WRITE gives event triggers access to all provided event fields + // including the metadata, attendees, and conference data and the ability to + // perform all actions. + READ_WRITE = 5; + } + + // Defines an endpoint that will be executed contexts that don't + // match a declared contextual trigger. Any cards generated by this function + // will always be available to the user, but may be eclipsed by contextual + // content when this add-on declares more targeted triggers. + // + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 6; + + // Defines conference solutions provided by this add-on. + repeated ConferenceSolution conference_solution = 3; + + // An endpoint to execute that creates a URL to the add-on's settings page. + string create_settings_url_function = 5; + + // An endpoint to trigger when an event is opened (viewed/edited). + CalendarExtensionPoint event_open_trigger = 10; + + // An endpoint to trigger when the open event is updated. + CalendarExtensionPoint event_update_trigger = 11; + + // Define the level of data access when an event addon is triggered. + EventAccess current_event_access = 12; +} + +// Defines conference related values. +message ConferenceSolution { + // Required. The endpoint to call when ConferenceData should be created. + string on_create_function = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. IDs should be unique across ConferenceSolutions within one + // add-on, but this is not strictly enforced. It is up to the add-on developer + // to assign them uniquely, otherwise the wrong ConferenceSolution may be + // used when the add-on is triggered. While the developer may change the + // display name of an add-on, the ID should not be changed. + string id = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The display name of the ConferenceSolution. + string name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The URL for the logo image of the ConferenceSolution. + string logo_url = 6 [(google.api.field_behavior) = REQUIRED]; +} + +// Common format for declaring a calendar add-on's triggers. +message CalendarExtensionPoint { + // Required. The endpoint to execute when this extension point is + // activated. + string run_function = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/apps/script/type/docs/BUILD.bazel b/google-cloud/protos/google/apps/script/type/docs/BUILD.bazel new file mode 100644 index 00000000..e82d088e --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/docs/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", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "docs_proto", + srcs = [ + "docs_addon_manifest.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +java_proto_library( + name = "docs_java_proto", + deps = [":docs_proto"], +) + +java_grpc_library( + name = "docs_java_grpc", + srcs = [":docs_proto"], + deps = [":docs_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-docs-java", + transport = "grpc+rest", + deps = [ + ":docs_java_grpc", + ":docs_java_proto", + ":docs_proto", + ], +) + +go_proto_library( + name = "docs_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/docs", + protos = [":docs_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "docs_moved_proto", + srcs = [":docs_proto"], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +py_proto_library( + name = "docs_py_proto", + deps = [":docs_moved_proto"], +) + +py_proto_library( + name = "docs_py_original_proto", + deps = [":docs_proto"], +) + +py_grpc_library( + name = "docs_py_grpc", + srcs = [":docs_moved_proto"], + deps = [":docs_py_proto"], +) + +php_proto_library( + name = "docs_php_proto", + deps = [":docs_proto"], +) + +php_grpc_library( + name = "docs_php_grpc", + srcs = [":docs_proto"], + deps = [":docs_php_proto"], +) + +ruby_proto_library( + name = "docs_ruby_proto", + deps = [":docs_proto"], +) + +ruby_grpc_library( + name = "docs_ruby_grpc", + srcs = [":docs_proto"], + deps = [":docs_ruby_proto"], +) + +csharp_proto_library( + name = "docs_csharp_proto", + deps = [":docs_proto"], +) + +csharp_grpc_library( + name = "docs_csharp_grpc", + srcs = [":docs_proto"], + deps = [":docs_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/docs/docs_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/docs/docs_addon_manifest.proto new file mode 100644 index 00000000..395523be --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/docs/docs_addon_manifest.proto @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.docs; + +import "google/api/field_behavior.proto"; +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Docs"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/docs"; +option java_multiple_files = true; +option java_outer_classname = "DocsAddOnManifestProto"; +option java_package = "com.google.apps.script.type.docs"; +option php_namespace = "Google\\Apps\\Script\\Type\\Docs"; +option ruby_package = "Google::Apps::Script::Type::Docs"; + +// Manifest section specific to Docs Add-ons. + +// Docs add-on manifest. +message DocsAddOnManifest { + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 1; + + // Endpoint to execute when file scope authorization is granted + // for this document/user pair. + DocsExtensionPoint on_file_scope_granted_trigger = 2; +} + +// Common format for declaring a Docs add-on's triggers. +message DocsExtensionPoint { + // Required. The endpoint to execute when this extension point is activated. + string run_function = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/apps/script/type/drive/BUILD.bazel b/google-cloud/protos/google/apps/script/type/drive/BUILD.bazel new file mode 100644 index 00000000..817fd122 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/drive/BUILD.bazel @@ -0,0 +1,135 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "drive_proto", + srcs = [ + "drive_addon_manifest.proto", + ], + deps = [ + "//google/apps/script/type:type_proto", + ], +) + +java_proto_library( + name = "drive_java_proto", + deps = [":drive_proto"], +) + +java_grpc_library( + name = "drive_java_grpc", + srcs = [":drive_proto"], + deps = [":drive_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-drive-java", + transport = "grpc+rest", + deps = [ + ":drive_java_grpc", + ":drive_java_proto", + ":drive_proto", + ], +) + +go_proto_library( + name = "drive_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/drive", + protos = [":drive_proto"], + deps = [ + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "drive_moved_proto", + srcs = [":drive_proto"], + deps = [ + "//google/apps/script/type:type_proto", + ], +) + +py_proto_library( + name = "drive_py_proto", + deps = [":drive_moved_proto"], +) + +py_proto_library( + name = "drive_py_original_proto", + deps = [":drive_proto"], +) + +py_grpc_library( + name = "drive_py_grpc", + srcs = [":drive_moved_proto"], + deps = [":drive_py_proto"], +) + +php_proto_library( + name = "drive_php_proto", + deps = [":drive_proto"], +) + +php_grpc_library( + name = "drive_php_grpc", + srcs = [":drive_proto"], + deps = [":drive_php_proto"], +) + +ruby_proto_library( + name = "drive_ruby_proto", + deps = [":drive_proto"], +) + +ruby_grpc_library( + name = "drive_ruby_grpc", + srcs = [":drive_proto"], + deps = [":drive_ruby_proto"], +) + +csharp_proto_library( + name = "drive_csharp_proto", + deps = [":drive_proto"], +) + +csharp_grpc_library( + name = "drive_csharp_grpc", + srcs = [":drive_proto"], + deps = [":drive_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/drive/drive_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/drive/drive_addon_manifest.proto new file mode 100644 index 00000000..55da161c --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/drive/drive_addon_manifest.proto @@ -0,0 +1,48 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.drive; + +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Drive"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/drive"; +option java_multiple_files = true; +option java_outer_classname = "DriveAddOnManifestProto"; +option java_package = "com.google.apps.script.type.drive"; +option php_namespace = "Google\\Apps\\Script\\Type\\Drive"; +option ruby_package = "Google::Apps::Script::Type::Drive"; + +// Manifest section specific to Drive Add-ons. + +// Drive add-on manifest. +message DriveAddOnManifest { + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 1; + + // Corresponds to behvior that should execute when items are selected + // in relevant Drive view (e.g. the My Drive Doclist). + DriveExtensionPoint on_items_selected_trigger = 2; +} + +// A generic extension point with common features, e.g. something that simply +// needs a corresponding run function to work. +message DriveExtensionPoint { + // Required. The endpoint to execute when this extension point is + // activated. + string run_function = 1; +} diff --git a/google-cloud/protos/google/apps/script/type/extension_point.proto b/google-cloud/protos/google/apps/script/type/extension_point.proto new file mode 100644 index 00000000..f387c864 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/extension_point.proto @@ -0,0 +1,77 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type; + +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Apps.Script.Type"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type"; +option java_multiple_files = true; +option java_package = "com.google.apps.script.type"; +option php_namespace = "Google\\Apps\\Script\\Type"; +option ruby_package = "Google::Apps::Script::Type"; + +// Common Manifest protos for G Suite extension-point configuration. + +// Common format for declaring a menu item, or button, that appears within a +// host app. +message MenuItemExtensionPoint { + // Required. The endpoint to execute when this extension point is + // activated. + string run_function = 1; + + // Required. User-visible text describing the action taken by activating this + // extension point. For example, "Insert invoice". + string label = 2; + + // The URL for the logo image shown in the add-on toolbar. + // + // If not set, defaults to the add-on's primary logo URL. + string logo_url = 3; +} + +// Common format for declaring an add-on's home-page view. +message HomepageExtensionPoint { + // Required. The endpoint to execute when this extension point is + // activated. + string run_function = 1; + + // Optional. If set to `false`, disable the home-page view in this context. + // + // Defaults to `true` if unset. + // + // If an add-ons custom home-page view is disabled, an autogenerated overview + // card will be provided for users instead. + google.protobuf.BoolValue enabled = 2; +} + +// Format for declaring a universal action menu item extension point. +message UniversalActionExtensionPoint { + // Required. User-visible text describing the action taken by activating this + // extension point, for example, "Add a new contact". + string label = 1; + + // Required. The action type supported on a universal action menu item. It + // could be either a link to open or an endpoint to execute. + oneof action_type { + // URL to be opened by the UniversalAction. + string open_link = 2; + + // Endpoint to be run by the UniversalAction. + string run_function = 3; + } +} diff --git a/google-cloud/protos/google/apps/script/type/gmail/BUILD.bazel b/google-cloud/protos/google/apps/script/type/gmail/BUILD.bazel new file mode 100644 index 00000000..b5d48c4f --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/gmail/BUILD.bazel @@ -0,0 +1,137 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "gmail_proto", + srcs = [ + "gmail_addon_manifest.proto", + ], + deps = [ + "//google/apps/script/type:type_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +java_proto_library( + name = "gmail_java_proto", + deps = [":gmail_proto"], +) + +java_grpc_library( + name = "gmail_java_grpc", + srcs = [":gmail_proto"], + deps = [":gmail_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-gmail-java", + transport = "grpc+rest", + deps = [ + ":gmail_java_grpc", + ":gmail_java_proto", + ":gmail_proto", + ], +) + +go_proto_library( + name = "gmail_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/gmail", + protos = [":gmail_proto"], + deps = [ + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "gmail_moved_proto", + srcs = [":gmail_proto"], + deps = [ + "//google/apps/script/type:type_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +py_proto_library( + name = "gmail_py_proto", + deps = [":gmail_moved_proto"], +) + +py_proto_library( + name = "gmail_py_original_proto", + deps = [":gmail_proto"], +) + +py_grpc_library( + name = "gmail_py_grpc", + srcs = [":gmail_moved_proto"], + deps = [":gmail_py_proto"], +) + +php_proto_library( + name = "gmail_php_proto", + deps = [":gmail_proto"], +) + +php_grpc_library( + name = "gmail_php_grpc", + srcs = [":gmail_proto"], + deps = [":gmail_php_proto"], +) + +ruby_proto_library( + name = "gmail_ruby_proto", + deps = [":gmail_proto"], +) + +ruby_grpc_library( + name = "gmail_ruby_grpc", + srcs = [":gmail_proto"], + deps = [":gmail_ruby_proto"], +) + +csharp_proto_library( + name = "gmail_csharp_proto", + deps = [":gmail_proto"], +) + +csharp_grpc_library( + name = "gmail_csharp_grpc", + srcs = [":gmail_proto"], + deps = [":gmail_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/gmail/gmail_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/gmail/gmail_addon_manifest.proto new file mode 100644 index 00000000..eda20078 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/gmail/gmail_addon_manifest.proto @@ -0,0 +1,127 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.gmail; + +import "google/apps/script/type/addon_widget_set.proto"; +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Gmail"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/gmail"; +option java_multiple_files = true; +option java_outer_classname = "GmailAddOnManifestProto"; +option java_package = "com.google.apps.script.type.gmail"; +option php_namespace = "Google\\Apps\\Script\\Type\\Gmail"; +option ruby_package = "Google::Apps::Script::Type::Gmail"; + +// Properties customizing the appearance and execution of a Gmail add-on. +message GmailAddOnManifest { + // Defines an endpoint that will be executed in contexts that don't + // match a declared contextual trigger. Any cards generated by this function + // will always be available to the user, but may be eclipsed by contextual + // content when this add-on declares more targeted triggers. + // + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 14; + + // Defines the set of conditions that trigger the add-on. + repeated ContextualTrigger contextual_triggers = 3; + + // Defines set of [universal + // actions](/gmail/add-ons/how-tos/universal-actions) for the add-on. The user + // triggers universal actions from the add-on toolbar menu. + repeated UniversalAction universal_actions = 4; + + // Defines the compose time trigger for a compose time add-on. This is the + // trigger that causes an add-on to take action when the user is composing an + // email. + // All compose time addons are required to have the + // gmail.addons.current.action.compose scope even though it might not edit the + // draft. + ComposeTrigger compose_trigger = 12; + + // The name of an endpoint that verifies that the add-on has + // all the required third-party authorizations, by probing the third-party + // APIs. If the probe fails, the function should throw an exception to + // initiate the authorization flow. This function is called before each + // invocation of the add-on, in order to ensure a smooth user experience. + string authorization_check_function = 7; +} + +// An action that is always available in the add-on toolbar menu regardless of +// message context. +message UniversalAction { + // Required. User-visible text describing the action, for example, "Add a new + // contact." + string text = 1; + + // The type of the action determines the behavior of Gmail when the user + // invokes the action. + oneof action_type { + // A link that is opened by Gmail when the user triggers the action. + string open_link = 2; + + // An endpoint that is called when the user triggers the + // action. See the [universal actions + // guide](/gmail/add-ons/how-tos/universal-actions) for details. + string run_function = 3; + } +} + +// A trigger that activates when user is composing an email. +message ComposeTrigger { + // An enum defining the level of data access this compose trigger requires. + enum DraftAccess { + // Default value when nothing is set for DraftAccess. + UNSPECIFIED = 0; + + // NONE means compose trigger won't be able to access any data of the draft + // when a compose addon is triggered. + NONE = 1; + + // METADATA gives compose trigger the permission to access the metadata of + // the draft when a compose addon is triggered. This includes the audience + // list (To/cc list) of a draft message. + METADATA = 2; + } + + // Defines the set of actions for compose time add-on. These are actions + // that user can trigger on a compose time addon. + repeated google.apps.script.type.MenuItemExtensionPoint actions = 5; + + // Define the level of data access when a compose time addon is triggered. + DraftAccess draft_access = 4; +} + +// Defines a trigger that fires when the open email meets a specific criteria. +// When the trigger fires, it executes a specific endpoint, usually +// in order to create new cards and update the UI. +message ContextualTrigger { + // The type of trigger determines the conditions Gmail uses to show the + // add-on. + oneof trigger { + // UnconditionalTriggers are executed when any mail message is opened. + UnconditionalTrigger unconditional = 1; + } + + // Required. The name of the endpoint to call when a message matches the + // trigger. + string on_trigger_function = 4; +} + +// A trigger that fires when any email message is opened. +message UnconditionalTrigger {} diff --git a/google-cloud/protos/google/apps/script/type/script_manifest.proto b/google-cloud/protos/google/apps/script/type/script_manifest.proto new file mode 100644 index 00000000..572d5da9 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/script_manifest.proto @@ -0,0 +1,105 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type; + +import "google/apps/script/type/addon_widget_set.proto"; +import "google/apps/script/type/extension_point.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Apps.Script.Type"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type"; +option java_multiple_files = true; +option java_package = "com.google.apps.script.type"; +option php_namespace = "Google\\Apps\\Script\\Type"; +option ruby_package = "Google::Apps::Script::Type"; + +// Add-on configuration that is shared across all add-on host applications. +message CommonAddOnManifest { + // Required. The display name of the add-on. + string name = 1; + + // Required. The URL for the logo image shown in the add-on toolbar. + string logo_url = 2; + + // Common layout properties for the add-on cards. + LayoutProperties layout_properties = 3; + + // The widgets used in the add-on. If this field is not specified, + // it indicates that default set is used. + AddOnWidgetSet add_on_widget_set = 4; + + // Whether to pass locale information from host app. + bool use_locale_from_app = 5; + + // Defines an endpoint that will be executed in any context, in + // any host. Any cards generated by this function will always be available to + // the user, but may be eclipsed by contextual content when this add-on + // declares more targeted triggers. + HomepageExtensionPoint homepage_trigger = 6; + + // Defines a list of extension points in the universal action menu which + // serves as a setting menu for the add-on. The extension point can be + // link URL to open or an endpoint to execute as a form + // submission. + repeated UniversalActionExtensionPoint universal_actions = 7; + + // An OpenLink action + // can only use a URL with an HTTPS, MAILTO or TEL scheme. For HTTPS links, + // the URL must also + // [match](/gmail/add-ons/concepts/manifests#whitelisting_urls) one of the + // prefixes specified in this whitelist. If the prefix omits the scheme, HTTPS + // is assumed. Notice that HTTP links are automatically rewritten to HTTPS + // links. + google.protobuf.ListValue open_link_url_prefixes = 8; +} + +// Card layout properties shared across all add-on host applications. +message LayoutProperties { + // The primary color of the add-on. It sets the color of toolbar. If no + // primary color is set explicitly, the default value provided by the + // framework is used. + string primary_color = 1; + + // The secondary color of the add-on. It sets the color of buttons. + // If primary color is set but no secondary color is set, the + // secondary color is the same as the primary color. If neither primary + // color nor secondary color is set, the default value provided by the + // framework is used. + string secondary_color = 2; +} + +// Options for sending requests to add-on HTTP endpoints +message HttpOptions { + // Configuration for the token sent in the HTTP Authorization header + HttpAuthorizationHeader authorization_header = 1; +} + +// Authorization header sent in add-on HTTP requests +enum HttpAuthorizationHeader { + // Default value, equivalent to `SYSTEM_ID_TOKEN` + HTTP_AUTHORIZATION_HEADER_UNSPECIFIED = 0; + + // Send an ID token for the project-specific Google Workspace Add-ons system + // service account (default) + SYSTEM_ID_TOKEN = 1; + + // Send an ID token for the end user + USER_ID_TOKEN = 2; + + // Do not send an Authentication header + NONE = 3; +} diff --git a/google-cloud/protos/google/apps/script/type/sheets/BUILD.bazel b/google-cloud/protos/google/apps/script/type/sheets/BUILD.bazel new file mode 100644 index 00000000..d85c7384 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/sheets/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", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "sheets_proto", + srcs = [ + "sheets_addon_manifest.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +java_proto_library( + name = "sheets_java_proto", + deps = [":sheets_proto"], +) + +java_grpc_library( + name = "sheets_java_grpc", + srcs = [":sheets_proto"], + deps = [":sheets_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-sheets-java", + transport = "grpc+rest", + deps = [ + ":sheets_java_grpc", + ":sheets_java_proto", + ":sheets_proto", + ], +) + +go_proto_library( + name = "sheets_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/sheets", + protos = [":sheets_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "sheets_moved_proto", + srcs = [":sheets_proto"], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +py_proto_library( + name = "sheets_py_proto", + deps = [":sheets_moved_proto"], +) + +py_proto_library( + name = "sheets_py_original_proto", + deps = [":sheets_proto"], +) + +py_grpc_library( + name = "sheets_py_grpc", + srcs = [":sheets_moved_proto"], + deps = [":sheets_py_proto"], +) + +php_proto_library( + name = "sheets_php_proto", + deps = [":sheets_proto"], +) + +php_grpc_library( + name = "sheets_php_grpc", + srcs = [":sheets_proto"], + deps = [":sheets_php_proto"], +) + +ruby_proto_library( + name = "sheets_ruby_proto", + deps = [":sheets_proto"], +) + +ruby_grpc_library( + name = "sheets_ruby_grpc", + srcs = [":sheets_proto"], + deps = [":sheets_ruby_proto"], +) + +csharp_proto_library( + name = "sheets_csharp_proto", + deps = [":sheets_proto"], +) + +csharp_grpc_library( + name = "sheets_csharp_grpc", + srcs = [":sheets_proto"], + deps = [":sheets_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/sheets/sheets_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/sheets/sheets_addon_manifest.proto new file mode 100644 index 00000000..c34bca71 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/sheets/sheets_addon_manifest.proto @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.sheets; + +import "google/api/field_behavior.proto"; +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Sheets"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/sheets"; +option java_multiple_files = true; +option java_outer_classname = "SheetsAddOnManifestProto"; +option java_package = "com.google.apps.script.type.sheets"; +option php_namespace = "Google\\Apps\\Script\\Type\\Sheets"; +option ruby_package = "Google::Apps::Script::Type::Sheets"; + +// Manifest section specific to Sheets Add-ons. + +// Sheets add-on manifest. +message SheetsAddOnManifest { + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 3; + + // Endpoint to execute when file scope authorization is granted + // for this document/user pair. + SheetsExtensionPoint on_file_scope_granted_trigger = 5; +} + +// Common format for declaring a Sheets add-on's triggers. +message SheetsExtensionPoint { + // Required. The endpoint to execute when this extension point is activated. + string run_function = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/apps/script/type/slides/BUILD.bazel b/google-cloud/protos/google/apps/script/type/slides/BUILD.bazel new file mode 100644 index 00000000..37d8ff59 --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/slides/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", + "csharp_grpc_library", + "csharp_proto_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "moved_proto_library", + "php_grpc_library", + "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 = "slides_proto", + srcs = [ + "slides_addon_manifest.proto", + ], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +java_proto_library( + name = "slides_java_proto", + deps = [":slides_proto"], +) + +java_grpc_library( + name = "slides_java_grpc", + srcs = [":slides_proto"], + deps = [":slides_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-slides-java", + transport = "grpc+rest", + deps = [ + ":slides_java_grpc", + ":slides_java_proto", + ":slides_proto", + ], +) + +go_proto_library( + name = "slides_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/apps/script/type/slides", + protos = [":slides_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/apps/script/type:type_go_proto", + ], +) + +moved_proto_library( + name = "slides_moved_proto", + srcs = [":slides_proto"], + deps = [ + "//google/api:field_behavior_proto", + "//google/apps/script/type:type_proto", + ], +) + +py_proto_library( + name = "slides_py_proto", + deps = [":slides_moved_proto"], +) + +py_proto_library( + name = "slides_py_original_proto", + deps = [":slides_proto"], +) + +py_grpc_library( + name = "slides_py_grpc", + srcs = [":slides_moved_proto"], + deps = [":slides_py_proto"], +) + +php_proto_library( + name = "slides_php_proto", + deps = [":slides_proto"], +) + +php_grpc_library( + name = "slides_php_grpc", + srcs = [":slides_proto"], + deps = [":slides_php_proto"], +) + +ruby_proto_library( + name = "slides_ruby_proto", + deps = [":slides_proto"], +) + +ruby_grpc_library( + name = "slides_ruby_grpc", + srcs = [":slides_proto"], + deps = [":slides_ruby_proto"], +) + +csharp_proto_library( + name = "slides_csharp_proto", + deps = [":slides_proto"], +) + +csharp_grpc_library( + name = "slides_csharp_grpc", + srcs = [":slides_proto"], + deps = [":slides_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/google-cloud/protos/google/apps/script/type/slides/slides_addon_manifest.proto b/google-cloud/protos/google/apps/script/type/slides/slides_addon_manifest.proto new file mode 100644 index 00000000..6a51bb2f --- /dev/null +++ b/google-cloud/protos/google/apps/script/type/slides/slides_addon_manifest.proto @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.apps.script.type.slides; + +import "google/api/field_behavior.proto"; +import "google/apps/script/type/extension_point.proto"; + +option csharp_namespace = "Google.Apps.Script.Type.Slides"; +option go_package = "google.golang.org/genproto/googleapis/apps/script/type/slides"; +option java_multiple_files = true; +option java_outer_classname = "SlidesAddOnManifestProto"; +option java_package = "com.google.apps.script.type.slides"; +option php_namespace = "Google\\Apps\\Script\\Type\\Slides"; +option ruby_package = "Google::Apps::Script::Type::Slides"; + +// Manifest section specific to Slides Add-ons. + +// Slides add-on manifest. +message SlidesAddOnManifest { + // If present, this overrides the configuration from + // `addOns.common.homepageTrigger`. + google.apps.script.type.HomepageExtensionPoint homepage_trigger = 1; + + // Endpoint to execute when file scope authorization is granted + // for this document/user pair. + SlidesExtensionPoint on_file_scope_granted_trigger = 2; +} + +// Common format for declaring a Slides add-on's triggers. +message SlidesExtensionPoint { + // Required. The endpoint to execute when this extension point is activated. + string run_function = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/area120/tables/BUILD.bazel b/google-cloud/protos/google/area120/tables/BUILD.bazel new file mode 100644 index 00000000..3814ace0 --- /dev/null +++ b/google-cloud/protos/google/area120/tables/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-area120-tables. + +# 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 area120tables. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1alpha1 in this case. +ruby_cloud_gapic_library( + name = "area120tables_ruby_wrapper", + srcs = ["//google/area120/tables/v1alpha1:tables_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-area120-tables", + "ruby-cloud-env-prefix=AREA120_TABLES", + "ruby-cloud-wrapper-of=v1alpha1:0.0", + "ruby-cloud-product-url=https://tables.area120.google.com/u/0/about#/", + "ruby-cloud-api-id=area120tables.googleapis.com", + "ruby-cloud-api-shortname=area120tables", + ], + ruby_cloud_description = "Using the Area 120 Tables API, you can query for tables, and update/create/delete rows within tables programmatically.", + ruby_cloud_title = "Area 120 Tables", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-area120-tables-ruby", + deps = [ + ":area120tables_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/area120/tables/v1alpha1/BUILD.bazel b/google-cloud/protos/google/area120/tables/v1alpha1/BUILD.bazel new file mode 100644 index 00000000..3c635126 --- /dev/null +++ b/google-cloud/protos/google/area120/tables/v1alpha1/BUILD.bazel @@ -0,0 +1,356 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "tables_proto", + srcs = [ + "tables.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//:struct_proto", + ], +) + +proto_library_with_info( + name = "tables_proto_with_info", + deps = [ + ":tables_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 = "tables_java_proto", + deps = [":tables_proto"], +) + +java_grpc_library( + name = "tables_java_grpc", + srcs = [":tables_proto"], + deps = [":tables_java_proto"], +) + +java_gapic_library( + name = "tables_java_gapic", + srcs = [":tables_proto_with_info"], + gapic_yaml = "language_gapic.yaml", + grpc_service_config = "tables_grpc_service_config.json", + test_deps = [ + ":tables_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":tables_java_proto", + ], +) + +java_gapic_test( + name = "tables_java_gapic_test_suite", + test_classes = [ + "com.google.area120.tables.v1alpha.TablesServiceClientHttpJsonTest", + "com.google.area120.tables.v1alpha.TablesServiceClientTest", + ], + runtime_deps = [":tables_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-area120-tables-v1alpha1-java", + transport = "grpc+rest", + deps = [ + ":tables_java_gapic", + ":tables_java_grpc", + ":tables_java_proto", + ":tables_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "tables_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/area120/tables/v1alpha1", + protos = [":tables_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "tables_go_gapic", + srcs = [":tables_proto_with_info"], + grpc_service_config = "tables_grpc_service_config.json", + importpath = "google.golang.org/google/area120/tables/v1alpha1;tables", + service_yaml = "area120tables_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":tables_go_proto", + ], +) + +go_test( + name = "tables_go_gapic_test", + srcs = [":tables_go_gapic_srcjar_test"], + embed = [":tables_go_gapic"], + importpath = "google.golang.org/google/area120/tables/v1alpha1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-area120-tables-v1alpha1-go", + deps = [ + ":tables_go_gapic", + ":tables_go_gapic_srcjar-test.srcjar", + ":tables_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "tables_py_gapic", + srcs = [":tables_proto"], + grpc_service_config = "tables_grpc_service_config.json", + transport = "grpc+rest", +) + +py_test( + name = "tables_py_gapic_test", + srcs = [ + "tables_py_gapic_pytest.py", + "tables_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":tables_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "area120-tables-v1alpha1-py", + deps = [ + ":tables_py_gapic", + ], +) + +############################################################################## +# 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 = "tables_php_proto", + deps = [":tables_proto"], +) + +php_grpc_library( + name = "tables_php_grpc", + srcs = [":tables_proto"], + deps = [":tables_php_proto"], +) + +php_gapic_library( + name = "tables_php_gapic", + srcs = [":tables_proto_with_info"], + grpc_service_config = "tables_grpc_service_config.json", + deps = [ + ":tables_php_grpc", + ":tables_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-area120-tables-v1alpha1-php", + deps = [ + ":tables_php_gapic", + ":tables_php_grpc", + ":tables_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "tables_nodejs_gapic", + package_name = "@google/area120-tables", + src = ":tables_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "tables_grpc_service_config.json", + package = "google.area120.tables.v1alpha1", + service_yaml = "area120tables_v1alpha1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "area120-tables-v1alpha1-nodejs", + deps = [ + ":tables_nodejs_gapic", + ":tables_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 = "tables_ruby_proto", + deps = [":tables_proto"], +) + +ruby_grpc_library( + name = "tables_ruby_grpc", + srcs = [":tables_proto"], + deps = [":tables_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "tables_ruby_gapic", + srcs = [":tables_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-area120-tables-v1alpha1", + "ruby-cloud-env-prefix=AREA120_TABLES", + "ruby-cloud-product-url=https://tables.area120.google.com/u/0/about#/", + "ruby-cloud-api-id=area120tables.googleapis.com", + "ruby-cloud-api-shortname=area120tables", + ], + grpc_service_config = "tables_grpc_service_config.json", + ruby_cloud_description = "Using the Area 120 Tables API, you can query for tables, and update/create/delete rows within tables programmatically.", + ruby_cloud_title = "Area 120 Tables V1alpha1", + deps = [ + ":tables_ruby_grpc", + ":tables_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-area120-tables-v1alpha1-ruby", + deps = [ + ":tables_ruby_gapic", + ":tables_ruby_grpc", + ":tables_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 = "tables_csharp_proto", + deps = [":tables_proto"], +) + +csharp_grpc_library( + name = "tables_csharp_grpc", + srcs = [":tables_proto"], + deps = [":tables_csharp_proto"], +) + +csharp_gapic_library( + name = "tables_csharp_gapic", + srcs = [":tables_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "tables_grpc_service_config.json", + service_yaml = "area120tables_v1alpha1.yaml", + deps = [ + ":tables_csharp_grpc", + ":tables_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-area120-tables-v1alpha1-csharp", + deps = [ + ":tables_csharp_gapic", + ":tables_csharp_grpc", + ":tables_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/area120/tables/v1alpha1/area120tables_v1alpha1.yaml b/google-cloud/protos/google/area120/tables/v1alpha1/area120tables_v1alpha1.yaml new file mode 100644 index 00000000..62cbd7a1 --- /dev/null +++ b/google-cloud/protos/google/area120/tables/v1alpha1/area120tables_v1alpha1.yaml @@ -0,0 +1,61 @@ +type: google.api.Service +config_version: 3 +name: area120tables.googleapis.com +title: Area120 Tables API + +apis: +- name: google.area120.tables.v1alpha1.TablesService + +authentication: + rules: + - selector: 'google.area120.tables.v1alpha1.TablesService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/drive.readonly, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/spreadsheets.readonly, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.BatchCreateRows + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.BatchDeleteRows + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.BatchUpdateRows + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.CreateRow + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.DeleteRow + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables + - selector: google.area120.tables.v1alpha1.TablesService.UpdateRow + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/drive, + https://www.googleapis.com/auth/drive.file, + https://www.googleapis.com/auth/spreadsheets, + https://www.googleapis.com/auth/tables diff --git a/google-cloud/protos/google/area120/tables/v1alpha1/language_gapic.yaml b/google-cloud/protos/google/area120/tables/v1alpha1/language_gapic.yaml new file mode 100644 index 00000000..2c450053 --- /dev/null +++ b/google-cloud/protos/google/area120/tables/v1alpha1/language_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.area120.tables.v1alpha diff --git a/google-cloud/protos/google/area120/tables/v1alpha1/tables.proto b/google-cloud/protos/google/area120/tables/v1alpha1/tables.proto new file mode 100644 index 00000000..91cf178a --- /dev/null +++ b/google-cloud/protos/google/area120/tables/v1alpha1/tables.proto @@ -0,0 +1,504 @@ +// 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.area120.tables.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/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/genproto/googleapis/area120/tables/v1alpha1;tables"; +option java_multiple_files = true; +option java_outer_classname = "TablesProto"; +option java_package = "com.google.area120.tables.v1alpha1"; + +// The Tables Service provides an API for reading and updating tables. +// It defines the following resource model: +// +// - The API has a collection of [Table][google.area120.tables.v1alpha1.Table] +// resources, named `tables/*` +// +// - Each Table has a collection of [Row][google.area120.tables.v1alpha1.Row] +// resources, named `tables/*/rows/*` +// +// - The API has a collection of +// [Workspace][google.area120.tables.v1alpha1.Workspace] +// resources, named `workspaces/*`. +service TablesService { + option (google.api.default_host) = "area120tables.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/drive," + "https://www.googleapis.com/auth/drive.file," + "https://www.googleapis.com/auth/drive.readonly," + "https://www.googleapis.com/auth/spreadsheets," + "https://www.googleapis.com/auth/spreadsheets.readonly," + "https://www.googleapis.com/auth/tables"; + + // Gets a table. Returns NOT_FOUND if the table does not exist. + rpc GetTable(GetTableRequest) returns (Table) { + option (google.api.http) = { + get: "/v1alpha1/{name=tables/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists tables for the user. + rpc ListTables(ListTablesRequest) returns (ListTablesResponse) { + option (google.api.http) = { + get: "/v1alpha1/tables" + }; + } + + // Gets a workspace. Returns NOT_FOUND if the workspace does not exist. + rpc GetWorkspace(GetWorkspaceRequest) returns (Workspace) { + option (google.api.http) = { + get: "/v1alpha1/{name=workspaces/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists workspaces for the user. + rpc ListWorkspaces(ListWorkspacesRequest) returns (ListWorkspacesResponse) { + option (google.api.http) = { + get: "/v1alpha1/workspaces" + }; + } + + // Gets a row. Returns NOT_FOUND if the row does not exist in the table. + rpc GetRow(GetRowRequest) returns (Row) { + option (google.api.http) = { + get: "/v1alpha1/{name=tables/*/rows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists rows in a table. Returns NOT_FOUND if the table does not exist. + rpc ListRows(ListRowsRequest) returns (ListRowsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=tables/*}/rows" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a row. + rpc CreateRow(CreateRowRequest) returns (Row) { + option (google.api.http) = { + post: "/v1alpha1/{parent=tables/*}/rows" + body: "row" + }; + option (google.api.method_signature) = "parent,row"; + } + + // Creates multiple rows. + rpc BatchCreateRows(BatchCreateRowsRequest) returns (BatchCreateRowsResponse) { + option (google.api.http) = { + post: "/v1alpha1/{parent=tables/*}/rows:batchCreate" + body: "*" + }; + } + + // Updates a row. + rpc UpdateRow(UpdateRowRequest) returns (Row) { + option (google.api.http) = { + patch: "/v1alpha1/{row.name=tables/*/rows/*}" + body: "row" + }; + option (google.api.method_signature) = "row,update_mask"; + } + + // Updates multiple rows. + rpc BatchUpdateRows(BatchUpdateRowsRequest) returns (BatchUpdateRowsResponse) { + option (google.api.http) = { + post: "/v1alpha1/{parent=tables/*}/rows:batchUpdate" + body: "*" + }; + } + + // Deletes a row. + rpc DeleteRow(DeleteRowRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1alpha1/{name=tables/*/rows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes multiple rows. + rpc BatchDeleteRows(BatchDeleteRowsRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1alpha1/{parent=tables/*}/rows:batchDelete" + body: "*" + }; + } +} + +// Request message for TablesService.GetTable. +message GetTableRequest { + // Required. The name of the table to retrieve. + // Format: tables/{table} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Table" + } + ]; +} + +// Request message for TablesService.ListTables. +message ListTablesRequest { + // The maximum number of tables to return. The service may return fewer than + // this value. + // + // If unspecified, at most 20 tables are returned. The maximum value is 100; + // values above 100 are coerced to 100. + int32 page_size = 1; + + // 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 = 2; +} + +// Response message for TablesService.ListTables. +message ListTablesResponse { + // The list of tables. + repeated Table tables = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is empty, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for TablesService.GetWorkspace. +message GetWorkspaceRequest { + // Required. The name of the workspace to retrieve. + // Format: workspaces/{workspace} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Workspace" + } + ]; +} + +// Request message for TablesService.ListWorkspaces. +message ListWorkspacesRequest { + // The maximum number of workspaces to return. The service may return fewer + // than this value. + // + // If unspecified, at most 10 workspaces are returned. The maximum value is + // 25; values above 25 are coerced to 25. + int32 page_size = 1; + + // A page token, received from a previous `ListWorkspaces` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListWorkspaces` must + // match the call that provided the page token. + string page_token = 2; +} + +// Response message for TablesService.ListWorkspaces. +message ListWorkspacesResponse { + // The list of workspaces. + repeated Workspace workspaces = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is empty, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for TablesService.GetRow. +message GetRowRequest { + // Required. The name of the row to retrieve. + // Format: tables/{table}/rows/{row} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Row" + } + ]; + + // Optional. Column key to use for values in the row. + // Defaults to user entered name. + View view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for TablesService.ListRows. +message ListRowsRequest { + // Required. The parent table. + // Format: tables/{table} + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of rows to return. The service may return fewer than + // this value. + // + // If unspecified, at most 50 rows are returned. The maximum value is 1,000; + // values above 1,000 are coerced to 1,000. + int32 page_size = 2; + + // A page token, received from a previous `ListRows` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListRows` must match + // the call that provided the page token. + string page_token = 3; + + // Optional. Column key to use for values in the row. + // Defaults to user entered name. + View view = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Raw text query to search for in rows of the table. + // Special characters must be escaped. Logical operators and field specific + // filtering not supported. + string filter = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for TablesService.ListRows. +message ListRowsResponse { + // The rows from the specified table. + repeated Row rows = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is empty, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for TablesService.CreateRow. +message CreateRowRequest { + // Required. The parent table where this row will be created. + // Format: tables/{table} + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The row to create. + Row row = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Column key to use for values in the row. + // Defaults to user entered name. + View view = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for TablesService.BatchCreateRows. +message BatchCreateRowsRequest { + // Required. The parent table where the rows will be created. + // Format: tables/{table} + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The request message specifying the rows to create. + // + // A maximum of 500 rows can be created in a single batch. + repeated CreateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for TablesService.BatchCreateRows. +message BatchCreateRowsResponse { + // The created rows. + repeated Row rows = 1; +} + +// Request message for TablesService.UpdateRow. +message UpdateRowRequest { + // Required. The row to update. + Row row = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to update. + google.protobuf.FieldMask update_mask = 2; + + // Optional. Column key to use for values in the row. + // Defaults to user entered name. + View view = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for TablesService.BatchUpdateRows. +message BatchUpdateRowsRequest { + // Required. The parent table shared by all rows being updated. + // Format: tables/{table} + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The request messages specifying the rows to update. + // + // A maximum of 500 rows can be modified in a single batch. + repeated UpdateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for TablesService.BatchUpdateRows. +message BatchUpdateRowsResponse { + // The updated rows. + repeated Row rows = 1; +} + +// Request message for TablesService.DeleteRow +message DeleteRowRequest { + // Required. The name of the row to delete. + // Format: tables/{table}/rows/{row} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Row" + } + ]; +} + +// Request message for TablesService.BatchDeleteRows +message BatchDeleteRowsRequest { + // Required. The parent table shared by all rows being deleted. + // Format: tables/{table} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Table" + } + ]; + + // Required. The names of the rows to delete. All rows must belong to the parent table + // or else the entire batch will fail. A maximum of 500 rows can be deleted + // in a batch. + // Format: tables/{table}/rows/{row} + repeated string names = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "area120tables.googleapis.com/Row" + } + ]; +} + +// A single table. +message Table { + option (google.api.resource) = { + type: "area120tables.googleapis.com/Table" + pattern: "tables/{table}" + }; + + // The resource name of the table. + // Table names have the form `tables/{table}`. + string name = 1; + + // The human readable title of the table. + string display_name = 2; + + // List of columns in this table. + // Order of columns matches the display order. + repeated ColumnDescription columns = 3; +} + +// Details on a column in the table. +message ColumnDescription { + // column name + string name = 1; + + // Data type of the column + // Supported types are auto_id, boolean, boolean_list, creator, + // create_timestamp, date, dropdown, location, integer, + // integer_list, number, number_list, person, person_list, tags, check_list, + // text, text_list, update_timestamp, updater, relationship, + // file_attachment_list. + // These types directly map to the column types supported on Tables website. + string data_type = 2; + + // Internal id for a column. + string id = 3; + + // Optional. Range of labeled values for the column. + // Some columns like tags and drop-downs limit the values to a set of + // possible values. We return the range of values in such cases to help + // clients implement better user data validation. + repeated LabeledItem labels = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional details about a relationship column. Specified when data_type + // is relationship. + RelationshipDetails relationship_details = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Indicates that this is a lookup column whose value is derived from the + // relationship column specified in the details. Lookup columns can not be + // updated directly. To change the value you must update the associated + // relationship column. + LookupDetails lookup_details = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// A single item in a labeled column. +message LabeledItem { + // Display string as entered by user. + string name = 1; + + // Internal id associated with the item. + string id = 2; +} + +// Details about a relationship column. +message RelationshipDetails { + // The name of the table this relationship is linked to. + string linked_table = 1; +} + +// Details about a lookup column whose value comes from the associated +// relationship. +message LookupDetails { + // The name of the relationship column associated with the lookup. + string relationship_column = 1; + + // The id of the relationship column. + string relationship_column_id = 2; +} + +// A single row in a table. +message Row { + option (google.api.resource) = { + type: "area120tables.googleapis.com/Row" + pattern: "tables/{table}/rows/{row}" + }; + + // The resource name of the row. + // Row names have the form `tables/{table}/rows/{row}`. + // The name is ignored when creating a row. + string name = 1; + + // The values of the row. This is a map of column key to value. + // Key is user entered name(default) or the internal column id based on + // the view in the request. + map values = 2; +} + +// A single workspace. +message Workspace { + option (google.api.resource) = { + type: "area120tables.googleapis.com/Workspace" + pattern: "workspaces/{workspace}" + }; + + // The resource name of the workspace. + // Workspace names have the form `workspaces/{workspace}`. + string name = 1; + + // The human readable title of the workspace. + string display_name = 2; + + // The list of tables in the workspace. + repeated Table tables = 3; +} + +// Column identifier used for the values in the row. +enum View { + // Defaults to user entered text. + VIEW_UNSPECIFIED = 0; + + // Uses internally generated column id to identify values. + COLUMN_ID_VIEW = 1; +} diff --git a/google-cloud/protos/google/area120/tables/v1alpha1/tables_grpc_service_config.json b/google-cloud/protos/google/area120/tables/v1alpha1/tables_grpc_service_config.json new file mode 100644 index 00000000..58b7f751 --- /dev/null +++ b/google-cloud/protos/google/area120/tables/v1alpha1/tables_grpc_service_config.json @@ -0,0 +1,31 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.area120.tables.v1alpha1.TablesService" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "ListWorkspaces" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "GetWorkspace" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "ListTables" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "GetTable" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "GetRow" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "ListRows" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "CreateRow" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "BatchCreateRows" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "UpdateRow" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "BatchUpdateRows" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "DeleteRow" }, + { "service": "google.area120.tables.v1alpha1.TablesService", "method": "BatchDeleteRows" } + ], + "timeout": "60s" + }] +} + diff --git a/google-cloud/protos/google/artman_core.yaml b/google-cloud/protos/google/artman_core.yaml deleted file mode 100644 index 3cdd232e..00000000 --- a/google-cloud/protos/google/artman_core.yaml +++ /dev/null @@ -1,23 +0,0 @@ -common: - api_name: common-protos - organization_name: google - src_proto_paths: - - api - - cloud/audit - - geo/type - - logging/type - - longrunning - - rpc - - type - # Exclusions - - -api/servicemanagement - - -api/servicecontrol - - -api/expr -artifacts: -- name: java_grpc - type: GRPC - language: JAVA - release_level: GA -- name: php_grpc - type: GRPC - language: PHP diff --git a/google-cloud/protos/google/artman_logging_external_types.yaml b/google-cloud/protos/google/artman_logging_external_types.yaml deleted file mode 100644 index 87570827..00000000 --- a/google-cloud/protos/google/artman_logging_external_types.yaml +++ /dev/null @@ -1,22 +0,0 @@ -common: - api_name: logging-external-types - organization_name: google - src_proto_paths: - - appengine/legacy - - appengine/logging/v1 - - cloud/audit - - cloud/bigquery/logging/v1 - - iam/v1/logging - proto_deps: - - name: google-common-protos - - name: google-iam-v1 - proto_path: google/iam/v1 - - name: google-appengine-v1 - proto_path: google/appengine/v1 -artifacts: -- name: java_grpc - type: GRPC - language: JAVA -- name: php_grpc - type: GRPC - language: PHP diff --git a/google-cloud/protos/google/bigtable/BUILD.bazel b/google-cloud/protos/google/bigtable/BUILD.bazel index 1e5b8c2a..a87c57fe 100644 --- a/google-cloud/protos/google/bigtable/BUILD.bazel +++ b/google-cloud/protos/google/bigtable/BUILD.bazel @@ -1 +1 @@ -exports_files(glob(["*.yaml"])) \ No newline at end of file +exports_files(glob(["*.yaml"])) diff --git a/google-cloud/protos/google/bigtable/admin/BUILD.bazel b/google-cloud/protos/google/bigtable/admin/BUILD.bazel index 1e5b8c2a..a87c57fe 100644 --- a/google-cloud/protos/google/bigtable/admin/BUILD.bazel +++ b/google-cloud/protos/google/bigtable/admin/BUILD.bazel @@ -1 +1 @@ -exports_files(glob(["*.yaml"])) \ No newline at end of file +exports_files(glob(["*.yaml"])) diff --git a/google-cloud/protos/google/bigtable/admin/artman_bigtableadmin.yaml b/google-cloud/protos/google/bigtable/admin/artman_bigtableadmin.yaml deleted file mode 100644 index abb1304d..00000000 --- a/google-cloud/protos/google/bigtable/admin/artman_bigtableadmin.yaml +++ /dev/null @@ -1,39 +0,0 @@ -common: - api_name: bigtable-admin - api_version: v2 - organization_name: google-cloud - service_yaml: bigtableadmin.yaml - gapic_yaml: v2/bigtableadmin_gapic.yaml - src_proto_paths: - - v2 - proto_deps: - - name: google-common-protos - - name: google-iam-v1 - proto_path: google/iam/v1 - test_proto_deps: - - name: google-iam-v1 - proto_path: google/iam/v1 -artifacts: -- name: java_gapic - type: GAPIC - language: JAVA -- name: python_gapic - type: GAPIC - language: PYTHON -- name: php_gapic - type: GAPIC - language: PHP -- name: ruby_gapic - type: GAPIC - language: RUBY -- name: go_gapic - type: GAPIC - language: GO -- name: csharp_gapic - type: GAPIC - language: CSHARP -- name: nodejs_gapic - type: GAPIC - language: NODEJS -- name: gapic_config - type: GAPIC_CONFIG diff --git a/google-cloud/protos/google/bigtable/admin/bigtableadmin.yaml b/google-cloud/protos/google/bigtable/admin/bigtableadmin.yaml deleted file mode 100644 index 5e6b8075..00000000 --- a/google-cloud/protos/google/bigtable/admin/bigtableadmin.yaml +++ /dev/null @@ -1,170 +0,0 @@ -type: google.api.Service -config_version: 3 -name: bigtableadmin.googleapis.com -title: Cloud Bigtable Admin API - -apis: -- name: google.bigtable.admin.v2.BigtableInstanceAdmin -- name: google.bigtable.admin.v2.BigtableTableAdmin - -types: -- name: google.bigtable.admin.v2.CreateInstanceMetadata -- name: google.bigtable.admin.v2.UpdateInstanceMetadata -- name: google.bigtable.admin.v2.CreateTableFromSnapshotMetadata -- name: google.bigtable.admin.v2.SnapshotTableMetadata -- name: google.bigtable.admin.v2.CreateClusterMetadata -- name: google.bigtable.admin.v2.UpdateClusterMetadata -- name: google.bigtable.admin.v2.UpdateAppProfileMetadata - -backend: - rules: - - selector: google.longrunning.Operations.ListOperations - deadline: 60.0 - - selector: google.longrunning.Operations.GetOperation - deadline: 60.0 - - selector: google.longrunning.Operations.DeleteOperation - deadline: 60.0 - - selector: google.longrunning.Operations.CancelOperation - deadline: 60.0 - - selector: google.longrunning.Operations.WaitOperation - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateInstance - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateInstance - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.PartialUpdateInstance - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteInstance - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateCluster - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateCluster - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteCluster - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.CreateAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListAppProfiles - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.UpdateAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.EnableAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DisableAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.DeleteAppProfile - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetIamPolicy - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.SetIamPolicy - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.TestIamPermissions - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.CreateTable - deadline: 130.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.CreateTableFromSnapshot - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.ListTables - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.GetTable - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange - deadline: 900.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.SnapshotTable - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.GetSnapshot - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.ListSnapshots - deadline: 60.0 - - selector: google.bigtable.admin.v2.BigtableTableAdmin.DeleteSnapshot - deadline: 60.0 - -http: - rules: - - selector: google.longrunning.Operations.ListOperations - get: '/v2/{name=operations/projects/**}/operations' - - - selector: google.longrunning.Operations.GetOperation - get: '/v2/{name=operations/**}' - - - selector: google.longrunning.Operations.DeleteOperation - delete: '/v2/{name=operations/**}' - - - selector: google.longrunning.Operations.CancelOperation - post: '/v2/{name=operations/**}:cancel' - - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.cluster, - https://www.googleapis.com/auth/bigtable.admin.instance, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.bigtable.admin.v2.BigtableTableAdmin.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.table, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.table, - https://www.googleapis.com/auth/cloud-platform - - selector: |- - google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster, - google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance, - google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters, - google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.cluster, - https://www.googleapis.com/auth/bigtable.admin.instance, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only - - selector: |- - google.bigtable.admin.v2.BigtableTableAdmin.GetTable, - google.bigtable.admin.v2.BigtableTableAdmin.ListTables - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.table, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.table, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only - - selector: |- - google.longrunning.Operations.GetOperation, - google.longrunning.Operations.ListOperations - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.cluster, - https://www.googleapis.com/auth/bigtable.admin.instance, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/admin/cluster/bigtableclusteradmin.yaml b/google-cloud/protos/google/bigtable/admin/cluster/bigtableclusteradmin.yaml deleted file mode 100644 index be789aa7..00000000 --- a/google-cloud/protos/google/bigtable/admin/cluster/bigtableclusteradmin.yaml +++ /dev/null @@ -1,39 +0,0 @@ -type: google.api.Service -config_version: 0 -name: bigtableclusteradmin.googleapis.com -title: Google Cloud Bigtable Cluster Admin API - -apis: -- name: google.longrunning.Operations -- name: google.bigtable.admin.cluster.v1.BigtableClusterService -- name: google.bigtable.admin.v2.BigtableInstanceAdmin - -types: -- name: google.bigtable.admin.cluster.v1.CreateClusterMetadata -- name: google.bigtable.admin.cluster.v1.UpdateClusterMetadata -- name: google.bigtable.admin.cluster.v1.UndeleteClusterMetadata -- name: google.bigtable.admin.cluster.v1.V2OperationMetadata -- name: google.bigtable.admin.v2.CreateInstanceMetadata -- name: google.bigtable.admin.v2.UpdateClusterMetadata - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: >- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.cluster, - https://www.googleapis.com/auth/bigtable.admin.instance, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, - https://www.googleapis.com/auth/cloud-platform - - selector: google.bigtable.admin.cluster.v1.BigtableClusterService.GetCluster - oauth: - canonical_scopes: >- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.cluster, - https://www.googleapis.com/auth/bigtable.admin.instance, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto b/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto deleted file mode 100644 index 0ce39959..00000000 --- a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.cluster.v1; - -import "google/api/annotations.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster"; -option java_multiple_files = true; -option java_outer_classname = "BigtableClusterDataProto"; -option java_package = "com.google.bigtable.admin.cluster.v1"; - -// A physical location in which a particular project can allocate Cloud BigTable -// resources. -message Zone { - // Possible states of a zone. - enum Status { - // The state of the zone is unknown or unspecified. - UNKNOWN = 0; - - // The zone is in a good state. - OK = 1; - - // The zone is down for planned maintenance. - PLANNED_MAINTENANCE = 2; - - // The zone is down for emergency or unplanned maintenance. - EMERGENCY_MAINENANCE = 3; - } - - // A permanent unique identifier for the zone. - // Values are of the form projects//zones/[a-z][-a-z0-9]* - string name = 1; - - // The name of this zone as it appears in UIs. - string display_name = 2; - - // The current state of this zone. - Status status = 3; -} - -// An isolated set of Cloud BigTable resources on which tables can be hosted. -message Cluster { - // A permanent unique identifier for the cluster. For technical reasons, the - // zone in which the cluster resides is included here. - // Values are of the form - // projects//zones//clusters/[a-z][-a-z0-9]* - string name = 1; - - // The operation currently running on the cluster, if any. - // This cannot be set directly, only through CreateCluster, UpdateCluster, - // or UndeleteCluster. Calls to these methods will be rejected if - // "current_operation" is already set. - google.longrunning.Operation current_operation = 3; - - // The descriptive name for this cluster as it appears in UIs. - // Must be unique per zone. - string display_name = 4; - - // The number of serve nodes allocated to this cluster. - int32 serve_nodes = 5; - - // What storage type to use for tables in this cluster. Only configurable at - // cluster creation time. If unspecified, STORAGE_SSD will be used. - StorageType default_storage_type = 8; -} - -enum StorageType { - // The storage type used is unspecified. - STORAGE_UNSPECIFIED = 0; - - // Data will be stored in SSD, providing low and consistent latencies. - STORAGE_SSD = 1; - - // Data will be stored in HDD, providing high and less predictable - // latencies. - STORAGE_HDD = 2; -} diff --git a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service.proto b/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service.proto deleted file mode 100644 index a95fdb1f..00000000 --- a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service.proto +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.cluster.v1; - -import "google/api/annotations.proto"; -import "google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto"; -import "google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/empty.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster"; -option java_multiple_files = true; -option java_outer_classname = "BigtableClusterServicesProto"; -option java_package = "com.google.bigtable.admin.cluster.v1"; - -// Service for managing zonal Cloud Bigtable resources. -service BigtableClusterService { - // Lists the supported zones for the given project. - rpc ListZones(ListZonesRequest) returns (ListZonesResponse) { - option (google.api.http) = { - get: "/v1/{name=projects/*}/zones" - }; - } - - // Gets information about a particular cluster. - rpc GetCluster(GetClusterRequest) returns (Cluster) { - option (google.api.http) = { - get: "/v1/{name=projects/*/zones/*/clusters/*}" - }; - } - - // Lists all clusters in the given project, along with any zones for which - // cluster information could not be retrieved. - rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { - option (google.api.http) = { - get: "/v1/{name=projects/*}/aggregated/clusters" - }; - } - - // Creates a cluster and begins preparing it to begin serving. The returned - // cluster embeds as its "current_operation" a long-running operation which - // can be used to track the progress of turning up the new cluster. - // Immediately upon completion of this request: - // * The cluster will be readable via the API, with all requested attributes - // but no allocated resources. - // Until completion of the embedded operation: - // * Cancelling the operation will render the cluster immediately unreadable - // via the API. - // * All other attempts to modify or delete the cluster will be rejected. - // Upon completion of the embedded operation: - // * Billing for all successfully-allocated resources will begin (some types - // may have lower than the requested levels). - // * New tables can be created in the cluster. - // * The cluster's allocated resource levels will be readable via the API. - // The embedded operation's "metadata" field type is - // [CreateClusterMetadata][google.bigtable.admin.cluster.v1.CreateClusterMetadata] - // The embedded operation's "response" field type is - // [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful. - rpc CreateCluster(CreateClusterRequest) returns (Cluster) { - option (google.api.http) = { - post: "/v1/{name=projects/*/zones/*}/clusters" - body: "*" - }; - } - - // Updates a cluster, and begins allocating or releasing resources as - // requested. The returned cluster embeds as its "current_operation" a - // long-running operation which can be used to track the progress of updating - // the cluster. - // Immediately upon completion of this request: - // * For resource types where a decrease in the cluster's allocation has been - // requested, billing will be based on the newly-requested level. - // Until completion of the embedded operation: - // * Cancelling the operation will set its metadata's "cancelled_at_time", - // and begin restoring resources to their pre-request values. The operation - // is guaranteed to succeed at undoing all resource changes, after which - // point it will terminate with a CANCELLED status. - // * All other attempts to modify or delete the cluster will be rejected. - // * Reading the cluster via the API will continue to give the pre-request - // resource levels. - // Upon completion of the embedded operation: - // * Billing will begin for all successfully-allocated resources (some types - // may have lower than the requested levels). - // * All newly-reserved resources will be available for serving the cluster's - // tables. - // * The cluster's new resource levels will be readable via the API. - // [UpdateClusterMetadata][google.bigtable.admin.cluster.v1.UpdateClusterMetadata] - // The embedded operation's "response" field type is - // [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful. - rpc UpdateCluster(Cluster) returns (Cluster) { - option (google.api.http) = { - put: "/v1/{name=projects/*/zones/*/clusters/*}" - body: "*" - }; - } - - // Marks a cluster and all of its tables for permanent deletion in 7 days. - // Immediately upon completion of the request: - // * Billing will cease for all of the cluster's reserved resources. - // * The cluster's "delete_time" field will be set 7 days in the future. - // Soon afterward: - // * All tables within the cluster will become unavailable. - // Prior to the cluster's "delete_time": - // * The cluster can be recovered with a call to UndeleteCluster. - // * All other attempts to modify or delete the cluster will be rejected. - // At the cluster's "delete_time": - // * The cluster and *all of its tables* will immediately and irrevocably - // disappear from the API, and their data will be permanently deleted. - rpc DeleteCluster(DeleteClusterRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/zones/*/clusters/*}" - }; - } - - // Cancels the scheduled deletion of an cluster and begins preparing it to - // resume serving. The returned operation will also be embedded as the - // cluster's "current_operation". - // Immediately upon completion of this request: - // * The cluster's "delete_time" field will be unset, protecting it from - // automatic deletion. - // Until completion of the returned operation: - // * The operation cannot be cancelled. - // Upon completion of the returned operation: - // * Billing for the cluster's resources will resume. - // * All tables within the cluster will be available. - // [UndeleteClusterMetadata][google.bigtable.admin.cluster.v1.UndeleteClusterMetadata] - // The embedded operation's "response" field type is - // [Cluster][google.bigtable.admin.cluster.v1.Cluster], if successful. - rpc UndeleteCluster(UndeleteClusterRequest) - returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1/{name=projects/*/zones/*/clusters/*}:undelete" - body: "" - }; - } -} diff --git a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto b/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto deleted file mode 100644 index 48ea157f..00000000 --- a/google-cloud/protos/google/bigtable/admin/cluster/v1/bigtable_cluster_service_messages.proto +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.cluster.v1; - -import "google/bigtable/admin/cluster/v1/bigtable_cluster_data.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/cluster/v1;cluster"; -option java_multiple_files = true; -option java_outer_classname = "BigtableClusterServiceMessagesProto"; -option java_package = "com.google.bigtable.admin.cluster.v1"; - -// Request message for BigtableClusterService.ListZones. -message ListZonesRequest { - // The unique name of the project for which a list of supported zones is - // requested. - // Values are of the form projects/ - string name = 1; -} - -// Response message for BigtableClusterService.ListZones. -message ListZonesResponse { - // The list of requested zones. - repeated Zone zones = 1; -} - -// Request message for BigtableClusterService.GetCluster. -message GetClusterRequest { - // The unique name of the requested cluster. - // Values are of the form projects//zones//clusters/ - string name = 1; -} - -// Request message for BigtableClusterService.ListClusters. -message ListClustersRequest { - // The unique name of the project for which a list of clusters is requested. - // Values are of the form projects/ - string name = 1; -} - -// Response message for BigtableClusterService.ListClusters. -message ListClustersResponse { - // The list of requested Clusters. - repeated Cluster clusters = 1; - - // The zones for which clusters could not be retrieved. - repeated Zone failed_zones = 2; -} - -// Request message for BigtableClusterService.CreateCluster. -message CreateClusterRequest { - // The unique name of the zone in which to create the cluster. - // Values are of the form projects//zones/ - string name = 1; - - // The id to be used when referring to the new cluster within its zone, - // e.g. just the "test-cluster" section of the full name - // "projects//zones//clusters/test-cluster". - string cluster_id = 2; - - // The cluster to create. - // The "name", "delete_time", and "current_operation" fields must be left - // blank. - Cluster cluster = 3; -} - -// Metadata type for the operation returned by -// BigtableClusterService.CreateCluster. -message CreateClusterMetadata { - // The request which prompted the creation of this operation. - CreateClusterRequest original_request = 1; - - // The time at which original_request was received. - google.protobuf.Timestamp request_time = 2; - - // The time at which this operation failed or was completed successfully. - google.protobuf.Timestamp finish_time = 3; -} - -// Metadata type for the operation returned by -// BigtableClusterService.UpdateCluster. -message UpdateClusterMetadata { - // The request which prompted the creation of this operation. - Cluster original_request = 1; - - // The time at which original_request was received. - google.protobuf.Timestamp request_time = 2; - - // The time at which this operation was cancelled. If set, this operation is - // in the process of undoing itself (which is guaranteed to succeed) and - // cannot be cancelled again. - google.protobuf.Timestamp cancel_time = 3; - - // The time at which this operation failed or was completed successfully. - google.protobuf.Timestamp finish_time = 4; -} - -// Request message for BigtableClusterService.DeleteCluster. -message DeleteClusterRequest { - // The unique name of the cluster to be deleted. - // Values are of the form projects//zones//clusters/ - string name = 1; -} - -// Request message for BigtableClusterService.UndeleteCluster. -message UndeleteClusterRequest { - // The unique name of the cluster to be un-deleted. - // Values are of the form projects//zones//clusters/ - string name = 1; -} - -// Metadata type for the operation returned by -// BigtableClusterService.UndeleteCluster. -message UndeleteClusterMetadata { - // The time at which the original request was received. - google.protobuf.Timestamp request_time = 1; - - // The time at which this operation failed or was completed successfully. - google.protobuf.Timestamp finish_time = 2; -} - -// Metadata type for operations initiated by the V2 BigtableAdmin service. -// More complete information for such operations is available via the V2 API. -message V2OperationMetadata {} diff --git a/google-cloud/protos/google/bigtable/admin/table/bigtabletableadmin.yaml b/google-cloud/protos/google/bigtable/admin/table/bigtabletableadmin.yaml deleted file mode 100644 index e1b7886b..00000000 --- a/google-cloud/protos/google/bigtable/admin/table/bigtabletableadmin.yaml +++ /dev/null @@ -1,27 +0,0 @@ -type: google.api.Service -config_version: 0 -name: bigtabletableadmin.googleapis.com -title: Google Cloud Bigtable Table Admin API - -apis: -- name: google.bigtable.admin.table.v1.BigtableTableService - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: >- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.table, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.table, - https://www.googleapis.com/auth/cloud-platform - - selector: google.bigtable.admin.table.v1.BigtableTableService.GetTable - oauth: - canonical_scopes: >- - https://www.googleapis.com/auth/bigtable.admin, - https://www.googleapis.com/auth/bigtable.admin.table, - https://www.googleapis.com/auth/cloud-bigtable.admin, - https://www.googleapis.com/auth/cloud-bigtable.admin.table, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_data.proto b/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_data.proto deleted file mode 100644 index c4ba2a59..00000000 --- a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_data.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.table.v1; - -import "google/longrunning/operations.proto"; -import "google/protobuf/duration.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/table/v1;table"; -option java_multiple_files = true; -option java_outer_classname = "BigtableTableDataProto"; -option java_package = "com.google.bigtable.admin.table.v1"; - -// A collection of user data indexed by row, column, and timestamp. -// Each table is served using the resources of its parent cluster. -message Table { - enum TimestampGranularity { MILLIS = 0; } - - // A unique identifier of the form - // /tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]* - string name = 1; - - // If this Table is in the process of being created, the Operation used to - // track its progress. As long as this operation is present, the Table will - // not accept any Table Admin or Read/Write requests. - google.longrunning.Operation current_operation = 2; - - // The column families configured for this table, mapped by column family id. - map column_families = 3; - - // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in - // this table. Timestamps not matching the granularity will be rejected. - // Cannot be changed once the table is created. - TimestampGranularity granularity = 4; -} - -// A set of columns within a table which share a common configuration. -message ColumnFamily { - // A unique identifier of the form /columnFamilies/[-_.a-zA-Z0-9]+ - // The last segment is the same as the "name" field in - // google.bigtable.v1.Family. - string name = 1; - - // Garbage collection expression specified by the following grammar: - // GC = EXPR - // | "" ; - // EXPR = EXPR, "||", EXPR (* lowest precedence *) - // | EXPR, "&&", EXPR - // | "(", EXPR, ")" (* highest precedence *) - // | PROP ; - // PROP = "version() >", NUM32 - // | "age() >", NUM64, [ UNIT ] ; - // NUM32 = non-zero-digit { digit } ; (* # NUM32 <= 2^32 - 1 *) - // NUM64 = non-zero-digit { digit } ; (* # NUM64 <= 2^63 - 1 *) - // UNIT = "d" | "h" | "m" (* d=days, h=hours, m=minutes, else micros *) - // GC expressions can be up to 500 characters in length - // - // The different types of PROP are defined as follows: - // version() - cell index, counting from most recent and starting at 1 - // age() - age of the cell (current time minus cell timestamp) - // - // Example: "version() > 3 || (age() > 3d && version() > 1)" - // drop cells beyond the most recent three, and drop cells older than three - // days unless they're the most recent cell in the row/column - // - // Garbage collection executes opportunistically in the background, and so - // it's possible for reads to return a cell even if it matches the active GC - // expression for its family. - string gc_expression = 2; - - // Garbage collection rule specified as a protobuf. - // Supersedes `gc_expression`. - // Must serialize to at most 500 bytes. - // - // NOTE: Garbage collection executes opportunistically in the background, and - // so it's possible for reads to return a cell even if it matches the active - // GC expression for its family. - GcRule gc_rule = 3; -} - -// Rule for determining which cells to delete during garbage collection. -message GcRule { - // A GcRule which deletes cells matching all of the given rules. - message Intersection { - // Only delete cells which would be deleted by every element of `rules`. - repeated GcRule rules = 1; - } - - // A GcRule which deletes cells matching any of the given rules. - message Union { - // Delete cells which would be deleted by any element of `rules`. - repeated GcRule rules = 1; - } - - oneof rule { - // Delete all cells in a column except the most recent N. - int32 max_num_versions = 1; - - // Delete cells in a column older than the given age. - // Values must be at least one millisecond, and will be truncated to - // microsecond granularity. - google.protobuf.Duration max_age = 2; - - // Delete cells that would be deleted by every nested rule. - Intersection intersection = 3; - - // Delete cells that would be deleted by any nested rule. - Union union = 4; - } -} diff --git a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service.proto b/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service.proto deleted file mode 100644 index f94b8845..00000000 --- a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service.proto +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.table.v1; - -import "google/api/annotations.proto"; -import "google/bigtable/admin/table/v1/bigtable_table_data.proto"; -import "google/bigtable/admin/table/v1/bigtable_table_service_messages.proto"; -import "google/protobuf/empty.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/table/v1;table"; -option java_multiple_files = true; -option java_outer_classname = "BigtableTableServicesProto"; -option java_package = "com.google.bigtable.admin.table.v1"; - -// Service for creating, configuring, and deleting Cloud Bigtable tables. -// Provides access to the table schemas only, not the data stored within the -// tables. -service BigtableTableService { - // Creates a new table, to be served from a specified cluster. - // The table can be created with a full set of initial column families, - // specified in the request. - rpc CreateTable(CreateTableRequest) returns (Table) { - option (google.api.http) = { - post: "/v1/{name=projects/*/zones/*/clusters/*}/tables" - body: "*" - }; - } - - // Lists the names of all tables served from a specified cluster. - rpc ListTables(ListTablesRequest) returns (ListTablesResponse) { - option (google.api.http) = { - get: "/v1/{name=projects/*/zones/*/clusters/*}/tables" - }; - } - - // Gets the schema of the specified table, including its column families. - rpc GetTable(GetTableRequest) returns (Table) { - option (google.api.http) = { - get: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" - }; - } - - // Permanently deletes a specified table and all of its data. - rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" - }; - } - - // Changes the name of a specified table. - // Cannot be used to move tables between clusters, zones, or projects. - rpc RenameTable(RenameTableRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}:rename" - body: "*" - }; - } - - // Creates a new column family within a specified table. - rpc CreateColumnFamily(CreateColumnFamilyRequest) returns (ColumnFamily) { - option (google.api.http) = { - post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}/columnFamilies" - body: "*" - }; - } - - // Changes the configuration of a specified column family. - rpc UpdateColumnFamily(ColumnFamily) returns (ColumnFamily) { - option (google.api.http) = { - put: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" - body: "*" - }; - } - - // Permanently deletes a specified column family and all of its data. - rpc DeleteColumnFamily(DeleteColumnFamilyRequest) - returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" - }; - } - - // Delete all rows in a table corresponding to a particular prefix - rpc BulkDeleteRows(BulkDeleteRowsRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:bulkDeleteRows" - body: "*" - }; - } -} diff --git a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service_messages.proto b/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service_messages.proto deleted file mode 100644 index 683e5c05..00000000 --- a/google-cloud/protos/google/bigtable/admin/table/v1/bigtable_table_service_messages.proto +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.table.v1; - -import "google/bigtable/admin/table/v1/bigtable_table_data.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/table/v1;table"; -option java_multiple_files = true; -option java_outer_classname = "BigtableTableServiceMessagesProto"; -option java_package = "com.google.bigtable.admin.table.v1"; - -message CreateTableRequest { - // The unique name of the cluster in which to create the new table. - string name = 1; - - // The name by which the new table should be referred to within the cluster, - // e.g. "foobar" rather than "/tables/foobar". - string table_id = 2; - - // The Table to create. The `name` field of the Table and all of its - // ColumnFamilies must be left blank, and will be populated in the response. - Table table = 3; - - // The optional list of row keys that will be used to initially split the - // table into several tablets (Tablets are similar to HBase regions). - // Given two split keys, "s1" and "s2", three tablets will be created, - // spanning the key ranges: [, s1), [s1, s2), [s2, ). - // - // Example: - // * Row keys := ["a", "apple", "custom", "customer_1", "customer_2", - // "other", "zz"] - // * initial_split_keys := ["apple", "customer_1", "customer_2", "other"] - // * Key assignment: - // - Tablet 1 [, apple) => {"a"}. - // - Tablet 2 [apple, customer_1) => {"apple", "custom"}. - // - Tablet 3 [customer_1, customer_2) => {"customer_1"}. - // - Tablet 4 [customer_2, other) => {"customer_2"}. - // - Tablet 5 [other, ) => {"other", "zz"}. - repeated string initial_split_keys = 4; -} - -message ListTablesRequest { - // The unique name of the cluster for which tables should be listed. - string name = 1; -} - -message ListTablesResponse { - // The tables present in the requested cluster. - // At present, only the names of the tables are populated. - repeated Table tables = 1; -} - -message GetTableRequest { - // The unique name of the requested table. - string name = 1; -} - -message DeleteTableRequest { - // The unique name of the table to be deleted. - string name = 1; -} - -message RenameTableRequest { - // The current unique name of the table. - string name = 1; - - // The new name by which the table should be referred to within its containing - // cluster, e.g. "foobar" rather than "/tables/foobar". - string new_id = 2; -} - -message CreateColumnFamilyRequest { - // The unique name of the table in which to create the new column family. - string name = 1; - - // The name by which the new column family should be referred to within the - // table, e.g. "foobar" rather than "/columnFamilies/foobar". - string column_family_id = 2; - - // The column family to create. The `name` field must be left blank. - ColumnFamily column_family = 3; -} - -message DeleteColumnFamilyRequest { - // The unique name of the column family to be deleted. - string name = 1; -} - -message BulkDeleteRowsRequest { - // The unique name of the table on which to perform the bulk delete - string table_name = 1; - - oneof target { - // Delete all rows that start with this row key prefix. Prefix cannot be - // zero length. - bytes row_key_prefix = 2; - - // Delete all rows in the table. Setting this to false is a no-op. - bool delete_all_data_from_table = 3; - } -} diff --git a/google-cloud/protos/google/bigtable/admin/v2/BUILD.bazel b/google-cloud/protos/google/bigtable/admin/v2/BUILD.bazel index a8572898..8ec07891 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/BUILD.bazel +++ b/google-cloud/protos/google/bigtable/admin/v2/BUILD.bazel @@ -1,13 +1,16 @@ +# 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") load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") proto_library( - name = "bigtableadmin_proto", + name = "admin_proto", srcs = [ "bigtable_instance_admin.proto", "bigtable_table_admin.proto", @@ -17,9 +20,13 @@ proto_library( ], 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", + "//google/rpc:status_proto", "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:field_mask_proto", @@ -28,9 +35,9 @@ proto_library( ) proto_library_with_info( - name = "bigtableadmin_proto_with_info", + name = "admin_proto_with_info", deps = [ - ":bigtableadmin_proto", + ":admin_proto", "//google/cloud:common_resources_proto", ], ) @@ -40,61 +47,58 @@ proto_library_with_info( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", - "java_grpc_library", - "java_gapic_library", "java_gapic_assembly_gradle_pkg", - "java_proto_library", + "java_gapic_library", "java_gapic_test", + "java_grpc_library", + "java_proto_library", ) -_JAVA_GRPC_DEPS = [ - "@com_google_api_grpc_proto_google_common_protos//jar", - "@com_google_api_grpc_proto_google_iam_v1//jar", -] - java_proto_library( - name = "bigtableadmin_java_proto", - deps = [":bigtableadmin_proto"], + name = "admin_java_proto", + deps = [":admin_proto"], ) java_grpc_library( - name = "bigtableadmin_java_grpc", - srcs = [":bigtableadmin_proto"], - deps = [":bigtableadmin_java_proto"], + name = "admin_java_grpc", + srcs = [":admin_proto"], + deps = [":admin_java_proto"], ) java_gapic_library( - name = "bigtableadmin_java_gapic", - src = ":bigtableadmin_proto_with_info", + name = "admin_java_gapic", + srcs = [":admin_proto_with_info"], gapic_yaml = "bigtableadmin_gapic.yaml", - service_yaml = "//google/bigtable/admin:bigtableadmin.yaml", + grpc_service_config = "bigtableadmin_grpc_service_config.json", test_deps = [ - ":bigtableadmin_java_grpc", + ":admin_java_grpc", "//google/iam/v1:iam_java_grpc", ], + transport = "grpc", deps = [ - ":bigtableadmin_java_proto", + ":admin_java_proto", "//google/iam/v1:iam_java_proto", ], ) java_gapic_test( - name = "bigtableadmin_java_gapic_test_suite", + name = "admin_java_gapic_test_suite", test_classes = [ "com.google.cloud.bigtable.admin.v2.BaseBigtableInstanceAdminClientTest", "com.google.cloud.bigtable.admin.v2.BaseBigtableTableAdminClientTest", ], - runtime_deps = [":bigtableadmin_java_gapic_test"], + runtime_deps = [":admin_java_gapic_test"], ) -# Opensource Packages +# Open Source Packages java_gapic_assembly_gradle_pkg( name = "google-cloud-bigtable-admin-v2-java", + transport = "grpc", deps = [ - ":bigtableadmin_java_gapic", - ":bigtableadmin_java_grpc", - ":bigtableadmin_java_proto", - ":bigtableadmin_proto", + ":admin_java_gapic", + ":admin_java_grpc", + ":admin_java_proto", + ":admin_proto", ], ) @@ -103,53 +107,290 @@ java_gapic_assembly_gradle_pkg( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", "go_proto_library", "go_test", - "go_gapic_library", - "go_gapic_assembly_pkg", ) go_proto_library( - name = "bigtableadmin_go_proto", + name = "admin_go_proto", compilers = ["@io_bazel_rules_go//proto:go_grpc"], importpath = "google.golang.org/genproto/googleapis/bigtable/admin/v2", - protos = [":bigtableadmin_proto"], + protos = [":admin_proto"], deps = [ "//google/api:annotations_go_proto", "//google/iam/v1:iam_go_proto", "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", ], ) go_gapic_library( - name = "bigtableadmin_go_gapic", - src = ":bigtableadmin_proto_with_info", - gapic_yaml = "bigtableadmin_gapic.yaml", - importpath = "cloud.google.com/go/bigtable/admin/apiv2", - service_yaml = "//google/bigtable/admin:bigtableadmin.yaml", + name = "admin_go_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "bigtableadmin_grpc_service_config.json", + importpath = "cloud.google.com/go/bigtable/admin/apiv2;admin", + service_yaml = "bigtableadmin_v2.yaml", + transport = "grpc", deps = [ - ":bigtableadmin_go_proto", + ":admin_go_proto", "//google/iam/v1:iam_go_proto", - "//google/longrunning:longrunning_go_gapic", "//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", ], ) go_test( - name = "bigtableadmin_go_gapic_test", - srcs = [":bigtableadmin_go_gapic_srcjar_test"], - embed = [":bigtableadmin_go_gapic"], + name = "admin_go_gapic_test", + srcs = [":admin_go_gapic_srcjar_test"], + embed = [":admin_go_gapic"], importpath = "cloud.google.com/go/bigtable/admin/apiv2", ) -# Opensource Packages +# Open Source Packages go_gapic_assembly_pkg( name = "gapi-cloud-bigtable-admin-v2-go", deps = [ - ":bigtableadmin_go_gapic", - ":bigtableadmin_go_gapic_srcjar-smoke-test.srcjar", - ":bigtableadmin_go_gapic_srcjar-test.srcjar", - ":bigtableadmin_go_proto", + ":admin_go_gapic", + ":admin_go_gapic_srcjar-test.srcjar", + ":admin_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "bigtable_admin_py_gapic", + srcs = [":admin_proto"], + grpc_service_config = "bigtableadmin_grpc_service_config.json", + opt_args = [ + "python-gapic-namespace=google.cloud", + "python-gapic-name=bigtable_admin", + "autogen-snippets=False", + ], + transport = "grpc", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "bigtable_admin_py_gapic_test", + srcs = [ + "bigtable_admin_py_gapic_pytest.py", + "bigtable_admin_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":bigtable_admin_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "bigtable-admin-v2-py", + deps = [ + ":bigtable_admin_py_gapic", + ], +) + +############################################################################## +# 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 = "admin_php_proto", + deps = [":admin_proto"], +) + +php_grpc_library( + name = "admin_php_grpc", + srcs = [":admin_proto"], + deps = [":admin_php_proto"], +) + +php_gapic_library( + name = "admin_php_gapic", + srcs = [":admin_proto_with_info"], + gapic_yaml = "bigtableadmin_gapic.yaml", + service_yaml = "bigtableadmin_v2.yaml", + deps = [ + ":admin_php_grpc", + ":admin_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-bigtable-admin-v2-php", + deps = [ + ":admin_php_gapic", + ":admin_php_grpc", + ":admin_php_proto", ], ) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "admin_nodejs_gapic", + package_name = "@google-cloud/bigtable", + src = ":admin_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "bigtableadmin_grpc_service_config.json", + main_service = "bigtable", + package = "google.bigtable.admin.v2", + service_yaml = "bigtableadmin_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "bigtable-admin-v2-nodejs", + deps = [ + ":admin_nodejs_gapic", + ":admin_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 = "admin_ruby_proto", + deps = [":admin_proto"], +) + +ruby_grpc_library( + name = "admin_ruby_grpc", + srcs = [":admin_proto"], + deps = [":admin_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admin_ruby_gapic", + srcs = [":admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-bigtable-admin-v2", + "ruby-cloud-env-prefix=BIGTABLE", + "ruby-cloud-product-url=https://cloud.google.com/bigtable", + "ruby-cloud-api-id=bigtableadmin.googleapis.com", + "ruby-cloud-api-shortname=bigtableadmin", + "ruby-cloud-wrapper-gem-override=google-cloud-bigtable", + ], + grpc_service_config = "bigtableadmin_grpc_service_config.json", + ruby_cloud_description = "Cloud Bigtable is a fully managed, scalable NoSQL database service for large analytical and operational workloads.", + ruby_cloud_title = "Cloud Bigtable Admin V2", + deps = [ + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-bigtable-admin-v2-ruby", + deps = [ + ":admin_ruby_gapic", + ":admin_ruby_grpc", + ":admin_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 = "admin_csharp_proto", + deps = [":admin_proto"], +) + +csharp_grpc_library( + name = "admin_csharp_grpc", + srcs = [":admin_proto"], + deps = [":admin_csharp_proto"], +) + +csharp_gapic_library( + name = "admin_csharp_gapic", + srcs = [":admin_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "bigtableadmin_grpc_service_config.json", + service_yaml = "bigtableadmin_v2.yaml", + deps = [ + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-bigtable-admin-v2-csharp", + deps = [ + ":admin_csharp_gapic", + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# +# PLEASE DO NOT DELETE +# These rules are not auto-generated, but they are used by OSS C++ projects. +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "admin_cc_proto", + deps = [":admin_proto"], +) + +cc_grpc_library( + name = "admin_cc_grpc", + srcs = [":admin_proto"], + grpc_only = True, + deps = [":admin_cc_proto"], +) diff --git a/google-cloud/protos/google/bigtable/admin/v2/bigtable_instance_admin.proto b/google-cloud/protos/google/bigtable/admin/v2/bigtable_instance_admin.proto index 80ce4247..d7b2ead1 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/bigtable_instance_admin.proto +++ b/google-cloud/protos/google/bigtable/admin/v2/bigtable_instance_admin.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// 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. @@ -11,13 +11,15 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.v2; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/bigtable/admin/v2/instance.proto"; import "google/iam/v1/iam_policy.proto"; import "google/iam/v1/policy.proto"; @@ -32,18 +34,39 @@ option java_multiple_files = true; option java_outer_classname = "BigtableInstanceAdminProto"; option java_package = "com.google.bigtable.admin.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; +option ruby_package = "Google::Cloud::Bigtable::Admin::V2"; // Service for creating, configuring, and deleting Cloud Bigtable Instances and // Clusters. Provides access to the Instance and Cluster schemas only, not the // tables' metadata or data stored in those tables. service BigtableInstanceAdmin { + option (google.api.default_host) = "bigtableadmin.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigtable.admin," + "https://www.googleapis.com/auth/bigtable.admin.cluster," + "https://www.googleapis.com/auth/bigtable.admin.instance," + "https://www.googleapis.com/auth/cloud-bigtable.admin," + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + // Create an instance within a project. - rpc CreateInstance(CreateInstanceRequest) - returns (google.longrunning.Operation) { + // + // Note that exactly one of Cluster.serve_nodes and + // Cluster.cluster_config.cluster_autoscaling_config can be set. If + // serve_nodes is set to non-zero, then the cluster is manually scaled. If + // cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is + // enabled. + rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v2/{parent=projects/*}/instances" body: "*" }; + option (google.api.method_signature) = "parent,instance_id,instance,clusters"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "CreateInstanceMetadata" + }; } // Gets information about an instance. @@ -51,6 +74,7 @@ service BigtableInstanceAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*}" }; + option (google.api.method_signature) = "name"; } // Lists information about instances in a project. @@ -58,9 +82,12 @@ service BigtableInstanceAdmin { option (google.api.http) = { get: "/v2/{parent=projects/*}/instances" }; + option (google.api.method_signature) = "parent"; } - // Updates an instance within a project. + // Updates an instance within a project. This method updates only the display + // name and type for an Instance. To update other Instance properties, such as + // labels, use PartialUpdateInstance. rpc UpdateInstance(Instance) returns (Instance) { option (google.api.http) = { put: "/v2/{name=projects/*/instances/*}" @@ -68,13 +95,18 @@ service BigtableInstanceAdmin { }; } - // Partially updates an instance within a project. - rpc PartialUpdateInstance(PartialUpdateInstanceRequest) - returns (google.longrunning.Operation) { + // Partially updates an instance within a project. This method can modify all + // fields of an Instance and is the preferred way to update an Instance. + rpc PartialUpdateInstance(PartialUpdateInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v2/{instance.name=projects/*/instances/*}" body: "instance" }; + option (google.api.method_signature) = "instance,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "UpdateInstanceMetadata" + }; } // Delete an instance from a project. @@ -82,15 +114,26 @@ service BigtableInstanceAdmin { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*}" }; + option (google.api.method_signature) = "name"; } // Creates a cluster within an instance. - rpc CreateCluster(CreateClusterRequest) - returns (google.longrunning.Operation) { + // + // Note that exactly one of Cluster.serve_nodes and + // Cluster.cluster_config.cluster_autoscaling_config can be set. If + // serve_nodes is set to non-zero, then the cluster is manually scaled. If + // cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is + // enabled. + rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/clusters" body: "cluster" }; + option (google.api.method_signature) = "parent,cluster_id,cluster"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "CreateClusterMetadata" + }; } // Gets information about a cluster. @@ -98,6 +141,7 @@ service BigtableInstanceAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*}" }; + option (google.api.method_signature) = "name"; } // Lists information about clusters in an instance. @@ -105,14 +149,47 @@ service BigtableInstanceAdmin { option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/clusters" }; + option (google.api.method_signature) = "parent"; } // Updates a cluster within an instance. + // + // Note that UpdateCluster does not support updating + // cluster_config.cluster_autoscaling_config. In order to update it, you + // must use PartialUpdateCluster. rpc UpdateCluster(Cluster) returns (google.longrunning.Operation) { option (google.api.http) = { put: "/v2/{name=projects/*/instances/*/clusters/*}" body: "*" }; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "UpdateClusterMetadata" + }; + } + + // Partially updates a cluster within a project. This method is the preferred + // way to update a Cluster. + // + // To enable and update autoscaling, set + // cluster_config.cluster_autoscaling_config. When autoscaling is enabled, + // serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it + // are ignored. Note that an update cannot simultaneously set serve_nodes to + // non-zero and cluster_config.cluster_autoscaling_config to non-empty, and + // also specify both in the update_mask. + // + // To disable autoscaling, clear cluster_config.cluster_autoscaling_config, + // and explicitly set a serve_node count via the update_mask. + rpc PartialUpdateCluster(PartialUpdateClusterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v2/{cluster.name=projects/*/instances/*/clusters/*}" + body: "cluster" + }; + option (google.api.method_signature) = "cluster,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Cluster" + metadata_type: "PartialUpdateClusterMetadata" + }; } // Deletes a cluster from an instance. @@ -120,6 +197,7 @@ service BigtableInstanceAdmin { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*}" }; + option (google.api.method_signature) = "name"; } // Creates an app profile within an instance. @@ -128,6 +206,7 @@ service BigtableInstanceAdmin { post: "/v2/{parent=projects/*/instances/*}/appProfiles" body: "app_profile" }; + option (google.api.method_signature) = "parent,app_profile_id,app_profile"; } // Gets information about an app profile. @@ -135,98 +214,127 @@ service BigtableInstanceAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/appProfiles/*}" }; + option (google.api.method_signature) = "name"; } // Lists information about app profiles in an instance. - rpc ListAppProfiles(ListAppProfilesRequest) - returns (ListAppProfilesResponse) { + rpc ListAppProfiles(ListAppProfilesRequest) returns (ListAppProfilesResponse) { option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/appProfiles" }; + option (google.api.method_signature) = "parent"; } // Updates an app profile within an instance. - rpc UpdateAppProfile(UpdateAppProfileRequest) - returns (google.longrunning.Operation) { + rpc UpdateAppProfile(UpdateAppProfileRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v2/{app_profile.name=projects/*/instances/*/appProfiles/*}" body: "app_profile" }; + option (google.api.method_signature) = "app_profile,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "AppProfile" + metadata_type: "UpdateAppProfileMetadata" + }; } // Deletes an app profile from an instance. - rpc DeleteAppProfile(DeleteAppProfileRequest) - returns (google.protobuf.Empty) { + rpc DeleteAppProfile(DeleteAppProfileRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/appProfiles/*}" }; + option (google.api.method_signature) = "name"; } // Gets the access control policy for an instance resource. Returns an empty // policy if an instance exists but does not have a policy set. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) - returns (google.iam.v1.Policy) { + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*}:getIamPolicy" body: "*" }; + option (google.api.method_signature) = "resource"; } // Sets the access control policy on an instance resource. Replaces any // existing policy. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) - returns (google.iam.v1.Policy) { + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*}:setIamPolicy" body: "*" }; + option (google.api.method_signature) = "resource,policy"; } // Returns permissions that the caller has on the specified instance resource. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) - returns (google.iam.v1.TestIamPermissionsResponse) { + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*}:testIamPermissions" body: "*" }; + option (google.api.method_signature) = "resource,permissions"; + } + + // Lists hot tablets in a cluster, within the time range provided. Hot + // tablets are ordered based on CPU usage. + rpc ListHotTablets(ListHotTabletsRequest) returns (ListHotTabletsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/instances/*/clusters/*}/hotTablets" + }; + option (google.api.method_signature) = "parent"; } } // Request message for BigtableInstanceAdmin.CreateInstance. message CreateInstanceRequest { - // The unique name of the project in which to create the new instance. - // Values are of the form `projects/`. - string parent = 1; - - // The ID to be used when referring to the new instance within its project, + // Required. The unique name of the project in which to create the new instance. + // Values are of the form `projects/{project}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. The ID to be used when referring to the new instance within its project, // e.g., just `myinstance` rather than // `projects/myproject/instances/myinstance`. - string instance_id = 2; + string instance_id = 2 [(google.api.field_behavior) = REQUIRED]; - // The instance to create. + // Required. The instance to create. // Fields marked `OutputOnly` must be left blank. - Instance instance = 3; + Instance instance = 3 [(google.api.field_behavior) = REQUIRED]; - // The clusters to be created within the instance, mapped by desired + // Required. The clusters to be created within the instance, mapped by desired // cluster ID, e.g., just `mycluster` rather than // `projects/myproject/instances/myinstance/clusters/mycluster`. // Fields marked `OutputOnly` must be left blank. - // Currently, at most two clusters can be specified. - map clusters = 4; + // Currently, at most four clusters can be specified. + map clusters = 4 [(google.api.field_behavior) = REQUIRED]; } // Request message for BigtableInstanceAdmin.GetInstance. message GetInstanceRequest { - // The unique name of the requested instance. Values are of the form - // `projects//instances/`. - string name = 1; + // Required. The unique name of the requested instance. Values are of the form + // `projects/{project}/instances/{instance}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; } // Request message for BigtableInstanceAdmin.ListInstances. message ListInstancesRequest { - // The unique name of the project for which a list of instances is requested. - // Values are of the form `projects/`. - string parent = 1; + // Required. The unique name of the project for which a list of instances is requested. + // Values are of the form `projects/{project}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; // DEPRECATED: This field is unused and ignored. string page_token = 2; @@ -251,52 +359,72 @@ message ListInstancesResponse { // Request message for BigtableInstanceAdmin.PartialUpdateInstance. message PartialUpdateInstanceRequest { - // The Instance which will (partially) replace the current value. - Instance instance = 1; + // Required. The Instance which will (partially) replace the current value. + Instance instance = 1 [(google.api.field_behavior) = REQUIRED]; - // The subset of Instance fields which should be replaced. + // Required. The subset of Instance fields which should be replaced. // Must be explicitly set. - google.protobuf.FieldMask update_mask = 2; + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for BigtableInstanceAdmin.DeleteInstance. message DeleteInstanceRequest { - // The unique name of the instance to be deleted. - // Values are of the form `projects//instances/`. - string name = 1; + // Required. The unique name of the instance to be deleted. + // Values are of the form `projects/{project}/instances/{instance}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; } // Request message for BigtableInstanceAdmin.CreateCluster. message CreateClusterRequest { - // The unique name of the instance in which to create the new cluster. + // Required. The unique name of the instance in which to create the new cluster. // Values are of the form - // `projects//instances/`. - string parent = 1; - - // The ID to be used when referring to the new cluster within its instance, + // `projects/{project}/instances/{instance}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; + + // Required. The ID to be used when referring to the new cluster within its instance, // e.g., just `mycluster` rather than // `projects/myproject/instances/myinstance/clusters/mycluster`. - string cluster_id = 2; + string cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; - // The cluster to be created. + // Required. The cluster to be created. // Fields marked `OutputOnly` must be left blank. - Cluster cluster = 3; + Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; } // Request message for BigtableInstanceAdmin.GetCluster. message GetClusterRequest { - // The unique name of the requested cluster. Values are of the form - // `projects//instances//clusters/`. - string name = 1; + // Required. The unique name of the requested cluster. Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; } // Request message for BigtableInstanceAdmin.ListClusters. message ListClustersRequest { - // The unique name of the instance for which a list of clusters is requested. - // Values are of the form `projects//instances/`. - // Use ` = '-'` to list Clusters for all Instances in a project, + // Required. The unique name of the instance for which a list of clusters is requested. + // Values are of the form `projects/{project}/instances/{instance}`. + // Use `{instance} = '-'` to list Clusters for all Instances in a project, // e.g., `projects/myproject/instances/-`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; // DEPRECATED: This field is unused and ignored. string page_token = 2; @@ -320,9 +448,14 @@ message ListClustersResponse { // Request message for BigtableInstanceAdmin.DeleteCluster. message DeleteClusterRequest { - // The unique name of the cluster to be deleted. Values are of the form - // `projects//instances//clusters/`. - string name = 1; + // Required. The unique name of the cluster to be deleted. Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; } // The metadata for the Operation returned by CreateInstance. @@ -351,6 +484,37 @@ message UpdateInstanceMetadata { // The metadata for the Operation returned by CreateCluster. message CreateClusterMetadata { + // Progress info for copying a table's data to the new cluster. + message TableProgress { + enum State { + STATE_UNSPECIFIED = 0; + + // The table has not yet begun copying to the new cluster. + PENDING = 1; + + // The table is actively being copied to the new cluster. + COPYING = 2; + + // The table has been fully copied to the new cluster. + COMPLETED = 3; + + // The table was deleted before it finished copying to the new cluster. + // Note that tables deleted after completion will stay marked as + // COMPLETED, not CANCELLED. + CANCELLED = 4; + } + + // Estimate of the size of the table to be copied. + int64 estimated_size_bytes = 2; + + // Estimate of the number of bytes copied so far for this table. + // This will eventually reach 'estimated_size_bytes' unless the table copy + // is CANCELLED. + int64 estimated_copied_bytes = 3; + + State state = 4; + } + // The request that prompted the initiation of this CreateCluster operation. CreateClusterRequest original_request = 1; @@ -359,6 +523,16 @@ message CreateClusterMetadata { // The time at which the operation failed or was completed successfully. google.protobuf.Timestamp finish_time = 3; + + // Keys: the full `name` of each table that existed in the instance when + // CreateCluster was first called, i.e. + // `projects//instances//tables/

`. Any table added + // to the instance by a later API call will be created in the new cluster by + // that API call, not this one. + // + // Values: information on how much of a table's data has been copied to the + // newly-created cluster so far. + map tables = 4; } // The metadata for the Operation returned by UpdateCluster. @@ -373,21 +547,48 @@ message UpdateClusterMetadata { google.protobuf.Timestamp finish_time = 3; } +// The metadata for the Operation returned by PartialUpdateCluster. +message PartialUpdateClusterMetadata { + // The time at which the original request was received. + google.protobuf.Timestamp request_time = 1; + + // The time at which the operation failed or was completed successfully. + google.protobuf.Timestamp finish_time = 2; + + // The original request for PartialUpdateCluster. + PartialUpdateClusterRequest original_request = 3; +} + +// Request message for BigtableInstanceAdmin.PartialUpdateCluster. +message PartialUpdateClusterRequest { + // Required. The Cluster which contains the partial updates to be applied, subject to + // the update_mask. + Cluster cluster = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The subset of Cluster fields which should be replaced. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + // Request message for BigtableInstanceAdmin.CreateAppProfile. message CreateAppProfileRequest { - // The unique name of the instance in which to create the new app profile. + // Required. The unique name of the instance in which to create the new app profile. // Values are of the form - // `projects//instances/`. - string parent = 1; - - // The ID to be used when referring to the new app profile within its + // `projects/{project}/instances/{instance}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; + + // Required. The ID to be used when referring to the new app profile within its // instance, e.g., just `myprofile` rather than // `projects/myproject/instances/myinstance/appProfiles/myprofile`. - string app_profile_id = 2; + string app_profile_id = 2 [(google.api.field_behavior) = REQUIRED]; - // The app profile to be created. + // Required. The app profile to be created. // Fields marked `OutputOnly` will be ignored. - AppProfile app_profile = 3; + AppProfile app_profile = 3 [(google.api.field_behavior) = REQUIRED]; // If true, ignore safety checks when creating the app profile. bool ignore_warnings = 4; @@ -395,22 +596,39 @@ message CreateAppProfileRequest { // Request message for BigtableInstanceAdmin.GetAppProfile. message GetAppProfileRequest { - // The unique name of the requested app profile. Values are of the form - // `projects//instances//appProfiles/`. - string name = 1; + // Required. The unique name of the requested app profile. Values are of the form + // `projects/{project}/instances/{instance}/appProfiles/{app_profile}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/AppProfile" + } + ]; } // Request message for BigtableInstanceAdmin.ListAppProfiles. message ListAppProfilesRequest { - // The unique name of the instance for which a list of app profiles is + // Required. The unique name of the instance for which a list of app profiles is // requested. Values are of the form - // `projects//instances/`. - // Use ` = '-'` to list AppProfiles for all Instances in a project, + // `projects/{project}/instances/{instance}`. + // Use `{instance} = '-'` to list AppProfiles for all Instances in a project, // e.g., `projects/myproject/instances/-`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; // Maximum number of results per page. - // CURRENTLY UNIMPLEMENTED AND IGNORED. + // + // A page_size of zero lets the server choose the number of items to return. + // A page_size which is strictly positive will return at most that many items. + // A negative page_size will cause an error. + // + // Following the first request, subsequent paginated calls are not required + // to pass a page_size. If a page_size is set in subsequent calls, it must + // match the page_size given in the first request. int32 page_size = 3; // The value of `next_page_token` returned by a previous call. @@ -436,12 +654,12 @@ message ListAppProfilesResponse { // Request message for BigtableInstanceAdmin.UpdateAppProfile. message UpdateAppProfileRequest { - // The app profile which will (partially) replace the current value. - AppProfile app_profile = 1; + // Required. The app profile which will (partially) replace the current value. + AppProfile app_profile = 1 [(google.api.field_behavior) = REQUIRED]; - // The subset of app profile fields which should be replaced. + // Required. The subset of app profile fields which should be replaced. // If unset, all fields will be replaced. - google.protobuf.FieldMask update_mask = 2; + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; // If true, ignore safety checks when updating the app profile. bool ignore_warnings = 3; @@ -449,13 +667,73 @@ message UpdateAppProfileRequest { // Request message for BigtableInstanceAdmin.DeleteAppProfile. message DeleteAppProfileRequest { - // The unique name of the app profile to be deleted. Values are of the form - // `projects//instances//appProfiles/`. - string name = 1; - - // If true, ignore safety checks when deleting the app profile. - bool ignore_warnings = 2; + // Required. The unique name of the app profile to be deleted. Values are of the form + // `projects/{project}/instances/{instance}/appProfiles/{app_profile}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/AppProfile" + } + ]; + + // Required. If true, ignore safety checks when deleting the app profile. + bool ignore_warnings = 2 [(google.api.field_behavior) = REQUIRED]; } // The metadata for the Operation returned by UpdateAppProfile. -message UpdateAppProfileMetadata {} +message UpdateAppProfileMetadata { + +} + +// Request message for BigtableInstanceAdmin.ListHotTablets. +message ListHotTabletsRequest { + // Required. The cluster name to list hot tablets. + // Value is in the following form: + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; + + // The start time to list hot tablets. The hot tablets in the response will + // have start times between the requested start time and end time. Start time + // defaults to Now if it is unset, and end time defaults to Now - 24 hours if + // it is unset. The start time should be less than the end time, and the + // maximum allowed time range between start time and end time is 48 hours. + // Start time and end time should have values between Now and Now - 14 days. + google.protobuf.Timestamp start_time = 2; + + // The end time to list hot tablets. + google.protobuf.Timestamp end_time = 3; + + // Maximum number of results per page. + // + // A page_size that is empty or zero lets the server choose the number of + // items to return. A page_size which is strictly positive will return at most + // that many items. A negative page_size will cause an error. + // + // Following the first request, subsequent paginated calls do not need a + // page_size field. If a page_size is set in subsequent calls, it must match + // the page_size given in the first request. + int32 page_size = 4; + + // The value of `next_page_token` returned by a previous call. + string page_token = 5; +} + +// Response message for BigtableInstanceAdmin.ListHotTablets. +message ListHotTabletsResponse { + // List of hot tablets in the tables of the requested cluster that fall + // within the requested time range. Hot tablets are ordered by node cpu usage + // percent. If there are multiple hot tablets that correspond to the same + // tablet within a 15-minute interval, only the hot tablet with the highest + // node cpu usage will be included in the response. + repeated HotTablet hot_tablets = 1; + + // Set if not all hot tablets could be returned in a single response. + // Pass this value to `page_token` in another request to get the next + // page of results. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/bigtable/admin/v2/bigtable_table_admin.proto b/google-cloud/protos/google/bigtable/admin/v2/bigtable_table_admin.proto index a3e2e7cc..6a2d9eac 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/bigtable_table_admin.proto +++ b/google-cloud/protos/google/bigtable/admin/v2/bigtable_table_admin.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// 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. @@ -11,19 +11,23 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.v2; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/bigtable/admin/v2/common.proto"; import "google/bigtable/admin/v2/table.proto"; import "google/iam/v1/iam_policy.proto"; import "google/iam/v1/policy.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.Bigtable.Admin.V2"; @@ -32,6 +36,7 @@ option java_multiple_files = true; option java_outer_classname = "BigtableTableAdminProto"; option java_package = "com.google.bigtable.admin.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; +option ruby_package = "Google::Cloud::Bigtable::Admin::V2"; // Service for creating, configuring, and deleting Cloud Bigtable tables. // @@ -39,6 +44,15 @@ option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; // Provides access to the table schemas only, not the data stored within // the tables. service BigtableTableAdmin { + option (google.api.default_host) = "bigtableadmin.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigtable.admin," + "https://www.googleapis.com/auth/bigtable.admin.table," + "https://www.googleapis.com/auth/cloud-bigtable.admin," + "https://www.googleapis.com/auth/cloud-bigtable.admin.table," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + // Creates a new table in the specified instance. // The table can be created with a full set of initial column families, // specified in the request. @@ -47,6 +61,7 @@ service BigtableTableAdmin { post: "/v2/{parent=projects/*/instances/*}/tables" body: "*" }; + option (google.api.method_signature) = "parent,table_id,table"; } // Creates a new table from the specified snapshot. The target table must @@ -57,12 +72,16 @@ service BigtableTableAdmin { // feature might be changed in backward-incompatible ways and is not // recommended for production use. It is not subject to any SLA or deprecation // policy. - rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest) - returns (google.longrunning.Operation) { + rpc CreateTableFromSnapshot(CreateTableFromSnapshotRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/tables:createFromSnapshot" body: "*" }; + option (google.api.method_signature) = "parent,table_id,source_snapshot"; + option (google.longrunning.operation_info) = { + response_type: "Table" + metadata_type: "CreateTableFromSnapshotMetadata" + }; } // Lists all tables served from a specified instance. @@ -70,6 +89,7 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/tables" }; + option (google.api.method_signature) = "parent"; } // Gets metadata information about the specified table. @@ -77,6 +97,20 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/tables/*}" }; + option (google.api.method_signature) = "name"; + } + + // Updates a specified table. + rpc UpdateTable(UpdateTableRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v2/{table.name=projects/*/instances/*/tables/*}" + body: "table" + }; + option (google.api.method_signature) = "table,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Table" + metadata_type: "UpdateTableMetadata" + }; } // Permanently deletes a specified table and all of its data. @@ -84,6 +118,20 @@ service BigtableTableAdmin { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/tables/*}" }; + option (google.api.method_signature) = "name"; + } + + // Restores a specified table which was accidentally deleted. + rpc UndeleteTable(UndeleteTableRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=projects/*/instances/*/tables/*}:undelete" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Table" + metadata_type: "UndeleteTableMetadata" + }; } // Performs a series of column family modifications on the specified table. @@ -95,6 +143,7 @@ service BigtableTableAdmin { post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies" body: "*" }; + option (google.api.method_signature) = "name,modifications"; } // Permanently drop/delete a row range from a specified table. The request can @@ -111,23 +160,23 @@ service BigtableTableAdmin { // CheckConsistency to check whether mutations to the table that finished // before this call started have been replicated. The tokens will be available // for 90 days. - rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) - returns (GenerateConsistencyTokenResponse) { + rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) returns (GenerateConsistencyTokenResponse) { option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:generateConsistencyToken" body: "*" }; + option (google.api.method_signature) = "name"; } // Checks replication consistency based on a consistency token, that is, if // replication has caught up based on the conditions specified in the token // and the check request. - rpc CheckConsistency(CheckConsistencyRequest) - returns (CheckConsistencyResponse) { + rpc CheckConsistency(CheckConsistencyRequest) returns (CheckConsistencyResponse) { option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:checkConsistency" body: "*" }; + option (google.api.method_signature) = "name,consistency_token"; } // Creates a new snapshot in the specified cluster from the specified @@ -138,12 +187,16 @@ service BigtableTableAdmin { // feature might be changed in backward-incompatible ways and is not // recommended for production use. It is not subject to any SLA or deprecation // policy. - rpc SnapshotTable(SnapshotTableRequest) - returns (google.longrunning.Operation) { + rpc SnapshotTable(SnapshotTableRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:snapshot" body: "*" }; + option (google.api.method_signature) = "name,cluster,snapshot_id,description"; + option (google.longrunning.operation_info) = { + response_type: "Snapshot" + metadata_type: "SnapshotTableMetadata" + }; } // Gets metadata information about the specified snapshot. @@ -157,6 +210,7 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}" }; + option (google.api.method_signature) = "name"; } // Lists all snapshots associated with the specified cluster. @@ -170,6 +224,7 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*/clusters/*}/snapshots" }; + option (google.api.method_signature) = "parent"; } // Permanently deletes the specified snapshot. @@ -183,35 +238,197 @@ service BigtableTableAdmin { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*/snapshots/*}" }; + option (google.api.method_signature) = "name"; + } + + // Starts creating a new Cloud Bigtable Backup. The returned backup + // [long-running operation][google.longrunning.Operation] can be used to + // track creation of the backup. The + // [metadata][google.longrunning.Operation.metadata] field type is + // [CreateBackupMetadata][google.bigtable.admin.v2.CreateBackupMetadata]. The + // [response][google.longrunning.Operation.response] field type is + // [Backup][google.bigtable.admin.v2.Backup], if successful. Cancelling the returned operation will stop the + // creation and delete the backup. + rpc CreateBackup(CreateBackupRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/instances/*/clusters/*}/backups" + body: "backup" + }; + option (google.api.method_signature) = "parent,backup_id,backup"; + option (google.longrunning.operation_info) = { + response_type: "Backup" + metadata_type: "CreateBackupMetadata" + }; + } + + // Gets metadata on a pending or completed Cloud Bigtable Backup. + rpc GetBackup(GetBackupRequest) returns (Backup) { + option (google.api.http) = { + get: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a pending or completed Cloud Bigtable Backup. + rpc UpdateBackup(UpdateBackupRequest) returns (Backup) { + option (google.api.http) = { + patch: "/v2/{backup.name=projects/*/instances/*/clusters/*/backups/*}" + body: "backup" + }; + option (google.api.method_signature) = "backup,update_mask"; + } + + // Deletes a pending or completed Cloud Bigtable backup. + rpc DeleteBackup(DeleteBackupRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Cloud Bigtable backups. Returns both completed and pending + // backups. + rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) { + option (google.api.http) = { + get: "/v2/{parent=projects/*/instances/*/clusters/*}/backups" + }; + option (google.api.method_signature) = "parent"; } - // Gets the access control policy for an instance resource. Returns an empty - // policy if an table exists but does not have a policy set. + // Create a new table by restoring from a completed backup. The new table + // must be in the same project as the instance containing the backup. The + // returned table [long-running operation][google.longrunning.Operation] can + // be used to track the progress of the operation, and to cancel it. The + // [metadata][google.longrunning.Operation.metadata] field type is + // [RestoreTableMetadata][google.bigtable.admin.RestoreTableMetadata]. The + // [response][google.longrunning.Operation.response] type is + // [Table][google.bigtable.admin.v2.Table], if successful. + rpc RestoreTable(RestoreTableRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=projects/*/instances/*}/tables:restore" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Table" + metadata_type: "RestoreTableMetadata" + }; + } + + // Gets the access control policy for a Table or Backup resource. + // Returns an empty policy if the resource exists but does not have a policy + // set. rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*/tables/*}:getIamPolicy" body: "*" + additional_bindings { + post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:getIamPolicy" + body: "*" + } }; + option (google.api.method_signature) = "resource"; } - // Sets the access control policy on a table resource. Replaces any existing - // policy. + // Sets the access control policy on a Table or Backup resource. + // Replaces any existing policy. rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*/tables/*}:setIamPolicy" body: "*" + additional_bindings { + post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:setIamPolicy" + body: "*" + } }; + option (google.api.method_signature) = "resource,policy"; } - // Returns permissions that the caller has on the specified table resource. + // Returns permissions that the caller has on the specified Table or Backup resource. rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v2/{resource=projects/*/instances/*/tables/*}:testIamPermissions" body: "*" + additional_bindings { + post: "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:testIamPermissions" + body: "*" + } }; + option (google.api.method_signature) = "resource,permissions"; + } +} + +// The request for +// [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable]. +message RestoreTableRequest { + // Required. The name of the instance in which to create the restored + // table. This instance must be in the same project as the source backup. + // Values are of the form `projects//instances/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; + + // Required. The id of the table to create and restore to. This + // table must not already exist. The `table_id` appended to + // `parent` forms the full table name of the form + // `projects//instances//tables/`. + string table_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The source from which to restore. + oneof source { + // Name of the backup from which to restore. Values are of the form + // `projects//instances//clusters//backups/`. + string backup = 3 [(google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Backup" + }]; } } +// Metadata type for the long-running operation returned by +// [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable]. +message RestoreTableMetadata { + // Name of the table being created and restored to. + string name = 1; + + // The type of the restore source. + RestoreSourceType source_type = 2; + + // Information about the source used to restore the table, as specified by + // `source` in [RestoreTableRequest][google.bigtable.admin.v2.RestoreTableRequest]. + oneof source_info { + BackupInfo backup_info = 3; + } + + // If exists, the name of the long-running operation that will be used to + // track the post-restore optimization process to optimize the performance of + // the restored table. The metadata type of the long-running operation is + // [OptimizeRestoreTableMetadata][]. The response type is + // [Empty][google.protobuf.Empty]. This long-running operation may be + // automatically created by the system if applicable after the + // RestoreTable long-running operation completes successfully. This operation + // may not be created if the table is already optimized or the restore was + // not successful. + string optimize_table_operation_name = 4; + + // The progress of the [RestoreTable][google.bigtable.admin.v2.BigtableTableAdmin.RestoreTable] + // operation. + OperationProgress progress = 5; +} + +// Metadata type for the long-running operation used to track the progress +// of optimizations performed on a newly restored table. This long-running +// operation is automatically created by the system after the successful +// completion of a table restore, and cannot be cancelled. +message OptimizeRestoredTableMetadata { + // Name of the restored table being optimized. + string name = 1; + + // The progress of the post-restore optimizations. + OperationProgress progress = 2; +} + // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.CreateTable][google.bigtable.admin.v2.BigtableTableAdmin.CreateTable] message CreateTableRequest { @@ -221,16 +438,22 @@ message CreateTableRequest { bytes key = 1; } - // The unique name of the instance in which to create the table. - // Values are of the form `projects//instances/`. - string parent = 1; + // Required. The unique name of the instance in which to create the table. + // Values are of the form `projects/{project}/instances/{instance}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; - // The name by which the new table should be referred to within the parent - // instance, e.g., `foobar` rather than `/tables/foobar`. - string table_id = 2; + // Required. The name by which the new table should be referred to within the parent + // instance, e.g., `foobar` rather than `{parent}/tables/foobar`. + // Maximum 50 characters. + string table_id = 2 [(google.api.field_behavior) = REQUIRED]; - // The Table to create. - Table table = 3; + // Required. The Table to create. + Table table = 3 [(google.api.field_behavior) = REQUIRED]; // The optional list of row keys that will be used to initially split the // table into several tablets (tablets are similar to HBase regions). @@ -259,28 +482,43 @@ message CreateTableRequest { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message CreateTableFromSnapshotRequest { - // The unique name of the instance in which to create the table. - // Values are of the form `projects//instances/`. - string parent = 1; + // Required. The unique name of the instance in which to create the table. + // Values are of the form `projects/{project}/instances/{instance}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; - // The name by which the new table should be referred to within the parent - // instance, e.g., `foobar` rather than `/tables/foobar`. - string table_id = 2; + // Required. The name by which the new table should be referred to within the parent + // instance, e.g., `foobar` rather than `{parent}/tables/foobar`. + string table_id = 2 [(google.api.field_behavior) = REQUIRED]; - // The unique name of the snapshot from which to restore the table. The + // Required. The unique name of the snapshot from which to restore the table. The // snapshot and the table must be in the same instance. // Values are of the form - // `projects//instances//clusters//snapshots/`. - string source_snapshot = 3; + // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. + string source_snapshot = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Snapshot" + } + ]; } // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange] message DropRowRangeRequest { - // The unique name of the table on which to drop a range of rows. + // Required. The unique name of the table on which to drop a range of rows. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // Delete all rows or by prefix. oneof target { @@ -296,16 +534,28 @@ message DropRowRangeRequest { // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables] message ListTablesRequest { - // The unique name of the instance for which tables should be listed. - // Values are of the form `projects//instances/`. - string parent = 1; + // Required. The unique name of the instance for which tables should be listed. + // Values are of the form `projects/{project}/instances/{instance}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; // The view to be applied to the returned tables' fields. - // Defaults to `NAME_ONLY` if unspecified; no others are currently supported. + // Only NAME_ONLY view (default) and REPLICATION_VIEW are supported. Table.View view = 2; // Maximum number of results per page. - // CURRENTLY UNIMPLEMENTED AND IGNORED. + // + // A page_size of zero lets the server choose the number of items to return. + // A page_size which is strictly positive will return at most that many items. + // A negative page_size will cause an error. + // + // Following the first request, subsequent paginated calls are not required + // to pass a page_size. If a page_size is set in subsequent calls, it must + // match the page_size given in the first request. int32 page_size = 4; // The value of `next_page_token` returned by a previous call. @@ -327,23 +577,92 @@ message ListTablesResponse { // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable] message GetTableRequest { - // The unique name of the requested table. + // Required. The unique name of the requested table. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // The view to be applied to the returned table's fields. // Defaults to `SCHEMA_VIEW` if unspecified. Table.View view = 2; } +// The request for +// [UpdateTable][google.bigtable.admin.v2.BigtableTableAdmin.UpdateTable]. +message UpdateTableRequest { + // Required. The table to update. + // The table's `name` field is used to identify the table to update. + Table table = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + // A mask specifying which fields (e.g. `deletion_protection`) in the `table` + // field should be updated. This mask is relative to the `table` field, not to + // the request message. The wildcard (*) path is currently not supported. + // Currently UpdateTable is only supported for the following field: + // * `deletion_protection` + // If `column_families` is set in `update_mask`, it will return an + // UNIMPLEMENTED error. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata type for the operation returned by +// [UpdateTable][google.bigtable.admin.v2.BigtableTableAdmin.UpdateTable]. +message UpdateTableMetadata { + // The name of the table being updated. + string name = 1; + + // The time at which this operation started. + google.protobuf.Timestamp start_time = 2; + + // If set, the time at which this operation finished or was canceled. + google.protobuf.Timestamp end_time = 3; +} + // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable] message DeleteTableRequest { - // The unique name of the table to be deleted. + // Required. The unique name of the table to be deleted. // Values are of the form - // `projects//instances//tables/
`. + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; +} + +// Request message for +// [google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable] +message UndeleteTableRequest { + // Required. The unique name of the table to be restored. + // Values are of the form + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; +} + +// Metadata type for the operation returned by +// [google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable]. +message UndeleteTableMetadata { + // The name of the table being restored. string name = 1; + + // The time at which this operation started. + google.protobuf.Timestamp start_time = 2; + + // If set, the time at which this operation finished or was cancelled. + google.protobuf.Timestamp end_time = 3; } // Request message for @@ -354,7 +673,7 @@ message ModifyColumnFamiliesRequest { // The ID of the column family to be modified. string id = 1; - // Column familiy modifications. + // Column family modifications. oneof mod { // Create a new column family with the specified schema, or fail if // one already exists with the given ID. @@ -370,25 +689,35 @@ message ModifyColumnFamiliesRequest { } } - // The unique name of the table whose families should be modified. + // Required. The unique name of the table whose families should be modified. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; - // Modifications to be atomically applied to the specified table's families. + // Required. Modifications to be atomically applied to the specified table's families. // Entries are applied in order, meaning that earlier modifications can be // masked by later ones (in the case of repeated updates to the same family, // for example). - repeated Modification modifications = 2; + repeated Modification modifications = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken][google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken] message GenerateConsistencyTokenRequest { - // The unique name of the Table for which to create a consistency token. + // Required. The unique name of the Table for which to create a consistency token. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; } // Response message for @@ -401,13 +730,18 @@ message GenerateConsistencyTokenResponse { // Request message for // [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency] message CheckConsistencyRequest { - // The unique name of the Table for which to check replication consistency. + // Required. The unique name of the Table for which to check replication consistency. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; - // The token created using GenerateConsistencyToken for the Table. - string consistency_token = 2; + // Required. The token created using GenerateConsistencyToken for the Table. + string consistency_token = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for @@ -426,21 +760,31 @@ message CheckConsistencyResponse { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message SnapshotTableRequest { - // The unique name of the table to have the snapshot taken. + // Required. The unique name of the table to have the snapshot taken. // Values are of the form - // `projects//instances//tables/
`. - string name = 1; + // `projects/{project}/instances/{instance}/tables/{table}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; - // The name of the cluster where the snapshot will be created in. + // Required. The name of the cluster where the snapshot will be created in. // Values are of the form - // `projects//instances//clusters/`. - string cluster = 2; + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + string cluster = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; - // The ID by which the new snapshot should be referred to within the parent + // Required. The ID by which the new snapshot should be referred to within the parent // cluster, e.g., `mysnapshot` of the form: `[_a-zA-Z0-9][-_.a-zA-Z0-9]*` // rather than - // `projects//instances//clusters//snapshots/mysnapshot`. - string snapshot_id = 3; + // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/mysnapshot`. + string snapshot_id = 3 [(google.api.field_behavior) = REQUIRED]; // The amount of time that the new snapshot can stay active after it is // created. Once 'ttl' expires, the snapshot will get deleted. The maximum @@ -460,10 +804,15 @@ message SnapshotTableRequest { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message GetSnapshotRequest { - // The unique name of the requested snapshot. + // Required. The unique name of the requested snapshot. // Values are of the form - // `projects//instances//clusters//snapshots/`. - string name = 1; + // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Snapshot" + } + ]; } // Request message for @@ -474,12 +823,17 @@ message GetSnapshotRequest { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message ListSnapshotsRequest { - // The unique name of the cluster for which snapshots should be listed. + // Required. The unique name of the cluster for which snapshots should be listed. // Values are of the form - // `projects//instances//clusters/`. - // Use ` = '-'` to list snapshots for all clusters in an instance, - // e.g., `projects//instances//clusters/-`. - string parent = 1; + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + // Use `{cluster} = '-'` to list snapshots for all clusters in an instance, + // e.g., `projects/{project}/instances/{instance}/clusters/-`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; // The maximum number of snapshots to return per page. // CURRENTLY UNIMPLEMENTED AND IGNORED. @@ -514,10 +868,15 @@ message ListSnapshotsResponse { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message DeleteSnapshotRequest { - // The unique name of the snapshot to be deleted. + // Required. The unique name of the snapshot to be deleted. // Values are of the form - // `projects//instances//clusters//snapshots/`. - string name = 1; + // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Snapshot" + } + ]; } // The metadata for the Operation returned by SnapshotTable. @@ -554,3 +913,176 @@ message CreateTableFromSnapshotMetadata { // The time at which the operation failed or was completed successfully. google.protobuf.Timestamp finish_time = 3; } + +// The request for [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup]. +message CreateBackupRequest { + // Required. This must be one of the clusters in the instance in which this + // table is located. The backup will be stored in this cluster. Values are + // of the form `projects/{project}/instances/{instance}/clusters/{cluster}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; + + // Required. The id of the backup to be created. The `backup_id` along with + // the parent `parent` are combined as {parent}/backups/{backup_id} to create + // the full backup name, of the form: + // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. + // This string must be between 1 and 50 characters in length and match the + // regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*. + string backup_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The backup to create. + Backup backup = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Metadata type for the operation returned by +// [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup]. +message CreateBackupMetadata { + // The name of the backup being created. + string name = 1; + + // The name of the table the backup is created from. + string source_table = 2; + + // The time at which this operation started. + google.protobuf.Timestamp start_time = 3; + + // If set, the time at which this operation finished or was cancelled. + google.protobuf.Timestamp end_time = 4; +} + +// The request for [UpdateBackup][google.bigtable.admin.v2.BigtableTableAdmin.UpdateBackup]. +message UpdateBackupRequest { + // Required. The backup to update. `backup.name`, and the fields to be updated + // as specified by `update_mask` are required. Other fields are ignored. + // Update is only supported for the following fields: + // * `backup.expire_time`. + Backup backup = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A mask specifying which fields (e.g. `expire_time`) in the + // Backup resource should be updated. This mask is relative to the Backup + // resource, not to the request message. The field mask must always be + // specified; this prevents any future fields from being erased accidentally + // by clients that do not know about them. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request for [GetBackup][google.bigtable.admin.v2.BigtableTableAdmin.GetBackup]. +message GetBackupRequest { + // Required. Name of the backup. + // Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Backup" + } + ]; +} + +// The request for [DeleteBackup][google.bigtable.admin.v2.BigtableTableAdmin.DeleteBackup]. +message DeleteBackupRequest { + // Required. Name of the backup to delete. + // Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Backup" + } + ]; +} + +// The request for [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups]. +message ListBackupsRequest { + // Required. The cluster to list backups from. Values are of the + // form `projects/{project}/instances/{instance}/clusters/{cluster}`. + // Use `{cluster} = '-'` to list backups for all clusters in an instance, + // e.g., `projects/{project}/instances/{instance}/clusters/-`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Cluster" + } + ]; + + // 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. The value must be a + // string, a number, or a boolean. The comparison operator must be + // <, >, <=, >=, !=, =, or :. Colon ':' represents a HAS operator which is + // roughly synonymous with equality. Filter rules are case insensitive. + // + // The fields eligible for filtering are: + // * `name` + // * `source_table` + // * `state` + // * `start_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // * `end_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // * `size_bytes` + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. By default, each expression is an AND expression. However, + // you can include AND, OR, and NOT expressions explicitly. + // + // Some examples of using filters are: + // + // * `name:"exact"` --> The backup's name is the string "exact". + // * `name:howl` --> The backup's name contains the string "howl". + // * `source_table:prod` + // --> The source_table's name contains the string "prod". + // * `state:CREATING` --> The backup is pending creation. + // * `state:READY` --> The backup is fully created and ready for use. + // * `(name:howl) AND (start_time < \"2018-03-28T14:50:00Z\")` + // --> The backup name contains the string "howl" and start_time + // of the backup is before 2018-03-28T14:50:00Z. + // * `size_bytes > 10000000000` --> The backup's size is greater than 10GB + string filter = 2; + + // An expression for specifying the sort order of the results of the request. + // The string value should specify one or more fields in [Backup][google.bigtable.admin.v2.Backup]. The full + // syntax is described at https://aip.dev/132#ordering. + // + // Fields supported are: + // * name + // * source_table + // * expire_time + // * start_time + // * end_time + // * size_bytes + // * state + // + // For example, "start_time". The default sorting order is ascending. + // To specify descending order for the field, a suffix " desc" should + // be appended to the field name. For example, "start_time desc". + // Redundant space characters in the syntax are insigificant. + // + // If order_by is empty, results will be sorted by `start_time` in descending + // order starting from the most recently created backup. + string order_by = 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][google.bigtable.admin.v2.ListBackupsResponse.next_page_token] from a + // previous [ListBackupsResponse][google.bigtable.admin.v2.ListBackupsResponse] to the same `parent` and with the same + // `filter`. + string page_token = 5; +} + +// The response for [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups]. +message ListBackupsResponse { + // The list of matching backups. + repeated Backup backups = 1; + + // `next_page_token` can be sent in a subsequent + // [ListBackups][google.bigtable.admin.v2.BigtableTableAdmin.ListBackups] call to fetch more + // of the matching backups. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_gapic.yaml b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_gapic.yaml index 7a8516bc..3cb1d63f 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_gapic.yaml +++ b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_gapic.yaml @@ -1,872 +1,74 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 language_settings: java: package_name: com.google.cloud.bigtable.admin.v2 interface_names: google.bigtable.admin.v2.BigtableInstanceAdmin: BaseBigtableInstanceAdmin google.bigtable.admin.v2.BigtableTableAdmin: BaseBigtableTableAdmin - python: - package_name: google.cloud.bigtable_admin_v2.gapic - go: - package_name: cloud.google.com/go/bigtable/admin/apiv2 - csharp: - package_name: Google.Cloud.Bigtable.Admin.V2 - ruby: - package_name: Google::Cloud::Bigtable::Admin::V2 - release_level: BETA - php: - package_name: Google\Cloud\Bigtable\Admin\V2 - nodejs: - package_name: admin.v2 interfaces: - name: google.bigtable.admin.v2.BigtableInstanceAdmin - collections: - - name_pattern: projects/{project} - entity_name: project - language_overrides: - - language: csharp - common_resource_name: Google.Api.Gax.ResourceNames.ProjectName - - name_pattern: projects/{project}/instances/{instance} - entity_name: instance - - name_pattern: projects/{project}/instances/{instance}/appProfiles/{app_profile} - entity_name: app_profile - - name_pattern: projects/{project}/instances/{instance}/clusters/{cluster} - entity_name: cluster - - name_pattern: projects/{project}/locations/{location} - entity_name: location - retry_codes_def: - - name: idempotent - retry_codes: - - UNAVAILABLE - - DEADLINE_EXCEEDED - - name: non_idempotent - retry_codes: [] - retry_params_def: - - name: idempotent_params - initial_retry_delay_millis: 1000 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 60000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 60000 - total_timeout_millis: 600000 - - name: non_idempotent_params - initial_retry_delay_millis: 0 - retry_delay_multiplier: 1 - max_retry_delay_millis: 0 - initial_rpc_timeout_millis: 60000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 60000 - total_timeout_millis: 60000 - - name: non_idempotent_heavy_params - initial_retry_delay_millis: 0 - retry_delay_multiplier: 1 - max_retry_delay_millis: 0 - initial_rpc_timeout_millis: 300000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 300000 - total_timeout_millis: 300000 methods: - name: CreateInstance - flattening: - groups: - - parameters: - - parent - - instance_id - - instance - - clusters - required_fields: - - parent - - instance_id - - instance - - clusters - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_heavy_params - field_name_patterns: - parent: project - resource_name_treatment: STATIC_TYPES - timeout_millis: 300000 long_running: - return_type: google.bigtable.admin.v2.Instance - metadata_type: google.bigtable.admin.v2.CreateInstanceMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 600000 - header_request_params: - - parent - - name: GetInstance - flattening: - groups: - - parameters: - - name - required_fields: - - name - resource_name_treatment: STATIC_TYPES - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: instance - timeout_millis: 60000 - header_request_params: - - name - - name: ListInstances - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - parent: project - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - parent - - name: UpdateInstance - required_fields: - - name - - display_name - - type - - labels - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - # Should use PartialUpdateInstance instead - surface_treatments: - - include_languages: [java, csharp] - visibility: DISABLED - header_request_params: - - name - name: PartialUpdateInstance - flattening: - groups: - - parameters: - - instance - - update_mask - required_fields: - - instance - - update_mask - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - instance.name: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 long_running: - return_type: google.bigtable.admin.v2.Instance - metadata_type: google.bigtable.admin.v2.UpdateInstanceMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 600000 - header_request_params: - - instance.name - - name: DeleteInstance - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - name: CreateCluster - flattening: - groups: - - parameters: - - parent - - cluster_id - - cluster - required_fields: - - parent - - cluster_id - - cluster - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES long_running: - return_type: google.bigtable.admin.v2.Cluster - metadata_type: google.bigtable.admin.v2.CreateClusterMetadata initial_poll_delay_millis: 5000 poll_delay_multiplier: 1.5 max_poll_delay_millis: 60000 total_poll_timeout_millis: 21600000 - timeout_millis: 60000 - header_request_params: - - parent - - name: GetCluster - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: cluster - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: ListClusters - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - parent - name: UpdateCluster - required_fields: - - name - - serve_nodes - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: cluster - resource_name_treatment: STATIC_TYPES long_running: - return_type: google.bigtable.admin.v2.Cluster - metadata_type: google.bigtable.admin.v2.UpdateClusterMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 600000 - timeout_millis: 60000 - header_request_params: - - name - - name: DeleteCluster - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: cluster - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: CreateAppProfile - flattening: - groups: - - parameters: - - parent - - app_profile_id - - app_profile - required_fields: - - parent - - app_profile_id - - app_profile - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - parent - - name: GetAppProfile - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: app_profile - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: ListAppProfiles - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - token_field: page_token - response: - token_field: next_page_token - resources_field: app_profiles - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - parent + - name: PartialUpdateCluster + long_running: + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 600000 - name: UpdateAppProfile - flattening: - groups: - - parameters: - - app_profile - - update_mask - required_fields: - - app_profile - - update_mask - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - app_profile.name: app_profile - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 long_running: - return_type: google.bigtable.admin.v2.AppProfile - metadata_type: google.bigtable.admin.v2.UpdateAppProfileMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 600000 - header_request_params: - - app_profile.name - - name: DeleteAppProfile - flattening: - groups: - - parameters: - - name - required_fields: - - name - - ignore_warnings - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: app_profile - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: GetIamPolicy - flattening: - groups: - - parameters: - - resource - required_fields: - - resource - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - resource: instance - timeout_millis: 60000 - header_request_params: - - resource - - name: SetIamPolicy - flattening: - groups: - - parameters: - - resource - - policy - required_fields: - - resource - - policy - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - resource: instance - timeout_millis: 60000 - header_request_params: - - resource - - name: TestIamPermissions - flattening: - groups: - - parameters: - - resource - - permissions - required_fields: - - resource - - permissions - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - resource: instance - timeout_millis: 60000 - header_request_params: - - resource -- name: google.bigtable.admin.v2.BigtableTableAdmin - collections: - - name_pattern: projects/{project}/instances/{instance} - entity_name: instance - - name_pattern: projects/{project}/instances/{instance}/clusters/{cluster} - entity_name: cluster - - name_pattern: projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot} - entity_name: snapshot - - name_pattern: projects/{project}/instances/{instance}/tables/{table} - entity_name: table - language_overrides: - - language: csharp - common_resource_name: Google.Cloud.Bigtable.Common.V2.TableName - retry_codes_def: - - name: idempotent - retry_codes: - - UNAVAILABLE - - DEADLINE_EXCEEDED - - name: non_idempotent - retry_codes: [] - retry_params_def: - - name: idempotent_params - initial_retry_delay_millis: 1000 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 60000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 60000 - total_timeout_millis: 600000 - - name: non_idempotent_params - initial_retry_delay_millis: 0 - retry_delay_multiplier: 1 - max_retry_delay_millis: 0 - initial_rpc_timeout_millis: 60000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 60000 - total_timeout_millis: 60000 - - name: non_idempotent_heavy_params - initial_retry_delay_millis: 0 - retry_delay_multiplier: 1 - max_retry_delay_millis: 0 - initial_rpc_timeout_millis: 300000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 300000 - total_timeout_millis: 300000 - - name: drop_row_range_params - initial_retry_delay_millis: 0 - retry_delay_multiplier: 1 - max_retry_delay_millis: 0 - initial_rpc_timeout_millis: 3600000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 3600000 - total_timeout_millis: 3600000 +- name: google.bigtable.admin.v2.BigtableTableAdmin methods: - - name: CreateTable - flattening: - groups: - - parameters: - - parent - - table_id - - table - required_fields: - - parent - - table_id - - table - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_heavy_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 300000 - header_request_params: - - parent - name: CreateTableFromSnapshot - flattening: - groups: - - parameters: - - parent - - table_id - - source_snapshot - required_fields: - - parent - - table_id - - source_snapshot - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES long_running: - return_type: google.bigtable.admin.v2.Table - metadata_type: google.bigtable.admin.v2.CreateTableFromSnapshotMetadata initial_poll_delay_millis: 5000 poll_delay_multiplier: 1.5 max_poll_delay_millis: 60000 total_poll_timeout_millis: 3600000 - timeout_millis: 60000 - # Snapshots are Alpha-only and not supported in C# - surface_treatments: - - include_languages: [csharp] - visibility: DISABLED - header_request_params: - - parent - - name: ListTables - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - token_field: page_token - response: - token_field: next_page_token - resources_field: tables - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - parent: instance - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - parent - - name: GetTable - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: DeleteTable - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: ModifyColumnFamilies - flattening: - groups: - - parameters: - - name - - modifications - required_fields: - - name - - modifications - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_heavy_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 300000 - header_request_params: - - name - - name: DropRowRange - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: drop_row_range_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: GenerateConsistencyToken - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: CheckConsistency - flattening: - groups: - - parameters: - - name - - consistency_token - required_fields: - - name - - consistency_token - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - name - - name: GetIamPolicy - flattening: - groups: - - parameters: - - resource - required_fields: - - resource - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - resource: table - timeout_millis: 60000 - header_request_params: - - resource - - name: SetIamPolicy - flattening: - groups: - - parameters: - - resource - - policy - required_fields: - - resource - - policy - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - resource: table - timeout_millis: 60000 - header_request_params: - - resource - - name: TestIamPermissions - flattening: - groups: - - parameters: - - resource - - permissions - required_fields: - - resource - - permissions - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - resource: table - timeout_millis: 60000 - header_request_params: - - resource - name: SnapshotTable - flattening: - groups: - - parameters: - - name - - cluster - - snapshot_id - - description - required_fields: - - name - - cluster - - snapshot_id - - description - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 long_running: - return_type: google.bigtable.admin.v2.Snapshot - metadata_type: google.bigtable.admin.v2.SnapshotTableMetadata initial_poll_delay_millis: 500 poll_delay_multiplier: 1.5 max_poll_delay_millis: 5000 total_poll_timeout_millis: 600000 - # Snapshots are Alpha-only and not supported in C# - surface_treatments: - - include_languages: [csharp] - visibility: DISABLED - header_request_params: - - name - - name: GetSnapshot - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - name: snapshot - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - # Snapshots are Alpha-only and not supported in C# - surface_treatments: - - include_languages: [csharp] - visibility: DISABLED - header_request_params: - - name - - name: ListSnapshots - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: snapshots - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - parent: cluster - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - # Snapshots are Alpha-only and not supported in C# - surface_treatments: - - include_languages: [csharp] - visibility: DISABLED - header_request_params: - - parent - - name: DeleteSnapshot - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - name: snapshot - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - # Snapshots are Alpha-only and not supported in C# - surface_treatments: - - include_languages: [csharp] - visibility: DISABLED - header_request_params: - - name - -resource_name_generation: -- message_name: CreateInstanceRequest - field_entity_map: - parent: project -- message_name: GetInstanceRequest - field_entity_map: - name: instance -- message_name: ListInstancesRequest - field_entity_map: - parent: project -- message_name: UpdateInstanceRequest - field_entity_map: - name: instance -- message_name: DeleteInstanceRequest - field_entity_map: - name: instance -- message_name: CreateClusterRequest - field_entity_map: - parent: instance -- message_name: GetClusterRequest - field_entity_map: - name: cluster -- message_name: ListClustersRequest - field_entity_map: - parent: instance -- message_name: UpdateClusterRequest - field_entity_map: - name: cluster -- message_name: DeleteClusterRequest - field_entity_map: - name: cluster -- message_name: CreateAppProfileRequest - field_entity_map: - parent: instance -- message_name: GetAppProfileRequest - field_entity_map: - name: app_profile -- message_name: ListAppProfilesRequest - field_entity_map: - parent: instance -- message_name: DeleteAppProfileRequest - field_entity_map: - name: app_profile -- message_name: CreateTableRequest - field_entity_map: - parent: instance -- message_name: CreateTableFromSnapshotRequest - field_entity_map: - parent: instance - source_snapshot: snapshot -- message_name: ListTablesRequest - field_entity_map: - parent: instance -- message_name: GetTableRequest - field_entity_map: - name: table -- message_name: DeleteTableRequest - field_entity_map: - name: table -- message_name: ModifyColumnFamiliesRequest - field_entity_map: - name: table -- message_name: DropRowRangeRequest - field_entity_map: - name: table -- message_name: GenerateConsistencyTokenRequest - field_entity_map: - name: table -- message_name: CheckConsistencyRequest - field_entity_map: - name: table -- message_name: SnapshotTableRequest - field_entity_map: - name: table - cluster: cluster - snapshot_id: snapshot -- message_name: GetSnapshotRequest - field_entity_map: - name: snapshot -- message_name: ListSnapshotsRequest - field_entity_map: - parent: cluster -- message_name: DeleteSnapshotRequest - field_entity_map: - name: snapshot -- message_name: Instance - field_entity_map: - name: instance -- message_name: Cluster - field_entity_map: - name: cluster - location: location -- message_name: Table - field_entity_map: - name: table -- message_name: Snapshot - field_entity_map: - name: snapshot + - name: CreateBackup + long_running: + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 600000 + - name: RestoreTable + long_running: + initial_poll_delay_millis: 500 + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 5000 + total_poll_timeout_millis: 600000 diff --git a/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_grpc_service_config.json b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_grpc_service_config.json new file mode 100755 index 00000000..cf8e3ff7 --- /dev/null +++ b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_grpc_service_config.json @@ -0,0 +1,233 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "CreateTable" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "ModifyColumnFamilies" + } + ], + "timeout": "300s" + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "DeleteTable" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "SetIamPolicy" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "DeleteSnapshot" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "CreateBackup" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "UpdateBackup" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "DeleteBackup" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "RestoreTable" + } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "ListTables" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "GetTable" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "GetSnapshot" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "GetBackup" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "ListBackups" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 2, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "GenerateConsistencyToken" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "CheckConsistency" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "GetIamPolicy" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "TestIamPermissions" + }, + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "ListSnapshots" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 2, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableTableAdmin", + "method": "DropRowRange" + } + ], + "timeout": "3600s" + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "CreateInstance" + } + ], + "timeout": "300s" + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "GetInstance" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "ListInstances" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "UpdateInstance" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "PartialUpdateInstance" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "GetCluster" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "ListClusters" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "UpdateCluster" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "GetAppProfile" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "ListAppProfiles" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "UpdateAppProfile" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "GetIamPolicy" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "TestIamPermissions" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "ListHotTablets" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 2, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "DeleteInstance" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "CreateCluster" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "DeleteCluster" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "CreateAppProfile" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "DeleteAppProfile" + }, + { + "service": "google.bigtable.admin.v2.BigtableInstanceAdmin", + "method": "SetIamPolicy" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_v2.yaml b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_v2.yaml new file mode 100644 index 00000000..b8f53f79 --- /dev/null +++ b/google-cloud/protos/google/bigtable/admin/v2/bigtableadmin_v2.yaml @@ -0,0 +1,178 @@ +type: google.api.Service +config_version: 3 +name: bigtableadmin.googleapis.com +title: Cloud Bigtable Admin API + +apis: +- name: google.bigtable.admin.v2.BigtableInstanceAdmin +- name: google.bigtable.admin.v2.BigtableTableAdmin + +types: +- name: google.bigtable.admin.v2.Backup +- name: google.bigtable.admin.v2.CreateBackupMetadata +- name: google.bigtable.admin.v2.CreateClusterMetadata +- name: google.bigtable.admin.v2.CreateInstanceMetadata +- name: google.bigtable.admin.v2.CreateTableFromSnapshotMetadata +- name: google.bigtable.admin.v2.OptimizeRestoredTableMetadata +- name: google.bigtable.admin.v2.PartialUpdateClusterMetadata +- name: google.bigtable.admin.v2.RestoreTableMetadata +- name: google.bigtable.admin.v2.SnapshotTableMetadata +- name: google.bigtable.admin.v2.UndeleteTableMetadata +- name: google.bigtable.admin.v2.UpdateAppProfileMetadata +- name: google.bigtable.admin.v2.UpdateClusterMetadata +- name: google.bigtable.admin.v2.UpdateInstanceMetadata +- name: google.bigtable.admin.v2.UpdateTableMetadata + +documentation: + summary: Administer your Cloud Bigtable tables and instances. + +backend: + rules: + - selector: 'google.bigtable.admin.v2.BigtableInstanceAdmin.*' + deadline: 60.0 + - selector: 'google.bigtable.admin.v2.BigtableTableAdmin.*' + deadline: 60.0 + - selector: google.bigtable.admin.v2.BigtableTableAdmin.CreateTable + deadline: 130.0 + - selector: google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange + deadline: 900.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v2/{name=operations/**}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v2/{name=operations/**}' + - selector: google.longrunning.Operations.GetOperation + get: '/v2/{name=operations/**}' + - selector: google.longrunning.Operations.ListOperations + get: '/v2/{name=operations/projects/**}/operations' + +authentication: + rules: + - selector: 'google.bigtable.admin.v2.BigtableInstanceAdmin.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetAppProfile + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetCluster + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.GetInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListClusters + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListHotTablets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableInstanceAdmin.ListInstances + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.bigtable.admin.v2.BigtableTableAdmin.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.table, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.table, + https://www.googleapis.com/auth/cloud-platform + - selector: google.bigtable.admin.v2.BigtableTableAdmin.GetTable + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.table, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.table, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.admin.v2.BigtableTableAdmin.ListTables + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.table, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.table, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.admin, + https://www.googleapis.com/auth/bigtable.admin.cluster, + https://www.googleapis.com/auth/bigtable.admin.instance, + https://www.googleapis.com/auth/cloud-bigtable.admin, + https://www.googleapis.com/auth/cloud-bigtable.admin.cluster, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/admin/v2/common.proto b/google-cloud/protos/google/bigtable/admin/v2/common.proto index ad4d7359..0d337e6b 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/common.proto +++ b/google-cloud/protos/google/bigtable/admin/v2/common.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// 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. @@ -11,13 +11,11 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.v2; -import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2"; @@ -26,6 +24,7 @@ option java_multiple_files = true; option java_outer_classname = "CommonProto"; option java_package = "com.google.bigtable.admin.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; +option ruby_package = "Google::Cloud::Bigtable::Admin::V2"; // Storage media types for persisting Bigtable data. enum StorageType { @@ -38,3 +37,18 @@ enum StorageType { // Magnetic drive (HDD) storage should be used. HDD = 2; } + +// Encapsulates progress related information for a Cloud Bigtable long +// running operation. +message OperationProgress { + // Percent completion of the operation. + // Values are between 0 and 100 inclusive. + int32 progress_percent = 1; + + // Time the request was received. + google.protobuf.Timestamp start_time = 2; + + // If set, the time at which this operation failed or was completed + // successfully. + google.protobuf.Timestamp end_time = 3; +} diff --git a/google-cloud/protos/google/bigtable/admin/v2/instance.proto b/google-cloud/protos/google/bigtable/admin/v2/instance.proto index ef8599bf..e7e73e00 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/instance.proto +++ b/google-cloud/protos/google/bigtable/admin/v2/instance.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// 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. @@ -11,14 +11,15 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.v2; -import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/bigtable/admin/v2/common.proto"; +import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2"; option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/v2;admin"; @@ -26,12 +27,22 @@ option java_multiple_files = true; option java_outer_classname = "InstanceProto"; option java_package = "com.google.bigtable.admin.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; +option ruby_package = "Google::Cloud::Bigtable::Admin::V2"; +option (google.api.resource_definition) = { + type: "cloudkms.googleapis.com/CryptoKey" + pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}" +}; // A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and // the resources that serve them. -// All tables in an instance are served from a single -// [Cluster][google.bigtable.admin.v2.Cluster]. +// All tables in an instance are served from all +// [Clusters][google.bigtable.admin.v2.Cluster] in the instance. message Instance { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/Instance" + pattern: "projects/{project}/instances/{instance}" + }; + // Possible states of an instance. enum State { // The state of the instance could not be determined. @@ -57,25 +68,19 @@ message Instance { // on the cluster. PRODUCTION = 1; - // The instance is meant for development and testing purposes only; it has - // no performance or uptime guarantees and is not covered by SLA. - // After a development instance is created, it can be upgraded by - // updating the instance to type `PRODUCTION`. An instance created - // as a production instance cannot be changed to a development instance. - // When creating a development instance, `serve_nodes` on the cluster must - // not be set. + // DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces + // a higher minimum node count than DEVELOPMENT. DEVELOPMENT = 2; } - // (`OutputOnly`) // The unique name of the instance. Values are of the form - // `projects//instances/[a-z][a-z0-9\\-]+[a-z0-9]`. + // `projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9]`. string name = 1; - // The descriptive name for this instance as it appears in UIs. + // Required. The descriptive name for this instance as it appears in UIs. // Can be changed at any time, but should be kept globally unique // to avoid confusion. - string display_name = 2; + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // (`OutputOnly`) // The current state of the instance. @@ -96,12 +101,51 @@ message Instance { // * No more than 64 labels can be associated with a given resource. // * Keys and values must both be under 128 bytes. map labels = 5; + + // Output only. A server-assigned timestamp representing when this Instance was created. + // For instances created before this field was added (August 2021), this value + // is `seconds: 0, nanos: 1`. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reserved for future use. + optional bool satisfies_pzs = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The Autoscaling targets for a Cluster. These determine the recommended nodes. +message AutoscalingTargets { + // The cpu utilization that the Autoscaler should be trying to achieve. + // This number is on a scale from 0 (no utilization) to + // 100 (total utilization), and is limited between 10 and 80, otherwise it + // will return INVALID_ARGUMENT error. + int32 cpu_utilization_percent = 2; + + // The storage utilization that the Autoscaler should be trying to achieve. + // This number is limited between 2560 (2.5TiB) and 5120 (5TiB) for a SSD + // cluster and between 8192 (8TiB) and 16384 (16TiB) for an HDD cluster; + // otherwise it will return INVALID_ARGUMENT error. If this value is set to 0, + // it will be treated as if it were set to the default value: 2560 for SSD, + // 8192 for HDD. + int32 storage_utilization_gib_per_node = 3; +} + +// Limits for the number of nodes a Cluster can autoscale up/down to. +message AutoscalingLimits { + // Required. Minimum number of nodes to scale down to. + int32 min_serve_nodes = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Maximum number of nodes to scale up to. + int32 max_serve_nodes = 2 [(google.api.field_behavior) = REQUIRED]; } // A resizable group of nodes in a particular cloud location, capable // of serving all [Tables][google.bigtable.admin.v2.Table] in the parent // [Instance][google.bigtable.admin.v2.Instance]. message Cluster { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/Cluster" + pattern: "projects/{project}/instances/{instance}/clusters/{cluster}" + }; + // Possible states of a cluster. enum State { // The state of the cluster could not be determined. @@ -127,43 +171,95 @@ message Cluster { DISABLED = 4; } - // (`OutputOnly`) + // Autoscaling config for a cluster. + message ClusterAutoscalingConfig { + // Required. Autoscaling limits for this cluster. + AutoscalingLimits autoscaling_limits = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Autoscaling targets for this cluster. + AutoscalingTargets autoscaling_targets = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Configuration for a cluster. + message ClusterConfig { + // Autoscaling configuration for this cluster. + ClusterAutoscalingConfig cluster_autoscaling_config = 1; + } + + // Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected + // cluster. + message EncryptionConfig { + // Describes the Cloud KMS encryption key that will be used to protect the + // destination Bigtable cluster. The requirements for this key are: + // 1) The Cloud Bigtable service account associated with the project that + // contains this cluster must be granted the + // `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. + // 2) Only regional keys can be used and the region of the CMEK key must + // match the region of the cluster. + // 3) All clusters within an instance must use the same CMEK key. + // Values are of the form + // `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` + string kms_key_name = 1 [(google.api.resource_reference) = { + type: "cloudkms.googleapis.com/CryptoKey" + }]; + } + // The unique name of the cluster. Values are of the form - // `projects//instances//clusters/[a-z][-a-z0-9]*`. + // `projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*`. string name = 1; - // (`CreationOnly`) - // The location where this cluster's nodes and storage reside. For best + // Immutable. The location where this cluster's nodes and storage reside. For best // performance, clients should be located as close as possible to this // cluster. Currently only zones are supported, so values should be of the - // form `projects//locations/`. - string location = 2; + // form `projects/{project}/locations/{zone}`. + string location = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // (`OutputOnly`) - // The current state of the cluster. - State state = 3; + // Output only. The current state of the cluster. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // The number of nodes allocated to this cluster. More nodes enable higher // throughput and more consistent performance. int32 serve_nodes = 4; - // (`CreationOnly`) - // The type of storage used by this cluster to serve its + oneof config { + // Configuration for this cluster. + ClusterConfig cluster_config = 7; + } + + // Immutable. The type of storage used by this cluster to serve its // parent instance's tables, unless explicitly overridden. - StorageType default_storage_type = 5; + StorageType default_storage_type = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The encryption configuration for CMEK-protected clusters. + EncryptionConfig encryption_config = 6 [(google.api.field_behavior) = IMMUTABLE]; } // A configuration object describing how Cloud Bigtable should treat traffic // from a particular end user application. message AppProfile { - // Read/write requests may be routed to any cluster in the instance, and will - // fail over to another cluster in the event of transient errors or delays. - // Choosing this option sacrifices read-your-writes consistency to improve - // availability. - message MultiClusterRoutingUseAny {} + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/AppProfile" + pattern: "projects/{project}/instances/{instance}/appProfiles/{app_profile}" + }; + + // Read/write requests are routed to the nearest cluster in the instance, and + // will fail over to the nearest cluster that is available in the event of + // transient errors or delays. Clusters in a region are considered + // equidistant. Choosing this option sacrifices read-your-writes consistency + // to improve availability. + message MultiClusterRoutingUseAny { + // The set of clusters to route to. The order is ignored; clusters will be + // tried in order of distance. If left empty, all clusters are eligible. + repeated string cluster_ids = 1; + } // Unconditionally routes all read/write requests to a specific cluster. - // This option preserves read-your-writes consistency, but does not improve + // This option preserves read-your-writes consistency but does not improve // availability. message SingleClusterRouting { // The cluster to which read/write requests should be routed. @@ -175,9 +271,8 @@ message AppProfile { bool allow_transactional_writes = 2; } - // (`OutputOnly`) // The unique name of the app profile. Values are of the form - // `projects//instances//appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. + // `projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. string name = 1; // Strongly validated etag for optimistic concurrency control. Preserve the @@ -190,16 +285,56 @@ message AppProfile { // details. string etag = 2; - // Optional long form description of the use case for this AppProfile. + // Long form description of the use case for this AppProfile. string description = 3; - // The routing policy for all read/write requests which use this app profile. + // The routing policy for all read/write requests that use this app profile. // A value must be explicitly set. oneof routing_policy { - // Use a multi-cluster routing policy that may pick any cluster. + // Use a multi-cluster routing policy. MultiClusterRoutingUseAny multi_cluster_routing_use_any = 5; // Use a single-cluster routing policy. SingleClusterRouting single_cluster_routing = 6; } } + +// A tablet is a defined by a start and end key and is explained in +// https://cloud.google.com/bigtable/docs/overview#architecture and +// https://cloud.google.com/bigtable/docs/performance#optimization. +// A Hot tablet is a tablet that exhibits high average cpu usage during the time +// interval from start time to end time. +message HotTablet { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/HotTablet" + pattern: "projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/{hot_tablet}" + }; + + // The unique name of the hot tablet. Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*`. + string name = 1; + + // Name of the table that contains the tablet. Values are of the form + // `projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. + string table_name = 2 [(google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + }]; + + // Output only. The start time of the hot tablet. + google.protobuf.Timestamp start_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The end time of the hot tablet. + google.protobuf.Timestamp end_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Tablet Start Key (inclusive). + string start_key = 5; + + // Tablet End Key (inclusive). + string end_key = 6; + + // Output only. The average CPU usage spent by a node on this tablet over the start_time to + // end_time time range. The percentage is the amount of CPU used by the node + // to serve the tablet, from 0% (tablet was not interacted with) to 100% (the + // node spent all cycles serving the hot tablet). + float node_cpu_usage_percent = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/bigtable/admin/v2/table.proto b/google-cloud/protos/google/bigtable/admin/v2/table.proto index 5019d8b8..5a59fd20 100644 --- a/google-cloud/protos/google/bigtable/admin/v2/table.proto +++ b/google-cloud/protos/google/bigtable/admin/v2/table.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// 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. @@ -11,15 +11,16 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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.admin.v2; -import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2"; option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/v2;admin"; @@ -27,10 +28,34 @@ option java_multiple_files = true; option java_outer_classname = "TableProto"; option java_package = "com.google.bigtable.admin.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2"; +option ruby_package = "Google::Cloud::Bigtable::Admin::V2"; +option (google.api.resource_definition) = { + type: "cloudkms.googleapis.com/CryptoKeyVersion" + pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}" +}; + + +// Information about a table restore. +message RestoreInfo { + // The type of the restore source. + RestoreSourceType source_type = 1; + + // Information about the source used to restore the table. + oneof source_info { + // Information about the backup used to restore the table. The backup + // may no longer exist. + BackupInfo backup_info = 2; + } +} // A collection of user data indexed by row, column, and timestamp. // Each table is served using the resources of its parent cluster. message Table { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/Table" + pattern: "projects/{project}/instances/{instance}/tables/{table}" + }; + // The state of a table's data in a particular cluster. message ClusterState { // Table replication states. @@ -55,11 +80,22 @@ message Table { // replication delay, reads may not immediately reflect the state of the // table in other clusters. READY = 4; + + // The table is fully created and ready for use after a restore, and is + // being optimized for performance. When optimizations are complete, the + // table will transition to `READY` state. + READY_OPTIMIZING = 5; } - // (`OutputOnly`) - // The state of replication for the table in this cluster. - ReplicationState replication_state = 1; + // Output only. The state of replication for the table in this cluster. + ReplicationState replication_state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The encryption information for the table in this cluster. + // If the encryption key protecting this resource is customer managed, then + // its version can be rotated in Cloud Key Management Service (Cloud KMS). + // The primary version of the key and its status will be reflected here when + // changes propagate from Cloud KMS. + repeated EncryptionInfo encryption_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Possible timestamp granularities to use when keeping multiple versions @@ -84,39 +120,50 @@ message Table { // Only populates `name` and fields related to the table's schema. SCHEMA_VIEW = 2; - // Only populates `name` and fields related to the table's - // replication state. + // Only populates `name` and fields related to the table's replication + // state. REPLICATION_VIEW = 3; + // Only populates `name` and fields related to the table's encryption state. + ENCRYPTION_VIEW = 5; + // Populates all fields. FULL = 4; } - // (`OutputOnly`) // The unique name of the table. Values are of the form - // `projects//instances//tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. + // `projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`. // Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL` string name = 1; - // (`OutputOnly`) - // Map from cluster ID to per-cluster table state. + // Output only. Map from cluster ID to per-cluster table state. // If it could not be determined whether or not the table has data in a // particular cluster (for example, if its zone is unavailable), then // there will be an entry for the cluster with UNKNOWN `replication_status`. - // Views: `REPLICATION_VIEW`, `FULL` - map cluster_states = 2; + // Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` + map cluster_states = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - // (`CreationOnly`) // The column families configured for this table, mapped by column family ID. // Views: `SCHEMA_VIEW`, `FULL` map column_families = 3; - // (`CreationOnly`) - // The granularity (i.e. `MILLIS`) at which timestamps are stored in - // this table. Timestamps not matching the granularity will be rejected. + // Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this + // table. Timestamps not matching the granularity will be rejected. // If unspecified at creation time, the value will be set to `MILLIS`. - // Views: `SCHEMA_VIEW`, `FULL` - TimestampGranularity granularity = 4; + // Views: `SCHEMA_VIEW`, `FULL`. + TimestampGranularity granularity = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. If this table was restored from another data source (e.g. a backup), this + // field will be populated with information about the restore. + RestoreInfo restore_info = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Set to true to make the table protected against data loss. i.e. deleting + // the following resources through Admin APIs are prohibited: + // - The table. + // - The column families in the table. + // - The instance containing the table. + // Note one can still delete the data stored in the table through Data APIs. + bool deletion_protection = 9; } // A set of columns within a table which share a common configuration. @@ -162,6 +209,48 @@ message GcRule { } } +// Encryption information for a given resource. +// If this resource is protected with customer managed encryption, the in-use +// Cloud Key Management Service (Cloud KMS) key version is specified along with +// its status. +message EncryptionInfo { + // Possible encryption types for a resource. + enum EncryptionType { + // Encryption type was not specified, though data at rest remains encrypted. + ENCRYPTION_TYPE_UNSPECIFIED = 0; + + // The data backing this resource is encrypted at rest with a key that is + // fully managed by Google. No key version or status will be populated. + // This is the default state. + GOOGLE_DEFAULT_ENCRYPTION = 1; + + // The data backing this resource is encrypted at rest with a key that is + // managed by the customer. + // The in-use version of the key and its status are populated for + // CMEK-protected tables. + // CMEK-protected backups are pinned to the key version that was in use at + // the time the backup was taken. This key version is populated but its + // status is not tracked and is reported as `UNKNOWN`. + CUSTOMER_MANAGED_ENCRYPTION = 2; + } + + // Output only. The type of encryption used to protect this resource. + EncryptionType encryption_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of encrypt/decrypt calls on underlying data for this resource. + // Regardless of status, the existing data is always encrypted at rest. + google.rpc.Status encryption_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The version of the Cloud KMS key specified in the parent cluster that is + // in use for the data underlying this table. + string kms_key_version = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudkms.googleapis.com/CryptoKeyVersion" + } + ]; +} + // A snapshot of a table at a particular time. A snapshot can be used as a // checkpoint for data restoration or a data source for a new table. // @@ -170,6 +259,11 @@ message GcRule { // feature might be changed in backward-incompatible ways and is not recommended // for production use. It is not subject to any SLA or deprecation policy. message Snapshot { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/Snapshot" + pattern: "projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}" + }; + // Possible states of a snapshot. enum State { // The state of the snapshot could not be determined. @@ -184,37 +278,124 @@ message Snapshot { CREATING = 2; } - // (`OutputOnly`) - // The unique name of the snapshot. + // Output only. The unique name of the snapshot. // Values are of the form - // `projects//instances//clusters//snapshots/`. + // `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. string name = 1; - // (`OutputOnly`) - // The source table at the time the snapshot was taken. + // Output only. The source table at the time the snapshot was taken. Table source_table = 2; - // (`OutputOnly`) - // The size of the data in the source table at the time the snapshot was - // taken. In some cases, this value may be computed asynchronously via a - // background process and a placeholder of 0 will be used in the meantime. + // Output only. The size of the data in the source table at the time the + // snapshot was taken. In some cases, this value may be computed + // asynchronously via a background process and a placeholder of 0 will be used + // in the meantime. int64 data_size_bytes = 3; - // (`OutputOnly`) - // The time when the snapshot is created. + // Output only. The time when the snapshot is created. google.protobuf.Timestamp create_time = 4; - // (`OutputOnly`) - // The time when the snapshot will be deleted. The maximum amount of time a - // snapshot can stay active is 365 days. If 'ttl' is not specified, + // Output only. The time when the snapshot will be deleted. The maximum amount + // of time a snapshot can stay active is 365 days. If 'ttl' is not specified, // the default maximum of 365 days will be used. google.protobuf.Timestamp delete_time = 5; - // (`OutputOnly`) - // The current state of the snapshot. + // Output only. The current state of the snapshot. State state = 6; - // (`OutputOnly`) - // Description of the snapshot. + // Output only. Description of the snapshot. string description = 7; } + +// A backup of a Cloud Bigtable table. +message Backup { + option (google.api.resource) = { + type: "bigtableadmin.googleapis.com/Backup" + pattern: "projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}" + }; + + // Indicates the current state of the backup. + enum State { + // Not specified. + STATE_UNSPECIFIED = 0; + + // The pending backup is still being created. Operations on the + // backup may fail with `FAILED_PRECONDITION` in this state. + CREATING = 1; + + // The backup is complete and ready for use. + READY = 2; + } + + // A globally unique identifier for the backup which cannot be + // changed. Values are of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}/ + // backups/[_a-zA-Z0-9][-_.a-zA-Z0-9]*` + // The final segment of the name must be between 1 and 50 characters + // in length. + // + // The backup is stored in the cluster identified by the prefix of the backup + // name of the form + // `projects/{project}/instances/{instance}/clusters/{cluster}`. + string name = 1; + + // Required. Immutable. Name of the table from which this backup was created. This needs + // to be in the same instance as the backup. Values are of the form + // `projects/{project}/instances/{instance}/tables/{source_table}`. + string source_table = 2 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = REQUIRED + ]; + + // Required. The expiration time of the backup, with microseconds + // granularity that must be at least 6 hours and at most 30 days + // from the time the request is received. Once the `expire_time` + // has passed, Cloud Bigtable will delete the backup and free the + // resources used by the backup. + google.protobuf.Timestamp expire_time = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. `start_time` is the time that the backup was started + // (i.e. approximately the time the + // [CreateBackup][google.bigtable.admin.v2.BigtableTableAdmin.CreateBackup] request is received). The + // row data in this backup will be no older than this timestamp. + google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. `end_time` is the time that the backup was finished. The row + // data in the backup will be no newer than this timestamp. + google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Size of the backup in bytes. + int64 size_bytes = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the backup. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The encryption information for the backup. + EncryptionInfo encryption_info = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Information about a backup. +message BackupInfo { + // Output only. Name of the backup. + string backup = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time that the backup was started. Row data in the backup + // will be no older than this timestamp. + google.protobuf.Timestamp start_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This time that the backup was finished. Row data in the + // backup will be no newer than this timestamp. + google.protobuf.Timestamp end_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the table the backup was created from. + string source_table = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Indicates the type of the restore source. +enum RestoreSourceType { + // No restore associated. + RESTORE_SOURCE_TYPE_UNSPECIFIED = 0; + + // A backup was used as the source of the restore. + BACKUP = 1; +} diff --git a/google-cloud/protos/google/bigtable/artman_bigtable.yaml b/google-cloud/protos/google/bigtable/artman_bigtable.yaml deleted file mode 100644 index 5b4aa025..00000000 --- a/google-cloud/protos/google/bigtable/artman_bigtable.yaml +++ /dev/null @@ -1,34 +0,0 @@ -common: - api_name: bigtable - api_version: v2 - organization_name: google-cloud - service_yaml: bigtable.yaml - gapic_yaml: v2/bigtable_gapic.yaml - src_proto_paths: - - v2 - proto_deps: - - name: google-common-protos -artifacts: -- name: java_gapic - type: GAPIC - language: JAVA -- name: python_gapic - type: GAPIC - language: PYTHON -- name: php_gapic - type: GAPIC - language: PHP -- name: ruby_gapic - type: GAPIC - language: RUBY -- name: go_gapic - type: GAPIC - language: GO -- name: csharp_gapic - type: GAPIC - language: CSHARP -- name: nodejs_gapic - type: GAPIC - language: NODEJS -- name: gapic_config - type: GAPIC_CONFIG diff --git a/google-cloud/protos/google/bigtable/bigtable.yaml b/google-cloud/protos/google/bigtable/bigtable.yaml deleted file mode 100644 index ba5393cd..00000000 --- a/google-cloud/protos/google/bigtable/bigtable.yaml +++ /dev/null @@ -1,32 +0,0 @@ -type: google.api.Service -config_version: 0 -name: bigtable.googleapis.com -title: Cloud Bigtable API - -apis: -- name: google.bigtable.v2.Bigtable - -documentation: - summary: |- - API for reading and writing the contents of Bigtables associated with a - cloud project. - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.data, - https://www.googleapis.com/auth/cloud-bigtable.data, - https://www.googleapis.com/auth/cloud-platform - - selector: |- - google.bigtable.v2.Bigtable.ReadRows, - google.bigtable.v2.Bigtable.SampleRowKeys - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/bigtable.data, - https://www.googleapis.com/auth/bigtable.data.readonly, - https://www.googleapis.com/auth/cloud-bigtable.data, - https://www.googleapis.com/auth/cloud-bigtable.data.readonly, - https://www.googleapis.com/auth/cloud-platform, - https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/v1/bigtable_data.proto b/google-cloud/protos/google/bigtable/v1/bigtable_data.proto deleted file mode 100644 index bc6a6330..00000000 --- a/google-cloud/protos/google/bigtable/v1/bigtable_data.proto +++ /dev/null @@ -1,513 +0,0 @@ -// Copyright 2018 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.v1; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/v1;bigtable"; -option java_multiple_files = true; -option java_outer_classname = "BigtableDataProto"; -option java_package = "com.google.bigtable.v1"; - -// Specifies the complete (requested) contents of a single row of a table. -// Rows which exceed 256MiB in size cannot be read in full. -message Row { - // The unique key which identifies this row within its table. This is the same - // key that's used to identify the row in, for example, a MutateRowRequest. - // May contain any non-empty byte string up to 4KiB in length. - bytes key = 1; - - // May be empty, but only if the entire row is empty. - // The mutual ordering of column families is not specified. - repeated Family families = 2; -} - -// Specifies (some of) the contents of a single row/column family of a table. -message Family { - // The unique key which identifies this family within its row. This is the - // same key that's used to identify the family in, for example, a RowFilter - // which sets its "family_name_regex_filter" field. - // Must match [-_.a-zA-Z0-9]+, except that AggregatingRowProcessors may - // produce cells in a sentinel family with an empty name. - // Must be no greater than 64 characters in length. - string name = 1; - - // Must not be empty. Sorted in order of increasing "qualifier". - repeated Column columns = 2; -} - -// Specifies (some of) the contents of a single row/column of a table. -message Column { - // The unique key which identifies this column within its family. This is the - // same key that's used to identify the column in, for example, a RowFilter - // which sets its "column_qualifier_regex_filter" field. - // May contain any byte string, including the empty string, up to 16kiB in - // length. - bytes qualifier = 1; - - // Must not be empty. Sorted in order of decreasing "timestamp_micros". - repeated Cell cells = 2; -} - -// Specifies (some of) the contents of a single row/column/timestamp of a table. -message Cell { - // The cell's stored timestamp, which also uniquely identifies it within - // its column. - // Values are always expressed in microseconds, but individual tables may set - // a coarser "granularity" to further restrict the allowed values. For - // example, a table which specifies millisecond granularity will only allow - // values of "timestamp_micros" which are multiples of 1000. - int64 timestamp_micros = 1; - - // The value stored in the cell. - // May contain any byte string, including the empty string, up to 100MiB in - // length. - bytes value = 2; - - // Labels applied to the cell by a [RowFilter][google.bigtable.v1.RowFilter]. - repeated string labels = 3; -} - -// Specifies a contiguous range of rows. -message RowRange { - // Inclusive lower bound. If left empty, interpreted as the empty string. - bytes start_key = 2; - - // Exclusive upper bound. If left empty, interpreted as infinity. - bytes end_key = 3; -} - -// Specifies a non-contiguous set of rows. -message RowSet { - // Single rows included in the set. - repeated bytes row_keys = 1; - - // Contiguous row ranges included in the set. - repeated RowRange row_ranges = 2; -} - -// Specifies a contiguous range of columns within a single column family. -// The range spans from : to -// :, where both bounds can be either inclusive or -// exclusive. -message ColumnRange { - // The name of the column family within which this range falls. - string family_name = 1; - - // The column qualifier at which to start the range (within 'column_family'). - // If neither field is set, interpreted as the empty string, inclusive. - oneof start_qualifier { - // Used when giving an inclusive lower bound for the range. - bytes start_qualifier_inclusive = 2; - - // Used when giving an exclusive lower bound for the range. - bytes start_qualifier_exclusive = 3; - } - - // The column qualifier at which to end the range (within 'column_family'). - // If neither field is set, interpreted as the infinite string, exclusive. - oneof end_qualifier { - // Used when giving an inclusive upper bound for the range. - bytes end_qualifier_inclusive = 4; - - // Used when giving an exclusive upper bound for the range. - bytes end_qualifier_exclusive = 5; - } -} - -// Specified a contiguous range of microsecond timestamps. -message TimestampRange { - // Inclusive lower bound. If left empty, interpreted as 0. - int64 start_timestamp_micros = 1; - - // Exclusive upper bound. If left empty, interpreted as infinity. - int64 end_timestamp_micros = 2; -} - -// Specifies a contiguous range of raw byte values. -message ValueRange { - // The value at which to start the range. - // If neither field is set, interpreted as the empty string, inclusive. - oneof start_value { - // Used when giving an inclusive lower bound for the range. - bytes start_value_inclusive = 1; - - // Used when giving an exclusive lower bound for the range. - bytes start_value_exclusive = 2; - } - - // The value at which to end the range. - // If neither field is set, interpreted as the infinite string, exclusive. - oneof end_value { - // Used when giving an inclusive upper bound for the range. - bytes end_value_inclusive = 3; - - // Used when giving an exclusive upper bound for the range. - bytes end_value_exclusive = 4; - } -} - -// Takes a row as input and produces an alternate view of the row based on -// specified rules. For example, a RowFilter might trim down a row to include -// just the cells from columns matching a given regular expression, or might -// return all the cells of a row but not their values. More complicated filters -// can be composed out of these components to express requests such as, "within -// every column of a particular family, give just the two most recent cells -// which are older than timestamp X." -// -// There are two broad categories of RowFilters (true filters and transformers), -// as well as two ways to compose simple filters into more complex ones -// (chains and interleaves). They work as follows: -// -// * True filters alter the input row by excluding some of its cells wholesale -// from the output row. An example of a true filter is the "value_regex_filter", -// which excludes cells whose values don't match the specified pattern. All -// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax) -// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An -// important point to keep in mind is that RE2(.) is equivalent by default to -// RE2([^\n]), meaning that it does not match newlines. When attempting to match -// an arbitrary byte, you should therefore use the escape sequence '\C', which -// may need to be further escaped as '\\C' in your client language. -// -// * Transformers alter the input row by changing the values of some of its -// cells in the output, without excluding them completely. Currently, the only -// supported transformer is the "strip_value_transformer", which replaces every -// cell's value with the empty string. -// -// * Chains and interleaves are described in more detail in the -// RowFilter.Chain and RowFilter.Interleave documentation. -// -// The total serialized size of a RowFilter message must not -// exceed 4096 bytes, and RowFilters may not be nested within each other -// (in Chains or Interleaves) to a depth of more than 20. -message RowFilter { - // A RowFilter which sends rows through several RowFilters in sequence. - message Chain { - // The elements of "filters" are chained together to process the input row: - // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row - // The full chain is executed atomically. - repeated RowFilter filters = 1; - } - - // A RowFilter which sends each row to each of several component - // RowFilters and interleaves the results. - message Interleave { - // The elements of "filters" all process a copy of the input row, and the - // results are pooled, sorted, and combined into a single output row. - // If multiple cells are produced with the same column and timestamp, - // they will all appear in the output row in an unspecified mutual order. - // Consider the following example, with three filters: - // - // input row - // | - // ----------------------------------------------------- - // | | | - // f(0) f(1) f(2) - // | | | - // 1: foo,bar,10,x foo,bar,10,z far,bar,7,a - // 2: foo,blah,11,z far,blah,5,x far,blah,5,x - // | | | - // ----------------------------------------------------- - // | - // 1: foo,bar,10,z // could have switched with #2 - // 2: foo,bar,10,x // could have switched with #1 - // 3: foo,blah,11,z - // 4: far,bar,7,a - // 5: far,blah,5,x // identical to #6 - // 6: far,blah,5,x // identical to #5 - // All interleaved filters are executed atomically. - repeated RowFilter filters = 1; - } - - // A RowFilter which evaluates one of two possible RowFilters, depending on - // whether or not a predicate RowFilter outputs any cells from the input row. - // - // IMPORTANT NOTE: The predicate filter does not execute atomically with the - // true and false filters, which may lead to inconsistent or unexpected - // results. Additionally, Condition filters have poor performance, especially - // when filters are set for the false condition. - message Condition { - // If "predicate_filter" outputs any cells, then "true_filter" will be - // evaluated on the input row. Otherwise, "false_filter" will be evaluated. - RowFilter predicate_filter = 1; - - // The filter to apply to the input row if "predicate_filter" returns any - // results. If not provided, no results will be returned in the true case. - RowFilter true_filter = 2; - - // The filter to apply to the input row if "predicate_filter" does not - // return any results. If not provided, no results will be returned in the - // false case. - RowFilter false_filter = 3; - } - - // Which of the possible RowFilter types to apply. If none are set, this - // RowFilter returns all cells in the input row. - oneof filter { - // Applies several RowFilters to the data in sequence, progressively - // narrowing the results. - Chain chain = 1; - - // Applies several RowFilters to the data in parallel and combines the - // results. - Interleave interleave = 2; - - // Applies one of two possible RowFilters to the data based on the output of - // a predicate RowFilter. - Condition condition = 3; - - // ADVANCED USE ONLY. - // Hook for introspection into the RowFilter. Outputs all cells directly to - // the output of the read rather than to any parent filter. Consider the - // following example: - // - // Chain( - // FamilyRegex("A"), - // Interleave( - // All(), - // Chain(Label("foo"), Sink()) - // ), - // QualifierRegex("B") - // ) - // - // A,A,1,w - // A,B,2,x - // B,B,4,z - // | - // FamilyRegex("A") - // | - // A,A,1,w - // A,B,2,x - // | - // +------------+-------------+ - // | | - // All() Label(foo) - // | | - // A,A,1,w A,A,1,w,labels:[foo] - // A,B,2,x A,B,2,x,labels:[foo] - // | | - // | Sink() --------------+ - // | | | - // +------------+ x------+ A,A,1,w,labels:[foo] - // | A,B,2,x,labels:[foo] - // A,A,1,w | - // A,B,2,x | - // | | - // QualifierRegex("B") | - // | | - // A,B,2,x | - // | | - // +--------------------------------+ - // | - // A,A,1,w,labels:[foo] - // A,B,2,x,labels:[foo] // could be switched - // A,B,2,x // could be switched - // - // Despite being excluded by the qualifier filter, a copy of every cell - // that reaches the sink is present in the final result. - // - // As with an [Interleave][google.bigtable.v1.RowFilter.Interleave], - // duplicate cells are possible, and appear in an unspecified mutual order. - // In this case we have a duplicate with column "A:B" and timestamp 2, - // because one copy passed through the all filter while the other was - // passed through the label and sink. Note that one copy has label "foo", - // while the other does not. - // - // Cannot be used within the `predicate_filter`, `true_filter`, or - // `false_filter` of a [Condition][google.bigtable.v1.RowFilter.Condition]. - bool sink = 16; - - // Matches all cells, regardless of input. Functionally equivalent to - // leaving `filter` unset, but included for completeness. - bool pass_all_filter = 17; - - // Does not match any cells, regardless of input. Useful for temporarily - // disabling just part of a filter. - bool block_all_filter = 18; - - // Matches only cells from rows whose keys satisfy the given RE2 regex. In - // other words, passes through the entire row when the key matches, and - // otherwise produces an empty row. - // Note that, since row keys can contain arbitrary bytes, the '\C' escape - // sequence must be used if a true wildcard is desired. The '.' character - // will not match the new line character '\n', which may be present in a - // binary key. - bytes row_key_regex_filter = 4; - - // Matches all cells from a row with probability p, and matches no cells - // from the row with probability 1-p. - double row_sample_filter = 14; - - // Matches only cells from columns whose families satisfy the given RE2 - // regex. For technical reasons, the regex must not contain the ':' - // character, even if it is not being used as a literal. - // Note that, since column families cannot contain the new line character - // '\n', it is sufficient to use '.' as a full wildcard when matching - // column family names. - string family_name_regex_filter = 5; - - // Matches only cells from columns whose qualifiers satisfy the given RE2 - // regex. - // Note that, since column qualifiers can contain arbitrary bytes, the '\C' - // escape sequence must be used if a true wildcard is desired. The '.' - // character will not match the new line character '\n', which may be - // present in a binary qualifier. - bytes column_qualifier_regex_filter = 6; - - // Matches only cells from columns within the given range. - ColumnRange column_range_filter = 7; - - // Matches only cells with timestamps within the given range. - TimestampRange timestamp_range_filter = 8; - - // Matches only cells with values that satisfy the given regular expression. - // Note that, since cell values can contain arbitrary bytes, the '\C' escape - // sequence must be used if a true wildcard is desired. The '.' character - // will not match the new line character '\n', which may be present in a - // binary value. - bytes value_regex_filter = 9; - - // Matches only cells with values that fall within the given range. - ValueRange value_range_filter = 15; - - // Skips the first N cells of each row, matching all subsequent cells. - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_row_offset_filter = 10; - - // Matches only the first N cells of each row. - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_row_limit_filter = 11; - - // Matches only the most recent N cells within each column. For example, - // if N=2, this filter would match column "foo:bar" at timestamps 10 and 9, - // skip all earlier cells in "foo:bar", and then begin matching again in - // column "foo:bar2". - // If duplicate cells are present, as is possible when using an Interleave, - // each copy of the cell is counted separately. - int32 cells_per_column_limit_filter = 12; - - // Replaces each cell's value with the empty string. - bool strip_value_transformer = 13; - - // Applies the given label to all cells in the output row. This allows - // the client to determine which results were produced from which part of - // the filter. - // - // Values must be at most 15 characters in length, and match the RE2 - // pattern [a-z0-9\\-]+ - // - // Due to a technical limitation, it is not currently possible to apply - // multiple labels to a cell. As a result, a Chain may have no more than - // one sub-filter which contains a apply_label_transformer. It is okay for - // an Interleave to contain multiple apply_label_transformers, as they will - // be applied to separate copies of the input. This may be relaxed in the - // future. - string apply_label_transformer = 19; - } -} - -// Specifies a particular change to be made to the contents of a row. -message Mutation { - // A Mutation which sets the value of the specified cell. - message SetCell { - // The name of the family into which new data should be written. - // Must match [-_.a-zA-Z0-9]+ - string family_name = 1; - - // The qualifier of the column into which new data should be written. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The timestamp of the cell into which new data should be written. - // Use -1 for current Bigtable server time. - // Otherwise, the client should set this value itself, noting that the - // default value is a timestamp of zero if the field is left unspecified. - // Values must match the "granularity" of the table (e.g. micros, millis). - int64 timestamp_micros = 3; - - // The value to be written into the specified cell. - bytes value = 4; - } - - // A Mutation which deletes cells from the specified column, optionally - // restricting the deletions to a given timestamp range. - message DeleteFromColumn { - // The name of the family from which cells should be deleted. - // Must match [-_.a-zA-Z0-9]+ - string family_name = 1; - - // The qualifier of the column from which cells should be deleted. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The range of timestamps within which cells should be deleted. - TimestampRange time_range = 3; - } - - // A Mutation which deletes all cells from the specified column family. - message DeleteFromFamily { - // The name of the family from which cells should be deleted. - // Must match [-_.a-zA-Z0-9]+ - string family_name = 1; - } - - // A Mutation which deletes all cells from the containing row. - message DeleteFromRow {} - - // Which of the possible Mutation types to apply. - oneof mutation { - // Set a cell's value. - SetCell set_cell = 1; - - // Deletes cells from a column. - DeleteFromColumn delete_from_column = 2; - - // Deletes cells from a column family. - DeleteFromFamily delete_from_family = 3; - - // Deletes cells from the entire row. - DeleteFromRow delete_from_row = 4; - } -} - -// Specifies an atomic read/modify/write operation on the latest value of the -// specified column. -message ReadModifyWriteRule { - // The name of the family to which the read/modify/write should be applied. - // Must match [-_.a-zA-Z0-9]+ - string family_name = 1; - - // The qualifier of the column to which the read/modify/write should be - // applied. - // Can be any byte string, including the empty string. - bytes column_qualifier = 2; - - // The rule used to determine the column's new latest value from its current - // latest value. - oneof rule { - // Rule specifying that "append_value" be appended to the existing value. - // If the targeted cell is unset, it will be treated as containing the - // empty string. - bytes append_value = 3; - - // Rule specifying that "increment_amount" be added to the existing value. - // If the targeted cell is unset, it will be treated as containing a zero. - // Otherwise, the targeted cell must contain an 8-byte value (interpreted - // as a 64-bit big-endian signed integer), or the entire request will fail. - int64 increment_amount = 4; - } -} diff --git a/google-cloud/protos/google/bigtable/v1/bigtable_service.proto b/google-cloud/protos/google/bigtable/v1/bigtable_service.proto deleted file mode 100644 index dcd1933b..00000000 --- a/google-cloud/protos/google/bigtable/v1/bigtable_service.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2018 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.v1; - -import "google/api/annotations.proto"; -import "google/bigtable/v1/bigtable_data.proto"; -import "google/bigtable/v1/bigtable_service_messages.proto"; -import "google/protobuf/empty.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/v1;bigtable"; -option java_generic_services = true; -option java_multiple_files = true; -option java_outer_classname = "BigtableServicesProto"; -option java_package = "com.google.bigtable.v1"; - -// Service for reading from and writing to existing Bigtables. -service BigtableService { - // Streams back the contents of all requested rows, optionally applying - // the same Reader filter to each. Depending on their size, rows may be - // broken up across multiple responses, but atomicity of each row will still - // be preserved. - rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:read" - body: "*" - }; - } - - // Returns a sample of row keys in the table. The returned row keys will - // delimit contiguous sections of the table of approximately equal size, - // which can be used to break up the data for distributed tasks like - // mapreduces. - rpc SampleRowKeys(SampleRowKeysRequest) - returns (stream SampleRowKeysResponse) { - option (google.api.http) = { - get: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:sampleKeys" - }; - } - - // Mutates a row atomically. Cells already present in the row are left - // unchanged unless explicitly changed by 'mutation'. - rpc MutateRow(MutateRowRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:mutate" - body: "*" - }; - } - - // Mutates multiple rows in a batch. Each individual row is mutated - // atomically as in MutateRow, but the entire batch is not executed - // atomically. - rpc MutateRows(MutateRowsRequest) returns (MutateRowsResponse) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:mutateRows" - body: "*" - }; - } - - // Mutates a row atomically based on the output of a predicate Reader filter. - rpc CheckAndMutateRow(CheckAndMutateRowRequest) - returns (CheckAndMutateRowResponse) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:checkAndMutate" - body: "*" - }; - } - - // Modifies a row atomically, reading the latest existing timestamp/value from - // the specified columns and writing a new value at - // max(existing timestamp, current server time) based on pre-defined - // read/modify/write rules. Returns the new contents of all modified cells. - rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (Row) { - option (google.api.http) = { - post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:readModifyWrite" - body: "*" - }; - } -} diff --git a/google-cloud/protos/google/bigtable/v1/bigtable_service_messages.proto b/google-cloud/protos/google/bigtable/v1/bigtable_service_messages.proto deleted file mode 100644 index 107f15cd..00000000 --- a/google-cloud/protos/google/bigtable/v1/bigtable_service_messages.proto +++ /dev/null @@ -1,217 +0,0 @@ -// Copyright 2018 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF 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.v1; - -import "google/bigtable/v1/bigtable_data.proto"; -import "google/rpc/status.proto"; - -option go_package = "google.golang.org/genproto/googleapis/bigtable/v1;bigtable"; -option java_multiple_files = true; -option java_outer_classname = "BigtableServiceMessagesProto"; -option java_package = "com.google.bigtable.v1"; - -// Request message for BigtableServer.ReadRows. -message ReadRowsRequest { - // The unique name of the table from which to read. - string table_name = 1; - - // If neither row_key nor row_range is set, reads from all rows. - oneof target { - // The key of a single row from which to read. - bytes row_key = 2; - - // A range of rows from which to read. - RowRange row_range = 3; - - // A set of rows from which to read. Entries need not be in order, and will - // be deduplicated before reading. - // The total serialized size of the set must not exceed 1MB. - RowSet row_set = 8; - } - - // The filter to apply to the contents of the specified row(s). If unset, - // reads the entire table. - RowFilter filter = 5; - - // By default, rows are read sequentially, producing results which are - // guaranteed to arrive in increasing row order. Setting - // "allow_row_interleaving" to true allows multiple rows to be interleaved in - // the response stream, which increases throughput but breaks this guarantee, - // and may force the client to use more memory to buffer partially-received - // rows. Cannot be set to true when specifying "num_rows_limit". - bool allow_row_interleaving = 6; - - // The read will terminate after committing to N rows' worth of results. The - // default (zero) is to return all results. - // Note that "allow_row_interleaving" cannot be set to true when this is set. - int64 num_rows_limit = 7; -} - -// Response message for BigtableService.ReadRows. -message ReadRowsResponse { - // Specifies a piece of a row's contents returned as part of the read - // response stream. - message Chunk { - oneof chunk { - // A subset of the data from a particular row. As long as no "reset_row" - // is received in between, multiple "row_contents" from the same row are - // from the same atomic view of that row, and will be received in the - // expected family/column/timestamp order. - Family row_contents = 1; - - // Indicates that the client should drop all previous chunks for - // "row_key", as it will be re-read from the beginning. - bool reset_row = 2; - - // Indicates that the client can safely process all previous chunks for - // "row_key", as its data has been fully read. - bool commit_row = 3; - } - } - - // The key of the row for which we're receiving data. - // Results will be received in increasing row key order, unless - // "allow_row_interleaving" was specified in the request. - bytes row_key = 1; - - // One or more chunks of the row specified by "row_key". - repeated Chunk chunks = 2; -} - -// Request message for BigtableService.SampleRowKeys. -message SampleRowKeysRequest { - // The unique name of the table from which to sample row keys. - string table_name = 1; -} - -// Response message for BigtableService.SampleRowKeys. -message SampleRowKeysResponse { - // Sorted streamed sequence of sample row keys in the table. The table might - // have contents before the first row key in the list and after the last one, - // but a key containing the empty string indicates "end of table" and will be - // the last response given, if present. - // Note that row keys in this list may not have ever been written to or read - // from, and users should therefore not make any assumptions about the row key - // structure that are specific to their use case. - bytes row_key = 1; - - // Approximate total storage space used by all rows in the table which precede - // "row_key". Buffering the contents of all rows between two subsequent - // samples would require space roughly equal to the difference in their - // "offset_bytes" fields. - int64 offset_bytes = 2; -} - -// Request message for BigtableService.MutateRow. -message MutateRowRequest { - // The unique name of the table to which the mutation should be applied. - string table_name = 1; - - // The key of the row to which the mutation should be applied. - bytes row_key = 2; - - // Changes to be atomically applied to the specified row. Entries are applied - // in order, meaning that earlier mutations can be masked by later ones. - // Must contain at least one entry and at most 100000. - repeated Mutation mutations = 3; -} - -// Request message for BigtableService.MutateRows. -message MutateRowsRequest { - message Entry { - // The key of the row to which the `mutations` should be applied. - bytes row_key = 1; - - // Changes to be atomically applied to the specified row. Mutations are - // applied in order, meaning that earlier mutations can be masked by - // later ones. - // At least one mutation must be specified. - repeated Mutation mutations = 2; - } - - // The unique name of the table to which the mutations should be applied. - string table_name = 1; - - // The row keys/mutations to be applied in bulk. - // Each entry is applied as an atomic mutation, but the entries may be - // applied in arbitrary order (even between entries for the same row). - // At least one entry must be specified, and in total the entries may - // contain at most 100000 mutations. - repeated Entry entries = 2; -} - -// Response message for BigtableService.MutateRows. -message MutateRowsResponse { - // The results for each Entry from the request, presented in the order - // in which the entries were originally given. - // Depending on how requests are batched during execution, it is possible - // for one Entry to fail due to an error with another Entry. In the event - // that this occurs, the same error will be reported for both entries. - repeated google.rpc.Status statuses = 1; -} - -// Request message for BigtableService.CheckAndMutateRowRequest -message CheckAndMutateRowRequest { - // The unique name of the table to which the conditional mutation should be - // applied. - string table_name = 1; - - // The key of the row to which the conditional mutation should be applied. - bytes row_key = 2; - - // The filter to be applied to the contents of the specified row. Depending - // on whether or not any results are yielded, either "true_mutations" or - // "false_mutations" will be executed. If unset, checks that the row contains - // any values at all. - RowFilter predicate_filter = 6; - - // Changes to be atomically applied to the specified row if "predicate_filter" - // yields at least one cell when applied to "row_key". Entries are applied in - // order, meaning that earlier mutations can be masked by later ones. - // Must contain at least one entry if "false_mutations" is empty, and at most - // 100000. - repeated Mutation true_mutations = 4; - - // Changes to be atomically applied to the specified row if "predicate_filter" - // does not yield any cells when applied to "row_key". Entries are applied in - // order, meaning that earlier mutations can be masked by later ones. - // Must contain at least one entry if "true_mutations" is empty, and at most - // 100000. - repeated Mutation false_mutations = 5; -} - -// Response message for BigtableService.CheckAndMutateRowRequest. -message CheckAndMutateRowResponse { - // Whether or not the request's "predicate_filter" yielded any results for - // the specified row. - bool predicate_matched = 1; -} - -// Request message for BigtableService.ReadModifyWriteRowRequest. -message ReadModifyWriteRowRequest { - // The unique name of the table to which the read/modify/write rules should be - // applied. - string table_name = 1; - - // The key of the row to which the read/modify/write rules should be applied. - bytes row_key = 2; - - // Rules specifying how the specified row's contents are to be transformed - // into writes. Entries are applied in order, meaning that earlier rules will - // affect the results of later ones. - repeated ReadModifyWriteRule rules = 3; -} diff --git a/google-cloud/protos/google/bigtable/v1/readme.md b/google-cloud/protos/google/bigtable/v1/readme.md new file mode 100644 index 00000000..4cc6e9b1 --- /dev/null +++ b/google-cloud/protos/google/bigtable/v1/readme.md @@ -0,0 +1,11 @@ +## API v1 Shutdown +The Cloud Bigtable v1 API was deprecated in January, 2020, and will be shut down on **January 31, 2021**. All customers using the v1 API should upgrade to the Cloud Bigtable [v2 data and admin APIs][apis]. + +## Migrating to v2 +If you have projects or applications that use the v1 API, you should start using the v2 APIs to avoid any disruption in your service. + +If you connect to Cloud Bigtable using an early version the Cloud Bigtable client libraries that uses the v1 API, please see the client library [upgrade instructions][upgrading-clients]. + + +[apis]: https://cloud.google.com//bigtable/docs/reference/service-apis-overview +[upgrading-clients]: https://cloud.google.com//bigtable/docs/upgrading-clients.md diff --git a/google-cloud/protos/google/bigtable/v2/BUILD.bazel b/google-cloud/protos/google/bigtable/v2/BUILD.bazel index 329e7b85..79563275 100644 --- a/google-cloud/protos/google/bigtable/v2/BUILD.bazel +++ b/google-cloud/protos/google/bigtable/v2/BUILD.bazel @@ -1,9 +1,12 @@ +# 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") load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") proto_library( @@ -11,10 +14,17 @@ proto_library( srcs = [ "bigtable.proto", "data.proto", + "request_stats.proto", + "response_params.proto", ], deps = [ "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/api:routing_proto", "//google/rpc:status_proto", + "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:wrappers_proto", ], ) @@ -32,11 +42,11 @@ proto_library_with_info( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", - "java_grpc_library", - "java_gapic_library", "java_gapic_assembly_gradle_pkg", - "java_proto_library", + "java_gapic_library", "java_gapic_test", + "java_grpc_library", + "java_proto_library", ) java_proto_library( @@ -52,11 +62,16 @@ java_grpc_library( java_gapic_library( name = "bigtable_java_gapic", - src = ":bigtable_proto_with_info", + srcs = [":bigtable_proto_with_info"], gapic_yaml = "bigtable_gapic.yaml", - service_yaml = "//google/bigtable:bigtable.yaml", - test_deps = [":bigtable_java_grpc"], - deps = [":bigtable_java_proto"], + grpc_service_config = "bigtable_grpc_service_config.json", + test_deps = [ + ":bigtable_java_grpc", + ], + transport = "grpc", + deps = [ + ":bigtable_java_proto", + ], ) java_gapic_test( @@ -67,9 +82,10 @@ java_gapic_test( runtime_deps = [":bigtable_java_gapic_test"], ) -# Opensource Packages +# Open Source Packages java_gapic_assembly_gradle_pkg( name = "google-cloud-bigtable-v2-java", + transport = "grpc", deps = [ ":bigtable_java_gapic", ":bigtable_java_grpc", @@ -83,10 +99,10 @@ java_gapic_assembly_gradle_pkg( ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", "go_proto_library", "go_test", - "go_gapic_library", - "go_gapic_assembly_pkg", ) go_proto_library( @@ -102,11 +118,14 @@ go_proto_library( go_gapic_library( name = "bigtable_go_gapic", - src = ":bigtable_proto_with_info", - gapic_yaml = "bigtable_gapic.yaml", - importpath = "cloud.google.com/go/bigtable/apiv2", - service_yaml = "//google/bigtable:bigtable.yaml", - deps = [":bigtable_go_proto"], + srcs = [":bigtable_proto_with_info"], + grpc_service_config = "bigtable_grpc_service_config.json", + importpath = "cloud.google.com/go/bigtable/apiv2;bigtable", + service_yaml = "bigtable_v2.yaml", + transport = "grpc", + deps = [ + ":bigtable_go_proto", + ], ) go_test( @@ -116,13 +135,238 @@ go_test( importpath = "cloud.google.com/go/bigtable/apiv2", ) -# Opensource Packages +# Open Source Packages go_gapic_assembly_pkg( name = "gapi-cloud-bigtable-v2-go", deps = [ ":bigtable_go_gapic", - ":bigtable_go_gapic_srcjar-smoke-test.srcjar", ":bigtable_go_gapic_srcjar-test.srcjar", ":bigtable_go_proto", ], ) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "bigtable_py_gapic", + srcs = [":bigtable_proto"], + grpc_service_config = "bigtable_grpc_service_config.json", + opt_args = [ + "python-gapic-namespace=google.cloud", + "autogen-snippets=False", + ], + transport = "grpc", +) + +py_test( + name = "bigtable_py_gapic_test", + srcs = [ + "bigtable_py_gapic_pytest.py", + "bigtable_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":bigtable_py_gapic"], +) + +py_gapic_assembly_pkg( + name = "bigtable-v2-py", + deps = [ + ":bigtable_py_gapic", + ], +) + +############################################################################## +# 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 = "bigtable_php_proto", + deps = [":bigtable_proto"], +) + +php_grpc_library( + name = "bigtable_php_grpc", + srcs = [":bigtable_proto"], + deps = [":bigtable_php_proto"], +) + +php_gapic_library( + name = "bigtable_php_gapic", + srcs = [":bigtable_proto_with_info"], + service_yaml = "bigtable_v2.yaml", + deps = [ + ":bigtable_php_grpc", + ":bigtable_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-bigtable-v2-php", + deps = [ + ":bigtable_php_gapic", + ":bigtable_php_grpc", + ":bigtable_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "bigtable_nodejs_gapic", + package_name = "@google-cloud/bigtable", + src = ":bigtable_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "bigtable_grpc_service_config.json", + handwritten_layer = True, + main_service = "bigtable", + package = "google.bigtable.v2", + service_yaml = "bigtable_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "bigtable-v2-nodejs", + deps = [ + ":bigtable_nodejs_gapic", + ":bigtable_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 = "bigtable_ruby_proto", + deps = [":bigtable_proto"], +) + +ruby_grpc_library( + name = "bigtable_ruby_grpc", + srcs = [":bigtable_proto"], + deps = [":bigtable_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "bigtable_ruby_gapic", + srcs = [":bigtable_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-bigtable-v2", + "ruby-cloud-env-prefix=BIGTABLE", + "ruby-cloud-product-url=https://cloud.google.com/bigtable", + "ruby-cloud-api-id=bigtable.googleapis.com", + "ruby-cloud-api-shortname=bigtable", + ], + grpc_service_config = "bigtable_grpc_service_config.json", + ruby_cloud_description = "Cloud Bigtable is a fully managed, scalable NoSQL database service for large analytical and operational workloads.", + ruby_cloud_title = "Cloud Bigtable V2", + deps = [ + ":bigtable_ruby_grpc", + ":bigtable_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-bigtable-v2-ruby", + deps = [ + ":bigtable_ruby_gapic", + ":bigtable_ruby_grpc", + ":bigtable_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 = "bigtable_csharp_proto", + deps = [":bigtable_proto"], +) + +csharp_grpc_library( + name = "bigtable_csharp_grpc", + srcs = [":bigtable_proto"], + deps = [":bigtable_csharp_proto"], +) + +csharp_gapic_library( + name = "bigtable_csharp_gapic", + srcs = [":bigtable_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "bigtable_grpc_service_config.json", + service_yaml = "bigtable_v2.yaml", + deps = [ + ":bigtable_csharp_grpc", + ":bigtable_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-bigtable-v2-csharp", + deps = [ + ":bigtable_csharp_gapic", + ":bigtable_csharp_grpc", + ":bigtable_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "bigtable_cc_proto", + deps = [":bigtable_proto"], +) + +cc_grpc_library( + name = "bigtable_cc_grpc", + srcs = [":bigtable_proto"], + grpc_only = True, + deps = [":bigtable_cc_proto"], +) diff --git a/google-cloud/protos/google/bigtable/v2/bigtable.proto b/google-cloud/protos/google/bigtable/v2/bigtable.proto index 0ab763ba..955a0561 100644 --- a/google-cloud/protos/google/bigtable/v2/bigtable.proto +++ b/google-cloud/protos/google/bigtable/v2/bigtable.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// 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. @@ -17,7 +17,12 @@ syntax = "proto3"; package google.bigtable.v2; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/api/routing.proto"; import "google/bigtable/v2/data.proto"; +import "google/bigtable/v2/request_stats.proto"; import "google/protobuf/wrappers.proto"; import "google/rpc/status.proto"; @@ -27,9 +32,27 @@ option java_multiple_files = true; option java_outer_classname = "BigtableProto"; option java_package = "com.google.bigtable.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\V2"; +option ruby_package = "Google::Cloud::Bigtable::V2"; +option (google.api.resource_definition) = { + type: "bigtableadmin.googleapis.com/Instance" + pattern: "projects/{project}/instances/{instance}" +}; +option (google.api.resource_definition) = { + type: "bigtableadmin.googleapis.com/Table" + pattern: "projects/{project}/instances/{instance}/tables/{table}" +}; // Service for reading from and writing to existing Bigtable tables. service Bigtable { + option (google.api.default_host) = "bigtable.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigtable.data," + "https://www.googleapis.com/auth/bigtable.data.readonly," + "https://www.googleapis.com/auth/cloud-bigtable.data," + "https://www.googleapis.com/auth/cloud-bigtable.data.readonly," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + // Streams back the contents of all requested rows in key order, optionally // applying the same Reader filter to each. Depending on their size, // rows and cells may be broken up across multiple responses, but @@ -40,17 +63,38 @@ service Bigtable { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readRows" body: "*" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name"; + option (google.api.method_signature) = "table_name,app_profile_id"; } // Returns a sample of row keys in the table. The returned row keys will // delimit contiguous sections of the table of approximately equal size, // which can be used to break up the data for distributed tasks like // mapreduces. - rpc SampleRowKeys(SampleRowKeysRequest) - returns (stream SampleRowKeysResponse) { + rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) { option (google.api.http) = { get: "/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name"; + option (google.api.method_signature) = "table_name,app_profile_id"; } // Mutates a row atomically. Cells already present in the row are left @@ -60,6 +104,17 @@ service Bigtable { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow" body: "*" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name,row_key,mutations"; + option (google.api.method_signature) = "table_name,row_key,mutations,app_profile_id"; } // Mutates multiple rows in a batch. Each individual row is mutated @@ -70,15 +125,56 @@ service Bigtable { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows" body: "*" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name,entries"; + option (google.api.method_signature) = "table_name,entries,app_profile_id"; } // Mutates a row atomically based on the output of a predicate Reader filter. - rpc CheckAndMutateRow(CheckAndMutateRowRequest) - returns (CheckAndMutateRowResponse) { + rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) { option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow" body: "*" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name,row_key,predicate_filter,true_mutations,false_mutations"; + option (google.api.method_signature) = "table_name,row_key,predicate_filter,true_mutations,false_mutations,app_profile_id"; + } + + // Warm up associated instance metadata for this connection. + // This call is not required but may be useful for connection keep-alive. + rpc PingAndWarm(PingAndWarmRequest) returns (PingAndWarmResponse) { + option (google.api.http) = { + post: "/v2/{name=projects/*/instances/*}:ping" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { + field: "name" + path_template: "{name=projects/*/instances/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "name"; + option (google.api.method_signature) = "name,app_profile_id"; } // Modifies a row atomically on the server. The method reads the latest @@ -86,36 +182,72 @@ service Bigtable { // entry based on pre-defined read/modify/write rules. The new value for the // timestamp is the greater of the existing timestamp or the current server // time. The method returns the new contents of all modified cells. - rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) - returns (ReadModifyWriteRowResponse) { + rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (ReadModifyWriteRowResponse) { option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow" body: "*" }; + option (google.api.routing) = { + routing_parameters { + field: "table_name" + path_template: "{table_name=projects/*/instances/*/tables/*}" + } + routing_parameters { + field: "app_profile_id" + } + }; + option (google.api.method_signature) = "table_name,row_key,rules"; + option (google.api.method_signature) = "table_name,row_key,rules,app_profile_id"; } } // Request message for Bigtable.ReadRows. message ReadRowsRequest { - // The unique name of the table from which to read. + // + // The desired view into RequestStats that should be returned in the response. + // + // See also: RequestStats message. + enum RequestStatsView { + // The default / unset value. The API will default to the NONE option below. + REQUEST_STATS_VIEW_UNSPECIFIED = 0; + + // Do not include any RequestStats in the response. This will leave the + // RequestStats embedded message unset in the response. + REQUEST_STATS_NONE = 1; + + // Include the full set of available RequestStats in the response, + // applicable to this read. + REQUEST_STATS_FULL = 2; + } + + // Required. The unique name of the table from which to read. // Values are of the form // `projects//instances//tables/
`. - string table_name = 1; + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; - // This value specifies routing for replication. If not specified, the - // "default" application profile will be used. + // This value specifies routing for replication. This API only accepts the + // empty value of app_profile_id. string app_profile_id = 5; - // The row keys and/or ranges to read. If not specified, reads from all rows. + // The row keys and/or ranges to read sequentially. If not specified, reads + // from all rows. RowSet rows = 2; // The filter to apply to the contents of the specified row(s). If unset, // reads the entirety of each row. RowFilter filter = 3; - // The read will terminate after committing to N rows' worth of results. The + // The read will stop after committing to N rows' worth of results. The // default (zero) is to return all results. int64 rows_limit = 4; + + // The view into RequestStats, as described above. + RequestStatsView request_stats_view = 6; } // Response message for Bigtable.ReadRows. @@ -172,6 +304,7 @@ message ReadRowsResponse { // to pre-allocate memory to hold the full cell value. int32 value_size = 7; + // Signals to the client concerning previous CellChunks received. oneof row_status { // Indicates that the client should drop all previous chunks for // `row_key`, as it will be re-read from the beginning. @@ -183,6 +316,7 @@ message ReadRowsResponse { } } + // A collection of a row's contents as part of the read request. repeated CellChunk chunks = 1; // Optionally the server might return the row key of the last row it @@ -193,14 +327,41 @@ message ReadRowsResponse { // lot of data that was filtered out since the last committed row // key, allowing the client to skip that work on a retry. bytes last_scanned_row_key = 2; + + // + // If requested, provide enhanced query performance statistics. The semantics + // dictate: + // * request_stats is empty on every (streamed) response, except + // * request_stats has non-empty information after all chunks have been + // streamed, where the ReadRowsResponse message only contains + // request_stats. + // * For example, if a read request would have returned an empty + // response instead a single ReadRowsResponse is streamed with empty + // chunks and request_stats filled. + // + // Visually, response messages will stream as follows: + // ... -> {chunks: [...]} -> {chunks: [], request_stats: {...}} + // \______________________/ \________________________________/ + // Primary response Trailer of RequestStats info + // + // Or if the read did not return any values: + // {chunks: [], request_stats: {...}} + // \________________________________/ + // Trailer of RequestStats info + RequestStats request_stats = 3; } // Request message for Bigtable.SampleRowKeys. message SampleRowKeysRequest { - // The unique name of the table from which to sample row keys. + // Required. The unique name of the table from which to sample row keys. // Values are of the form // `projects//instances//tables/
`. - string table_name = 1; + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // This value specifies routing for replication. If not specified, the // "default" application profile will be used. @@ -227,57 +388,71 @@ message SampleRowKeysResponse { // Request message for Bigtable.MutateRow. message MutateRowRequest { - // The unique name of the table to which the mutation should be applied. + // Required. The unique name of the table to which the mutation should be applied. // Values are of the form // `projects//instances//tables/
`. - string table_name = 1; + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // This value specifies routing for replication. If not specified, the // "default" application profile will be used. string app_profile_id = 4; - // The key of the row to which the mutation should be applied. - bytes row_key = 2; + // Required. The key of the row to which the mutation should be applied. + bytes row_key = 2 [(google.api.field_behavior) = REQUIRED]; - // Changes to be atomically applied to the specified row. Entries are applied + // Required. Changes to be atomically applied to the specified row. Entries are applied // in order, meaning that earlier mutations can be masked by later ones. // Must contain at least one entry and at most 100000. - repeated Mutation mutations = 3; + repeated Mutation mutations = 3 [(google.api.field_behavior) = REQUIRED]; } // Response message for Bigtable.MutateRow. -message MutateRowResponse {} +message MutateRowResponse { + +} // Request message for BigtableService.MutateRows. message MutateRowsRequest { + // A mutation for a given row. message Entry { // The key of the row to which the `mutations` should be applied. bytes row_key = 1; - // Changes to be atomically applied to the specified row. Mutations are + // Required. Changes to be atomically applied to the specified row. Mutations are // applied in order, meaning that earlier mutations can be masked by // later ones. // You must specify at least one mutation. - repeated Mutation mutations = 2; + repeated Mutation mutations = 2 [(google.api.field_behavior) = REQUIRED]; } - // The unique name of the table to which the mutations should be applied. - string table_name = 1; + // Required. The unique name of the table to which the mutations should be applied. + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // This value specifies routing for replication. If not specified, the // "default" application profile will be used. string app_profile_id = 3; - // The row keys and corresponding mutations to be applied in bulk. + // Required. The row keys and corresponding mutations to be applied in bulk. // Each entry is applied as an atomic mutation, but the entries may be // applied in arbitrary order (even between entries for the same row). // At least one entry must be specified, and in total the entries can // contain at most 100000 mutations. - repeated Entry entries = 2; + repeated Entry entries = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for BigtableService.MutateRows. message MutateRowsResponse { + // The result of applying a passed mutation in the original request. message Entry { // The index into the original request's `entries` list of the Entry // for which a result is being reported. @@ -296,18 +471,23 @@ message MutateRowsResponse { // Request message for Bigtable.CheckAndMutateRow. message CheckAndMutateRowRequest { - // The unique name of the table to which the conditional mutation should be + // Required. The unique name of the table to which the conditional mutation should be // applied. // Values are of the form // `projects//instances//tables/
`. - string table_name = 1; + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // This value specifies routing for replication. If not specified, the // "default" application profile will be used. string app_profile_id = 7; - // The key of the row to which the conditional mutation should be applied. - bytes row_key = 2; + // Required. The key of the row to which the conditional mutation should be applied. + bytes row_key = 2 [(google.api.field_behavior) = REQUIRED]; // The filter to be applied to the contents of the specified row. Depending // on whether or not any results are yielded, either `true_mutations` or @@ -337,25 +517,49 @@ message CheckAndMutateRowResponse { bool predicate_matched = 1; } +// Request message for client connection keep-alive and warming. +message PingAndWarmRequest { + // Required. The unique name of the instance to check permissions for as well as + // respond. Values are of the form `projects//instances/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Instance" + } + ]; + + // This value specifies routing for replication. If not specified, the + // "default" application profile will be used. + string app_profile_id = 2; +} + +// Response message for Bigtable.PingAndWarm connection keepalive and warming. +message PingAndWarmResponse {} + // Request message for Bigtable.ReadModifyWriteRow. message ReadModifyWriteRowRequest { - // The unique name of the table to which the read/modify/write rules should be + // Required. The unique name of the table to which the read/modify/write rules should be // applied. // Values are of the form // `projects//instances//tables/
`. - string table_name = 1; + string table_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigtableadmin.googleapis.com/Table" + } + ]; // This value specifies routing for replication. If not specified, the // "default" application profile will be used. string app_profile_id = 4; - // The key of the row to which the read/modify/write rules should be applied. - bytes row_key = 2; + // Required. The key of the row to which the read/modify/write rules should be applied. + bytes row_key = 2 [(google.api.field_behavior) = REQUIRED]; - // Rules specifying how the specified row's contents are to be transformed + // Required. Rules specifying how the specified row's contents are to be transformed // into writes. Entries are applied in order, meaning that earlier rules will // affect the results of later ones. - repeated ReadModifyWriteRule rules = 3; + repeated ReadModifyWriteRule rules = 3 [(google.api.field_behavior) = REQUIRED]; } // Response message for Bigtable.ReadModifyWriteRow. diff --git a/google-cloud/protos/google/bigtable/v2/bigtable_gapic.yaml b/google-cloud/protos/google/bigtable/v2/bigtable_gapic.yaml index d57d4f9c..6f5ab2a9 100644 --- a/google-cloud/protos/google/bigtable/v2/bigtable_gapic.yaml +++ b/google-cloud/protos/google/bigtable/v2/bigtable_gapic.yaml @@ -1,198 +1,7 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 language_settings: java: package_name: com.google.cloud.bigtable.data.v2 interface_names: google.bigtable.v2.Bigtable: BaseBigtableData - python: - package_name: google.cloud.bigtable_v2.gapic - go: - package_name: cloud.google.com/go/bigtable/apiv2 - csharp: - package_name: Google.Cloud.Bigtable.V2 - interface_names: - google.bigtable.v2.Bigtable: BigtableServiceApi - ruby: - package_name: Google::Cloud::Bigtable::V2 - release_level: BETA - php: - package_name: Google\Cloud\Bigtable\V2 - nodejs: - package_name: bigtable.v2 - domain_layer_location: google-cloud -interfaces: -- name: google.bigtable.v2.Bigtable - collections: - - name_pattern: projects/{project}/instances/{instance}/tables/{table} - entity_name: table - language_overrides: - - language: csharp - common_resource_name: Google.Cloud.Bigtable.Common.V2.TableName - retry_codes_def: - - name: idempotent - retry_codes: - - UNAVAILABLE - - DEADLINE_EXCEEDED - - name: non_idempotent - retry_codes: [] - retry_params_def: - - name: idempotent_params - initial_retry_delay_millis: 10 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - - name: non_idempotent_params - initial_retry_delay_millis: 10 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 20000 - - name: read_rows_params - initial_retry_delay_millis: 10 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 300000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 300000 - total_timeout_millis: 43200000 - - name: mutate_rows_params - initial_retry_delay_millis: 10 - retry_delay_multiplier: 2 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 60000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 60000 - total_timeout_millis: 600000 - methods: - - name: ReadRows - flattening: - groups: - - parameters: - - table_name - required_fields: - - table_name - retry_codes_name: idempotent - retry_params_name: read_rows_params - field_name_patterns: - table_name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 43200000 - header_request_params: - - table_name - - name: SampleRowKeys - flattening: - groups: - - parameters: - - table_name - required_fields: - - table_name - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - table_name: table - timeout_millis: 20000 - resource_name_treatment: STATIC_TYPES - header_request_params: - - table_name - - name: MutateRow - flattening: - groups: - - parameters: - - table_name - - row_key - - mutations - required_fields: - - table_name - - row_key - - mutations - retry_codes_name: idempotent - retry_params_name: idempotent_params - field_name_patterns: - table_name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 20000 - header_request_params: - - table_name - - name: MutateRows - flattening: - groups: - - parameters: - - table_name - - entries - required_fields: - - table_name - - entries - retry_codes_name: idempotent - retry_params_name: mutate_rows_params - field_name_patterns: - table_name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 60000 - header_request_params: - - table_name - - name: CheckAndMutateRow - flattening: - groups: - - parameters: - - table_name - - row_key - - predicate_filter - - true_mutations - - false_mutations - # Note that one of {true_mutations,false_mutations} must be specified, but - # since they are not both required, we leave them as optional params. - required_fields: - - table_name - - row_key - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - table_name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 20000 - header_request_params: - - table_name - - name: ReadModifyWriteRow - flattening: - groups: - - parameters: - - table_name - - row_key - - rules - required_fields: - - table_name - - row_key - - rules - retry_codes_name: non_idempotent - retry_params_name: non_idempotent_params - field_name_patterns: - table_name: table - resource_name_treatment: STATIC_TYPES - timeout_millis: 20000 - header_request_params: - - table_name -resource_name_generation: -- message_name: ReadRowsRequest - field_entity_map: - table_name: table -- message_name: SampleRowKeysRequest - field_entity_map: - table_name: table -- message_name: MutateRowRequest - field_entity_map: - table_name: table -- message_name: MutateRowsRequest - field_entity_map: - table_name: table -- message_name: CheckAndMutateRowRequest - field_entity_map: - table_name: table -- message_name: ReadModifyWriteRowRequest - field_entity_map: - table_name: table diff --git a/google-cloud/protos/google/bigtable/v2/bigtable_grpc_service_config.json b/google-cloud/protos/google/bigtable/v2/bigtable_grpc_service_config.json new file mode 100755 index 00000000..9ad691ec --- /dev/null +++ b/google-cloud/protos/google/bigtable/v2/bigtable_grpc_service_config.json @@ -0,0 +1,63 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.bigtable.v2.Bigtable", + "method": "CheckAndMutateRow" + }, + { + "service": "google.bigtable.v2.Bigtable", + "method": "ReadModifyWriteRow" + } + ], + "timeout": "20s" + }, + { + "name": [ + { + "service": "google.bigtable.v2.Bigtable", + "method": "SampleRowKeys" + } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.bigtable.v2.Bigtable", + "method": "MutateRows" + } + ], + "timeout": "600s" + }, + { + "name": [ + { + "service": "google.bigtable.v2.Bigtable", + "method": "ReadRows" + } + ], + "timeout": "43200s" + }, + { + "name": [ + { + "service": "google.bigtable.v2.Bigtable", + "method": "MutateRow" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "0.010s", + "maxAttempts": 5, + "maxBackoff": "60s", + "backoffMultiplier": 2, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/bigtable/v2/bigtable_v2.yaml b/google-cloud/protos/google/bigtable/v2/bigtable_v2.yaml new file mode 100644 index 00000000..ad7d5667 --- /dev/null +++ b/google-cloud/protos/google/bigtable/v2/bigtable_v2.yaml @@ -0,0 +1,43 @@ +type: google.api.Service +config_version: 3 +name: bigtable.googleapis.com +title: Cloud Bigtable API + +apis: +- name: google.bigtable.v2.Bigtable + +types: +- name: google.bigtable.v2.RequestStats +- name: google.bigtable.v2.ResponseParams + +documentation: + summary: |- + API for reading and writing the contents of Bigtables associated with a + cloud project. + +authentication: + rules: + - selector: 'google.bigtable.v2.Bigtable.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.data, + https://www.googleapis.com/auth/cloud-bigtable.data, + https://www.googleapis.com/auth/cloud-platform + - selector: google.bigtable.v2.Bigtable.ReadRows + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.data, + https://www.googleapis.com/auth/bigtable.data.readonly, + https://www.googleapis.com/auth/cloud-bigtable.data, + https://www.googleapis.com/auth/cloud-bigtable.data.readonly, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.bigtable.v2.Bigtable.SampleRowKeys + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/bigtable.data, + https://www.googleapis.com/auth/bigtable.data.readonly, + https://www.googleapis.com/auth/cloud-bigtable.data, + https://www.googleapis.com/auth/cloud-bigtable.data.readonly, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only diff --git a/google-cloud/protos/google/bigtable/v2/data.proto b/google-cloud/protos/google/bigtable/v2/data.proto index d0aab0b6..9e5a05c2 100644 --- a/google-cloud/protos/google/bigtable/v2/data.proto +++ b/google-cloud/protos/google/bigtable/v2/data.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// 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. @@ -22,6 +22,7 @@ option java_multiple_files = true; option java_outer_classname = "DataProto"; option java_package = "com.google.bigtable.v2"; option php_namespace = "Google\\Cloud\\Bigtable\\V2"; +option ruby_package = "Google::Cloud::Bigtable::V2"; // Specifies the complete (requested) contents of a single row of a table. // Rows which exceed 256MiB in size cannot be read in full. @@ -208,7 +209,7 @@ message ValueRange { // RowFilter.Chain and RowFilter.Interleave documentation. // // The total serialized size of a RowFilter message must not -// exceed 4096 bytes, and RowFilters may not be nested within each other +// exceed 20480 bytes, and RowFilters may not be nested within each other // (in Chains or Interleaves) to a depth of more than 20. message RowFilter { // A RowFilter which sends rows through several RowFilters in sequence. @@ -485,7 +486,9 @@ message Mutation { } // A Mutation which deletes all cells from the containing row. - message DeleteFromRow {} + message DeleteFromRow { + + } // Which of the possible Mutation types to apply. oneof mutation { diff --git a/google-cloud/protos/google/bigtable/v2/request_stats.proto b/google-cloud/protos/google/bigtable/v2/request_stats.proto new file mode 100644 index 00000000..f650abe0 --- /dev/null +++ b/google-cloud/protos/google/bigtable/v2/request_stats.proto @@ -0,0 +1,113 @@ +// 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.bigtable.v2; + +import "google/protobuf/duration.proto"; + +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 = "RequestStatsProto"; +option java_package = "com.google.bigtable.v2"; +option php_namespace = "Google\\Cloud\\Bigtable\\V2"; +option ruby_package = "Google::Cloud::Bigtable::V2"; + +// +// Messages related to RequestStats, part of the Query Stats feature, that can +// help understand the performance of requests. +// +// The layout of requests below is as follows: +// * RequestStats serves as the top-level container for statistics and +// measures related to Bigtable requests. This common object is returned as +// part of methods in the Data API. +// * RequestStats contains multiple *views* of related data, chosen by an +// option in the source Data API method. The view that is returned is +// designed to have all submessages (and their submessages, and so on) +// filled-in, to provide a comprehensive selection of statistics and +// measures related to the requested view. + +// ReadIterationStats captures information about the iteration of rows or cells +// over the course of a read, e.g. how many results were scanned in a read +// operation versus the results returned. +message ReadIterationStats { + // The rows seen (scanned) as part of the request. This includes the count of + // rows returned, as captured below. + int64 rows_seen_count = 1; + + // The rows returned as part of the request. + int64 rows_returned_count = 2; + + // The cells seen (scanned) as part of the request. This includes the count of + // cells returned, as captured below. + int64 cells_seen_count = 3; + + // The cells returned as part of the request. + int64 cells_returned_count = 4; +} + +// RequestLatencyStats provides a measurement of the latency of the request as +// it interacts with different systems over its lifetime, e.g. how long the +// request took to execute within a frontend server. +message RequestLatencyStats { + // The latency measured by the frontend server handling this request, from + // when the request was received, to when this value is sent back in the + // response. For more context on the component that is measuring this latency, + // see: https://cloud.google.com/bigtable/docs/overview + // + // Note: This value may be slightly shorter than the value reported into + // aggregate latency metrics in Monitoring for this request + // (https://cloud.google.com/bigtable/docs/monitoring-instance) as this value + // needs to be sent in the response before the latency measurement including + // that transmission is finalized. + // + // Note: This value includes the end-to-end latency of contacting nodes in + // the targeted cluster, e.g. measuring from when the first byte arrives at + // the frontend server, to when this value is sent back as the last value in + // the response, including any latency incurred by contacting nodes, waiting + // for results from nodes, and finally sending results from nodes back to the + // caller. + google.protobuf.Duration frontend_server_latency = 1; +} + +// FullReadStatsView captures all known information about a read. +message FullReadStatsView { + // Iteration stats describe how efficient the read is, e.g. comparing + // rows seen vs. rows returned or cells seen vs cells returned can provide an + // indication of read efficiency (the higher the ratio of seen to retuned the + // better). + ReadIterationStats read_iteration_stats = 1; + + // Request latency stats describe the time taken to complete a request, from + // the server side. + RequestLatencyStats request_latency_stats = 2; +} + +// RequestStats is the container for additional information pertaining to a +// single request, helpful for evaluating the performance of the sent request. +// Currently, there are the following supported methods: +// * google.bigtable.v2.ReadRows +message RequestStats { + // Information pertaining to each request type received. The type is chosen + // based on the requested view. + // + // See the messages above for additional context. + oneof stats_view { + // Available with the ReadRowsRequest.RequestStatsView.REQUEST_STATS_FULL + // view, see package google.bigtable.v2. + FullReadStatsView full_read_stats_view = 1; + } +} diff --git a/google-cloud/protos/google/bigtable/v2/response_params.proto b/google-cloud/protos/google/bigtable/v2/response_params.proto new file mode 100644 index 00000000..a8105911 --- /dev/null +++ b/google-cloud/protos/google/bigtable/v2/response_params.proto @@ -0,0 +1,38 @@ +// 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.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 = "ResponseParamsProto"; +option java_package = "com.google.bigtable.v2"; +option php_namespace = "Google\\Cloud\\Bigtable\\V2"; +option ruby_package = "Google::Cloud::Bigtable::V2"; + +// Response metadata proto +// This is an experimental feature that will be used to get zone_id and +// cluster_id from response trailers to tag the metrics. This should not be +// used by customers directly +message ResponseParams { + // The cloud bigtable zone associated with the cluster. + optional string zone_id = 1; + + // Identifier for a cluster that represents set of + // bigtable resources. + optional string cluster_id = 2; +} diff --git a/google-cloud/protos/google/chat/logging/v1/BUILD.bazel b/google-cloud/protos/google/chat/logging/v1/BUILD.bazel new file mode 100644 index 00000000..01dda331 --- /dev/null +++ b/google-cloud/protos/google/chat/logging/v1/BUILD.bazel @@ -0,0 +1,177 @@ +# 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 = [ + "chat_app_log_entry.proto", + ], + deps = [ + "//google/rpc:status_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_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/chat/logging/v1", + protos = [":logging_proto"], + deps = [ + "//google/rpc:status_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/rpc:status_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_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_grpc_library( + name = "logging_php_grpc", + srcs = [":logging_proto"], + deps = [":logging_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + + +############################################################################## +# 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/google-cloud/protos/google/chat/logging/v1/chat_app_log_entry.proto b/google-cloud/protos/google/chat/logging/v1/chat_app_log_entry.proto new file mode 100644 index 00000000..9caa4c9f --- /dev/null +++ b/google-cloud/protos/google/chat/logging/v1/chat_app_log_entry.proto @@ -0,0 +1,40 @@ +// 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.chat.logging.v1; + +import "google/rpc/status.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chat/logging/v1;logging"; +option java_multiple_files = true; +option java_outer_classname = "ChatAppLogEntryProto"; +option java_package = "com.google.chat.logging.v1"; + +// JSON payload of error messages. If the Cloud Logging API is enabled, these +// error messages are logged to +// [Google Cloud Logging](https://cloud.google.com/logging/docs). +message ChatAppLogEntry { + // The deployment that caused the error. For Chat bots built in Apps Script, + // this is the deployment ID defined by Apps Script. + string deployment = 1; + + // The error code and message. + google.rpc.Status error = 2; + + // The unencrypted `callback_method` name that was running when the error was + // encountered. + string deployment_function = 3; +} diff --git a/google-cloud/protos/google/chromeos/moblab/BUILD.bazel b/google-cloud/protos/google/chromeos/moblab/BUILD.bazel new file mode 100644 index 00000000..a87c57fe --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/BUILD.bazel @@ -0,0 +1 @@ +exports_files(glob(["*.yaml"])) diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/BUILD.bazel b/google-cloud/protos/google/chromeos/moblab/v1beta1/BUILD.bazel new file mode 100644 index 00000000..3cafac1d --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/BUILD.bazel @@ -0,0 +1,358 @@ +# 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 = "moblab_proto", + srcs = [ + "build_service.proto", + "resources.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 = "moblab_proto_with_info", + deps = [ + ":moblab_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 = "moblab_java_proto", + deps = [":moblab_proto"], +) + +java_grpc_library( + name = "moblab_java_grpc", + srcs = [":moblab_proto"], + deps = [":moblab_java_proto"], +) + +java_gapic_library( + name = "moblab_java_gapic", + srcs = [":moblab_proto_with_info"], + gapic_yaml = "chromeosmoblab_gapic.yaml", + grpc_service_config = "moblab_grpc_service_config.json", + service_yaml = "chromeosmoblab_v1beta1.yaml", + test_deps = [ + ":moblab_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":moblab_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "moblab_java_gapic_test_suite", + test_classes = [ + "com.google.chromeos.moblab.v1beta1.BuildServiceClientHttpJsonTest", + "com.google.chromeos.moblab.v1beta1.BuildServiceClientTest", + ], + runtime_deps = [":moblab_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-chromeos-moblab-v1beta1-java", + transport = "grpc+rest", + deps = [ + ":moblab_java_gapic", + ":moblab_java_grpc", + ":moblab_java_proto", + ":moblab_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "moblab_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1", + protos = [":moblab_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "moblab_go_gapic", + srcs = [":moblab_proto_with_info"], + grpc_service_config = "moblab_grpc_service_config.json", + importpath = "google.golang.org/google/chromeos/moblab/v1beta1;moblab", + metadata = True, + service_yaml = "chromeosmoblab_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":moblab_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@com_google_cloud_go//longrunning/autogen:go_default_library", + ], +) + +go_test( + name = "moblab_go_gapic_test", + srcs = [":moblab_go_gapic_srcjar_test"], + embed = [":moblab_go_gapic"], + importpath = "google.golang.org/google/chromeos/moblab/v1beta1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-chromeos-moblab-v1beta1-go", + deps = [ + ":moblab_go_gapic", + ":moblab_go_gapic_srcjar-metadata.srcjar", + ":moblab_go_gapic_srcjar-test.srcjar", + ":moblab_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "moblab_py_gapic", + srcs = [":moblab_proto"], + grpc_service_config = "moblab_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "moblab_py_gapic_test", + srcs = [ + "moblab_py_gapic_pytest.py", + "moblab_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":moblab_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "chromeos-moblab-v1beta1-py", + deps = [ + ":moblab_py_gapic", + ], +) + +############################################################################## +# 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 = "moblab_php_proto", + deps = [":moblab_proto"], +) + +php_grpc_library( + name = "moblab_php_grpc", + srcs = [":moblab_proto"], + deps = [":moblab_php_proto"], +) + +php_gapic_library( + name = "moblab_php_gapic", + srcs = [":moblab_proto_with_info"], + grpc_service_config = "moblab_grpc_service_config.json", + service_yaml = "chromeosmoblab_v1beta1.yaml", + deps = [ + ":moblab_php_grpc", + ":moblab_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-chromeos-moblab-v1beta1-php", + deps = [ + ":moblab_php_gapic", + ":moblab_php_grpc", + ":moblab_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "moblab_nodejs_gapic", + package_name = "@google-cloud/moblab", + src = ":moblab_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "moblab_grpc_service_config.json", + package = "google.chromeos.moblab.v1beta1", + service_yaml = "chromeosmoblab_v1beta1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "chromeos-moblab-v1beta1-nodejs", + deps = [ + ":moblab_nodejs_gapic", + ":moblab_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 = "moblab_ruby_proto", + deps = [":moblab_proto"], +) + +ruby_grpc_library( + name = "moblab_ruby_grpc", + srcs = [":moblab_proto"], + deps = [":moblab_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "moblab_ruby_gapic", + srcs = [":moblab_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-chromeos-moblab-v1beta1"], + grpc_service_config = "moblab_grpc_service_config.json", + deps = [ + ":moblab_ruby_grpc", + ":moblab_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-chromeos-moblab-v1beta1-ruby", + deps = [ + ":moblab_ruby_gapic", + ":moblab_ruby_grpc", + ":moblab_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 = "moblab_csharp_proto", + deps = [":moblab_proto"], +) + +csharp_grpc_library( + name = "moblab_csharp_grpc", + srcs = [":moblab_proto"], + deps = [":moblab_csharp_proto"], +) + +csharp_gapic_library( + name = "moblab_csharp_gapic", + srcs = [":moblab_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "moblab_grpc_service_config.json", + service_yaml = "chromeosmoblab_v1beta1.yaml", + deps = [ + ":moblab_csharp_grpc", + ":moblab_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-chromeos-moblab-v1beta1-csharp", + deps = [ + ":moblab_csharp_gapic", + ":moblab_csharp_grpc", + ":moblab_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/build_service.proto b/google-cloud/protos/google/chromeos/moblab/v1beta1/build_service.proto new file mode 100644 index 00000000..bdc73d95 --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/build_service.proto @@ -0,0 +1,299 @@ +// 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.chromeos.moblab.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/chromeos/moblab/v1beta1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1;moblab"; +option java_multiple_files = true; +option java_outer_classname = "BuildServiceProto"; +option java_package = "com.google.chromeos.moblab.v1beta1"; +option optimize_for = SPEED; + +// Manages Chrome OS build services. +service BuildService { + option (google.api.default_host) = "chromeosmoblab.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/moblabapi"; + + // Lists all build targets that a user has access to. + rpc ListBuildTargets(ListBuildTargetsRequest) returns (ListBuildTargetsResponse) { + option (google.api.http) = { + get: "/v1beta1/buildTargets" + }; + } + + // Lists all models for the given build target. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=buildTargets/*}/models" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists all builds for the given build target and model in descending order + // for the milestones and build versions. + rpc ListBuilds(ListBuildsRequest) returns (ListBuildsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=buildTargets/*/models/*}/builds" + }; + option (google.api.method_signature) = "parent"; + } + + // Checks the stage status for a given build artifact in a partner Google + // Cloud Storage bucket. + rpc CheckBuildStageStatus(CheckBuildStageStatusRequest) returns (CheckBuildStageStatusResponse) { + option (google.api.http) = { + get: "/v1beta1/{name=buildTargets/*/models/*/builds/*/artifacts/*}:check" + }; + option (google.api.method_signature) = "name"; + } + + // Stages a given build artifact from a internal Google Cloud Storage bucket + // to a partner Google Cloud Storage bucket. If any of objects has already + // been copied, it will overwrite the previous objects. Operation + rpc StageBuild(StageBuildRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{name=buildTargets/*/models/*/builds/*/artifacts/*}:stage" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "StageBuildResponse" + metadata_type: "StageBuildMetadata" + }; + } + + // Finds the most stable build for the given build target. The definition of + // the most stable build is determined by evaluating the following rules in + // order until one is true. If none are true, then there is no stable build + // and it will return an empty response. + // + // Evaluation rules: + // 1. Stable channel build with label “Live” + // 2. Beta channel build with label “Live” + // 3. Dev channel build with label “Live” + // 4. Most recent stable channel build with build status Pass + // 5. Most recent beta channel build with build status Pass + // 6. Most recent dev channel build with build status Pass + rpc FindMostStableBuild(FindMostStableBuildRequest) returns (FindMostStableBuildResponse) { + option (google.api.http) = { + get: "/v1beta1/{build_target=buildTargets/*}:findMostStableBuild" + }; + option (google.api.method_signature) = "build_target"; + } +} + +// Request message for finding the most stable build. +message FindMostStableBuildRequest { + // Required. The full resource name of the build target. + // For example, + // 'buildTargets/octopus'. + string build_target = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/BuildTarget" + } + ]; +} + +// Response message for finding the most stable build. +message FindMostStableBuildResponse { + // The most stable build. + Build build = 1; +} + +// Request message for listing build targets. +message ListBuildTargetsRequest { + // Optional. The number of build targets to return in a page. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListBuildTargets` call. Provide + // this to retrieve the subsequent page. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing build targets. +message ListBuildTargetsResponse { + // The list of build targets. + repeated BuildTarget build_targets = 1; + + // Token to retrieve the next page of build targets. If this field is omitted, + // there are no subsequent pages. + string next_page_token = 2; + + // Total number of build targets. + int32 total_size = 3; +} + +// Request message for listing models. +message ListModelsRequest { + // Required. The full resource name of build target. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/BuildTarget" + } + ]; + + // Optional. The number of models to return in a page. + 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]; +} + +// Response message for listing models. +message ListModelsResponse { + // The list of models. + repeated Model models = 1; + + // Token to retrieve the next page of models. If this field is omitted, there + // are no subsequent pages. + string next_page_token = 2; + + // Total number of models. + int32 total_size = 3; +} + +// Request message for listing builds. +message ListBuildsRequest { + // Required. The full resource name of the model. The model id is the same as + // the build target id for non-unified builds. + // For example, + // 'buildTargets/octopus/models/bobba'. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/Model" + } + ]; + + // Optional. The number of builds to return in a page. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListBuilds` call. Provide this to + // retrieve the subsequent page. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter that specifies value constraints of fields. For example, the + // filter can be set as "filter='milestone=milestones/80'" to only select + // builds in milestone 80. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Read mask that specifies which Build fields to return. If empty, all Build + // fields will be returned. + // Valid fields: name, milestone, build_version. + // For example, if the read_mask is set as "read_mask='milestone'", the + // ListBuilds will return a list of Builds object with only the milestone + // field. + google.protobuf.FieldMask read_mask = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The operation that groups by all the Build fields specified in the read + // mask. The group_by field should be the same as the read_mask field in + // convention of SQL. + google.protobuf.FieldMask group_by = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for listing builds. +message ListBuildsResponse { + // The list of builds. + repeated Build builds = 1; + + // Token to retrieve the next page of builds. If this field is omitted, there + // are no subsequent pages. + string next_page_token = 2; + + // Total number of builds. + int32 total_size = 3; +} + +// Request message for checking if the build artifact is staged. +message CheckBuildStageStatusRequest { + // Required. The full resource name of the build artifact. + // For example, + // 'buildTargets/octopus/models/bobba/builds/12607.6.0/artifacts/chromeos-moblab-peng-staging'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/BuildArtifact" + } + ]; + + // Optional. Filter that specifies value constraints of fields. For example, the + // filter can be set as "filter='type=release'" to only check the release + // builds. + string filter = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for checking the stage status of a build artifact. +message CheckBuildStageStatusResponse { + // The status to represent if the build is staged or not. + bool is_build_staged = 1; + + // The staged build artifact in the destination bucket. + BuildArtifact staged_build_artifact = 2; + + // The source build artifact in the source bucket. + BuildArtifact source_build_artifact = 3; +} + +// Request message for staging a build artifact. +message StageBuildRequest { + // Required. The full resource name of the build artifact. + // For example, + // 'buildTargets/octopus/models/bobba/builds/12607.6.0/artifacts/chromeos-moblab-peng-staging'. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/BuildArtifact" + } + ]; + + // Optional. Filter that specifies value constraints of fields. For example, the + // filter can be set as "filter='type=release'" to only check the release + // builds. + string filter = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for staging a build artifact. +message StageBuildResponse { + // The staged build in the destination bucket. + BuildArtifact staged_build_artifact = 1; +} + +// Metadata message for staging a build artifact. +message StageBuildMetadata { + // Approximate percentage of progress, e.g. "50" means 50%. + float progress_percent = 1; + + // Build stage start time. + google.protobuf.Timestamp start_time = 2; + + // Build stage end time. + google.protobuf.Timestamp end_time = 3; +} diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_gapic.yaml b/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_gapic.yaml new file mode 100644 index 00000000..0bcb880b --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_gapic.yaml @@ -0,0 +1,2 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_v1beta1.yaml b/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_v1beta1.yaml new file mode 100644 index 00000000..64a8aa6b --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/chromeosmoblab_v1beta1.yaml @@ -0,0 +1,26 @@ +type: google.api.Service +config_version: 3 +name: chromeosmoblab.googleapis.com +title: Chrome OS Moblab API + +control: + environment: servicecontrol.googleapis.com + +apis: +- name: google.chromeos.moblab.v1beta1.BuildService + +backend: + rules: + - selector: 'google.chromeos.moblab.v1beta1.BuildService.*' + deadline: 10.0 + +documentation: + summary: |- + Moblab API is an external-facing API that Moblabs deployed in remote external labs of Chrome OS + partners can communicate with for various testing needs. + +authentication: + rules: + - selector: 'google.chromeos.moblab.v1beta1.BuildService.*' + oauth: + canonical_scopes: https://www.googleapis.com/auth/moblabapi diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/moblab_grpc_service_config.json b/google-cloud/protos/google/chromeos/moblab/v1beta1/moblab_grpc_service_config.json new file mode 100644 index 00000000..5c9de9d1 --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/moblab_grpc_service_config.json @@ -0,0 +1,35 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.chromeos.moblab.v1beta1.BuildService", + "method": "CheckBuildStageStatus" + }, + { + "service": "google.chromeos.moblab.v1beta1.BuildService", + "method": "ListBuilds" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.chromeos.moblab.v1beta1.BuildService", + "method": "StageBuild" + } + ], + "timeout": "60s" + } + ] +} \ No newline at end of file diff --git a/google-cloud/protos/google/chromeos/moblab/v1beta1/resources.proto b/google-cloud/protos/google/chromeos/moblab/v1beta1/resources.proto new file mode 100644 index 00000000..cb40f61f --- /dev/null +++ b/google-cloud/protos/google/chromeos/moblab/v1beta1/resources.proto @@ -0,0 +1,160 @@ +// 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.chromeos.moblab.v1beta1; + +import "google/api/resource.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1;moblab"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.chromeos.moblab.v1beta1"; +option optimize_for = SPEED; + +// Resource that represents a build target. +message BuildTarget { + option (google.api.resource) = { + type: "chromeosmoblab.googleapis.com/BuildTarget" + pattern: "buildTargets/{build_target}" + }; + + // The resource name of the build target. + // Format: buildTargets/{build_target} + string name = 1; +} + +// Resource that represents a model. Each model belongs to a build target. For +// non-unified build, the model name is the same as its build target name. +message Model { + option (google.api.resource) = { + type: "chromeosmoblab.googleapis.com/Model" + pattern: "buildTargets/{build_target}/models/{model}" + }; + + // The resource name of the model. + // Format: buildTargets/{build_target}/models/{model} + string name = 1; +} + +// Resource that represents a chrome OS milestone. +message Milestone { + option (google.api.resource) = { + type: "chromeosmoblab.googleapis.com/Milestone" + pattern: "milestones/{milestone}" + }; + + // The resource name of the milestone. + // Format: milestones/{milestone} + string name = 1; +} + +// Resource that represents a build for the given build target, model, milestone +// and build version. +message Build { + option (google.api.resource) = { + type: "chromeosmoblab.googleapis.com/Build" + pattern: "buildTargets/{build_target}/models/{model}/builds/{build}" + }; + + // The build status types. + enum BuildStatus { + // No build status is specified. + BUILD_STATUS_UNSPECIFIED = 0; + + // Complete Status: The build passed. + PASS = 1; + + // Complete Status: The build failed. + FAIL = 2; + + // Intermediate Status: The build is still running. + RUNNING = 3; + + // Complete Status: The build was aborted. + ABORTED = 4; + } + + // The build types. + enum BuildType { + // Invalid build type. + BUILD_TYPE_UNSPECIFIED = 0; + + // The release build. + RELEASE = 1; + + // The firmware build. + FIRMWARE = 2; + } + + // The resource name of the build. + // Format: buildTargets/{build_target}/models/{model}/builds/{build} + // Example: buildTargets/octopus/models/bobba/builds/1234.0.0 + string name = 1; + + // The milestone that owns the build. + // Format: milestones/{milestone} + string milestone = 2 [(google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/Milestone" + }]; + + // The build version of the build, e.g. 1234.0.0. + string build_version = 3; + + // The status of the build. + BuildStatus status = 4; + + // The type of the build. + BuildType type = 5; + + // The branch of the build. + string branch = 6; + + // The read write firmware version of the software that is flashed to the chip + // on the Chrome OS device. + string rw_firmware_version = 7; +} + +// Resource that represents a build artifact stored in Google Cloud Storage for +// the given build target, model, build version and bucket. +message BuildArtifact { + option (google.api.resource) = { + type: "chromeosmoblab.googleapis.com/BuildArtifact" + pattern: "buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact}" + }; + + // The resource name of the build artifact. + // Format: + // buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact} + // Example: + // buildTargets/octopus/models/bobba/builds/1234.0.0/artifacts/chromeos-moblab-peng-staging + string name = 1; + + // The build metadata of the build artifact. + string build = 2 [(google.api.resource_reference) = { + type: "chromeosmoblab.googleapis.com/Build" + }]; + + // The bucket that stores the build artifact. + string bucket = 3; + + // The path of the build artifact in the bucket. + string path = 4; + + // The number of objects in the build artifact folder. The object number can + // be used to calculated the stage progress by comparing the source build + // artifact with the destination build artifact. + uint32 object_count = 5; +} diff --git a/google-cloud/protos/google/chromeos/uidetection/v1/BUILD.bazel b/google-cloud/protos/google/chromeos/uidetection/v1/BUILD.bazel new file mode 100644 index 00000000..2e8855f2 --- /dev/null +++ b/google-cloud/protos/google/chromeos/uidetection/v1/BUILD.bazel @@ -0,0 +1,367 @@ +# 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 = "uidetection_proto", + srcs = [ + "ui_detection.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + ], +) + +proto_library_with_info( + name = "uidetection_proto_with_info", + deps = [ + ":uidetection_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 = "uidetection_java_proto", + deps = [":uidetection_proto"], +) + +java_grpc_library( + name = "uidetection_java_grpc", + srcs = [":uidetection_proto"], + deps = [":uidetection_java_proto"], +) + +java_gapic_library( + name = "uidetection_java_gapic", + srcs = [":uidetection_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "ui_detection_grpc_service_config.json", + service_yaml = "chromeosuidetection_v1.yaml", + test_deps = [ + ":uidetection_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":uidetection_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "uidetection_java_gapic_test_suite", + test_classes = [ + "com.google.chromeos.uidetection.v1.UiDetectionServiceClientHttpJsonTest", + "com.google.chromeos.uidetection.v1.UiDetectionServiceClientTest", + ], + runtime_deps = [":uidetection_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-chromeos-uidetection-v1-java", + transport = "grpc+rest", + deps = [ + ":uidetection_java_gapic", + ":uidetection_java_grpc", + ":uidetection_java_proto", + ":uidetection_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "uidetection_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/chromeos/uidetection/v1", + protos = [":uidetection_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "uidetection_go_gapic", + srcs = [":uidetection_proto_with_info"], + grpc_service_config = "ui_detection_grpc_service_config.json", + importpath = "google.golang.org/google/chromeos/uidetection/v1;uidetection", + metadata = True, + service_yaml = "chromeosuidetection_v1.yaml", + transport = "grpc+rest", + deps = [ + ":uidetection_go_proto", + ], +) + +go_test( + name = "uidetection_go_gapic_test", + srcs = [":uidetection_go_gapic_srcjar_test"], + embed = [":uidetection_go_gapic"], + importpath = "google.golang.org/google/chromeos/uidetection/v1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-chromeos-uidetection-v1-go", + deps = [ + ":uidetection_go_gapic", + ":uidetection_go_gapic_srcjar-metadata.srcjar", + ":uidetection_go_gapic_srcjar-test.srcjar", + ":uidetection_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "uidetection_py_gapic", + srcs = [":uidetection_proto"], + grpc_service_config = "ui_detection_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "uidetection_py_gapic_test", + srcs = [ + "uidetection_py_gapic_pytest.py", + "uidetection_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":uidetection_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "chromeos-uidetection-v1-py", + deps = [ + ":uidetection_py_gapic", + ], +) + +############################################################################## +# 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 = "uidetection_php_proto", + deps = [":uidetection_proto"], +) + +php_grpc_library( + name = "uidetection_php_grpc", + srcs = [":uidetection_proto"], + deps = [":uidetection_php_proto"], +) + +php_gapic_library( + name = "uidetection_php_gapic", + srcs = [":uidetection_proto_with_info"], + grpc_service_config = "ui_detection_grpc_service_config.json", + service_yaml = "chromeosuidetection_v1.yaml", + deps = [ + ":uidetection_php_grpc", + ":uidetection_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-chromeos-uidetection-v1-php", + deps = [ + ":uidetection_php_gapic", + ":uidetection_php_grpc", + ":uidetection_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "uidetection_nodejs_gapic", + package_name = "@google-cloud/uidetection", + src = ":uidetection_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "ui_detection_grpc_service_config.json", + package = "google.chromeos.uidetection.v1", + service_yaml = "chromeosuidetection_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "chromeos-uidetection-v1-nodejs", + deps = [ + ":uidetection_nodejs_gapic", + ":uidetection_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 = "uidetection_ruby_proto", + deps = [":uidetection_proto"], +) + +ruby_grpc_library( + name = "uidetection_ruby_grpc", + srcs = [":uidetection_proto"], + deps = [":uidetection_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "uidetection_ruby_gapic", + srcs = [":uidetection_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-chromeos-uidetection-v1", + ], + grpc_service_config = "ui_detection_grpc_service_config.json", + deps = [ + ":uidetection_ruby_grpc", + ":uidetection_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-chromeos-uidetection-v1-ruby", + deps = [ + ":uidetection_ruby_gapic", + ":uidetection_ruby_grpc", + ":uidetection_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 = "uidetection_csharp_proto", + deps = [":uidetection_proto"], +) + +csharp_grpc_library( + name = "uidetection_csharp_grpc", + srcs = [":uidetection_proto"], + deps = [":uidetection_csharp_proto"], +) + +csharp_gapic_library( + name = "uidetection_csharp_gapic", + srcs = [":uidetection_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "ui_detection_grpc_service_config.json", + service_yaml = "chromeosuidetection_v1.yaml", + deps = [ + ":uidetection_csharp_grpc", + ":uidetection_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-chromeos-uidetection-v1-csharp", + deps = [ + ":uidetection_csharp_gapic", + ":uidetection_csharp_grpc", + ":uidetection_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "uidetection_cc_proto", + deps = [":uidetection_proto"], +) + +cc_grpc_library( + name = "uidetection_cc_grpc", + srcs = [":uidetection_proto"], + grpc_only = True, + deps = [":uidetection_cc_proto"], +) diff --git a/google-cloud/protos/google/chromeos/uidetection/v1/chromeosuidetection_v1.yaml b/google-cloud/protos/google/chromeos/uidetection/v1/chromeosuidetection_v1.yaml new file mode 100644 index 00000000..f6e15a55 --- /dev/null +++ b/google-cloud/protos/google/chromeos/uidetection/v1/chromeosuidetection_v1.yaml @@ -0,0 +1,18 @@ +type: google.api.Service +config_version: 3 +name: chromeosuidetection.googleapis.com +title: ChromeOS UI Detection API + +apis: +- name: google.chromeos.uidetection.v1.UiDetectionService + +documentation: + summary: |- + ChromeOS UI Detection API allows image-based UI detection in E2E testing + frameworks of ChromeOS. It will be used by ChromeOS labs and ChromeOS + partners. + +backend: + rules: + - selector: google.chromeos.uidetection.v1.UiDetectionService.ExecuteDetection + deadline: 30.0 diff --git a/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection.proto b/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection.proto new file mode 100644 index 00000000..e1f593f2 --- /dev/null +++ b/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection.proto @@ -0,0 +1,132 @@ +// 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.chromeos.uidetection.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "google.golang.org/genproto/googleapis/chromeos/uidetection/v1;uidetection"; +option java_multiple_files = true; +option java_outer_classname = "UiDetectionProto"; +option java_package = "com.google.chromeos.uidetection.v1"; + +// Provides image-based UI detection service. +service UiDetectionService { + option (google.api.default_host) = "chromeosuidetection.googleapis.com"; + + // Runs the detection. + rpc ExecuteDetection(UiDetectionRequest) returns (UiDetectionResponse) { + option (google.api.http) = { + get: "/v1/executeDetection:execute" + }; + } +} + +// Request message for UI detection. +message UiDetectionRequest { + // Required. Required field that represents a PNG image. + bytes image_png = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Required field that indicates the detection type. + DetectionRequest request = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Detection type specifies what to detect in the image. +message DetectionRequest { + oneof detection_request_type { + // Detection type for word detection. + WordDetectionRequest word_detection_request = 1; + + // Detection type for text block detection. + TextBlockDetectionRequest text_block_detection_request = 2; + + // Detection type for custom icon detection. + CustomIconDetectionRequest custom_icon_detection_request = 3; + } +} + +// Detection type for word detection. +message WordDetectionRequest { + // Required. The word to locate in the image. + string word = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicating whether the query string is a regex or not. + bool regex_mode = 2; + + // Indicating whether the detection is an approximate match. + bool disable_approx_match = 3; + + // Levenshtein distance threshold. + // Applicable only if regex_mode is False. + optional int32 max_edit_distance = 4; +} + +// Detection type for text block detection. +message TextBlockDetectionRequest { + // Required. The text block consisting a list of words to locate in the image. + repeated string words = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicating whether the query string is a regex or not. + bool regex_mode = 2; + + // Indicating whether the detection is an approximate match. + bool disable_approx_match = 3; + + // Levenshtein distance threshold. + // Applicable only if regex_mode is False. + optional int32 max_edit_distance = 4; +} + +// Detection type for custom icon detection. +message CustomIconDetectionRequest { + // Required. Required field that represents an icon in PNG format. + bytes icon_png = 1 [(google.api.field_behavior) = REQUIRED]; + + // Set match_count to -1 to not limit the number of matches. + int32 match_count = 2; + + // Confidence threshold in the range [0.0, 1.0] below which the matches will + // be considered as non-existent. + double min_confidence_threshold = 3; +} + +// Response message for UI detection. +message UiDetectionResponse { + // Locations of matching UI elements. + repeated BoundingBox bounding_boxes = 1; +} + +// The location of a UI element. +// A bounding box is reprensented by its top-left point [left, top] +// and its bottom-right point [right, bottom]. +message BoundingBox { + // The text found in the bounding box. + string text = 1; + + // The y-coordinate of the top-left point. + int32 top = 2; + + // The x-coordinate of the top-left point. + int32 left = 3; + + // The y-coordinate of the bottom-right point. + int32 bottom = 4; + + // The x-coordinate of the bottom-right point. + int32 right = 5; +} diff --git a/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection_grpc_service_config.json b/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection_grpc_service_config.json new file mode 100644 index 00000000..7632a3fa --- /dev/null +++ b/google-cloud/protos/google/chromeos/uidetection/v1/ui_detection_grpc_service_config.json @@ -0,0 +1,13 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.chromeos.uidetection.v1.UiDetectionService", "method": "ExecuteDetection" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/google-cloud/protos/google/cloud/BUILD.bazel b/google-cloud/protos/google/cloud/BUILD.bazel index b112ef3d..b315e94f 100644 --- a/google-cloud/protos/google/cloud/BUILD.bazel +++ b/google-cloud/protos/google/cloud/BUILD.bazel @@ -1,3 +1,5 @@ +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"]) @@ -8,4 +10,106 @@ proto_library( name = "common_resources_proto", srcs = ["common_resources.proto"], deps = ["//google/api:resource_proto"], -) \ No newline at end of file +) + +proto_library( + name = "extended_operations_proto", + srcs = ["extended_operations.proto"], + deps = ["@com_google_protobuf//:descriptor_proto"], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) + +java_proto_library( + name = "extended_operations_java_proto", + deps = [ + ":extended_operations_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-apps-script-type-java", + transport = "grpc+rest", + deps = [ + "extended_operations_java_proto", + ":extended_operations_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "go_proto_library") + +go_proto_library( + name = "extended_operations_go_proto", + importpath = "google.golang.org/genproto/googleapis/cloud/extendedops", + protos = [ + ":extended_operations_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "py_proto_library") + +py_proto_library( + name = "extended_operations_py_proto", + deps = [":extended_operations_proto"], +) + +############################################################################## +# PHP +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "php_proto_library") + +php_proto_library( + name = "extended_operations_php_proto", + deps = [":extended_operations_proto"], +) + +############################################################################## +# Node.js +############################################################################## +# Node does not have langauge-specific proto_library targets + +############################################################################## +# Ruby +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "ruby_proto_library") + +ruby_proto_library( + name = "extended_operations_ruby_proto", + deps = [":extended_operations_proto"], +) + +############################################################################## +# C# +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "csharp_proto_library") + +csharp_proto_library( + name = "extended_operations_csharp_proto", + deps = [":extended_operations_proto"], +) + +############################################################################## +# C++ +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "cc_proto_library") + +cc_proto_library( + name = "extended_operations_cc_proto", + deps = [":extended_operations_proto"], +) diff --git a/google-cloud/protos/google/cloud/accessapproval/BUILD.bazel b/google-cloud/protos/google/cloud/accessapproval/BUILD.bazel new file mode 100644 index 00000000..919d9c2b --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-access_approval. + +# 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 accessapproval. +# 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 = "accessapproval_ruby_wrapper", + srcs = ["//google/cloud/accessapproval/v1:accessapproval_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-access_approval", + "ruby-cloud-env-prefix=ACCESS_APPROVAL", + "ruby-cloud-wrapper-of=v1:0.0", + "ruby-cloud-product-url=https://cloud.google.com/access-approval/", + "ruby-cloud-api-id=accessapproval.googleapis.com", + "ruby-cloud-api-shortname=accessapproval", + ], + ruby_cloud_description = "An API for controlling access to data by Google personnel.", + ruby_cloud_title = "Access Approval", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-accessapproval-ruby", + deps = [ + ":accessapproval_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/accessapproval/v1/BUILD.bazel b/google-cloud/protos/google/cloud/accessapproval/v1/BUILD.bazel new file mode 100644 index 00000000..558bd178 --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/v1/BUILD.bazel @@ -0,0 +1,376 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "accessapproval_proto", + srcs = [ + "accessapproval.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 = "accessapproval_proto_with_info", + deps = [ + ":accessapproval_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 = "accessapproval_java_proto", + deps = [":accessapproval_proto"], +) + +java_grpc_library( + name = "accessapproval_java_grpc", + srcs = [":accessapproval_proto"], + deps = [":accessapproval_java_proto"], +) + +java_gapic_library( + name = "accessapproval_java_gapic", + srcs = [":accessapproval_proto_with_info"], + gapic_yaml = "accessapproval_gapic.yaml", + grpc_service_config = "accessapproval_grpc_service_config.json", + test_deps = [ + ":accessapproval_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":accessapproval_java_proto", + ], +) + +java_gapic_test( + name = "accessapproval_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.accessapproval.v1.AccessApprovalAdminClientHttpJsonTest", + "com.google.cloud.accessapproval.v1.AccessApprovalAdminClientTest", + ], + runtime_deps = [":accessapproval_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-accessapproval-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":accessapproval_java_gapic", + ":accessapproval_java_grpc", + ":accessapproval_java_proto", + ":accessapproval_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "accessapproval_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/accessapproval/v1", + protos = [":accessapproval_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "accessapproval_go_gapic", + srcs = [":accessapproval_proto_with_info"], + grpc_service_config = "accessapproval_grpc_service_config.json", + importpath = "cloud.google.com/go/accessapproval/apiv1;accessapproval", + service_yaml = "accessapproval_v1.yaml", + transport = "grpc+rest", + deps = [ + ":accessapproval_go_proto", + ], +) + +go_test( + name = "accessapproval_go_gapic_test", + srcs = [":accessapproval_go_gapic_srcjar_test"], + embed = [":accessapproval_go_gapic"], + importpath = "cloud.google.com/go/accessapproval/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-accessapproval-v1-go", + deps = [ + ":accessapproval_go_gapic", + ":accessapproval_go_gapic_srcjar-test.srcjar", + ":accessapproval_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "accessapproval_py_gapic", + srcs = [":accessapproval_proto"], + grpc_service_config = "accessapproval_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-access-approval", + ], + transport = "grpc", +) + +py_test( + name = "accessapproval_py_gapic_test", + srcs = [ + "accessapproval_py_gapic_pytest.py", + "accessapproval_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":accessapproval_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "accessapproval-v1-py", + deps = [ + ":accessapproval_py_gapic", + ], +) + +############################################################################## +# 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 = "accessapproval_php_proto", + deps = [":accessapproval_proto"], +) + +php_grpc_library( + name = "accessapproval_php_grpc", + srcs = [":accessapproval_proto"], + deps = [":accessapproval_php_proto"], +) + +php_gapic_library( + name = "accessapproval_php_gapic", + srcs = [":accessapproval_proto_with_info"], + grpc_service_config = "accessapproval_grpc_service_config.json", + deps = [ + ":accessapproval_php_grpc", + ":accessapproval_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-accessapproval-v1-php", + deps = [ + ":accessapproval_php_gapic", + ":accessapproval_php_grpc", + ":accessapproval_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "accessapproval_nodejs_gapic", + package_name = "@google-cloud/access-approval", + src = ":accessapproval_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "accessapproval_grpc_service_config.json", + package = "google.cloud.accessapproval.v1", + service_yaml = "accessapproval_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "accessapproval-v1-nodejs", + deps = [ + ":accessapproval_nodejs_gapic", + ":accessapproval_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 = "accessapproval_ruby_proto", + deps = [":accessapproval_proto"], +) + +ruby_grpc_library( + name = "accessapproval_ruby_grpc", + srcs = [":accessapproval_proto"], + deps = [":accessapproval_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "accessapproval_ruby_gapic", + srcs = [":accessapproval_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-access_approval-v1", + "ruby-cloud-env-prefix=ACCESS_APPROVAL", + "ruby-cloud-product-url=https://cloud.google.com/access-approval/", + "ruby-cloud-api-id=accessapproval.googleapis.com", + "ruby-cloud-api-shortname=accessapproval", + ], + grpc_service_config = "accessapproval_grpc_service_config.json", + ruby_cloud_description = "An API for controlling access to data by Google personnel.", + ruby_cloud_title = "Access Approval V1", + deps = [ + ":accessapproval_ruby_grpc", + ":accessapproval_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-accessapproval-v1-ruby", + deps = [ + ":accessapproval_ruby_gapic", + ":accessapproval_ruby_grpc", + ":accessapproval_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 = "accessapproval_csharp_proto", + deps = [":accessapproval_proto"], +) + +csharp_grpc_library( + name = "accessapproval_csharp_grpc", + srcs = [":accessapproval_proto"], + deps = [":accessapproval_csharp_proto"], +) + +csharp_gapic_library( + name = "accessapproval_csharp_gapic", + srcs = [":accessapproval_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "accessapproval_grpc_service_config.json", + service_yaml = "accessapproval_v1.yaml", + deps = [ + ":accessapproval_csharp_grpc", + ":accessapproval_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-accessapproval-v1-csharp", + deps = [ + ":accessapproval_csharp_gapic", + ":accessapproval_csharp_grpc", + ":accessapproval_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "accessapproval_cc_proto", + deps = [":accessapproval_proto"], +) + +cc_grpc_library( + name = "accessapproval_cc_grpc", + srcs = [":accessapproval_proto"], + grpc_only = True, + deps = [":accessapproval_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval.proto b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval.proto new file mode 100644 index 00000000..adeccff4 --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval.proto @@ -0,0 +1,697 @@ +// 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.accessapproval.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/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AccessApproval.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/accessapproval/v1;accessapproval"; +option java_multiple_files = true; +option java_outer_classname = "AccessApprovalProto"; +option java_package = "com.google.cloud.accessapproval.v1"; +option php_namespace = "Google\\Cloud\\AccessApproval\\V1"; +option ruby_package = "Google::Cloud::AccessApproval::V1"; + +// This API allows a customer to manage accesses to cloud resources by +// Google personnel. It defines the following resource model: +// +// - The API has a collection of +// [ApprovalRequest][google.cloud.accessapproval.v1.ApprovalRequest] +// resources, named `approvalRequests/{approval_request}` +// - The API has top-level settings per Project/Folder/Organization, named +// `accessApprovalSettings` +// +// The service also periodically emails a list of recipients, defined at the +// Project/Folder/Organization level in the accessApprovalSettings, when there +// is a pending ApprovalRequest for them to act on. The ApprovalRequests can +// also optionally be published to a Pub/Sub topic owned by the customer +// (contact support if you would like to enable Pub/Sub notifications). +// +// ApprovalRequests can be approved or dismissed. Google personnel can only +// access the indicated resource or resources if the request is approved +// (subject to some exclusions: +// https://cloud.google.com/access-approval/docs/overview#exclusions). +// +// Note: Using Access Approval functionality will mean that Google may not be +// able to meet the SLAs for your chosen products, as any support response times +// may be dramatically increased. As such the SLAs do not apply to any service +// disruption to the extent impacted by Customer's use of Access Approval. Do +// not enable Access Approval for projects where you may require high service +// availability and rapid response by Google Cloud Support. +// +// After a request is approved or dismissed, no further action may be taken on +// it. Requests with the requested_expiration in the past or with no activity +// for 14 days are considered dismissed. When an approval expires, the request +// is considered dismissed. +// +// If a request is not approved or dismissed, we call it pending. +service AccessApproval { + option (google.api.default_host) = "accessapproval.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Lists approval requests associated with a project, folder, or organization. + // Approval requests can be filtered by state (pending, active, dismissed). + // The order is reverse chronological. + rpc ListApprovalRequests(ListApprovalRequestsMessage) returns (ListApprovalRequestsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*}/approvalRequests" + additional_bindings { + get: "/v1/{parent=folders/*}/approvalRequests" + } + additional_bindings { + get: "/v1/{parent=organizations/*}/approvalRequests" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an approval request. Returns NOT_FOUND if the request does not exist. + rpc GetApprovalRequest(GetApprovalRequestMessage) returns (ApprovalRequest) { + option (google.api.http) = { + get: "/v1/{name=projects/*/approvalRequests/*}" + additional_bindings { + get: "/v1/{name=folders/*/approvalRequests/*}" + } + additional_bindings { + get: "/v1/{name=organizations/*/approvalRequests/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Approves a request and returns the updated ApprovalRequest. + // + // Returns NOT_FOUND if the request does not exist. Returns + // FAILED_PRECONDITION if the request exists but is not in a pending state. + rpc ApproveApprovalRequest(ApproveApprovalRequestMessage) returns (ApprovalRequest) { + option (google.api.http) = { + post: "/v1/{name=projects/*/approvalRequests/*}:approve" + body: "*" + additional_bindings { + post: "/v1/{name=folders/*/approvalRequests/*}:approve" + body: "*" + } + additional_bindings { + post: "/v1/{name=organizations/*/approvalRequests/*}:approve" + body: "*" + } + }; + } + + // Dismisses a request. Returns the updated ApprovalRequest. + // + // NOTE: This does not deny access to the resource if another request has been + // made and approved. It is equivalent in effect to ignoring the request + // altogether. + // + // Returns NOT_FOUND if the request does not exist. + // + // Returns FAILED_PRECONDITION if the request exists but is not in a pending + // state. + rpc DismissApprovalRequest(DismissApprovalRequestMessage) returns (ApprovalRequest) { + option (google.api.http) = { + post: "/v1/{name=projects/*/approvalRequests/*}:dismiss" + body: "*" + additional_bindings { + post: "/v1/{name=folders/*/approvalRequests/*}:dismiss" + body: "*" + } + additional_bindings { + post: "/v1/{name=organizations/*/approvalRequests/*}:dismiss" + body: "*" + } + }; + } + + // Invalidates an existing ApprovalRequest. Returns the updated + // ApprovalRequest. + // + // NOTE: This does not deny access to the resource if another request has been + // made and approved. It only invalidates a single approval. + // + // Returns FAILED_PRECONDITION if the request exists but is not in an approved + // state. + rpc InvalidateApprovalRequest(InvalidateApprovalRequestMessage) returns (ApprovalRequest) { + option (google.api.http) = { + post: "/v1/{name=projects/*/approvalRequests/*}:invalidate" + body: "*" + additional_bindings { + post: "/v1/{name=folders/*/approvalRequests/*}:invalidate" + body: "*" + } + additional_bindings { + post: "/v1/{name=organizations/*/approvalRequests/*}:invalidate" + body: "*" + } + }; + } + + // Gets the settings associated with a project, folder, or organization. + rpc GetAccessApprovalSettings(GetAccessApprovalSettingsMessage) returns (AccessApprovalSettings) { + option (google.api.http) = { + get: "/v1/{name=projects/*/accessApprovalSettings}" + additional_bindings { + get: "/v1/{name=folders/*/accessApprovalSettings}" + } + additional_bindings { + get: "/v1/{name=organizations/*/accessApprovalSettings}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Updates the settings associated with a project, folder, or organization. + // Settings to update are determined by the value of field_mask. + rpc UpdateAccessApprovalSettings(UpdateAccessApprovalSettingsMessage) returns (AccessApprovalSettings) { + option (google.api.http) = { + patch: "/v1/{settings.name=projects/*/accessApprovalSettings}" + body: "settings" + additional_bindings { + patch: "/v1/{settings.name=folders/*/accessApprovalSettings}" + body: "settings" + } + additional_bindings { + patch: "/v1/{settings.name=organizations/*/accessApprovalSettings}" + body: "settings" + } + }; + option (google.api.method_signature) = "settings,update_mask"; + } + + // Deletes the settings associated with a project, folder, or organization. + // This will have the effect of disabling Access Approval for the project, + // folder, or organization, but only if all ancestors also have Access + // Approval disabled. If Access Approval is enabled at a higher level of the + // hierarchy, then Access Approval will still be enabled at this level as + // the settings are inherited. + rpc DeleteAccessApprovalSettings(DeleteAccessApprovalSettingsMessage) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/accessApprovalSettings}" + additional_bindings { + delete: "/v1/{name=folders/*/accessApprovalSettings}" + } + additional_bindings { + delete: "/v1/{name=organizations/*/accessApprovalSettings}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Retrieves the service account that is used by Access Approval to access KMS + // keys for signing approved approval requests. + rpc GetAccessApprovalServiceAccount(GetAccessApprovalServiceAccountMessage) returns (AccessApprovalServiceAccount) { + option (google.api.http) = { + get: "/v1/{name=projects/*/serviceAccount}" + additional_bindings { + get: "/v1/{name=folders/*/serviceAccount}" + } + additional_bindings { + get: "/v1/{name=organizations/*/serviceAccount}" + } + }; + option (google.api.method_signature) = "name"; + } +} + +// Home office and physical location of the principal. +message AccessLocations { + // The "home office" location of the principal. A two-letter country code + // (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In some + // limited situations Google systems may refer refer to a region code instead + // of a country code. + // Possible Region Codes: + // + // * ASI: Asia + // * EUR: Europe + // * OCE: Oceania + // * AFR: Africa + // * NAM: North America + // * SAM: South America + // * ANT: Antarctica + // * ANY: Any location + string principal_office_country = 1; + + // Physical location of the principal at the time of the access. A + // two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or + // a region code. In some limited situations Google systems may refer refer to + // a region code instead of a country code. + // Possible Region Codes: + // + // * ASI: Asia + // * EUR: Europe + // * OCE: Oceania + // * AFR: Africa + // * NAM: North America + // * SAM: South America + // * ANT: Antarctica + // * ANY: Any location + string principal_physical_location_country = 2; +} + +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; + } + + // Type of access justification. + Type type = 1; + + // More detail about certain reason types. See comments for each type above. + string detail = 2; +} + +// Information about the digital signature of the resource. +message SignatureInfo { + // The digital signature. + bytes signature = 1; + + // How this signature may be verified. + oneof verification_info { + // The public key for the Google default signing, encoded in PEM format. The + // signature was created using a private key which may be verified using + // this public key. + string google_public_key_pem = 2; + + // The resource name of the customer CryptoKeyVersion used for signing. + string customer_kms_key_version = 3; + } +} + +// A decision that has been made to approve access to a resource. +message ApproveDecision { + // The time at which approval was granted. + google.protobuf.Timestamp approve_time = 1; + + // The time at which the approval expires. + google.protobuf.Timestamp expire_time = 2; + + // If set, denotes the timestamp at which the approval is invalidated. + google.protobuf.Timestamp invalidate_time = 3; + + // The signature for the ApprovalRequest and details on how it was signed. + SignatureInfo signature_info = 4; + + // True when the request has been auto-approved. + bool auto_approved = 5; +} + +// A decision that has been made to dismiss an approval request. +message DismissDecision { + // The time at which the approval request was dismissed. + google.protobuf.Timestamp dismiss_time = 1; + + // This field will be true if the ApprovalRequest was implicitly dismissed due + // to inaction by the access approval approvers (the request is not acted + // on by the approvers before the exiration time). + bool implicit = 2; +} + +// The properties associated with the resource of the request. +message ResourceProperties { + // Whether an approval will exclude the descendants of the resource being + // requested. + bool excludes_descendants = 1; +} + +// A request for the customer to approve access to a resource. +message ApprovalRequest { + option (google.api.resource) = { + type: "accessapproval.googleapis.com/ApprovalRequest" + pattern: "projects/{project}/approvalRequests/{approval_request}" + pattern: "folders/{folder}/approvalRequests/{approval_request}" + pattern: "organizations/{organization}/approvalRequests/{approval_request}" + }; + + // The resource name of the request. Format is + // "{projects|folders|organizations}/{id}/approvalRequests/{approval_request}". + string name = 1; + + // The resource for which approval is being requested. The format of the + // resource name is defined at + // https://cloud.google.com/apis/design/resource_names. The resource name here + // may either be a "full" resource name (e.g. + // "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative" + // resource name (e.g. "shelves/shelf1/books/book2") as described in the + // resource name specification. + string requested_resource_name = 2; + + // Properties related to the resource represented by requested_resource_name. + ResourceProperties requested_resource_properties = 9; + + // The justification for which approval is being requested. + AccessReason requested_reason = 3; + + // The locations for which approval is being requested. + AccessLocations requested_locations = 4; + + // The time at which approval was requested. + google.protobuf.Timestamp request_time = 5; + + // 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 = 6; + + // The current decision on the approval request. + oneof decision { + // Access was approved. + ApproveDecision approve = 7; + + // The request was dismissed. + DismissDecision dismiss = 8; + } +} + +// Represents the type of enrollment for a given service to Access Approval. +enum EnrollmentLevel { + // Default value for proto, shouldn't be used. + ENROLLMENT_LEVEL_UNSPECIFIED = 0; + + // Service is enrolled in Access Approval for all requests + BLOCK_ALL = 1; +} + +// Represents the enrollment of a cloud resource into a specific service. +message EnrolledService { + // The product for which Access Approval will be enrolled. Allowed values are + // listed below (case-sensitive): + // + // * all + // * GA + // * App Engine + // * BigQuery + // * Cloud Bigtable + // * Cloud Key Management Service + // * Compute Engine + // * Cloud Dataflow + // * Cloud Dataproc + // * Cloud DLP + // * Cloud EKM + // * Cloud HSM + // * Cloud Identity and Access Management + // * Cloud Logging + // * Cloud Pub/Sub + // * Cloud Spanner + // * Cloud SQL + // * Cloud Storage + // * Google Kubernetes Engine + // * Organization Policy Serivice + // * Persistent Disk + // * Resource Manager + // * Secret Manager + // * Speaker ID + // + // Note: These values are supported as input for legacy purposes, but will not + // be returned from the API. + // + // * all + // * ga-only + // * appengine.googleapis.com + // * bigquery.googleapis.com + // * bigtable.googleapis.com + // * container.googleapis.com + // * cloudkms.googleapis.com + // * cloudresourcemanager.googleapis.com + // * cloudsql.googleapis.com + // * compute.googleapis.com + // * dataflow.googleapis.com + // * dataproc.googleapis.com + // * dlp.googleapis.com + // * iam.googleapis.com + // * logging.googleapis.com + // * orgpolicy.googleapis.com + // * pubsub.googleapis.com + // * spanner.googleapis.com + // * secretmanager.googleapis.com + // * speakerid.googleapis.com + // * storage.googleapis.com + // + // Calls to UpdateAccessApprovalSettings using 'all' or any of the + // XXX.googleapis.com will be translated to the associated product name + // ('all', 'App Engine', etc.). + // + // Note: 'all' will enroll the resource in all products supported at both 'GA' + // and 'Preview' levels. + // + // More information about levels of support is available at + // https://cloud.google.com/access-approval/docs/supported-services + string cloud_product = 1; + + // The enrollment level of the service. + EnrollmentLevel enrollment_level = 2; +} + +// Settings on a Project/Folder/Organization related to Access Approval. +message AccessApprovalSettings { + option (google.api.resource) = { + type: "accessapproval.googleapis.com/AccessApprovalSettings" + pattern: "projects/{project}/accessApprovalSettings" + pattern: "folders/{folder}/accessApprovalSettings" + pattern: "organizations/{organization}/accessApprovalSettings" + }; + + // The resource name of the settings. Format is one of: + // + // * "projects/{project}/accessApprovalSettings" + // * "folders/{folder}/accessApprovalSettings" + // * "organizations/{organization}/accessApprovalSettings" + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/AccessApprovalSettings" + }]; + + // A list of email addresses to which notifications relating to approval + // requests should be sent. Notifications relating to a resource will be sent + // to all emails in the settings of ancestor resources of that resource. A + // maximum of 50 email addresses are allowed. + repeated string notification_emails = 2; + + // A list of Google Cloud Services for which the given resource has Access + // Approval enrolled. Access requests for the resource given by name against + // any of these services contained here will be required to have explicit + // approval. If name refers to an organization, enrollment can be done for + // individual services. If name refers to a folder or project, enrollment can + // only be done on an all or nothing basis. + // + // If a cloud_product is repeated in this list, the first entry will be + // honored and all following entries will be discarded. A maximum of 10 + // enrolled services will be enforced, to be expanded as the set of supported + // services is expanded. + repeated EnrolledService enrolled_services = 3; + + // Output only. This field is read only (not settable via + // UpdateAccessApprovalSettings method). If the field is true, that + // indicates that at least one service is enrolled for Access Approval in one + // or more ancestors of the Project or Folder (this field will always be + // unset for the organization since organizations do not have ancestors). + bool enrolled_ancestor = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The asymmetric crypto key version to use for signing approval requests. + // Empty active_key_version indicates that a Google-managed key should be used + // for signing. This property will be ignored if set by an ancestor of this + // resource, and new non-empty values may not be set. + string active_key_version = 6; + + // Output only. This field is read only (not settable via UpdateAccessApprovalSettings + // method). If the field is true, that indicates that an ancestor of this + // Project or Folder has set active_key_version (this field will always be + // unset for the organization since organizations do not have ancestors). + bool ancestor_has_active_key_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. This field is read only (not settable via UpdateAccessApprovalSettings + // method). If the field is true, that indicates that there is some + // configuration issue with the active_key_version configured at this level in + // the resource hierarchy (e.g. it doesn't exist or the Access Approval + // service account doesn't have the correct permissions on it, etc.) This key + // version is not necessarily the effective key version at this level, as key + // versions are inherited top-down. + bool invalid_key_version = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Access Approval service account related to a project/folder/organization. +message AccessApprovalServiceAccount { + option (google.api.resource) = { + type: "accessapproval.googleapis.com/AccessApprovalServiceAccount" + pattern: "projects/{project}/serviceAccount" + pattern: "folders/{folder}/serviceAccount" + pattern: "organizations/{organization}/serviceAccount" + }; + + // The resource name of the Access Approval service account. Format is one of: + // + // * "projects/{project}/serviceAccount" + // * "folders/{folder}/serviceAccount" + // * "organizations/{organization}/serviceAccount" + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/AccessApprovalServiceAccount" + }]; + + // Email address of the service account. + string account_email = 2; +} + +// Request to list approval requests. +message ListApprovalRequestsMessage { + // The parent resource. This may be "projects/{project}", + // "folders/{folder}", or "organizations/{organization}". + string parent = 1 [(google.api.resource_reference) = { + child_type: "accessapproval.googleapis.com/ApprovalRequest" + }]; + + // A filter on the type of approval requests to retrieve. Must be one of the + // following values: + // + // * [not set]: Requests that are pending or have active approvals. + // * ALL: All requests. + // * PENDING: Only pending requests. + // * ACTIVE: Only active (i.e. currently approved) requests. + // * DISMISSED: Only requests that have been dismissed, or requests that + // are not approved and past expiration. + // * EXPIRED: Only requests that have been approved, and the approval has + // expired. + // * HISTORY: Active, dismissed and expired requests. + string filter = 2; + + // Requested page size. + int32 page_size = 3; + + // A token identifying the page of results to return. + string page_token = 4; +} + +// Response to listing of ApprovalRequest objects. +message ListApprovalRequestsResponse { + // Approval request details. + repeated ApprovalRequest approval_requests = 1; + + // Token to retrieve the next page of results, or empty if there are no more. + string next_page_token = 2; +} + +// Request to get an approval request. +message GetApprovalRequestMessage { + // The name of the approval request to retrieve. + // Format: + // "{projects|folders|organizations}/{id}/approvalRequests/{approval_request}" + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/ApprovalRequest" + }]; +} + +// Request to approve an ApprovalRequest. +message ApproveApprovalRequestMessage { + // Name of the approval request to approve. + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/ApprovalRequest" + }]; + + // The expiration time of this approval. + google.protobuf.Timestamp expire_time = 2; +} + +// Request to dismiss an approval request. +message DismissApprovalRequestMessage { + // Name of the ApprovalRequest to dismiss. + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/ApprovalRequest" + }]; +} + +// Request to invalidate an existing approval. +message InvalidateApprovalRequestMessage { + // Name of the ApprovalRequest to invalidate. + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/ApprovalRequest" + }]; +} + +// Request to get access approval settings. +message GetAccessApprovalSettingsMessage { + // The name of the AccessApprovalSettings to retrieve. + // Format: "{projects|folders|organizations}/{id}/accessApprovalSettings" + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/AccessApprovalSettings" + }]; +} + +// Request to update access approval settings. +message UpdateAccessApprovalSettingsMessage { + // The new AccessApprovalSettings. + AccessApprovalSettings settings = 1; + + // The update mask applies to the settings. Only the top level fields of + // AccessApprovalSettings (notification_emails & enrolled_services) are + // supported. For each field, if it is included, the currently stored value + // will be entirely overwritten with the value of the field passed in this + // request. + // + // For the `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If this field is left unset, only the notification_emails field will be + // updated. + google.protobuf.FieldMask update_mask = 2; +} + +// Request to delete access approval settings. +message DeleteAccessApprovalSettingsMessage { + // Name of the AccessApprovalSettings to delete. + string name = 1 [(google.api.resource_reference) = { + type: "accessapproval.googleapis.com/AccessApprovalSettings" + }]; +} + +// Request to get an Access Approval service account. +message GetAccessApprovalServiceAccountMessage { + // Name of the AccessApprovalServiceAccount to retrieve. + string name = 1; +} diff --git a/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_gapic.yaml b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_gapic.yaml new file mode 100644 index 00000000..e96f2307 --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_gapic.yaml @@ -0,0 +1,7 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.cloud.accessapproval.v1 + interface_names: + google.cloud.accessapproval.v1.AccessApproval: AccessApprovalAdmin diff --git a/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_grpc_service_config.json b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_grpc_service_config.json new file mode 100644 index 00000000..03f40e13 --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_grpc_service_config.json @@ -0,0 +1,31 @@ +{ + "methodConfig": [ + { + "name": [ + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "ListApprovalRequests"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "GetApprovalRequest"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "GetAccessApprovalSettings"} + ], + "timeout": "600s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "ApproveApprovalRequest"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "DismissApprovalRequest"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "InvalidateApprovalRequest"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "UpdateAccessApprovalSettings"}, + {"service": "google.cloud.accessapproval.v1.AccessApproval", "method": "DeleteAccessApprovalSettings"} + ], + "timeout": "600s" + } + ] +} diff --git a/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_v1.yaml b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_v1.yaml new file mode 100644 index 00000000..9893bf20 --- /dev/null +++ b/google-cloud/protos/google/cloud/accessapproval/v1/accessapproval_v1.yaml @@ -0,0 +1,22 @@ +type: google.api.Service +config_version: 3 +name: accessapproval.googleapis.com +title: Access Approval API + +apis: +- name: google.cloud.accessapproval.v1.AccessApproval + +documentation: + summary: An API for controlling access to data by Google personnel. + +backend: + rules: + - selector: 'google.cloud.accessapproval.v1.AccessApproval.*' + deadline: 10.0 + +authentication: + rules: + - selector: 'google.cloud.accessapproval.v1.AccessApproval.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/aiplatform/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/BUILD.bazel new file mode 100644 index 00000000..b7191556 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-ai_platform. + +# 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 aiplatform. +# 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 = "aiplatform_ruby_wrapper", + srcs = ["//google/cloud/aiplatform/v1:aiplatform_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-ai_platform", + "ruby-cloud-wrapper-of=v1:0.0", + "ruby-cloud-product-url=https://cloud.google.com/vertex-ai/docs/", + "ruby-cloud-api-id=aiplatform.googleapis.com", + "ruby-cloud-api-shortname=aiplatform", + "ruby-cloud-gem-namespace=Google::Cloud::AIPlatform", + "ruby-cloud-service-override=AiPlatform=AIPlatform", + ], + ruby_cloud_description = "Vertex AI enables data scientists, developers, and AI newcomers to create custom machine learning models specific to their business needs by leveraging Google's state-of-the-art transfer learning and innovative AI research.", + ruby_cloud_title = "Vertex AI", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-aiplatform-ruby", + deps = [ + ":aiplatform_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/logging/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/logging/BUILD.bazel new file mode 100644 index 00000000..a4e031b0 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/logging/BUILD.bazel @@ -0,0 +1,177 @@ +# 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 = [ + "prediction.proto", + ], + deps = [ + "//google/rpc:status_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_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/logging", + protos = [":logging_proto"], + deps = [ + "//google/rpc:status_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/rpc:status_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_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_grpc_library( + name = "logging_php_grpc", + srcs = [":logging_proto"], + deps = [":logging_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + + +############################################################################## +# 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/google-cloud/protos/google/cloud/aiplatform/logging/prediction.proto b/google-cloud/protos/google/cloud/aiplatform/logging/prediction.proto new file mode 100644 index 00000000..037b51c8 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/logging/prediction.proto @@ -0,0 +1,45 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.aiplatform.logging; + +import "google/rpc/status.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/logging;logging"; +option java_multiple_files = true; +option java_outer_classname = "PredictionProto"; +option java_package = "com.google.cloud.aiplatform.logging"; + +// The access log entry definition of online prediction. +message OnlinePredictionLogEntry { + // The resource name of the endpoint as referred to in the original request. + // For example, projects/12323/locations/us-central1/endpoints/123. + string endpoint = 1; + + // The ID of the deployed model used to serve this predict request. + string deployed_model_id = 2; + + // The number of instances in the prediction request. + int64 instance_count = 3; + + // The number of successfully predicted instances in the response. + // Populated when prediction succeeds. + int64 prediction_count = 4; + + // The error code and message. + // Populated when prediction fails. + google.rpc.Status error = 5; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/v1/BUILD.bazel new file mode 100644 index 00000000..2fb56baa --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/BUILD.bazel @@ -0,0 +1,549 @@ +# 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_SUBPACKAGE_DEPS = [ + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_proto", + "//google/cloud/aiplatform/v1/schema/predict/params:params_proto", + "//google/cloud/aiplatform/v1/schema/predict/prediction:prediction_proto", + "//google/cloud/aiplatform/v1/schema/trainingjob/definition:definition_proto", +] + +proto_library( + name = "aiplatform_proto", + srcs = [ + "accelerator_type.proto", + "annotation.proto", + "annotation_spec.proto", + "artifact.proto", + "batch_prediction_job.proto", + "completion_stats.proto", + "context.proto", + "custom_job.proto", + "data_item.proto", + "data_labeling_job.proto", + "dataset.proto", + "dataset_service.proto", + "deployed_index_ref.proto", + "deployed_model_ref.proto", + "encryption_spec.proto", + "endpoint.proto", + "endpoint_service.proto", + "entity_type.proto", + "env_var.proto", + "event.proto", + "execution.proto", + "explanation.proto", + "explanation_metadata.proto", + "feature.proto", + "feature_monitoring_stats.proto", + "feature_selector.proto", + "featurestore.proto", + "featurestore_monitoring.proto", + "featurestore_online_service.proto", + "featurestore_service.proto", + "hyperparameter_tuning_job.proto", + "index.proto", + "index_endpoint.proto", + "index_endpoint_service.proto", + "index_service.proto", + "io.proto", + "job_service.proto", + "job_state.proto", + "lineage_subgraph.proto", + "machine_resources.proto", + "manual_batch_tuning_parameters.proto", + "metadata_schema.proto", + "metadata_service.proto", + "metadata_store.proto", + "migratable_resource.proto", + "migration_service.proto", + "model.proto", + "model_deployment_monitoring_job.proto", + "model_evaluation.proto", + "model_evaluation_slice.proto", + "model_monitoring.proto", + "model_service.proto", + "operation.proto", + "pipeline_failure_policy.proto", + "pipeline_job.proto", + "pipeline_service.proto", + "pipeline_state.proto", + "prediction_service.proto", + "saved_query.proto", + "specialist_pool.proto", + "specialist_pool_service.proto", + "study.proto", + "tensorboard.proto", + "tensorboard_data.proto", + "tensorboard_experiment.proto", + "tensorboard_run.proto", + "tensorboard_service.proto", + "tensorboard_time_series.proto", + "training_pipeline.proto", + "types.proto", + "unmanaged_container_model.proto", + "user_action_reference.proto", + "value.proto", + "vizier_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:money_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", + "@com_google_protobuf//:wrappers_proto", + ] + _PROTO_SUBPACKAGE_DEPS, +) + +proto_library_with_info( + name = "aiplatform_proto_with_info", + deps = [ + ":aiplatform_proto", + "//google/cloud:common_resources_proto", + "//google/cloud/location:location_proto", + "//google/iam/v1:iam_policy_proto", + ] + _PROTO_SUBPACKAGE_DEPS, +) + +############################################################################## +# 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_SUBPACKAGE_DEPS = [ + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_java_proto", + "//google/cloud/aiplatform/v1/schema/predict/params:params_java_proto", + "//google/cloud/aiplatform/v1/schema/predict/prediction:prediction_java_proto", + "//google/cloud/aiplatform/v1/schema/trainingjob/definition:definition_java_proto", +] + +_JAVA_GRPC_SUBPACKAGE_DEPS = [ + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_java_grpc", + "//google/cloud/aiplatform/v1/schema/predict/params:params_java_grpc", + "//google/cloud/aiplatform/v1/schema/predict/prediction:prediction_java_grpc", + "//google/cloud/aiplatform/v1/schema/trainingjob/definition:definition_java_grpc", +] + +java_proto_library( + name = "aiplatform_java_proto", + deps = [":aiplatform_proto"], +) + +java_grpc_library( + name = "aiplatform_java_grpc", + srcs = [":aiplatform_proto"], + deps = [":aiplatform_java_proto"] + _JAVA_PROTO_SUBPACKAGE_DEPS, +) + +java_gapic_library( + name = "aiplatform_java_gapic", + srcs = [":aiplatform_proto_with_info"], + gapic_yaml = "aiplatform_gapic.yaml", + grpc_service_config = "aiplatform_grpc_service_config.json", + service_yaml = "aiplatform_v1.yaml", + test_deps = [ + ":aiplatform_java_grpc", + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ] + _JAVA_PROTO_SUBPACKAGE_DEPS, + deps = [ + ":aiplatform_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ] + _JAVA_PROTO_SUBPACKAGE_DEPS, +) + +java_gapic_test( + name = "aiplatform_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.aiplatform.v1.DatasetServiceClientTest", + "com.google.cloud.aiplatform.v1.EndpointServiceClientTest", + "com.google.cloud.aiplatform.v1.FeaturestoreOnlineServingServiceClientTest", + "com.google.cloud.aiplatform.v1.FeaturestoreServiceClientTest", + "com.google.cloud.aiplatform.v1.IndexEndpointServiceClientTest", + "com.google.cloud.aiplatform.v1.IndexServiceClientTest", + "com.google.cloud.aiplatform.v1.JobServiceClientTest", + "com.google.cloud.aiplatform.v1.MetadataServiceClientTest", + "com.google.cloud.aiplatform.v1.MigrationServiceClientTest", + "com.google.cloud.aiplatform.v1.ModelServiceClientTest", + "com.google.cloud.aiplatform.v1.PipelineServiceClientTest", + "com.google.cloud.aiplatform.v1.PredictionServiceClientTest", + "com.google.cloud.aiplatform.v1.SpecialistPoolServiceClientTest", + "com.google.cloud.aiplatform.v1.TensorboardServiceClientTest", + "com.google.cloud.aiplatform.v1.VizierServiceClientTest", + ], + runtime_deps = [":aiplatform_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-aiplatform-v1-java", + deps = [ + ":aiplatform_java_gapic", + ":aiplatform_java_grpc", + ":aiplatform_java_proto", + ":aiplatform_proto", + ] + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS + _JAVA_GRPC_SUBPACKAGE_DEPS, +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "aiplatform_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1", + protos = [":aiplatform_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:httpbody_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:money_go_proto", + ], +) + +go_gapic_library( + name = "aiplatform_go_gapic", + srcs = [":aiplatform_proto_with_info"], + grpc_service_config = "aiplatform_grpc_service_config.json", + importpath = "cloud.google.com/go/aiplatform/apiv1;aiplatform", + metadata = True, + service_yaml = "aiplatform_v1.yaml", + deps = [ + ":aiplatform_go_proto", + "//google/api:httpbody_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", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +go_test( + name = "aiplatform_go_gapic_test", + srcs = [":aiplatform_go_gapic_srcjar_test"], + embed = [":aiplatform_go_gapic"], + importpath = "cloud.google.com/go/aiplatform/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-aiplatform-v1-go", + deps = [ + ":aiplatform_go_gapic", + ":aiplatform_go_gapic_srcjar-metadata.srcjar", + ":aiplatform_go_gapic_srcjar-test.srcjar", + ":aiplatform_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +_PY_GAPIC_SUBPACKAGE_DEPS = [ + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_py_gapic", + "//google/cloud/aiplatform/v1/schema/predict/params:params_py_gapic", + "//google/cloud/aiplatform/v1/schema/predict/prediction:prediction_py_gapic", + "//google/cloud/aiplatform/v1/schema/trainingjob/definition:definition_py_gapic", +] + +py_gapic_library( + name = "aiplatform_py_gapic", + srcs = [":aiplatform_proto"], + grpc_service_config = "aiplatform_grpc_service_config.json", + service_yaml = "aiplatform_v1.yaml", + transport = "grpc", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "aiplatform_py_gapic_test", + srcs = [ + "aiplatform_py_gapic_pytest.py", + "aiplatform_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":aiplatform_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "aiplatform-v1-py", + deps = [ + ":aiplatform_py_gapic", + ] + _PROTO_SUBPACKAGE_DEPS + _PY_GAPIC_SUBPACKAGE_DEPS, +) + +############################################################################## +# 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 = "aiplatform_php_proto", + deps = [":aiplatform_proto"], +) + +php_grpc_library( + name = "aiplatform_php_grpc", + srcs = [":aiplatform_proto"], + deps = [":aiplatform_php_proto"], +) + +php_gapic_library( + name = "aiplatform_php_gapic", + srcs = [":aiplatform_proto_with_info"], + grpc_service_config = "aiplatform_grpc_service_config.json", + service_yaml = "aiplatform_v1.yaml", + deps = [ + ":aiplatform_php_grpc", + ":aiplatform_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-aiplatform-v1-php", + deps = [ + ":aiplatform_php_gapic", + ":aiplatform_php_grpc", + ":aiplatform_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "aiplatform_nodejs_gapic", + package_name = "@google-cloud/aiplatform", + src = ":aiplatform_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "aiplatform_grpc_service_config.json", + package = "google.cloud.aiplatform.v1", + service_yaml = "aiplatform_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "aiplatform-v1-nodejs", + deps = [ + ":aiplatform_nodejs_gapic", + ":aiplatform_proto", + ] + _PROTO_SUBPACKAGE_DEPS, +) + +############################################################################## +# 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 = "aiplatform_ruby_proto", + deps = [":aiplatform_proto"], +) + +ruby_grpc_library( + name = "aiplatform_ruby_grpc", + srcs = [":aiplatform_proto"], + deps = [":aiplatform_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "aiplatform_ruby_gapic", + srcs = [":aiplatform_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=aiplatform.googleapis.com", + "ruby-cloud-api-shortname=aiplatform", + "ruby-cloud-gem-name=google-cloud-ai_platform-v1", + "ruby-cloud-gem-namespace=Google::Cloud::AIPlatform::V1", + "ruby-cloud-product-url=https://cloud.google.com/vertex-ai/docs/", + "ruby-cloud-service-override=AiPlatform=AIPlatform", + ], + grpc_service_config = "aiplatform_grpc_service_config.json", + ruby_cloud_description = "Vertex AI enables data scientists, developers, and AI newcomers to create custom machine learning models specific to their business needs by leveraging Google's state-of-the-art transfer learning and innovative AI research.", + ruby_cloud_title = "Vertex AI V1", + service_yaml = "aiplatform_v1.yaml", + deps = [ + ":aiplatform_ruby_grpc", + ":aiplatform_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-aiplatform-v1-ruby", + deps = [ + ":aiplatform_ruby_gapic", + ":aiplatform_ruby_grpc", + ":aiplatform_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 = "aiplatform_csharp_proto", + deps = [":aiplatform_proto"], +) + +csharp_grpc_library( + name = "aiplatform_csharp_grpc", + srcs = [":aiplatform_proto"], + deps = [":aiplatform_csharp_proto"], +) + +# Generate a package for googleapis-gen even without the GAPIC client. +# This will allow OwlBot to trigger changes to be pushed to google-cloud-dotnet, +# which will perform full generation after fixing up the protos first. + +csharp_gapic_assembly_pkg( + name = "google-cloud-aiplatform-v1-csharp", + package_name = "Google.Cloud.AIPlatform.V1", + generate_nongapic_package = True, + deps = [ + ":aiplatform_csharp_grpc", + ":aiplatform_csharp_proto", + ], +) + +# csharp_gapic_library( +# name = "aiplatform_csharp_gapic", +# srcs = [":aiplatform_proto_with_info"], +# common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +# grpc_service_config = "aiplatform_grpc_service_config.json", +# service_yaml = "aiplatform_v1.yaml", +# deps = [ +# ":aiplatform_csharp_grpc", +# ":aiplatform_csharp_proto", +# ], +# ) + +################################ +# Keep C# target commented out through the regeneration, as C# gen has an issue +# with the aiplatform v1 protos +# +# csharp_gapic_library( +# name = "aiplatform_csharp_gapic", +# srcs = [":aiplatform_proto_with_info"], +# common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +# grpc_service_config = "aiplatform_grpc_service_config.json", +# deps = [ +# ":aiplatform_csharp_grpc", +# ":aiplatform_csharp_proto", +# ], +# ) + +# Open Source Packages +# csharp_gapic_assembly_pkg( +# name = "google-cloud-aiplatform-v1-csharp", +# deps = [ +# ":aiplatform_csharp_gapic", +# ":aiplatform_csharp_grpc", +# ":aiplatform_csharp_proto", +# ], +# ) +################################ + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "aiplatform_cc_proto", + deps = [":aiplatform_proto"], +) + +cc_grpc_library( + name = "aiplatform_cc_grpc", + srcs = [":aiplatform_proto"], + grpc_only = True, + deps = [":aiplatform_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/accelerator_type.proto b/google-cloud/protos/google/cloud/aiplatform/v1/accelerator_type.proto new file mode 100644 index 00000000..726ec203 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/accelerator_type.proto @@ -0,0 +1,55 @@ +// 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.aiplatform.v1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "AcceleratorTypeProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents a hardware accelerator type. +enum AcceleratorType { + // Unspecified accelerator type, which means no accelerator. + ACCELERATOR_TYPE_UNSPECIFIED = 0; + + // Nvidia Tesla K80 GPU. + NVIDIA_TESLA_K80 = 1; + + // Nvidia Tesla P100 GPU. + NVIDIA_TESLA_P100 = 2; + + // Nvidia Tesla V100 GPU. + NVIDIA_TESLA_V100 = 3; + + // Nvidia Tesla P4 GPU. + NVIDIA_TESLA_P4 = 4; + + // Nvidia Tesla T4 GPU. + NVIDIA_TESLA_T4 = 5; + + // Nvidia Tesla A100 GPU. + NVIDIA_TESLA_A100 = 8; + + // TPU v2. + TPU_V2 = 6; + + // TPU v3. + TPU_V3 = 7; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_gapic.yaml b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_gapic.yaml new file mode 100644 index 00000000..691492a6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_gapic.yaml @@ -0,0 +1,18 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.cloud.aiplatform.v1 + python: + package_name: google.cloud.aiplatform_v1.gapic + go: + package_name: cloud.google.com/go/aiplatform/apiv1 + csharp: + package_name: Google.Aiplatform.V1 + ruby: + package_name: Google::Cloud::Aiplatform::V1 + php: + package_name: Google\Cloud\Aiplatform\V1 + nodejs: + package_name: aiplatform.v1 + domain_layer_location: google-cloud diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_grpc_service_config.json b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_grpc_service_config.json new file mode 100644 index 00000000..c30cbeb1 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_grpc_service_config.json @@ -0,0 +1,377 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "CreateDataset" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "GetDataset" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "UpdateDataset" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "ListDatasets" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "DeleteDataset" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "ImportData" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "ExportData" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "ListDataItems" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "GetAnnotationSpec" + }, + { + "service": "google.cloud.aiplatform.v1beta1.DatasetService", + "method": "ListAnnotations" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "CreateEndpoint" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "GetEndpoint" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "ListEndpoints" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "UpdateEndpoint" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "DeleteEndpoint" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "DeployModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.EndpointService", + "method": "UndeployModel" + } + ], + "timeout": "5s" + }, + { + "name": [ + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "CreateFeaturestore" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "GetFeaturestore" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "ListFeaturestores" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "UpdateFeaturestore" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "DeleteFeaturestore" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "CreateEntityType" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "GetEntityType" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "ListEntityTypes" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "UpdateEntityType" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "DeleteEntityType" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "CreateFeature" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "BatchCreateFeatures" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "GetFeature" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "ListFeatures" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "SearchFeatures" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "UpdateFeature" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "DeleteFeature" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "ImportFeatureValues" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "BatchReadFeatureValues" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreService", + "method": "ExportFeatureValuess" + } + ], + "timeout": "5s" + }, + { + "name": [ + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService", + "method": "ReadFeatureValues" + }, + { + "service": "google.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService", + "method": "StreamingReadFeatureValues" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CreateCustomJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "GetCustomJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "ListCustomJobs" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "DeleteCustomJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CancelCustomJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CreateDataLabelingJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "GetDataLabelingJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "ListDataLabelingJobs" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "DeleteDataLabelingJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CancelDataLabelingJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CreateHyperparameterTuningJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "GetHyperparameterTuningJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "ListHyperparameterTuningJobs" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "DeleteHyperparameterTuningJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CancelHyperparameterTuningJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CreateBatchPredictionJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "GetBatchPredictionJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "ListBatchPredictionJobs" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "DeleteBatchPredictionJob" + }, + { + "service": "google.cloud.aiplatform.v1beta1.JobService", + "method": "CancelBatchPredictionJob" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "UploadModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "GetModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "ListModels" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "UpdateModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "DeleteModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "ExportModel" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "GetModelEvaluation" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "ListModelEvaluations" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "GetModelEvaluationSlice" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "ListModelEvaluationSlices" + }, + { + "service": "google.cloud.aiplatform.v1beta1.ModelService", + "method": "ExportEvaluatedDataItems" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.PipelineService", + "method": "CreateTrainingPipeline" + }, + { + "service": "google.cloud.aiplatform.v1beta1.PipelineService", + "method": "GetTrainingPipeline" + }, + { + "service": "google.cloud.aiplatform.v1beta1.PipelineService", + "method": "ListTrainingPipelines" + }, + { + "service": "google.cloud.aiplatform.v1beta1.PipelineService", + "method": "DeleteTrainingPipeline" + }, + { + "service": "google.cloud.aiplatform.v1beta1.PipelineService", + "method": "CancelTrainingPipeline" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.PredictionService", + "method": "Predict" + }, + { + "service": "google.cloud.aiplatform.v1beta1.PredictionService", + "method": "Explain" + } + ], + "timeout": "5s" + }, + { + "name":[ + { + "service": "google.cloud.aiplatform.v1beta1.SpecialistPoolService", + "method": "CreateSpecialistPool" + }, + { + "service": "google.cloud.aiplatform.v1beta1.SpecialistPoolService", + "method": "GetSpecialistPool" + }, + { + "service": "google.cloud.aiplatform.v1beta1.SpecialistPoolService", + "method": "ListSpecialistPools" + }, + { + "service": "google.cloud.aiplatform.v1beta1.SpecialistPoolService", + "method": "DeleteSpecialistPool" + }, + { + "service": "google.cloud.aiplatform.v1beta1.SpecialistPoolService", + "method": "UpdateSpecialistPool" + } + ], + "timeout": "5s" + } + ] +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_v1.yaml b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_v1.yaml new file mode 100644 index 00000000..2ece033b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/aiplatform_v1.yaml @@ -0,0 +1,641 @@ +type: google.api.Service +config_version: 3 +name: aiplatform.googleapis.com +title: Vertex AI API + +apis: +- name: google.cloud.aiplatform.v1.DatasetService +- name: google.cloud.aiplatform.v1.EndpointService +- name: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService +- name: google.cloud.aiplatform.v1.FeaturestoreService +- name: google.cloud.aiplatform.v1.IndexEndpointService +- name: google.cloud.aiplatform.v1.IndexService +- name: google.cloud.aiplatform.v1.JobService +- name: google.cloud.aiplatform.v1.MetadataService +- name: google.cloud.aiplatform.v1.MigrationService +- name: google.cloud.aiplatform.v1.ModelService +- name: google.cloud.aiplatform.v1.PipelineService +- name: google.cloud.aiplatform.v1.PredictionService +- name: google.cloud.aiplatform.v1.SpecialistPoolService +- name: google.cloud.aiplatform.v1.TensorboardService +- name: google.cloud.aiplatform.v1.VizierService +- name: google.cloud.location.Locations +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.aiplatform.v1.BatchCreateFeaturesOperationMetadata +- name: google.cloud.aiplatform.v1.BatchCreateFeaturesResponse +- name: google.cloud.aiplatform.v1.BatchMigrateResourcesOperationMetadata +- name: google.cloud.aiplatform.v1.BatchMigrateResourcesResponse +- name: google.cloud.aiplatform.v1.BatchReadFeatureValuesOperationMetadata +- name: google.cloud.aiplatform.v1.BatchReadFeatureValuesResponse +- name: google.cloud.aiplatform.v1.CheckTrialEarlyStoppingStateMetatdata +- name: google.cloud.aiplatform.v1.CheckTrialEarlyStoppingStateResponse +- name: google.cloud.aiplatform.v1.CreateDatasetOperationMetadata +- name: google.cloud.aiplatform.v1.CreateEndpointOperationMetadata +- name: google.cloud.aiplatform.v1.CreateEntityTypeOperationMetadata +- name: google.cloud.aiplatform.v1.CreateFeatureOperationMetadata +- name: google.cloud.aiplatform.v1.CreateFeaturestoreOperationMetadata +- name: google.cloud.aiplatform.v1.CreateIndexEndpointOperationMetadata +- name: google.cloud.aiplatform.v1.CreateIndexOperationMetadata +- name: google.cloud.aiplatform.v1.CreateMetadataStoreOperationMetadata +- name: google.cloud.aiplatform.v1.CreateSpecialistPoolOperationMetadata +- name: google.cloud.aiplatform.v1.CreateTensorboardOperationMetadata +- name: google.cloud.aiplatform.v1.DeleteMetadataStoreOperationMetadata +- name: google.cloud.aiplatform.v1.DeleteOperationMetadata +- name: google.cloud.aiplatform.v1.DeployIndexOperationMetadata +- name: google.cloud.aiplatform.v1.DeployIndexResponse +- name: google.cloud.aiplatform.v1.DeployModelOperationMetadata +- name: google.cloud.aiplatform.v1.DeployModelResponse +- name: google.cloud.aiplatform.v1.ExportDataOperationMetadata +- name: google.cloud.aiplatform.v1.ExportDataResponse +- name: google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata +- name: google.cloud.aiplatform.v1.ExportFeatureValuesResponse +- name: google.cloud.aiplatform.v1.ExportModelOperationMetadata +- name: google.cloud.aiplatform.v1.ExportModelResponse +- name: google.cloud.aiplatform.v1.ImportDataOperationMetadata +- name: google.cloud.aiplatform.v1.ImportDataResponse +- name: google.cloud.aiplatform.v1.ImportFeatureValuesOperationMetadata +- name: google.cloud.aiplatform.v1.ImportFeatureValuesResponse +- name: google.cloud.aiplatform.v1.MutateDeployedIndexOperationMetadata +- name: google.cloud.aiplatform.v1.MutateDeployedIndexResponse +- name: google.cloud.aiplatform.v1.PurgeArtifactsMetadata +- name: google.cloud.aiplatform.v1.PurgeArtifactsResponse +- name: google.cloud.aiplatform.v1.PurgeContextsMetadata +- name: google.cloud.aiplatform.v1.PurgeContextsResponse +- name: google.cloud.aiplatform.v1.PurgeExecutionsMetadata +- name: google.cloud.aiplatform.v1.PurgeExecutionsResponse +- name: google.cloud.aiplatform.v1.SpecialistPool +- name: google.cloud.aiplatform.v1.SuggestTrialsMetadata +- name: google.cloud.aiplatform.v1.SuggestTrialsResponse +- name: google.cloud.aiplatform.v1.UndeployIndexOperationMetadata +- name: google.cloud.aiplatform.v1.UndeployIndexResponse +- name: google.cloud.aiplatform.v1.UndeployModelOperationMetadata +- name: google.cloud.aiplatform.v1.UndeployModelResponse +- name: google.cloud.aiplatform.v1.UpdateFeaturestoreOperationMetadata +- name: google.cloud.aiplatform.v1.UpdateIndexOperationMetadata +- name: google.cloud.aiplatform.v1.UpdateModelDeploymentMonitoringJobOperationMetadata +- name: google.cloud.aiplatform.v1.UpdateSpecialistPoolOperationMetadata +- name: google.cloud.aiplatform.v1.UpdateTensorboardOperationMetadata +- name: google.cloud.aiplatform.v1.UploadModelOperationMetadata +- name: google.cloud.aiplatform.v1.UploadModelResponse +- name: google.cloud.aiplatform.v1.schema.ImageBoundingBoxAnnotation +- name: google.cloud.aiplatform.v1.schema.ImageClassificationAnnotation +- name: google.cloud.aiplatform.v1.schema.ImageDataItem +- name: google.cloud.aiplatform.v1.schema.ImageSegmentationAnnotation +- name: google.cloud.aiplatform.v1.schema.TextClassificationAnnotation +- name: google.cloud.aiplatform.v1.schema.TextDataItem +- name: google.cloud.aiplatform.v1.schema.TextExtractionAnnotation +- name: google.cloud.aiplatform.v1.schema.TextSentimentAnnotation +- name: google.cloud.aiplatform.v1.schema.VideoActionRecognitionAnnotation +- name: google.cloud.aiplatform.v1.schema.VideoClassificationAnnotation +- name: google.cloud.aiplatform.v1.schema.VideoDataItem +- name: google.cloud.aiplatform.v1.schema.VideoObjectTrackingAnnotation + +documentation: + summary: |- + Train high-quality custom machine learning models with minimal machine + learning expertise and effort. + 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.aiplatform.v1.DatasetService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.EndpointService.*' + deadline: 60.0 + - selector: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.ReadFeatureValues + deadline: 60.0 + - selector: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.StreamingReadFeatureValues + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.FeaturestoreService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.IndexEndpointService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.IndexService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.JobService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.MetadataService.*' + deadline: 60.0 + - selector: google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources + deadline: 60.0 + - selector: google.cloud.aiplatform.v1.MigrationService.SearchMigratableResources + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.ModelService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.PipelineService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.PredictionService.*' + deadline: 600.0 + - selector: 'google.cloud.aiplatform.v1.SpecialistPoolService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.TensorboardService.*' + deadline: 60.0 + - selector: 'google.cloud.aiplatform.v1.VizierService.*' + deadline: 60.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 30.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 30.0 + - selector: 'google.iam.v1.IAMPolicy.*' + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/ui/{name=projects/*/locations/*}' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/ui/{name=projects/*}/locations' + additional_bindings: + - get: '/v1/{name=projects/*}/locations' + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + post: '/ui/{resource=projects/*/locations/*/featurestores/*}:getIamPolicy' + additional_bindings: + - post: '/ui/{resource=projects/*/locations/*/featurestores/*/entityTypes/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/ui/{resource=projects/*/locations/*/featurestores/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/ui/{resource=projects/*/locations/*/featurestores/*/entityTypes/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/ui/{resource=projects/*/locations/*/featurestores/*}:testIamPermissions' + additional_bindings: + - post: '/ui/{resource=projects/*/locations/*/featurestores/*/entityTypes/*}:testIamPermissions' + - selector: google.longrunning.Operations.CancelOperation + post: '/ui/{name=projects/*/locations/*/operations/*}:cancel' + additional_bindings: + - post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/studies/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/models/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/ui/{name=projects/*/locations/*/operations/*}' + additional_bindings: + - delete: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/models/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/studies/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/models/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/studies/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/ui/{name=projects/*/locations/*/operations/*}' + additional_bindings: + - get: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/edgeDeploymentJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/models/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/studies/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/models/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/studies/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/ui/{name=projects/*/locations/*}/operations' + additional_bindings: + - get: '/ui/{name=projects/*/locations/*/datasets/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations' + - get: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*}/operations' + - get: '/ui/{name=projects/*/locations/*/edgeDevices/*}/operations' + - get: '/ui/{name=projects/*/locations/*/endpoints/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations' + - get: '/ui/{name=projects/*/locations/*/customJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/indexes/*}/operations' + - get: '/ui/{name=projects/*/locations/*/indexEndpoints/*}/operations' + - get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/migratableResources/*}/operations' + - get: '/ui/{name=projects/*/locations/*/models/*}/operations' + - get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*}/operations' + - get: '/ui/{name=projects/*/locations/*/studies/*}/operations' + - get: '/ui/{name=projects/*/locations/*/studies/*/trials/*}/operations' + - get: '/ui/{name=projects/*/locations/*/trainingPipelines/*}/operations' + - get: '/ui/{name=projects/*/locations/*/pipelineJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/specialistPools/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations' + - get: '/v1/{name=projects/*/locations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/deploymentResourcePools/*}/operations' + - get: '/v1/{name=projects/*/locations/*/endpoints/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations' + - get: '/v1/{name=projects/*/locations/*/customJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/indexes/*}/operations' + - get: '/v1/{name=projects/*/locations/*/indexEndpoints/*}/operations' + - get: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/migratableResources/*}/operations' + - get: '/v1/{name=projects/*/locations/*/models/*}/operations' + - get: '/v1/{name=projects/*/locations/*/models/*/evaluations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/studies/*}/operations' + - get: '/v1/{name=projects/*/locations/*/studies/*/trials/*}/operations' + - get: '/v1/{name=projects/*/locations/*/trainingPipelines/*}/operations' + - get: '/v1/{name=projects/*/locations/*/pipelineJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/specialistPools/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations' + - selector: google.longrunning.Operations.WaitOperation + post: '/ui/{name=projects/*/locations/*/operations/*}:wait' + additional_bindings: + - post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/studies/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/models/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait' + +authentication: + rules: + - selector: 'google.cloud.aiplatform.v1.DatasetService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.EndpointService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.ReadFeatureValues + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.StreamingReadFeatureValues + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.FeaturestoreService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.IndexEndpointService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.IndexService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.JobService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.MetadataService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.aiplatform.v1.MigrationService.SearchMigratableResources + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.ModelService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.PipelineService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.PredictionService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.SpecialistPoolService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.aiplatform.v1.TensorboardService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.aiplatform.v1.TensorboardService.GetTensorboard + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardExperiment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardRun + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardTimeSeries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ListTensorboards + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.cloud.aiplatform.v1.VizierService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.iam.v1.IAMPolicy.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/annotation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/annotation.proto new file mode 100644 index 00000000..3a104809 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/annotation.proto @@ -0,0 +1,90 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/user_action_reference.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "AnnotationProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Used to assign specific AnnotationSpec to a particular area of a DataItem or +// the whole part of the DataItem. +message Annotation { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Annotation" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}/annotations/{annotation}" + }; + + // Output only. Resource name of the Annotation. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Google Cloud Storage URI points to a YAML file describing [payload][google.cloud.aiplatform.v1.Annotation.payload]. The + // schema is defined as an [OpenAPI 3.0.2 Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // The schema files that can be used here are found in + // gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the + // chosen schema must be consistent with the parent Dataset's + // [metadata][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri]. + string payload_schema_uri = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The schema of the payload can be found in + // [payload_schema][google.cloud.aiplatform.v1.Annotation.payload_schema_uri]. + google.protobuf.Value payload = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this Annotation was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Annotation was last updated. + google.protobuf.Timestamp update_time = 7 [(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 = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The source of the Annotation. + UserActionReference annotation_source = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels with user-defined metadata to organize your Annotations. + // + // 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. + // No more than 64 user labels can be associated with one Annotation(System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Annotation: + // + // * "aiplatform.googleapis.com/annotation_set_name": + // optional, name of the UI's annotation set this Annotation belongs to. + // If not set, the Annotation is not visible in the UI. + // + // * "aiplatform.googleapis.com/payload_schema": + // output only, its value is the [payload_schema's][google.cloud.aiplatform.v1.Annotation.payload_schema_uri] + // title. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/annotation_spec.proto b/google-cloud/protos/google/cloud/aiplatform/v1/annotation_spec.proto new file mode 100644 index 00000000..3082e3ee --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/annotation_spec.proto @@ -0,0 +1,55 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "AnnotationSpecProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Identifies a concept with which DataItems may be annotated with. +message AnnotationSpec { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/AnnotationSpec" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}" + }; + + // Output only. Resource name of the AnnotationSpec. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of the AnnotationSpec. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this AnnotationSpec was created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when AnnotationSpec 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]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/artifact.proto b/google-cloud/protos/google/cloud/aiplatform/v1/artifact.proto new file mode 100644 index 00000000..d7ef997a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/artifact.proto @@ -0,0 +1,109 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ArtifactProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Instance of a general artifact. +message Artifact { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Artifact" + pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}" + }; + + // Describes the state of the Artifact. + enum State { + // Unspecified state for the Artifact. + STATE_UNSPECIFIED = 0; + + // A state used by systems like Vertex AI Pipelines to indicate that the + // underlying data item represented by this Artifact is being created. + PENDING = 1; + + // A state indicating that the Artifact should exist, unless something + // external to the system deletes it. + LIVE = 2; + } + + // Output only. The resource name of the Artifact. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User provided display name of the Artifact. + // May be up to 128 Unicode characters. + string display_name = 2; + + // The uniform resource identifier of the artifact file. + // May be empty if there is no actual artifact file. + string uri = 6; + + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + string etag = 9; + + // The labels with user-defined metadata to organize your Artifacts. + // + // 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. + // No more than 64 user labels can be associated with one Artifact (System + // labels are excluded). + map labels = 10; + + // Output only. Timestamp when this Artifact was created. + google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Artifact was last updated. + google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The state of this Artifact. This is a property of the Artifact, and does + // not imply or capture any ongoing process. This property is managed by + // clients (such as Vertex AI Pipelines), and the system does not prescribe + // or check the validity of state transitions. + State state = 13; + + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_title = 14; + + // The version of the schema in schema_name to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_version = 15; + + // Properties of the Artifact. + // The size of this field should not exceed 200KB. + google.protobuf.Struct metadata = 16; + + // Description of the Artifact + string description = 17; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/batch_prediction_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/batch_prediction_job.proto new file mode 100644 index 00000000..21568cee --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/batch_prediction_job.proto @@ -0,0 +1,292 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/completion_stats.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/explanation.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/job_state.proto"; +import "google/cloud/aiplatform/v1/machine_resources.proto"; +import "google/cloud/aiplatform/v1/manual_batch_tuning_parameters.proto"; +import "google/cloud/aiplatform/v1/unmanaged_container_model.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "BatchPredictionJobProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A job that uses a [Model][google.cloud.aiplatform.v1.BatchPredictionJob.model] to produce predictions +// on multiple [input instances][google.cloud.aiplatform.v1.BatchPredictionJob.input_config]. If +// predictions for significant portion of the instances fail, the job may finish +// without attempting predictions for all remaining instances. +message BatchPredictionJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/BatchPredictionJob" + pattern: "projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}" + }; + + // Configures the input to [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. + // See [Model.supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats] for Model's supported input + // formats, and how instances should be expressed via any of them. + message InputConfig { + // Required. The source of the input. + oneof source { + // The Cloud Storage location for the input instances. + GcsSource gcs_source = 2; + + // The BigQuery location of the input table. + // The schema of the table should be in the format described by the given + // context OpenAPI Schema, if one is provided. The table may contain + // additional columns that are not described by the schema, and they will + // be ignored. + BigQuerySource bigquery_source = 3; + } + + // Required. The format in which instances are given, must be one of the + // [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model] + // [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats]. + string instances_format = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Configures the output of [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. + // See [Model.supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats] for supported output + // formats, and how predictions are expressed via any of them. + message OutputConfig { + // Required. The destination of the output. + oneof destination { + // The Cloud Storage location of the directory where the output is + // to be written to. In the given directory a new directory is created. + // Its name is `prediction--`, + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // Inside of it files `predictions_0001.`, + // `predictions_0002.`, ..., `predictions_N.` + // are created where `` depends on chosen + // [predictions_format][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.predictions_format], and N may equal 0001 and depends on the total + // number of successfully predicted instances. + // If the Model has both [instance][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] + // and [prediction][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri] schemata + // defined then each such file contains predictions as per the + // [predictions_format][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.predictions_format]. + // If prediction for any instance failed (partially or completely), then + // an additional `errors_0001.`, `errors_0002.`,..., + // `errors_N.` files are created (N depends on total number + // of failed predictions). These files contain the failed instances, + // as per their schema, followed by an additional `error` field which as + // value has [google.rpc.Status][google.rpc.Status] + // containing only `code` and `message` fields. + GcsDestination gcs_destination = 2; + + // The BigQuery project or dataset location where the output is to be + // written to. If project is provided, a new dataset is created with name + // `prediction__` + // where is made + // BigQuery-dataset-name compatible (for example, most special characters + // become underscores), and timestamp is in + // YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In the dataset + // two tables will be created, `predictions`, and `errors`. + // If the Model has both [instance][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] + // and [prediction][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri] schemata + // defined then the tables have columns as follows: The `predictions` + // table contains instances for which the prediction succeeded, it + // has columns as per a concatenation of the Model's instance and + // prediction schemata. The `errors` table contains rows for which the + // prediction has failed, it has instance columns, as per the + // instance schema, followed by a single "errors" column, which as values + // has [google.rpc.Status][google.rpc.Status] + // represented as a STRUCT, and containing only `code` and `message`. + BigQueryDestination bigquery_destination = 3; + } + + // Required. The format in which Vertex AI gives the predictions, must be one of the + // [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model] + // [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats]. + string predictions_format = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Further describes this job's output. + // Supplements [output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]. + message OutputInfo { + // The output location into which prediction output is written. + oneof output_location { + // Output only. The full path of the Cloud Storage directory created, into which + // the prediction output is written. + string gcs_output_directory = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The path of the BigQuery dataset created, in + // `bq://projectId.bqDatasetId` + // format, into which the prediction output is written. + string bigquery_output_dataset = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The name of the BigQuery table created, in + // `predictions_` + // format, into which the prediction output is written. + // Can be used by UI to generate the BigQuery output path, for example. + string bigquery_output_table = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Resource name of the BatchPredictionJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of this BatchPredictionJob. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The name of the Model resource that produces the predictions via this job, + // must share the same ancestor Location. + // Starting this job has no impact on any existing deployments of the Model + // and their resources. + // Exactly one of model and unmanaged_container_model must be set. + // + // The model resource name may contain version id or version alias to specify + // the version, if no version is specified, the default version will be used. + string model = 3 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + }]; + + // Output only. The version ID of the Model that produces the predictions via this job. + string model_version_id = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Contains model information necessary to perform batch prediction without + // requiring uploading to model registry. + // Exactly one of model and unmanaged_container_model must be set. + UnmanagedContainerModel unmanaged_container_model = 28; + + // Required. Input configuration of the instances on which predictions are performed. + // The schema of any single instance may be specified via + // the [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. + InputConfig input_config = 4 [(google.api.field_behavior) = REQUIRED]; + + // The parameters that govern the predictions. The schema of the parameters + // may be specified via the [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. + google.protobuf.Value model_parameters = 5; + + // Required. The Configuration specifying where output predictions should + // be written. + // The schema of any single prediction may be specified as a concatenation + // of [Model's][google.cloud.aiplatform.v1.BatchPredictionJob.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] + // and + // [prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]. + OutputConfig output_config = 6 [(google.api.field_behavior) = REQUIRED]; + + // The config of resources used by the Model during the batch prediction. If + // the Model [supports][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types] + // DEDICATED_RESOURCES this config may be provided (and the job will use these + // resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config + // must be provided. + BatchDedicatedResources dedicated_resources = 7; + + // Immutable. Parameters configuring the batch behavior. Currently only applicable when + // [dedicated_resources][google.cloud.aiplatform.v1.BatchPredictionJob.dedicated_resources] are used (in other cases Vertex AI does + // the tuning itself). + ManualBatchTuningParameters manual_batch_tuning_parameters = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Generate explanation with the batch prediction results. + // + // When set to `true`, the batch prediction output changes based on the + // `predictions_format` field of the + // [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config] object: + // + // * `bigquery`: output includes a column named `explanation`. The value + // is a struct that conforms to the [Explanation][google.cloud.aiplatform.v1.Explanation] object. + // * `jsonl`: The JSON objects on each line include an additional entry + // keyed `explanation`. The value of the entry is a JSON object that + // conforms to the [Explanation][google.cloud.aiplatform.v1.Explanation] object. + // * `csv`: Generating explanations for CSV format is not supported. + // + // If this field is set to true, either the [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] or + // [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] must be populated. + bool generate_explanation = 23; + + // Explanation configuration for this BatchPredictionJob. Can be + // specified only if [generate_explanation][google.cloud.aiplatform.v1.BatchPredictionJob.generate_explanation] is set to `true`. + // + // This value overrides the value of [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]. All fields of + // [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] are optional in the request. If a field of the + // [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] object is not populated, the corresponding field of + // the [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] object is inherited. + ExplanationSpec explanation_spec = 25; + + // Output only. Information further describing the output of this job. + OutputInfo output_info = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed state of the job. + JobState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when the job's state is JOB_STATE_FAILED or + // JOB_STATE_CANCELLED. + google.rpc.Status error = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Partial failures encountered. + // For example, single files that can't be read. + // This field never exceeds 20 entries. + // Status details fields contain standard GCP error details. + repeated google.rpc.Status partial_failures = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Information about resources that had been consumed by this job. + // Provided in real time at best effort basis, as well as a final value + // once the job completes. + // + // Note: This field currently may be not populated for batch predictions that + // use AutoML Models. + ResourcesConsumed resources_consumed = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Statistics on completed and failed prediction instances. + CompletionStats completion_stats = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the BatchPredictionJob was created. + google.protobuf.Timestamp create_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the BatchPredictionJob for the first time entered the + // `JOB_STATE_RUNNING` state. + google.protobuf.Timestamp start_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the BatchPredictionJob entered any of the following states: + // `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + google.protobuf.Timestamp end_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the BatchPredictionJob was most recently updated. + google.protobuf.Timestamp update_time = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize BatchPredictionJobs. + // + // 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 = 19; + + // Customer-managed encryption key options for a BatchPredictionJob. If this + // is set, then all resources created by the BatchPredictionJob will be + // encrypted with the provided encryption key. + EncryptionSpec encryption_spec = 24; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/completion_stats.proto b/google-cloud/protos/google/cloud/aiplatform/v1/completion_stats.proto new file mode 100644 index 00000000..a1d7b323 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/completion_stats.proto @@ -0,0 +1,48 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "CompletionStatsProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Success and error statistics of processing multiple entities +// (for example, DataItems or structured data rows) in batch. +message CompletionStats { + // Output only. The number of entities that had been processed successfully. + int64 successful_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of entities for which any error was encountered. + int64 failed_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. In cases when enough errors are encountered a job, pipeline, or operation + // may be failed as a whole. Below is the number of entities for which the + // processing had not been finished (either in successful or failed state). + // Set to -1 if the number is unknown (for example, the operation failed + // before the total entity number could be collected). + int64 incomplete_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of the successful forecast points that are generated by the + // forecasting model. This is ONLY used by the forecasting batch prediction. + int64 successful_forecast_point_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/context.proto b/google-cloud/protos/google/cloud/aiplatform/v1/context.proto new file mode 100644 index 00000000..b602a550 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/context.proto @@ -0,0 +1,94 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ContextProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Instance of a general context. +message Context { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Context" + pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/contexts/{context}" + }; + + // Output only. The resource name of the Context. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User provided display name of the Context. + // May be up to 128 Unicode characters. + string display_name = 2; + + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + string etag = 8; + + // The labels with user-defined metadata to organize your Contexts. + // + // 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. + // No more than 64 user labels can be associated with one Context (System + // labels are excluded). + map labels = 9; + + // Output only. Timestamp when this Context was created. + google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Context was last updated. + google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of resource names of Contexts that are parents of this Context. + // A Context may have at most 10 parent_contexts. + repeated string parent_contexts = 12 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; + + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_title = 13; + + // The version of the schema in schema_name to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_version = 14; + + // Properties of the Context. + // The size of this field should not exceed 200KB. + google.protobuf.Struct metadata = 15; + + // Description of the Context + string description = 16; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/custom_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/custom_job.proto new file mode 100644 index 00000000..af3de68b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/custom_job.proto @@ -0,0 +1,279 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/env_var.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/job_state.proto"; +import "google/cloud/aiplatform/v1/machine_resources.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "CustomJobProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents a job that runs custom workloads such as a Docker container or a +// Python package. A CustomJob can have multiple worker pools and each worker +// pool can have its own machine and input spec. A CustomJob will be cleaned up +// once the job enters terminal state (failed or succeeded). +message CustomJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/CustomJob" + pattern: "projects/{project}/locations/{location}/customJobs/{custom_job}" + }; + + // Output only. Resource name of a CustomJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the CustomJob. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Job spec. + CustomJobSpec job_spec = 4 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The detailed state of the job. + JobState state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the CustomJob was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the CustomJob for the first time entered the + // `JOB_STATE_RUNNING` state. + google.protobuf.Timestamp start_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the CustomJob entered any of the following states: + // `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + google.protobuf.Timestamp end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the CustomJob was most recently updated. + google.protobuf.Timestamp update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when job's state is `JOB_STATE_FAILED` or + // `JOB_STATE_CANCELLED`. + google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize CustomJobs. + // + // 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 = 11; + + // Customer-managed encryption key options for a CustomJob. If this is set, + // then all resources created by the CustomJob will be encrypted with the + // provided encryption key. + EncryptionSpec encryption_spec = 12; + + // Output only. URIs for accessing [interactive + // shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // (one URI for each training node). Only available if + // [job_spec.enable_web_access][google.cloud.aiplatform.v1.CustomJobSpec.enable_web_access] is `true`. + // + // The keys are names of each node in the training job; for example, + // `workerpool0-0` for the primary node, `workerpool1-0` for the first node in + // the second worker pool, and `workerpool1-1` for the second node in the + // second worker pool. + // + // The values are the URIs for each node's interactive shell. + map web_access_uris = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents the spec of a CustomJob. +message CustomJobSpec { + // Required. The spec of the worker pools including machine type and Docker image. + // All worker pools except the first one are optional and can be skipped by + // providing an empty value. + repeated WorkerPoolSpec worker_pool_specs = 1 [(google.api.field_behavior) = REQUIRED]; + + // Scheduling options for a CustomJob. + Scheduling scheduling = 3; + + // Specifies the service account for workload run-as account. + // Users submitting jobs must have act-as permission on this run-as account. + // If unspecified, the [Vertex AI Custom Code Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + // for the CustomJob's project is used. + string service_account = 4; + + // Optional. The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which the Job + // should be peered. 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 job is not peered with any network. + string network = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "compute.googleapis.com/Network" + } + ]; + + // Optional. A list of names for the reserved ip ranges under the VPC network + // that can be used for this job. + // + // If set, we will deploy the job within the provided ip ranges. Otherwise, + // the job will be deployed to any ip ranges under the provided VPC + // network. + // + // Example: ['vertex-ai-ip-range']. + repeated string reserved_ip_ranges = 13 [(google.api.field_behavior) = OPTIONAL]; + + // The Cloud Storage location to store the output of this CustomJob or + // HyperparameterTuningJob. For HyperparameterTuningJob, + // the baseOutputDirectory of + // each child CustomJob backing a Trial is set to a subdirectory of name + // [id][google.cloud.aiplatform.v1.Trial.id] under its parent HyperparameterTuningJob's + // baseOutputDirectory. + // + // The following Vertex AI environment variables will be passed to + // containers or python modules when this field is set: + // + // For CustomJob: + // + // * AIP_MODEL_DIR = `/model/` + // * AIP_CHECKPOINT_DIR = `/checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `/logs/` + // + // For CustomJob backing a Trial of HyperparameterTuningJob: + // + // * AIP_MODEL_DIR = `//model/` + // * AIP_CHECKPOINT_DIR = `//checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `//logs/` + GcsDestination base_output_directory = 6; + + // Optional. The name of a Vertex AI [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which this CustomJob + // will upload Tensorboard logs. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string tensorboard = 7 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Optional. Whether you want Vertex AI to enable [interactive shell + // access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // to training containers. + // + // If set to `true`, you can access interactive shells at the URIs given + // by [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] or [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] (within + // [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). + bool enable_web_access = 10 [(google.api.field_behavior) = OPTIONAL]; +} + +// Represents the spec of a worker pool in a job. +message WorkerPoolSpec { + // The custom task to be executed in this worker pool. + oneof task { + // The custom container task. + ContainerSpec container_spec = 6; + + // The Python packaged task. + PythonPackageSpec python_package_spec = 7; + } + + // Optional. Immutable. The specification of a single machine. + MachineSpec machine_spec = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. The number of worker replicas to use for this worker pool. + int64 replica_count = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. List of NFS mount spec. + repeated NfsMount nfs_mounts = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Disk spec. + DiskSpec disk_spec = 5; +} + +// The spec of a Container. +message ContainerSpec { + // Required. The URI of a container image in the Container Registry that is to be run on + // each worker replica. + string image_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // The command to be invoked when the container is started. + // It overrides the entrypoint instruction in Dockerfile when provided. + repeated string command = 2; + + // The arguments to be passed when starting the container. + repeated string args = 3; + + // Environment variables to be passed to the container. + // Maximum limit is 100. + repeated EnvVar env = 4; +} + +// The spec of a Python packaged code. +message PythonPackageSpec { + // Required. The URI of a container image in Artifact Registry that will run the + // provided Python package. Vertex AI provides a wide range of executor + // images with pre-installed packages to meet users' various use cases. See + // the list of [pre-built containers for + // training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + // You must use an image from this list. + string executor_image_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Google Cloud Storage location of the Python package files which are + // the training program and its dependent packages. + // The maximum number of package URIs is 100. + repeated string package_uris = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Python module name to run after installing the packages. + string python_module = 3 [(google.api.field_behavior) = REQUIRED]; + + // Command line arguments to be passed to the Python task. + repeated string args = 4; + + // Environment variables to be passed to the python module. + // Maximum limit is 100. + repeated EnvVar env = 5; +} + +// All parameters related to queuing and scheduling of custom jobs. +message Scheduling { + // The maximum job running time. The default is 7 days. + google.protobuf.Duration timeout = 1; + + // Restarts the entire CustomJob if a worker gets restarted. + // This feature can be used by distributed training jobs that are not + // resilient to workers leaving and joining a job. + bool restart_job_on_worker_restart = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/data_item.proto b/google-cloud/protos/google/cloud/aiplatform/v1/data_item.proto new file mode 100644 index 00000000..10431e74 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/data_item.proto @@ -0,0 +1,70 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DataItemProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A piece of data in a Dataset. Could be an image, a video, a document or plain +// text. +message DataItem { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/DataItem" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}" + }; + + // Output only. The resource name of the DataItem. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DataItem was created. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DataItem was last updated. + google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels with user-defined metadata to organize your DataItems. + // + // 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. + // No more than 64 user labels can be associated with one DataItem(System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The data that the DataItem represents (for example, an image or a text + // snippet). The schema of the payload is stored in the parent Dataset's + // [metadata schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] dataItemSchemaUri field. + google.protobuf.Value payload = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/data_labeling_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/data_labeling_job.proto new file mode 100644 index 00000000..f136190b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/data_labeling_job.proto @@ -0,0 +1,207 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/job_state.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DataLabelingJobProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// DataLabelingJob is used to trigger a human labeling job on unlabeled data +// from the following Dataset: +message DataLabelingJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/DataLabelingJob" + pattern: "projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}" + }; + + // Output only. Resource name of the DataLabelingJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of the DataLabelingJob. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + // Display name of a DataLabelingJob. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Dataset resource names. Right now we only support labeling from a single + // Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + repeated string datasets = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // Labels to assign to annotations generated by this DataLabelingJob. + // + // 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. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map annotation_labels = 12; + + // Required. Number of labelers to work on each DataItem. + int32 labeler_count = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Google Cloud Storage location of the instruction pdf. This pdf is + // shared with labelers, and provides detailed description on how to label + // DataItems in Datasets. + string instruction_uri = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Points to a YAML file stored on Google Cloud Storage describing the + // config for a specific type of DataLabelingJob. + // The schema files that can be used here are found in the + // https://storage.googleapis.com/google-cloud-aiplatform bucket in the + // /schema/datalabelingjob/inputs/ folder. + string inputs_schema_uri = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Input config parameters for the DataLabelingJob. + google.protobuf.Value inputs = 7 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The detailed state of the job. + JobState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current labeling job progress percentage scaled in interval [0, 100], + // indicating the percentage of DataItems that has been finished. + int32 labeling_progress = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Estimated cost(in US dollars) that the DataLabelingJob has incurred to + // date. + google.type.Money current_spend = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DataLabelingJob was created. + google.protobuf.Timestamp create_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this DataLabelingJob was updated most recently. + google.protobuf.Timestamp update_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DataLabelingJob errors. It is only populated when job's state is + // `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + google.rpc.Status error = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your DataLabelingJobs. + // + // 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. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each DataLabelingJob: + // + // * "aiplatform.googleapis.com/schema": output only, its value is the + // [inputs_schema][google.cloud.aiplatform.v1.DataLabelingJob.inputs_schema_uri]'s title. + map labels = 11; + + // The SpecialistPools' resource names associated with this job. + repeated string specialist_pools = 16; + + // Customer-managed encryption key spec for a DataLabelingJob. If set, this + // DataLabelingJob will be secured by this key. + // + // Note: Annotations created in the DataLabelingJob are associated with + // the EncryptionSpec of the Dataset they are exported to. + EncryptionSpec encryption_spec = 20; + + // Parameters that configure the active learning pipeline. Active learning + // will label the data incrementally via several iterations. For every + // iteration, it will select a batch of data based on the sampling strategy. + ActiveLearningConfig active_learning_config = 21; +} + +// Parameters that configure the active learning pipeline. Active learning will +// label the data incrementally by several iterations. For every iteration, it +// will select a batch of data based on the sampling strategy. +message ActiveLearningConfig { + // Required. Max human labeling DataItems. The rest part will be labeled by + // machine. + oneof human_labeling_budget { + // Max number of human labeled DataItems. + int64 max_data_item_count = 1; + + // Max percent of total DataItems for human labeling. + int32 max_data_item_percentage = 2; + } + + // Active learning data sampling config. For every active learning labeling + // iteration, it will select a batch of data based on the sampling strategy. + SampleConfig sample_config = 3; + + // CMLE training config. For every active learning labeling iteration, system + // will train a machine learning model on CMLE. The trained model will be used + // by data sampling algorithm to select DataItems. + TrainingConfig training_config = 4; +} + +// Active learning data sampling config. For every active learning labeling +// iteration, it will select a batch of data based on the sampling strategy. +message SampleConfig { + // Sample strategy decides which subset of DataItems should be selected for + // human labeling in every batch. + enum SampleStrategy { + // Default will be treated as UNCERTAINTY. + SAMPLE_STRATEGY_UNSPECIFIED = 0; + + // Sample the most uncertain data to label. + UNCERTAINTY = 1; + } + + // Decides sample size for the initial batch. initial_batch_sample_percentage + // is used by default. + oneof initial_batch_sample_size { + // The percentage of data needed to be labeled in the first batch. + int32 initial_batch_sample_percentage = 1; + } + + // Decides sample size for the following batches. + // following_batch_sample_percentage is used by default. + oneof following_batch_sample_size { + // The percentage of data needed to be labeled in each following batch + // (except the first batch). + int32 following_batch_sample_percentage = 3; + } + + // Field to choose sampling strategy. Sampling strategy will decide which data + // should be selected for human labeling in every batch. + SampleStrategy sample_strategy = 5; +} + +// CMLE training config. For every active learning labeling iteration, system +// will train a machine learning model on CMLE. The trained model will be used +// by data sampling algorithm to select DataItems. +message TrainingConfig { + // The timeout hours for the CMLE training job, expressed in milli hours + // i.e. 1,000 value in this field means 1 hour. + int64 timeout_training_milli_hours = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/dataset.proto b/google-cloud/protos/google/cloud/aiplatform/v1/dataset.proto new file mode 100644 index 00000000..6c686986 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/dataset.proto @@ -0,0 +1,144 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DatasetProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A collection of DataItems and Annotations on them. +message Dataset { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Dataset" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}" + }; + + // Output only. The resource name of the Dataset. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of the Dataset. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The description of the Dataset. + string description = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Points to a YAML file stored on Google Cloud Storage describing additional + // information about the Dataset. + // The schema is defined as an OpenAPI 3.0.2 Schema Object. + // The schema files that can be used here are found in + // gs://google-cloud-aiplatform/schema/dataset/metadata/. + string metadata_schema_uri = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Additional information about the Dataset. + google.protobuf.Value metadata = 8 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this Dataset was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Dataset was last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 6; + + // The labels with user-defined metadata to organize your Datasets. + // + // 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. + // No more than 64 user labels can be associated with one Dataset (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Dataset: + // + // * "aiplatform.googleapis.com/dataset_metadata_schema": output only, its + // value is the [metadata_schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] title. + map labels = 7; + + // Customer-managed encryption key spec for a Dataset. If set, this Dataset + // and all sub-resources of this Dataset will be secured by this key. + EncryptionSpec encryption_spec = 11; +} + +// Describes the location from where we import data into a Dataset, together +// with the labels that will be applied to the DataItems and the Annotations. +message ImportDataConfig { + // The source of the input. + oneof source { + // The Google Cloud Storage location for the input content. + GcsSource gcs_source = 1; + } + + // Labels that will be applied to newly imported DataItems. If an identical + // DataItem as one being imported already exists in the Dataset, then these + // labels will be appended to these of the already existing one, and if labels + // with identical key is imported before, the old label value will be + // overwritten. If two DataItems are identical in the same import data + // operation, the labels will be combined and if key collision happens in this + // case, one of the values will be picked randomly. Two DataItems are + // considered identical if their content bytes are identical (e.g. image bytes + // or pdf bytes). + // These labels will be overridden by Annotation labels specified inside index + // file referenced by [import_schema_uri][google.cloud.aiplatform.v1.ImportDataConfig.import_schema_uri], e.g. jsonl file. + map data_item_labels = 2; + + // Required. Points to a YAML file stored on Google Cloud Storage describing the import + // format. Validation will be done against the schema. The schema is defined + // as an [OpenAPI 3.0.2 Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + string import_schema_uri = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Describes what part of the Dataset is to be exported, the destination of +// the export and how to export. +message ExportDataConfig { + // The destination of the output. + oneof destination { + // The Google Cloud Storage location where the output is to be written to. + // In the given directory a new directory will be created with name: + // `export-data--` where + // timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export + // output will be written into that directory. Inside that directory, + // annotations with the same schema will be grouped into sub directories + // which are named with the corresponding annotations' schema title. Inside + // these sub directories, a schema.yaml will be created to describe the + // output format. + GcsDestination gcs_destination = 1; + } + + // A filter on Annotations of the Dataset. Only Annotations on to-be-exported + // DataItems(specified by [data_items_filter][]) that match this filter will + // be exported. The filter syntax is the same as in + // [ListAnnotations][google.cloud.aiplatform.v1.DatasetService.ListAnnotations]. + string annotations_filter = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/dataset_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/dataset_service.proto new file mode 100644 index 00000000..c26f60e3 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/dataset_service.proto @@ -0,0 +1,461 @@ +// 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.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/annotation.proto"; +import "google/cloud/aiplatform/v1/annotation_spec.proto"; +import "google/cloud/aiplatform/v1/data_item.proto"; +import "google/cloud/aiplatform/v1/dataset.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/cloud/aiplatform/v1/saved_query.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DatasetServiceProto"; +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 the CRUD of Vertex AI Dataset and its child +// resources. +service DatasetService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a Dataset. + rpc CreateDataset(CreateDatasetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/datasets" + body: "dataset" + }; + option (google.api.method_signature) = "parent,dataset"; + option (google.longrunning.operation_info) = { + response_type: "Dataset" + metadata_type: "CreateDatasetOperationMetadata" + }; + } + + // Gets a Dataset. + rpc GetDataset(GetDatasetRequest) returns (Dataset) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/datasets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Dataset. + rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) { + option (google.api.http) = { + patch: "/v1/{dataset.name=projects/*/locations/*/datasets/*}" + body: "dataset" + }; + option (google.api.method_signature) = "dataset,update_mask"; + } + + // Lists Datasets in a Location. + rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/datasets" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a Dataset. + rpc DeleteDataset(DeleteDatasetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/datasets/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Imports data into a Dataset. + rpc ImportData(ImportDataRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/datasets/*}:import" + body: "*" + }; + option (google.api.method_signature) = "name,import_configs"; + option (google.longrunning.operation_info) = { + response_type: "ImportDataResponse" + metadata_type: "ImportDataOperationMetadata" + }; + } + + // Exports data from a Dataset. + rpc ExportData(ExportDataRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/datasets/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name,export_config"; + option (google.longrunning.operation_info) = { + response_type: "ExportDataResponse" + metadata_type: "ExportDataOperationMetadata" + }; + } + + // Lists DataItems in a Dataset. + rpc ListDataItems(ListDataItemsRequest) returns (ListDataItemsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/datasets/*}/dataItems" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists SavedQueries in a Dataset. + rpc ListSavedQueries(ListSavedQueriesRequest) returns (ListSavedQueriesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/datasets/*}/savedQueries" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an AnnotationSpec. + rpc GetAnnotationSpec(GetAnnotationSpecRequest) returns (AnnotationSpec) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Annotations belongs to a dataitem + rpc ListAnnotations(ListAnnotationsRequest) returns (ListAnnotationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/datasets/*/dataItems/*}/annotations" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for [DatasetService.CreateDataset][google.cloud.aiplatform.v1.DatasetService.CreateDataset]. +message CreateDatasetRequest { + // Required. The resource name of the Location to create the Dataset 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 Dataset to create. + Dataset dataset = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for [DatasetService.CreateDataset][google.cloud.aiplatform.v1.DatasetService.CreateDataset]. +message CreateDatasetOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [DatasetService.GetDataset][google.cloud.aiplatform.v1.DatasetService.GetDataset]. +message GetDatasetRequest { + // Required. The name of the Dataset resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 2; +} + +// Request message for [DatasetService.UpdateDataset][google.cloud.aiplatform.v1.DatasetService.UpdateDataset]. +message UpdateDatasetRequest { + // Required. The Dataset which replaces the resource on the server. + Dataset dataset = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. + // For the `FieldMask` definition, see [google.protobuf.FieldMask][google.protobuf.FieldMask]. + // Updatable fields: + // + // * `display_name` + // * `description` + // * `labels` + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [DatasetService.ListDatasets][google.cloud.aiplatform.v1.DatasetService.ListDatasets]. +message ListDatasetsRequest { + // Required. The name of the Dataset's parent resource. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // * `display_name`: supports = and != + // * `metadata_schema_uri`: supports = and != + // * `labels` supports general map functions that is: + // * `labels.key=value` - key:value equality + // * `labels.key:* or labels:key - key existence + // * A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // * `displayName="myDisplayName"` + // * `labels.myKey="myValue"` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // + // * `display_name` + // * `create_time` + // * `update_time` + string order_by = 6; +} + +// Response message for [DatasetService.ListDatasets][google.cloud.aiplatform.v1.DatasetService.ListDatasets]. +message ListDatasetsResponse { + // A list of Datasets that matches the specified filter in the request. + repeated Dataset datasets = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [DatasetService.DeleteDataset][google.cloud.aiplatform.v1.DatasetService.DeleteDataset]. +message DeleteDatasetRequest { + // Required. The resource name of the Dataset to delete. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; +} + +// Request message for [DatasetService.ImportData][google.cloud.aiplatform.v1.DatasetService.ImportData]. +message ImportDataRequest { + // Required. The name of the Dataset resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // Required. The desired input locations. The contents of all input locations will be + // imported in one batch. + repeated ImportDataConfig import_configs = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [DatasetService.ImportData][google.cloud.aiplatform.v1.DatasetService.ImportData]. +message ImportDataResponse { + +} + +// Runtime operation information for [DatasetService.ImportData][google.cloud.aiplatform.v1.DatasetService.ImportData]. +message ImportDataOperationMetadata { + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [DatasetService.ExportData][google.cloud.aiplatform.v1.DatasetService.ExportData]. +message ExportDataRequest { + // Required. The name of the Dataset resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // Required. The desired output location. + ExportDataConfig export_config = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [DatasetService.ExportData][google.cloud.aiplatform.v1.DatasetService.ExportData]. +message ExportDataResponse { + // All of the files that are exported in this export operation. + repeated string exported_files = 1; +} + +// Runtime operation information for [DatasetService.ExportData][google.cloud.aiplatform.v1.DatasetService.ExportData]. +message ExportDataOperationMetadata { + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; + + // A Google Cloud Storage directory which path ends with '/'. The exported + // data is stored in the directory. + string gcs_output_directory = 2; +} + +// Request message for [DatasetService.ListDataItems][google.cloud.aiplatform.v1.DatasetService.ListDataItems]. +message ListDataItemsRequest { + // Required. The resource name of the Dataset to list DataItems from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // The standard list filter. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; + + // 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; +} + +// Response message for [DatasetService.ListDataItems][google.cloud.aiplatform.v1.DatasetService.ListDataItems]. +message ListDataItemsResponse { + // A list of DataItems that matches the specified filter in the request. + repeated DataItem data_items = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [DatasetService.ListSavedQueries][google.cloud.aiplatform.v1.DatasetService.ListSavedQueries]. +message ListSavedQueriesRequest { + // Required. The resource name of the Dataset to list SavedQueries from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + } + ]; + + // The standard list filter. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; + + // 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; +} + +// Response message for [DatasetService.ListSavedQueries][google.cloud.aiplatform.v1.DatasetService.ListSavedQueries]. +message ListSavedQueriesResponse { + // A list of SavedQueries that match the specified filter in the request. + repeated SavedQuery saved_queries = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [DatasetService.GetAnnotationSpec][google.cloud.aiplatform.v1.DatasetService.GetAnnotationSpec]. +message GetAnnotationSpecRequest { + // Required. The name of the AnnotationSpec resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/AnnotationSpec" + } + ]; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 2; +} + +// Request message for [DatasetService.ListAnnotations][google.cloud.aiplatform.v1.DatasetService.ListAnnotations]. +message ListAnnotationsRequest { + // Required. The resource name of the DataItem to list Annotations from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DataItem" + } + ]; + + // The standard list filter. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; + + // 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; +} + +// Response message for [DatasetService.ListAnnotations][google.cloud.aiplatform.v1.DatasetService.ListAnnotations]. +message ListAnnotationsResponse { + // A list of Annotations that matches the specified filter in the request. + repeated Annotation annotations = 1; + + // The standard List next-page token. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/deployed_index_ref.proto b/google-cloud/protos/google/cloud/aiplatform/v1/deployed_index_ref.proto new file mode 100644 index 00000000..35c8b30c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/deployed_index_ref.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DeployedIndexRefProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Points to a DeployedIndex. +message DeployedIndexRef { + // Immutable. A resource name of the IndexEndpoint. + string index_endpoint = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + } + ]; + + // Immutable. The ID of the DeployedIndex in the above IndexEndpoint. + string deployed_index_id = 2 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/deployed_model_ref.proto b/google-cloud/protos/google/cloud/aiplatform/v1/deployed_model_ref.proto new file mode 100644 index 00000000..8a7b1eb7 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/deployed_model_ref.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "DeployedModelNameProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Points to a DeployedModel. +message DeployedModelRef { + // Immutable. A resource name of an Endpoint. + string endpoint = 1 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Immutable. An ID of a DeployedModel in the above Endpoint. + string deployed_model_id = 2 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/encryption_spec.proto b/google-cloud/protos/google/cloud/aiplatform/v1/encryption_spec.proto new file mode 100644 index 00000000..15a79901 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/encryption_spec.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EncryptionSpecProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents a customer-managed encryption key spec that can be applied to +// a top-level resource. +message EncryptionSpec { + // Required. The Cloud KMS resource identifier of the customer managed encryption key + // used to protect a resource. Has the form: + // `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. + // The key needs to be in the same region as where the compute resource is + // created. + string kms_key_name = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/endpoint.proto b/google-cloud/protos/google/cloud/aiplatform/v1/endpoint.proto new file mode 100644 index 00000000..6d48f8f2 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/endpoint.proto @@ -0,0 +1,258 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/explanation.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/machine_resources.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EndpointProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Models are deployed into it, and afterwards Endpoint is called to obtain +// predictions and explanations. +message Endpoint { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Endpoint" + pattern: "projects/{project}/locations/{location}/endpoints/{endpoint}" + }; + + // Output only. The resource name of the Endpoint. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the Endpoint. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the Endpoint. + string description = 3; + + // Output only. The models deployed in this Endpoint. + // To add or remove DeployedModels use [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel] and + // [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel] respectively. + repeated DeployedModel deployed_models = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A map from a DeployedModel's ID to the percentage of this Endpoint's + // traffic that should be forwarded to that DeployedModel. + // + // If a DeployedModel's ID is not listed in this map, then it receives no + // traffic. + // + // The traffic percentage values must add up to 100, or map must be empty if + // the Endpoint is to not accept any traffic at a moment. + map traffic_split = 5; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 6; + + // The labels with user-defined metadata to organize your Endpoints. + // + // 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 = 7; + + // Output only. Timestamp when this Endpoint was created. + google.protobuf.Timestamp create_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Endpoint was last updated. + google.protobuf.Timestamp update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Customer-managed encryption key spec for an Endpoint. If set, this + // Endpoint and all sub-resources of this Endpoint will be secured by + // this key. + EncryptionSpec encryption_spec = 10; + + // The full name of the Google Compute Engine + // [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + // to which the Endpoint should be peered. + // + // Private services access must already be configured for the network. If left + // unspecified, the Endpoint is not peered with any network. + // + // Only one of the fields, [network][google.cloud.aiplatform.v1.Endpoint.network] or + // [enable_private_service_connect][google.cloud.aiplatform.v1.Endpoint.enable_private_service_connect], + // can be set. + // + // [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): + // `projects/{project}/global/networks/{network}`. + // Where `{project}` is a project number, as in `12345`, and `{network}` is + // network name. + string network = 13 [(google.api.resource_reference) = { + type: "compute.googleapis.com/Network" + }]; + + // Deprecated: If true, expose the Endpoint via private service connect. + // + // Only one of the fields, [network][google.cloud.aiplatform.v1.Endpoint.network] or + // [enable_private_service_connect][google.cloud.aiplatform.v1.Endpoint.enable_private_service_connect], + // can be set. + bool enable_private_service_connect = 17 [deprecated = true]; + + // Output only. Resource name of the Model Monitoring job associated with this Endpoint + // if monitoring is enabled by [CreateModelDeploymentMonitoringJob][]. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string model_deployment_monitoring_job = 14 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; + + // Configures the request-response logging for online prediction. + PredictRequestResponseLoggingConfig predict_request_response_logging_config = 18; +} + +// A deployment of a Model. Endpoints contain one or more DeployedModels. +message DeployedModel { + // The prediction (for example, the machine) resources that the DeployedModel + // uses. The user is billed for the resources (at least their minimal amount) + // even if the DeployedModel receives no traffic. + // Not all Models support all resources types. See + // [Model.supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types]. + 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 = 7; + + // A description of resources that to large degree are decided by Vertex + // AI, and require only a modest additional configuration. + AutomaticResources automatic_resources = 8; + } + + // Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI + // will generate a value for this ID. + // + // This value should be 1-10 characters, and valid characters are /[0-9]/. + string id = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Required. The resource name of the Model that this is the deployment of. Note that + // the Model may be in a different location than the DeployedModel's Endpoint. + // + // The resource name may contain version id or version alias to specify the + // version, if no version is specified, the default version will be deployed. + string model = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // Output only. The version ID of the model that is deployed. + string model_version_id = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name of the DeployedModel. If not provided upon creation, + // the Model's display_name is used. + string display_name = 3; + + // Output only. Timestamp when the DeployedModel was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Explanation configuration for this DeployedModel. + // + // When deploying a Model using [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel], this value + // overrides the value of [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]. All fields of + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] are optional in the request. If a field of + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] is not populated, the value of the same field of + // [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] is inherited. If the corresponding + // [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] is not populated, all fields of the + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] will be used for the explanation configuration. + ExplanationSpec explanation_spec = 9; + + // The service account that the DeployedModel's container runs as. Specify the + // email address of the service account. If this service account is not + // specified, the container runs as a service account that doesn't have access + // to the resource project. + // + // Users deploying the Model must have the `iam.serviceAccounts.actAs` + // permission on this service account. + string service_account = 11; + + // For custom-trained Models and AutoML Tabular Models, the container of the + // DeployedModel instances will send `stderr` and `stdout` streams to + // Stackdriver Logging by default. Please note that the logs incur cost, + // which are subject to [Cloud Logging + // pricing](https://cloud.google.com/stackdriver/pricing). + // + // User can disable container logging by setting this flag to true. + bool disable_container_logging = 15; + + // These logs are like standard server access logs, containing + // information like timestamp and latency for each prediction request. + // + // Note that Stackdriver logs may incur a cost, especially if your project + // receives prediction requests at a high queries per second rate (QPS). + // Estimate your costs before enabling this option. + bool enable_access_logging = 13; + + // Output only. Provide paths for users to send predict/explain/health requests directly to + // the deployed model services running on Cloud via private services access. + // This field is populated if [network][google.cloud.aiplatform.v1.Endpoint.network] is configured. + PrivateEndpoints private_endpoints = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// PrivateEndpoints proto is used to provide paths for users to send +// requests privately. +// To send request via private service access, use predict_http_uri, +// explain_http_uri or health_http_uri. To send request via private service +// connect, use service_attachment. +message PrivateEndpoints { + // Output only. Http(s) path to send prediction requests. + string predict_http_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Http(s) path to send explain requests. + string explain_http_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Http(s) path to send health check requests. + string health_http_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the service attachment resource. Populated if private service + // connect is enabled. + string service_attachment = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Configuration for logging request-response to a BigQuery table. +message PredictRequestResponseLoggingConfig { + // If logging is enabled or not. + bool enabled = 1; + + // Percentage of requests to be logged, expressed as a fraction in + // range(0,1]. + double sampling_rate = 2; + + // BigQuery table for logging. + // If only given a project, a new dataset will be created with name + // `logging__` where + // will be made BigQuery-dataset-name compatible (e.g. + // most special characters will become underscores). If no table name is + // given, a new table will be created with name `request_response_logging` + BigQueryDestination bigquery_destination = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/endpoint_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/endpoint_service.proto new file mode 100644 index 00000000..0108728c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/endpoint_service.proto @@ -0,0 +1,325 @@ +// 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.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/endpoint.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EndpointServiceProto"; +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 managing Vertex AI's Endpoints. +service EndpointService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates an Endpoint. + rpc CreateEndpoint(CreateEndpointRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/endpoints" + body: "endpoint" + }; + option (google.api.method_signature) = "parent,endpoint"; + option (google.api.method_signature) = "parent,endpoint,endpoint_id"; + option (google.longrunning.operation_info) = { + response_type: "Endpoint" + metadata_type: "CreateEndpointOperationMetadata" + }; + } + + // Gets an Endpoint. + rpc GetEndpoint(GetEndpointRequest) returns (Endpoint) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/endpoints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Endpoints in a Location. + rpc ListEndpoints(ListEndpointsRequest) returns (ListEndpointsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/endpoints" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates an Endpoint. + rpc UpdateEndpoint(UpdateEndpointRequest) returns (Endpoint) { + option (google.api.http) = { + patch: "/v1/{endpoint.name=projects/*/locations/*/endpoints/*}" + body: "endpoint" + }; + option (google.api.method_signature) = "endpoint,update_mask"; + } + + // Deletes an Endpoint. + rpc DeleteEndpoint(DeleteEndpointRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/endpoints/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Deploys a Model into this Endpoint, creating a DeployedModel within it. + rpc DeployModel(DeployModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:deployModel" + body: "*" + }; + option (google.api.method_signature) = "endpoint,deployed_model,traffic_split"; + option (google.longrunning.operation_info) = { + response_type: "DeployModelResponse" + metadata_type: "DeployModelOperationMetadata" + }; + } + + // Undeploys a Model from an Endpoint, removing a DeployedModel from it, and + // freeing all resources it's using. + rpc UndeployModel(UndeployModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:undeployModel" + body: "*" + }; + option (google.api.method_signature) = "endpoint,deployed_model_id,traffic_split"; + option (google.longrunning.operation_info) = { + response_type: "UndeployModelResponse" + metadata_type: "UndeployModelOperationMetadata" + }; + } +} + +// Request message for [EndpointService.CreateEndpoint][google.cloud.aiplatform.v1.EndpointService.CreateEndpoint]. +message CreateEndpointRequest { + // Required. The resource name of the Location to create the Endpoint 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 Endpoint to create. + Endpoint endpoint = 2 [(google.api.field_behavior) = REQUIRED]; + + // Immutable. The ID to use for endpoint, which will become the final + // component of the endpoint resource name. + // If not provided, Vertex AI will generate a value for this ID. + // + // This value should be 1-10 characters, and valid characters are /[0-9]/. + // When using HTTP/JSON, this field is populated based on a query string + // argument, such as `?endpoint_id=12345`. This is the fallback for fields + // that are not included in either the URI or the body. + string endpoint_id = 4 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Runtime operation information for [EndpointService.CreateEndpoint][google.cloud.aiplatform.v1.EndpointService.CreateEndpoint]. +message CreateEndpointOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [EndpointService.GetEndpoint][google.cloud.aiplatform.v1.EndpointService.GetEndpoint] +message GetEndpointRequest { + // Required. The name of the Endpoint resource. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; +} + +// Request message for [EndpointService.ListEndpoints][google.cloud.aiplatform.v1.EndpointService.ListEndpoints]. +message ListEndpointsRequest { + // Required. The resource name of the Location from which to list the Endpoints. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // * `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, + // i.e. the last segment of the Endpoint's [resource name][google.cloud.aiplatform.v1.Endpoint.name]. + // * `display_name` supports = and, != + // * `labels` supports general map functions that is: + // * `labels.key=value` - key:value equality + // * `labels.key:* or labels:key - key existence + // * A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // * `endpoint=1` + // * `displayName="myDisplayName"` + // * `labels.myKey="myValue"` + 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 + // [ListEndpointsResponse.next_page_token][google.cloud.aiplatform.v1.ListEndpointsResponse.next_page_token] of the previous + // [EndpointService.ListEndpoints][google.cloud.aiplatform.v1.EndpointService.ListEndpoints] call. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5 [(google.api.field_behavior) = OPTIONAL]; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // * `display_name` + // * `create_time` + // * `update_time` + // + // Example: `display_name, create_time desc`. + string order_by = 6; +} + +// Response message for [EndpointService.ListEndpoints][google.cloud.aiplatform.v1.EndpointService.ListEndpoints]. +message ListEndpointsResponse { + // List of Endpoints in the requested page. + repeated Endpoint endpoints = 1; + + // A token to retrieve the next page of results. + // Pass to [ListEndpointsRequest.page_token][google.cloud.aiplatform.v1.ListEndpointsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [EndpointService.UpdateEndpoint][google.cloud.aiplatform.v1.EndpointService.UpdateEndpoint]. +message UpdateEndpointRequest { + // Required. The Endpoint which replaces the resource on the server. + Endpoint endpoint = 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]; +} + +// Request message for [EndpointService.DeleteEndpoint][google.cloud.aiplatform.v1.EndpointService.DeleteEndpoint]. +message DeleteEndpointRequest { + // Required. The name of the Endpoint resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; +} + +// Request message for [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel]. +message DeployModelRequest { + // Required. The name of the Endpoint resource into which to deploy a Model. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + string endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Required. The DeployedModel to be created within the Endpoint. Note that + // [Endpoint.traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split] must be updated for the DeployedModel to start + // receiving traffic, either as part of this call, or via + // [EndpointService.UpdateEndpoint][google.cloud.aiplatform.v1.EndpointService.UpdateEndpoint]. + DeployedModel deployed_model = 2 [(google.api.field_behavior) = REQUIRED]; + + // A map from a DeployedModel's ID to the percentage of this Endpoint's + // traffic that should be forwarded to that DeployedModel. + // + // If this field is non-empty, then the Endpoint's + // [traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split] will be overwritten with it. + // To refer to the ID of the just being deployed Model, a "0" should be used, + // and the actual ID of the new DeployedModel will be filled in its place by + // this method. The traffic percentage values must add up to 100. + // + // If this field is empty, then the Endpoint's + // [traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split] is not updated. + map traffic_split = 3; +} + +// Response message for [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel]. +message DeployModelResponse { + // The DeployedModel that had been deployed in the Endpoint. + DeployedModel deployed_model = 1; +} + +// Runtime operation information for [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel]. +message DeployModelOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel]. +message UndeployModelRequest { + // Required. The name of the Endpoint resource from which to undeploy a Model. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + string endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Required. The ID of the DeployedModel to be undeployed from the Endpoint. + string deployed_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // If this field is provided, then the Endpoint's + // [traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split] will be overwritten with it. If + // last DeployedModel is being undeployed from the Endpoint, the + // [Endpoint.traffic_split] will always end up empty when this call returns. + // A DeployedModel will be successfully undeployed only if it doesn't have + // any traffic assigned to it when this method executes, or if this field + // unassigns any traffic to it. + map traffic_split = 3; +} + +// Response message for [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel]. +message UndeployModelResponse { + +} + +// Runtime operation information for [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel]. +message UndeployModelOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/entity_type.proto b/google-cloud/protos/google/cloud/aiplatform/v1/entity_type.proto new file mode 100644 index 00000000..073b5339 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/entity_type.proto @@ -0,0 +1,86 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/featurestore_monitoring.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EntityTypeProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// An entity type is a type of object in a system that needs to be modeled and +// have stored information about. For example, driver is an entity type, and +// driver0 is an instance of an entity type driver. +message EntityType { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/EntityType" + pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}" + }; + + // Immutable. Name of the EntityType. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + // + // The last part entity_type is assigned by the client. The entity_type can be + // up to 64 characters long and can consist only of ASCII Latin letters A-Z + // and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The + // value will be unique given a featurestore. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. Description of the EntityType. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Timestamp when this EntityType was created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this EntityType was most recently updated. + google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels with user-defined metadata to organize your EntityTypes. + // + // 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 EntityType (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]; + + // Optional. Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The default monitoring configuration for all Features with value type + // ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL, STRING, DOUBLE or INT64 under this + // EntityType. + // + // If this is populated with + // [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot + // analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is + // disabled. + FeaturestoreMonitoringConfig monitoring_config = 8 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/env_var.proto b/google-cloud/protos/google/cloud/aiplatform/v1/env_var.proto new file mode 100644 index 00000000..34722e36 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/env_var.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EnvVarProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents an environment variable present in a Container or Python Module. +message EnvVar { + // Required. Name of the environment variable. Must be a valid C identifier. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Variables that reference a $(VAR_NAME) are expanded + // using the previous defined environment variables in the container and + // any service environment variables. If a variable cannot be resolved, + // the reference in the input string will be unchanged. The $(VAR_NAME) + // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + // references will never be expanded, regardless of whether the variable + // exists or not. + string value = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/event.proto b/google-cloud/protos/google/cloud/aiplatform/v1/event.proto new file mode 100644 index 00000000..f9f925db --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/event.proto @@ -0,0 +1,80 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "EventProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// An edge describing the relationship between an Artifact and an Execution in +// a lineage graph. +message Event { + // Describes whether an Event's Artifact is the Execution's input or output. + enum Type { + // Unspecified whether input or output of the Execution. + TYPE_UNSPECIFIED = 0; + + // An input of the Execution. + INPUT = 1; + + // An output of the Execution. + OUTPUT = 2; + } + + // Required. The relative resource name of the Artifact in the Event. + string artifact = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + } + ]; + + // Output only. The relative resource name of the Execution in the Event. + string execution = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + } + ]; + + // Output only. Time the Event occurred. + google.protobuf.Timestamp event_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The type of the Event. + Type type = 4 [(google.api.field_behavior) = REQUIRED]; + + // The labels with user-defined metadata to annotate Events. + // + // 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. + // No more than 64 user labels can be associated with one Event (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 5; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/execution.proto b/google-cloud/protos/google/cloud/aiplatform/v1/execution.proto new file mode 100644 index 00000000..a2b7c2b9 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/execution.proto @@ -0,0 +1,115 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ExecutionProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Instance of a general execution. +message Execution { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Execution" + pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/executions/{execution}" + }; + + // Describes the state of the Execution. + enum State { + // Unspecified Execution state + STATE_UNSPECIFIED = 0; + + // The Execution is new + NEW = 1; + + // The Execution is running + RUNNING = 2; + + // The Execution has finished running + COMPLETE = 3; + + // The Execution has failed + FAILED = 4; + + // The Execution completed through Cache hit. + CACHED = 5; + + // The Execution was cancelled. + CANCELLED = 6; + } + + // Output only. The resource name of the Execution. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User provided display name of the Execution. + // May be up to 128 Unicode characters. + string display_name = 2; + + // The state of this Execution. This is a property of the Execution, and does + // not imply or capture any ongoing process. This property is managed by + // clients (such as Vertex AI Pipelines) and the system does not prescribe + // or check the validity of state transitions. + State state = 6; + + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + string etag = 9; + + // The labels with user-defined metadata to organize your Executions. + // + // 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. + // No more than 64 user labels can be associated with one Execution (System + // labels are excluded). + map labels = 10; + + // Output only. Timestamp when this Execution was created. + google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Execution was last updated. + google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_title = 13; + + // The version of the schema in `schema_title` to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + string schema_version = 14; + + // Properties of the Execution. + // The size of this field should not exceed 200KB. + google.protobuf.Struct metadata = 15; + + // Description of the Execution + string description = 16; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/explanation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/explanation.proto new file mode 100644 index 00000000..0c00d8a2 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/explanation.proto @@ -0,0 +1,461 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1/explanation_metadata.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ExplanationProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Explanation of a prediction (provided in [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions]) +// produced by the Model on a given [instance][google.cloud.aiplatform.v1.ExplainRequest.instances]. +message Explanation { + // Output only. Feature attributions grouped by predicted outputs. + // + // For Models that predict only one output, such as regression Models that + // predict only one score, there is only one attibution that explains the + // predicted output. For Models that predict multiple outputs, such as + // multiclass Models that predict multiple classes, each element explains one + // specific item. [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] can be used to identify which + // output this attribution is explaining. + // + // If users set [ExplanationParameters.top_k][google.cloud.aiplatform.v1.ExplanationParameters.top_k], the attributions are sorted + // by [instance_output_value][Attributions.instance_output_value] in + // descending order. If [ExplanationParameters.output_indices][google.cloud.aiplatform.v1.ExplanationParameters.output_indices] is specified, + // the attributions are stored by [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] in the same + // order as they appear in the output_indices. + repeated Attribution attributions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. List of the nearest neighbors for example-based explanations. + // + // For models deployed with the examples explanations feature enabled, the + // attributions field is empty and instead the neighbors field is populated. + repeated Neighbor neighbors = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Aggregated explanation metrics for a Model over a set of instances. +message ModelExplanation { + // Output only. Aggregated attributions explaining the Model's prediction outputs over the + // set of instances. The attributions are grouped by outputs. + // + // For Models that predict only one output, such as regression Models that + // predict only one score, there is only one attibution that explains the + // predicted output. For Models that predict multiple outputs, such as + // multiclass Models that predict multiple classes, each element explains one + // specific item. [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] can be used to identify which + // output this attribution is explaining. + // + // The [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value], + // [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value] and + // [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions] fields are + // averaged over the test data. + // + // NOTE: Currently AutoML tabular classification Models produce only one + // attribution, which averages attributions over all the classes it predicts. + // [Attribution.approximation_error][google.cloud.aiplatform.v1.Attribution.approximation_error] is not populated. + repeated Attribution mean_attributions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Attribution that explains a particular prediction output. +message Attribution { + // Output only. Model predicted output if the input instance is constructed from the + // baselines of all the features defined in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs]. + // The field name of the output is determined by the key in + // [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs]. + // + // If the Model's predicted output has multiple dimensions (rank > 1), this is + // the value in the output located by [output_index][google.cloud.aiplatform.v1.Attribution.output_index]. + // + // If there are multiple baselines, their output values are averaged. + double baseline_output_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Model predicted output on the corresponding [explanation + // instance][ExplainRequest.instances]. The field name of the output is + // determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs]. + // + // If the Model predicted output has multiple dimensions, this is the value in + // the output located by [output_index][google.cloud.aiplatform.v1.Attribution.output_index]. + double instance_output_value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Attributions of each explained feature. Features are extracted from + // the [prediction instances][google.cloud.aiplatform.v1.ExplainRequest.instances] according to + // [explanation metadata for inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs]. + // + // The value is a struct, whose keys are the name of the feature. The values + // are how much the feature in the [instance][google.cloud.aiplatform.v1.ExplainRequest.instances] + // contributed to the predicted result. + // + // The format of the value is determined by the feature's input format: + // + // * If the feature is a scalar value, the attribution value is a + // [floating number][google.protobuf.Value.number_value]. + // + // * If the feature is an array of scalar values, the attribution value is + // an [array][google.protobuf.Value.list_value]. + // + // * If the feature is a struct, the attribution value is a + // [struct][google.protobuf.Value.struct_value]. The keys in the + // attribution value struct are the same as the keys in the feature + // struct. The formats of the values in the attribution struct are + // determined by the formats of the values in the feature struct. + // + // The [ExplanationMetadata.feature_attributions_schema_uri][google.cloud.aiplatform.v1.ExplanationMetadata.feature_attributions_schema_uri] field, + // pointed to by the [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] field of the + // [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models] object, points to the schema file that + // describes the features and their attribution values (if it is populated). + google.protobuf.Value feature_attributions = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The index that locates the explained prediction output. + // + // If the prediction output is a scalar value, output_index is not populated. + // If the prediction output has multiple dimensions, the length of the + // output_index list is the same as the number of dimensions of the output. + // The i-th element in output_index is the element index of the i-th dimension + // of the output vector. Indices start from 0. + repeated int32 output_index = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the output identified by [output_index][google.cloud.aiplatform.v1.Attribution.output_index]. For example, + // the predicted class name by a multi-classification Model. + // + // This field is only populated iff the Model predicts display names as a + // separate field along with the explained output. The predicted display name + // must has the same shape of the explained output, and can be located using + // output_index. + string output_display_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Error of [feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions] caused by approximation used in the + // explanation method. Lower value means more precise attributions. + // + // * For Sampled Shapley + // [attribution][google.cloud.aiplatform.v1.ExplanationParameters.sampled_shapley_attribution], + // increasing [path_count][google.cloud.aiplatform.v1.SampledShapleyAttribution.path_count] might reduce + // the error. + // * For Integrated Gradients + // [attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution], + // increasing [step_count][google.cloud.aiplatform.v1.IntegratedGradientsAttribution.step_count] might + // reduce the error. + // * For [XRAI attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution], + // increasing + // [step_count][google.cloud.aiplatform.v1.XraiAttribution.step_count] might reduce the error. + // + // See [this introduction](/vertex-ai/docs/explainable-ai/overview) + // for more information. + double approximation_error = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the explain output. Specified as the key in + // [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs]. + string output_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Neighbors for example-based explanations. +message Neighbor { + // Output only. The neighbor id. + string neighbor_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The neighbor distance. + double neighbor_distance = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Specification of Model explanation. +message ExplanationSpec { + // Required. Parameters that configure explaining of the Model's predictions. + ExplanationParameters parameters = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Metadata describing the Model's input and output for explanation. + ExplanationMetadata metadata = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Parameters to configure explaining for Model's predictions. +message ExplanationParameters { + oneof method { + // An attribution method that approximates Shapley values for features that + // contribute to the label being predicted. A sampling strategy is used to + // approximate the value rather than considering all subsets of features. + // Refer to this paper for model details: https://arxiv.org/abs/1306.4265. + SampledShapleyAttribution sampled_shapley_attribution = 1; + + // An attribution method that computes Aumann-Shapley values taking + // advantage of the model's fully differentiable structure. Refer to this + // paper for more details: https://arxiv.org/abs/1703.01365 + IntegratedGradientsAttribution integrated_gradients_attribution = 2; + + // An attribution method that redistributes Integrated Gradients + // attribution to segmented regions, taking advantage of the model's fully + // differentiable structure. Refer to this paper for + // more details: https://arxiv.org/abs/1906.02825 + // + // XRAI currently performs better on natural images, like a picture of a + // house or an animal. If the images are taken in artificial environments, + // like a lab or manufacturing line, or from diagnostic equipment, like + // x-rays or quality-control cameras, use Integrated Gradients instead. + XraiAttribution xrai_attribution = 3; + } + + // If populated, returns attributions for top K indices of outputs + // (defaults to 1). Only applies to Models that predicts more than one outputs + // (e,g, multi-class Models). When set to -1, returns explanations for all + // outputs. + int32 top_k = 4; + + // If populated, only returns attributions that have + // [output_index][google.cloud.aiplatform.v1.Attribution.output_index] contained in output_indices. It + // must be an ndarray of integers, with the same shape of the output it's + // explaining. + // + // If not populated, returns attributions for [top_k][google.cloud.aiplatform.v1.ExplanationParameters.top_k] indices of outputs. + // If neither top_k nor output_indices is populated, returns the argmax + // index of the outputs. + // + // Only applicable to Models that predict multiple outputs (e,g, multi-class + // Models that predict multiple classes). + google.protobuf.ListValue output_indices = 5; +} + +// An attribution method that approximates Shapley values for features that +// contribute to the label being predicted. A sampling strategy is used to +// approximate the value rather than considering all subsets of features. +message SampledShapleyAttribution { + // Required. The number of feature permutations to consider when approximating the + // Shapley values. + // + // Valid range of its value is [1, 50], inclusively. + int32 path_count = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// An attribution method that computes the Aumann-Shapley value taking advantage +// of the model's fully differentiable structure. Refer to this paper for +// more details: https://arxiv.org/abs/1703.01365 +message IntegratedGradientsAttribution { + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + int32 step_count = 1 [(google.api.field_behavior) = REQUIRED]; + + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig smooth_grad_config = 2; + + // Config for IG with blur baseline. + // + // When enabled, a linear path from the maximally blurred image to the input + // image is created. Using a blurred baseline instead of zero (black image) is + // motivated by the BlurIG approach explained here: + // https://arxiv.org/abs/2004.03383 + BlurBaselineConfig blur_baseline_config = 3; +} + +// An explanation method that redistributes Integrated Gradients +// attributions to segmented regions, taking advantage of the model's fully +// differentiable structure. Refer to this paper for more details: +// https://arxiv.org/abs/1906.02825 +// +// Supported only by image Models. +message XraiAttribution { + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is met within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + int32 step_count = 1 [(google.api.field_behavior) = REQUIRED]; + + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig smooth_grad_config = 2; + + // Config for XRAI with blur baseline. + // + // When enabled, a linear path from the maximally blurred image to the input + // image is created. Using a blurred baseline instead of zero (black image) is + // motivated by the BlurIG approach explained here: + // https://arxiv.org/abs/2004.03383 + BlurBaselineConfig blur_baseline_config = 3; +} + +// Config for SmoothGrad approximation of gradients. +// +// When enabled, the gradients are approximated by averaging the gradients from +// noisy samples in the vicinity of the inputs. Adding noise can help improve +// the computed gradients. Refer to this paper for more details: +// https://arxiv.org/pdf/1706.03825.pdf +message SmoothGradConfig { + // Represents the standard deviation of the gaussian kernel + // that will be used to add noise to the interpolated inputs + // prior to computing gradients. + oneof GradientNoiseSigma { + // This is a single float value and will be used to add noise to all the + // features. Use this field when all features are normalized to have the + // same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where + // features are normalized to have 0-mean and 1-variance. Learn more about + // [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). + // + // For best results the recommended value is about 10% - 20% of the standard + // deviation of the input feature. Refer to section 3.2 of the SmoothGrad + // paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. + // + // If the distribution is different per feature, set + // [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead + // for each feature. + float noise_sigma = 1; + + // This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but + // provides additional flexibility. A separate noise sigma can be provided + // for each feature, which is useful if their distributions are different. + // No noise is added to features that are not set. If this field is unset, + // [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all + // features. + FeatureNoiseSigma feature_noise_sigma = 2; + } + + // The number of gradient samples to use for + // approximation. The higher this number, the more accurate the gradient + // is, but the runtime complexity increases by this factor as well. + // Valid range of its value is [1, 50]. Defaults to 3. + int32 noisy_sample_count = 3; +} + +// Noise sigma by features. Noise sigma represents the standard deviation of the +// gaussian kernel that will be used to add noise to interpolated inputs prior +// to computing gradients. +message FeatureNoiseSigma { + // Noise sigma for a single feature. + message NoiseSigmaForFeature { + // The name of the input feature for which noise sigma is provided. The + // features are defined in + // [explanation metadata inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs]. + string name = 1; + + // This represents the standard deviation of the Gaussian kernel that will + // be used to add noise to the feature prior to computing gradients. Similar + // to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] but represents the + // noise added to the current feature. Defaults to 0.1. + float sigma = 2; + } + + // Noise sigma per feature. No noise is added to features that are not set. + repeated NoiseSigmaForFeature noise_sigma = 1; +} + +// Config for blur baseline. +// +// When enabled, a linear path from the maximally blurred image to the input +// image is created. Using a blurred baseline instead of zero (black image) is +// motivated by the BlurIG approach explained here: +// https://arxiv.org/abs/2004.03383 +message BlurBaselineConfig { + // The standard deviation of the blur kernel for the blurred baseline. The + // same blurring parameter is used for both the height and the width + // dimension. If not set, the method defaults to the zero (i.e. black for + // images) baseline. + float max_blur_sigma = 1; +} + +// The [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] entries that can be overridden at +// [online explanation][google.cloud.aiplatform.v1.PredictionService.Explain] time. +message ExplanationSpecOverride { + // The parameters to be overridden. Note that the + // [method][google.cloud.aiplatform.v1.ExplanationParameters.method] cannot be changed. If not specified, + // no parameter is overridden. + ExplanationParameters parameters = 1; + + // The metadata to be overridden. If not specified, no metadata is overridden. + ExplanationMetadataOverride metadata = 2; + + // The example-based explanations parameter overrides. + ExamplesOverride examples_override = 3; +} + +// The [ExplanationMetadata][google.cloud.aiplatform.v1.ExplanationMetadata] entries that can be overridden at +// [online explanation][google.cloud.aiplatform.v1.PredictionService.Explain] time. +message ExplanationMetadataOverride { + // The [input metadata][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata] entries to be + // overridden. + message InputMetadataOverride { + // Baseline inputs for this feature. + // + // This overrides the `input_baseline` field of the + // [ExplanationMetadata.InputMetadata][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata] + // object of the corresponding feature's input metadata. If it's not + // specified, the original baselines are not overridden. + repeated google.protobuf.Value input_baselines = 1; + } + + // Required. Overrides the [input metadata][google.cloud.aiplatform.v1.ExplanationMetadata.inputs] of the features. + // The key is the name of the feature to be overridden. The keys specified + // here must exist in the input metadata to be overridden. If a feature is + // not specified here, the corresponding feature's input metadata is not + // overridden. + map inputs = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Overrides for example-based explanations. +message ExamplesOverride { + // Data format enum. + enum DataFormat { + // Unspecified format. Must not be used. + DATA_FORMAT_UNSPECIFIED = 0; + + // Provided data is a set of model inputs. + INSTANCES = 1; + + // Provided data is a set of embeddings. + EMBEDDINGS = 2; + } + + // The number of neighbors to return. + int32 neighbor_count = 1; + + // The number of neighbors to return that have the same crowding tag. + int32 crowding_count = 2; + + // Restrict the resulting nearest neighbors to respect these constraints. + repeated ExamplesRestrictionsNamespace restrictions = 3; + + // If true, return the embeddings instead of neighbors. + bool return_embeddings = 4; + + // The format of the data being provided with each call. + DataFormat data_format = 5; +} + +// Restrictions namespace for example-based explanations overrides. +message ExamplesRestrictionsNamespace { + // The namespace name. + string namespace_name = 1; + + // The list of allowed tags. + repeated string allow = 2; + + // The list of deny tags. + repeated string deny = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/explanation_metadata.proto b/google-cloud/protos/google/cloud/aiplatform/v1/explanation_metadata.proto new file mode 100644 index 00000000..5ee0c1ce --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/explanation_metadata.proto @@ -0,0 +1,398 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ExplanationMetadataProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Metadata describing the Model's input and output for explanation. +message ExplanationMetadata { + // Metadata of the input of a feature. + // + // Fields other than [InputMetadata.input_baselines][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.input_baselines] are applicable only + // for Models that are using Vertex AI-provided images for Tensorflow. + message InputMetadata { + // Domain details of the input feature value. Provides numeric information + // about the feature, such as its range (min, max). If the feature has been + // pre-processed, for example with z-scoring, then it provides information + // about how to recover the original feature. For example, if the input + // feature is an image and it has been pre-processed to obtain 0-mean and + // stddev = 1 values, then original_mean, and original_stddev refer to the + // mean and stddev of the original feature (e.g. image tensor) from which + // input feature (with mean = 0 and stddev = 1) was obtained. + message FeatureValueDomain { + // The minimum permissible value for this feature. + float min_value = 1; + + // The maximum permissible value for this feature. + float max_value = 2; + + // If this input feature has been normalized to a mean value of 0, + // the original_mean specifies the mean value of the domain prior to + // normalization. + float original_mean = 3; + + // If this input feature has been normalized to a standard deviation of + // 1.0, the original_stddev specifies the standard deviation of the domain + // prior to normalization. + float original_stddev = 4; + } + + // Visualization configurations for image explanation. + message Visualization { + // Type of the image visualization. Only applicable to + // [Integrated Gradients attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution]. + enum Type { + // Should not be used. + TYPE_UNSPECIFIED = 0; + + // Shows which pixel contributed to the image prediction. + PIXELS = 1; + + // Shows which region contributed to the image prediction by outlining + // the region. + OUTLINES = 2; + } + + // Whether to only highlight pixels with positive contributions, negative + // or both. Defaults to POSITIVE. + enum Polarity { + // Default value. This is the same as POSITIVE. + POLARITY_UNSPECIFIED = 0; + + // Highlights the pixels/outlines that were most influential to the + // model's prediction. + POSITIVE = 1; + + // Setting polarity to negative highlights areas that does not lead to + // the models's current prediction. + NEGATIVE = 2; + + // Shows both positive and negative attributions. + BOTH = 3; + } + + // The color scheme used for highlighting areas. + enum ColorMap { + // Should not be used. + COLOR_MAP_UNSPECIFIED = 0; + + // Positive: green. Negative: pink. + PINK_GREEN = 1; + + // Viridis color map: A perceptually uniform color mapping which is + // easier to see by those with colorblindness and progresses from yellow + // to green to blue. Positive: yellow. Negative: blue. + VIRIDIS = 2; + + // Positive: red. Negative: red. + RED = 3; + + // Positive: green. Negative: green. + GREEN = 4; + + // Positive: green. Negative: red. + RED_GREEN = 6; + + // PiYG palette. + PINK_WHITE_GREEN = 5; + } + + // How the original image is displayed in the visualization. + enum OverlayType { + // Default value. This is the same as NONE. + OVERLAY_TYPE_UNSPECIFIED = 0; + + // No overlay. + NONE = 1; + + // The attributions are shown on top of the original image. + ORIGINAL = 2; + + // The attributions are shown on top of grayscaled version of the + // original image. + GRAYSCALE = 3; + + // The attributions are used as a mask to reveal predictive parts of + // the image and hide the un-predictive parts. + MASK_BLACK = 4; + } + + // Type of the image visualization. Only applicable to + // [Integrated Gradients attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution]. + // OUTLINES shows regions of attribution, while PIXELS shows per-pixel + // attribution. Defaults to OUTLINES. + Type type = 1; + + // Whether to only highlight pixels with positive contributions, negative + // or both. Defaults to POSITIVE. + Polarity polarity = 2; + + // The color scheme used for the highlighted areas. + // + // Defaults to PINK_GREEN for + // [Integrated Gradients attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution], + // which shows positive attributions in green and negative in pink. + // + // Defaults to VIRIDIS for + // [XRAI attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution], which + // highlights the most influential regions in yellow and the least + // influential in blue. + ColorMap color_map = 3; + + // Excludes attributions above the specified percentile from the + // highlighted areas. Using the clip_percent_upperbound and + // clip_percent_lowerbound together can be useful for filtering out noise + // and making it easier to see areas of strong attribution. Defaults to + // 99.9. + float clip_percent_upperbound = 4; + + // Excludes attributions below the specified percentile, from the + // highlighted areas. Defaults to 62. + float clip_percent_lowerbound = 5; + + // How the original image is displayed in the visualization. + // Adjusting the overlay can help increase visual clarity if the original + // image makes it difficult to view the visualization. Defaults to NONE. + OverlayType overlay_type = 6; + } + + // Defines how a feature is encoded. Defaults to IDENTITY. + enum Encoding { + // Default value. This is the same as IDENTITY. + ENCODING_UNSPECIFIED = 0; + + // The tensor represents one feature. + IDENTITY = 1; + + // The tensor represents a bag of features where each index maps to + // a feature. [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping] must be provided for + // this encoding. For example: + // ``` + // input = [27, 6.0, 150] + // index_feature_mapping = ["age", "height", "weight"] + // ``` + BAG_OF_FEATURES = 2; + + // The tensor represents a bag of features where each index maps to a + // feature. Zero values in the tensor indicates feature being + // non-existent. [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping] must be provided + // for this encoding. For example: + // ``` + // input = [2, 0, 5, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + BAG_OF_FEATURES_SPARSE = 3; + + // The tensor is a list of binaries representing whether a feature exists + // or not (1 indicates existence). [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.index_feature_mapping] + // must be provided for this encoding. For example: + // ``` + // input = [1, 0, 1, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + INDICATOR = 4; + + // The tensor is encoded into a 1-dimensional array represented by an + // encoded tensor. [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoded_tensor_name] must be provided + // for this encoding. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [0.1, 0.2, 0.3, 0.4, 0.5] + // ``` + COMBINED_EMBEDDING = 5; + + // Select this encoding when the input tensor is encoded into a + // 2-dimensional array represented by an encoded tensor. + // [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoded_tensor_name] must be provided for this + // encoding. The first dimension of the encoded tensor's shape is the same + // as the input tensor's shape. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], + // [0.2, 0.1, 0.4, 0.3, 0.5], + // [0.5, 0.1, 0.3, 0.5, 0.4], + // [0.5, 0.3, 0.1, 0.2, 0.4], + // [0.4, 0.3, 0.2, 0.5, 0.1]] + // ``` + CONCAT_EMBEDDING = 6; + } + + // Baseline inputs for this feature. + // + // If no baseline is specified, Vertex AI chooses the baseline for this + // feature. If multiple baselines are specified, Vertex AI returns the + // average attributions across them in [Attribution.feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]. + // + // For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape + // of each baseline must match the shape of the input tensor. If a scalar is + // provided, we broadcast to the same shape as the input tensor. + // + // For custom images, the element of the baselines must be in the same + // format as the feature's input in the + // [instance][google.cloud.aiplatform.v1.ExplainRequest.instances][]. The schema of any single instance + // may be specified via Endpoint's DeployedModels' + // [Model's][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. + repeated google.protobuf.Value input_baselines = 1; + + // Name of the input tensor for this feature. Required and is only + // applicable to Vertex AI-provided images for Tensorflow. + string input_tensor_name = 2; + + // Defines how the feature is encoded into the input tensor. Defaults to + // IDENTITY. + Encoding encoding = 3; + + // Modality of the feature. Valid values are: numeric, image. Defaults to + // numeric. + string modality = 4; + + // The domain details of the input feature value. Like min/max, original + // mean or standard deviation if normalized. + FeatureValueDomain feature_value_domain = 5; + + // Specifies the index of the values of the input tensor. + // Required when the input tensor is a sparse representation. Refer to + // Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + string indices_tensor_name = 6; + + // Specifies the shape of the values of the input if the input is a sparse + // representation. Refer to Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + string dense_shape_tensor_name = 7; + + // A list of feature names for each index in the input tensor. + // Required when the input [InputMetadata.encoding][google.cloud.aiplatform.v1.ExplanationMetadata.InputMetadata.encoding] is BAG_OF_FEATURES, + // BAG_OF_FEATURES_SPARSE, INDICATOR. + repeated string index_feature_mapping = 8; + + // Encoded tensor is a transformation of the input tensor. Must be provided + // if choosing + // [Integrated Gradients attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution] + // or [XRAI attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution] and the + // input tensor is not differentiable. + // + // An encoded tensor is generated if the input tensor is encoded by a lookup + // table. + string encoded_tensor_name = 9; + + // A list of baselines for the encoded tensor. + // + // The shape of each baseline should match the shape of the encoded tensor. + // If a scalar is provided, Vertex AI broadcasts to the same shape as the + // encoded tensor. + repeated google.protobuf.Value encoded_baselines = 10; + + // Visualization configurations for image explanation. + Visualization visualization = 11; + + // Name of the group that the input belongs to. Features with the same group + // name will be treated as one feature when computing attributions. Features + // grouped together can have different shapes in value. If provided, there + // will be one single attribution generated in + // [Attribution.feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions], keyed by the group name. + string group_name = 12; + } + + // Metadata of the prediction output to be explained. + message OutputMetadata { + // Defines how to map [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] to + // [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name]. + // + // If neither of the fields are specified, + // [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name] will not be populated. + oneof display_name_mapping { + // Static mapping between the index and display name. + // + // Use this if the outputs are a deterministic n-dimensional array, e.g. a + // list of scores of all the classes in a pre-defined order for a + // multi-classification Model. It's not feasible if the outputs are + // non-deterministic, e.g. the Model produces top-k classes or sort the + // outputs by their values. + // + // The shape of the value must be an n-dimensional array of strings. The + // number of dimensions must match that of the outputs to be explained. + // The [Attribution.output_display_name][google.cloud.aiplatform.v1.Attribution.output_display_name] is populated by locating in the + // mapping with [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]. + google.protobuf.Value index_display_name_mapping = 1; + + // Specify a field name in the prediction to look for the display name. + // + // Use this if the prediction contains the display names for the outputs. + // + // The display names in the prediction must have the same shape of the + // outputs, so that it can be located by [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index] for + // a specific output. + string display_name_mapping_key = 2; + } + + // Name of the output tensor. Required and is only applicable to Vertex + // AI provided images for Tensorflow. + string output_tensor_name = 3; + } + + // Required. Map from feature names to feature input metadata. Keys are the name of the + // features. Values are the specification of the feature. + // + // An empty InputMetadata is valid. It describes a text feature which has the + // name specified as the key in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs]. The baseline + // of the empty feature is chosen by Vertex AI. + // + // For Vertex AI-provided Tensorflow images, the key can be any friendly + // name of the feature. Once specified, + // [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions] are keyed by + // this key (if not grouped with another feature). + // + // For custom images, the key must match with the key in + // [instance][google.cloud.aiplatform.v1.ExplainRequest.instances]. + map inputs = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Map from output names to output metadata. + // + // For Vertex AI-provided Tensorflow images, keys can be any user defined + // string that consists of any UTF-8 characters. + // + // For custom images, keys are the name of the output field in the prediction + // to be explained. + // + // Currently only one key is allowed. + map outputs = 2 [(google.api.field_behavior) = REQUIRED]; + + // Points to a YAML file stored on Google Cloud Storage describing the format + // of the [feature attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML tabular Models always have this field populated by Vertex AI. + // Note: The URI given on output may be different, including the URI scheme, + // than the one given on input. The output URI will point to a location where + // the user only has a read access. + string feature_attributions_schema_uri = 3; + + // Name of the source to generate embeddings for example based explanations. + string latent_space_source = 5; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/feature.proto b/google-cloud/protos/google/cloud/aiplatform/v1/feature.proto new file mode 100644 index 00000000..690bb364 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/feature.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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/feature_monitoring_stats.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeatureProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Feature Metadata information that describes an attribute of an entity type. +// For example, apple is an entity type, and color is a feature that describes +// apple. +message Feature { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Feature" + pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}" + }; + + // A list of historical [Snapshot + // Analysis][FeaturestoreMonitoringConfig.SnapshotAnalysis] or [Import Feature + // Analysis] [FeaturestoreMonitoringConfig.ImportFeatureAnalysis] stats + // requested by user, sorted by [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1.FeatureStatsAnomaly.start_time] descending. + message MonitoringStatsAnomaly { + // If the objective in the request is both + // Import Feature Analysis and Snapshot Analysis, this objective could be + // one of them. Otherwise, this objective should be the same as the + // objective in the request. + enum Objective { + // If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty. + OBJECTIVE_UNSPECIFIED = 0; + + // Stats are generated by Import Feature Analysis. + IMPORT_FEATURE_ANALYSIS = 1; + + // Stats are generated by Snapshot Analysis. + SNAPSHOT_ANALYSIS = 2; + } + + // Output only. The objective for each stats. + Objective objective = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The stats and anomalies generated at specific timestamp. + FeatureStatsAnomaly feature_stats_anomaly = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An enum representing the value type of a feature. + enum ValueType { + // The value type is unspecified. + VALUE_TYPE_UNSPECIFIED = 0; + + // Used for Feature that is a boolean. + BOOL = 1; + + // Used for Feature that is a list of boolean. + BOOL_ARRAY = 2; + + // Used for Feature that is double. + DOUBLE = 3; + + // Used for Feature that is a list of double. + DOUBLE_ARRAY = 4; + + // Used for Feature that is INT64. + INT64 = 9; + + // Used for Feature that is a list of INT64. + INT64_ARRAY = 10; + + // Used for Feature that is string. + STRING = 11; + + // Used for Feature that is a list of String. + STRING_ARRAY = 12; + + // Used for Feature that is bytes. + BYTES = 13; + } + + // Immutable. Name of the Feature. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + // + // The last part feature is assigned by the client. The feature can be up to + // 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, + // underscore(_), and ASCII digits 0-9 starting with a letter. The value will + // be unique given an entity type. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Description of the Feature. + string description = 2; + + // Required. Immutable. Type of Feature value. + ValueType value_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Timestamp when this EntityType was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this EntityType was most recently updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The labels with user-defined metadata to organize your Features. + // + // 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 Feature (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]; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7; + + // Optional. If not set, use the monitoring_config defined for the EntityType this + // Feature belongs to. + // Only Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL, STRING, DOUBLE or + // INT64 can enable monitoring. + // + // If set to true, all types of data monitoring are disabled despite the + // config on EntityType. + bool disable_monitoring = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The list of historical stats and anomalies with specified objectives. + repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/feature_monitoring_stats.proto b/google-cloud/protos/google/cloud/aiplatform/v1/feature_monitoring_stats.proto new file mode 100644 index 00000000..1138ec8c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/feature_monitoring_stats.proto @@ -0,0 +1,86 @@ +// 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.aiplatform.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeatureMonitoringStatsProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Stats and Anomaly generated at specific timestamp for specific Feature. +// The start_time and end_time are used to define the time range of the dataset +// that current stats belongs to, e.g. prediction traffic is bucketed into +// prediction datasets by time window. If the Dataset is not defined by time +// window, start_time = end_time. Timestamp of the stats and anomalies always +// refers to end_time. Raw stats and anomalies are stored in stats_uri or +// anomaly_uri in the tensorflow defined protos. Field data_stats contains +// almost identical information with the raw stats in Vertex AI +// defined proto, for UI to display. +message FeatureStatsAnomaly { + // Feature importance score, only populated when cross-feature monitoring is + // enabled. For now only used to represent feature attribution score within + // range [0, 1] for + // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW][google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW] and + // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT][google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT]. + double score = 1; + + // Path of the stats file for current feature values in Cloud Storage bucket. + // Format: gs:////stats. + // Example: gs://monitoring_bucket/feature_name/stats. + // Stats are stored as binary format with Protobuf message + // [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). + string stats_uri = 3; + + // Path of the anomaly file for current feature values in Cloud Storage + // bucket. + // Format: gs:////anomalies. + // Example: gs://monitoring_bucket/feature_name/anomalies. + // Stats are stored as binary format with Protobuf message + // Anoamlies are stored as binary format with Protobuf message + // [tensorflow.metadata.v0.AnomalyInfo] + // (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). + string anomaly_uri = 4; + + // Deviation from the current stats to baseline stats. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + double distribution_deviation = 5; + + // This is the threshold used when detecting anomalies. + // The threshold can be changed by user, so this one might be different from + // [ThresholdConfig.value][google.cloud.aiplatform.v1.ThresholdConfig.value]. + double anomaly_detection_threshold = 9; + + // The start timestamp of window where stats were generated. + // For objectives where time window doesn't make sense (e.g. Featurestore + // Snapshot Monitoring), start_time is only used to indicate the monitoring + // intervals, so it always equals to (end_time - monitoring_interval). + google.protobuf.Timestamp start_time = 7; + + // The end timestamp of window where stats were generated. + // For objectives where time window doesn't make sense (e.g. Featurestore + // Snapshot Monitoring), end_time indicates the timestamp of the data used to + // generate stats (e.g. timestamp we take snapshots for feature values). + google.protobuf.Timestamp end_time = 8; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/feature_selector.proto b/google-cloud/protos/google/cloud/aiplatform/v1/feature_selector.proto new file mode 100644 index 00000000..7a4a8e66 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/feature_selector.proto @@ -0,0 +1,44 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeatureSelectorProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Matcher for Features of an EntityType by Feature ID. +message IdMatcher { + // Required. The following are accepted as `ids`: + // + // * A single-element list containing only `*`, which selects all Features + // in the target EntityType, or + // * A list containing only Feature IDs, which selects only Features with + // those IDs in the target EntityType. + repeated string ids = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Selector for Features of an EntityType. +message FeatureSelector { + // Required. Matches Features based on ID. + IdMatcher id_matcher = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/featurestore.proto b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore.proto new file mode 100644 index 00000000..4c8a72f5 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore.proto @@ -0,0 +1,129 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeaturestoreProto"; +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 Store provides a centralized repository for organizing, +// storing, and serving ML features. The Featurestore is a top-level container +// for your features and their values. +message Featurestore { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Featurestore" + pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}" + }; + + // OnlineServingConfig specifies the details for provisioning online serving + // resources. + message OnlineServingConfig { + // Online serving scaling configuration. If min_node_count and + // max_node_count are set to the same value, the cluster will be configured + // with the fixed number of node (no auto-scaling). + message Scaling { + // 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]; + + // The maximum number of nodes to scale up to. Must be greater than + // min_node_count, and less than or equal to 10 times of 'min_node_count'. + int32 max_node_count = 2; + } + + // The number of nodes for the online store. The number of nodes doesn't + // scale automatically, but you can manually update the number of + // nodes. If set to 0, the featurestore will not have an + // online store and cannot be used for online serving. + int32 fixed_node_count = 2; + + // Online serving scaling configuration. + // Only one of `fixed_node_count` and `scaling` can be set. Setting one will + // reset the other. + Scaling scaling = 4; + } + + // Possible states a featurestore can have. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // State when the featurestore configuration is not being updated and the + // fields reflect the current configuration of the featurestore. The + // featurestore is usable in this state. + STABLE = 1; + + // The state of the featurestore configuration when it is being updated. + // During an update, the fields reflect either the original configuration + // or the updated configuration of the featurestore. For example, + // `online_serving_config.fixed_node_count` can take minutes to update. + // While the update is in progress, the featurestore is in the UPDATING + // state, and the value of `fixed_node_count` can be the original value or + // the updated value, depending on the progress of the operation. Until the + // update completes, the actual number of nodes can still be the original + // value of `fixed_node_count`. The featurestore is still usable in this + // state. + UPDATING = 2; + } + + // Output only. Name of the Featurestore. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Featurestore was created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Featurestore 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 Featurestore. + // + // 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 Featurestore(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]; + + // Optional. Config for online storage resources. If unset, the featurestore will + // not have an online store and cannot be used for online serving. + OnlineServingConfig online_serving_config = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. State of the featurestore. + State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Customer-managed encryption key spec for data storage. If set, both of the + // online and offline data storage will be secured by this key. + EncryptionSpec encryption_spec = 10 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_monitoring.proto b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_monitoring.proto new file mode 100644 index 00000000..7233658b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_monitoring.proto @@ -0,0 +1,149 @@ +// 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.aiplatform.v1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeaturestoreMonitoringProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Configuration of how features in Featurestore are monitored. +message FeaturestoreMonitoringConfig { + // Configuration of the Featurestore's Snapshot Analysis Based Monitoring. + // This type of analysis generates statistics for each Feature based on a + // snapshot of the latest feature value of each entities every + // monitoring_interval. + message SnapshotAnalysis { + // The monitoring schedule for snapshot analysis. + // For EntityType-level config: + // unset / disabled = true indicates disabled by + // default for Features under it; otherwise by default enable snapshot + // analysis monitoring with monitoring_interval for Features under it. + // Feature-level config: + // disabled = true indicates disabled regardless of the EntityType-level + // config; unset monitoring_interval indicates going with EntityType-level + // config; otherwise run snapshot analysis monitoring with + // monitoring_interval regardless of the EntityType-level config. + // Explicitly Disable the snapshot analysis based monitoring. + bool disabled = 1; + + // Configuration of the snapshot analysis based monitoring pipeline + // running interval. The value indicates number of days. + // If both + // [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days][google.cloud.aiplatform.v1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days] + // and [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval][] + // are set when creating/updating EntityTypes/Features, + // [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days][google.cloud.aiplatform.v1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days] + // will be used. + int32 monitoring_interval_days = 3; + + // Customized export features time window for snapshot analysis. Unit is one + // day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is + // 4000 days. + int32 staleness_days = 4; + } + + // Configuration of the Featurestore's ImportFeature Analysis Based + // Monitoring. This type of analysis generates statistics for values of each + // Feature imported by every [ImportFeatureValues][] operation. + message ImportFeaturesAnalysis { + // The state defines whether to enable ImportFeature analysis. + enum State { + // Should not be used. + STATE_UNSPECIFIED = 0; + + // The default behavior of whether to enable the monitoring. + // EntityType-level config: disabled. + // Feature-level config: inherited from the configuration of EntityType + // this Feature belongs to. + DEFAULT = 1; + + // Explicitly enables import features analysis. + // EntityType-level config: by default enables import features analysis + // for all Features under it. Feature-level config: enables import + // features analysis regardless of the EntityType-level config. + ENABLED = 2; + + // Explicitly disables import features analysis. + // EntityType-level config: by default disables import features analysis + // for all Features under it. Feature-level config: disables import + // features analysis regardless of the EntityType-level config. + DISABLED = 3; + } + + // Defines the baseline to do anomaly detection for feature values imported + // by each [ImportFeatureValues][] operation. + enum Baseline { + // Should not be used. + BASELINE_UNSPECIFIED = 0; + + // Choose the later one statistics generated by either most recent + // snapshot analysis or previous import features analysis. If non of them + // exists, skip anomaly detection and only generate a statistics. + LATEST_STATS = 1; + + // Use the statistics generated by the most recent snapshot analysis if + // exists. + MOST_RECENT_SNAPSHOT_STATS = 2; + + // Use the statistics generated by the previous import features analysis + // if exists. + PREVIOUS_IMPORT_FEATURES_STATS = 3; + } + + // Whether to enable / disable / inherite default hebavior for import + // features analysis. + State state = 1; + + // The baseline used to do anomaly detection for the statistics generated by + // import features analysis. + Baseline anomaly_detection_baseline = 2; + } + + // The config for Featurestore Monitoring threshold. + message ThresholdConfig { + oneof threshold { + // Specify a threshold value that can trigger the alert. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. Each feature must have a non-zero threshold + // if they need to be monitored. Otherwise no alert will be triggered for + // that feature. + double value = 1; + } + } + + // The config for Snapshot Analysis Based Feature Monitoring. + SnapshotAnalysis snapshot_analysis = 1; + + // The config for ImportFeatures Analysis Based Feature Monitoring. + ImportFeaturesAnalysis import_features_analysis = 2; + + // Threshold for numerical features of anomaly detection. + // This is shared by all objectives of Featurestore Monitoring for numerical + // features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) DOUBLE or INT64). + ThresholdConfig numerical_threshold_config = 3; + + // Threshold for categorical features of anomaly detection. + // This is shared by all types of Featurestore Monitoring for categorical + // features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or STRING). + ThresholdConfig categorical_threshold_config = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_online_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_online_service.proto new file mode 100644 index 00000000..915c4c3f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_online_service.proto @@ -0,0 +1,224 @@ +// 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.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_selector.proto"; +import "google/cloud/aiplatform/v1/types.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeaturestoreOnlineServiceProto"; +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 serving online feature values. +service FeaturestoreOnlineServingService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Reads Feature values of a specific entity of an EntityType. For reading + // feature values of multiple entities of an EntityType, please use + // StreamingReadFeatureValues. + rpc ReadFeatureValues(ReadFeatureValuesRequest) returns (ReadFeatureValuesResponse) { + option (google.api.http) = { + post: "/v1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:readFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "entity_type"; + } + + // Reads Feature values for multiple entities. Depending on their size, data + // for different entities may be broken + // up across multiple responses. + rpc StreamingReadFeatureValues(StreamingReadFeatureValuesRequest) returns (stream ReadFeatureValuesResponse) { + option (google.api.http) = { + post: "/v1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:streamingReadFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "entity_type"; + } +} + +// Request message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.ReadFeatureValues]. +message ReadFeatureValuesRequest { + // Required. The resource name of the EntityType for the entity being read. + // Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + // For example, for a machine learning model predicting user clicks on a + // website, an EntityType ID could be `user`. + string entity_type = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Required. ID for a specific entity. For example, + // for a machine learning model predicting user clicks on a website, an entity + // ID could be `user_123`. + string entity_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Selector choosing Features of the target EntityType. + FeatureSelector feature_selector = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.ReadFeatureValues]. +message ReadFeatureValuesResponse { + // Metadata for requested Features. + message FeatureDescriptor { + // Feature ID. + string id = 1; + } + + // Response header with metadata for the requested + // [ReadFeatureValuesRequest.entity_type][google.cloud.aiplatform.v1.ReadFeatureValuesRequest.entity_type] and Features. + message Header { + // The resource name of the EntityType from the + // [ReadFeatureValuesRequest][google.cloud.aiplatform.v1.ReadFeatureValuesRequest]. Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + string entity_type = 1 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + }]; + + // List of Feature metadata corresponding to each piece of + // [ReadFeatureValuesResponse.data][]. + repeated FeatureDescriptor feature_descriptors = 2; + } + + // Entity view with Feature values. + message EntityView { + // Container to hold value(s), successive in time, for one Feature from the + // request. + message Data { + oneof data { + // Feature value if a single value is requested. + FeatureValue value = 1; + + // Feature values list if values, successive in time, are requested. + // If the requested number of values is greater than the number of + // existing Feature values, nonexistent values are omitted instead of + // being returned as empty. + FeatureValueList values = 2; + } + } + + // ID of the requested entity. + string entity_id = 1; + + // Each piece of data holds the k + // requested values for one requested Feature. If no values + // for the requested Feature exist, the corresponding cell will be empty. + // This has the same size and is in the same order as the features from the + // header [ReadFeatureValuesResponse.header][google.cloud.aiplatform.v1.ReadFeatureValuesResponse.header]. + repeated Data data = 2; + } + + // Response header. + Header header = 1; + + // Entity view with Feature values. This may be the entity in the + // Featurestore if values for all Features were requested, or a projection + // of the entity in the Featurestore if values for only some Features were + // requested. + EntityView entity_view = 2; +} + +// Request message for +// [FeaturestoreOnlineServingService.StreamingFeatureValuesRead][]. +message StreamingReadFeatureValuesRequest { + // Required. The resource name of the entities' type. + // Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + // For example, + // for a machine learning model predicting user clicks on a website, an + // EntityType ID could be `user`. + string entity_type = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Required. IDs of entities to read Feature values of. The maximum number of IDs is + // 100. For example, for a machine learning model predicting user clicks on a + // website, an entity ID could be `user_123`. + repeated string entity_ids = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Selector choosing Features of the target EntityType. Feature IDs will be + // deduplicated. + FeatureSelector feature_selector = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Value for a feature. +message FeatureValue { + // Metadata of feature value. + message Metadata { + // Feature generation timestamp. Typically, it is provided by user at + // feature ingestion time. If not, feature store + // will use the system timestamp when the data is ingested into feature + // store. For streaming ingestion, the time, aligned by days, must be no + // older than five years (1825 days) and no later than one year (366 days) + // in the future. + google.protobuf.Timestamp generate_time = 1; + } + + // Value for the feature. + oneof value { + // Bool type feature value. + bool bool_value = 1; + + // Double type feature value. + double double_value = 2; + + // Int64 feature value. + int64 int64_value = 5; + + // String feature value. + string string_value = 6; + + // A list of bool type feature value. + BoolArray bool_array_value = 7; + + // A list of double type feature value. + DoubleArray double_array_value = 8; + + // A list of int64 type feature value. + Int64Array int64_array_value = 11; + + // A list of string type feature value. + StringArray string_array_value = 12; + + // Bytes feature value. + bytes bytes_value = 13; + } + + // Metadata of feature value. + Metadata metadata = 14; +} + +// Container for list of values. +message FeatureValueList { + // A list of feature values. All of them should be the same data type. + repeated FeatureValue values = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_service.proto new file mode 100644 index 00000000..516092ee --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/featurestore_service.proto @@ -0,0 +1,1234 @@ +// 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.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/entity_type.proto"; +import "google/cloud/aiplatform/v1/feature.proto"; +import "google/cloud/aiplatform/v1/feature_selector.proto"; +import "google/cloud/aiplatform/v1/featurestore.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "FeaturestoreServiceProto"; +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 Featurestore. +service FeaturestoreService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new Featurestore in a given project and location. + rpc CreateFeaturestore(CreateFeaturestoreRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/featurestores" + body: "featurestore" + }; + option (google.api.method_signature) = "parent,featurestore"; + option (google.api.method_signature) = "parent,featurestore,featurestore_id"; + option (google.longrunning.operation_info) = { + response_type: "Featurestore" + metadata_type: "CreateFeaturestoreOperationMetadata" + }; + } + + // Gets details of a single Featurestore. + rpc GetFeaturestore(GetFeaturestoreRequest) returns (Featurestore) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featurestores/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Featurestores in a given project and location. + rpc ListFeaturestores(ListFeaturestoresRequest) returns (ListFeaturestoresResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/featurestores" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single Featurestore. + rpc UpdateFeaturestore(UpdateFeaturestoreRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{featurestore.name=projects/*/locations/*/featurestores/*}" + body: "featurestore" + }; + option (google.api.method_signature) = "featurestore,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Featurestore" + metadata_type: "UpdateFeaturestoreOperationMetadata" + }; + } + + // Deletes a single Featurestore. The Featurestore must not contain any + // EntityTypes or `force` must be set to true for the request to succeed. + rpc DeleteFeaturestore(DeleteFeaturestoreRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featurestores/*}" + }; + option (google.api.method_signature) = "name"; + option (google.api.method_signature) = "name,force"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a new EntityType in a given Featurestore. + rpc CreateEntityType(CreateEntityTypeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/featurestores/*}/entityTypes" + body: "entity_type" + }; + option (google.api.method_signature) = "parent,entity_type"; + option (google.api.method_signature) = "parent,entity_type,entity_type_id"; + option (google.longrunning.operation_info) = { + response_type: "EntityType" + metadata_type: "CreateEntityTypeOperationMetadata" + }; + } + + // Gets details of a single EntityType. + rpc GetEntityType(GetEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists EntityTypes in a given Featurestore. + rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/featurestores/*}/entityTypes" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single EntityType. + rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + patch: "/v1/{entity_type.name=projects/*/locations/*/featurestores/*/entityTypes/*}" + body: "entity_type" + }; + option (google.api.method_signature) = "entity_type,update_mask"; + } + + // Deletes a single EntityType. The EntityType must not have any Features + // or `force` must be set to true for the request to succeed. + rpc DeleteEntityType(DeleteEntityTypeRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + 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 EntityType. + rpc CreateFeature(CreateFeatureRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features" + body: "feature" + }; + option (google.api.method_signature) = "parent,feature"; + option (google.api.method_signature) = "parent,feature,feature_id"; + option (google.longrunning.operation_info) = { + response_type: "Feature" + metadata_type: "CreateFeatureOperationMetadata" + }; + } + + // Creates a batch of Features in a given EntityType. + rpc BatchCreateFeatures(BatchCreateFeaturesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features:batchCreate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + option (google.longrunning.operation_info) = { + response_type: "BatchCreateFeaturesResponse" + metadata_type: "BatchCreateFeaturesOperationMetadata" + }; + } + + // Gets details of a single Feature. + rpc GetFeature(GetFeatureRequest) returns (Feature) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Features in a given EntityType. + rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates the parameters of a single Feature. + rpc UpdateFeature(UpdateFeatureRequest) returns (Feature) { + option (google.api.http) = { + patch: "/v1/{feature.name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}" + body: "feature" + }; + option (google.api.method_signature) = "feature,update_mask"; + } + + // Deletes a single Feature. + rpc DeleteFeature(DeleteFeatureRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Imports Feature values into the Featurestore from a source storage. + // + // The progress of the import is tracked by the returned operation. The + // imported features are guaranteed to be visible to subsequent read + // operations after the operation is marked as successfully done. + // + // If an import operation fails, the Feature values returned from + // reads and exports may be inconsistent. If consistency is + // required, the caller must retry the same import request again and wait till + // the new operation returned is marked as successfully done. + // + // There are also scenarios where the caller can cause inconsistency. + // + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. + rpc ImportFeatureValues(ImportFeatureValuesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:importFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "entity_type"; + option (google.longrunning.operation_info) = { + response_type: "ImportFeatureValuesResponse" + metadata_type: "ImportFeatureValuesOperationMetadata" + }; + } + + // Batch reads Feature values from a Featurestore. + // + // This API enables batch reading Feature values, where each read + // instance in the batch may read Feature values of entities from one or + // more EntityTypes. Point-in-time correctness is guaranteed for Feature + // values of each read instance as of each instance's read timestamp. + rpc BatchReadFeatureValues(BatchReadFeatureValuesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{featurestore=projects/*/locations/*/featurestores/*}:batchReadFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "featurestore"; + option (google.longrunning.operation_info) = { + response_type: "BatchReadFeatureValuesResponse" + metadata_type: "BatchReadFeatureValuesOperationMetadata" + }; + } + + // Exports Feature values from all the entities of a target EntityType. + rpc ExportFeatureValues(ExportFeatureValuesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:exportFeatureValues" + body: "*" + }; + option (google.api.method_signature) = "entity_type"; + option (google.longrunning.operation_info) = { + response_type: "ExportFeatureValuesResponse" + metadata_type: "ExportFeatureValuesOperationMetadata" + }; + } + + // Searches Features matching a query in a given project. + rpc SearchFeatures(SearchFeaturesRequest) returns (SearchFeaturesResponse) { + option (google.api.http) = { + get: "/v1/{location=projects/*/locations/*}/featurestores:searchFeatures" + }; + option (google.api.method_signature) = "location"; + option (google.api.method_signature) = "location,query"; + } +} + +// Request message for [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeaturestore]. +message CreateFeaturestoreRequest { + // Required. The resource name of the Location to create Featurestores. + // Format: + // `projects/{project}/locations/{location}'` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Featurestore" + } + ]; + + // Required. The Featurestore to create. + Featurestore featurestore = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for this Featurestore, which will become the final component + // of the Featurestore'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 featurestore_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.GetFeaturestore]. +message GetFeaturestoreRequest { + // Required. The name of the Featurestore resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Featurestore" + } + ]; +} + +// Request message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores]. +message ListFeaturestoresRequest { + // Required. The resource name of the Location to list Featurestores. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Featurestore" + } + ]; + + // Lists the featurestores 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. + // * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, + // `<=`, and `>=` comparisons. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // Featurestores created or updated after 2020-01-01. + // * `labels.env = "prod"` + // Featurestores with label "env" set to "prod". + string filter = 2; + + // The maximum number of Featurestores to return. The service may return fewer + // than this value. If unspecified, at most 100 Featurestores 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 + // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores] 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` + // * `online_serving_config.fixed_node_count` + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1.FeaturestoreService.ListFeaturestores]. +message ListFeaturestoresResponse { + // The Featurestores matching the request. + repeated Featurestore featurestores = 1; + + // A token, which can be sent as [ListFeaturestoresRequest.page_token][google.cloud.aiplatform.v1.ListFeaturestoresRequest.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 [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeaturestore]. +message UpdateFeaturestoreRequest { + // Required. The Featurestore's `name` field is used to identify the Featurestore to be + // updated. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Featurestore featurestore = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // Featurestore 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` + // * `online_serving_config.fixed_node_count` + // * `online_serving_config.scaling` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeaturestore]. +message DeleteFeaturestoreRequest { + // Required. The name of the Featurestore to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Featurestore" + } + ]; + + // If set to true, any EntityTypes and Features for this Featurestore will + // also be deleted. (Otherwise, the request will only work if the Featurestore + // has no EntityTypes.) + bool force = 2; +} + +// Request message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues]. +message ImportFeatureValuesRequest { + // Defines the Feature value(s) to import. + message FeatureSpec { + // Required. ID of the Feature to import values of. This Feature must exist in the + // target EntityType, or the request will fail. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Source column to get the Feature values from. If not set, uses the column + // with the same name as the Feature ID. + string source_field = 2; + } + + // Details about the source data, including the location of the storage and + // the format. + oneof source { + AvroSource avro_source = 2; + + BigQuerySource bigquery_source = 3; + + CsvSource csv_source = 4; + } + + // Source of Feature timestamp for all Feature values of each entity. + // Timestamps must be millisecond-aligned. + oneof feature_time_source { + // Source column that holds the Feature timestamp for all Feature + // values in each entity. + string feature_time_field = 6; + + // Single Feature timestamp for all entities being imported. The + // timestamp must not have higher than millisecond precision. + google.protobuf.Timestamp feature_time = 7; + } + + // Required. The resource name of the EntityType grouping the Features for which values + // are being imported. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}` + string entity_type = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Source column that holds entity IDs. If not provided, entity IDs are + // extracted from the column named `entity_id`. + string entity_id_field = 5; + + // Required. Specifications defining which Feature values to import from the entity. The + // request fails if no feature_specs are provided, and having multiple + // feature_specs for one Feature is not allowed. + repeated FeatureSpec feature_specs = 8 [(google.api.field_behavior) = REQUIRED]; + + // If set, data will not be imported for online serving. This + // is typically used for backfilling, where Feature generation timestamps are + // not in the timestamp range needed for online serving. + bool disable_online_serving = 9; + + // Specifies the number of workers that are used to write data to the + // Featurestore. Consider the online serving capacity that you require to + // achieve the desired import throughput without interfering with online + // serving. The value must be positive, and less than or equal to 100. + // If not set, defaults to using 1 worker. The low count ensures minimal + // impact on online serving performance. + int32 worker_count = 11; + + // If true, API doesn't start ingestion analysis pipeline. + bool disable_ingestion_analysis = 12; +} + +// Response message for [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ImportFeatureValues]. +message ImportFeatureValuesResponse { + // Number of entities that have been imported by the operation. + int64 imported_entity_count = 1; + + // Number of Feature values that have been imported by the operation. + int64 imported_feature_value_count = 2; + + // The number of rows in input source that weren't imported due to either + // * Not having any featureValues. + // * Having a null entityId. + // * Having a null timestamp. + // * Not being parsable (applicable for CSV sources). + int64 invalid_row_count = 6; + + // The number rows that weren't ingested due to having feature timestamps + // outside the retention boundary. + int64 timestamp_outside_retention_rows_count = 4; +} + +// Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues]. +message BatchReadFeatureValuesRequest { + // Describe pass-through fields in read_instance source. + message PassThroughField { + // Required. The name of the field in the CSV header or the name of the column in + // BigQuery table. The naming restriction is the same as [Feature.name][google.cloud.aiplatform.v1.Feature.name]. + string field_name = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Selects Features of an EntityType to read values of and specifies read + // settings. + message EntityTypeSpec { + // Required. ID of the EntityType to select Features. The EntityType id is the + // [entity_type_id][google.cloud.aiplatform.v1.CreateEntityTypeRequest.entity_type_id] specified + // during EntityType creation. + string entity_type_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Selectors choosing which Feature values to read from the EntityType. + FeatureSelector feature_selector = 2 [(google.api.field_behavior) = REQUIRED]; + + // Per-Feature settings for the batch read. + repeated DestinationFeatureSetting settings = 3; + } + + oneof read_option { + // Each read instance consists of exactly one read timestamp and one or more + // entity IDs identifying entities of the corresponding EntityTypes whose + // Features are requested. + // + // Each output instance contains Feature values of requested entities + // concatenated together as of the read time. + // + // An example read instance may be `foo_entity_id, bar_entity_id, + // 2020-01-01T10:00:00.123Z`. + // + // An example output instance may be `foo_entity_id, bar_entity_id, + // 2020-01-01T10:00:00.123Z, foo_entity_feature1_value, + // bar_entity_feature2_value`. + // + // Timestamp in each read instance must be millisecond-aligned. + // + // `csv_read_instances` are read instances stored in a plain-text CSV file. + // The header should be: + // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp + // + // The columns can be in any order. + // + // Values in the timestamp column must use the RFC 3339 format, e.g. + // `2012-07-30T10:43:17.123Z`. + CsvSource csv_read_instances = 3; + + // Similar to csv_read_instances, but from BigQuery source. + BigQuerySource bigquery_read_instances = 5; + } + + // Required. The resource name of the Featurestore from which to query Feature values. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + string featurestore = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Featurestore" + } + ]; + + // Required. Specifies output location and format. + FeatureValueDestination destination = 4 [(google.api.field_behavior) = REQUIRED]; + + // When not empty, the specified fields in the *_read_instances source will be + // joined as-is in the output, in addition to those fields from the + // Featurestore Entity. + // + // For BigQuery source, the type of the pass-through values will be + // automatically inferred. For CSV source, the pass-through values will be + // passed as opaque bytes. + repeated PassThroughField pass_through_fields = 8; + + // Required. Specifies EntityType grouping Features to read values of and settings. + // Each EntityType referenced in + // [BatchReadFeatureValuesRequest.entity_type_specs] must have a column + // specifying entity IDs in the EntityType in + // [BatchReadFeatureValuesRequest.request][] . + repeated EntityTypeSpec entity_type_specs = 7 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues]. +message ExportFeatureValuesRequest { + // Describes exporting the latest Feature values of all entities of the + // EntityType between [start_time, snapshot_time]. + message SnapshotExport { + // Exports Feature values as of this timestamp. If not set, + // retrieve values as of now. Timestamp, if present, must not have higher + // than millisecond precision. + google.protobuf.Timestamp snapshot_time = 1; + + // Excludes Feature values with feature generation timestamp before this + // timestamp. If not set, retrieve oldest values kept in Feature Store. + // Timestamp, if present, must not have higher than millisecond precision. + google.protobuf.Timestamp start_time = 2; + } + + // Describes exporting all historical Feature values of all entities of the + // EntityType between [start_time, end_time]. + message FullExport { + // Excludes Feature values with feature generation timestamp before this + // timestamp. If not set, retrieve oldest values kept in Feature Store. + // Timestamp, if present, must not have higher than millisecond precision. + google.protobuf.Timestamp start_time = 2; + + // Exports Feature values as of this timestamp. If not set, + // retrieve values as of now. Timestamp, if present, must not have higher + // than millisecond precision. + google.protobuf.Timestamp end_time = 1; + } + + // Required. The mode in which Feature values are exported. + oneof mode { + // Exports the latest Feature values of all entities of the EntityType + // within a time range. + SnapshotExport snapshot_export = 3; + + // Exports all historical values of all entities of the EntityType within a + // time range + FullExport full_export = 7; + } + + // Required. The resource name of the EntityType from which to export Feature values. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string entity_type = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Required. Specifies destination location and format. + FeatureValueDestination destination = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. Selects Features to export values of. + FeatureSelector feature_selector = 5 [(google.api.field_behavior) = REQUIRED]; + + // Per-Feature export settings. + repeated DestinationFeatureSetting settings = 6; +} + +message DestinationFeatureSetting { + // Required. The ID of the Feature to apply the setting to. + string feature_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Specify the field name in the export destination. If not specified, + // Feature ID is used. + string destination_field = 2; +} + +// A destination location for Feature values and format. +message FeatureValueDestination { + oneof destination { + // Output in BigQuery format. + // [BigQueryDestination.output_uri][google.cloud.aiplatform.v1.BigQueryDestination.output_uri] in + // [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1.FeatureValueDestination.bigquery_destination] must refer to a table. + BigQueryDestination bigquery_destination = 1; + + // Output in TFRecord format. + // + // Below are the mapping from Feature value type + // in Featurestore to Feature value type in TFRecord: + // + // Value type in Featurestore | Value type in TFRecord + // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST + // INT64, INT64_ARRAY | INT64_LIST + // STRING, STRING_ARRAY, BYTES | BYTES_LIST + // true -> byte_string("true"), false -> byte_string("false") + // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + TFRecordDestination tfrecord_destination = 2; + + // Output in CSV format. Array Feature value types are not allowed in CSV + // format. + CsvDestination csv_destination = 3; + } +} + +// Response message for [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.ExportFeatureValues]. +message ExportFeatureValuesResponse { + +} + +// Response message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1.FeaturestoreService.BatchReadFeatureValues]. +message BatchReadFeatureValuesResponse { + +} + +// Request message for [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.CreateEntityType]. +message CreateEntityTypeRequest { + // Required. The resource name of the Featurestore to create EntityTypes. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Featurestore" + } + ]; + + // The EntityType to create. + EntityType entity_type = 2; + + // Required. The ID to use for the EntityType, which will become the final component of + // the EntityType'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 featurestore. + string entity_type_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1.FeaturestoreService.GetEntityType]. +message GetEntityTypeRequest { + // Required. The name of the EntityType resource. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; +} + +// Request message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes]. +message ListEntityTypesRequest { + // Required. The resource name of the Featurestore to list EntityTypes. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Lists the EntityTypes 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\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // * `labels.active = yes AND labels.env = prod` --> EntityTypes having both + // (active: yes) and (env: prod) labels. + // * `labels.env: *` --> Any EntityType which has a label with 'env' as the + // key. + string filter = 2; + + // The maximum number of EntityTypes to return. The service may return fewer + // than this value. If unspecified, at most 1000 EntityTypes 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 + // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes] 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: + // + // * `entity_type_id` + // * `create_time` + // * `update_time` + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1.FeaturestoreService.ListEntityTypes]. +message ListEntityTypesResponse { + // The EntityTypes matching the request. + repeated EntityType entity_types = 1; + + // A token, which can be sent as [ListEntityTypesRequest.page_token][google.cloud.aiplatform.v1.ListEntityTypesRequest.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 [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1.FeaturestoreService.UpdateEntityType]. +message UpdateEntityTypeRequest { + // Required. The EntityType's `name` field is used to identify the EntityType to be + // updated. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + EntityType entity_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // EntityType 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: + // + // * `description` + // * `labels` + // * `monitoring_config.snapshot_analysis.disabled` + // * `monitoring_config.snapshot_analysis.monitoring_interval_days` + // * `monitoring_config.snapshot_analysis.staleness_days` + // * `monitoring_config.import_features_analysis.state` + // * `monitoring_config.import_features_analysis.anomaly_detection_baseline` + // * `monitoring_config.numerical_threshold_config.value` + // * `monitoring_config.categorical_threshold_config.value` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for [FeaturestoreService.DeleteEntityTypes][]. +message DeleteEntityTypeRequest { + // Required. The name of the EntityType to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // If set to true, any Features for this EntityType will also be deleted. + // (Otherwise, the request will only work if the EntityType has no Features.) + bool force = 2; +} + +// Request message for [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1.FeaturestoreService.CreateFeature]. +message CreateFeatureRequest { + // Required. The resource name of the EntityType to create a Feature. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Required. The Feature to create. + Feature feature = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the Feature, which will become the final component of + // the Feature'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 an EntityType. + string feature_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures]. +message BatchCreateFeaturesRequest { + // Required. The resource name of the EntityType to create the batch of Features under. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/EntityType" + } + ]; + + // Required. The request message specifying the Features to create. All Features must be + // created under the same parent EntityType. The `parent` field in each child + // request message can be omitted. If `parent` is set in a child request, then + // the value must match the `parent` value in this request message. + repeated CreateFeatureRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1.FeaturestoreService.BatchCreateFeatures]. +message BatchCreateFeaturesResponse { + // The Features created. + repeated Feature features = 1; +} + +// Request message for [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1.FeaturestoreService.GetFeature]. +message GetFeatureRequest { + // Required. The name of the Feature resource. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Feature" + } + ]; +} + +// Request message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures]. +message ListFeaturesRequest { + // Required. The resource name of the Location to list Features. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Feature" + } + ]; + + // Lists the Features that match the filter expression. The following + // filters are supported: + // + // * `value_type`: Supports = and != comparisons. + // * `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: + // + // * `value_type = DOUBLE` --> Features whose type is DOUBLE. + // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // * `labels.active = yes AND labels.env = prod` --> Features having both + // (active: yes) and (env: prod) labels. + // * `labels.env: *` --> Any Feature which has a label with 'env' as the + // key. + string filter = 2; + + // The maximum number of Features to return. The service may return fewer + // than this value. If unspecified, at most 1000 Features 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 + // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures] 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_id` + // * `value_type` + // * `create_time` + // * `update_time` + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; + + // If set, return the most recent [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1.ListFeaturesRequest.latest_stats_count] + // of stats for each Feature in response. Valid value is [0, 10]. If number of + // stats exists < [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1.ListFeaturesRequest.latest_stats_count], return all + // existing stats. + int32 latest_stats_count = 7; +} + +// Response message for [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1.FeaturestoreService.ListFeatures]. +message ListFeaturesResponse { + // The Features matching the request. + repeated Feature features = 1; + + // A token, which can be sent as [ListFeaturesRequest.page_token][google.cloud.aiplatform.v1.ListFeaturesRequest.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 [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures]. +message SearchFeaturesRequest { + // Required. The resource name of the Location to search Features. + // Format: + // `projects/{project}/locations/{location}` + string location = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Query string that is a conjunction of field-restricted queries and/or + // field-restricted filters. Field-restricted queries and filters can be + // combined using `AND` to form a conjunction. + // + // A field query is in the form FIELD:QUERY. This implicitly checks if QUERY + // exists as a substring within Feature's FIELD. The QUERY + // and the FIELD are converted to a sequence of words (i.e. tokens) for + // comparison. This is done by: + // + // * Removing leading/trailing whitespace and tokenizing the search value. + // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore + // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated + // as a wildcard that matches characters within a token. + // * Ignoring case. + // * Prepending an asterisk to the first and appending an asterisk to the + // last token in QUERY. + // + // A QUERY must be either a singular token or a phrase. A phrase is one or + // multiple words enclosed in double quotation marks ("). With phrases, the + // order of the words is important. Words in the phrase must be matching in + // order and consecutively. + // + // Supported FIELDs for field-restricted queries: + // + // * `feature_id` + // * `description` + // * `entity_type_id` + // + // Examples: + // + // * `feature_id: foo` --> Matches a Feature with ID containing the substring + // `foo` (eg. `foo`, `foofeature`, `barfoo`). + // * `feature_id: foo*feature` --> Matches a Feature with ID containing the + // substring `foo*feature` (eg. `foobarfeature`). + // * `feature_id: foo AND description: bar` --> Matches a Feature with ID + // containing the substring `foo` and description containing the substring + // `bar`. + // + // + // Besides field queries, the following exact-match filters are + // supported. The exact-match filters do not support wildcards. Unlike + // field-restricted queries, exact-match filters are case-sensitive. + // + // * `feature_id`: Supports = comparisons. + // * `description`: Supports = comparisons. Multi-token filters should be + // enclosed in quotes. + // * `entity_type_id`: Supports = comparisons. + // * `value_type`: Supports = and != comparisons. + // * `labels`: Supports key-value equality as well as key presence. + // * `featurestore_id`: Supports = comparisons. + // + // Examples: + // * `description = "foo bar"` --> Any Feature with description exactly equal + // to `foo bar` + // * `value_type = DOUBLE` --> Features whose type is DOUBLE. + // * `labels.active = yes AND labels.env = prod` --> Features having both + // (active: yes) and (env: prod) labels. + // * `labels.env: *` --> Any Feature which has a label with `env` as the + // key. + string query = 3; + + // The maximum number of Features to return. The service may return fewer + // than this value. If unspecified, at most 100 Features will be returned. + // The maximum value is 100; any value greater than 100 will be coerced to + // 100. + int32 page_size = 4; + + // A page token, received from a previous + // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures], except `page_size`, must + // match the call that provided the page token. + string page_token = 5; +} + +// Response message for [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1.FeaturestoreService.SearchFeatures]. +message SearchFeaturesResponse { + // The Features matching the request. + // + // Fields returned: + // + // * `name` + // * `description` + // * `labels` + // * `create_time` + // * `update_time` + repeated Feature features = 1; + + // A token, which can be sent as [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1.SearchFeaturesRequest.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 [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1.FeaturestoreService.UpdateFeature]. +message UpdateFeatureRequest { + // Required. The Feature's `name` field is used to identify the Feature to be + // updated. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + Feature feature = 1 [(google.api.field_behavior) = REQUIRED]; + + // Field mask is used to specify the fields to be overwritten in the + // Features 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: + // + // * `description` + // * `labels` + // * `disable_monitoring` + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeature]. +message DeleteFeatureRequest { + // Required. The name of the Features to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Feature" + } + ]; +} + +// Details of operations that perform create Featurestore. +message CreateFeaturestoreOperationMetadata { + // Operation metadata for Featurestore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update Featurestore. +message UpdateFeaturestoreOperationMetadata { + // Operation metadata for Featurestore. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform import Feature values. +message ImportFeatureValuesOperationMetadata { + // Operation metadata for Featurestore import Feature values. + GenericOperationMetadata generic_metadata = 1; + + // Number of entities that have been imported by the operation. + int64 imported_entity_count = 2; + + // Number of Feature values that have been imported by the operation. + int64 imported_feature_value_count = 3; + + // The number of rows in input source that weren't imported due to either + // * Not having any featureValues. + // * Having a null entityId. + // * Having a null timestamp. + // * Not being parsable (applicable for CSV sources). + int64 invalid_row_count = 6; + + // The number rows that weren't ingested due to having timestamps outside the + // retention boundary. + int64 timestamp_outside_retention_rows_count = 7; +} + +// Details of operations that exports Features values. +message ExportFeatureValuesOperationMetadata { + // Operation metadata for Featurestore export Feature values. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that batch reads Feature values. +message BatchReadFeatureValuesOperationMetadata { + // Operation metadata for Featurestore batch read Features values. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create EntityType. +message CreateEntityTypeOperationMetadata { + // Operation metadata for EntityType. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform create Feature. +message CreateFeatureOperationMetadata { + // Operation metadata for Feature. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform batch create Features. +message BatchCreateFeaturesOperationMetadata { + // Operation metadata for Feature. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto new file mode 100644 index 00000000..dfe173dc --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto @@ -0,0 +1,110 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/custom_job.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/job_state.proto"; +import "google/cloud/aiplatform/v1/study.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "HyperparameterTuningJobProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents a HyperparameterTuningJob. A HyperparameterTuningJob +// has a Study specification and multiple CustomJobs with identical +// CustomJob specification. +message HyperparameterTuningJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/HyperparameterTuningJob" + pattern: "projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}" + }; + + // Output only. Resource name of the HyperparameterTuningJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the HyperparameterTuningJob. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Study configuration of the HyperparameterTuningJob. + StudySpec study_spec = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The desired total number of Trials. + int32 max_trial_count = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The desired number of Trials to run in parallel. + int32 parallel_trial_count = 6 [(google.api.field_behavior) = REQUIRED]; + + // The number of failed Trials that need to be seen before failing + // the HyperparameterTuningJob. + // + // If set to 0, Vertex AI decides how many Trials must fail + // before the whole job fails. + int32 max_failed_trial_count = 7; + + // Required. The spec of a trial job. The same spec applies to the CustomJobs created + // in all the trials. + CustomJobSpec trial_job_spec = 8 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Trials of the HyperparameterTuningJob. + repeated Trial trials = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed state of the job. + JobState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the HyperparameterTuningJob was created. + google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the HyperparameterTuningJob for the first time entered the + // `JOB_STATE_RUNNING` state. + google.protobuf.Timestamp start_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the HyperparameterTuningJob entered any of the following states: + // `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + google.protobuf.Timestamp end_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the HyperparameterTuningJob was most recently updated. + google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when job's state is JOB_STATE_FAILED or + // JOB_STATE_CANCELLED. + google.rpc.Status error = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize HyperparameterTuningJobs. + // + // 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 = 16; + + // Customer-managed encryption key options for a HyperparameterTuningJob. + // If this is set, then all resources created by the HyperparameterTuningJob + // will be encrypted with the provided encryption key. + EncryptionSpec encryption_spec = 17; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/index.proto b/google-cloud/protos/google/cloud/aiplatform/v1/index.proto new file mode 100644 index 00000000..69fde66a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/index.proto @@ -0,0 +1,172 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/deployed_index_ref.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "IndexProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A representation of a collection of database items organized in a way that +// allows for approximate nearest neighbor (a.k.a ANN) algorithms search. +message Index { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Index" + pattern: "projects/{project}/locations/{location}/indexes/{index}" + }; + + // The update method of an Index. + enum IndexUpdateMethod { + // Should not be used. + INDEX_UPDATE_METHOD_UNSPECIFIED = 0; + + // BatchUpdate: user can call UpdateIndex with files on Cloud Storage of + // datapoints to update. + BATCH_UPDATE = 1; + + // StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update + // the Index and the updates will be applied in corresponding + // DeployedIndexes in nearly real-time. + STREAM_UPDATE = 2; + } + + // Output only. The resource name of the Index. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the Index. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the Index. + string description = 3; + + // Immutable. Points to a YAML file stored on Google Cloud Storage describing additional + // information about the Index, that is specific to it. Unset if the Index + // does not have any additional information. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string metadata_schema_uri = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // An additional information about the Index; the schema of the metadata can + // be found in [metadata_schema][google.cloud.aiplatform.v1.Index.metadata_schema_uri]. + google.protobuf.Value metadata = 6; + + // Output only. The pointers to DeployedIndexes created from this Index. + // An Index can be only deleted if all its DeployedIndexes had been undeployed + // first. + repeated DeployedIndexRef deployed_indexes = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 8; + + // The labels with user-defined metadata to organize your Indexes. + // + // 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 = 9; + + // Output only. Timestamp when this Index was created. + google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Index was most recently updated. + // This also includes any update to the contents of the Index. + // Note that Operations working on this Index may have their + // [Operations.metadata.generic_metadata.update_time] + // [google.cloud.aiplatform.v1.GenericOperationMetadata.update_time] a little after the value of this + // timestamp, yet that does not mean their results are not already reflected + // in the Index. Result of any successfully completed Operation on the Index + // is reflected in it. + google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Stats of the index resource. + IndexStats index_stats = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. The update method to use with this Index. If not set, BATCH_UPDATE will be + // used by default. + IndexUpdateMethod index_update_method = 16 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A datapoint of Index. +message IndexDatapoint { + // Restriction of a datapoint which describe its attributes(tokens) from each + // of several attribute categories(namespaces). + message Restriction { + // The namespace of this restriction. eg: color. + string namespace = 1; + + // The attributes to allow in this namespace. eg: 'red' + repeated string allow_list = 2; + + // The attributes to deny in this namespace. eg: 'blue' + repeated string deny_list = 3; + } + + // Crowding tag 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. + message CrowdingTag { + // The attribute value used for crowding. The maximum number of neighbors + // to return per crowding attribute value + // (per_crowding_attribute_num_neighbors) is configured per-query. This + // field is ignored if per_crowding_attribute_num_neighbors is larger than + // the total number of neighbors to return for a given query. + string crowding_attribute = 1; + } + + // Required. Unique identifier of the datapoint. + string datapoint_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Feature embedding vector. An array of numbers with the length of + // [NearestNeighborSearchConfig.dimensions]. + repeated float feature_vector = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. List of Restrict of the datapoint, used to perform "restricted searches" + // where boolean rule are used to filter the subset of the database eligible + // for matching. + // See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering + repeated Restriction restricts = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. CrowdingTag of the datapoint, the number of neighbors to return in each + // crowding can be configured during query. + CrowdingTag crowding_tag = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Stats of the Index. +message IndexStats { + // Output only. The number of vectors in the Index. + int64 vectors_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of shards in the Index. + int32 shards_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint.proto b/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint.proto new file mode 100644 index 00000000..9f1e9941 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint.proto @@ -0,0 +1,245 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "IndexEndpointProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Indexes are deployed into it. An IndexEndpoint can have multiple +// DeployedIndexes. +message IndexEndpoint { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + pattern: "projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}" + }; + + // Output only. The resource name of the IndexEndpoint. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the IndexEndpoint. + // 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]; + + // The description of the IndexEndpoint. + string description = 3; + + // Output only. The indexes deployed in this endpoint. + repeated DeployedIndex deployed_indexes = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 5; + + // The labels with user-defined metadata to organize your IndexEndpoints. + // + // 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 = 6; + + // Output only. Timestamp when this IndexEndpoint was created. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this IndexEndpoint was last updated. + // This timestamp is not updated when the endpoint's DeployedIndexes are + // updated, e.g. due to updates of the original Indexes they are the + // deployments of. + google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The full name of the Google Compute Engine + // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + // to which the IndexEndpoint should be peered. + // + // Private services access must already be configured for the network. If left + // unspecified, the Endpoint is not peered with any network. + // + // [network][google.cloud.aiplatform.v1.IndexEndpoint.network] and + // [private_service_connect_config][google.cloud.aiplatform.v1.IndexEndpoint.private_service_connect_config] + // are mutually exclusive. + // + // [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): + // projects/{project}/global/networks/{network}. + // Where {project} is a project number, as in '12345', and {network} is + // network name. + string network = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deprecated: If true, expose the IndexEndpoint via private service connect. + // + // Only one of the fields, [network][google.cloud.aiplatform.v1.IndexEndpoint.network] or + // [enable_private_service_connect][google.cloud.aiplatform.v1.IndexEndpoint.enable_private_service_connect], + // can be set. + bool enable_private_service_connect = 10 [ + deprecated = true, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. +message DeployedIndex { + // Required. The user specified ID of the DeployedIndex. + // The ID can be up to 128 characters long and must start with a letter and + // only contain letters, numbers, and underscores. + // The ID must be unique within the project it is created in. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the Index this is the deployment of. + // We may refer to this Index as the DeployedIndex's "original" Index. + string index = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Index" + } + ]; + + // The display name of the DeployedIndex. If not provided upon creation, + // the Index's display_name is used. + string display_name = 3; + + // Output only. Timestamp when the DeployedIndex was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Provides paths for users to send requests directly to the deployed index + // services running on Cloud via private services access. This field is + // populated if [network][google.cloud.aiplatform.v1.IndexEndpoint.network] is configured. + IndexPrivateEndpoints private_endpoints = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The DeployedIndex may depend on various data on its original Index. + // Additionally when certain changes to the original Index are being done + // (e.g. when what the Index contains is being changed) the DeployedIndex may + // be asynchronously updated in the background to reflect this changes. + // If this timestamp's value is at least the [Index.update_time][google.cloud.aiplatform.v1.Index.update_time] of the + // original Index, it means that this DeployedIndex and the original Index are + // in sync. If this timestamp is older, then to see which updates this + // DeployedIndex already contains (and which not), one must + // [list][Operations.ListOperations] [Operations][Operation] + // [working][Operation.name] on the original Index. Only + // the successfully completed Operations with + // [Operations.metadata.generic_metadata.update_time] + // [google.cloud.aiplatform.v1.GenericOperationMetadata.update_time] + // equal or before this sync time are contained in this DeployedIndex. + google.protobuf.Timestamp index_sync_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A description of resources that the DeployedIndex uses, which to large + // degree are decided by Vertex AI, and optionally allows only a modest + // additional configuration. + // If min_replica_count is not set, the default value is 2 (we don't provide + // SLA when min_replica_count=1). If max_replica_count is not set, the + // default value is min_replica_count. The max allowed replica count is + // 1000. + AutomaticResources automatic_resources = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A description of resources that are dedicated to the DeployedIndex, and + // that need a higher degree of manual configuration. + // If min_replica_count is not set, the default value is 2 (we don't provide + // SLA when min_replica_count=1). If max_replica_count is not set, the + // default value is min_replica_count. The max allowed replica count is + // 1000. + // + // Available machine types: + // n1-standard-16 + // n1-standard-32 + DedicatedResources dedicated_resources = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If true, private endpoint's access logs are sent to StackDriver Logging. + // + // These logs are like standard server access logs, containing + // information like timestamp and latency for each MatchRequest. + // + // Note that Stackdriver logs may incur a cost, especially if the deployed + // index receives a high queries per second rate (QPS). + // Estimate your costs before enabling this option. + bool enable_access_logging = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, the authentication is enabled for the private endpoint. + DeployedIndexAuthConfig deployed_index_auth_config = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of reserved ip ranges under the VPC network that can be + // used for this DeployedIndex. + // + // If set, we will deploy the index within the provided ip ranges. Otherwise, + // the index might be deployed to any ip ranges under the provided VPC + // network. + // + // The value sohuld be the name of the address + // (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) + // Example: 'vertex-ai-ip-range'. + repeated string reserved_ip_ranges = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The deployment group can be no longer than 64 characters (eg: + // 'test', 'prod'). If not set, we will use the 'default' deployment group. + // + // Creating `deployment_groups` with `reserved_ip_ranges` is a recommended + // practice when the peered network has multiple peering ranges. This creates + // your deployments from predictable IP spaces for easier traffic + // administration. Also, one deployment_group (except 'default') can only be + // used with the same reserved_ip_ranges which means if the deployment_group + // has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or + // [d, e] is disallowed. + // + // Note: we only support up to 5 deployment groups(not including 'default'). + string deployment_group = 11 [(google.api.field_behavior) = OPTIONAL]; +} + +// Used to set up the auth on the DeployedIndex's private endpoint. +message DeployedIndexAuthConfig { + // Configuration for an authentication provider, including support for + // [JSON Web Token + // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). + message AuthProvider { + // The list of JWT + // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + // that are allowed to access. A JWT containing any of these audiences will + // be accepted. + repeated string audiences = 1; + + // A list of allowed JWT issuers. Each entry must be a valid Google + // service account, in the following format: + // + // `service-account-name@project-id.iam.gserviceaccount.com` + repeated string allowed_issuers = 2; + } + + // Defines the authentication provider that the DeployedIndex uses. + AuthProvider auth_provider = 1; +} + +// IndexPrivateEndpoints proto is used to provide paths for users to send +// requests via private endpoints (e.g. private service access, private service +// connect). +// To send request via private service access, use match_grpc_address. +// To send request via private service connect, use service_attachment. +message IndexPrivateEndpoints { + // Output only. The ip address used to send match gRPC requests. + string match_grpc_address = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the service attachment resource. Populated if private service + // connect is enabled. + string service_attachment = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint_service.proto new file mode 100644 index 00000000..8acdb5bc --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/index_endpoint_service.proto @@ -0,0 +1,335 @@ +// 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.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_endpoint.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "IndexEndpointServiceProto"; +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 managing Vertex AI's IndexEndpoints. +service IndexEndpointService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates an IndexEndpoint. + rpc CreateIndexEndpoint(CreateIndexEndpointRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/indexEndpoints" + body: "index_endpoint" + }; + option (google.api.method_signature) = "parent,index_endpoint"; + option (google.longrunning.operation_info) = { + response_type: "IndexEndpoint" + metadata_type: "CreateIndexEndpointOperationMetadata" + }; + } + + // Gets an IndexEndpoint. + rpc GetIndexEndpoint(GetIndexEndpointRequest) returns (IndexEndpoint) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/indexEndpoints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists IndexEndpoints in a Location. + rpc ListIndexEndpoints(ListIndexEndpointsRequest) returns (ListIndexEndpointsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/indexEndpoints" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates an IndexEndpoint. + rpc UpdateIndexEndpoint(UpdateIndexEndpointRequest) returns (IndexEndpoint) { + option (google.api.http) = { + patch: "/v1/{index_endpoint.name=projects/*/locations/*/indexEndpoints/*}" + body: "index_endpoint" + }; + option (google.api.method_signature) = "index_endpoint,update_mask"; + } + + // Deletes an IndexEndpoint. + rpc DeleteIndexEndpoint(DeleteIndexEndpointRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/indexEndpoints/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Deploys an Index into this IndexEndpoint, creating a DeployedIndex within + // it. + // Only non-empty Indexes can be deployed. + rpc DeployIndex(DeployIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:deployIndex" + body: "*" + }; + option (google.api.method_signature) = "index_endpoint,deployed_index"; + option (google.longrunning.operation_info) = { + response_type: "DeployIndexResponse" + metadata_type: "DeployIndexOperationMetadata" + }; + } + + // Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, + // and freeing all resources it's using. + rpc UndeployIndex(UndeployIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:undeployIndex" + body: "*" + }; + option (google.api.method_signature) = "index_endpoint,deployed_index_id"; + option (google.longrunning.operation_info) = { + response_type: "UndeployIndexResponse" + metadata_type: "UndeployIndexOperationMetadata" + }; + } + + // Update an existing DeployedIndex under an IndexEndpoint. + rpc MutateDeployedIndex(MutateDeployedIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:mutateDeployedIndex" + body: "deployed_index" + }; + option (google.api.method_signature) = "index_endpoint,deployed_index"; + option (google.longrunning.operation_info) = { + response_type: "MutateDeployedIndexResponse" + metadata_type: "MutateDeployedIndexOperationMetadata" + }; + } +} + +// Request message for [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.CreateIndexEndpoint]. +message CreateIndexEndpointRequest { + // Required. The resource name of the Location to create the IndexEndpoint 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 IndexEndpoint to create. + IndexEndpoint index_endpoint = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for +// [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.CreateIndexEndpoint]. +message CreateIndexEndpointOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [IndexEndpointService.GetIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.GetIndexEndpoint] +message GetIndexEndpointRequest { + // Required. The name of the IndexEndpoint resource. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + } + ]; +} + +// Request message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1.IndexEndpointService.ListIndexEndpoints]. +message ListIndexEndpointsRequest { + // Required. The resource name of the Location from which to list the IndexEndpoints. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // * `index_endpoint` supports = and !=. `index_endpoint` represents the + // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's + // [resourcename][google.cloud.aiplatform.v1.IndexEndpoint.name]. + // * `display_name` supports =, != and regex() + // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* or labels:key - key existence + // A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // * `index_endpoint="1"` + // * `display_name="myDisplayName"` + // * `regex(display_name, "^A") -> The display name starts with an A. + // * `labels.myKey="myValue"` + 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 + // [ListIndexEndpointsResponse.next_page_token][google.cloud.aiplatform.v1.ListIndexEndpointsResponse.next_page_token] of the previous + // [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1.IndexEndpointService.ListIndexEndpoints] call. + string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1.IndexEndpointService.ListIndexEndpoints]. +message ListIndexEndpointsResponse { + // List of IndexEndpoints in the requested page. + repeated IndexEndpoint index_endpoints = 1; + + // A token to retrieve next page of results. + // Pass to [ListIndexEndpointsRequest.page_token][google.cloud.aiplatform.v1.ListIndexEndpointsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [IndexEndpointService.UpdateIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.UpdateIndexEndpoint]. +message UpdateIndexEndpointRequest { + // Required. The IndexEndpoint which replaces the resource on the server. + IndexEndpoint index_endpoint = 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]; +} + +// Request message for [IndexEndpointService.DeleteIndexEndpoint][google.cloud.aiplatform.v1.IndexEndpointService.DeleteIndexEndpoint]. +message DeleteIndexEndpointRequest { + // Required. The name of the IndexEndpoint resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/IndexEndpoint" + } + ]; +} + +// Request message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.DeployIndex]. +message DeployIndexRequest { + // Required. The name of the IndexEndpoint resource into which to deploy an Index. + // 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" + } + ]; + + // Required. The DeployedIndex to be created within the IndexEndpoint. + DeployedIndex deployed_index = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.DeployIndex]. +message DeployIndexResponse { + // The DeployedIndex that had been deployed in the IndexEndpoint. + DeployedIndex deployed_index = 1; +} + +// Runtime operation information for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.DeployIndex]. +message DeployIndexOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; + + // The unique index id specified by user + string deployed_index_id = 2; +} + +// Request message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.UndeployIndex]. +message UndeployIndexRequest { + // Required. The name of the IndexEndpoint resource from which to undeploy an Index. + // 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" + } + ]; + + // Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint. + string deployed_index_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.UndeployIndex]. +message UndeployIndexResponse { + +} + +// Runtime operation information for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1.IndexEndpointService.UndeployIndex]. +message UndeployIndexOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [IndexEndpointService.MutateDeployedIndex][google.cloud.aiplatform.v1.IndexEndpointService.MutateDeployedIndex]. +message MutateDeployedIndexRequest { + // Required. The name of the IndexEndpoint resource into which to deploy an Index. + // 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" + } + ]; + + // Required. The DeployedIndex to be updated within the IndexEndpoint. + // Currently, the updatable fields are [DeployedIndex][automatic_resources] + // and [DeployedIndex][dedicated_resources] + DeployedIndex deployed_index = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [IndexEndpointService.MutateDeployedIndex][google.cloud.aiplatform.v1.IndexEndpointService.MutateDeployedIndex]. +message MutateDeployedIndexResponse { + // The DeployedIndex that had been updated in the IndexEndpoint. + DeployedIndex deployed_index = 1; +} + +// Runtime operation information for +// [IndexEndpointService.MutateDeployedIndex][google.cloud.aiplatform.v1.IndexEndpointService.MutateDeployedIndex]. +message MutateDeployedIndexOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; + + // The unique index id specified by user + string deployed_index_id = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/index_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/index_service.proto new file mode 100644 index 00000000..0f6c6325 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/index_service.proto @@ -0,0 +1,335 @@ +// 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.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"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "IndexServiceProto"; +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 Index resources. +service IndexService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates an Index. + rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/indexes" + body: "index" + }; + option (google.api.method_signature) = "parent,index"; + option (google.longrunning.operation_info) = { + response_type: "Index" + metadata_type: "CreateIndexOperationMetadata" + }; + } + + // Gets an Index. + rpc GetIndex(GetIndexRequest) returns (Index) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/indexes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Indexes in a Location. + rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/indexes" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates an Index. + rpc UpdateIndex(UpdateIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{index.name=projects/*/locations/*/indexes/*}" + body: "index" + }; + option (google.api.method_signature) = "index,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Index" + metadata_type: "UpdateIndexOperationMetadata" + }; + } + + // Deletes an Index. + // An Index can only be deleted when all its + // [DeployedIndexes][google.cloud.aiplatform.v1.Index.deployed_indexes] had been undeployed. + rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/indexes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Add/update Datapoints into an Index. + rpc UpsertDatapoints(UpsertDatapointsRequest) returns (UpsertDatapointsResponse) { + option (google.api.http) = { + post: "/v1/{index=projects/*/locations/*/indexes/*}:upsertDatapoints" + body: "*" + }; + } + + // Remove Datapoints from an Index. + rpc RemoveDatapoints(RemoveDatapointsRequest) returns (RemoveDatapointsResponse) { + option (google.api.http) = { + post: "/v1/{index=projects/*/locations/*/indexes/*}:removeDatapoints" + body: "*" + }; + } +} + +// Request message for [IndexService.CreateIndex][google.cloud.aiplatform.v1.IndexService.CreateIndex]. +message CreateIndexRequest { + // Required. The resource name of the Location to create the Index 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 Index to create. + Index index = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for [IndexService.CreateIndex][google.cloud.aiplatform.v1.IndexService.CreateIndex]. +message CreateIndexOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; + + // The operation metadata with regard to Matching Engine Index operation. + NearestNeighborSearchOperationMetadata nearest_neighbor_search_operation_metadata = 2; +} + +// Request message for [IndexService.GetIndex][google.cloud.aiplatform.v1.IndexService.GetIndex] +message GetIndexRequest { + // Required. The name of the Index resource. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Index" + } + ]; +} + +// Request message for [IndexService.ListIndexes][google.cloud.aiplatform.v1.IndexService.ListIndexes]. +message ListIndexesRequest { + // Required. The resource name of the Location from which to list the Indexes. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListIndexesResponse.next_page_token][google.cloud.aiplatform.v1.ListIndexesResponse.next_page_token] of the previous + // [IndexService.ListIndexes][google.cloud.aiplatform.v1.IndexService.ListIndexes] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [IndexService.ListIndexes][google.cloud.aiplatform.v1.IndexService.ListIndexes]. +message ListIndexesResponse { + // List of indexes in the requested page. + repeated Index indexes = 1; + + // A token to retrieve next page of results. + // Pass to [ListIndexesRequest.page_token][google.cloud.aiplatform.v1.ListIndexesRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [IndexService.UpdateIndex][google.cloud.aiplatform.v1.IndexService.UpdateIndex]. +message UpdateIndexRequest { + // Required. The Index which updates the resource on the server. + Index index = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. + // For the `FieldMask` definition, see [google.protobuf.FieldMask][google.protobuf.FieldMask]. + google.protobuf.FieldMask update_mask = 2; +} + +// Runtime operation information for [IndexService.UpdateIndex][google.cloud.aiplatform.v1.IndexService.UpdateIndex]. +message UpdateIndexOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; + + // The operation metadata with regard to Matching Engine Index operation. + NearestNeighborSearchOperationMetadata nearest_neighbor_search_operation_metadata = 2; +} + +// Request message for [IndexService.DeleteIndex][google.cloud.aiplatform.v1.IndexService.DeleteIndex]. +message DeleteIndexRequest { + // Required. The name of the Index resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Index" + } + ]; +} + +// Request message for [IndexService.UpsertDatapoints][google.cloud.aiplatform.v1.IndexService.UpsertDatapoints] +message UpsertDatapointsRequest { + // Required. The name of the Index resource to be updated. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + string index = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Index" + } + ]; + + // A list of datapoints to be created/updated. + repeated IndexDatapoint datapoints = 2; +} + +// Response message for [IndexService.UpsertDatapoints][google.cloud.aiplatform.v1.IndexService.UpsertDatapoints] +message UpsertDatapointsResponse { + +} + +// Request message for [IndexService.RemoveDatapoints][google.cloud.aiplatform.v1.IndexService.RemoveDatapoints] +message RemoveDatapointsRequest { + // Required. The name of the Index resource to be updated. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + string index = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Index" + } + ]; + + // A list of datapoint ids to be deleted. + repeated string datapoint_ids = 2; +} + +// Response message for [IndexService.RemoveDatapoints][google.cloud.aiplatform.v1.IndexService.RemoveDatapoints] +message RemoveDatapointsResponse { + +} + +// Runtime operation metadata with regard to Matching Engine Index. +message NearestNeighborSearchOperationMetadata { + message RecordError { + enum RecordErrorType { + // Default, shall not be used. + ERROR_TYPE_UNSPECIFIED = 0; + + // The record is empty. + EMPTY_LINE = 1; + + // Invalid json format. + INVALID_JSON_SYNTAX = 2; + + // Invalid csv format. + INVALID_CSV_SYNTAX = 3; + + // Invalid avro format. + INVALID_AVRO_SYNTAX = 4; + + // The embedding id is not valid. + INVALID_EMBEDDING_ID = 5; + + // The size of the embedding vectors does not match with the specified + // dimension. + EMBEDDING_SIZE_MISMATCH = 6; + + // The `namespace` field is missing. + NAMESPACE_MISSING = 7; + } + + // The error type of this record. + RecordErrorType error_type = 1; + + // A human-readable message that is shown to the user to help them fix the + // error. Note that this message may change from time to time, your code + // should check against error_type as the source of truth. + string error_message = 2; + + // Cloud Storage URI pointing to the original file in user's bucket. + string source_gcs_uri = 3; + + // Empty if the embedding id is failed to parse. + string embedding_id = 4; + + // The original content of this record. + string raw_record = 5; + } + + message ContentValidationStats { + // Cloud Storage URI pointing to the original file in user's bucket. + string source_gcs_uri = 1; + + // Number of records in this file that were successfully processed. + int64 valid_record_count = 2; + + // Number of records in this file we skipped due to validate errors. + int64 invalid_record_count = 3; + + // The detail information of the partial failures encountered for those + // invalid records that couldn't be parsed. + // Up to 50 partial errors will be reported. + repeated RecordError partial_errors = 4; + } + + // The validation stats of the content (per file) to be inserted or + // updated on the Matching Engine Index resource. Populated if + // contentsDeltaUri is provided as part of [Index.metadata][google.cloud.aiplatform.v1.Index.metadata]. Please note + // that, currently for those files that are broken or has unsupported file + // format, we will not have the stats for those files. + repeated ContentValidationStats content_validation_stats = 1; + + // The ingested data size in bytes. + int64 data_bytes_count = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/io.proto b/google-cloud/protos/google/cloud/aiplatform/v1/io.proto new file mode 100644 index 00000000..43d5fdc6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/io.proto @@ -0,0 +1,108 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "IoProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The storage details for Avro input content. +message AvroSource { + // Required. Google Cloud Storage location. + GcsSource gcs_source = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The storage details for CSV input content. +message CsvSource { + // Required. Google Cloud Storage location. + GcsSource gcs_source = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The Google Cloud Storage location for the input content. +message GcsSource { + // Required. Google Cloud Storage URI(-s) to the input file(s). May contain + // wildcards. For more information on wildcards, see + // https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. + repeated string uris = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The Google Cloud Storage location where the output is to be written to. +message GcsDestination { + // Required. Google Cloud Storage URI to output directory. If the uri doesn't end with + // '/', a '/' will be automatically appended. The directory is created if it + // doesn't exist. + string output_uri_prefix = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The BigQuery location for the input content. +message BigQuerySource { + // Required. BigQuery URI to a table, up to 2000 characters long. + // Accepted forms: + // + // * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`. + string input_uri = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The BigQuery location for the output content. +message BigQueryDestination { + // Required. BigQuery URI to a project or table, up to 2000 characters long. + // + // When only the project is specified, the Dataset and Table is created. + // When the full table reference is specified, the Dataset must exist and + // table must not exist. + // + // Accepted forms: + // + // * BigQuery path. For example: + // `bq://projectId` or `bq://projectId.bqDatasetId` or + // `bq://projectId.bqDatasetId.bqTableId`. + string output_uri = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The storage details for CSV output content. +message CsvDestination { + // Required. Google Cloud Storage location. + GcsDestination gcs_destination = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The storage details for TFRecord output content. +message TFRecordDestination { + // Required. Google Cloud Storage location. + GcsDestination gcs_destination = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The Container Registry location for the container image. +message ContainerRegistryDestination { + // Required. Container Registry URI of a container image. + // Only Google Container Registry and Artifact Registry are supported now. + // Accepted forms: + // + // * Google Container Registry path. For example: + // `gcr.io/projectId/imageName:tag`. + // + // * Artifact Registry path. For example: + // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. + // + // If a tag is not specified, "latest" will be used as the default tag. + string output_uri = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/job_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/job_service.proto new file mode 100644 index 00000000..7e987dfd --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/job_service.proto @@ -0,0 +1,1033 @@ +// 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.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/batch_prediction_job.proto"; +import "google/cloud/aiplatform/v1/custom_job.proto"; +import "google/cloud/aiplatform/v1/data_labeling_job.proto"; +import "google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto"; +import "google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto"; +import "google/cloud/aiplatform/v1/operation.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.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "JobServiceProto"; +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 jobs. +service JobService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a CustomJob. A created CustomJob right away + // will be attempted to be run. + rpc CreateCustomJob(CreateCustomJobRequest) returns (CustomJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/customJobs" + body: "custom_job" + }; + option (google.api.method_signature) = "parent,custom_job"; + } + + // Gets a CustomJob. + rpc GetCustomJob(GetCustomJobRequest) returns (CustomJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/customJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists CustomJobs in a Location. + rpc ListCustomJobs(ListCustomJobsRequest) returns (ListCustomJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/customJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a CustomJob. + rpc DeleteCustomJob(DeleteCustomJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/customJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a CustomJob. + // Starts asynchronous cancellation on the CustomJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use [JobService.GetCustomJob][google.cloud.aiplatform.v1.JobService.GetCustomJob] or + // other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the CustomJob is not deleted; instead it becomes a job with + // a [CustomJob.error][google.cloud.aiplatform.v1.CustomJob.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and [CustomJob.state][google.cloud.aiplatform.v1.CustomJob.state] is set to + // `CANCELLED`. + rpc CancelCustomJob(CancelCustomJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/customJobs/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a DataLabelingJob. + rpc CreateDataLabelingJob(CreateDataLabelingJobRequest) returns (DataLabelingJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataLabelingJobs" + body: "data_labeling_job" + }; + option (google.api.method_signature) = "parent,data_labeling_job"; + } + + // Gets a DataLabelingJob. + rpc GetDataLabelingJob(GetDataLabelingJobRequest) returns (DataLabelingJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists DataLabelingJobs in a Location. + rpc ListDataLabelingJobs(ListDataLabelingJobsRequest) returns (ListDataLabelingJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataLabelingJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a DataLabelingJob. + rpc DeleteDataLabelingJob(DeleteDataLabelingJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a DataLabelingJob. Success of cancellation is not guaranteed. + rpc CancelDataLabelingJob(CancelDataLabelingJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a HyperparameterTuningJob + rpc CreateHyperparameterTuningJob(CreateHyperparameterTuningJobRequest) returns (HyperparameterTuningJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/hyperparameterTuningJobs" + body: "hyperparameter_tuning_job" + }; + option (google.api.method_signature) = "parent,hyperparameter_tuning_job"; + } + + // Gets a HyperparameterTuningJob + rpc GetHyperparameterTuningJob(GetHyperparameterTuningJobRequest) returns (HyperparameterTuningJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists HyperparameterTuningJobs in a Location. + rpc ListHyperparameterTuningJobs(ListHyperparameterTuningJobsRequest) returns (ListHyperparameterTuningJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/hyperparameterTuningJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a HyperparameterTuningJob. + rpc DeleteHyperparameterTuningJob(DeleteHyperparameterTuningJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a HyperparameterTuningJob. + // Starts asynchronous cancellation on the HyperparameterTuningJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.GetHyperparameterTuningJob] or + // other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the HyperparameterTuningJob is not deleted; instead it becomes a job with + // a [HyperparameterTuningJob.error][google.cloud.aiplatform.v1.HyperparameterTuningJob.error] value with a [google.rpc.Status.code][google.rpc.Status.code] + // of 1, corresponding to `Code.CANCELLED`, and + // [HyperparameterTuningJob.state][google.cloud.aiplatform.v1.HyperparameterTuningJob.state] is set to `CANCELLED`. + rpc CancelHyperparameterTuningJob(CancelHyperparameterTuningJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a BatchPredictionJob. A BatchPredictionJob once created will + // right away be attempted to start. + rpc CreateBatchPredictionJob(CreateBatchPredictionJobRequest) returns (BatchPredictionJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/batchPredictionJobs" + body: "batch_prediction_job" + }; + option (google.api.method_signature) = "parent,batch_prediction_job"; + } + + // Gets a BatchPredictionJob + rpc GetBatchPredictionJob(GetBatchPredictionJobRequest) returns (BatchPredictionJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists BatchPredictionJobs in a Location. + rpc ListBatchPredictionJobs(ListBatchPredictionJobsRequest) returns (ListBatchPredictionJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/batchPredictionJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a BatchPredictionJob. Can only be called on jobs that already + // finished. + rpc DeleteBatchPredictionJob(DeleteBatchPredictionJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a BatchPredictionJob. + // + // Starts asynchronous cancellation on the BatchPredictionJob. The server + // makes the best effort to cancel the job, but success is not + // guaranteed. Clients can use [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob] or + // other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On a successful cancellation, + // the BatchPredictionJob is not deleted;instead its + // [BatchPredictionJob.state][google.cloud.aiplatform.v1.BatchPredictionJob.state] is set to `CANCELLED`. Any files already + // outputted by the job are not deleted. + rpc CancelBatchPredictionJob(CancelBatchPredictionJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a ModelDeploymentMonitoringJob. It will run periodically on a + // configured interval. + rpc CreateModelDeploymentMonitoringJob(CreateModelDeploymentMonitoringJobRequest) returns (ModelDeploymentMonitoringJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs" + body: "model_deployment_monitoring_job" + }; + option (google.api.method_signature) = "parent,model_deployment_monitoring_job"; + } + + // Searches Model Monitoring Statistics generated within a given time window. + rpc SearchModelDeploymentMonitoringStatsAnomalies(SearchModelDeploymentMonitoringStatsAnomaliesRequest) returns (SearchModelDeploymentMonitoringStatsAnomaliesResponse) { + option (google.api.http) = { + post: "/v1/{model_deployment_monitoring_job=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:searchModelDeploymentMonitoringStatsAnomalies" + body: "*" + }; + option (google.api.method_signature) = "model_deployment_monitoring_job,deployed_model_id"; + } + + // Gets a ModelDeploymentMonitoringJob. + rpc GetModelDeploymentMonitoringJob(GetModelDeploymentMonitoringJobRequest) returns (ModelDeploymentMonitoringJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists ModelDeploymentMonitoringJobs in a Location. + rpc ListModelDeploymentMonitoringJobs(ListModelDeploymentMonitoringJobsRequest) returns (ListModelDeploymentMonitoringJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a ModelDeploymentMonitoringJob. + rpc UpdateModelDeploymentMonitoringJob(UpdateModelDeploymentMonitoringJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{model_deployment_monitoring_job.name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" + body: "model_deployment_monitoring_job" + }; + option (google.api.method_signature) = "model_deployment_monitoring_job,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "ModelDeploymentMonitoringJob" + metadata_type: "UpdateModelDeploymentMonitoringJobOperationMetadata" + }; + } + + // Deletes a ModelDeploymentMonitoringJob. + rpc DeleteModelDeploymentMonitoringJob(DeleteModelDeploymentMonitoringJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Pauses a ModelDeploymentMonitoringJob. If the job is running, the server + // makes a best effort to cancel the job. Will mark + // [ModelDeploymentMonitoringJob.state][google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.state] to 'PAUSED'. + rpc PauseModelDeploymentMonitoringJob(PauseModelDeploymentMonitoringJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:pause" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Resumes a paused ModelDeploymentMonitoringJob. It will start to run from + // next scheduled time. A deleted ModelDeploymentMonitoringJob can't be + // resumed. + rpc ResumeModelDeploymentMonitoringJob(ResumeModelDeploymentMonitoringJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:resume" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request message for [JobService.CreateCustomJob][google.cloud.aiplatform.v1.JobService.CreateCustomJob]. +message CreateCustomJobRequest { + // Required. The resource name of the Location to create the CustomJob 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 CustomJob to create. + CustomJob custom_job = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [JobService.GetCustomJob][google.cloud.aiplatform.v1.JobService.GetCustomJob]. +message GetCustomJobRequest { + // Required. The name of the CustomJob resource. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; +} + +// Request message for [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs]. +message ListCustomJobsRequest { + // Required. The resource name of the Location to list the CustomJobs from. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `state` supports `=`, `!=` comparisons. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // * `NOT display_name="my_job"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `labels.keyA=valueA` + // * `labels.keyB:*` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListCustomJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListCustomJobsResponse.next_page_token] of the previous + // [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs] +message ListCustomJobsResponse { + // List of CustomJobs in the requested page. + repeated CustomJob custom_jobs = 1; + + // A token to retrieve the next page of results. + // Pass to [ListCustomJobsRequest.page_token][google.cloud.aiplatform.v1.ListCustomJobsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [JobService.DeleteCustomJob][google.cloud.aiplatform.v1.JobService.DeleteCustomJob]. +message DeleteCustomJobRequest { + // Required. The name of the CustomJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; +} + +// Request message for [JobService.CancelCustomJob][google.cloud.aiplatform.v1.JobService.CancelCustomJob]. +message CancelCustomJobRequest { + // Required. The name of the CustomJob to cancel. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; +} + +// Request message for [JobService.CreateDataLabelingJob][google.cloud.aiplatform.v1.JobService.CreateDataLabelingJob]. +message CreateDataLabelingJobRequest { + // Required. The parent of the DataLabelingJob. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The DataLabelingJob to create. + DataLabelingJob data_labeling_job = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [JobService.GetDataLabelingJob][google.cloud.aiplatform.v1.JobService.GetDataLabelingJob]. +message GetDataLabelingJobRequest { + // Required. The name of the DataLabelingJob. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DataLabelingJob" + } + ]; +} + +// Request message for [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1.JobService.ListDataLabelingJobs]. +message ListDataLabelingJobsRequest { + // Required. The parent of the DataLabelingJob. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `state` supports `=`, `!=` comparisons. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // * `NOT display_name="my_job"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `labels.keyA=valueA` + // * `labels.keyB:*` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read. FieldMask represents a set of + // symbolic field paths. For example, the mask can be `paths: "name"`. The + // "name" here is a field in DataLabelingJob. + // If this field is not set, all fields of the DataLabelingJob are returned. + google.protobuf.FieldMask read_mask = 5; + + // A comma-separated list of fields to order by, sorted in ascending order by + // default. + // Use `desc` after a field name for descending. + string order_by = 6; +} + +// Response message for [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1.JobService.ListDataLabelingJobs]. +message ListDataLabelingJobsResponse { + // A list of DataLabelingJobs that matches the specified filter in the + // request. + repeated DataLabelingJob data_labeling_jobs = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [JobService.DeleteDataLabelingJob][google.cloud.aiplatform.v1.JobService.DeleteDataLabelingJob]. +message DeleteDataLabelingJobRequest { + // Required. The name of the DataLabelingJob to be deleted. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DataLabelingJob" + } + ]; +} + +// Request message for [JobService.CancelDataLabelingJob][google.cloud.aiplatform.v1.JobService.CancelDataLabelingJob]. +message CancelDataLabelingJobRequest { + // Required. The name of the DataLabelingJob. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/DataLabelingJob" + } + ]; +} + +// Request message for [JobService.CreateHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CreateHyperparameterTuningJob]. +message CreateHyperparameterTuningJobRequest { + // Required. The resource name of the Location to create the HyperparameterTuningJob 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 HyperparameterTuningJob to create. + HyperparameterTuningJob hyperparameter_tuning_job = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.GetHyperparameterTuningJob]. +message GetHyperparameterTuningJobRequest { + // Required. The name of the HyperparameterTuningJob resource. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/HyperparameterTuningJob" + } + ]; +} + +// Request message for [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs]. +message ListHyperparameterTuningJobsRequest { + // Required. The resource name of the Location to list the HyperparameterTuningJobs + // from. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `state` supports `=`, `!=` comparisons. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // * `NOT display_name="my_job"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `labels.keyA=valueA` + // * `labels.keyB:*` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListHyperparameterTuningJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListHyperparameterTuningJobsResponse.next_page_token] of the previous + // [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs] +message ListHyperparameterTuningJobsResponse { + // List of HyperparameterTuningJobs in the requested page. + // [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials] of the jobs will be not be returned. + repeated HyperparameterTuningJob hyperparameter_tuning_jobs = 1; + + // A token to retrieve the next page of results. + // Pass to [ListHyperparameterTuningJobsRequest.page_token][google.cloud.aiplatform.v1.ListHyperparameterTuningJobsRequest.page_token] to obtain that + // page. + string next_page_token = 2; +} + +// Request message for [JobService.DeleteHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.DeleteHyperparameterTuningJob]. +message DeleteHyperparameterTuningJobRequest { + // Required. The name of the HyperparameterTuningJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/HyperparameterTuningJob" + } + ]; +} + +// Request message for [JobService.CancelHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CancelHyperparameterTuningJob]. +message CancelHyperparameterTuningJobRequest { + // Required. The name of the HyperparameterTuningJob to cancel. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/HyperparameterTuningJob" + } + ]; +} + +// Request message for [JobService.CreateBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CreateBatchPredictionJob]. +message CreateBatchPredictionJobRequest { + // Required. The resource name of the Location to create the BatchPredictionJob 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 BatchPredictionJob to create. + BatchPredictionJob batch_prediction_job = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob]. +message GetBatchPredictionJobRequest { + // Required. The name of the BatchPredictionJob resource. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/BatchPredictionJob" + } + ]; +} + +// Request message for [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs]. +message ListBatchPredictionJobsRequest { + // Required. The resource name of the Location to list the BatchPredictionJobs + // from. Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `model_display_name` supports `=`, `!=` comparisons. + // * `state` supports `=`, `!=` comparisons. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // * `NOT display_name="my_job"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `labels.keyA=valueA` + // * `labels.keyB:*` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListBatchPredictionJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListBatchPredictionJobsResponse.next_page_token] of the previous + // [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs] +message ListBatchPredictionJobsResponse { + // List of BatchPredictionJobs in the requested page. + repeated BatchPredictionJob batch_prediction_jobs = 1; + + // A token to retrieve the next page of results. + // Pass to [ListBatchPredictionJobsRequest.page_token][google.cloud.aiplatform.v1.ListBatchPredictionJobsRequest.page_token] to obtain that + // page. + string next_page_token = 2; +} + +// Request message for [JobService.DeleteBatchPredictionJob][google.cloud.aiplatform.v1.JobService.DeleteBatchPredictionJob]. +message DeleteBatchPredictionJobRequest { + // Required. The name of the BatchPredictionJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/BatchPredictionJob" + } + ]; +} + +// Request message for [JobService.CancelBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CancelBatchPredictionJob]. +message CancelBatchPredictionJobRequest { + // Required. The name of the BatchPredictionJob to cancel. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/BatchPredictionJob" + } + ]; +} + +// Request message for +// [JobService.CreateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.CreateModelDeploymentMonitoringJob]. +message CreateModelDeploymentMonitoringJobRequest { + // Required. The parent of the ModelDeploymentMonitoringJob. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The ModelDeploymentMonitoringJob to create + ModelDeploymentMonitoringJob model_deployment_monitoring_job = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. +message SearchModelDeploymentMonitoringStatsAnomaliesRequest { + // Stats requested for specific objective. + message StatsAnomaliesObjective { + ModelDeploymentMonitoringObjectiveType type = 1; + + // If set, all attribution scores between + // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time][google.cloud.aiplatform.v1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time] and + // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time][google.cloud.aiplatform.v1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time] are + // fetched, and page token doesn't take affect in this case. + // Only used to retrieve attribution score for the top Features which has + // the highest attribution score in the latest monitoring run. + int32 top_feature_count = 4; + } + + // Required. ModelDeploymentMonitoring Job resource name. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string model_deployment_monitoring_job = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; + + // Required. The DeployedModel ID of the + // [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id]. + string deployed_model_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // The feature display name. If specified, only return the stats belonging to + // this feature. Format: + // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name][google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name], + // example: "user_destination". + string feature_display_name = 3; + + // Required. Objectives of the stats to retrieve. + repeated StatsAnomaliesObjective objectives = 4 [(google.api.field_behavior) = REQUIRED]; + + // The standard list page size. + int32 page_size = 5; + + // A page token received from a previous + // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] + // call. + string page_token = 6; + + // The earliest timestamp of stats being generated. + // If not set, indicates fetching stats till the earliest possible one. + google.protobuf.Timestamp start_time = 7; + + // The latest timestamp of stats being generated. + // If not set, indicates feching stats till the latest possible one. + google.protobuf.Timestamp end_time = 8; +} + +// Response message for +// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. +message SearchModelDeploymentMonitoringStatsAnomaliesResponse { + // Stats retrieved for requested objectives. + // There are at most 1000 + // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats][google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats] + // in the response. + repeated ModelMonitoringStatsAnomalies monitoring_stats = 1; + + // The page token that can be used by the next + // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] + // call. + string next_page_token = 2; +} + +// Request message for +// [JobService.GetModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.GetModelDeploymentMonitoringJob]. +message GetModelDeploymentMonitoringJobRequest { + // Required. The resource name of the ModelDeploymentMonitoringJob. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; +} + +// Request message for +// [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1.JobService.ListModelDeploymentMonitoringJobs]. +message ListModelDeploymentMonitoringJobsRequest { + // Required. The parent of the ModelDeploymentMonitoringJob. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `state` supports `=`, `!=` comparisons. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // * `NOT display_name="my_job"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `labels.keyA=valueA` + // * `labels.keyB:*` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + string page_token = 4; + + // Mask specifying which fields to read + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for +// [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1.JobService.ListModelDeploymentMonitoringJobs]. +message ListModelDeploymentMonitoringJobsResponse { + // A list of ModelDeploymentMonitoringJobs that matches the specified filter + // in the request. + repeated ModelDeploymentMonitoringJob model_deployment_monitoring_jobs = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for +// [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.UpdateModelDeploymentMonitoringJob]. +message UpdateModelDeploymentMonitoringJobRequest { + // Required. The model monitoring configuration which replaces the resource on the + // server. + ModelDeploymentMonitoringJob model_deployment_monitoring_job = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask is used to specify the fields to be overwritten in the + // ModelDeploymentMonitoringJob 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. + // For the objective config, the user can either provide the update mask for + // model_deployment_monitoring_objective_configs or any combination of its + // nested fields, such as: + // model_deployment_monitoring_objective_configs.objective_config.training_dataset. + // + // Updatable fields: + // + // * `display_name` + // * `model_deployment_monitoring_schedule_config` + // * `model_monitoring_alert_config` + // * `logging_sampling_strategy` + // * `labels` + // * `log_ttl` + // * `enable_monitoring_pipeline_logs` + // . and + // * `model_deployment_monitoring_objective_configs` + // . or + // * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` + // * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` + // * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [JobService.DeleteModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.DeleteModelDeploymentMonitoringJob]. +message DeleteModelDeploymentMonitoringJobRequest { + // Required. The resource name of the model monitoring job to delete. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; +} + +// Request message for +// [JobService.PauseModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.PauseModelDeploymentMonitoringJob]. +message PauseModelDeploymentMonitoringJobRequest { + // Required. The resource name of the ModelDeploymentMonitoringJob to pause. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; +} + +// Request message for +// [JobService.ResumeModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.ResumeModelDeploymentMonitoringJob]. +message ResumeModelDeploymentMonitoringJobRequest { + // Required. The resource name of the ModelDeploymentMonitoringJob to resume. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + } + ]; +} + +// Runtime operation information for +// [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.UpdateModelDeploymentMonitoringJob]. +message UpdateModelDeploymentMonitoringJobOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/job_state.proto b/google-cloud/protos/google/cloud/aiplatform/v1/job_state.proto new file mode 100644 index 00000000..45b101c0 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/job_state.proto @@ -0,0 +1,66 @@ +// 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.aiplatform.v1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "JobStateProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Describes the state of a job. +enum JobState { + // The job state is unspecified. + JOB_STATE_UNSPECIFIED = 0; + + // The job has been just created or resumed and processing has not yet begun. + JOB_STATE_QUEUED = 1; + + // The service is preparing to run the job. + JOB_STATE_PENDING = 2; + + // The job is in progress. + JOB_STATE_RUNNING = 3; + + // The job completed successfully. + JOB_STATE_SUCCEEDED = 4; + + // The job failed. + JOB_STATE_FAILED = 5; + + // The job is being cancelled. From this state the job may only go to + // either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + JOB_STATE_CANCELLING = 6; + + // The job has been cancelled. + JOB_STATE_CANCELLED = 7; + + // The job has been stopped, and can be resumed. + JOB_STATE_PAUSED = 8; + + // The job has expired. + JOB_STATE_EXPIRED = 9; + + // The job is being updated. The job is only able to be updated at RUNNING + // state; if the update operation succeeds, job goes back to RUNNING state; if + // the update operation fails, the job goes back to RUNNING state with error + // messages written to [ModelDeploymentMonitoringJob.partial_errors][] field + // if it is a ModelDeploymentMonitoringJob. + JOB_STATE_UPDATING = 10; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/lineage_subgraph.proto b/google-cloud/protos/google/cloud/aiplatform/v1/lineage_subgraph.proto new file mode 100644 index 00000000..7ad020b6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/lineage_subgraph.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1; + +import "google/cloud/aiplatform/v1/artifact.proto"; +import "google/cloud/aiplatform/v1/event.proto"; +import "google/cloud/aiplatform/v1/execution.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "LineageSubgraphProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A subgraph of the overall lineage graph. Event edges connect Artifact and +// Execution nodes. +message LineageSubgraph { + // The Artifact nodes in the subgraph. + repeated Artifact artifacts = 1; + + // The Execution nodes in the subgraph. + repeated Execution executions = 2; + + // The Event edges between Artifacts and Executions in the subgraph. + repeated Event events = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/machine_resources.proto b/google-cloud/protos/google/cloud/aiplatform/v1/machine_resources.proto new file mode 100644 index 00000000..9bcf37c1 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/machine_resources.proto @@ -0,0 +1,204 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1/accelerator_type.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MachineResourcesProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Specification of a single machine. +message MachineSpec { + // Immutable. The type of the machine. + // + // See the [list of machine types supported for + // prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) + // + // See the [list of machine types supported for custom + // training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). + // + // For [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] this field is optional, and the default + // value is `n1-standard-2`. For [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob] or as part of + // [WorkerPoolSpec][google.cloud.aiplatform.v1.WorkerPoolSpec] this field is required. + string machine_type = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The type of accelerator(s) that may be attached to the machine as per + // [accelerator_count][google.cloud.aiplatform.v1.MachineSpec.accelerator_count]. + AcceleratorType accelerator_type = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // The number of accelerators to attach to the machine. + int32 accelerator_count = 3; +} + +// A description of resources that are dedicated to a DeployedModel, and +// that need a higher degree of manual configuration. +message DedicatedResources { + // Required. Immutable. The specification of a single machine used by the prediction. + MachineSpec machine_spec = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. The minimum number of machine replicas this DeployedModel will be always + // deployed on. This value must be greater than or equal to 1. + // + // If traffic against the DeployedModel increases, it may dynamically be + // deployed onto more replicas, and as traffic decreases, some of these extra + // replicas may be freed. + int32 min_replica_count = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The maximum number of replicas this DeployedModel may be deployed on when + // the traffic against it increases. If the requested value is too large, + // the deployment will error, but if deployment succeeds then the ability + // to scale the model to that many replicas is guaranteed (barring service + // outages). If traffic against the DeployedModel increases beyond what its + // replicas at maximum may handle, a portion of the traffic will be dropped. + // If this value is not provided, will use [min_replica_count][google.cloud.aiplatform.v1.DedicatedResources.min_replica_count] as the + // default value. + // + // The value of this field impacts the charge against Vertex CPU and GPU + // quotas. Specifically, you will be charged for (max_replica_count * + // number of cores in the selected machine type) and (max_replica_count * + // number of GPUs per replica in the selected machine type). + int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The metric specifications that overrides a resource + // utilization metric (CPU utilization, accelerator's duty cycle, and so on) + // target value (default to 60 if not set). At most one entry is allowed per + // metric. + // + // If [machine_spec.accelerator_count][google.cloud.aiplatform.v1.MachineSpec.accelerator_count] is + // above 0, the autoscaling will be based on both CPU utilization and + // accelerator's duty cycle metrics and scale up when either metrics exceeds + // its target value while scale down if both metrics are under their target + // value. The default target value is 60 for both metrics. + // + // If [machine_spec.accelerator_count][google.cloud.aiplatform.v1.MachineSpec.accelerator_count] is + // 0, the autoscaling will be based on CPU utilization metric only with + // default target value 60 if not explicitly set. + // + // For example, in the case of Online Prediction, if you want to override + // target CPU utilization to 80, you should set + // [autoscaling_metric_specs.metric_name][google.cloud.aiplatform.v1.AutoscalingMetricSpec.metric_name] + // to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and + // [autoscaling_metric_specs.target][google.cloud.aiplatform.v1.AutoscalingMetricSpec.target] to `80`. + repeated AutoscalingMetricSpec autoscaling_metric_specs = 4 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A description of resources that to large degree are decided by Vertex AI, +// and require only a modest additional configuration. +// Each Model supporting these resources documents its specific guidelines. +message AutomaticResources { + // Immutable. The minimum number of replicas this DeployedModel will be always deployed + // on. If traffic against it increases, it may dynamically be deployed onto + // more replicas up to [max_replica_count][google.cloud.aiplatform.v1.AutomaticResources.max_replica_count], and as traffic decreases, some + // of these extra replicas may be freed. + // If the requested value is too large, the deployment will error. + int32 min_replica_count = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The maximum number of replicas this DeployedModel may be deployed on when + // the traffic against it increases. If the requested value is too large, + // the deployment will error, but if deployment succeeds then the ability + // to scale the model to that many replicas is guaranteed (barring service + // outages). If traffic against the DeployedModel increases beyond what its + // replicas at maximum may handle, a portion of the traffic will be dropped. + // If this value is not provided, a no upper bound for scaling under heavy + // traffic will be assume, though Vertex AI may be unable to scale beyond + // certain replica number. + int32 max_replica_count = 2 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A description of resources that are used for performing batch operations, are +// dedicated to a Model, and need manual configuration. +message BatchDedicatedResources { + // Required. Immutable. The specification of a single machine. + MachineSpec machine_spec = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. The number of machine replicas used at the start of the batch operation. + // If not set, Vertex AI decides starting number, not greater than + // [max_replica_count][google.cloud.aiplatform.v1.BatchDedicatedResources.max_replica_count] + int32 starting_replica_count = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The maximum number of machine replicas the batch operation may be scaled + // to. The default value is 10. + int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Statistics information about resource consumption. +message ResourcesConsumed { + // Output only. The number of replica hours used. Note that many replicas may run in + // parallel, and additionally any given work may be queued for some time. + // Therefore this value is not strictly related to wall time. + double replica_hours = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents the spec of disk options. +message DiskSpec { + // Type of the boot disk (default is "pd-ssd"). + // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or + // "pd-standard" (Persistent Disk Hard Disk Drive). + string boot_disk_type = 1; + + // Size in GB of the boot disk (default is 100GB). + int32 boot_disk_size_gb = 2; +} + +// Represents a mount configuration for Network File System (NFS) to mount. +message NfsMount { + // Required. IP address of the NFS server. + string server = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Source path exported from NFS server. + // Has to start with '/', and combined with the ip address, it indicates + // the source mount path in the form of `server:path` + string path = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Destination mount path. The NFS will be mounted for the user under + // /mnt/nfs/ + string mount_point = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The metric specification that defines the target resource utilization +// (CPU utilization, accelerator's duty cycle, and so on) for calculating the +// desired replica count. +message AutoscalingMetricSpec { + // Required. The resource metric name. + // Supported metrics: + // + // * For Online Prediction: + // * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` + // * `aiplatform.googleapis.com/prediction/online/cpu/utilization` + string metric_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The target resource utilization in percentage (1% - 100%) for the given + // metric; once the real usage deviates from the target by a certain + // percentage, the machine replicas change. The default value is 60 + // (representing 60%) if not provided. + int32 target = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/manual_batch_tuning_parameters.proto b/google-cloud/protos/google/cloud/aiplatform/v1/manual_batch_tuning_parameters.proto new file mode 100644 index 00000000..e469d45e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/manual_batch_tuning_parameters.proto @@ -0,0 +1,39 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ManualBatchTuningParametersProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Manual batch tuning parameters. +message ManualBatchTuningParameters { + // Immutable. The number of the records (e.g. instances) of the operation given in + // each batch to a machine replica. Machine type, and size of a single + // record should be considered when setting this parameter, higher value + // speeds up the batch operation's execution, but too high value will result + // in a whole batch not fitting in a machine's memory, and the whole + // operation will fail. + // The default value is 64. + int32 batch_size = 1 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/metadata_schema.proto b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_schema.proto new file mode 100644 index 00000000..b00a1552 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_schema.proto @@ -0,0 +1,79 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MetadataSchemaProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Instance of a general MetadataSchema. +message MetadataSchema { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/MetadataSchema" + pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/metadataSchemas/{metadata_schema}" + }; + + // Describes the type of the MetadataSchema. + enum MetadataSchemaType { + // Unspecified type for the MetadataSchema. + METADATA_SCHEMA_TYPE_UNSPECIFIED = 0; + + // A type indicating that the MetadataSchema will be used by Artifacts. + ARTIFACT_TYPE = 1; + + // A typee indicating that the MetadataSchema will be used by Executions. + EXECUTION_TYPE = 2; + + // A state indicating that the MetadataSchema will be used by Contexts. + CONTEXT_TYPE = 3; + } + + // Output only. The resource name of the MetadataSchema. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The version of the MetadataSchema. The version's format must match + // the following regular expression: `^[0-9]+[.][0-9]+[.][0-9]+$`, which would + // allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc. + string schema_version = 2; + + // Required. The raw YAML string representation of the MetadataSchema. The combination + // of [MetadataSchema.version] and the schema name given by `title` in + // [MetadataSchema.schema] must be unique within a MetadataStore. + // + // The schema is defined as an OpenAPI 3.0.2 + // [MetadataSchema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject) + string schema = 3 [(google.api.field_behavior) = REQUIRED]; + + // The type of the MetadataSchema. This is a property that identifies which + // metadata types will use the MetadataSchema. + MetadataSchemaType schema_type = 4; + + // Output only. Timestamp when this MetadataSchema was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the Metadata Schema + string description = 6; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/metadata_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_service.proto new file mode 100644 index 00000000..e1dd4fcc --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_service.proto @@ -0,0 +1,1317 @@ +// 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.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/artifact.proto"; +import "google/cloud/aiplatform/v1/context.proto"; +import "google/cloud/aiplatform/v1/event.proto"; +import "google/cloud/aiplatform/v1/execution.proto"; +import "google/cloud/aiplatform/v1/lineage_subgraph.proto"; +import "google/cloud/aiplatform/v1/metadata_schema.proto"; +import "google/cloud/aiplatform/v1/metadata_store.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MetadataServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Service for reading and writing metadata entries. +service MetadataService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Initializes a MetadataStore, including allocation of resources. + rpc CreateMetadataStore(CreateMetadataStoreRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/metadataStores" + body: "metadata_store" + }; + option (google.api.method_signature) = "parent,metadata_store,metadata_store_id"; + option (google.longrunning.operation_info) = { + response_type: "MetadataStore" + metadata_type: "CreateMetadataStoreOperationMetadata" + }; + } + + // Retrieves a specific MetadataStore. + rpc GetMetadataStore(GetMetadataStoreRequest) returns (MetadataStore) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/metadataStores/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists MetadataStores for a Location. + rpc ListMetadataStores(ListMetadataStoresRequest) returns (ListMetadataStoresResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/metadataStores" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a single MetadataStore and all its child resources (Artifacts, + // Executions, and Contexts). + rpc DeleteMetadataStore(DeleteMetadataStoreRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/metadataStores/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteMetadataStoreOperationMetadata" + }; + } + + // Creates an Artifact associated with a MetadataStore. + rpc CreateArtifact(CreateArtifactRequest) returns (Artifact) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/artifacts" + body: "artifact" + }; + option (google.api.method_signature) = "parent,artifact,artifact_id"; + } + + // Retrieves a specific Artifact. + rpc GetArtifact(GetArtifactRequest) returns (Artifact) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Artifacts in the MetadataStore. + rpc ListArtifacts(ListArtifactsRequest) returns (ListArtifactsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/metadataStores/*}/artifacts" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a stored Artifact. + rpc UpdateArtifact(UpdateArtifactRequest) returns (Artifact) { + option (google.api.http) = { + patch: "/v1/{artifact.name=projects/*/locations/*/metadataStores/*/artifacts/*}" + body: "artifact" + }; + option (google.api.method_signature) = "artifact,update_mask"; + } + + // Deletes an Artifact. + rpc DeleteArtifact(DeleteArtifactRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Purges Artifacts. + rpc PurgeArtifacts(PurgeArtifactsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/artifacts:purge" + body: "*" + }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "PurgeArtifactsResponse" + metadata_type: "PurgeArtifactsMetadata" + }; + } + + // Creates a Context associated with a MetadataStore. + rpc CreateContext(CreateContextRequest) returns (Context) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/contexts" + body: "context" + }; + option (google.api.method_signature) = "parent,context,context_id"; + } + + // Retrieves a specific Context. + rpc GetContext(GetContextRequest) returns (Context) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/metadataStores/*/contexts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Contexts on the MetadataStore. + rpc ListContexts(ListContextsRequest) returns (ListContextsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/metadataStores/*}/contexts" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a stored Context. + rpc UpdateContext(UpdateContextRequest) returns (Context) { + option (google.api.http) = { + patch: "/v1/{context.name=projects/*/locations/*/metadataStores/*/contexts/*}" + body: "context" + }; + option (google.api.method_signature) = "context,update_mask"; + } + + // Deletes a stored Context. + rpc DeleteContext(DeleteContextRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/metadataStores/*/contexts/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Purges Contexts. + rpc PurgeContexts(PurgeContextsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/contexts:purge" + body: "*" + }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "PurgeContextsResponse" + metadata_type: "PurgeContextsMetadata" + }; + } + + // Adds a set of Artifacts and Executions to a Context. If any of the + // Artifacts or Executions have already been added to a Context, they are + // simply skipped. + rpc AddContextArtifactsAndExecutions(AddContextArtifactsAndExecutionsRequest) returns (AddContextArtifactsAndExecutionsResponse) { + option (google.api.http) = { + post: "/v1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextArtifactsAndExecutions" + body: "*" + }; + option (google.api.method_signature) = "context,artifacts,executions"; + } + + // Adds a set of Contexts as children to a parent Context. If any of the + // child Contexts have already been added to the parent Context, they are + // simply skipped. If this call would create a cycle or cause any Context to + // have more than 10 parents, the request will fail with an INVALID_ARGUMENT + // error. + rpc AddContextChildren(AddContextChildrenRequest) returns (AddContextChildrenResponse) { + option (google.api.http) = { + post: "/v1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextChildren" + body: "*" + }; + option (google.api.method_signature) = "context,child_contexts"; + } + + // Remove a set of children contexts from a parent Context. If any of the + // child Contexts were NOT added to the parent Context, they are + // simply skipped. + rpc RemoveContextChildren(RemoveContextChildrenRequest) returns (RemoveContextChildrenResponse) { + option (google.api.http) = { + post: "/v1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:removeContextChildren" + body: "*" + }; + option (google.api.method_signature) = "context,child_contexts"; + } + + // Retrieves Artifacts and Executions within the specified Context, connected + // by Event edges and returned as a LineageSubgraph. + rpc QueryContextLineageSubgraph(QueryContextLineageSubgraphRequest) returns (LineageSubgraph) { + option (google.api.http) = { + get: "/v1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:queryContextLineageSubgraph" + }; + option (google.api.method_signature) = "context"; + } + + // Creates an Execution associated with a MetadataStore. + rpc CreateExecution(CreateExecutionRequest) returns (Execution) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/executions" + body: "execution" + }; + option (google.api.method_signature) = "parent,execution,execution_id"; + } + + // Retrieves a specific Execution. + rpc GetExecution(GetExecutionRequest) returns (Execution) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/metadataStores/*/executions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Executions in the MetadataStore. + rpc ListExecutions(ListExecutionsRequest) returns (ListExecutionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/metadataStores/*}/executions" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a stored Execution. + rpc UpdateExecution(UpdateExecutionRequest) returns (Execution) { + option (google.api.http) = { + patch: "/v1/{execution.name=projects/*/locations/*/metadataStores/*/executions/*}" + body: "execution" + }; + option (google.api.method_signature) = "execution,update_mask"; + } + + // Deletes an Execution. + rpc DeleteExecution(DeleteExecutionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/metadataStores/*/executions/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Purges Executions. + rpc PurgeExecutions(PurgeExecutionsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/executions:purge" + body: "*" + }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "PurgeExecutionsResponse" + metadata_type: "PurgeExecutionsMetadata" + }; + } + + // Adds Events to the specified Execution. An Event indicates whether an + // Artifact was used as an input or output for an Execution. If an Event + // already exists between the Execution and the Artifact, the Event is + // skipped. + rpc AddExecutionEvents(AddExecutionEventsRequest) returns (AddExecutionEventsResponse) { + option (google.api.http) = { + post: "/v1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:addExecutionEvents" + body: "*" + }; + option (google.api.method_signature) = "execution,events"; + } + + // Obtains the set of input and output Artifacts for this Execution, in the + // form of LineageSubgraph that also contains the Execution and connecting + // Events. + rpc QueryExecutionInputsAndOutputs(QueryExecutionInputsAndOutputsRequest) returns (LineageSubgraph) { + option (google.api.http) = { + get: "/v1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:queryExecutionInputsAndOutputs" + }; + option (google.api.method_signature) = "execution"; + } + + // Creates a MetadataSchema. + rpc CreateMetadataSchema(CreateMetadataSchemaRequest) returns (MetadataSchema) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas" + body: "metadata_schema" + }; + option (google.api.method_signature) = "parent,metadata_schema,metadata_schema_id"; + } + + // Retrieves a specific MetadataSchema. + rpc GetMetadataSchema(GetMetadataSchemaRequest) returns (MetadataSchema) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/metadataStores/*/metadataSchemas/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists MetadataSchemas. + rpc ListMetadataSchemas(ListMetadataSchemasRequest) returns (ListMetadataSchemasResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves lineage of an Artifact represented through Artifacts and + // Executions connected by Event edges and returned as a LineageSubgraph. + rpc QueryArtifactLineageSubgraph(QueryArtifactLineageSubgraphRequest) returns (LineageSubgraph) { + option (google.api.http) = { + get: "/v1/{artifact=projects/*/locations/*/metadataStores/*/artifacts/*}:queryArtifactLineageSubgraph" + }; + option (google.api.method_signature) = "artifact"; + } +} + +// Request message for [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1.MetadataService.CreateMetadataStore]. +message CreateMetadataStoreRequest { + // Required. The resource name of the Location where the MetadataStore should + // 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 MetadataStore to create. + MetadataStore metadata_store = 2 [(google.api.field_behavior) = REQUIRED]; + + // The {metadatastore} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + // If not provided, the MetadataStore's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all MetadataStores in the parent Location. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting MetadataStore.) + string metadata_store_id = 3; +} + +// Details of operations that perform [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1.MetadataService.CreateMetadataStore]. +message CreateMetadataStoreOperationMetadata { + // Operation metadata for creating a MetadataStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1.MetadataService.GetMetadataStore]. +message GetMetadataStoreRequest { + // Required. The resource name of the MetadataStore to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; +} + +// Request message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1.MetadataService.ListMetadataStores]. +message ListMetadataStoresRequest { + // Required. The Location whose MetadataStores should be listed. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The maximum number of Metadata Stores to return. The service may return + // fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + int32 page_size = 2; + + // A page token, received from a previous + // [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1.MetadataService.ListMetadataStores] call. Provide this to retrieve the + // subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + string page_token = 3; +} + +// Response message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1.MetadataService.ListMetadataStores]. +message ListMetadataStoresResponse { + // The MetadataStores found for the Location. + repeated MetadataStore metadata_stores = 1; + + // A token, which can be sent as + // [ListMetadataStoresRequest.page_token][google.cloud.aiplatform.v1.ListMetadataStoresRequest.page_token] to retrieve the next + // page. If this field is not populated, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1.MetadataService.DeleteMetadataStore]. +message DeleteMetadataStoreRequest { + // Required. The resource name of the MetadataStore to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; + + // Deprecated: Field is no longer supported. + bool force = 2 [deprecated = true]; +} + +// Details of operations that perform [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1.MetadataService.DeleteMetadataStore]. +message DeleteMetadataStoreOperationMetadata { + // Operation metadata for deleting a MetadataStore. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [MetadataService.CreateArtifact][google.cloud.aiplatform.v1.MetadataService.CreateArtifact]. +message CreateArtifactRequest { + // Required. The resource name of the MetadataStore where the Artifact should + // be created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; + + // Required. The Artifact to create. + Artifact artifact = 2 [(google.api.field_behavior) = REQUIRED]; + + // The {artifact} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + // If not provided, the Artifact's ID will be a UUID generated by the service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Artifacts in the parent MetadataStore. (Otherwise + // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the + // caller can't view the preexisting Artifact.) + string artifact_id = 3; +} + +// Request message for [MetadataService.GetArtifact][google.cloud.aiplatform.v1.MetadataService.GetArtifact]. +message GetArtifactRequest { + // Required. The resource name of the Artifact to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + } + ]; +} + +// Request message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1.MetadataService.ListArtifacts]. +message ListArtifactsRequest { + // Required. The MetadataStore whose Artifacts should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Artifact" + } + ]; + + // The maximum number of Artifacts to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + int32 page_size = 2; + + // A page token, received from a previous [MetadataService.ListArtifacts][google.cloud.aiplatform.v1.MetadataService.ListArtifacts] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + string page_token = 3; + + // Filter specifying the boolean condition for the Artifacts to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // The supported set of filters include the following: + // + // * **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // * **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // * **Context based filtering**: + // To filter Artifacts based on the contexts to which they belong, use the + // function operator with the full resource name + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` + // + // Each of the above supported filter types can be combined together using + // logical operators (`AND` & `OR`). + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + string filter = 4; + + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1.MetadataService.ListArtifacts]. +message ListArtifactsResponse { + // The Artifacts retrieved from the MetadataStore. + repeated Artifact artifacts = 1; + + // A token, which can be sent as [ListArtifactsRequest.page_token][google.cloud.aiplatform.v1.ListArtifactsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1.MetadataService.UpdateArtifact]. +message UpdateArtifactRequest { + // Required. The Artifact containing updates. + // The Artifact's [Artifact.name][google.cloud.aiplatform.v1.Artifact.name] field is used to identify the Artifact to + // be updated. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + Artifact artifact = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A FieldMask indicating which fields should be updated. + // Functionality of this field is not yet supported. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL]; + + // If set to true, and the [Artifact][google.cloud.aiplatform.v1.Artifact] is not found, a new [Artifact][google.cloud.aiplatform.v1.Artifact] is + // created. + bool allow_missing = 3; +} + +// Request message for [MetadataService.DeleteArtifact][google.cloud.aiplatform.v1.MetadataService.DeleteArtifact]. +message DeleteArtifactRequest { + // Required. The resource name of the Artifact to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + } + ]; + + // Optional. The etag of the Artifact to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1.MetadataService.PurgeArtifacts]. +message PurgeArtifactsRequest { + // Required. The metadata store to purge Artifacts from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Artifact" + } + ]; + + // Required. A required filter matching the Artifacts to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Artifact names that would be deleted. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1.MetadataService.PurgeArtifacts]. +message PurgeArtifactsResponse { + // The number of Artifacts that this request deleted (or, if `force` is false, + // the number of Artifacts that will be deleted). This can be an estimate. + int64 purge_count = 1; + + // A sample of the Artifact names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + }]; +} + +// Details of operations that perform [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1.MetadataService.PurgeArtifacts]. +message PurgeArtifactsMetadata { + // Operation metadata for purging Artifacts. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [MetadataService.CreateContext][google.cloud.aiplatform.v1.MetadataService.CreateContext]. +message CreateContextRequest { + // Required. The resource name of the MetadataStore where the Context should be + // created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; + + // Required. The Context to create. + Context context = 2 [(google.api.field_behavior) = REQUIRED]; + + // The {context} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. + // If not provided, the Context's ID will be a UUID generated by the service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Contexts in the parent MetadataStore. (Otherwise + // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the + // caller can't view the preexisting Context.) + string context_id = 3; +} + +// Request message for [MetadataService.GetContext][google.cloud.aiplatform.v1.MetadataService.GetContext]. +message GetContextRequest { + // Required. The resource name of the Context to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; +} + +// Request message for [MetadataService.ListContexts][google.cloud.aiplatform.v1.MetadataService.ListContexts] +message ListContextsRequest { + // Required. The MetadataStore whose Contexts should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Context" + } + ]; + + // The maximum number of Contexts to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + int32 page_size = 2; + + // A page token, received from a previous [MetadataService.ListContexts][google.cloud.aiplatform.v1.MetadataService.ListContexts] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + string page_token = 3; + + // Filter specifying the boolean condition for the Contexts to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // Following are the supported set of filters: + // + // * **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `schema_title`, + // `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // * **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0`. + // * **Parent Child filtering**: + // To filter Contexts based on parent-child relationship use the HAS + // operator as follows: + // + // ``` + // parent_contexts: + // "projects//locations//metadataStores//contexts/" + // child_contexts: + // "projects//locations//metadataStores//contexts/" + // ``` + // + // Each of the above supported filters can be combined together using + // logical operators (`AND` & `OR`). + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + string filter = 4; + + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for [MetadataService.ListContexts][google.cloud.aiplatform.v1.MetadataService.ListContexts]. +message ListContextsResponse { + // The Contexts retrieved from the MetadataStore. + repeated Context contexts = 1; + + // A token, which can be sent as [ListContextsRequest.page_token][google.cloud.aiplatform.v1.ListContextsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for [MetadataService.UpdateContext][google.cloud.aiplatform.v1.MetadataService.UpdateContext]. +message UpdateContextRequest { + // Required. The Context containing updates. + // The Context's [Context.name][google.cloud.aiplatform.v1.Context.name] field is used to identify the Context to be + // updated. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Context context = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A FieldMask indicating which fields should be updated. + // Functionality of this field is not yet supported. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL]; + + // If set to true, and the [Context][google.cloud.aiplatform.v1.Context] is not found, a new [Context][google.cloud.aiplatform.v1.Context] is + // created. + bool allow_missing = 3; +} + +// Request message for [MetadataService.DeleteContext][google.cloud.aiplatform.v1.MetadataService.DeleteContext]. +message DeleteContextRequest { + // Required. The resource name of the Context to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; + + // The force deletion semantics is still undefined. + // Users should not use this field. + bool force = 2; + + // Optional. The etag of the Context to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + string etag = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1.MetadataService.PurgeContexts]. +message PurgeContextsRequest { + // Required. The metadata store to purge Contexts from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Context" + } + ]; + + // Required. A required filter matching the Contexts to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Context names that would be deleted. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1.MetadataService.PurgeContexts]. +message PurgeContextsResponse { + // The number of Contexts that this request deleted (or, if `force` is false, + // the number of Contexts that will be deleted). This can be an estimate. + int64 purge_count = 1; + + // A sample of the Context names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + }]; +} + +// Details of operations that perform [MetadataService.PurgeContexts][google.cloud.aiplatform.v1.MetadataService.PurgeContexts]. +message PurgeContextsMetadata { + // Operation metadata for purging Contexts. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1.MetadataService.AddContextArtifactsAndExecutions]. +message AddContextArtifactsAndExecutionsRequest { + // Required. The resource name of the Context that the Artifacts and Executions + // belong to. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + string context = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; + + // The resource names of the Artifacts to attribute to the Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + repeated string artifacts = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + }]; + + // The resource names of the Executions to associate with the + // Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + repeated string executions = 3 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + }]; +} + +// Response message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1.MetadataService.AddContextArtifactsAndExecutions]. +message AddContextArtifactsAndExecutionsResponse { + +} + +// Request message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1.MetadataService.AddContextChildren]. +message AddContextChildrenRequest { + // Required. The resource name of the parent Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + string context = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; + + // The resource names of the child Contexts. + repeated string child_contexts = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + }]; +} + +// Response message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1.MetadataService.AddContextChildren]. +message AddContextChildrenResponse { + +} + +// Request message for +// [MetadataService.DeleteContextChildrenRequest][]. +message RemoveContextChildrenRequest { + // Required. The resource name of the parent Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + string context = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; + + // The resource names of the child Contexts. + repeated string child_contexts = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + }]; +} + +// Response message for [MetadataService.RemoveContextChildren][google.cloud.aiplatform.v1.MetadataService.RemoveContextChildren]. +message RemoveContextChildrenResponse { + +} + +// Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1.MetadataService.QueryContextLineageSubgraph]. +message QueryContextLineageSubgraphRequest { + // Required. The resource name of the Context whose Artifacts and Executions + // should be retrieved as a LineageSubgraph. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + // + // The request may error with FAILED_PRECONDITION if the number of Artifacts, + // the number of Executions, or the number of Events that would be returned + // for the Context exceeds 1000. + string context = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Context" + } + ]; +} + +// Request message for [MetadataService.CreateExecution][google.cloud.aiplatform.v1.MetadataService.CreateExecution]. +message CreateExecutionRequest { + // Required. The resource name of the MetadataStore where the Execution should + // be created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; + + // Required. The Execution to create. + Execution execution = 2 [(google.api.field_behavior) = REQUIRED]; + + // The {execution} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + // If not provided, the Execution's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Executions in the parent MetadataStore. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting Execution.) + string execution_id = 3; +} + +// Request message for [MetadataService.GetExecution][google.cloud.aiplatform.v1.MetadataService.GetExecution]. +message GetExecutionRequest { + // Required. The resource name of the Execution to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + } + ]; +} + +// Request message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1.MetadataService.ListExecutions]. +message ListExecutionsRequest { + // Required. The MetadataStore whose Executions should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Execution" + } + ]; + + // The maximum number of Executions to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + int32 page_size = 2; + + // A page token, received from a previous [MetadataService.ListExecutions][google.cloud.aiplatform.v1.MetadataService.ListExecutions] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with an + // INVALID_ARGUMENT error.) + string page_token = 3; + + // Filter specifying the boolean condition for the Executions to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // Following are the supported set of filters: + // + // * **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // * **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..` + // For example: `metadata.field_1.number_value = 10.0` + // * **Context based filtering**: + // To filter Executions based on the contexts to which they belong use + // the function operator with the full resource name: + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` + // + // Each of the above supported filters can be combined together using + // logical operators (`AND` & `OR`). + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + string filter = 4; + + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// Response message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1.MetadataService.ListExecutions]. +message ListExecutionsResponse { + // The Executions retrieved from the MetadataStore. + repeated Execution executions = 1; + + // A token, which can be sent as [ListExecutionsRequest.page_token][google.cloud.aiplatform.v1.ListExecutionsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for [MetadataService.UpdateExecution][google.cloud.aiplatform.v1.MetadataService.UpdateExecution]. +message UpdateExecutionRequest { + // Required. The Execution containing updates. + // The Execution's [Execution.name][google.cloud.aiplatform.v1.Execution.name] field is used to identify the Execution + // to be updated. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Execution execution = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A FieldMask indicating which fields should be updated. + // Functionality of this field is not yet supported. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL]; + + // If set to true, and the [Execution][google.cloud.aiplatform.v1.Execution] is not found, a new [Execution][google.cloud.aiplatform.v1.Execution] + // is created. + bool allow_missing = 3; +} + +// Request message for [MetadataService.DeleteExecution][google.cloud.aiplatform.v1.MetadataService.DeleteExecution]. +message DeleteExecutionRequest { + // Required. The resource name of the Execution to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + } + ]; + + // Optional. The etag of the Execution to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1.MetadataService.PurgeExecutions]. +message PurgeExecutionsRequest { + // Required. The metadata store to purge Executions from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Execution" + } + ]; + + // Required. A required filter matching the Executions to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + string filter = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Execution names that would be deleted. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1.MetadataService.PurgeExecutions]. +message PurgeExecutionsResponse { + // The number of Executions that this request deleted (or, if `force` is + // false, the number of Executions that will be deleted). This can be an + // estimate. + int64 purge_count = 1; + + // A sample of the Execution names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + repeated string purge_sample = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + }]; +} + +// Details of operations that perform [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1.MetadataService.PurgeExecutions]. +message PurgeExecutionsMetadata { + // Operation metadata for purging Executions. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1.MetadataService.AddExecutionEvents]. +message AddExecutionEventsRequest { + // Required. The resource name of the Execution that the Events connect + // Artifacts with. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + string execution = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + } + ]; + + // The Events to create and add. + repeated Event events = 2; +} + +// Response message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1.MetadataService.AddExecutionEvents]. +message AddExecutionEventsResponse { + +} + +// Request message for [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1.MetadataService.QueryExecutionInputsAndOutputs]. +message QueryExecutionInputsAndOutputsRequest { + // Required. The resource name of the Execution whose input and output Artifacts should + // be retrieved as a LineageSubgraph. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + string execution = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Execution" + } + ]; +} + +// Request message for [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1.MetadataService.CreateMetadataSchema]. +message CreateMetadataSchemaRequest { + // Required. The resource name of the MetadataStore where the MetadataSchema should + // be created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataStore" + } + ]; + + // Required. The MetadataSchema to create. + MetadataSchema metadata_schema = 2 [(google.api.field_behavior) = REQUIRED]; + + // The {metadata_schema} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` + // If not provided, the MetadataStore's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all MetadataSchemas in the parent Location. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting MetadataSchema.) + string metadata_schema_id = 3; +} + +// Request message for [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1.MetadataService.GetMetadataSchema]. +message GetMetadataSchemaRequest { + // Required. The resource name of the MetadataSchema to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/MetadataSchema" + } + ]; +} + +// Request message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1.MetadataService.ListMetadataSchemas]. +message ListMetadataSchemasRequest { + // Required. The MetadataStore whose MetadataSchemas should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/MetadataSchema" + } + ]; + + // The maximum number of MetadataSchemas to return. The service may return + // fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + int32 page_size = 2; + + // A page token, received from a previous + // [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1.MetadataService.ListMetadataSchemas] call. Provide this to retrieve the + // next page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + string page_token = 3; + + // A query to filter available MetadataSchemas for matching results. + string filter = 4; +} + +// Response message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1.MetadataService.ListMetadataSchemas]. +message ListMetadataSchemasResponse { + // The MetadataSchemas found for the MetadataStore. + repeated MetadataSchema metadata_schemas = 1; + + // A token, which can be sent as + // [ListMetadataSchemasRequest.page_token][google.cloud.aiplatform.v1.ListMetadataSchemasRequest.page_token] to retrieve the next + // page. If this field is not populated, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1.MetadataService.QueryArtifactLineageSubgraph]. +message QueryArtifactLineageSubgraphRequest { + // Required. The resource name of the Artifact whose Lineage needs to be retrieved as a + // LineageSubgraph. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + // + // The request may error with FAILED_PRECONDITION if the number of Artifacts, + // the number of Executions, or the number of Events that would be returned + // for the Context exceeds 1000. + string artifact = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Artifact" + } + ]; + + // Specifies the size of the lineage graph in terms of number of hops from the + // specified artifact. + // Negative Value: INVALID_ARGUMENT error is returned + // 0: Only input artifact is returned. + // No value: Transitive closure is performed to return the complete graph. + int32 max_hops = 2; + + // Filter specifying the boolean condition for the Artifacts to satisfy in + // order to be part of the Lineage Subgraph. + // The syntax to define filter query is based on https://google.aip.dev/160. + // The supported set of filters include the following: + // + // * **Attribute filtering**: + // For example: `display_name = "test"` + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // * **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // + // Each of the above supported filter types can be combined together using + // logical operators (`AND` & `OR`). + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + string filter = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/metadata_store.proto b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_store.proto new file mode 100644 index 00000000..31e7fd2c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/metadata_store.proto @@ -0,0 +1,65 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MetadataProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Instance of a metadata store. Contains a set of metadata that can be +// queried. +message MetadataStore { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/MetadataStore" + pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}" + }; + + // Represents state information for a MetadataStore. + message MetadataStoreState { + // The disk utilization of the MetadataStore in bytes. + int64 disk_utilization_bytes = 1; + } + + // Output only. The resource name of the MetadataStore instance. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this MetadataStore was created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this MetadataStore was last updated. + google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Customer-managed encryption key spec for a Metadata Store. If set, this + // Metadata Store and all sub-resources of this Metadata Store are secured + // using this key. + EncryptionSpec encryption_spec = 5; + + // Description of the MetadataStore. + string description = 6; + + // Output only. State information of the MetadataStore. + MetadataStoreState state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/migratable_resource.proto b/google-cloud/protos/google/cloud/aiplatform/v1/migratable_resource.proto new file mode 100644 index 00000000..3306029a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/migratable_resource.proto @@ -0,0 +1,150 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MigratableResourceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; +option (google.api.resource_definition) = { + type: "ml.googleapis.com/Version" + pattern: "projects/{project}/models/{model}/versions/{version}" +}; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" +}; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Dataset" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}" +}; +option (google.api.resource_definition) = { + type: "datalabeling.googleapis.com/Dataset" + pattern: "projects/{project}/datasets/{dataset}" +}; +option (google.api.resource_definition) = { + type: "datalabeling.googleapis.com/AnnotatedDataset" + pattern: "projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}" +}; + +// Represents one resource that exists in automl.googleapis.com, +// datalabeling.googleapis.com or ml.googleapis.com. +message MigratableResource { + // Represents one model Version in ml.googleapis.com. + message MlEngineModelVersion { + // The ml.googleapis.com endpoint that this model Version currently lives + // in. + // Example values: + // + // * ml.googleapis.com + // * us-centrall-ml.googleapis.com + // * europe-west4-ml.googleapis.com + // * asia-east1-ml.googleapis.com + string endpoint = 1; + + // Full resource name of ml engine model Version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + string version = 2 [(google.api.resource_reference) = { + type: "ml.googleapis.com/Version" + }]; + } + + // Represents one Model in automl.googleapis.com. + message AutomlModel { + // Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + string model = 1 [(google.api.resource_reference) = { + type: "automl.googleapis.com/Model" + }]; + + // The Model's display name in automl.googleapis.com. + string model_display_name = 3; + } + + // Represents one Dataset in automl.googleapis.com. + message AutomlDataset { + // Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + string dataset = 1 [(google.api.resource_reference) = { + type: "automl.googleapis.com/Dataset" + }]; + + // The Dataset's display name in automl.googleapis.com. + string dataset_display_name = 4; + } + + // Represents one Dataset in datalabeling.googleapis.com. + message DataLabelingDataset { + // Represents one AnnotatedDataset in datalabeling.googleapis.com. + message DataLabelingAnnotatedDataset { + // Full resource name of data labeling AnnotatedDataset. + // Format: + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + string annotated_dataset = 1 [(google.api.resource_reference) = { + type: "datalabeling.googleapis.com/AnnotatedDataset" + }]; + + // The AnnotatedDataset's display name in datalabeling.googleapis.com. + string annotated_dataset_display_name = 3; + } + + // Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + string dataset = 1 [(google.api.resource_reference) = { + type: "datalabeling.googleapis.com/Dataset" + }]; + + // The Dataset's display name in datalabeling.googleapis.com. + string dataset_display_name = 4; + + // The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to + // the data labeling Dataset. + repeated DataLabelingAnnotatedDataset data_labeling_annotated_datasets = 3; + } + + oneof resource { + // Output only. Represents one Version in ml.googleapis.com. + MlEngineModelVersion ml_engine_model_version = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents one Model in automl.googleapis.com. + AutomlModel automl_model = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents one Dataset in automl.googleapis.com. + AutomlDataset automl_dataset = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents one Dataset in datalabeling.googleapis.com. + DataLabelingDataset data_labeling_dataset = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Timestamp when the last migration attempt on this MigratableResource + // started. Will not be set if there's no migration attempt on this + // MigratableResource. + google.protobuf.Timestamp last_migrate_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this MigratableResource was last updated. + google.protobuf.Timestamp last_update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/migration_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/migration_service.proto new file mode 100644 index 00000000..bcacf30a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/migration_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.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/migratable_resource.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "MigrationServiceProto"; +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 migrates resources from automl.googleapis.com, +// datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. +service MigrationService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Searches all of the resources in automl.googleapis.com, + // datalabeling.googleapis.com and ml.googleapis.com that can be migrated to + // Vertex AI's given location. + rpc SearchMigratableResources(SearchMigratableResourcesRequest) returns (SearchMigratableResourcesResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/migratableResources:search" + body: "*" + }; + option (google.api.method_signature) = "parent"; + } + + // Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + // and datalabeling.googleapis.com to Vertex AI. + rpc BatchMigrateResources(BatchMigrateResourcesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/migratableResources:batchMigrate" + body: "*" + }; + option (google.api.method_signature) = "parent,migrate_resource_requests"; + option (google.longrunning.operation_info) = { + response_type: "BatchMigrateResourcesResponse" + metadata_type: "BatchMigrateResourcesOperationMetadata" + }; + } +} + +// Request message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1.MigrationService.SearchMigratableResources]. +message SearchMigratableResourcesRequest { + // Required. The location that the migratable resources should be searched from. + // It's the Vertex AI location that the resources can be migrated to, not + // the resources' original location. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard page size. + // The default and maximum value is 100. + int32 page_size = 2; + + // The standard page token. + string page_token = 3; + + // A filter for your search. You can use the following types of filters: + // + // * Resource type filters. The following strings filter for a specific type + // of [MigratableResource][google.cloud.aiplatform.v1.MigratableResource]: + // * `ml_engine_model_version:*` + // * `automl_model:*` + // * `automl_dataset:*` + // * `data_labeling_dataset:*` + // * "Migrated or not" filters. The following strings filter for resources + // that either have or have not already been migrated: + // * `last_migrate_time:*` filters for migrated resources. + // * `NOT last_migrate_time:*` filters for not yet migrated resources. + string filter = 4; +} + +// Response message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1.MigrationService.SearchMigratableResources]. +message SearchMigratableResourcesResponse { + // All migratable resources that can be migrated to the + // location specified in the request. + repeated MigratableResource migratable_resources = 1; + + // The standard next-page token. + // The migratable_resources may not fill page_size in + // SearchMigratableResourcesRequest even when there are subsequent pages. + string next_page_token = 2; +} + +// Request message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources]. +message BatchMigrateResourcesRequest { + // Required. The location of the migrated resource will live 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 request messages specifying the resources to migrate. + // They must be in the same location as the destination. + // Up to 50 resources can be migrated in one batch. + repeated MigrateResourceRequest migrate_resource_requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Config of migrating one resource from automl.googleapis.com, +// datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. +message MigrateResourceRequest { + // Config for migrating version in ml.googleapis.com to Vertex AI's Model. + message MigrateMlEngineModelVersionConfig { + // Required. The ml.googleapis.com endpoint that this model version should be migrated + // from. + // Example values: + // + // * ml.googleapis.com + // + // * us-centrall-ml.googleapis.com + // + // * europe-west4-ml.googleapis.com + // + // * asia-east1-ml.googleapis.com + string endpoint = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Full resource name of ml engine model version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + string model_version = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "ml.googleapis.com/Version" + } + ]; + + // Required. Display name of the model in Vertex AI. + // System will pick a display name if unspecified. + string model_display_name = 3 [(google.api.field_behavior) = REQUIRED]; + } + + // Config for migrating Model in automl.googleapis.com to Vertex AI's Model. + message MigrateAutomlModelConfig { + // Required. Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + string model = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "automl.googleapis.com/Model" + } + ]; + + // Optional. Display name of the model in Vertex AI. + // System will pick a display name if unspecified. + string model_display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Config for migrating Dataset in automl.googleapis.com to Vertex AI's + // Dataset. + message MigrateAutomlDatasetConfig { + // Required. Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + string dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "automl.googleapis.com/Dataset" + } + ]; + + // Required. Display name of the Dataset in Vertex AI. + // System will pick a display name if unspecified. + string dataset_display_name = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Config for migrating Dataset in datalabeling.googleapis.com to Vertex + // AI's Dataset. + message MigrateDataLabelingDatasetConfig { + // Config for migrating AnnotatedDataset in datalabeling.googleapis.com to + // Vertex AI's SavedQuery. + message MigrateDataLabelingAnnotatedDatasetConfig { + // Required. Full resource name of data labeling AnnotatedDataset. + // Format: + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + string annotated_dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datalabeling.googleapis.com/AnnotatedDataset" + } + ]; + } + + // Required. Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + string dataset = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datalabeling.googleapis.com/Dataset" + } + ]; + + // Optional. Display name of the Dataset in Vertex AI. + // System will pick a display name if unspecified. + string dataset_display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configs for migrating AnnotatedDataset in datalabeling.googleapis.com to + // Vertex AI's SavedQuery. The specified AnnotatedDatasets have to belong + // to the datalabeling Dataset. + repeated MigrateDataLabelingAnnotatedDatasetConfig migrate_data_labeling_annotated_dataset_configs = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + oneof request { + // Config for migrating Version in ml.googleapis.com to Vertex AI's Model. + MigrateMlEngineModelVersionConfig migrate_ml_engine_model_version_config = 1; + + // Config for migrating Model in automl.googleapis.com to Vertex AI's + // Model. + MigrateAutomlModelConfig migrate_automl_model_config = 2; + + // Config for migrating Dataset in automl.googleapis.com to Vertex AI's + // Dataset. + MigrateAutomlDatasetConfig migrate_automl_dataset_config = 3; + + // Config for migrating Dataset in datalabeling.googleapis.com to + // Vertex AI's Dataset. + MigrateDataLabelingDatasetConfig migrate_data_labeling_dataset_config = 4; + } +} + +// Response message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources]. +message BatchMigrateResourcesResponse { + // Successfully migrated resources. + repeated MigrateResourceResponse migrate_resource_responses = 1; +} + +// Describes a successfully migrated resource. +message MigrateResourceResponse { + // After migration, the resource name in Vertex AI. + oneof migrated_resource { + // Migrated Dataset's resource name. + string dataset = 1 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + }]; + + // Migrated Model's resource name. + string model = 2 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + }]; + } + + // Before migration, the identifier in ml.googleapis.com, + // automl.googleapis.com or datalabeling.googleapis.com. + MigratableResource migratable_resource = 3; +} + +// Runtime operation information for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1.MigrationService.BatchMigrateResources]. +message BatchMigrateResourcesOperationMetadata { + // Represents a partial result in batch migration operation for one + // [MigrateResourceRequest][google.cloud.aiplatform.v1.MigrateResourceRequest]. + message PartialResult { + // If the resource's migration is ongoing, none of the result will be set. + // If the resource's migration is finished, either error or one of the + // migrated resource name will be filled. + oneof result { + // The error result of the migration request in case of failure. + google.rpc.Status error = 2; + + // Migrated model resource name. + string model = 3 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + }]; + + // Migrated dataset resource name. + string dataset = 4 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + }]; + } + + // It's the same as the value in + // [MigrateResourceRequest.migrate_resource_requests][]. + MigrateResourceRequest request = 1; + } + + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; + + // Partial results that reflect the latest migration operation progress. + repeated PartialResult partial_results = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model.proto new file mode 100644 index 00000000..f34fad6e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model.proto @@ -0,0 +1,617 @@ +// 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.aiplatform.v1; + +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/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/env_var.proto"; +import "google/cloud/aiplatform/v1/explanation.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A trained machine learning Model. +message Model { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" + }; + + // Represents export format supported by the Model. + // All formats export to Google Cloud Storage. + message ExportFormat { + // The Model content that can be exported. + enum ExportableContent { + // Should not be used. + EXPORTABLE_CONTENT_UNSPECIFIED = 0; + + // Model artifact and any of its supported files. Will be exported to the + // location specified by the `artifactDestination` field of the + // [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config] object. + ARTIFACT = 1; + + // The container image that is to be used when deploying this Model. Will + // be exported to the location specified by the `imageDestination` field + // of the [ExportModelRequest.output_config][google.cloud.aiplatform.v1.ExportModelRequest.output_config] object. + IMAGE = 2; + } + + // Output only. The ID of the export format. + // The possible format IDs are: + // + // * `tflite` + // Used for Android mobile devices. + // + // * `edgetpu-tflite` + // Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. + // + // * `tf-saved-model` + // A tensorflow model in SavedModel format. + // + // * `tf-js` + // A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used + // in the browser and in Node.js using JavaScript. + // + // * `core-ml` + // Used for iOS mobile devices. + // + // * `custom-trained` + // A Model that was uploaded or trained by custom code. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The content of this Model that may be exported. + repeated ExportableContent exportable_contents = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Identifies a type of Model's prediction resources. + enum DeploymentResourcesType { + // Should not be used. + DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED = 0; + + // Resources that are dedicated to the [DeployedModel][google.cloud.aiplatform.v1.DeployedModel], and that need a + // higher degree of manual configuration. + DEDICATED_RESOURCES = 1; + + // Resources that to large degree are decided by Vertex AI, and require + // only a modest additional configuration. + AUTOMATIC_RESOURCES = 2; + + // Resources that can be shared by multiple [DeployedModels][google.cloud.aiplatform.v1.DeployedModel]. + // A pre-configured [DeploymentResourcePool][] is required. + SHARED_RESOURCES = 3; + } + + // The resource name of the Model. + string name = 1; + + // Output only. Immutable. The version ID of the model. + // A new version is committed when a new model version is uploaded or + // trained under an existing model id. It is an auto-incrementing decimal + // number in string representation. + string version_id = 28 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // User provided version aliases so that a model version can be referenced via + // alias (i.e. + // projects/{project}/locations/{location}/models/{model_id}@{version_alias} + // instead of auto-generated version id (i.e. + // projects/{project}/locations/{location}/models/{model_id}@{version_id}). + // The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from + // version_id. A default version alias will be created for the first version + // of the model, and there must be exactly one default version alias for a + // model. + repeated string version_aliases = 29; + + // Output only. Timestamp when this version was created. + google.protobuf.Timestamp version_create_time = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this version was most recently updated. + google.protobuf.Timestamp version_update_time = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The display name of the Model. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the Model. + string description = 3; + + // The description of this version. + string version_description = 30; + + // The schemata that describe formats of the Model's predictions and + // explanations as given and returned via + // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] and [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. + PredictSchemata predict_schemata = 4; + + // Immutable. Points to a YAML file stored on Google Cloud Storage describing additional + // information about the Model, that is specific to it. Unset if the Model + // does not have any additional information. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI, if no + // additional metadata is needed, this field is set to an empty string. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string metadata_schema_uri = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. An additional information about the Model; the schema of the metadata can + // be found in [metadata_schema][google.cloud.aiplatform.v1.Model.metadata_schema_uri]. + // Unset if the Model does not have any additional information. + google.protobuf.Value metadata = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The formats in which this Model may be exported. If empty, this Model is + // not available for export. + repeated ExportFormat supported_export_formats = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the TrainingPipeline that uploaded this Model, if + // any. + string training_pipeline = 7 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + } + ]; + + // Input only. The specification of the container that is to be used when deploying + // this Model. The specification is ingested upon + // [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel], and all binaries it contains are copied + // and stored internally by Vertex AI. + // Not present for AutoML Models. + ModelContainerSpec container_spec = 9 [(google.api.field_behavior) = INPUT_ONLY]; + + // Immutable. The path to the directory containing the Model artifact and any of its + // supporting files. + // Not present for AutoML Models. + string artifact_uri = 26 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. When this Model is deployed, its prediction resources are described by the + // `prediction_resources` field of the [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models] object. + // Because not all Models support all resource configuration types, the + // configuration types this Model supports are listed here. If no + // configuration types are listed, the Model cannot be deployed to an + // [Endpoint][google.cloud.aiplatform.v1.Endpoint] and does not support + // online predictions ([PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] or + // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]). Such a Model can serve predictions by + // using a [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob], if it has at least one entry each in + // [supported_input_storage_formats][google.cloud.aiplatform.v1.Model.supported_input_storage_formats] and + // [supported_output_storage_formats][google.cloud.aiplatform.v1.Model.supported_output_storage_formats]. + repeated DeploymentResourcesType supported_deployment_resources_types = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The formats this Model supports in + // [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config]. If + // [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] exists, the instances + // should be given as per that schema. + // + // The possible formats are: + // + // * `jsonl` + // The JSON Lines format, where each instance is a single line. Uses + // [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `csv` + // The CSV format, where each instance is a single comma-separated line. + // The first line in the file is the header, containing comma-separated field + // names. Uses [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `tf-record` + // The TFRecord format, where each instance is a single record in tfrecord + // syntax. Uses [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `tf-record-gzip` + // Similar to `tf-record`, but the file is gzipped. Uses + // [GcsSource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `bigquery` + // Each instance is a single row in BigQuery. Uses + // [BigQuerySource][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig.bigquery_source]. + // + // * `file-list` + // Each line of the file is the location of an instance to process, uses + // `gcs_source` field of the + // [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig] object. + // + // + // If this Model doesn't support any of these formats it means it cannot be + // used with a [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. However, if it has + // [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types], it could serve online + // predictions by using [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] or + // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. + repeated string supported_input_storage_formats = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The formats this Model supports in + // [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]. If both + // [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] and + // [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri] exist, the predictions + // are returned together with their instances. In other words, the + // prediction has the original instance data first, followed + // by the actual prediction content (as per the schema). + // + // The possible formats are: + // + // * `jsonl` + // The JSON Lines format, where each prediction is a single line. Uses + // [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination]. + // + // * `csv` + // The CSV format, where each prediction is a single comma-separated line. + // The first line in the file is the header, containing comma-separated field + // names. Uses + // [GcsDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.gcs_destination]. + // + // * `bigquery` + // Each prediction is a single row in a BigQuery table, uses + // [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination] + // . + // + // + // If this Model doesn't support any of these formats it means it cannot be + // used with a [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. However, if it has + // [supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types], it could serve online + // predictions by using [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict] or + // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. + repeated string supported_output_storage_formats = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Model was uploaded into Vertex AI. + google.protobuf.Timestamp create_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Model was most recently updated. + google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The pointers to DeployedModels created from this Model. Note that + // Model could have been deployed to Endpoints in different Locations. + repeated DeployedModelRef deployed_models = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The default explanation specification for this Model. + // + // The Model can be used for [requesting + // explanation][PredictionService.Explain] after being + // [deployed][google.cloud.aiplatform.v1.EndpointService.DeployModel] if it is populated. + // The Model can be used for [batch + // explanation][BatchPredictionJob.generate_explanation] if it is populated. + // + // All fields of the explanation_spec can be overridden by + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] of + // [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model], or + // [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] of + // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. + // + // If the default explanation specification is not set for this Model, this + // Model can still be used for [requesting + // explanation][PredictionService.Explain] by setting + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] of + // [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1.DeployModelRequest.deployed_model] and for [batch + // explanation][BatchPredictionJob.generate_explanation] by setting + // [explanation_spec][google.cloud.aiplatform.v1.BatchPredictionJob.explanation_spec] of + // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. + ExplanationSpec explanation_spec = 23; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 16; + + // The labels with user-defined metadata to organize your Models. + // + // 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 = 17; + + // Customer-managed encryption key spec for a Model. If set, this + // Model and all sub-resources of this Model will be secured by this key. + EncryptionSpec encryption_spec = 24; + + // Output only. Source of a model. It can either be automl training pipeline, custom + // training pipeline, BigQuery ML, or existing Vertex AI Model. + ModelSourceInfo model_source_info = 38 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Contains the schemata used in Model's predictions and explanations via +// [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict], [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain] and +// [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. +message PredictSchemata { + // Immutable. Points to a YAML file stored on Google Cloud Storage describing the format + // of a single instance, which are used in [PredictRequest.instances][google.cloud.aiplatform.v1.PredictRequest.instances], + // [ExplainRequest.instances][google.cloud.aiplatform.v1.ExplainRequest.instances] and + // [BatchPredictionJob.input_config][google.cloud.aiplatform.v1.BatchPredictionJob.input_config]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string instance_schema_uri = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Points to a YAML file stored on Google Cloud Storage describing the + // parameters of prediction and explanation via + // [PredictRequest.parameters][google.cloud.aiplatform.v1.PredictRequest.parameters], [ExplainRequest.parameters][google.cloud.aiplatform.v1.ExplainRequest.parameters] and + // [BatchPredictionJob.model_parameters][google.cloud.aiplatform.v1.BatchPredictionJob.model_parameters]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI, if no + // parameters are supported, then it is set to an empty string. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string parameters_schema_uri = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Points to a YAML file stored on Google Cloud Storage describing the format + // of a single prediction produced by this Model, which are returned via + // [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions], [ExplainResponse.explanations][google.cloud.aiplatform.v1.ExplainResponse.explanations], and + // [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string prediction_schema_uri = 3 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Specification of a container for serving predictions. Some fields in this +// message correspond to fields in the [Kubernetes Container v1 core +// specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). +message ModelContainerSpec { + // Required. Immutable. URI of the Docker image to be used as the custom container for serving + // predictions. This URI must identify an image in Artifact Registry or + // Container Registry. Learn more about the [container publishing + // requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), + // including permissions requirements for the Vertex AI Service Agent. + // + // The container image is ingested upon [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel], stored + // internally, and this original path is afterwards not used. + // + // To learn about the requirements for the Docker image itself, see + // [Custom container + // requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). + // + // You can use the URI to one of Vertex AI's [pre-built container images for + // prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) + // in this field. + string image_uri = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Immutable. Specifies the command that runs when the container starts. This overrides + // the container's + // [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). + // Specify this field as an array of executable and arguments, similar to a + // Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. + // + // If you do not specify this field, then the container's `ENTRYPOINT` runs, + // in conjunction with the [args][google.cloud.aiplatform.v1.ModelContainerSpec.args] field or the + // container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), + // if either exists. If this field is not specified and the container does not + // have an `ENTRYPOINT`, then refer to the Docker documentation about [how + // `CMD` and `ENTRYPOINT` + // interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + // + // If you specify this field, then you can also specify the `args` field to + // provide additional arguments for this command. However, if you specify this + // field, then the container's `CMD` is ignored. See the + // [Kubernetes documentation about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + // + // In this field, you can reference [environment variables set by Vertex + // AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + // and environment variables set in the [env][google.cloud.aiplatform.v1.ModelContainerSpec.env] field. + // You cannot reference environment variables set in the Docker image. In + // order for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `command` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + repeated string command = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. Specifies arguments for the command that runs when the container starts. + // This overrides the container's + // [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify + // this field as an array of executable and arguments, similar to a Docker + // `CMD`'s "default parameters" form. + // + // If you don't specify this field but do specify the + // [command][google.cloud.aiplatform.v1.ModelContainerSpec.command] field, then the command from the + // `command` field runs without any additional arguments. See the + // [Kubernetes documentation about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + // + // If you don't specify this field and don't specify the `command` field, + // then the container's + // [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and + // `CMD` determine what runs based on their default behavior. See the Docker + // documentation about [how `CMD` and `ENTRYPOINT` + // interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + // + // In this field, you can reference [environment variables + // set by Vertex + // AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + // and environment variables set in the [env][google.cloud.aiplatform.v1.ModelContainerSpec.env] field. + // You cannot reference environment variables set in the Docker image. In + // order for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `args` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + repeated string args = 3 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. List of environment variables to set in the container. After the container + // starts running, code running in the container can read these environment + // variables. + // + // Additionally, the [command][google.cloud.aiplatform.v1.ModelContainerSpec.command] and + // [args][google.cloud.aiplatform.v1.ModelContainerSpec.args] fields can reference these variables. Later + // entries in this list can also reference earlier entries. For example, the + // following example sets the variable `VAR_2` to have the value `foo bar`: + // + // ```json + // [ + // { + // "name": "VAR_1", + // "value": "foo" + // }, + // { + // "name": "VAR_2", + // "value": "$(VAR_1) bar" + // } + // ] + // ``` + // + // If you switch the order of the variables in the example, then the expansion + // does not occur. + // + // This field corresponds to the `env` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + repeated EnvVar env = 4 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. List of ports to expose from the container. Vertex AI sends any + // prediction requests that it receives to the first port on this list. Vertex + // AI also sends + // [liveness and health + // checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) + // to this port. + // + // If you do not specify this field, it defaults to following value: + // + // ```json + // [ + // { + // "containerPort": 8080 + // } + // ] + // ``` + // + // Vertex AI does not use ports other than the first one listed. This field + // corresponds to the `ports` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + repeated Port ports = 5 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. HTTP path on the container to send prediction requests to. Vertex AI + // forwards requests sent using + // [projects.locations.endpoints.predict][google.cloud.aiplatform.v1.PredictionService.Predict] to this + // path on the container's IP address and port. Vertex AI then returns the + // container's response in the API response. + // + // For example, if you set this field to `/foo`, then when Vertex AI + // receives a prediction request, it forwards the request body in a POST + // request to the `/foo` path on the port of your container specified by the + // first value of this `ModelContainerSpec`'s + // [ports][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // * ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // * DEPLOYED_MODEL: [DeployedModel.id][google.cloud.aiplatform.v1.DeployedModel.id] of the `DeployedModel`. + // (Vertex AI makes this value available to your container code + // as the [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + string predict_route = 6 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. HTTP path on the container to send health checks to. Vertex AI + // intermittently sends GET requests to this path on the container's IP + // address and port to check that the container is healthy. Read more about + // [health + // checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). + // + // For example, if you set this field to `/bar`, then Vertex AI + // intermittently sends a GET request to the `/bar` path on the port of your + // container specified by the first value of this `ModelContainerSpec`'s + // [ports][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // * ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // * DEPLOYED_MODEL: [DeployedModel.id][google.cloud.aiplatform.v1.DeployedModel.id] of the `DeployedModel`. + // (Vertex AI makes this value available to your container code as the + // [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + string health_route = 7 [(google.api.field_behavior) = IMMUTABLE]; +} + +// Represents a network port in a container. +message Port { + // The number of the port to expose on the pod's IP address. + // Must be a valid port number, between 1 and 65535 inclusive. + int32 container_port = 3; +} + +// Detail description of the source information of the model. +message ModelSourceInfo { + // Source of the model. + enum ModelSourceType { + // Should not be used. + MODEL_SOURCE_TYPE_UNSPECIFIED = 0; + + // The Model is uploaded by automl training pipeline. + AUTOML = 1; + + // The Model is uploaded by user or custom training pipeline. + CUSTOM = 2; + + // The Model is registered and sync'ed from BigQuery ML. + BQML = 3; + } + + // Type of the model source. + ModelSourceType source_type = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto new file mode 100644 index 00000000..87252239 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto @@ -0,0 +1,310 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/feature_monitoring_stats.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/job_state.proto"; +import "google/cloud/aiplatform/v1/model_monitoring.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelDeploymentMonitoringJobProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The Model Monitoring Objective types. +enum ModelDeploymentMonitoringObjectiveType { + // Default value, should not be set. + MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED = 0; + + // Raw feature values' stats to detect skew between Training-Prediction + // datasets. + RAW_FEATURE_SKEW = 1; + + // Raw feature values' stats to detect drift between Serving-Prediction + // datasets. + RAW_FEATURE_DRIFT = 2; + + // Feature attribution scores to detect skew between Training-Prediction + // datasets. + FEATURE_ATTRIBUTION_SKEW = 3; + + // Feature attribution scores to detect skew between Prediction datasets + // collected within different time windows. + FEATURE_ATTRIBUTION_DRIFT = 4; +} + +// Represents a job that runs periodically to monitor the deployed models in an +// endpoint. It will analyze the logged training & prediction data to detect any +// abnormal behaviors. +message ModelDeploymentMonitoringJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" + pattern: "projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}" + }; + + // All metadata of most recent monitoring pipelines. + message LatestMonitoringPipelineMetadata { + // The time that most recent monitoring pipelines that is related to this + // run. + google.protobuf.Timestamp run_time = 1; + + // The status of the most recent monitoring pipeline. + google.rpc.Status status = 2; + } + + // The state to Specify the monitoring pipeline. + enum MonitoringScheduleState { + // Unspecified state. + MONITORING_SCHEDULE_STATE_UNSPECIFIED = 0; + + // The pipeline is picked up and wait to run. + PENDING = 1; + + // The pipeline is offline and will be scheduled for next run. + OFFLINE = 2; + + // The pipeline is running. + RUNNING = 3; + } + + // Output only. Resource name of a ModelDeploymentMonitoringJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of the ModelDeploymentMonitoringJob. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + // Display name of a ModelDeploymentMonitoringJob. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Endpoint resource name. + // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + string endpoint = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // Output only. The detailed state of the monitoring job. + // When the job is still creating, the state will be 'PENDING'. + // Once the job is successfully created, the state will be 'RUNNING'. + // Pause the job, the state will be 'PAUSED'. + // Resume the job, the state will return to 'RUNNING'. + JobState state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Schedule state when the monitoring job is in Running state. + MonitoringScheduleState schedule_state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Latest triggered monitoring pipeline metadata. + LatestMonitoringPipelineMetadata latest_monitoring_pipeline_metadata = 25 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The config for monitoring objectives. This is a per DeployedModel config. + // Each DeployedModel needs to be configured separately. + repeated ModelDeploymentMonitoringObjectiveConfig model_deployment_monitoring_objective_configs = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Schedule config for running the monitoring job. + ModelDeploymentMonitoringScheduleConfig model_deployment_monitoring_schedule_config = 7 [(google.api.field_behavior) = REQUIRED]; + + // Required. Sample Strategy for logging. + SamplingStrategy logging_sampling_strategy = 8 [(google.api.field_behavior) = REQUIRED]; + + // Alert config for model monitoring. + ModelMonitoringAlertConfig model_monitoring_alert_config = 15; + + // YAML schema file uri describing the format of a single instance, + // which are given to format this Endpoint's prediction (and explanation). + // If not set, we will generate predict schema from collected predict + // requests. + string predict_instance_schema_uri = 9; + + // Sample Predict instance, same format as [PredictRequest.instances][google.cloud.aiplatform.v1.PredictRequest.instances], + // this can be set as a replacement of + // [ModelDeploymentMonitoringJob.predict_instance_schema_uri][google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.predict_instance_schema_uri]. If not set, + // we will generate predict schema from collected predict requests. + google.protobuf.Value sample_predict_instance = 19; + + // YAML schema file uri describing the format of a single instance that you + // want Tensorflow Data Validation (TFDV) to analyze. + // + // If this field is empty, all the feature data types are inferred from + // [predict_instance_schema_uri][google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.predict_instance_schema_uri], + // meaning that TFDV will use the data in the exact format(data type) as + // prediction request/response. + // If there are any data type differences between predict instance and TFDV + // instance, this field can be used to override the schema. + // For models trained with Vertex AI, this field must be set as all the + // fields in predict instance formatted as string. + string analysis_instance_schema_uri = 16; + + // Output only. The created bigquery tables for the job under customer project. Customer + // could do their own query & analysis. There could be 4 log tables in + // maximum: + // 1. Training data logging predict request/response + // 2. Serving data logging predict request/response + repeated ModelDeploymentMonitoringBigQueryTable bigquery_tables = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The TTL of BigQuery tables in user projects which stores logs. + // A day is the basic unit of the TTL and we take the ceil of TTL/86400(a + // day). e.g. { second: 3600} indicates ttl = 1 day. + google.protobuf.Duration log_ttl = 17; + + // The labels with user-defined metadata to organize your + // ModelDeploymentMonitoringJob. + // + // 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 = 11; + + // Output only. Timestamp when this ModelDeploymentMonitoringJob was created. + google.protobuf.Timestamp create_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently. + google.protobuf.Timestamp update_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this monitoring pipeline will be scheduled to run for the + // next round. + google.protobuf.Timestamp next_schedule_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Stats anomalies base folder path. + GcsDestination stats_anomalies_base_directory = 20; + + // Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If + // set, this ModelDeploymentMonitoringJob and all sub-resources of this + // ModelDeploymentMonitoringJob will be secured by this key. + EncryptionSpec encryption_spec = 21; + + // If true, the scheduled monitoring pipeline logs are sent to + // Google Cloud Logging, including pipeline status and anomalies detected. + // Please note the logs incur cost, which are subject to [Cloud Logging + // pricing](https://cloud.google.com/logging#pricing). + bool enable_monitoring_pipeline_logs = 22; + + // Output only. Only populated when the job's state is `JOB_STATE_FAILED` or + // `JOB_STATE_CANCELLED`. + google.rpc.Status error = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name +// as well as some information of the logs stored in this table. +message ModelDeploymentMonitoringBigQueryTable { + // Indicates where does the log come from. + enum LogSource { + // Unspecified source. + LOG_SOURCE_UNSPECIFIED = 0; + + // Logs coming from Training dataset. + TRAINING = 1; + + // Logs coming from Serving traffic. + SERVING = 2; + } + + // Indicates what type of traffic does the log belong to. + enum LogType { + // Unspecified type. + LOG_TYPE_UNSPECIFIED = 0; + + // Predict logs. + PREDICT = 1; + + // Explain logs. + EXPLAIN = 2; + } + + // The source of log. + LogSource log_source = 1; + + // The type of log. + LogType log_type = 2; + + // The created BigQuery table to store logs. Customer could do their own query + // & analysis. Format: + // `bq://.model_deployment_monitoring_._` + string bigquery_table_path = 3; +} + +// ModelDeploymentMonitoringObjectiveConfig contains the pair of +// deployed_model_id to ModelMonitoringObjectiveConfig. +message ModelDeploymentMonitoringObjectiveConfig { + // The DeployedModel ID of the objective config. + string deployed_model_id = 1; + + // The objective config of for the modelmonitoring job of this deployed model. + ModelMonitoringObjectiveConfig objective_config = 2; +} + +// The config for scheduling monitoring job. +message ModelDeploymentMonitoringScheduleConfig { + // Required. The model monitoring job scheduling interval. It will be rounded up to next + // full hour. This defines how often the monitoring jobs are triggered. + google.protobuf.Duration monitor_interval = 1 [(google.api.field_behavior) = REQUIRED]; + + // The time window of the prediction data being included in each prediction + // dataset. This window specifies how long the data should be collected from + // historical model results for each run. If not set, + // [ModelDeploymentMonitoringScheduleConfig.monitor_interval][google.cloud.aiplatform.v1.ModelDeploymentMonitoringScheduleConfig.monitor_interval] will be used. + // e.g. If currently the cutoff time is 2022-01-08 14:30:00 and the + // monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 + // to 2022-01-08 14:30:00 will be retrieved and aggregated to calculate the + // monitoring statistics. + google.protobuf.Duration monitor_window = 2; +} + +// Statistics and anomalies generated by Model Monitoring. +message ModelMonitoringStatsAnomalies { + // Historical Stats (and Anomalies) for a specific Feature. + message FeatureHistoricStatsAnomalies { + // Display Name of the Feature. + string feature_display_name = 1; + + // Threshold for anomaly detection. + ThresholdConfig threshold = 3; + + // Stats calculated for the Training Dataset. + FeatureStatsAnomaly training_stats = 4; + + // A list of historical stats generated by different time window's + // Prediction Dataset. + repeated FeatureStatsAnomaly prediction_stats = 5; + } + + // Model Monitoring Objective those stats and anomalies belonging to. + ModelDeploymentMonitoringObjectiveType objective = 1; + + // Deployed Model ID. + string deployed_model_id = 2; + + // Number of anomalies within all stats. + int32 anomaly_count = 3; + + // A list of historical Stats and Anomalies generated for all Features. + repeated FeatureHistoricStatsAnomalies feature_stats = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation.proto new file mode 100644 index 00000000..5fc333e6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation.proto @@ -0,0 +1,116 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/explanation.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelEvaluationProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A collection of metrics calculated by comparing Model's predictions on all of +// the test data against annotations from the test data. +message ModelEvaluation { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/ModelEvaluation" + pattern: "projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}" + }; + + message ModelEvaluationExplanationSpec { + // Explanation type. + // + // For AutoML Image Classification models, possible values are: + // + // * `image-integrated-gradients` + // * `image-xrai` + string explanation_type = 1; + + // Explanation spec details. + ExplanationSpec explanation_spec = 2; + } + + // Output only. The resource name of the ModelEvaluation. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name of the ModelEvaluation. + string display_name = 10; + + // Points to a YAML file stored on Google Cloud Storage describing the + // [metrics][google.cloud.aiplatform.v1.ModelEvaluation.metrics] of this ModelEvaluation. The schema is + // defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + string metrics_schema_uri = 2; + + // Evaluation metrics of the Model. The schema of the metrics is stored in + // [metrics_schema_uri][google.cloud.aiplatform.v1.ModelEvaluation.metrics_schema_uri] + google.protobuf.Value metrics = 3; + + // Output only. Timestamp when this ModelEvaluation was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // All possible [dimensions][ModelEvaluationSlice.slice.dimension] of + // ModelEvaluationSlices. The dimensions can be used as the filter of the + // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.ListModelEvaluationSlices] request, in the form of + // `slice.dimension = `. + repeated string slice_dimensions = 5; + + // Points to a YAML file stored on Google Cloud Storage describing + // [EvaluatedDataItemView.data_item_payload][] and + // [EvaluatedAnnotation.data_item_payload][]. The schema is defined as an + // OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // + // This field is not populated if there are neither EvaluatedDataItemViews nor + // EvaluatedAnnotations under this ModelEvaluation. + string data_item_schema_uri = 6; + + // Points to a YAML file stored on Google Cloud Storage describing + // [EvaluatedDataItemView.predictions][], + // [EvaluatedDataItemView.ground_truths][], + // [EvaluatedAnnotation.predictions][], and + // [EvaluatedAnnotation.ground_truths][]. The schema is defined as an + // OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // + // This field is not populated if there are neither EvaluatedDataItemViews nor + // EvaluatedAnnotations under this ModelEvaluation. + string annotation_schema_uri = 7; + + // Aggregated explanation metrics for the Model's prediction output over the + // data this ModelEvaluation uses. This field is populated only if the Model + // is evaluated with explanations, and only for AutoML tabular Models. + // + ModelExplanation model_explanation = 8; + + // Describes the values of [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] that are used for explaining + // the predicted values on the evaluated data. + repeated ModelEvaluationExplanationSpec explanation_specs = 9; + + // The metadata of the ModelEvaluation. + // For the ModelEvaluation uploaded from Managed Pipeline, metadata contains a + // structured value with keys of "pipeline_job_id", "evaluation_dataset_type", + // "evaluation_dataset_path". + google.protobuf.Value metadata = 11; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation_slice.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation_slice.proto new file mode 100644 index 00000000..f28b0135 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model_evaluation_slice.proto @@ -0,0 +1,71 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelEvaluationSliceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A collection of metrics calculated by comparing Model's predictions on a +// slice of the test data against ground truth annotations. +message ModelEvaluationSlice { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/ModelEvaluationSlice" + pattern: "projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}" + }; + + // Definition of a slice. + message Slice { + // Output only. The dimension of the slice. + // Well-known dimensions are: + // * `annotationSpec`: This slice is on the test data that has either + // ground truth or prediction with [AnnotationSpec.display_name][google.cloud.aiplatform.v1.AnnotationSpec.display_name] + // equals to [value][google.cloud.aiplatform.v1.ModelEvaluationSlice.Slice.value]. + string dimension = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of the dimension in this slice. + string value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The resource name of the ModelEvaluationSlice. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The slice of the test data that is used to evaluate the Model. + Slice slice = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Points to a YAML file stored on Google Cloud Storage describing the + // [metrics][google.cloud.aiplatform.v1.ModelEvaluationSlice.metrics] of this ModelEvaluationSlice. The + // schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + string metrics_schema_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Sliced evaluation metrics of the Model. The schema of the metrics is stored + // in [metrics_schema_uri][google.cloud.aiplatform.v1.ModelEvaluationSlice.metrics_schema_uri] + google.protobuf.Value metrics = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this ModelEvaluationSlice was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model_monitoring.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model_monitoring.proto new file mode 100644 index 00000000..039161dd --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model_monitoring.proto @@ -0,0 +1,212 @@ +// 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.aiplatform.v1; + +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/io.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelMonitoringProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The objective configuration for model monitoring, including the information +// needed to detect anomalies for one particular model. +message ModelMonitoringObjectiveConfig { + // Training Dataset information. + message TrainingDataset { + oneof data_source { + // The resource name of the Dataset used to train this Model. + string dataset = 3 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Dataset" + }]; + + // The Google Cloud Storage uri of the unmanaged Dataset used to train + // this Model. + GcsSource gcs_source = 4; + + // The BigQuery table of the unmanaged Dataset used to train this + // Model. + BigQuerySource bigquery_source = 5; + } + + // Data format of the dataset, only applicable if the input is from + // Google Cloud Storage. + // The possible formats are: + // + // "tf-record" + // The source file is a TFRecord file. + // + // "csv" + // The source file is a CSV file. + // "jsonl" + // The source file is a JSONL file. + string data_format = 2; + + // The target field name the model is to predict. + // This field will be excluded when doing Predict and (or) Explain for the + // training data. + string target_field = 6; + + // Strategy to sample data from Training Dataset. + // If not set, we process the whole dataset. + SamplingStrategy logging_sampling_strategy = 7; + } + + // The config for Training & Prediction data skew detection. It specifies the + // training dataset sources and the skew detection parameters. + message TrainingPredictionSkewDetectionConfig { + // Key is the feature name and value is the threshold. If a feature needs to + // be monitored for skew, a value threshold must be configured for that + // feature. The threshold here is against feature distribution distance + // between the training and prediction feature. + map skew_thresholds = 1; + + // Key is the feature name and value is the threshold. The threshold here is + // against attribution score distance between the training and prediction + // feature. + map attribution_score_skew_thresholds = 2; + + // Skew anomaly detection threshold used by all features. + // When the per-feature thresholds are not set, this field can be used to + // specify a threshold for all features. + ThresholdConfig default_skew_threshold = 6; + } + + // The config for Prediction data drift detection. + message PredictionDriftDetectionConfig { + // Key is the feature name and value is the threshold. If a feature needs to + // be monitored for drift, a value threshold must be configured for that + // feature. The threshold here is against feature distribution distance + // between different time windws. + map drift_thresholds = 1; + + // Key is the feature name and value is the threshold. The threshold here is + // against attribution score distance between different time windows. + map attribution_score_drift_thresholds = 2; + + // Drift anomaly detection threshold used by all features. + // When the per-feature thresholds are not set, this field can be used to + // specify a threshold for all features. + ThresholdConfig default_drift_threshold = 5; + } + + // The config for integrating with Vertex Explainable AI. Only applicable if + // the Model has explanation_spec populated. + message ExplanationConfig { + // Output from [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob] for Model Monitoring baseline dataset, + // which can be used to generate baseline attribution scores. + message ExplanationBaseline { + // The storage format of the predictions generated BatchPrediction job. + enum PredictionFormat { + // Should not be set. + PREDICTION_FORMAT_UNSPECIFIED = 0; + + // Predictions are in JSONL files. + JSONL = 2; + + // Predictions are in BigQuery. + BIGQUERY = 3; + } + + // The configuration specifying of BatchExplain job output. This can be + // used to generate the baseline of feature attribution scores. + oneof destination { + // Cloud Storage location for BatchExplain output. + GcsDestination gcs = 2; + + // BigQuery location for BatchExplain output. + BigQueryDestination bigquery = 3; + } + + // The storage format of the predictions generated BatchPrediction job. + PredictionFormat prediction_format = 1; + } + + // If want to analyze the Vertex Explainable AI feature attribute scores or + // not. If set to true, Vertex AI will log the feature attributions from + // explain response and do the skew/drift detection for them. + bool enable_feature_attributes = 1; + + // Predictions generated by the BatchPredictionJob using baseline dataset. + ExplanationBaseline explanation_baseline = 2; + } + + // Training dataset for models. This field has to be set only if + // TrainingPredictionSkewDetectionConfig is specified. + TrainingDataset training_dataset = 1; + + // The config for skew between training data and prediction data. + TrainingPredictionSkewDetectionConfig training_prediction_skew_detection_config = 2; + + // The config for drift of prediction data. + PredictionDriftDetectionConfig prediction_drift_detection_config = 3; + + // The config for integrating with Vertex Explainable AI. + ExplanationConfig explanation_config = 5; +} + +message ModelMonitoringAlertConfig { + // The config for email alert. + message EmailAlertConfig { + // The email addresses to send the alert. + repeated string user_emails = 1; + } + + oneof alert { + // Email alert config. + EmailAlertConfig email_alert_config = 1; + } + + // Dump the anomalies to Cloud Logging. The anomalies will be put to json + // payload encoded from proto + // [google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry][]. + // This can be further sinked to Pub/Sub or any other services supported + // by Cloud Logging. + bool enable_logging = 2; +} + +// The config for feature monitoring threshold. +message ThresholdConfig { + oneof threshold { + // Specify a threshold value that can trigger the alert. + // If this threshold config is for feature distribution distance: + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + // Each feature must have a non-zero threshold if they need to be monitored. + // Otherwise no alert will be triggered for that feature. + double value = 1; + } +} + +// Sampling Strategy for logging, can be for both training and prediction +// dataset. +message SamplingStrategy { + // Requests are randomly selected. + message RandomSampleConfig { + // Sample rate (0, 1] + double sample_rate = 1; + } + + // Random sample config. Will support more sampling strategies later. + RandomSampleConfig random_sample_config = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/model_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/model_service.proto new file mode 100644 index 00000000..9ea6c56c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/model_service.proto @@ -0,0 +1,662 @@ +// 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.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/io.proto"; +import "google/cloud/aiplatform/v1/model.proto"; +import "google/cloud/aiplatform/v1/model_evaluation.proto"; +import "google/cloud/aiplatform/v1/model_evaluation_slice.proto"; +import "google/cloud/aiplatform/v1/operation.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "ModelServiceProto"; +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 managing Vertex AI's machine learning Models. +service ModelService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Uploads a Model artifact into Vertex AI. + rpc UploadModel(UploadModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/models:upload" + body: "*" + }; + option (google.api.method_signature) = "parent,model"; + option (google.longrunning.operation_info) = { + response_type: "UploadModelResponse" + metadata_type: "UploadModelOperationMetadata" + }; + } + + // Gets a Model. + rpc GetModel(GetModelRequest) returns (Model) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/models/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Models in a Location. + rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/models" + }; + option (google.api.method_signature) = "parent"; + } + + // Lists versions of the specified model. + rpc ListModelVersions(ListModelVersionsRequest) returns (ListModelVersionsResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/models/*}:listVersions" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Model. + rpc UpdateModel(UpdateModelRequest) returns (Model) { + option (google.api.http) = { + patch: "/v1/{model.name=projects/*/locations/*/models/*}" + body: "model" + }; + option (google.api.method_signature) = "model,update_mask"; + } + + // Deletes a Model. + // + // A model cannot be deleted if any [Endpoint][google.cloud.aiplatform.v1.Endpoint] resource has a + // [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] based on the model in its + // [deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models] field. + rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/models/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Deletes a Model version. + // + // Model version can only be deleted if there are no [DeployedModels][] + // created from it. Deleting the only version in the Model is not allowed. Use + // [DeleteModel][google.cloud.aiplatform.v1.ModelService.DeleteModel] for deleting the Model instead. + rpc DeleteModelVersion(DeleteModelVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/models/*}:deleteVersion" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Merges a set of aliases for a Model version. + rpc MergeVersionAliases(MergeVersionAliasesRequest) returns (Model) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/models/*}:mergeVersionAliases" + body: "*" + }; + option (google.api.method_signature) = "name,version_aliases"; + } + + // Exports a trained, exportable Model to a location specified by the + // user. A Model is considered to be exportable if it has at least one + // [supported export format][google.cloud.aiplatform.v1.Model.supported_export_formats]. + rpc ExportModel(ExportModelRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/models/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name,output_config"; + option (google.longrunning.operation_info) = { + response_type: "ExportModelResponse" + metadata_type: "ExportModelOperationMetadata" + }; + } + + // Imports an externally generated ModelEvaluation. + rpc ImportModelEvaluation(ImportModelEvaluationRequest) returns (ModelEvaluation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/models/*}/evaluations:import" + body: "*" + }; + option (google.api.method_signature) = "parent,model_evaluation"; + } + + // Imports a list of externally generated ModelEvaluationSlice. + rpc BatchImportModelEvaluationSlices(BatchImportModelEvaluationSlicesRequest) returns (BatchImportModelEvaluationSlicesResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices:batchImport" + body: "*" + }; + option (google.api.method_signature) = "parent,model_evaluation_slices"; + } + + // Gets a ModelEvaluation. + rpc GetModelEvaluation(GetModelEvaluationRequest) returns (ModelEvaluation) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/models/*/evaluations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists ModelEvaluations in a Model. + rpc ListModelEvaluations(ListModelEvaluationsRequest) returns (ListModelEvaluationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/models/*}/evaluations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a ModelEvaluationSlice. + rpc GetModelEvaluationSlice(GetModelEvaluationSliceRequest) returns (ModelEvaluationSlice) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/models/*/evaluations/*/slices/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists ModelEvaluationSlices in a ModelEvaluation. + rpc ListModelEvaluationSlices(ListModelEvaluationSlicesRequest) returns (ListModelEvaluationSlicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Request message for [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel]. +message UploadModelRequest { + // Required. The resource name of the Location into which to upload the Model. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Optional. The resource name of the model into which to upload the version. Only + // specify this field when uploading a new version. + string parent_model = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The ID to use for the uploaded Model, which will become the final + // component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + string model_id = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The Model to create. + Model model = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Details of [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel] operation. +message UploadModelOperationMetadata { + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; +} + +// Response message of [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel] operation. +message UploadModelResponse { + // The name of the uploaded Model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + string model = 1 [(google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + }]; + + // Output only. The version ID of the model that is uploaded. + string model_version_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for [ModelService.GetModel][google.cloud.aiplatform.v1.ModelService.GetModel]. +message GetModelRequest { + // Required. The name of the Model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + // + // In order to retrieve a specific version of the model, also provide + // the version ID or version alias. + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // If no version ID or alias is specified, the "default" version will be + // returned. The "default" version alias is created for the first version of + // the model, and can be moved to other versions later on. There will be + // exactly one default version. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; +} + +// Request message for [ModelService.ListModels][google.cloud.aiplatform.v1.ModelService.ListModels]. +message ListModelsRequest { + // Required. The resource name of the Location to list the Models from. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // * `model` supports = and !=. `model` represents the Model ID, + // i.e. the last segment of the Model's [resource name][google.cloud.aiplatform.v1.Model.name]. + // * `display_name` supports = and != + // * `labels` supports general map functions that is: + // * `labels.key=value` - key:value equality + // * `labels.key:* or labels:key - key existence + // * A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // * `model=1234` + // * `displayName="myDisplayName"` + // * `labels.myKey="myValue"` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListModelsResponse.next_page_token][google.cloud.aiplatform.v1.ListModelsResponse.next_page_token] of the previous + // [ModelService.ListModels][google.cloud.aiplatform.v1.ModelService.ListModels] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; + + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // + // * `display_name` + // * `create_time` + // * `update_time` + // + // Example: `display_name, create_time desc`. + string order_by = 6; +} + +// Response message for [ModelService.ListModels][google.cloud.aiplatform.v1.ModelService.ListModels] +message ListModelsResponse { + // List of Models in the requested page. + repeated Model models = 1; + + // A token to retrieve next page of results. + // Pass to [ListModelsRequest.page_token][google.cloud.aiplatform.v1.ListModelsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [ModelService.ListModelVersions][google.cloud.aiplatform.v1.ModelService.ListModelVersions]. +message ListModelVersionsRequest { + // Required. The name of the model to list versions for. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // The standard list page size. + int32 page_size = 2; + + // The standard list page token. + // Typically obtained via + // [ListModelVersionsResponse.next_page_token][google.cloud.aiplatform.v1.ListModelVersionsResponse.next_page_token] of the previous + // [ModelService.ListModelversions][] call. + string page_token = 3; + + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // * `labels` supports general map functions that is: + // * `labels.key=value` - key:value equality + // * `labels.key:* or labels:key - key existence + // * A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // * `labels.myKey="myValue"` + string filter = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [ModelService.ListModelVersions][google.cloud.aiplatform.v1.ModelService.ListModelVersions] +message ListModelVersionsResponse { + // List of Model versions in the requested page. + // In the returned Model name field, version ID instead of regvision tag will + // be included. + repeated Model models = 1; + + // A token to retrieve the next page of results. + // Pass to [ListModelVersionsRequest.page_token][google.cloud.aiplatform.v1.ListModelVersionsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1.ModelService.UpdateModel]. +message UpdateModelRequest { + // Required. The Model which replaces the resource on the server. + // When Model Versioning is enabled, the model.name will be used to determine + // whether to update the model or model version. + // 1. model.name with the @ value, e.g. models/123@1, refers to a version + // specific update. + // 2. model.name without the @ value, e.g. models/123, refers to a model + // update. + // 3. model.name with @-, e.g. models/123@-, refers to a model update. + // 4. Supported model fields: display_name, description; supported + // version-specific fields: version_description. Labels are supported in both + // scenarios. Both the model labels and the version labels are merged when a + // model is returned. When updating labels, if the request is for + // model-specific update, model label gets updated. Otherwise, version labels + // get updated. + // 5. A model name or model version name fields update mismatch will cause a + // precondition error. + // 6. One request cannot update both the model and the version fields. You + // must update them separately. + Model model = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. + // For the `FieldMask` definition, see [google.protobuf.FieldMask][google.protobuf.FieldMask]. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [ModelService.DeleteModel][google.cloud.aiplatform.v1.ModelService.DeleteModel]. +message DeleteModelRequest { + // Required. The name of the Model resource to be deleted. + // Format: `projects/{project}/locations/{location}/models/{model}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; +} + +// Request message for [ModelService.DeleteModelVersion][google.cloud.aiplatform.v1.ModelService.DeleteModelVersion]. +message DeleteModelVersionRequest { + // Required. The name of the model version to be deleted, with a version ID explicitly + // included. + // + // Example: `projects/{project}/locations/{location}/models/{model}@1234` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; +} + +// Request message for [ModelService.MergeVersionAliases][google.cloud.aiplatform.v1.ModelService.MergeVersionAliases]. +message MergeVersionAliasesRequest { + // Required. The name of the model version to merge aliases, with a version ID + // explicitly included. + // + // Example: `projects/{project}/locations/{location}/models/{model}@1234` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // Required. The set of version aliases to merge. + // The alias should be at most 128 characters, and match + // `[a-z][a-zA-Z0-9-]{0,126}[a-z-0-9]`. + // Add the `-` prefix to an alias means removing that alias from the version. + // `-` is NOT counted in the 128 characters. Example: `-golden` means removing + // the `golden` alias from the version. + // + // There is NO ordering in aliases, which means + // 1) The aliases returned from GetModel API might not have the exactly same + // order from this MergeVersionAliases API. 2) Adding and deleting the same + // alias in the request is not recommended, and the 2 operations will be + // cancelled out. + repeated string version_aliases = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [ModelService.ExportModel][google.cloud.aiplatform.v1.ModelService.ExportModel]. +message ExportModelRequest { + // Output configuration for the Model export. + message OutputConfig { + // The ID of the format in which the Model must be exported. Each Model + // lists the [export formats it supports][google.cloud.aiplatform.v1.Model.supported_export_formats]. + // If no value is provided here, then the first from the list of the Model's + // supported formats is used by default. + string export_format_id = 1; + + // The Cloud Storage location where the Model artifact is to be + // written to. Under the directory given as the destination a new one with + // name "`model-export--`", + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, + // will be created. Inside, the Model and any of its supporting files + // will be written. + // This field should only be set when the `exportableContent` field of the + // [Model.supported_export_formats] object contains `ARTIFACT`. + GcsDestination artifact_destination = 3; + + // The Google Container Registry or Artifact Registry uri where the + // Model container image will be copied to. + // This field should only be set when the `exportableContent` field of the + // [Model.supported_export_formats] object contains `IMAGE`. + ContainerRegistryDestination image_destination = 4; + } + + // Required. The resource name of the Model to export. + // The resource name may contain version id or version alias to specify the + // version, if no version is specified, the default version will be exported. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // Required. The desired output location and configuration. + OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Details of [ModelService.ExportModel][google.cloud.aiplatform.v1.ModelService.ExportModel] operation. +message ExportModelOperationMetadata { + // Further describes the output of the ExportModel. Supplements + // [ExportModelRequest.OutputConfig][google.cloud.aiplatform.v1.ExportModelRequest.OutputConfig]. + message OutputInfo { + // Output only. If the Model artifact is being exported to Google Cloud Storage this is + // the full path of the directory created, into which the Model files are + // being written to. + string artifact_output_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If the Model image is being exported to Google Container Registry or + // Artifact Registry this is the full path of the image created. + string image_output_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; + + // Output only. Information further describing the output of this Model export. + OutputInfo output_info = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Response message of [ModelService.ExportModel][google.cloud.aiplatform.v1.ModelService.ExportModel] operation. +message ExportModelResponse { + +} + +// Request message for [ModelService.ImportModelEvaluation][google.cloud.aiplatform.v1.ModelService.ImportModelEvaluation] +message ImportModelEvaluationRequest { + // Required. The name of the parent model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // Required. Model evaluation resource to be imported. + ModelEvaluation model_evaluation = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.BatchImportModelEvaluationSlices] +message BatchImportModelEvaluationSlicesRequest { + // Required. The name of the parent ModelEvaluation resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelEvaluation" + } + ]; + + // Required. Model evaluation slice resource to be imported. + repeated ModelEvaluationSlice model_evaluation_slices = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.BatchImportModelEvaluationSlices] +message BatchImportModelEvaluationSlicesResponse { + // Output only. List of imported [ModelEvaluationSlice.name][google.cloud.aiplatform.v1.ModelEvaluationSlice.name]. + repeated string imported_model_evaluation_slices = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1.ModelService.GetModelEvaluation]. +message GetModelEvaluationRequest { + // Required. The name of the ModelEvaluation resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelEvaluation" + } + ]; +} + +// Request message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1.ModelService.ListModelEvaluations]. +message ListModelEvaluationsRequest { + // Required. The resource name of the Model to list the ModelEvaluations from. + // Format: `projects/{project}/locations/{location}/models/{model}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // The standard list filter. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListModelEvaluationsResponse.next_page_token][google.cloud.aiplatform.v1.ListModelEvaluationsResponse.next_page_token] of the previous + // [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1.ModelService.ListModelEvaluations] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1.ModelService.ListModelEvaluations]. +message ListModelEvaluationsResponse { + // List of ModelEvaluations in the requested page. + repeated ModelEvaluation model_evaluations = 1; + + // A token to retrieve next page of results. + // Pass to [ListModelEvaluationsRequest.page_token][google.cloud.aiplatform.v1.ListModelEvaluationsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1.ModelService.GetModelEvaluationSlice]. +message GetModelEvaluationSliceRequest { + // Required. The name of the ModelEvaluationSlice resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelEvaluationSlice" + } + ]; +} + +// Request message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.ListModelEvaluationSlices]. +message ListModelEvaluationSlicesRequest { + // Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices + // from. Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/ModelEvaluation" + } + ]; + + // The standard list filter. + // + // * `slice.dimension` - for =. + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListModelEvaluationSlicesResponse.next_page_token][google.cloud.aiplatform.v1.ListModelEvaluationSlicesResponse.next_page_token] of the previous + // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.ListModelEvaluationSlices] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1.ModelService.ListModelEvaluationSlices]. +message ListModelEvaluationSlicesResponse { + // List of ModelEvaluations in the requested page. + repeated ModelEvaluationSlice model_evaluation_slices = 1; + + // A token to retrieve next page of results. + // Pass to [ListModelEvaluationSlicesRequest.page_token][google.cloud.aiplatform.v1.ListModelEvaluationSlicesRequest.page_token] to obtain that + // page. + string next_page_token = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/operation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/operation.proto new file mode 100644 index 00000000..da7c5dcc --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/operation.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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "OperationProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Generic Metadata shared by all operations. +message GenericOperationMetadata { + // Output only. Partial failures encountered. + // E.g. single files that couldn't be read. + // This field should never exceed 20 entries. + // Status details field will contain standard GCP error details. + repeated google.rpc.Status partial_failures = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the operation was created. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the operation was updated for the last time. + // If the operation has finished (successfully or not), this is the finish + // time. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details of operations that perform deletes of any entities. +message DeleteOperationMetadata { + // The common part of the operation metadata. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_failure_policy.proto b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_failure_policy.proto new file mode 100644 index 00000000..5ff3b78b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_failure_policy.proto @@ -0,0 +1,44 @@ +// 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.aiplatform.v1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "PipelineFailurePolicyProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Represents the failure policy of a pipeline. Currently, the default of a +// pipeline is that the pipeline will continue to run until no more tasks can be +// executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a +// pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling +// any new tasks when a task has failed. Any scheduled tasks will continue to +// completion. +enum PipelineFailurePolicy { + // Default value, and follows fail slow behavior. + PIPELINE_FAILURE_POLICY_UNSPECIFIED = 0; + + // Indicates that the pipeline should continue to run until all possible + // tasks have been scheduled and completed. + PIPELINE_FAILURE_POLICY_FAIL_SLOW = 1; + + // Indicates that the pipeline should stop scheduling new tasks after a task + // has failed. + PIPELINE_FAILURE_POLICY_FAIL_FAST = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_job.proto b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_job.proto new file mode 100644 index 00000000..656a385b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_job.proto @@ -0,0 +1,365 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/artifact.proto"; +import "google/cloud/aiplatform/v1/context.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/execution.proto"; +import "google/cloud/aiplatform/v1/pipeline_failure_policy.proto"; +import "google/cloud/aiplatform/v1/pipeline_state.proto"; +import "google/cloud/aiplatform/v1/value.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "Pipeline"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/Network" + pattern: "projects/{project}/global/networks/{network}" +}; + +// An instance of a machine learning PipelineJob. +message PipelineJob { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/PipelineJob" + pattern: "projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}" + }; + + // The runtime config of a PipelineJob. + message RuntimeConfig { + // The type of an input artifact. + message InputArtifact { + oneof kind { + // Artifact resource id from MLMD. Which is the last portion of an + // artifact resource + // name(projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}). + // The artifact must stay within the same project, location and default + // metadatastore as the pipeline. + string artifact_id = 1; + } + } + + // Deprecated. Use [RuntimeConfig.parameter_values][google.cloud.aiplatform.v1.PipelineJob.RuntimeConfig.parameter_values] instead. The runtime + // parameters of the PipelineJob. The parameters will be passed into + // [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] to replace the placeholders at runtime. + // This field is used by pipelines built using + // `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as + // pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + map parameters = 1 [deprecated = true]; + + // Required. A path in a Cloud Storage bucket, which will be treated as the root + // output directory of the pipeline. It is used by the system to + // generate the paths of output artifacts. The artifact paths are generated + // with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the + // specified output directory. The service account specified in this + // pipeline must have the `storage.objects.get` and `storage.objects.create` + // permissions for this bucket. + string gcs_output_directory = 2 [(google.api.field_behavior) = REQUIRED]; + + // The runtime parameters of the PipelineJob. The parameters will be + // passed into [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] to replace the placeholders + // at runtime. This field is used by pipelines built using + // `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built + // using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + map parameter_values = 3; + + // Represents the failure policy of a pipeline. Currently, the default of a + // pipeline is that the pipeline will continue to run until no more tasks + // can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. + // However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it + // will stop scheduling any new tasks when a task has failed. Any scheduled + // tasks will continue to completion. + PipelineFailurePolicy failure_policy = 4; + + // The runtime artifacts of the PipelineJob. The key will be the input + // artifact name and the value would be one of the InputArtifact. + map input_artifacts = 5; + } + + // Output only. The resource name of the PipelineJob. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name of the Pipeline. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + string display_name = 2; + + // Output only. Pipeline creation time. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pipeline start time. + google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Pipeline end time. + google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this PipelineJob was most recently updated. + google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The spec of the pipeline. + google.protobuf.Struct pipeline_spec = 7; + + // Output only. The detailed state of the job. + PipelineState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The details of pipeline run. Not available in the list view. + PipelineJobDetail job_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The error that occurred during pipeline execution. + // Only populated when the pipeline's state is FAILED or CANCELLED. + google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize PipelineJob. + // + // 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 = 11; + + // Runtime config of the pipeline. + RuntimeConfig runtime_config = 12; + + // Customer-managed encryption key spec for a pipelineJob. If set, this + // PipelineJob and all of its sub-resources will be secured by this key. + EncryptionSpec encryption_spec = 16; + + // The service account that the pipeline workload runs as. + // If not specified, the Compute Engine default service account in the project + // will be used. + // See + // https://cloud.google.com/compute/docs/access/service-accounts#default_service_account + // + // Users starting the pipeline must have the `iam.serviceAccounts.actAs` + // permission on this service account. + string service_account = 17; + + // The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which the + // Pipeline Job's workload should be peered. 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. + // + // Private services access must already be configured for the network. + // Pipeline job will apply the network configuration to the GCP resources + // being launched, if applied, such as Vertex AI + // Training or Dataflow job. If left unspecified, the workload is not peered + // with any network. + string network = 18 [(google.api.resource_reference) = { + type: "compute.googleapis.com/Network" + }]; + + // A template uri from where the [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec], if empty, will + // be downloaded. + string template_uri = 19; + + // Output only. Pipeline template metadata. Will fill up fields if + // [PipelineJob.template_uri][google.cloud.aiplatform.v1.PipelineJob.template_uri] is from supported template registry. + PipelineTemplateMetadata template_metadata = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Pipeline template metadata if [PipelineJob.template_uri][google.cloud.aiplatform.v1.PipelineJob.template_uri] is from supported +// template registry. Currently, the only supported registry is Artifact +// Registry. +message PipelineTemplateMetadata { + // The version_name in artifact registry. + // + // Will always be presented in output if the [PipelineJob.template_uri][google.cloud.aiplatform.v1.PipelineJob.template_uri] is + // from supported template registry. + // + // Format is "sha256:abcdef123456...". + string version = 3; +} + +// The runtime detail of PipelineJob. +message PipelineJobDetail { + // Output only. The context of the pipeline. + Context pipeline_context = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The context of the current pipeline run. + Context pipeline_run_context = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The runtime details of the tasks under the pipeline. + repeated PipelineTaskDetail task_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The runtime detail of a task execution. +message PipelineTaskDetail { + // A single record of the task status. + message PipelineTaskStatus { + // Output only. Update time of this status. + google.protobuf.Timestamp update_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the task. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The error that occurred during the state. May be set when the state is + // any of the non-final state (PENDING/RUNNING/CANCELLING) or FAILED state. + // If the state is FAILED, the error here is final and not going to be + // retried. + // If the state is a non-final state, the error indicates a system-error + // being retried. + google.rpc.Status error = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // A list of artifact metadata. + message ArtifactList { + // Output only. A list of artifact metadata. + repeated Artifact artifacts = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Specifies state of TaskExecution + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // Specifies pending state for the task. + PENDING = 1; + + // Specifies task is being executed. + RUNNING = 2; + + // Specifies task completed successfully. + SUCCEEDED = 3; + + // Specifies Task cancel is in pending state. + CANCEL_PENDING = 4; + + // Specifies task is being cancelled. + CANCELLING = 5; + + // Specifies task was cancelled. + CANCELLED = 6; + + // Specifies task failed. + FAILED = 7; + + // Specifies task was skipped due to cache hit. + SKIPPED = 8; + + // Specifies that the task was not triggered because the task's trigger + // policy is not satisfied. The trigger policy is specified in the + // `condition` field of [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec]. + NOT_TRIGGERED = 9; + } + + // Output only. The system generated ID of the task. + int64 task_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The id of the parent task if the task is within a component scope. + // Empty if the task is at the root level. + int64 parent_task_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The user specified name of the task that is defined in + // [PipelineJob.spec][]. + string task_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Task create time. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Task start time. + google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Task end time. + google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed execution info. + PipelineTaskExecutorDetail executor_detail = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. State of the task. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The execution metadata of the task. + Execution execution = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The error that occurred during task execution. + // Only populated when the task's state is FAILED or CANCELLED. + google.rpc.Status error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of task status. This field keeps a record of task status evolving + // over time. + repeated PipelineTaskStatus pipeline_task_status = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The runtime input artifacts of the task. + map inputs = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The runtime output artifacts of the task. + map outputs = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The runtime detail of a pipeline executor. +message PipelineTaskExecutorDetail { + // The detail of a container execution. It contains the job names of the + // lifecycle of a container execution. + message ContainerDetail { + // Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob] for the main container execution. + string main_job = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; + + // Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob] for the pre-caching-check container + // execution. This job will be available if the + // [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1.PipelineJob.pipeline_spec] specifies the `pre_caching_check` hook in + // the lifecycle events. + string pre_caching_check_job = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; + } + + // The detailed info for a custom job executor. + message CustomJobDetail { + option deprecated = true; + + // Output only. The name of the [CustomJob][google.cloud.aiplatform.v1.CustomJob]. + string job = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; + } + + oneof details { + // Output only. The detailed info for a container executor. + ContainerDetail container_detail = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed info for a custom job executor. + CustomJobDetail custom_job_detail = 2 [ + deprecated = true, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + } +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_service.proto new file mode 100644 index 00000000..0cd46b32 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_service.proto @@ -0,0 +1,411 @@ +// 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.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/pipeline_job.proto"; +import "google/cloud/aiplatform/v1/training_pipeline.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "PipelineServiceProto"; +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 pipelines. This includes both +// `TrainingPipeline` resources (used for AutoML and custom training) and +// `PipelineJob` resources (used for Vertex AI Pipelines). +service PipelineService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a TrainingPipeline. A created TrainingPipeline right away will be + // attempted to be run. + rpc CreateTrainingPipeline(CreateTrainingPipelineRequest) returns (TrainingPipeline) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/trainingPipelines" + body: "training_pipeline" + }; + option (google.api.method_signature) = "parent,training_pipeline"; + } + + // Gets a TrainingPipeline. + rpc GetTrainingPipeline(GetTrainingPipelineRequest) returns (TrainingPipeline) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/trainingPipelines/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists TrainingPipelines in a Location. + rpc ListTrainingPipelines(ListTrainingPipelinesRequest) returns (ListTrainingPipelinesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/trainingPipelines" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TrainingPipeline. + rpc DeleteTrainingPipeline(DeleteTrainingPipelineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/trainingPipelines/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a TrainingPipeline. + // Starts asynchronous cancellation on the TrainingPipeline. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use [PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline] or + // other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the TrainingPipeline is not deleted; instead it becomes a pipeline with + // a [TrainingPipeline.error][google.cloud.aiplatform.v1.TrainingPipeline.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and [TrainingPipeline.state][google.cloud.aiplatform.v1.TrainingPipeline.state] is set to + // `CANCELLED`. + rpc CancelTrainingPipeline(CancelTrainingPipelineRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/trainingPipelines/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a PipelineJob. A PipelineJob will run immediately when created. + rpc CreatePipelineJob(CreatePipelineJobRequest) returns (PipelineJob) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/pipelineJobs" + body: "pipeline_job" + }; + option (google.api.method_signature) = "parent,pipeline_job,pipeline_job_id"; + } + + // Gets a PipelineJob. + rpc GetPipelineJob(GetPipelineJobRequest) returns (PipelineJob) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/pipelineJobs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists PipelineJobs in a Location. + rpc ListPipelineJobs(ListPipelineJobsRequest) returns (ListPipelineJobsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/pipelineJobs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a PipelineJob. + rpc DeletePipelineJob(DeletePipelineJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/pipelineJobs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Cancels a PipelineJob. + // Starts asynchronous cancellation on the PipelineJob. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use [PipelineService.GetPipelineJob][google.cloud.aiplatform.v1.PipelineService.GetPipelineJob] or + // other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the PipelineJob is not deleted; instead it becomes a pipeline with + // a [PipelineJob.error][google.cloud.aiplatform.v1.PipelineJob.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and [PipelineJob.state][google.cloud.aiplatform.v1.PipelineJob.state] is set to + // `CANCELLED`. + rpc CancelPipelineJob(CancelPipelineJobRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/pipelineJobs/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// Request message for [PipelineService.CreateTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CreateTrainingPipeline]. +message CreateTrainingPipelineRequest { + // Required. The resource name of the Location to create the TrainingPipeline 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 TrainingPipeline to create. + TrainingPipeline training_pipeline = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline]. +message GetTrainingPipelineRequest { + // Required. The name of the TrainingPipeline resource. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + } + ]; +} + +// Request message for [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines]. +message ListTrainingPipelinesRequest { + // Required. The resource name of the Location to list the TrainingPipelines from. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list filter. + // + // Supported fields: + // + // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // * `state` supports `=`, `!=` comparisons. + // * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. + // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // * `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // * `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` + // * `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` + // * `NOT display_name="my_pipeline"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `training_task_definition:"*automl_text_classification*"` + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListTrainingPipelinesResponse.next_page_token][google.cloud.aiplatform.v1.ListTrainingPipelinesResponse.next_page_token] of the previous + // [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines] call. + string page_token = 4; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 5; +} + +// Response message for [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines] +message ListTrainingPipelinesResponse { + // List of TrainingPipelines in the requested page. + repeated TrainingPipeline training_pipelines = 1; + + // A token to retrieve the next page of results. + // Pass to [ListTrainingPipelinesRequest.page_token][google.cloud.aiplatform.v1.ListTrainingPipelinesRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [PipelineService.DeleteTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.DeleteTrainingPipeline]. +message DeleteTrainingPipelineRequest { + // Required. The name of the TrainingPipeline resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + } + ]; +} + +// Request message for [PipelineService.CancelTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CancelTrainingPipeline]. +message CancelTrainingPipelineRequest { + // Required. The name of the TrainingPipeline to cancel. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + } + ]; +} + +// Request message for [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob]. +message CreatePipelineJobRequest { + // Required. The resource name of the Location to create the PipelineJob 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 PipelineJob to create. + PipelineJob pipeline_job = 2 [(google.api.field_behavior) = REQUIRED]; + + // The ID to use for the PipelineJob, which will become the final component of + // the PipelineJob name. If not provided, an ID will be automatically + // generated. + // + // This value should be less than 128 characters, and valid characters + // are /[a-z][0-9]-/. + string pipeline_job_id = 3; +} + +// Request message for [PipelineService.GetPipelineJob][google.cloud.aiplatform.v1.PipelineService.GetPipelineJob]. +message GetPipelineJobRequest { + // Required. The name of the PipelineJob resource. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PipelineJob" + } + ]; +} + +// Request message for [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs]. +message ListPipelineJobsRequest { + // Required. The resource name of the Location to list the PipelineJobs 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 PipelineJobs that match the filter expression. The following + // fields are supported: + // + // * `pipeline_name`: Supports `=` and `!=` comparisons. + // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. + // for example, can check if pipeline's display_name contains *step* by + // doing display_name:\"*step*\" + // * `state`: Supports `=` and `!=` comparisons. + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // * `labels`: Supports key-value equality and key presence. + // * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. + // * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` + // wildcard. + // + // Filter expressions can be combined together using logical operators + // (`AND` & `OR`). + // For example: `pipeline_name="test" AND create_time>"2020-05-18T13:30:00Z"`. + // + // The syntax to define filter expression is based on + // https://google.aip.dev/160. + // + // Examples: + // + // * `create_time>"2021-05-18T00:00:00Z" OR + // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated + // after 2020-05-18 00:00:00 UTC. + // * `labels.env = "prod"` + // PipelineJobs with label "env" set to "prod". + string filter = 2; + + // The standard list page size. + int32 page_size = 3; + + // The standard list page token. + // Typically obtained via + // [ListPipelineJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListPipelineJobsResponse.next_page_token] of the previous + // [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs] 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 e.g. "create_time desc, end_time", + // "end_time, start_time, update_time" For example, using "create_time desc, + // end_time" will order results by create time in descending order, and if + // there are multiple jobs 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 order is create time in descending order. Supported fields: + // + // * `create_time` + // * `update_time` + // * `end_time` + // * `start_time` + string order_by = 6; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 7; +} + +// Response message for [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs] +message ListPipelineJobsResponse { + // List of PipelineJobs in the requested page. + repeated PipelineJob pipeline_jobs = 1; + + // A token to retrieve the next page of results. + // Pass to [ListPipelineJobsRequest.page_token][google.cloud.aiplatform.v1.ListPipelineJobsRequest.page_token] to obtain that page. + string next_page_token = 2; +} + +// Request message for [PipelineService.DeletePipelineJob][google.cloud.aiplatform.v1.PipelineService.DeletePipelineJob]. +message DeletePipelineJobRequest { + // Required. The name of the PipelineJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PipelineJob" + } + ]; +} + +// Request message for [PipelineService.CancelPipelineJob][google.cloud.aiplatform.v1.PipelineService.CancelPipelineJob]. +message CancelPipelineJobRequest { + // Required. The name of the PipelineJob to cancel. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/PipelineJob" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_state.proto b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_state.proto new file mode 100644 index 00000000..a06ae8ab --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/pipeline_state.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.aiplatform.v1; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "PipelineStateProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Describes the state of a pipeline. +enum PipelineState { + // The pipeline state is unspecified. + PIPELINE_STATE_UNSPECIFIED = 0; + + // The pipeline has been created or resumed, and processing has not yet + // begun. + PIPELINE_STATE_QUEUED = 1; + + // The service is preparing to run the pipeline. + PIPELINE_STATE_PENDING = 2; + + // The pipeline is in progress. + PIPELINE_STATE_RUNNING = 3; + + // The pipeline completed successfully. + PIPELINE_STATE_SUCCEEDED = 4; + + // The pipeline failed. + PIPELINE_STATE_FAILED = 5; + + // The pipeline is being cancelled. From this state, the pipeline may only go + // to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or + // PIPELINE_STATE_CANCELLED. + PIPELINE_STATE_CANCELLING = 6; + + // The pipeline has been cancelled. + PIPELINE_STATE_CANCELLED = 7; + + // The pipeline has been stopped, and can be resumed. + PIPELINE_STATE_PAUSED = 8; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/prediction_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/prediction_service.proto new file mode 100644 index 00000000..36096fd9 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/prediction_service.proto @@ -0,0 +1,231 @@ +// 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.aiplatform.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/aiplatform/v1/explanation.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "PredictionServiceProto"; +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 online predictions and explanations. +service PredictionService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Perform an online prediction. + rpc Predict(PredictRequest) returns (PredictResponse) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:predict" + body: "*" + }; + option (google.api.method_signature) = "endpoint,instances,parameters"; + } + + // Perform an online prediction with an arbitrary HTTP payload. + // + // The response includes the following HTTP headers: + // + // * `X-Vertex-AI-Endpoint-Id`: ID of the [Endpoint][google.cloud.aiplatform.v1.Endpoint] that served this + // prediction. + // + // * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] + // that served this prediction. + rpc RawPredict(RawPredictRequest) returns (google.api.HttpBody) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:rawPredict" + body: "*" + }; + option (google.api.method_signature) = "endpoint,http_body"; + } + + // Perform an online explanation. + // + // If [deployed_model_id][google.cloud.aiplatform.v1.ExplainRequest.deployed_model_id] is specified, + // the corresponding DeployModel must have + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] + // populated. If [deployed_model_id][google.cloud.aiplatform.v1.ExplainRequest.deployed_model_id] + // is not specified, all DeployedModels must have + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] + // populated. Only deployed AutoML tabular Models have + // explanation_spec. + rpc Explain(ExplainRequest) returns (ExplainResponse) { + option (google.api.http) = { + post: "/v1/{endpoint=projects/*/locations/*/endpoints/*}:explain" + body: "*" + }; + option (google.api.method_signature) = "endpoint,instances,parameters,deployed_model_id"; + } +} + +// Request message for [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. +message PredictRequest { + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + 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 the prediction call. + // A DeployedModel may have an upper limit on the number of instances it + // supports per request, and when it is exceeded the prediction call errors + // in case of AutoML Models, or, in case of customer created Models, the + // behaviour is as documented by that Model. + // The schema of any single instance may be specified via Endpoint's + // DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. + repeated google.protobuf.Value instances = 2 [(google.api.field_behavior) = REQUIRED]; + + // The parameters that govern the prediction. The schema of the parameters may + // be specified via Endpoint's DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. + google.protobuf.Value parameters = 3; +} + +// Response message for [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. +message PredictResponse { + // The predictions that are the output of the predictions call. + // The schema of any single prediction may be specified via Endpoint's + // DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]. + repeated google.protobuf.Value predictions = 1; + + // ID of the Endpoint's DeployedModel that served this prediction. + string deployed_model_id = 2; + + // Output only. The resource name of the Model which is deployed as the DeployedModel that + // this prediction hits. + string model = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Model" + } + ]; + + // Output only. The version ID of the Model which is deployed as the DeployedModel that + // this prediction hits. + string model_version_id = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The [display name][google.cloud.aiplatform.v1.Model.display_name] of the Model which is deployed as + // the DeployedModel that this prediction hits. + string model_display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for [PredictionService.RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict]. +message RawPredictRequest { + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + string endpoint = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Endpoint" + } + ]; + + // The prediction input. Supports HTTP headers and arbitrary data payload. + // + // A [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] may have an upper limit on the number of instances it + // supports per request. When this limit it is exceeded for an AutoML model, + // the [RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict] method returns an error. + // When this limit is exceeded for a custom-trained model, the behavior varies + // depending on the model. + // + // You can specify the schema for each instance in the + // [predict_schemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] + // field when you create a [Model][google.cloud.aiplatform.v1.Model]. This schema applies when you deploy the + // `Model` as a `DeployedModel` to an [Endpoint][google.cloud.aiplatform.v1.Endpoint] and use the `RawPredict` + // method. + google.api.HttpBody http_body = 2; +} + +// Request message for [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. +message ExplainRequest { + // Required. The name of the Endpoint requested to serve the explanation. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + 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 the explanation call. + // A DeployedModel may have an upper limit on the number of instances it + // supports per request, and when it is exceeded the explanation call errors + // in case of AutoML Models, or, in case of customer created Models, the + // behaviour is as documented by that Model. + // The schema of any single instance may be specified via Endpoint's + // DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. + repeated google.protobuf.Value instances = 2 [(google.api.field_behavior) = REQUIRED]; + + // The parameters that govern the prediction. The schema of the parameters may + // be specified via Endpoint's DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] + // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] + // [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. + google.protobuf.Value parameters = 4; + + // If specified, overrides the + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] of the DeployedModel. + // Can be used for explaining prediction results with different + // configurations, such as: + // - Explaining top-5 predictions results as opposed to top-1; + // - Increasing path count or step count of the attribution methods to reduce + // approximate errors; + // - Using different baselines for explaining the prediction results. + ExplanationSpecOverride explanation_spec_override = 5; + + // If specified, this ExplainRequest will be served by the chosen + // DeployedModel, overriding [Endpoint.traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split]. + string deployed_model_id = 3; +} + +// Response message for [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. +message ExplainResponse { + // The explanations of the Model's [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions]. + // + // It has the same number of elements as [instances][google.cloud.aiplatform.v1.ExplainRequest.instances] + // to be explained. + repeated Explanation explanations = 1; + + // ID of the Endpoint's DeployedModel that served this explanation. + string deployed_model_id = 2; + + // The predictions that are the output of the predictions call. + // Same as [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions]. + repeated google.protobuf.Value predictions = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/saved_query.proto b/google-cloud/protos/google/cloud/aiplatform/v1/saved_query.proto new file mode 100644 index 00000000..5332222d --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/saved_query.proto @@ -0,0 +1,85 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "SavedQueryProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A SavedQuery is a view of the dataset. It references a subset of annotations +// by problem type and filters. +message SavedQuery { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/SavedQuery" + pattern: "projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}" + }; + + // Output only. Resource name of the SavedQuery. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of the SavedQuery. + // 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]; + + // Some additional information about the SavedQuery. + google.protobuf.Value metadata = 12; + + // Output only. Timestamp when this SavedQuery was created. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when SavedQuery was last updated. + google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Filters on the Annotations in the dataset. + string annotation_filter = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Problem type of the SavedQuery. + // Allowed values: + // + // * IMAGE_CLASSIFICATION_SINGLE_LABEL + // * IMAGE_CLASSIFICATION_MULTI_LABEL + // * IMAGE_BOUNDING_POLY + // * IMAGE_BOUNDING_BOX + // * TEXT_CLASSIFICATION_SINGLE_LABEL + // * TEXT_CLASSIFICATION_MULTI_LABEL + // * TEXT_EXTRACTION + // * TEXT_SENTIMENT + // * VIDEO_CLASSIFICATION + // * VIDEO_OBJECT_TRACKING + string problem_type = 6 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Number of AnnotationSpecs in the context of the SavedQuery. + int32 annotation_spec_count = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform a consistent read-modify-write update. If not set, a blind + // "overwrite" update happens. + string etag = 8; + + // Output only. If the Annotations belonging to the SavedQuery can be used for AutoML + // training. + bool support_automl_training = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/aiplatform_v1.yaml b/google-cloud/protos/google/cloud/aiplatform/v1/schema/aiplatform_v1.yaml new file mode 100644 index 00000000..0e359c53 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/aiplatform_v1.yaml @@ -0,0 +1,401 @@ +type: google.api.Service +config_version: 3 +name: aiplatform.googleapis.com +title: Vertex AI API + +types: +- name: google.cloud.aiplatform.v1.schema.predict.instance.ImageClassificationPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.ImageObjectDetectionPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.TextClassificationPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.TextExtractionPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.TextSentimentPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.VideoActionRecognitionPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.VideoClassificationPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.instance.VideoObjectTrackingPredictionInstance +- name: google.cloud.aiplatform.v1.schema.predict.params.ImageClassificationPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.params.ImageObjectDetectionPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.params.ImageSegmentationPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.params.VideoActionRecognitionPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.params.VideoClassificationPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.params.VideoObjectTrackingPredictionParams +- name: google.cloud.aiplatform.v1.schema.predict.prediction.ClassificationPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.ImageObjectDetectionPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.ImageSegmentationPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.TabularClassificationPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.TabularRegressionPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.TextExtractionPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.TextSentimentPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.VideoActionRecognitionPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.VideoClassificationPredictionResult +- name: google.cloud.aiplatform.v1.schema.predict.prediction.VideoObjectTrackingPredictionResult +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageClassification +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageClassificationInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageClassificationMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageObjectDetection +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageObjectDetectionInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageObjectDetectionMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageSegmentation +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageSegmentationInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlImageSegmentationMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTables +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTablesInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTablesMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextClassification +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextClassificationInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextExtraction +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextExtractionInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextSentiment +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlTextSentimentInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoActionRecognition +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoActionRecognitionInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoClassification +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoClassificationInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoObjectTracking +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.AutoMlVideoObjectTrackingInputs +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.CustomJobMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.CustomTask +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.ExportEvaluatedDataItemsConfig +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.HyperparameterTuningJobMetadata +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.HyperparameterTuningJobSpec +- name: google.cloud.aiplatform.v1.schema.trainingjob.definition.HyperparameterTuningTask + +documentation: + summary: |- + Train high-quality custom machine learning models with minimal machine + learning expertise and effort. + overview: |- + Vertex AI enables data scientists, developers, and AI newcomers to create + custom machine learning models specific to their business needs by + leveraging Google's state-of-the-art transfer learning and innovative AI + research. + 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: 30.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 30.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/ui/{name=projects/*/locations/*}' + additional_bindings: + - get: '/v1/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/ui/{name=projects/*}/locations' + additional_bindings: + - get: '/v1/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/ui/{name=projects/*/locations/*/operations/*}:cancel' + additional_bindings: + - post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/studies/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/models/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/ui/{name=projects/*/locations/*/operations/*}' + additional_bindings: + - delete: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/models/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/studies/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/models/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/studies/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/ui/{name=projects/*/locations/*/operations/*}' + additional_bindings: + - get: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/models/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/studies/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/models/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/studies/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/ui/{name=projects/*/locations/*}/operations' + additional_bindings: + - get: '/ui/{name=projects/*/locations/*/datasets/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations' + - get: '/ui/{name=projects/*/locations/*/endpoints/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations' + - get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations' + - get: '/ui/{name=projects/*/locations/*/customJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/indexes/*}/operations' + - get: '/ui/{name=projects/*/locations/*/indexEndpoints/*}/operations' + - get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/migratableResources/*}/operations' + - get: '/ui/{name=projects/*/locations/*/models/*}/operations' + - get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*}/operations' + - get: '/ui/{name=projects/*/locations/*/studies/*}/operations' + - get: '/ui/{name=projects/*/locations/*/studies/*/trials/*}/operations' + - get: '/ui/{name=projects/*/locations/*/trainingPipelines/*}/operations' + - get: '/ui/{name=projects/*/locations/*/pipelineJobs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/specialistPools/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations' + - get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations' + - get: '/v1/{name=projects/*/locations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/endpoints/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations' + - get: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations' + - get: '/v1/{name=projects/*/locations/*/customJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/indexes/*}/operations' + - get: '/v1/{name=projects/*/locations/*/indexEndpoints/*}/operations' + - get: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/migratableResources/*}/operations' + - get: '/v1/{name=projects/*/locations/*/models/*}/operations' + - get: '/v1/{name=projects/*/locations/*/models/*/evaluations/*}/operations' + - get: '/v1/{name=projects/*/locations/*/studies/*}/operations' + - get: '/v1/{name=projects/*/locations/*/studies/*/trials/*}/operations' + - get: '/v1/{name=projects/*/locations/*/trainingPipelines/*}/operations' + - get: '/v1/{name=projects/*/locations/*/pipelineJobs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/specialistPools/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations' + - get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations' + - selector: google.longrunning.Operations.WaitOperation + post: '/ui/{name=projects/*/locations/*/operations/*}:wait' + additional_bindings: + - post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/studies/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait' + - post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/endpoints/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/customJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/indexes/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/models/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/studies/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait' + - post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait' + +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.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel new file mode 100644 index 00000000..c34bac4e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel @@ -0,0 +1,216 @@ +# 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 = "instance_proto", + srcs = [ + "image_classification.proto", + "image_object_detection.proto", + "image_segmentation.proto", + "text_classification.proto", + "text_extraction.proto", + "text_sentiment.proto", + "video_action_recognition.proto", + "video_classification.proto", + "video_object_tracking.proto", + ], + deps = [ + "//google/api:annotations_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "instance_java_proto", + deps = [":instance_proto"], +) + +java_grpc_library( + name = "instance_java_grpc", + srcs = [":instance_proto"], + deps = [":instance_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "instance_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance", + protos = [":instance_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "instance_moved_proto", + srcs = [":instance_proto"], + deps = [ + "//google/api:annotations_proto", + ], +) + +py_proto_library( + name = "instance_py_proto", + deps = [":instance_moved_proto"], +) + +py_grpc_library( + name = "instance_py_grpc", + srcs = [":instance_moved_proto"], + deps = [":instance_py_proto"], +) + +py_gapic_library( + name = "instance_py_gapic", + srcs = [":instance_proto"], + opt_args = [ + "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict", + "python-gapic-name=instance", + ], + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "instance-py", + deps = [ + ":instance_py_gapic", + ], +) + +#load("@gapic_generator_java//rules_java_gapic:java_gapic.bzl", "java_generator_request_dump") +# +#java_generator_request_dump( +# name = "instance_request_dump", +# srcs = [":instance_py_gapic"], +# # opt_args = [ +# # "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict", +# # "python-gapic-name=instance", +# # ], +# transport = "grpc", +#) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "instance_php_proto", + deps = [":instance_proto"], +) + +php_grpc_library( + name = "instance_php_grpc", + srcs = [":instance_proto"], + deps = [":instance_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "instance_ruby_proto", + deps = [":instance_proto"], +) + +ruby_grpc_library( + name = "instance_ruby_grpc", + srcs = [":instance_proto"], + deps = [":instance_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "instance_csharp_proto", + deps = [":instance_proto"], +) + +csharp_grpc_library( + name = "instance_csharp_grpc", + srcs = [":instance_proto"], + deps = [":instance_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "instance_cc_proto", + deps = [":instance_proto"], +) + +cc_grpc_library( + name = "instance_cc_grpc", + srcs = [":instance_proto"], + grpc_only = True, + deps = [":instance_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_classification.proto new file mode 100644 index 00000000..7ebb77ab --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_classification.proto @@ -0,0 +1,43 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "ImageClassificationPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Image Classification. +message ImageClassificationPredictionInstance { + // The image bytes or Cloud Storage URI to make the prediction on. + string content = 1; + + // The MIME type of the content of the image. Only the images in below listed + // MIME types are supported. + // - image/jpeg + // - image/gif + // - image/png + // - image/webp + // - image/bmp + // - image/tiff + // - image/vnd.microsoft.icon + string mime_type = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_object_detection.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_object_detection.proto new file mode 100644 index 00000000..96aa4b14 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_object_detection.proto @@ -0,0 +1,43 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "ImageObjectDetectionPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Image Object Detection. +message ImageObjectDetectionPredictionInstance { + // The image bytes or Cloud Storage URI to make the prediction on. + string content = 1; + + // The MIME type of the content of the image. Only the images in below listed + // MIME types are supported. + // - image/jpeg + // - image/gif + // - image/png + // - image/webp + // - image/bmp + // - image/tiff + // - image/vnd.microsoft.icon + string mime_type = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_segmentation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_segmentation.proto new file mode 100644 index 00000000..95dbf98c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/image_segmentation.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "ImageSegmentationPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Image Segmentation. +message ImageSegmentationPredictionInstance { + // The image bytes to make the predictions on. + string content = 1; + + // The MIME type of the content of the image. Only the images in below listed + // MIME types are supported. + // - image/jpeg + // - image/png + string mime_type = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_classification.proto new file mode 100644 index 00000000..7d977a2f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_classification.proto @@ -0,0 +1,37 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "TextClassificationPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Text Classification. +message TextClassificationPredictionInstance { + // The text snippet to make the predictions on. + string content = 1; + + // The MIME type of the text snippet. The supported MIME types are listed + // below. + // - text/plain + string mime_type = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_extraction.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_extraction.proto new file mode 100644 index 00000000..b0b60c0f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_extraction.proto @@ -0,0 +1,44 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "TextExtractionPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Text Extraction. +message TextExtractionPredictionInstance { + // The text snippet to make the predictions on. + string content = 1; + + // The MIME type of the text snippet. The supported MIME types are listed + // below. + // - text/plain + string mime_type = 2; + + // This field is only used for batch prediction. If a key is provided, the + // batch prediction result will by mapped to this key. If omitted, then the + // batch prediction result will contain the entire input instance. Vertex AI + // will not check if keys in the request are duplicates, so it is up to the + // caller to ensure the keys are unique. + string key = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_sentiment.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_sentiment.proto new file mode 100644 index 00000000..15ded40b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/text_sentiment.proto @@ -0,0 +1,37 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "TextSentimentPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Text Sentiment. +message TextSentimentPredictionInstance { + // The text snippet to make the predictions on. + string content = 1; + + // The MIME type of the text snippet. The supported MIME types are listed + // below. + // - text/plain + string mime_type = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_action_recognition.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_action_recognition.proto new file mode 100644 index 00000000..a43507dd --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_action_recognition.proto @@ -0,0 +1,50 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "VideoActionRecognitionPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Video Action Recognition. +message VideoActionRecognitionPredictionInstance { + // The Google Cloud Storage location of the video on which to perform the + // prediction. + string content = 1; + + // The MIME type of the content of the video. Only the following are + // supported: video/mp4 video/avi video/quicktime + string mime_type = 2; + + // The beginning, inclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision. + string time_segment_start = 3; + + // The end, exclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision, and "inf" or "Infinity" is allowed, which + // means the end of the video. + string time_segment_end = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_classification.proto new file mode 100644 index 00000000..70318a60 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_classification.proto @@ -0,0 +1,50 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "VideoClassificationPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Video Classification. +message VideoClassificationPredictionInstance { + // The Google Cloud Storage location of the video on which to perform the + // prediction. + string content = 1; + + // The MIME type of the content of the video. Only the following are + // supported: video/mp4 video/avi video/quicktime + string mime_type = 2; + + // The beginning, inclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision. + string time_segment_start = 3; + + // The end, exclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision, and "inf" or "Infinity" is allowed, which + // means the end of the video. + string time_segment_end = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_object_tracking.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_object_tracking.proto new file mode 100644 index 00000000..26b34930 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/instance/video_object_tracking.proto @@ -0,0 +1,50 @@ +// 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.aiplatform.v1.schema.predict.instance; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Instance"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance;instance"; +option java_multiple_files = true; +option java_outer_classname = "VideoObjectTrackingPredictionInstanceProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.instance"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Instance"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Instance"; + +// Prediction input format for Video Object Tracking. +message VideoObjectTrackingPredictionInstance { + // The Google Cloud Storage location of the video on which to perform the + // prediction. + string content = 1; + + // The MIME type of the content of the video. Only the following are + // supported: video/mp4 video/avi video/quicktime + string mime_type = 2; + + // The beginning, inclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision. + string time_segment_start = 3; + + // The end, exclusive, of the video's time segment on which to perform + // the prediction. Expressed as a number of seconds as measured from the + // start of the video, with "s" appended at the end. Fractions are allowed, + // up to a microsecond precision, and "inf" or "Infinity" is allowed, which + // means the end of the video. + string time_segment_end = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel new file mode 100644 index 00000000..371fe2b9 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel @@ -0,0 +1,201 @@ +# 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 = "params_proto", + srcs = [ + "image_classification.proto", + "image_object_detection.proto", + "image_segmentation.proto", + "video_action_recognition.proto", + "video_classification.proto", + "video_object_tracking.proto", + ], + deps = [ + "//google/api:annotations_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "params_java_proto", + deps = [":params_proto"], +) + +java_grpc_library( + name = "params_java_grpc", + srcs = [":params_proto"], + deps = [":params_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "params_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params", + protos = [":params_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "params_moved_proto", + srcs = [":params_proto"], + deps = [ + "//google/api:annotations_proto", + ], +) + +py_proto_library( + name = "params_py_proto", + deps = [":params_moved_proto"], +) + +py_grpc_library( + name = "params_py_grpc", + srcs = [":params_moved_proto"], + deps = [":params_py_proto"], +) + +py_gapic_library( + name = "params_py_gapic", + srcs = [":params_proto"], + opt_args = [ + "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict", + "python-gapic-name=params", + ], + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "params-py", + deps = [ + ":params_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "params_php_proto", + deps = [":params_proto"], +) + +php_grpc_library( + name = "params_php_grpc", + srcs = [":params_proto"], + deps = [":params_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "params_ruby_proto", + deps = [":params_proto"], +) + +ruby_grpc_library( + name = "params_ruby_grpc", + srcs = [":params_proto"], + deps = [":params_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "params_csharp_proto", + deps = [":params_proto"], +) + +csharp_grpc_library( + name = "params_csharp_grpc", + srcs = [":params_proto"], + deps = [":params_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "params_cc_proto", + deps = [":params_proto"], +) + +cc_grpc_library( + name = "params_cc_grpc", + srcs = [":params_proto"], + grpc_only = True, + deps = [":params_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_classification.proto new file mode 100644 index 00000000..6aab8b46 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_classification.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "ImageClassificationPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Image Classification. +message ImageClassificationPredictionParams { + // The Model only returns predictions with at least this confidence score. + // Default value is 0.0 + float confidence_threshold = 1; + + // The Model only returns up to that many top, by confidence score, + // predictions per instance. If this number is very high, the Model may return + // fewer predictions. Default value is 10. + int32 max_predictions = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_object_detection.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_object_detection.proto new file mode 100644 index 00000000..e957e2af --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_object_detection.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "ImageObjectDetectionPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Image Object Detection. +message ImageObjectDetectionPredictionParams { + // The Model only returns predictions with at least this confidence score. + // Default value is 0.0 + float confidence_threshold = 1; + + // The Model only returns up to that many top, by confidence score, + // predictions per instance. Note that number of returned predictions is also + // limited by metadata's predictionsLimit. Default value is 10. + int32 max_predictions = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_segmentation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_segmentation.proto new file mode 100644 index 00000000..5469108a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/image_segmentation.proto @@ -0,0 +1,35 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "ImageSegmentationPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Image Segmentation. +message ImageSegmentationPredictionParams { + // When the model predicts category of pixels of the image, it will only + // provide predictions for pixels that it is at least this much confident + // about. All other pixels will be classified as background. Default value is + // 0.5. + float confidence_threshold = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_action_recognition.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_action_recognition.proto new file mode 100644 index 00000000..ba6ec540 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_action_recognition.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "VideoActionRecognitionPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Video Action Recognition. +message VideoActionRecognitionPredictionParams { + // The Model only returns predictions with at least this confidence score. + // Default value is 0.0 + float confidence_threshold = 1; + + // The model only returns up to that many top, by confidence score, + // predictions per frame of the video. If this number is very high, the + // Model may return fewer predictions per frame. Default value is 50. + int32 max_predictions = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_classification.proto new file mode 100644 index 00000000..f4325f8a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_classification.proto @@ -0,0 +1,63 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "VideoClassificationPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Video Classification. +message VideoClassificationPredictionParams { + // The Model only returns predictions with at least this confidence score. + // Default value is 0.0 + float confidence_threshold = 1; + + // The Model only returns up to that many top, by confidence score, + // predictions per instance. If this number is very high, the Model may return + // fewer predictions. Default value is 10,000. + int32 max_predictions = 2; + + // Set to true to request segment-level classification. Vertex AI returns + // labels and their confidence scores for the entire time segment of the + // video that user specified in the input instance. + // Default value is true + bool segment_classification = 3; + + // Set to true to request shot-level classification. Vertex AI determines + // the boundaries for each camera shot in the entire time segment of the + // video that user specified in the input instance. Vertex AI then + // returns labels and their confidence scores for each detected shot, along + // with the start and end time of the shot. + // WARNING: Model evaluation is not done for this classification type, + // the quality of it depends on the training data, but there are no metrics + // provided to describe that quality. + // Default value is false + bool shot_classification = 4; + + // Set to true to request classification for a video at one-second intervals. + // Vertex AI returns labels and their confidence scores for each second of + // the entire time segment of the video that user specified in the input + // WARNING: Model evaluation is not done for this classification type, the + // quality of it depends on the training data, but there are no metrics + // provided to describe that quality. Default value is false + bool one_sec_interval_classification = 5; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_object_tracking.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_object_tracking.proto new file mode 100644 index 00000000..82449062 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/params/video_object_tracking.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1.schema.predict.params; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Params"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params;params"; +option java_multiple_files = true; +option java_outer_classname = "VideoObjectTrackingPredictionParamsProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.params"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Params"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Params"; + +// Prediction model parameters for Video Object Tracking. +message VideoObjectTrackingPredictionParams { + // The Model only returns predictions with at least this confidence score. + // Default value is 0.0 + float confidence_threshold = 1; + + // The model only returns up to that many top, by confidence score, + // predictions per frame of the video. If this number is very high, the + // Model may return fewer predictions per frame. Default value is 50. + int32 max_predictions = 2; + + // Only bounding boxes with shortest edge at least that long as a relative + // value of video frame size are returned. Default value is 0.0. + float min_bounding_box_size = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel new file mode 100644 index 00000000..7e9de2de --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel @@ -0,0 +1,212 @@ +# 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 = "prediction_proto", + srcs = [ + "classification.proto", + "image_object_detection.proto", + "image_segmentation.proto", + "tabular_classification.proto", + "tabular_regression.proto", + "text_extraction.proto", + "text_sentiment.proto", + "video_action_recognition.proto", + "video_classification.proto", + "video_object_tracking.proto", + ], + deps = [ + "//google/api:annotations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "prediction_java_proto", + deps = [":prediction_proto"], +) + +java_grpc_library( + name = "prediction_java_grpc", + srcs = [":prediction_proto"], + deps = [":prediction_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "prediction_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction", + protos = [":prediction_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "prediction_moved_proto", + srcs = [":prediction_proto"], + deps = [ + "//google/api:annotations_proto", + "//google/cloud/aiplatform/v1/schema/predict/instance:instance_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +py_proto_library( + name = "prediction_py_proto", + deps = [":prediction_moved_proto"], +) + +py_grpc_library( + name = "prediction_py_grpc", + srcs = [":prediction_moved_proto"], + deps = [":prediction_py_proto"], +) + +py_gapic_library( + name = "prediction_py_gapic", + srcs = [":prediction_proto"], + opt_args = [ + "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict", # Replace with the current version + "python-gapic-name=prediction", + ], + transport = "grpc", +) + +py_gapic_assembly_pkg( + name = "prediction-py", + deps = [ + ":prediction_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "prediction_php_proto", + deps = [":prediction_proto"], +) + +php_grpc_library( + name = "prediction_php_grpc", + srcs = [":prediction_proto"], + deps = [":prediction_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "prediction_ruby_proto", + deps = [":prediction_proto"], +) + +ruby_grpc_library( + name = "prediction_ruby_grpc", + srcs = [":prediction_proto"], + deps = [":prediction_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "prediction_csharp_proto", + deps = [":prediction_proto"], +) + +csharp_grpc_library( + name = "prediction_csharp_grpc", + srcs = [":prediction_proto"], + deps = [":prediction_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "prediction_cc_proto", + deps = [":prediction_proto"], +) + +cc_grpc_library( + name = "prediction_cc_grpc", + srcs = [":prediction_proto"], + grpc_only = True, + deps = [":prediction_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/classification.proto new file mode 100644 index 00000000..be54f2c8 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/classification.proto @@ -0,0 +1,40 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "ClassificationPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Image and Text Classification. +message ClassificationPredictionResult { + // The resource IDs of the AnnotationSpecs that had been identified. + repeated int64 ids = 1; + + // The display names of the AnnotationSpecs that had been identified, order + // matches the IDs. + repeated string display_names = 2; + + // The Model's confidences in correctness of the predicted IDs, higher value + // means higher confidence. Order matches the Ids. + repeated float confidences = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_object_detection.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_object_detection.proto new file mode 100644 index 00000000..b0bb842e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_object_detection.proto @@ -0,0 +1,50 @@ +// 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.aiplatform.v1.schema.predict.prediction; + +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "ImageObjectDetectionPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Image Object Detection. +message ImageObjectDetectionPredictionResult { + // The resource IDs of the AnnotationSpecs that had been identified, ordered + // by the confidence score descendingly. + repeated int64 ids = 1; + + // The display names of the AnnotationSpecs that had been identified, order + // matches the IDs. + repeated string display_names = 2; + + // The Model's confidences in correctness of the predicted IDs, higher value + // means higher confidence. Order matches the Ids. + repeated float confidences = 3; + + // Bounding boxes, i.e. the rectangles over the image, that pinpoint + // the found AnnotationSpecs. Given in order that matches the IDs. Each + // bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and + // `yMax`, which represent the extremal coordinates of the box. They are + // relative to the image size, and the point 0,0 is in the top left + // of the image. + repeated google.protobuf.ListValue bboxes = 4; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_segmentation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_segmentation.proto new file mode 100644 index 00000000..20ff4f6d --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/image_segmentation.proto @@ -0,0 +1,44 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "ImageSegmentationPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Image Segmentation. +message ImageSegmentationPredictionResult { + // A PNG image where each pixel in the mask represents the category in which + // the pixel in the original image was predicted to belong to. The size of + // this image will be the same as the original image. The mapping between the + // AnntoationSpec and the color can be found in model's metadata. The model + // will choose the most likely category and if none of the categories reach + // the confidence threshold, the pixel will be marked as background. + string category_mask = 1; + + // A one channel image which is encoded as an 8bit lossless PNG. The size of + // the image will be the same as the original image. For a specific pixel, + // darker color means less confidence in correctness of the cateogry in the + // categoryMask for the corresponding pixel. Black means no confidence and + // white means complete confidence. + string confidence_mask = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_classification.proto new file mode 100644 index 00000000..979461bd --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_classification.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "TabularClassificationPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Tabular Classification. +message TabularClassificationPredictionResult { + // The name of the classes being classified, contains all possible values of + // the target column. + repeated string classes = 1; + + // The model's confidence in each class being correct, higher + // value means higher confidence. The N-th score corresponds to + // the N-th class in classes. + repeated float scores = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_regression.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_regression.proto new file mode 100644 index 00000000..ba6bc6a7 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/tabular_regression.proto @@ -0,0 +1,38 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "TabularRegressionPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Tabular Regression. +message TabularRegressionPredictionResult { + // The regression value. + float value = 1; + + // The lower bound of the prediction interval. + float lower_bound = 2; + + // The upper bound of the prediction interval. + float upper_bound = 3; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_extraction.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_extraction.proto new file mode 100644 index 00000000..f74a82bf --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_extraction.proto @@ -0,0 +1,51 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "TextExtractionPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Text Extraction. +message TextExtractionPredictionResult { + // The resource IDs of the AnnotationSpecs that had been identified, + // ordered by the confidence score descendingly. + repeated int64 ids = 1; + + // The display names of the AnnotationSpecs that had been identified, + // order matches the IDs. + repeated string display_names = 2; + + // The start offsets, inclusive, of the text segment in which the + // AnnotationSpec has been identified. Expressed as a zero-based number + // of characters as measured from the start of the text snippet. + repeated int64 text_segment_start_offsets = 3; + + // The end offsets, inclusive, of the text segment in which the + // AnnotationSpec has been identified. Expressed as a zero-based number + // of characters as measured from the start of the text snippet. + repeated int64 text_segment_end_offsets = 4; + + // The Model's confidences in correctness of the predicted IDs, higher + // value means higher confidence. Order matches the Ids. + repeated float confidences = 5; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_sentiment.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_sentiment.proto new file mode 100644 index 00000000..4e8d5ec2 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/text_sentiment.proto @@ -0,0 +1,36 @@ +// 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.aiplatform.v1.schema.predict.prediction; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "TextSentimentPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Text Sentiment +message TextSentimentPredictionResult { + // The integer sentiment labels between 0 (inclusive) and sentimentMax label + // (inclusive), while 0 maps to the least positive sentiment and + // sentimentMax maps to the most positive one. The higher the score is, the + // more positive the sentiment in the text snippet is. Note: sentimentMax is + // an integer value between 1 (inclusive) and 10 (inclusive). + int32 sentiment = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_action_recognition.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_action_recognition.proto new file mode 100644 index 00000000..35aecb6c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_action_recognition.proto @@ -0,0 +1,53 @@ +// 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.aiplatform.v1.schema.predict.prediction; + +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "VideoActionRecognitionPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Video Action Recognition. +message VideoActionRecognitionPredictionResult { + // The resource ID of the AnnotationSpec that had been identified. + string id = 1; + + // The display name of the AnnotationSpec that had been identified. + string display_name = 2; + + // The beginning, inclusive, of the video's time segment in which the + // AnnotationSpec has been identified. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. + google.protobuf.Duration time_segment_start = 4; + + // The end, exclusive, of the video's time segment in which the + // AnnotationSpec has been identified. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. + google.protobuf.Duration time_segment_end = 5; + + // The Model's confidence in correction of this prediction, higher + // value means higher confidence. + google.protobuf.FloatValue confidence = 6; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_classification.proto new file mode 100644 index 00000000..fee01c7e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_classification.proto @@ -0,0 +1,66 @@ +// 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.aiplatform.v1.schema.predict.prediction; + +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "VideoClassificationPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Video Classification. +message VideoClassificationPredictionResult { + // The resource ID of the AnnotationSpec that had been identified. + string id = 1; + + // The display name of the AnnotationSpec that had been identified. + string display_name = 2; + + // The type of the prediction. The requested types can be configured + // via parameters. This will be one of + // - segment-classification + // - shot-classification + // - one-sec-interval-classification + string type = 3; + + // The beginning, inclusive, of the video's time segment in which the + // AnnotationSpec has been identified. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. Note that for + // 'segment-classification' prediction type, this equals the original + // 'timeSegmentStart' from the input instance, for other types it is the + // start of a shot or a 1 second interval respectively. + google.protobuf.Duration time_segment_start = 4; + + // The end, exclusive, of the video's time segment in which the + // AnnotationSpec has been identified. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. Note that for + // 'segment-classification' prediction type, this equals the original + // 'timeSegmentEnd' from the input instance, for other types it is the end + // of a shot or a 1 second interval respectively. + google.protobuf.Duration time_segment_end = 5; + + // The Model's confidence in correction of this prediction, higher + // value means higher confidence. + google.protobuf.FloatValue confidence = 6; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_object_tracking.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_object_tracking.proto new file mode 100644 index 00000000..d445c0cc --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/predict/prediction/video_object_tracking.proto @@ -0,0 +1,81 @@ +// 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.aiplatform.v1.schema.predict.prediction; + +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.Predict.Prediction"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction;prediction"; +option java_multiple_files = true; +option java_outer_classname = "VideoObjectTrackingPredictionResultProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.predict.prediction"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\Predict\\Prediction"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::Predict::Prediction"; + +// Prediction output format for Video Object Tracking. +message VideoObjectTrackingPredictionResult { + // The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, + // i.e. the rectangle over the video frame pinpointing the found + // AnnotationSpec. The coordinates are relative to the frame size, and the + // point 0,0 is in the top left of the frame. + message Frame { + // A time (frame) of a video in which the object has been detected. + // Expressed as a number of seconds as measured from the + // start of the video, with fractions up to a microsecond precision, and + // with "s" appended at the end. + google.protobuf.Duration time_offset = 1; + + // The leftmost coordinate of the bounding box. + google.protobuf.FloatValue x_min = 2; + + // The rightmost coordinate of the bounding box. + google.protobuf.FloatValue x_max = 3; + + // The topmost coordinate of the bounding box. + google.protobuf.FloatValue y_min = 4; + + // The bottommost coordinate of the bounding box. + google.protobuf.FloatValue y_max = 5; + } + + // The resource ID of the AnnotationSpec that had been identified. + string id = 1; + + // The display name of the AnnotationSpec that had been identified. + string display_name = 2; + + // The beginning, inclusive, of the video's time segment in which the + // object instance has been detected. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. + google.protobuf.Duration time_segment_start = 3; + + // The end, inclusive, of the video's time segment in which the + // object instance has been detected. Expressed as a number of seconds as + // measured from the start of the video, with fractions up to a microsecond + // precision, and with "s" appended at the end. + google.protobuf.Duration time_segment_end = 4; + + // The Model's confidence in correction of this prediction, higher + // value means higher confidence. + google.protobuf.FloatValue confidence = 5; + + // All of the frames of the video in which a single object instance has been + // detected. The bounding boxes in the frames identify the same object. + repeated Frame frames = 6; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel new file mode 100644 index 00000000..84837576 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel @@ -0,0 +1,209 @@ +# 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 = "definition_proto", + srcs = [ + "automl_image_classification.proto", + "automl_image_object_detection.proto", + "automl_image_segmentation.proto", + "automl_tables.proto", + "automl_text_classification.proto", + "automl_text_extraction.proto", + "automl_text_sentiment.proto", + "automl_video_action_recognition.proto", + "automl_video_classification.proto", + "automl_video_object_tracking.proto", + "export_evaluated_data_items_config.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "definition_java_proto", + deps = [":definition_proto"], +) + +java_grpc_library( + name = "definition_java_grpc", + srcs = [":definition_proto"], + deps = [":definition_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "definition_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition", + protos = [":definition_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:field_behavior_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "definition_moved_proto", + srcs = [":definition_proto"], + deps = [ + "//google/api:annotations_proto", + "//google/api:field_behavior_proto", + ], +) + +py_proto_library( + name = "definition_py_proto", + deps = [":definition_moved_proto"], +) + +py_grpc_library( + name = "definition_py_grpc", + srcs = [":definition_moved_proto"], + deps = [":definition_py_proto"], +) + +py_gapic_library( + name = "definition_py_gapic", + srcs = [":definition_proto"], + opt_args = [ + "python-gapic-namespace=google.cloud.aiplatform.v1.schema.trainingjob", + "python-gapic-name=definition", + ], + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "definition_py", + deps = [ + ":definition_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "definition_php_proto", + deps = [":definition_proto"], +) + +php_grpc_library( + name = "definition_php_grpc", + srcs = [":definition_proto"], + deps = [":definition_php_proto"], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "definition_ruby_proto", + deps = [":definition_proto"], +) + +ruby_grpc_library( + name = "definition_ruby_grpc", + srcs = [":definition_proto"], + deps = [":definition_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "definition_csharp_proto", + deps = [":definition_proto"], +) + +csharp_grpc_library( + name = "definition_csharp_grpc", + srcs = [":definition_proto"], + deps = [":definition_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "definition_cc_proto", + deps = [":definition_proto"], +) + +cc_grpc_library( + name = "definition_cc_grpc", + srcs = [":definition_proto"], + grpc_only = True, + deps = [":definition_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_classification.proto new file mode 100644 index 00000000..0f2c1ea4 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_classification.proto @@ -0,0 +1,127 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLImageClassificationProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Image Classification Model. +message AutoMlImageClassification { + // The input parameters of this TrainingJob. + AutoMlImageClassificationInputs inputs = 1; + + // The metadata information. + AutoMlImageClassificationMetadata metadata = 2; +} + +message AutoMlImageClassificationInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A Model best tailored to be used within Google Cloud, and which cannot + // be exported. + // Default. + CLOUD = 1; + + // A model that, in addition to being available within Google + // Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow + // or Core ML model and used on a mobile or edge device afterwards. + // Expected to have low latency, but may have lower prediction + // quality than other mobile models. + MOBILE_TF_LOW_LATENCY_1 = 2; + + // A model that, in addition to being available within Google + // Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow + // or Core ML model and used on a mobile or edge device with afterwards. + MOBILE_TF_VERSATILE_1 = 3; + + // A model that, in addition to being available within Google + // Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow + // or Core ML model and used on a mobile or edge device afterwards. + // Expected to have a higher latency, but should also have a higher + // prediction quality than other mobile models. + MOBILE_TF_HIGH_ACCURACY_1 = 4; + } + + ModelType model_type = 1; + + // The ID of the `base` model. If it is specified, the new model will be + // trained based on the `base` model. Otherwise, the new model will be + // trained from scratch. The `base` model must be in the same + // Project and Location as the new Model to train, and have the same + // modelType. + string base_model_id = 2; + + // The training budget of creating this model, expressed in milli node + // hours i.e. 1,000 value in this field means 1 node hour. The actual + // metadata.costMilliNodeHours will be equal or less than this value. + // If further model training ceases to provide any improvements, it will + // stop without using the full budget and the metadata.successfulStopReason + // will be `model-converged`. + // Note, node_hour = actual_hour * number_of_nodes_involved. + // For modelType `cloud`(default), the budget must be between 8,000 + // and 800,000 milli node hours, inclusive. The default value is 192,000 + // which represents one day in wall time, considering 8 nodes are used. + // For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, + // `mobile-tf-high-accuracy-1`, the training budget must be between + // 1,000 and 100,000 milli node hours, inclusive. + // The default value is 24,000 which represents one day in wall time on a + // single node that is used. + int64 budget_milli_node_hours = 3; + + // Use the entire training budget. This disables the early stopping feature. + // When false the early stopping feature is enabled, which means that + // AutoML Image Classification might stop training before the entire + // training budget has been used. + bool disable_early_stopping = 4; + + // If false, a single-label (multi-class) Model will be trained (i.e. + // assuming that for each image just up to one annotation may be + // applicable). If true, a multi-label Model will be trained (i.e. + // assuming that for each image multiple annotations may be applicable). + bool multi_label = 5; +} + +message AutoMlImageClassificationMetadata { + enum SuccessfulStopReason { + // Should not be set. + SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0; + + // The inputs.budgetMilliNodeHours had been reached. + BUDGET_REACHED = 1; + + // Further training of the Model ceased to increase its quality, since it + // already has converged. + MODEL_CONVERGED = 2; + } + + // The actual training cost of creating this model, expressed in + // milli node hours, i.e. 1,000 value in this field means 1 node hour. + // Guaranteed to not exceed inputs.budgetMilliNodeHours. + int64 cost_milli_node_hours = 1; + + // For successful job completions, this is the reason why the job has + // finished. + SuccessfulStopReason successful_stop_reason = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_object_detection.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_object_detection.proto new file mode 100644 index 00000000..1459a85a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_object_detection.proto @@ -0,0 +1,119 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLImageObjectDetectionProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Image Object Detection Model. +message AutoMlImageObjectDetection { + // The input parameters of this TrainingJob. + AutoMlImageObjectDetectionInputs inputs = 1; + + // The metadata information + AutoMlImageObjectDetectionMetadata metadata = 2; +} + +message AutoMlImageObjectDetectionInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A model best tailored to be used within Google Cloud, and which cannot + // be exported. Expected to have a higher latency, but should also have a + // higher prediction quality than other cloud models. + CLOUD_HIGH_ACCURACY_1 = 1; + + // A model best tailored to be used within Google Cloud, and which cannot + // be exported. Expected to have a low latency, but may have lower + // prediction quality than other cloud models. + CLOUD_LOW_LATENCY_1 = 2; + + // A model that, in addition to being available within Google + // Cloud can also be exported (see ModelService.ExportModel) and + // used on a mobile or edge device with TensorFlow afterwards. + // Expected to have low latency, but may have lower prediction + // quality than other mobile models. + MOBILE_TF_LOW_LATENCY_1 = 3; + + // A model that, in addition to being available within Google + // Cloud can also be exported (see ModelService.ExportModel) and + // used on a mobile or edge device with TensorFlow afterwards. + MOBILE_TF_VERSATILE_1 = 4; + + // A model that, in addition to being available within Google + // Cloud, can also be exported (see ModelService.ExportModel) and + // used on a mobile or edge device with TensorFlow afterwards. + // Expected to have a higher latency, but should also have a higher + // prediction quality than other mobile models. + MOBILE_TF_HIGH_ACCURACY_1 = 5; + } + + ModelType model_type = 1; + + // The training budget of creating this model, expressed in milli node + // hours i.e. 1,000 value in this field means 1 node hour. The actual + // metadata.costMilliNodeHours will be equal or less than this value. + // If further model training ceases to provide any improvements, it will + // stop without using the full budget and the metadata.successfulStopReason + // will be `model-converged`. + // Note, node_hour = actual_hour * number_of_nodes_involved. + // For modelType `cloud`(default), the budget must be between 20,000 + // and 900,000 milli node hours, inclusive. The default value is 216,000 + // which represents one day in wall time, considering 9 nodes are used. + // For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, + // `mobile-tf-high-accuracy-1` + // the training budget must be between 1,000 and 100,000 milli node hours, + // inclusive. The default value is 24,000 which represents one day in + // wall time on a single node that is used. + int64 budget_milli_node_hours = 2; + + // Use the entire training budget. This disables the early stopping feature. + // When false the early stopping feature is enabled, which means that AutoML + // Image Object Detection might stop training before the entire training + // budget has been used. + bool disable_early_stopping = 3; +} + +message AutoMlImageObjectDetectionMetadata { + enum SuccessfulStopReason { + // Should not be set. + SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0; + + // The inputs.budgetMilliNodeHours had been reached. + BUDGET_REACHED = 1; + + // Further training of the Model ceased to increase its quality, since it + // already has converged. + MODEL_CONVERGED = 2; + } + + // The actual training cost of creating this model, expressed in + // milli node hours, i.e. 1,000 value in this field means 1 node hour. + // Guaranteed to not exceed inputs.budgetMilliNodeHours. + int64 cost_milli_node_hours = 1; + + // For successful job completions, this is the reason why the job has + // finished. + SuccessfulStopReason successful_stop_reason = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_segmentation.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_segmentation.proto new file mode 100644 index 00000000..8303ef69 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_image_segmentation.proto @@ -0,0 +1,105 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLImageSegmentationProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Image Segmentation Model. +message AutoMlImageSegmentation { + // The input parameters of this TrainingJob. + AutoMlImageSegmentationInputs inputs = 1; + + // The metadata information. + AutoMlImageSegmentationMetadata metadata = 2; +} + +message AutoMlImageSegmentationInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A model to be used via prediction calls to uCAIP API. Expected + // to have a higher latency, but should also have a higher prediction + // quality than other models. + CLOUD_HIGH_ACCURACY_1 = 1; + + // A model to be used via prediction calls to uCAIP API. Expected + // to have a lower latency but relatively lower prediction quality. + CLOUD_LOW_ACCURACY_1 = 2; + + // A model that, in addition to being available within Google + // Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow + // model and used on a mobile or edge device afterwards. + // Expected to have low latency, but may have lower prediction + // quality than other mobile models. + MOBILE_TF_LOW_LATENCY_1 = 3; + } + + ModelType model_type = 1; + + // The training budget of creating this model, expressed in milli node + // hours i.e. 1,000 value in this field means 1 node hour. The actual + // metadata.costMilliNodeHours will be equal or less than this value. + // If further model training ceases to provide any improvements, it will + // stop without using the full budget and the metadata.successfulStopReason + // will be `model-converged`. + // Note, node_hour = actual_hour * number_of_nodes_involved. Or + // actaul_wall_clock_hours = train_budget_milli_node_hours / + // (number_of_nodes_involved * 1000) + // For modelType `cloud-high-accuracy-1`(default), the budget must be between + // 20,000 and 2,000,000 milli node hours, inclusive. The default value is + // 192,000 which represents one day in wall time + // (1000 milli * 24 hours * 8 nodes). + int64 budget_milli_node_hours = 2; + + // The ID of the `base` model. If it is specified, the new model will be + // trained based on the `base` model. Otherwise, the new model will be + // trained from scratch. The `base` model must be in the same + // Project and Location as the new Model to train, and have the same + // modelType. + string base_model_id = 3; +} + +message AutoMlImageSegmentationMetadata { + enum SuccessfulStopReason { + // Should not be set. + SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0; + + // The inputs.budgetMilliNodeHours had been reached. + BUDGET_REACHED = 1; + + // Further training of the Model ceased to increase its quality, since it + // already has converged. + MODEL_CONVERGED = 2; + } + + // The actual training cost of creating this model, expressed in + // milli node hours, i.e. 1,000 value in this field means 1 node hour. + // Guaranteed to not exceed inputs.budgetMilliNodeHours. + int64 cost_milli_node_hours = 1; + + // For successful job completions, this is the reason why the job has + // finished. + SuccessfulStopReason successful_stop_reason = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_tables.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_tables.proto new file mode 100644 index 00000000..5b43fc7b --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_tables.proto @@ -0,0 +1,283 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + +import "google/cloud/aiplatform/v1/schema/trainingjob/definition/export_evaluated_data_items_config.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLTablesProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Tables Model. +message AutoMlTables { + // The input parameters of this TrainingJob. + AutoMlTablesInputs inputs = 1; + + // The metadata information. + AutoMlTablesMetadata metadata = 2; +} + +message AutoMlTablesInputs { + message Transformation { + // Training pipeline will infer the proper transformation based on the + // statistic of dataset. + message AutoTransformation { + string column_name = 1; + } + + // Training pipeline will perform following transformation functions. + // * The value converted to float32. + // * The z_score of the value. + // * log(value+1) when the value is greater than or equal to 0. Otherwise, + // this transformation is not applied and the value is considered a + // missing value. + // * z_score of log(value+1) when the value is greater than or equal to 0. + // Otherwise, this transformation is not applied and the value is + // considered a missing value. + // * A boolean value that indicates whether the value is valid. + message NumericTransformation { + string column_name = 1; + + // If invalid values is allowed, the training pipeline will create a + // boolean feature that indicated whether the value is valid. + // Otherwise, the training pipeline will discard the input row from + // trainining data. + bool invalid_values_allowed = 2; + } + + // Training pipeline will perform following transformation functions. + // * The categorical string as is--no change to case, punctuation, + // spelling, + // tense, and so on. + // * Convert the category name to a dictionary lookup index and generate an + // embedding for each index. + // * Categories that appear less than 5 times in the training dataset are + // treated as the "unknown" category. The "unknown" category gets its own + // special lookup index and resulting embedding. + message CategoricalTransformation { + string column_name = 1; + } + + // Training pipeline will perform following transformation functions. + // * Apply the transformation functions for Numerical columns. + // * Determine the year, month, day,and weekday. Treat each value from the + // * timestamp as a Categorical column. + // * Invalid numerical values (for example, values that fall outside of a + // typical timestamp range, or are extreme values) receive no special + // treatment and are not removed. + message TimestampTransformation { + string column_name = 1; + + // The format in which that time field is expressed. The time_format must + // either be one of: + // * `unix-seconds` + // * `unix-milliseconds` + // * `unix-microseconds` + // * `unix-nanoseconds` + // (for respectively number of seconds, milliseconds, microseconds and + // nanoseconds since start of the Unix epoch); + // or be written in `strftime` syntax. If time_format is not set, then the + // default format is RFC 3339 `date-time` format, where + // `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z) + string time_format = 2; + + // If invalid values is allowed, the training pipeline will create a + // boolean feature that indicated whether the value is valid. + // Otherwise, the training pipeline will discard the input row from + // trainining data. + bool invalid_values_allowed = 3; + } + + // Training pipeline will perform following transformation functions. + // * The text as is--no change to case, punctuation, spelling, tense, and + // so + // on. + // * Tokenize text to words. Convert each words to a dictionary lookup + // index + // and generate an embedding for each index. Combine the embedding of all + // elements into a single embedding using the mean. + // * Tokenization is based on unicode script boundaries. + // * Missing values get their own lookup index and resulting embedding. + // * Stop-words receive no special treatment and are not removed. + message TextTransformation { + string column_name = 1; + } + + // Treats the column as numerical array and performs following + // transformation functions. + // * All transformations for Numerical types applied to the average of the + // all elements. + // * The average of empty arrays is treated as zero. + message NumericArrayTransformation { + string column_name = 1; + + // If invalid values is allowed, the training pipeline will create a + // boolean feature that indicated whether the value is valid. + // Otherwise, the training pipeline will discard the input row from + // trainining data. + bool invalid_values_allowed = 2; + } + + // Treats the column as categorical array and performs following + // transformation functions. + // * For each element in the array, convert the category name to a + // dictionary + // lookup index and generate an embedding for each index. + // Combine the embedding of all elements into a single embedding using + // the mean. + // * Empty arrays treated as an embedding of zeroes. + message CategoricalArrayTransformation { + string column_name = 1; + } + + // Treats the column as text array and performs following transformation + // functions. + // * Concatenate all text values in the array into a single text value + // using + // a space (" ") as a delimiter, and then treat the result as a single + // text value. Apply the transformations for Text columns. + // * Empty arrays treated as an empty text. + message TextArrayTransformation { + string column_name = 1; + } + + // The transformation that the training pipeline will apply to the input + // columns. + oneof transformation_detail { + AutoTransformation auto = 1; + + NumericTransformation numeric = 2; + + CategoricalTransformation categorical = 3; + + TimestampTransformation timestamp = 4; + + TextTransformation text = 5; + + NumericArrayTransformation repeated_numeric = 6; + + CategoricalArrayTransformation repeated_categorical = 7; + + TextArrayTransformation repeated_text = 8; + } + } + + // Additional optimization objective configuration. Required for + // `maximize-precision-at-recall` and `maximize-recall-at-precision`, + // otherwise unused. + oneof additional_optimization_objective_config { + // Required when optimization_objective is "maximize-precision-at-recall". + // Must be between 0 and 1, inclusive. + float optimization_objective_recall_value = 5; + + // Required when optimization_objective is "maximize-recall-at-precision". + // Must be between 0 and 1, inclusive. + float optimization_objective_precision_value = 6; + } + + // The type of prediction the Model is to produce. + // "classification" - Predict one out of multiple target values is + // picked for each row. + // "regression" - Predict a value based on its relation to other values. + // This type is available only to columns that contain + // semantically numeric values, i.e. integers or floating + // point number, even if stored as e.g. strings. + string prediction_type = 1; + + // The column name of the target column that the model is to predict. + string target_column = 2; + + // Each transformation will apply transform function to given input column. + // And the result will be used for training. + // When creating transformation for BigQuery Struct column, the column should + // be flattened using "." as the delimiter. + repeated Transformation transformations = 3; + + // Objective function the model is optimizing towards. The training process + // creates a model that maximizes/minimizes the value of the objective + // function over the validation set. + // + // The supported optimization objectives depend on the prediction type. + // If the field is not set, a default objective function is used. + // + // classification (binary): + // "maximize-au-roc" (default) - Maximize the area under the receiver + // operating characteristic (ROC) curve. + // "minimize-log-loss" - Minimize log loss. + // "maximize-au-prc" - Maximize the area under the precision-recall curve. + // "maximize-precision-at-recall" - Maximize precision for a specified + // recall value. + // "maximize-recall-at-precision" - Maximize recall for a specified + // precision value. + // + // classification (multi-class): + // "minimize-log-loss" (default) - Minimize log loss. + // + // regression: + // "minimize-rmse" (default) - Minimize root-mean-squared error (RMSE). + // "minimize-mae" - Minimize mean-absolute error (MAE). + // "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). + string optimization_objective = 4; + + // Required. The train budget of creating this model, expressed in milli node + // hours i.e. 1,000 value in this field means 1 node hour. + // + // The training cost of the model will not exceed this budget. The final cost + // will be attempted to be close to the budget, though may end up being (even) + // noticeably smaller - at the backend's discretion. This especially may + // happen when further model training ceases to provide any improvements. + // + // If the budget is set to a value known to be insufficient to train a + // model for the given dataset, the training won't be attempted and + // will error. + // + // The train budget must be between 1,000 and 72,000 milli node hours, + // inclusive. + int64 train_budget_milli_node_hours = 7; + + // Use the entire training budget. This disables the early stopping feature. + // By default, the early stopping feature is enabled, which means that AutoML + // Tables might stop training before the entire training budget has been used. + bool disable_early_stopping = 8; + + // Column name that should be used as the weight column. + // Higher values in this column give more importance to the row + // during model training. The column must have numeric values between 0 and + // 10000 inclusively; 0 means the row is ignored for training. If weight + // column field is not set, then all rows are assumed to have equal weight + // of 1. + string weight_column_name = 9; + + // Configuration for exporting test set predictions to a BigQuery table. If + // this configuration is absent, then the export is not performed. + ExportEvaluatedDataItemsConfig export_evaluated_data_items_config = 10; + + // Additional experiment flags for the Tables training pipeline. + repeated string additional_experiments = 11; +} + +// Model metadata specific to AutoML Tables. +message AutoMlTablesMetadata { + // Output only. The actual training cost of the model, expressed in milli + // node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed + // to not exceed the train budget. + int64 train_cost_milli_node_hours = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_classification.proto new file mode 100644 index 00000000..1713e6a6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_classification.proto @@ -0,0 +1,36 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLTextClassificationProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Text Classification Model. +message AutoMlTextClassification { + // The input parameters of this TrainingJob. + AutoMlTextClassificationInputs inputs = 1; +} + +message AutoMlTextClassificationInputs { + bool multi_label = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_extraction.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_extraction.proto new file mode 100644 index 00000000..01f56c31 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_extraction.proto @@ -0,0 +1,36 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLTextExtractionProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Text Extraction Model. +message AutoMlTextExtraction { + // The input parameters of this TrainingJob. + AutoMlTextExtractionInputs inputs = 1; +} + +message AutoMlTextExtractionInputs { + +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_sentiment.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_sentiment.proto new file mode 100644 index 00000000..cb3f0ac5 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_text_sentiment.proto @@ -0,0 +1,43 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLTextSentimentProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Text Sentiment Model. +message AutoMlTextSentiment { + // The input parameters of this TrainingJob. + AutoMlTextSentimentInputs inputs = 1; +} + +message AutoMlTextSentimentInputs { + // A sentiment is expressed as an integer ordinal, where higher value + // means a more positive sentiment. The range of sentiments that will be used + // is between 0 and sentimentMax (inclusive on both ends), and all the values + // in the range must be represented in the dataset before a model can be + // created. + // Only the Annotations with this sentimentMax will be used for training. + // sentimentMax value must be between 1 and 10 (inclusive). + int32 sentiment_max = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_action_recognition.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_action_recognition.proto new file mode 100644 index 00000000..331033bd --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_action_recognition.proto @@ -0,0 +1,61 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLVideoActionRecognitionProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Video Action Recognition +// Model. +message AutoMlVideoActionRecognition { + // The input parameters of this TrainingJob. + AutoMlVideoActionRecognitionInputs inputs = 1; +} + +message AutoMlVideoActionRecognitionInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A model best tailored to be used within Google Cloud, and which c annot + // be exported. Default. + CLOUD = 1; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) as a TensorFlow or + // TensorFlow Lite model and used on a mobile or edge device afterwards. + MOBILE_VERSATILE_1 = 2; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) to a Jetson device + // afterwards. + MOBILE_JETSON_VERSATILE_1 = 3; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) as a TensorFlow or + // TensorFlow Lite model and used on a Coral device afterwards. + MOBILE_CORAL_VERSATILE_1 = 4; + } + + ModelType model_type = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_classification.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_classification.proto new file mode 100644 index 00000000..194ea3c6 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_classification.proto @@ -0,0 +1,55 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLVideoClassificationProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Video Classification Model. +message AutoMlVideoClassification { + // The input parameters of this TrainingJob. + AutoMlVideoClassificationInputs inputs = 1; +} + +message AutoMlVideoClassificationInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A model best tailored to be used within Google Cloud, and which cannot + // be exported. Default. + CLOUD = 1; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) as a TensorFlow or + // TensorFlow Lite model and used on a mobile or edge device afterwards. + MOBILE_VERSATILE_1 = 2; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) to a Jetson device + // afterwards. + MOBILE_JETSON_VERSATILE_1 = 3; + } + + ModelType model_type = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_object_tracking.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_object_tracking.proto new file mode 100644 index 00000000..d97e356f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/automl_video_object_tracking.proto @@ -0,0 +1,66 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "AutoMLVideoObjectTrackingProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model. +message AutoMlVideoObjectTracking { + // The input parameters of this TrainingJob. + AutoMlVideoObjectTrackingInputs inputs = 1; +} + +message AutoMlVideoObjectTrackingInputs { + enum ModelType { + // Should not be set. + MODEL_TYPE_UNSPECIFIED = 0; + + // A model best tailored to be used within Google Cloud, and which c annot + // be exported. Default. + CLOUD = 1; + + // A model that, in addition to being available within Google Cloud, can + // also be exported (see ModelService.ExportModel) as a TensorFlow or + // TensorFlow Lite model and used on a mobile or edge device afterwards. + MOBILE_VERSATILE_1 = 2; + + // A versatile model that is meant to be exported (see + // ModelService.ExportModel) and used on a Google Coral device. + MOBILE_CORAL_VERSATILE_1 = 3; + + // A model that trades off quality for low latency, to be exported (see + // ModelService.ExportModel) and used on a Google Coral device. + MOBILE_CORAL_LOW_LATENCY_1 = 4; + + // A versatile model that is meant to be exported (see + // ModelService.ExportModel) and used on an NVIDIA Jetson device. + MOBILE_JETSON_VERSATILE_1 = 5; + + // A model that trades off quality for low latency, to be exported (see + // ModelService.ExportModel) and used on an NVIDIA Jetson device. + MOBILE_JETSON_LOW_LATENCY_1 = 6; + } + + ModelType model_type = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/export_evaluated_data_items_config.proto b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/export_evaluated_data_items_config.proto new file mode 100644 index 00000000..eaa3298a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/schema/trainingjob/definition/export_evaluated_data_items_config.proto @@ -0,0 +1,42 @@ +// 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.aiplatform.v1.schema.trainingjob.definition; + + +option csharp_namespace = "Google.Cloud.AIPlatform.V1.Schema.TrainingJob.Definition"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition;definition"; +option java_multiple_files = true; +option java_outer_classname = "ExportEvaluatedDataItemsConfigProto"; +option java_package = "com.google.cloud.aiplatform.v1.schema.trainingjob.definition"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1\\Schema\\TrainingJob\\Definition"; +option ruby_package = "Google::Cloud::AIPlatform::V1::Schema::TrainingJob::Definition"; + +// Configuration for exporting test set predictions to a BigQuery table. +message ExportEvaluatedDataItemsConfig { + // URI of desired destination BigQuery table. Expected format: + // bq://::
+ // + // If not specified, then results are exported to the following auto-created + // BigQuery table: + // :export_evaluated_examples__.evaluated_examples + string destination_bigquery_uri = 1; + + // If true and an export destination is specified, then the contents of the + // destination are overwritten. Otherwise, if the export destination already + // exists, then the export operation fails. + bool override_existing_table = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool.proto b/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool.proto new file mode 100644 index 00000000..0e620e6a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool.proto @@ -0,0 +1,62 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "SpecialistPoolProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// SpecialistPool represents customers' own workforce to work on their data +// labeling jobs. It includes a group of specialist managers and workers. +// Managers are responsible for managing the workers in this pool as well as +// customers' data labeling jobs associated with this pool. Customers create +// specialist pool as well as start data labeling jobs on Cloud, managers and +// workers handle the jobs using CrowdCompute console. +message SpecialistPool { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/SpecialistPool" + pattern: "projects/{project}/locations/{location}/specialistPools/{specialist_pool}" + }; + + // Required. The resource name of the SpecialistPool. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The user-defined name of the SpecialistPool. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + // This field should be unique on project-level. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The number of managers in this SpecialistPool. + int32 specialist_managers_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The email addresses of the managers in the SpecialistPool. + repeated string specialist_manager_emails = 4; + + // Output only. The resource name of the pending data labeling jobs. + repeated string pending_data_labeling_jobs = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The email addresses of workers in the SpecialistPool. + repeated string specialist_worker_emails = 7; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool_service.proto new file mode 100644 index 00000000..c45cc767 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/specialist_pool_service.proto @@ -0,0 +1,210 @@ +// 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.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/specialist_pool.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "SpecialistPoolServiceProto"; +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 Customer SpecialistPools. +// When customers start Data Labeling jobs, they can reuse/create Specialist +// Pools to bring their own Specialists to label the data. +// Customers can add/remove Managers for the Specialist Pool on Cloud console, +// then Managers will get email notifications to manage Specialists and tasks on +// CrowdCompute console. +service SpecialistPoolService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a SpecialistPool. + rpc CreateSpecialistPool(CreateSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/specialistPools" + body: "specialist_pool" + }; + option (google.api.method_signature) = "parent,specialist_pool"; + option (google.longrunning.operation_info) = { + response_type: "SpecialistPool" + metadata_type: "CreateSpecialistPoolOperationMetadata" + }; + } + + // Gets a SpecialistPool. + rpc GetSpecialistPool(GetSpecialistPoolRequest) returns (SpecialistPool) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/specialistPools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists SpecialistPools in a Location. + rpc ListSpecialistPools(ListSpecialistPoolsRequest) returns (ListSpecialistPoolsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/specialistPools" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a SpecialistPool as well as all Specialists in the pool. + rpc DeleteSpecialistPool(DeleteSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/specialistPools/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Updates a SpecialistPool. + rpc UpdateSpecialistPool(UpdateSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{specialist_pool.name=projects/*/locations/*/specialistPools/*}" + body: "specialist_pool" + }; + option (google.api.method_signature) = "specialist_pool,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "SpecialistPool" + metadata_type: "UpdateSpecialistPoolOperationMetadata" + }; + } +} + +// Request message for [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.CreateSpecialistPool]. +message CreateSpecialistPoolRequest { + // Required. The parent Project name for the new SpecialistPool. + // The form is `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The SpecialistPool to create. + SpecialistPool specialist_pool = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for +// [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.CreateSpecialistPool]. +message CreateSpecialistPoolOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [SpecialistPoolService.GetSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.GetSpecialistPool]. +message GetSpecialistPoolRequest { + // Required. The name of the SpecialistPool resource. + // The form is + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; +} + +// Request message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1.SpecialistPoolService.ListSpecialistPools]. +message ListSpecialistPoolsRequest { + // Required. The name of the SpecialistPool's parent resource. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list page size. + int32 page_size = 2; + + // The standard list page token. + // Typically obtained by [ListSpecialistPoolsResponse.next_page_token][google.cloud.aiplatform.v1.ListSpecialistPoolsResponse.next_page_token] of + // the previous [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1.SpecialistPoolService.ListSpecialistPools] call. Return + // first page if empty. + string page_token = 3; + + // Mask specifying which fields to read. FieldMask represents a set of + google.protobuf.FieldMask read_mask = 4; +} + +// Response message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1.SpecialistPoolService.ListSpecialistPools]. +message ListSpecialistPoolsResponse { + // A list of SpecialistPools that matches the specified filter in the request. + repeated SpecialistPool specialist_pools = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [SpecialistPoolService.DeleteSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.DeleteSpecialistPool]. +message DeleteSpecialistPoolRequest { + // Required. The resource name of the SpecialistPool to delete. Format: + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; + + // If set to true, any specialist managers in this SpecialistPool will also be + // deleted. (Otherwise, the request will only work if the SpecialistPool has + // no specialist managers.) + bool force = 2; +} + +// Request message for [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.UpdateSpecialistPool]. +message UpdateSpecialistPoolRequest { + // Required. The SpecialistPool which replaces the resource on the server. + SpecialistPool specialist_pool = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation metadata for +// [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1.SpecialistPoolService.UpdateSpecialistPool]. +message UpdateSpecialistPoolOperationMetadata { + // Output only. The name of the SpecialistPool to which the specialists are being added. + // Format: + // `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}` + string specialist_pool = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; + + // The operation generic information. + GenericOperationMetadata generic_metadata = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/study.proto b/google-cloud/protos/google/cloud/aiplatform/v1/study.proto new file mode 100644 index 00000000..c61a4a3f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/study.proto @@ -0,0 +1,559 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "StudyProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A message representing a Study. +message Study { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Study" + pattern: "projects/{project}/locations/{location}/studies/{study}" + }; + + // Describes the Study state. + enum State { + // The study state is unspecified. + STATE_UNSPECIFIED = 0; + + // The study is active. + ACTIVE = 1; + + // The study is stopped due to an internal error. + INACTIVE = 2; + + // The study is done when the service exhausts the parameter search space + // or max_trial_count is reached. + COMPLETED = 3; + } + + // Output only. The name of a study. The study's globally unique identifier. + // Format: `projects/{project}/locations/{location}/studies/{study}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Describes the Study, default value is empty string. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Configuration of the Study. + StudySpec study_spec = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The detailed state of a Study. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the study was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human readable reason why the Study is inactive. + // This should be empty if a study is ACTIVE or COMPLETED. + string inactive_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A message representing a Trial. A Trial contains a unique set of Parameters +// that has been or will be evaluated, along with the objective metrics got by +// running the Trial. +message Trial { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Trial" + pattern: "projects/{project}/locations/{location}/studies/{study}/trials/{trial}" + }; + + // A message representing a parameter to be tuned. + message Parameter { + // Output only. The ID of the parameter. The parameter should be defined in + // [StudySpec's Parameters][google.cloud.aiplatform.v1.StudySpec.parameters]. + string parameter_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of the parameter. + // `number_value` will be set if a parameter defined in StudySpec is + // in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. + // `string_value` will be set if a parameter defined in StudySpec is + // in type 'CATEGORICAL'. + google.protobuf.Value value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Describes a Trial state. + enum State { + // The Trial state is unspecified. + STATE_UNSPECIFIED = 0; + + // Indicates that a specific Trial has been requested, but it has not yet + // been suggested by the service. + REQUESTED = 1; + + // Indicates that the Trial has been suggested. + ACTIVE = 2; + + // Indicates that the Trial should stop according to the service. + STOPPING = 3; + + // Indicates that the Trial is completed successfully. + SUCCEEDED = 4; + + // Indicates that the Trial should not be attempted again. + // The service will set a Trial to INFEASIBLE when it's done but missing + // the final_measurement. + INFEASIBLE = 5; + } + + // Output only. Resource name of the Trial assigned by the service. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The identifier of the Trial assigned by the service. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed state of the Trial. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parameters of the Trial. + repeated Parameter parameters = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The final measurement containing the objective value. + Measurement final_measurement = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of measurements that are strictly lexicographically + // ordered by their induced tuples (steps, elapsed_duration). + // These are used for early stopping computations. + repeated Measurement measurements = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the Trial was started. + google.protobuf.Timestamp start_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`. + google.protobuf.Timestamp end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The identifier of the client that originally requested this Trial. + // Each client is identified by a unique client_id. When a client + // asks for a suggestion, Vertex AI Vizier will assign it a Trial. The client + // should evaluate the Trial, complete it, and report back to Vertex AI + // Vizier. If suggestion is asked again by same client_id before the Trial is + // completed, the same Trial will be returned. Multiple clients with + // different client_ids can ask for suggestions simultaneously, each of them + // will get their own Trial. + string client_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human readable string describing why the Trial is + // infeasible. This is set only if Trial state is `INFEASIBLE`. + string infeasible_reason = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The CustomJob name linked to the Trial. + // It's set for a HyperparameterTuningJob's Trial. + string custom_job = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; + + // Output only. URIs for accessing [interactive + // shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // (one URI for each training node). Only available if this trial is part of + // a [HyperparameterTuningJob][google.cloud.aiplatform.v1.HyperparameterTuningJob] and the job's + // [trial_job_spec.enable_web_access][google.cloud.aiplatform.v1.CustomJobSpec.enable_web_access] field + // is `true`. + // + // The keys are names of each node used for the trial; for example, + // `workerpool0-0` for the primary node, `workerpool1-0` for the first node in + // the second worker pool, and `workerpool1-1` for the second node in the + // second worker pool. + // + // The values are the URIs for each node's interactive shell. + map web_access_uris = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents specification of a Study. +message StudySpec { + // Represents a metric to optimize. + message MetricSpec { + // The available types of optimization goals. + enum GoalType { + // Goal Type will default to maximize. + GOAL_TYPE_UNSPECIFIED = 0; + + // Maximize the goal metric. + MAXIMIZE = 1; + + // Minimize the goal metric. + MINIMIZE = 2; + } + + // Required. The ID of the metric. Must not contain whitespaces and must be unique + // amongst all MetricSpecs. + string metric_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The optimization goal of the metric. + GoalType goal = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents a single parameter to optimize. + message ParameterSpec { + // Value specification for a parameter in `DOUBLE` type. + message DoubleValueSpec { + // Required. Inclusive minimum value of the parameter. + double min_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inclusive maximum value of the parameter. + double max_value = 2 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `DOUBLE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional double default_value = 4; + } + + // Value specification for a parameter in `INTEGER` type. + message IntegerValueSpec { + // Required. Inclusive minimum value of the parameter. + int64 min_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inclusive maximum value of the parameter. + int64 max_value = 2 [(google.api.field_behavior) = REQUIRED]; + + // A default value for an `INTEGER` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional int64 default_value = 4; + } + + // Value specification for a parameter in `CATEGORICAL` type. + message CategoricalValueSpec { + // Required. The list of possible categories. + repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `CATEGORICAL` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional string default_value = 3; + } + + // Value specification for a parameter in `DISCRETE` type. + message DiscreteValueSpec { + // Required. A list of possible values. + // The list should be in increasing order and at least 1e-10 apart. + // For instance, this parameter might have possible settings of 1.5, 2.5, + // and 4.0. This list should not contain more than 1,000 values. + repeated double values = 1 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `DISCRETE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. It automatically rounds to the + // nearest feasible discrete point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional double default_value = 3; + } + + // Represents a parameter spec with condition from its parent parameter. + message ConditionalParameterSpec { + // Represents the spec to match discrete values from parent parameter. + message DiscreteValueCondition { + // Required. Matches values of the parent parameter of 'DISCRETE' type. + // All values must exist in `discrete_value_spec` of parent parameter. + // + // The Epsilon of the value matching is 1e-10. + repeated double values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents the spec to match integer values from parent parameter. + message IntValueCondition { + // Required. Matches values of the parent parameter of 'INTEGER' type. + // All values must lie in `integer_value_spec` of parent parameter. + repeated int64 values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents the spec to match categorical values from parent parameter. + message CategoricalValueCondition { + // Required. Matches values of the parent parameter of 'CATEGORICAL' type. + // All values must exist in `categorical_value_spec` of parent + // parameter. + repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A set of parameter values from the parent ParameterSpec's feasible + // space. + oneof parent_value_condition { + // The spec for matching values from a parent parameter of + // `DISCRETE` type. + DiscreteValueCondition parent_discrete_values = 2; + + // The spec for matching values from a parent parameter of `INTEGER` + // type. + IntValueCondition parent_int_values = 3; + + // The spec for matching values from a parent parameter of + // `CATEGORICAL` type. + CategoricalValueCondition parent_categorical_values = 4; + } + + // Required. The spec for a conditional parameter. + ParameterSpec parameter_spec = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The type of scaling that should be applied to this parameter. + enum ScaleType { + // By default, no scaling is applied. + SCALE_TYPE_UNSPECIFIED = 0; + + // Scales the feasible space to (0, 1) linearly. + UNIT_LINEAR_SCALE = 1; + + // Scales the feasible space logarithmically to (0, 1). The entire + // feasible space must be strictly positive. + UNIT_LOG_SCALE = 2; + + // Scales the feasible space "reverse" logarithmically to (0, 1). The + // result is that values close to the top of the feasible space are spread + // out more than points near the bottom. The entire feasible space must be + // strictly positive. + UNIT_REVERSE_LOG_SCALE = 3; + } + + oneof parameter_value_spec { + // The value spec for a 'DOUBLE' parameter. + DoubleValueSpec double_value_spec = 2; + + // The value spec for an 'INTEGER' parameter. + IntegerValueSpec integer_value_spec = 3; + + // The value spec for a 'CATEGORICAL' parameter. + CategoricalValueSpec categorical_value_spec = 4; + + // The value spec for a 'DISCRETE' parameter. + DiscreteValueSpec discrete_value_spec = 5; + } + + // Required. The ID of the parameter. Must not contain whitespaces and must be unique + // amongst all ParameterSpecs. + string parameter_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // How the parameter should be scaled. + // Leave unset for `CATEGORICAL` parameters. + ScaleType scale_type = 6; + + // A conditional parameter node is active if the parameter's value matches + // the conditional node's parent_value_condition. + // + // If two items in conditional_parameter_specs have the same name, they + // must have disjoint parent_value_condition. + repeated ConditionalParameterSpec conditional_parameter_specs = 10; + } + + // The decay curve automated stopping rule builds a Gaussian Process + // Regressor to predict the final objective value of a Trial based on the + // already completed Trials and the intermediate measurements of the current + // Trial. Early stopping is requested for the current Trial if there is very + // low probability to exceed the optimal value found so far. + message DecayCurveAutomatedStoppingSpec { + // True if [Measurement.elapsed_duration][google.cloud.aiplatform.v1.Measurement.elapsed_duration] is used as the x-axis of each + // Trials Decay Curve. Otherwise, [Measurement.step_count][google.cloud.aiplatform.v1.Measurement.step_count] will be used + // as the x-axis. + bool use_elapsed_duration = 1; + } + + // The median automated stopping rule stops a pending Trial if the Trial's + // best objective_value is strictly below the median 'performance' of all + // completed Trials reported up to the Trial's last measurement. + // Currently, 'performance' refers to the running average of the objective + // values reported by the Trial in each measurement. + message MedianAutomatedStoppingSpec { + // True if median automated stopping rule applies on + // [Measurement.elapsed_duration][google.cloud.aiplatform.v1.Measurement.elapsed_duration]. It means that elapsed_duration + // field of latest measurement of current Trial is used to compute median + // objective value for each completed Trials. + bool use_elapsed_duration = 1; + } + + // Configuration for ConvexAutomatedStoppingSpec. + // When there are enough completed trials (configured by + // min_measurement_count), for pending trials with enough measurements and + // steps, the policy first computes an overestimate of the objective value at + // max_num_steps according to the slope of the incomplete objective value + // curve. No prediction can be made if the curve is completely flat. If the + // overestimation is worse than the best objective value of the completed + // trials, this pending trial will be early-stopped, but a last measurement + // will be added to the pending trial with max_num_steps and predicted + // objective value from the autoregression model. + message ConvexAutomatedStoppingSpec { + // Steps used in predicting the final objective for early stopped trials. In + // general, it's set to be the same as the defined steps in training / + // tuning. If not defined, it will learn it from the completed trials. When + // use_steps is false, this field is set to the maximum elapsed seconds. + int64 max_step_count = 1; + + // Minimum number of steps for a trial to complete. Trials which do not have + // a measurement with step_count > min_step_count won't be considered for + // early stopping. It's ok to set it to 0, and a trial can be early stopped + // at any stage. By default, min_step_count is set to be one-tenth of the + // max_step_count. + // When use_elapsed_duration is true, this field is set to the minimum + // elapsed seconds. + int64 min_step_count = 2; + + // The minimal number of measurements in a Trial. Early-stopping checks + // will not trigger if less than min_measurement_count+1 completed trials or + // pending trials with less than min_measurement_count measurements. If not + // defined, the default value is 5. + int64 min_measurement_count = 3; + + // The hyper-parameter name used in the tuning job that stands for learning + // rate. Leave it blank if learning rate is not in a parameter in tuning. + // The learning_rate is used to estimate the objective value of the ongoing + // trial. + string learning_rate_parameter_name = 4; + + // This bool determines whether or not the rule is applied based on + // elapsed_secs or steps. If use_elapsed_duration==false, the early stopping + // decision is made according to the predicted objective values according to + // the target steps. If use_elapsed_duration==true, elapsed_secs is used + // instead of steps. Also, in this case, the parameters max_num_steps and + // min_num_steps are overloaded to contain max_elapsed_seconds and + // min_elapsed_seconds. + bool use_elapsed_duration = 5; + } + + // The available search algorithms for the Study. + enum Algorithm { + // The default algorithm used by Vertex AI for [hyperparameter + // tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) + // and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier). + ALGORITHM_UNSPECIFIED = 0; + + // Simple grid search within the feasible space. To use grid search, + // all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`. + GRID_SEARCH = 2; + + // Simple random search within the feasible space. + RANDOM_SEARCH = 3; + } + + // Describes the noise level of the repeated observations. + // + // "Noisy" means that the repeated observations with the same Trial parameters + // may lead to different metric evaluations. + enum ObservationNoise { + // The default noise level chosen by Vertex AI. + OBSERVATION_NOISE_UNSPECIFIED = 0; + + // Vertex AI assumes that the objective function is (nearly) + // perfectly reproducible, and will never repeat the same Trial + // parameters. + LOW = 1; + + // Vertex AI will estimate the amount of noise in metric + // evaluations, it may repeat the same Trial parameters more than once. + HIGH = 2; + } + + // This indicates which measurement to use if/when the service automatically + // selects the final measurement from previously reported intermediate + // measurements. Choose this based on two considerations: + // A) Do you expect your measurements to monotonically improve? + // If so, choose LAST_MEASUREMENT. On the other hand, if you're in a + // situation where your system can "over-train" and you expect the + // performance to get better for a while but then start declining, + // choose BEST_MEASUREMENT. + // B) Are your measurements significantly noisy and/or irreproducible? + // If so, BEST_MEASUREMENT will tend to be over-optimistic, and it + // may be better to choose LAST_MEASUREMENT. + // If both or neither of (A) and (B) apply, it doesn't matter which + // selection type is chosen. + enum MeasurementSelectionType { + // Will be treated as LAST_MEASUREMENT. + MEASUREMENT_SELECTION_TYPE_UNSPECIFIED = 0; + + // Use the last measurement reported. + LAST_MEASUREMENT = 1; + + // Use the best measurement reported. + BEST_MEASUREMENT = 2; + } + + oneof automated_stopping_spec { + // The automated early stopping spec using decay curve rule. + DecayCurveAutomatedStoppingSpec decay_curve_stopping_spec = 4; + + // The automated early stopping spec using median rule. + MedianAutomatedStoppingSpec median_automated_stopping_spec = 5; + + // The automated early stopping spec using convex stopping rule. + ConvexAutomatedStoppingSpec convex_automated_stopping_spec = 9; + } + + // Required. Metric specs for the Study. + repeated MetricSpec metrics = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The set of parameters to tune. + repeated ParameterSpec parameters = 2 [(google.api.field_behavior) = REQUIRED]; + + // The search algorithm specified for the Study. + Algorithm algorithm = 3; + + // The observation noise level of the study. + // Currently only supported by the Vertex AI Vizier service. Not supported by + // HyperparameterTuningJob or TrainingPipeline. + ObservationNoise observation_noise = 6; + + // Describe which measurement selection type will be used + MeasurementSelectionType measurement_selection_type = 7; +} + +// A message representing a Measurement of a Trial. A Measurement contains +// the Metrics got by executing a Trial using suggested hyperparameter +// values. +message Measurement { + // A message representing a metric in the measurement. + message Metric { + // Output only. The ID of the Metric. The Metric should be defined in + // [StudySpec's Metrics][google.cloud.aiplatform.v1.StudySpec.metrics]. + string metric_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value for this metric. + double value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Time that the Trial has been running at the point of this Measurement. + google.protobuf.Duration elapsed_duration = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of steps the machine learning model has been trained for. + // Must be non-negative. + int64 step_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of metrics got by evaluating the objective functions using suggested + // Parameter values. + repeated Metric metrics = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard.proto new file mode 100644 index 00000000..84a245d9 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard.proto @@ -0,0 +1,86 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// Tensorboard is a physical database that stores users' training metrics. +// A default Tensorboard is provided in each region of a GCP project. +// If needed users can also create extra Tensorboards in their projects. +message Tensorboard { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Tensorboard" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}" + }; + + // Output only. Name of the Tensorboard. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this Tensorboard. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this Tensorboard. + string description = 3; + + // Customer-managed encryption key spec for a Tensorboard. If set, this + // Tensorboard and all sub-resources of this Tensorboard will be secured by + // this key. + EncryptionSpec encryption_spec = 11; + + // Output only. Consumer project Cloud Storage path prefix used to store blob data, which + // can either be a bucket or directory. Does not end with a '/'. + string blob_storage_path_prefix = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of Runs stored in this Tensorboard. + int32 run_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Tensorboard was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Tensorboard was last updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your Tensorboards. + // + // 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. + // No more than 64 user labels can be associated with one Tensorboard + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 8; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 9; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_data.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_data.proto new file mode 100644 index 00000000..c65db694 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_data.proto @@ -0,0 +1,101 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1/tensorboard_time_series.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardDataProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// All the data stored in a TensorboardTimeSeries. +message TimeSeriesData { + // Required. The ID of the TensorboardTimeSeries, which will become the final component + // of the TensorboardTimeSeries' resource name + string tensorboard_time_series_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The value type of this time series. All the values in this time series data + // must match this value type. + TensorboardTimeSeries.ValueType value_type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Data points in this time series. + repeated TimeSeriesDataPoint values = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A TensorboardTimeSeries data point. +message TimeSeriesDataPoint { + // Value of this time series data point. + oneof value { + // A scalar value. + Scalar scalar = 3; + + // A tensor value. + TensorboardTensor tensor = 4; + + // A blob sequence value. + TensorboardBlobSequence blobs = 5; + } + + // Wall clock timestamp when this data point is generated by the end user. + google.protobuf.Timestamp wall_time = 1; + + // Step index of this data point within the run. + int64 step = 2; +} + +// One point viewable on a scalar metric plot. +message Scalar { + // Value of the point at this step / timestamp. + double value = 1; +} + +// One point viewable on a tensor metric plot. +message TensorboardTensor { + // Required. Serialized form of + // https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto + bytes value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Version number of TensorProto used to serialize [value][google.cloud.aiplatform.v1.TensorboardTensor.value]. + int32 version_number = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// One point viewable on a blob metric plot, but mostly just a wrapper message +// to work around repeated fields can't be used directly within `oneof` fields. +message TensorboardBlobSequence { + // List of blobs contained within the sequence. + repeated TensorboardBlob values = 1; +} + +// One blob (e.g, image, graph) viewable on a blob metric plot. +message TensorboardBlob { + // Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob + // stored in the Cloud Storage bucket of the consumer project. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The bytes of the blob is not present unless it's returned by the + // ReadTensorboardBlobData endpoint. + bytes data = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_experiment.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_experiment.proto new file mode 100644 index 00000000..9d7fe120 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_experiment.proto @@ -0,0 +1,78 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardExperimentProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// A TensorboardExperiment is a group of TensorboardRuns, that are typically the +// results of a training job run, in a Tensorboard. +message TensorboardExperiment { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}" + }; + + // Output only. Name of the TensorboardExperiment. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User provided name of this TensorboardExperiment. + string display_name = 2; + + // Description of this TensorboardExperiment. + string description = 3; + + // Output only. Timestamp when this TensorboardExperiment was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardExperiment was last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your Datasets. + // + // 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. + // No more than 64 user labels can be associated with one Dataset (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Dataset: + // * "aiplatform.googleapis.com/dataset_metadata_schema": + // - output only, its value is the + // [metadata_schema's][metadata_schema_uri] title. + map labels = 6; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7; + + // Immutable. Source of the TensorboardExperiment. Example: a custom training job. + string source = 8 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_run.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_run.proto new file mode 100644 index 00000000..0f7b5eff --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_run.proto @@ -0,0 +1,81 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardRunProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// TensorboardRun maps to a specific execution of a training job with a given +// set of hyperparameter values, model definition, dataset, etc +message TensorboardRun { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardRun" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}" + }; + + // Output only. Name of the TensorboardRun. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this TensorboardRun. + // This value must be unique among all TensorboardRuns + // belonging to the same parent TensorboardExperiment. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this TensorboardRun. + string description = 3; + + // Output only. Timestamp when this TensorboardRun was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardRun was last updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your TensorboardRuns. + // + // This field will be used to filter and visualize Runs in the Tensorboard UI. + // For example, a Vertex AI training job can set a label + // aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created + // within that job. An end user can set a label experiment_id=xxxxx for all + // the runs produced in a Jupyter notebook. These runs can be grouped by a + // label value and visualized together in the Tensorboard UI. + // + // 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. + // No more than 64 user labels can be associated with one TensorboardRun + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 8; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 9; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_service.proto new file mode 100644 index 00000000..ed81dd1f --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_service.proto @@ -0,0 +1,1006 @@ +// 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.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/tensorboard.proto"; +import "google/cloud/aiplatform/v1/tensorboard_data.proto"; +import "google/cloud/aiplatform/v1/tensorboard_experiment.proto"; +import "google/cloud/aiplatform/v1/tensorboard_run.proto"; +import "google/cloud/aiplatform/v1/tensorboard_time_series.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// TensorboardService +service TensorboardService { + option (google.api.default_host) = "aiplatform.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 Tensorboard. + rpc CreateTensorboard(CreateTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/tensorboards" + body: "tensorboard" + }; + option (google.api.method_signature) = "parent,tensorboard"; + option (google.longrunning.operation_info) = { + response_type: "Tensorboard" + metadata_type: "CreateTensorboardOperationMetadata" + }; + } + + // Gets a Tensorboard. + rpc GetTensorboard(GetTensorboardRequest) returns (Tensorboard) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/tensorboards/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Tensorboard. + rpc UpdateTensorboard(UpdateTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{tensorboard.name=projects/*/locations/*/tensorboards/*}" + body: "tensorboard" + }; + option (google.api.method_signature) = "tensorboard,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Tensorboard" + metadata_type: "UpdateTensorboardOperationMetadata" + }; + } + + // Lists Tensorboards in a Location. + rpc ListTensorboards(ListTensorboardsRequest) returns (ListTensorboardsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/tensorboards" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a Tensorboard. + rpc DeleteTensorboard(DeleteTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/tensorboards/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a TensorboardExperiment. + rpc CreateTensorboardExperiment(CreateTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/tensorboards/*}/experiments" + body: "tensorboard_experiment" + }; + option (google.api.method_signature) = "parent,tensorboard_experiment,tensorboard_experiment_id"; + } + + // Gets a TensorboardExperiment. + rpc GetTensorboardExperiment(GetTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardExperiment. + rpc UpdateTensorboardExperiment(UpdateTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + patch: "/v1/{tensorboard_experiment.name=projects/*/locations/*/tensorboards/*/experiments/*}" + body: "tensorboard_experiment" + }; + option (google.api.method_signature) = "tensorboard_experiment,update_mask"; + } + + // Lists TensorboardExperiments in a Location. + rpc ListTensorboardExperiments(ListTensorboardExperimentsRequest) returns (ListTensorboardExperimentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/tensorboards/*}/experiments" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardExperiment. + rpc DeleteTensorboardExperiment(DeleteTensorboardExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a TensorboardRun. + rpc CreateTensorboardRun(CreateTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" + body: "tensorboard_run" + }; + option (google.api.method_signature) = "parent,tensorboard_run,tensorboard_run_id"; + } + + // Batch create TensorboardRuns. + rpc BatchCreateTensorboardRuns(BatchCreateTensorboardRunsRequest) returns (BatchCreateTensorboardRunsResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs:batchCreate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Gets a TensorboardRun. + rpc GetTensorboardRun(GetTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardRun. + rpc UpdateTensorboardRun(UpdateTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + patch: "/v1/{tensorboard_run.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + body: "tensorboard_run" + }; + option (google.api.method_signature) = "tensorboard_run,update_mask"; + } + + // Lists TensorboardRuns in a Location. + rpc ListTensorboardRuns(ListTensorboardRunsRequest) returns (ListTensorboardRunsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardRun. + rpc DeleteTensorboardRun(DeleteTensorboardRunRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. + rpc BatchCreateTensorboardTimeSeries(BatchCreateTensorboardTimeSeriesRequest) returns (BatchCreateTensorboardTimeSeriesResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs/*/timeSeries:batchCreate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Creates a TensorboardTimeSeries. + rpc CreateTensorboardTimeSeries(CreateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" + body: "tensorboard_time_series" + }; + option (google.api.method_signature) = "parent,tensorboard_time_series"; + } + + // Gets a TensorboardTimeSeries. + rpc GetTensorboardTimeSeries(GetTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardTimeSeries. + rpc UpdateTensorboardTimeSeries(UpdateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + patch: "/v1/{tensorboard_time_series.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + body: "tensorboard_time_series" + }; + option (google.api.method_signature) = "tensorboard_time_series,update_mask"; + } + + // Lists TensorboardTimeSeries in a Location. + rpc ListTensorboardTimeSeries(ListTensorboardTimeSeriesRequest) returns (ListTensorboardTimeSeriesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardTimeSeries. + rpc DeleteTensorboardTimeSeries(DeleteTensorboardTimeSeriesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Reads multiple TensorboardTimeSeries' data. The data point number limit is + // 1000 for scalars, 100 for tensors and blob references. If the number of + // data points stored is less than the limit, all data will be returned. + // Otherwise, that limit number of data points will be randomly selected from + // this time series and returned. + rpc BatchReadTensorboardTimeSeriesData(BatchReadTensorboardTimeSeriesDataRequest) returns (BatchReadTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + get: "/v1/{tensorboard=projects/*/locations/*/tensorboards/*}/experiments/*/runs/*/timeSeries:batchRead" + }; + option (google.api.method_signature) = "tensorboard"; + } + + // Reads a TensorboardTimeSeries' data. By default, if the number of data + // points stored is less than 1000, all data will be returned. Otherwise, 1000 + // data points will be randomly selected from this time series and returned. + // This value can be changed by changing max_data_points, which can't be + // greater than 10k. + rpc ReadTensorboardTimeSeriesData(ReadTensorboardTimeSeriesDataRequest) returns (ReadTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + get: "/v1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:read" + }; + option (google.api.method_signature) = "tensorboard_time_series"; + } + + // Gets bytes of TensorboardBlobs. + // This is to allow reading blob data stored in consumer project's Cloud + // Storage bucket without users having to obtain Cloud Storage access + // permission. + rpc ReadTensorboardBlobData(ReadTensorboardBlobDataRequest) returns (stream ReadTensorboardBlobDataResponse) { + option (google.api.http) = { + get: "/v1/{time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:readBlobData" + }; + option (google.api.method_signature) = "time_series"; + } + + // Write time series data points of multiple TensorboardTimeSeries in multiple + // TensorboardRun's. If any data fail to be ingested, an error will be + // returned. + rpc WriteTensorboardExperimentData(WriteTensorboardExperimentDataRequest) returns (WriteTensorboardExperimentDataResponse) { + option (google.api.http) = { + post: "/v1/{tensorboard_experiment=projects/*/locations/*/tensorboards/*/experiments/*}:write" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_experiment,write_run_data_requests"; + } + + // Write time series data points into multiple TensorboardTimeSeries under + // a TensorboardRun. If any data fail to be ingested, an error will be + // returned. + rpc WriteTensorboardRunData(WriteTensorboardRunDataRequest) returns (WriteTensorboardRunDataResponse) { + option (google.api.http) = { + post: "/v1/{tensorboard_run=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}:write" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_run,time_series_data"; + } + + // Exports a TensorboardTimeSeries' data. Data is returned in paginated + // responses. + rpc ExportTensorboardTimeSeriesData(ExportTensorboardTimeSeriesDataRequest) returns (ExportTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + post: "/v1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:exportTensorboardTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_time_series"; + } +} + +// Request message for [TensorboardService.CreateTensorboard][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboard]. +message CreateTensorboardRequest { + // Required. The resource name of the Location to create the Tensorboard in. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Required. The Tensorboard to create. + Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboard][google.cloud.aiplatform.v1.TensorboardService.GetTensorboard]. +message GetTensorboardRequest { + // Required. The name of the Tensorboard resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards]. +message ListTensorboardsRequest { + // Required. The resource name of the Location to list Tensorboards. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Lists the Tensorboards that match the filter expression. + string filter = 2; + + // The maximum number of Tensorboards to return. The service may return + // fewer than this value. If unspecified, at most 100 Tensorboards will be + // returned. The maximum value is 100; values above 100 will be coerced to + // 100. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards]. +message ListTensorboardsResponse { + // The Tensorboards mathching the request. + repeated Tensorboard tensorboards = 1; + + // A token, which can be sent as [ListTensorboardsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardsRequest.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 [TensorboardService.UpdateTensorboard][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboard]. +message UpdateTensorboardRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Tensorboard 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Tensorboard's `name` field is used to identify the + // Tensorboard to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboard][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboard]. +message DeleteTensorboardRequest { + // Required. The name of the Tensorboard to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; +} + +// Request message for [TensorboardService.CreateTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardExperiment]. +message CreateTensorboardExperimentRequest { + // Required. The resource name of the Tensorboard to create the TensorboardExperiment + // in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // The TensorboardExperiment to create. + TensorboardExperiment tensorboard_experiment = 2; + + // Required. The ID to use for the Tensorboard experiment, which will become the final + // component of the Tensorboard experiment's resource name. + // + // This value should be 1-128 characters, and valid characters + // are /[a-z][0-9]-/. + string tensorboard_experiment_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardExperiment]. +message GetTensorboardExperimentRequest { + // Required. The name of the TensorboardExperiment resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments]. +message ListTensorboardExperimentsRequest { + // Required. The resource name of the Tensorboard to list TensorboardExperiments. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Lists the TensorboardExperiments that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardExperiments to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardExperiments will be returned. The maximum value is 1000; values + // above 1000 will be coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments]. +message ListTensorboardExperimentsResponse { + // The TensorboardExperiments mathching the request. + repeated TensorboardExperiment tensorboard_experiments = 1; + + // A token, which can be sent as + // [ListTensorboardExperimentsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardExperimentsRequest.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 [TensorboardService.UpdateTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardExperiment]. +message UpdateTensorboardExperimentRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardExperiment 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardExperiment's `name` field is used to identify the + // TensorboardExperiment to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + TensorboardExperiment tensorboard_experiment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardExperiment]. +message DeleteTensorboardExperimentRequest { + // Required. The name of the TensorboardExperiment to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; +} + +// Request message for [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns]. +message BatchCreateTensorboardRunsRequest { + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardRuns in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The parent field in the CreateTensorboardRunRequest messages must match + // this field. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. The request message specifying the TensorboardRuns to create. + // A maximum of 1000 TensorboardRuns can be created in a batch. + repeated CreateTensorboardRunRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns]. +message BatchCreateTensorboardRunsResponse { + // The created TensorboardRuns. + repeated TensorboardRun tensorboard_runs = 1; +} + +// Request message for [TensorboardService.CreateTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardRun]. +message CreateTensorboardRunRequest { + // Required. The resource name of the TensorboardExperiment to create the TensorboardRun + // in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Required. The TensorboardRun to create. + TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the Tensorboard run, which will become the final + // component of the Tensorboard run's resource name. + // + // This value should be 1-128 characters, and valid characters + // are /[a-z][0-9]-/. + string tensorboard_run_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardRun]. +message GetTensorboardRunRequest { + // Required. The name of the TensorboardRun resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; +} + +// Request message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData]. +message ReadTensorboardBlobDataRequest { + // Required. The resource name of the TensorboardTimeSeries to list Blobs. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}' + string time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // IDs of the blobs to read. + repeated string blob_ids = 2; +} + +// Response message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData]. +message ReadTensorboardBlobDataResponse { + // Blob messages containing blob bytes. + repeated TensorboardBlob blobs = 1; +} + +// Request message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns]. +message ListTensorboardRunsRequest { + // Required. The resource name of the TensorboardExperiment to list TensorboardRuns. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Lists the TensorboardRuns that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardRuns to return. The service may return + // fewer than this value. If unspecified, at most 50 TensorboardRuns will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns]. +message ListTensorboardRunsResponse { + // The TensorboardRuns mathching the request. + repeated TensorboardRun tensorboard_runs = 1; + + // A token, which can be sent as [ListTensorboardRunsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardRunsRequest.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 [TensorboardService.UpdateTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardRun]. +message UpdateTensorboardRunRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardRun 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardRun's `name` field is used to identify the TensorboardRun to + // be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardRun]. +message DeleteTensorboardRunRequest { + // Required. The name of the TensorboardRun to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; +} + +// Request message for [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries]. +message BatchCreateTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The TensorboardRuns referenced by the parent fields in the + // CreateTensorboardTimeSeriesRequest messages must be sub resources of this + // TensorboardExperiment. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. The request message specifying the TensorboardTimeSeries to create. + // A maximum of 1000 TensorboardTimeSeries can be created in a batch. + repeated CreateTensorboardTimeSeriesRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries]. +message BatchCreateTensorboardTimeSeriesResponse { + // The created TensorboardTimeSeries. + repeated TensorboardTimeSeries tensorboard_time_series = 1; +} + +// Request message for [TensorboardService.CreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardTimeSeries]. +message CreateTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardRun to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Optional. The user specified unique ID to use for the TensorboardTimeSeries, which + // will become the final component of the TensorboardTimeSeries's resource + // name. + // This value should match "[a-z0-9][a-z0-9-]{0, 127}" + string tensorboard_time_series_id = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The TensorboardTimeSeries to create. + TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardTimeSeries]. +message GetTensorboardTimeSeriesRequest { + // Required. The name of the TensorboardTimeSeries resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries]. +message ListTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Lists the TensorboardTimeSeries that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardTimeSeries to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardTimeSeries will be returned. The maximum value is 1000; values + // above 1000 will be coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries]. +message ListTensorboardTimeSeriesResponse { + // The TensorboardTimeSeries mathching the request. + repeated TensorboardTimeSeries tensorboard_time_series = 1; + + // A token, which can be sent as + // [ListTensorboardTimeSeriesRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardTimeSeriesRequest.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 [TensorboardService.UpdateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardTimeSeries]. +message UpdateTensorboardTimeSeriesRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardTimeSeries 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardTimeSeries' `name` field is used to identify the + // TensorboardTimeSeries to be updated. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardTimeSeries]. +message DeleteTensorboardTimeSeriesRequest { + // Required. The name of the TensorboardTimeSeries to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Request message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +message BatchReadTensorboardTimeSeriesDataRequest { + // Required. The resource name of the Tensorboard containing TensorboardTimeSeries to + // read data from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. + // The TensorboardTimeSeries referenced by [time_series][google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataRequest.time_series] must be sub + // resources of this Tensorboard. + string tensorboard = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Required. The resource names of the TensorboardTimeSeries to read data from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + repeated string time_series = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Response message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +message BatchReadTensorboardTimeSeriesDataResponse { + // The returned time series data. + repeated TimeSeriesData time_series_data = 1; +} + +// Request message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData]. +message ReadTensorboardTimeSeriesDataRequest { + // Required. The resource name of the TensorboardTimeSeries to read data from. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string tensorboard_time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // The maximum number of TensorboardTimeSeries' data to return. + // + // This value should be a positive integer. + // This value can be set to -1 to return all data. + int32 max_data_points = 2; + + // Reads the TensorboardTimeSeries' data that match the filter expression. + string filter = 3; +} + +// Response message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData]. +message ReadTensorboardTimeSeriesDataResponse { + // The returned time series data. + TimeSeriesData time_series_data = 1; +} + +// Request message for [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData]. +message WriteTensorboardExperimentDataRequest { + // Required. The resource name of the TensorboardExperiment to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string tensorboard_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. Requests containing per-run TensorboardTimeSeries data to write. + repeated WriteTensorboardRunDataRequest write_run_data_requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData]. +message WriteTensorboardExperimentDataResponse { + +} + +// Request message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData]. +message WriteTensorboardRunDataRequest { + // Required. The resource name of the TensorboardRun to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string tensorboard_run = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Required. The TensorboardTimeSeries data to write. + // Values with in a time series are indexed by their step value. + // Repeated writes to the same step will overwrite the existing value for that + // step. + // The upper limit of data points per write request is 5000. + repeated TimeSeriesData time_series_data = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData]. +message WriteTensorboardRunDataResponse { + +} + +// Request message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData]. +message ExportTensorboardTimeSeriesDataRequest { + // Required. The resource name of the TensorboardTimeSeries to export data from. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string tensorboard_time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Exports the TensorboardTimeSeries' data that match the filter expression. + string filter = 2; + + // The maximum number of data points to return per page. + // The default page_size will be 1000. Values must be between 1 and 10000. + // Values above 10000 will be coerced to 10000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ExportTensorboardTimeSeries][] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ExportTensorboardTimeSeries][] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the TensorboardTimeSeries' data. + // By default, TensorboardTimeSeries' data will be returned in a pseudo random + // order. + string order_by = 5; +} + +// Response message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData]. +message ExportTensorboardTimeSeriesDataResponse { + // The returned time series data points. + repeated TimeSeriesDataPoint time_series_data_points = 1; + + // A token, which can be sent as + // [ExportTensorboardTimeSeriesRequest.page_token][] to retrieve the next + // page. If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Details of operations that perform create Tensorboard. +message CreateTensorboardOperationMetadata { + // Operation metadata for Tensorboard. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update Tensorboard. +message UpdateTensorboardOperationMetadata { + // Operation metadata for Tensorboard. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_time_series.proto b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_time_series.proto new file mode 100644 index 00000000..eff288e5 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/tensorboard_time_series.proto @@ -0,0 +1,106 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardTimeSeriesProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// TensorboardTimeSeries maps to times series produced in training runs +message TensorboardTimeSeries { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}" + }; + + // Describes metadata for a TensorboardTimeSeries. + message Metadata { + // Output only. Max step index of all data points within a TensorboardTimeSeries. + int64 max_step = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Max wall clock timestamp of all data points within a + // TensorboardTimeSeries. + google.protobuf.Timestamp max_wall_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The largest blob sequence length (number of blobs) of all data points in + // this time series, if its ValueType is BLOB_SEQUENCE. + int64 max_blob_sequence_length = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An enum representing the value type of a TensorboardTimeSeries. + enum ValueType { + // The value type is unspecified. + VALUE_TYPE_UNSPECIFIED = 0; + + // Used for TensorboardTimeSeries that is a list of scalars. + // E.g. accuracy of a model over epochs/time. + SCALAR = 1; + + // Used for TensorboardTimeSeries that is a list of tensors. + // E.g. histograms of weights of layer in a model over epoch/time. + TENSOR = 2; + + // Used for TensorboardTimeSeries that is a list of blob sequences. + // E.g. set of sample images with labels over epochs/time. + BLOB_SEQUENCE = 3; + } + + // Output only. Name of the TensorboardTimeSeries. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this TensorboardTimeSeries. + // This value should be unique among all TensorboardTimeSeries resources + // belonging to the same TensorboardRun resource (parent resource). + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this TensorboardTimeSeries. + string description = 3; + + // Required. Immutable. Type of TensorboardTimeSeries value. + ValueType value_type = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Timestamp when this TensorboardTimeSeries was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardTimeSeries was last updated. + google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7; + + // Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, + // Blob + string plugin_name = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Data of the current plugin, with the size limited to 65KB. + bytes plugin_data = 9; + + // Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries. + Metadata metadata = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1/training_pipeline.proto b/google-cloud/protos/google/cloud/aiplatform/v1/training_pipeline.proto new file mode 100644 index 00000000..a0de8cf4 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1/training_pipeline.proto @@ -0,0 +1,413 @@ +// 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.aiplatform.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1/encryption_spec.proto"; +import "google/cloud/aiplatform/v1/io.proto"; +import "google/cloud/aiplatform/v1/model.proto"; +import "google/cloud/aiplatform/v1/pipeline_state.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TrainingPipelineProto"; +option java_package = "com.google.cloud.aiplatform.v1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; +option ruby_package = "Google::Cloud::AIPlatform::V1"; + +// The TrainingPipeline orchestrates tasks associated with training a Model. It +// always executes the training task, and optionally may also +// export data from Vertex AI's Dataset which becomes the training input, +// [upload][google.cloud.aiplatform.v1.ModelService.UploadModel] the Model to Vertex AI, and evaluate the +// Model. +message TrainingPipeline { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + pattern: "projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}" + }; + + // Output only. Resource name of the TrainingPipeline. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of this TrainingPipeline. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies Vertex AI owned input data that may be used for training the + // Model. The TrainingPipeline's [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition] should make + // clear whether this config is used and if there are any special requirements + // on how it should be filled. If nothing about this config is mentioned in + // the [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition], then it should be assumed that the + // TrainingPipeline does not depend on this configuration. + InputDataConfig input_data_config = 3; + + // Required. A Google Cloud Storage path to the YAML file that defines the training task + // which is responsible for producing the model artifact, and may also include + // additional auxiliary work. + // The definition files that can be used here are found in + // gs://google-cloud-aiplatform/schema/trainingjob/definition/. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string training_task_definition = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The training task's parameter(s), as specified in the + // [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition]'s `inputs`. + google.protobuf.Value training_task_inputs = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The metadata information as specified in the [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition]'s + // `metadata`. This metadata is an auxiliary runtime and final information + // about the training task. While the pipeline is running this information is + // populated only at a best effort basis. Only present if the + // pipeline's [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition] contains `metadata` object. + google.protobuf.Value training_task_metadata = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Describes the Model that may be uploaded (via [ModelService.UploadModel][google.cloud.aiplatform.v1.ModelService.UploadModel]) + // by this TrainingPipeline. The TrainingPipeline's + // [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition] should make clear whether this Model + // description should be populated, and if there are any special requirements + // regarding how it should be filled. If nothing is mentioned in the + // [training_task_definition][google.cloud.aiplatform.v1.TrainingPipeline.training_task_definition], then it should be assumed that this field + // should not be filled and the training task either uploads the Model without + // a need of this information, or that training task does not support + // uploading a Model as part of the pipeline. + // When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and + // the trained Model had been uploaded into Vertex AI, then the + // model_to_upload's resource [name][google.cloud.aiplatform.v1.Model.name] is populated. The Model + // is always uploaded into the Project and Location in which this pipeline + // is. + Model model_to_upload = 7; + + // Optional. The ID to use for the uploaded Model, which will become the final + // component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + string model_id = 22 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When specify this field, the `model_to_upload` will not be uploaded as a + // new model, instead, it will become a new version of this `parent_model`. + string parent_model = 21 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The detailed state of the pipeline. + PipelineState state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or + // `PIPELINE_STATE_CANCELLED`. + google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline was created. + google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline for the first time entered the + // `PIPELINE_STATE_RUNNING` state. + google.protobuf.Timestamp start_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline entered any of the following states: + // `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, + // `PIPELINE_STATE_CANCELLED`. + google.protobuf.Timestamp end_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline was most recently updated. + google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize TrainingPipelines. + // + // 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 = 15; + + // Customer-managed encryption key spec for a TrainingPipeline. If set, this + // TrainingPipeline will be secured by this key. + // + // Note: Model trained by this TrainingPipeline is also secured by this key if + // [model_to_upload][google.cloud.aiplatform.v1.TrainingPipeline.encryption_spec] is not set separately. + EncryptionSpec encryption_spec = 18; +} + +// Specifies Vertex AI owned input data to be used for training, and +// possibly evaluating, the Model. +message InputDataConfig { + // The instructions how the input data should be split between the + // training, validation and test sets. + // If no split type is provided, the [fraction_split][google.cloud.aiplatform.v1.InputDataConfig.fraction_split] is used by default. + oneof split { + // Split based on fractions defining the size of each set. + FractionSplit fraction_split = 2; + + // Split based on the provided filters for each set. + FilterSplit filter_split = 3; + + // Supported only for tabular Datasets. + // + // Split based on a predefined key. + PredefinedSplit predefined_split = 4; + + // Supported only for tabular Datasets. + // + // Split based on the timestamp of the input data pieces. + TimestampSplit timestamp_split = 5; + + // Supported only for tabular Datasets. + // + // Split based on the distribution of the specified column. + StratifiedSplit stratified_split = 12; + } + + // Only applicable to Custom and Hyperparameter Tuning TrainingPipelines. + // + // The destination of the training data to be written to. + // + // Supported destination file formats: + // * For non-tabular data: "jsonl". + // * For tabular data: "csv" and "bigquery". + // + // The following Vertex AI environment variables are passed to containers + // or python modules of the training task when this field is set: + // + // * AIP_DATA_FORMAT : Exported data format. + // * AIP_TRAINING_DATA_URI : Sharded exported training data uris. + // * AIP_VALIDATION_DATA_URI : Sharded exported validation data uris. + // * AIP_TEST_DATA_URI : Sharded exported test data uris. + oneof destination { + // The Cloud Storage location where the training data is to be + // written to. In the given directory a new directory is created with + // name: + // `dataset---` + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // All training input data is written into that directory. + // + // The Vertex AI environment variables representing Cloud Storage + // data URIs are represented in the Cloud Storage wildcard + // format to support sharded data. e.g.: "gs://.../training-*.jsonl" + // + // * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data + // * AIP_TRAINING_DATA_URI = + // "gcs_destination/dataset---
+ // + // If not specified, then results are exported to the following auto-created + // BigQuery table: + // :export_evaluated_examples__.evaluated_examples + string destination_bigquery_uri = 1; + + // If true and an export destination is specified, then the contents of the + // destination are overwritten. Otherwise, if the export destination already + // exists, then the export operation fails. + bool override_existing_table = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool.proto new file mode 100644 index 00000000..49be7b79 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool.proto @@ -0,0 +1,62 @@ +// 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "SpecialistPoolProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// SpecialistPool represents customers' own workforce to work on their data +// labeling jobs. It includes a group of specialist managers and workers. +// Managers are responsible for managing the workers in this pool as well as +// customers' data labeling jobs associated with this pool. Customers create +// specialist pool as well as start data labeling jobs on Cloud, managers and +// workers handle the jobs using CrowdCompute console. +message SpecialistPool { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/SpecialistPool" + pattern: "projects/{project}/locations/{location}/specialistPools/{specialist_pool}" + }; + + // Required. The resource name of the SpecialistPool. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The user-defined name of the SpecialistPool. + // The name can be up to 128 characters long and can be consist of any UTF-8 + // characters. + // This field should be unique on project-level. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The number of managers in this SpecialistPool. + int32 specialist_managers_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The email addresses of the managers in the SpecialistPool. + repeated string specialist_manager_emails = 4; + + // Output only. The resource name of the pending data labeling jobs. + repeated string pending_data_labeling_jobs = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The email addresses of workers in the SpecialistPool. + repeated string specialist_worker_emails = 7; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool_service.proto new file mode 100644 index 00000000..a110b9cb --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/specialist_pool_service.proto @@ -0,0 +1,210 @@ +// 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.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/specialist_pool.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "SpecialistPoolServiceProto"; +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 Customer SpecialistPools. +// When customers start Data Labeling jobs, they can reuse/create Specialist +// Pools to bring their own Specialists to label the data. +// Customers can add/remove Managers for the Specialist Pool on Cloud console, +// then Managers will get email notifications to manage Specialists and tasks on +// CrowdCompute console. +service SpecialistPoolService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a SpecialistPool. + rpc CreateSpecialistPool(CreateSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/specialistPools" + body: "specialist_pool" + }; + option (google.api.method_signature) = "parent,specialist_pool"; + option (google.longrunning.operation_info) = { + response_type: "SpecialistPool" + metadata_type: "CreateSpecialistPoolOperationMetadata" + }; + } + + // Gets a SpecialistPool. + rpc GetSpecialistPool(GetSpecialistPoolRequest) returns (SpecialistPool) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/specialistPools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists SpecialistPools in a Location. + rpc ListSpecialistPools(ListSpecialistPoolsRequest) returns (ListSpecialistPoolsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/specialistPools" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a SpecialistPool as well as all Specialists in the pool. + rpc DeleteSpecialistPool(DeleteSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/specialistPools/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Updates a SpecialistPool. + rpc UpdateSpecialistPool(UpdateSpecialistPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{specialist_pool.name=projects/*/locations/*/specialistPools/*}" + body: "specialist_pool" + }; + option (google.api.method_signature) = "specialist_pool,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "SpecialistPool" + metadata_type: "UpdateSpecialistPoolOperationMetadata" + }; + } +} + +// Request message for [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool]. +message CreateSpecialistPoolRequest { + // Required. The parent Project name for the new SpecialistPool. + // The form is `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The SpecialistPool to create. + SpecialistPool specialist_pool = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation information for +// [SpecialistPoolService.CreateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool]. +message CreateSpecialistPoolOperationMetadata { + // The operation generic information. + GenericOperationMetadata generic_metadata = 1; +} + +// Request message for [SpecialistPoolService.GetSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool]. +message GetSpecialistPoolRequest { + // Required. The name of the SpecialistPool resource. + // The form is + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; +} + +// Request message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools]. +message ListSpecialistPoolsRequest { + // Required. The name of the SpecialistPool's parent resource. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The standard list page size. + int32 page_size = 2; + + // The standard list page token. + // Typically obtained by [ListSpecialistPoolsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListSpecialistPoolsResponse.next_page_token] of + // the previous [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools] call. Return + // first page if empty. + string page_token = 3; + + // Mask specifying which fields to read. FieldMask represents a set of + google.protobuf.FieldMask read_mask = 4; +} + +// Response message for [SpecialistPoolService.ListSpecialistPools][google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools]. +message ListSpecialistPoolsResponse { + // A list of SpecialistPools that matches the specified filter in the request. + repeated SpecialistPool specialist_pools = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Request message for [SpecialistPoolService.DeleteSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool]. +message DeleteSpecialistPoolRequest { + // Required. The resource name of the SpecialistPool to delete. Format: + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; + + // If set to true, any specialist managers in this SpecialistPool will also be + // deleted. (Otherwise, the request will only work if the SpecialistPool has + // no specialist managers.) + bool force = 2; +} + +// Request message for [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool]. +message UpdateSpecialistPoolRequest { + // Required. The SpecialistPool which replaces the resource on the server. + SpecialistPool specialist_pool = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The update mask applies to the resource. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Runtime operation metadata for +// [SpecialistPoolService.UpdateSpecialistPool][google.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool]. +message UpdateSpecialistPoolOperationMetadata { + // Output only. The name of the SpecialistPool to which the specialists are being added. + // Format: + // `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}` + string specialist_pool = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/SpecialistPool" + } + ]; + + // The operation generic information. + GenericOperationMetadata generic_metadata = 2; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/study.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/study.proto new file mode 100644 index 00000000..5ca0eb1a --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/study.proto @@ -0,0 +1,619 @@ +// 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "StudyProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A message representing a Study. +message Study { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Study" + pattern: "projects/{project}/locations/{location}/studies/{study}" + }; + + // Describes the Study state. + enum State { + // The study state is unspecified. + STATE_UNSPECIFIED = 0; + + // The study is active. + ACTIVE = 1; + + // The study is stopped due to an internal error. + INACTIVE = 2; + + // The study is done when the service exhausts the parameter search space + // or max_trial_count is reached. + COMPLETED = 3; + } + + // Output only. The name of a study. The study's globally unique identifier. + // Format: `projects/{project}/locations/{location}/studies/{study}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Describes the Study, default value is empty string. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Configuration of the Study. + StudySpec study_spec = 3 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The detailed state of a Study. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the study was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human readable reason why the Study is inactive. + // This should be empty if a study is ACTIVE or COMPLETED. + string inactive_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A message representing a Trial. A Trial contains a unique set of Parameters +// that has been or will be evaluated, along with the objective metrics got by +// running the Trial. +message Trial { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Trial" + pattern: "projects/{project}/locations/{location}/studies/{study}/trials/{trial}" + }; + + // A message representing a parameter to be tuned. + message Parameter { + // Output only. The ID of the parameter. The parameter should be defined in + // [StudySpec's Parameters][google.cloud.aiplatform.v1beta1.StudySpec.parameters]. + string parameter_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value of the parameter. + // `number_value` will be set if a parameter defined in StudySpec is + // in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. + // `string_value` will be set if a parameter defined in StudySpec is + // in type 'CATEGORICAL'. + google.protobuf.Value value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Describes a Trial state. + enum State { + // The Trial state is unspecified. + STATE_UNSPECIFIED = 0; + + // Indicates that a specific Trial has been requested, but it has not yet + // been suggested by the service. + REQUESTED = 1; + + // Indicates that the Trial has been suggested. + ACTIVE = 2; + + // Indicates that the Trial should stop according to the service. + STOPPING = 3; + + // Indicates that the Trial is completed successfully. + SUCCEEDED = 4; + + // Indicates that the Trial should not be attempted again. + // The service will set a Trial to INFEASIBLE when it's done but missing + // the final_measurement. + INFEASIBLE = 5; + } + + // Output only. Resource name of the Trial assigned by the service. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The identifier of the Trial assigned by the service. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The detailed state of the Trial. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The parameters of the Trial. + repeated Parameter parameters = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The final measurement containing the objective value. + Measurement final_measurement = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of measurements that are strictly lexicographically + // ordered by their induced tuples (steps, elapsed_duration). + // These are used for early stopping computations. + repeated Measurement measurements = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the Trial was started. + google.protobuf.Timestamp start_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`. + google.protobuf.Timestamp end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The identifier of the client that originally requested this Trial. + // Each client is identified by a unique client_id. When a client + // asks for a suggestion, Vertex AI Vizier will assign it a Trial. The client + // should evaluate the Trial, complete it, and report back to Vertex AI + // Vizier. If suggestion is asked again by same client_id before the Trial is + // completed, the same Trial will be returned. Multiple clients with + // different client_ids can ask for suggestions simultaneously, each of them + // will get their own Trial. + string client_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human readable string describing why the Trial is + // infeasible. This is set only if Trial state is `INFEASIBLE`. + string infeasible_reason = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The CustomJob name linked to the Trial. + // It's set for a HyperparameterTuningJob's Trial. + string custom_job = 11 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/CustomJob" + } + ]; + + // Output only. URIs for accessing [interactive + // shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // (one URI for each training node). Only available if this trial is part of + // a [HyperparameterTuningJob][google.cloud.aiplatform.v1beta1.HyperparameterTuningJob] and the job's + // [trial_job_spec.enable_web_access][google.cloud.aiplatform.v1beta1.CustomJobSpec.enable_web_access] field + // is `true`. + // + // The keys are names of each node used for the trial; for example, + // `workerpool0-0` for the primary node, `workerpool1-0` for the first node in + // the second worker pool, and `workerpool1-1` for the second node in the + // second worker pool. + // + // The values are the URIs for each node's interactive shell. + map web_access_uris = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represents specification of a Study. +message StudySpec { + // Represents a metric to optimize. + message MetricSpec { + // The available types of optimization goals. + enum GoalType { + // Goal Type will default to maximize. + GOAL_TYPE_UNSPECIFIED = 0; + + // Maximize the goal metric. + MAXIMIZE = 1; + + // Minimize the goal metric. + MINIMIZE = 2; + } + + // Required. The ID of the metric. Must not contain whitespaces and must be unique + // amongst all MetricSpecs. + string metric_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The optimization goal of the metric. + GoalType goal = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents a single parameter to optimize. + message ParameterSpec { + // Value specification for a parameter in `DOUBLE` type. + message DoubleValueSpec { + // Required. Inclusive minimum value of the parameter. + double min_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inclusive maximum value of the parameter. + double max_value = 2 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `DOUBLE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional double default_value = 4; + } + + // Value specification for a parameter in `INTEGER` type. + message IntegerValueSpec { + // Required. Inclusive minimum value of the parameter. + int64 min_value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Inclusive maximum value of the parameter. + int64 max_value = 2 [(google.api.field_behavior) = REQUIRED]; + + // A default value for an `INTEGER` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional int64 default_value = 4; + } + + // Value specification for a parameter in `CATEGORICAL` type. + message CategoricalValueSpec { + // Required. The list of possible categories. + repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `CATEGORICAL` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional string default_value = 3; + } + + // Value specification for a parameter in `DISCRETE` type. + message DiscreteValueSpec { + // Required. A list of possible values. + // The list should be in increasing order and at least 1e-10 apart. + // For instance, this parameter might have possible settings of 1.5, 2.5, + // and 4.0. This list should not contain more than 1,000 values. + repeated double values = 1 [(google.api.field_behavior) = REQUIRED]; + + // A default value for a `DISCRETE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. It automatically rounds to the + // nearest feasible discrete point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + optional double default_value = 3; + } + + // Represents a parameter spec with condition from its parent parameter. + message ConditionalParameterSpec { + // Represents the spec to match discrete values from parent parameter. + message DiscreteValueCondition { + // Required. Matches values of the parent parameter of 'DISCRETE' type. + // All values must exist in `discrete_value_spec` of parent parameter. + // + // The Epsilon of the value matching is 1e-10. + repeated double values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents the spec to match integer values from parent parameter. + message IntValueCondition { + // Required. Matches values of the parent parameter of 'INTEGER' type. + // All values must lie in `integer_value_spec` of parent parameter. + repeated int64 values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents the spec to match categorical values from parent parameter. + message CategoricalValueCondition { + // Required. Matches values of the parent parameter of 'CATEGORICAL' type. + // All values must exist in `categorical_value_spec` of parent + // parameter. + repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // A set of parameter values from the parent ParameterSpec's feasible + // space. + oneof parent_value_condition { + // The spec for matching values from a parent parameter of + // `DISCRETE` type. + DiscreteValueCondition parent_discrete_values = 2; + + // The spec for matching values from a parent parameter of `INTEGER` + // type. + IntValueCondition parent_int_values = 3; + + // The spec for matching values from a parent parameter of + // `CATEGORICAL` type. + CategoricalValueCondition parent_categorical_values = 4; + } + + // Required. The spec for a conditional parameter. + ParameterSpec parameter_spec = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The type of scaling that should be applied to this parameter. + enum ScaleType { + // By default, no scaling is applied. + SCALE_TYPE_UNSPECIFIED = 0; + + // Scales the feasible space to (0, 1) linearly. + UNIT_LINEAR_SCALE = 1; + + // Scales the feasible space logarithmically to (0, 1). The entire + // feasible space must be strictly positive. + UNIT_LOG_SCALE = 2; + + // Scales the feasible space "reverse" logarithmically to (0, 1). The + // result is that values close to the top of the feasible space are spread + // out more than points near the bottom. The entire feasible space must be + // strictly positive. + UNIT_REVERSE_LOG_SCALE = 3; + } + + oneof parameter_value_spec { + // The value spec for a 'DOUBLE' parameter. + DoubleValueSpec double_value_spec = 2; + + // The value spec for an 'INTEGER' parameter. + IntegerValueSpec integer_value_spec = 3; + + // The value spec for a 'CATEGORICAL' parameter. + CategoricalValueSpec categorical_value_spec = 4; + + // The value spec for a 'DISCRETE' parameter. + DiscreteValueSpec discrete_value_spec = 5; + } + + // Required. The ID of the parameter. Must not contain whitespaces and must be unique + // amongst all ParameterSpecs. + string parameter_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // How the parameter should be scaled. + // Leave unset for `CATEGORICAL` parameters. + ScaleType scale_type = 6; + + // A conditional parameter node is active if the parameter's value matches + // the conditional node's parent_value_condition. + // + // If two items in conditional_parameter_specs have the same name, they + // must have disjoint parent_value_condition. + repeated ConditionalParameterSpec conditional_parameter_specs = 10; + } + + // The decay curve automated stopping rule builds a Gaussian Process + // Regressor to predict the final objective value of a Trial based on the + // already completed Trials and the intermediate measurements of the current + // Trial. Early stopping is requested for the current Trial if there is very + // low probability to exceed the optimal value found so far. + message DecayCurveAutomatedStoppingSpec { + // True if [Measurement.elapsed_duration][google.cloud.aiplatform.v1beta1.Measurement.elapsed_duration] is used as the x-axis of each + // Trials Decay Curve. Otherwise, [Measurement.step_count][google.cloud.aiplatform.v1beta1.Measurement.step_count] will be used + // as the x-axis. + bool use_elapsed_duration = 1; + } + + // The median automated stopping rule stops a pending Trial if the Trial's + // best objective_value is strictly below the median 'performance' of all + // completed Trials reported up to the Trial's last measurement. + // Currently, 'performance' refers to the running average of the objective + // values reported by the Trial in each measurement. + message MedianAutomatedStoppingSpec { + // True if median automated stopping rule applies on + // [Measurement.elapsed_duration][google.cloud.aiplatform.v1beta1.Measurement.elapsed_duration]. It means that elapsed_duration + // field of latest measurement of current Trial is used to compute median + // objective value for each completed Trials. + bool use_elapsed_duration = 1; + } + + // Configuration for ConvexAutomatedStoppingSpec. + // When there are enough completed trials (configured by + // min_measurement_count), for pending trials with enough measurements and + // steps, the policy first computes an overestimate of the objective value at + // max_num_steps according to the slope of the incomplete objective value + // curve. No prediction can be made if the curve is completely flat. If the + // overestimation is worse than the best objective value of the completed + // trials, this pending trial will be early-stopped, but a last measurement + // will be added to the pending trial with max_num_steps and predicted + // objective value from the autoregression model. + message ConvexAutomatedStoppingSpec { + // Steps used in predicting the final objective for early stopped trials. In + // general, it's set to be the same as the defined steps in training / + // tuning. If not defined, it will learn it from the completed trials. When + // use_steps is false, this field is set to the maximum elapsed seconds. + int64 max_step_count = 1; + + // Minimum number of steps for a trial to complete. Trials which do not have + // a measurement with step_count > min_step_count won't be considered for + // early stopping. It's ok to set it to 0, and a trial can be early stopped + // at any stage. By default, min_step_count is set to be one-tenth of the + // max_step_count. + // When use_elapsed_duration is true, this field is set to the minimum + // elapsed seconds. + int64 min_step_count = 2; + + // The minimal number of measurements in a Trial. Early-stopping checks + // will not trigger if less than min_measurement_count+1 completed trials or + // pending trials with less than min_measurement_count measurements. If not + // defined, the default value is 5. + int64 min_measurement_count = 3; + + // The hyper-parameter name used in the tuning job that stands for learning + // rate. Leave it blank if learning rate is not in a parameter in tuning. + // The learning_rate is used to estimate the objective value of the ongoing + // trial. + string learning_rate_parameter_name = 4; + + // This bool determines whether or not the rule is applied based on + // elapsed_secs or steps. If use_elapsed_duration==false, the early stopping + // decision is made according to the predicted objective values according to + // the target steps. If use_elapsed_duration==true, elapsed_secs is used + // instead of steps. Also, in this case, the parameters max_num_steps and + // min_num_steps are overloaded to contain max_elapsed_seconds and + // min_elapsed_seconds. + bool use_elapsed_duration = 5; + } + + // Configuration for ConvexStopPolicy. + message ConvexStopConfig { + option deprecated = true; + + // Steps used in predicting the final objective for early stopped trials. In + // general, it's set to be the same as the defined steps in training / + // tuning. When use_steps is false, this field is set to the maximum elapsed + // seconds. + int64 max_num_steps = 1; + + // Minimum number of steps for a trial to complete. Trials which do not have + // a measurement with num_steps > min_num_steps won't be considered for + // early stopping. It's ok to set it to 0, and a trial can be early stopped + // at any stage. By default, min_num_steps is set to be one-tenth of the + // max_num_steps. + // When use_steps is false, this field is set to the minimum elapsed + // seconds. + int64 min_num_steps = 2; + + // The number of Trial measurements used in autoregressive model for + // value prediction. A trial won't be considered early stopping if has fewer + // measurement points. + int64 autoregressive_order = 3; + + // The hyper-parameter name used in the tuning job that stands for learning + // rate. Leave it blank if learning rate is not in a parameter in tuning. + // The learning_rate is used to estimate the objective value of the ongoing + // trial. + string learning_rate_parameter_name = 4; + + // This bool determines whether or not the rule is applied based on + // elapsed_secs or steps. If use_seconds==false, the early stopping decision + // is made according to the predicted objective values according to the + // target steps. If use_seconds==true, elapsed_secs is used instead of + // steps. Also, in this case, the parameters max_num_steps and min_num_steps + // are overloaded to contain max_elapsed_seconds and min_elapsed_seconds. + bool use_seconds = 5; + } + + // This contains flag for manually disabling transfer learning for a study. + // The names of prior studies being used for transfer learning (if any) + // are also listed here. + message TransferLearningConfig { + // Flag to to manually prevent vizier from using transfer learning on a + // new study. Otherwise, vizier will automatically determine whether or not + // to use transfer learning. + bool disable_transfer_learning = 1; + + // Output only. Names of previously completed studies + repeated string prior_study_names = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The available search algorithms for the Study. + enum Algorithm { + // The default algorithm used by Vertex AI for [hyperparameter + // tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) + // and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier). + ALGORITHM_UNSPECIFIED = 0; + + // Simple grid search within the feasible space. To use grid search, + // all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`. + GRID_SEARCH = 2; + + // Simple random search within the feasible space. + RANDOM_SEARCH = 3; + } + + // Describes the noise level of the repeated observations. + // + // "Noisy" means that the repeated observations with the same Trial parameters + // may lead to different metric evaluations. + enum ObservationNoise { + // The default noise level chosen by Vertex AI. + OBSERVATION_NOISE_UNSPECIFIED = 0; + + // Vertex AI assumes that the objective function is (nearly) + // perfectly reproducible, and will never repeat the same Trial + // parameters. + LOW = 1; + + // Vertex AI will estimate the amount of noise in metric + // evaluations, it may repeat the same Trial parameters more than once. + HIGH = 2; + } + + // This indicates which measurement to use if/when the service automatically + // selects the final measurement from previously reported intermediate + // measurements. Choose this based on two considerations: + // A) Do you expect your measurements to monotonically improve? + // If so, choose LAST_MEASUREMENT. On the other hand, if you're in a + // situation where your system can "over-train" and you expect the + // performance to get better for a while but then start declining, + // choose BEST_MEASUREMENT. + // B) Are your measurements significantly noisy and/or irreproducible? + // If so, BEST_MEASUREMENT will tend to be over-optimistic, and it + // may be better to choose LAST_MEASUREMENT. + // If both or neither of (A) and (B) apply, it doesn't matter which + // selection type is chosen. + enum MeasurementSelectionType { + // Will be treated as LAST_MEASUREMENT. + MEASUREMENT_SELECTION_TYPE_UNSPECIFIED = 0; + + // Use the last measurement reported. + LAST_MEASUREMENT = 1; + + // Use the best measurement reported. + BEST_MEASUREMENT = 2; + } + + oneof automated_stopping_spec { + // The automated early stopping spec using decay curve rule. + DecayCurveAutomatedStoppingSpec decay_curve_stopping_spec = 4; + + // The automated early stopping spec using median rule. + MedianAutomatedStoppingSpec median_automated_stopping_spec = 5; + + // Deprecated. + // The automated early stopping using convex stopping rule. + ConvexStopConfig convex_stop_config = 8 [deprecated = true]; + + // The automated early stopping spec using convex stopping rule. + ConvexAutomatedStoppingSpec convex_automated_stopping_spec = 9; + } + + // Required. Metric specs for the Study. + repeated MetricSpec metrics = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The set of parameters to tune. + repeated ParameterSpec parameters = 2 [(google.api.field_behavior) = REQUIRED]; + + // The search algorithm specified for the Study. + Algorithm algorithm = 3; + + // The observation noise level of the study. + // Currently only supported by the Vertex AI Vizier service. Not supported by + // HyperparameterTuningJob or TrainingPipeline. + ObservationNoise observation_noise = 6; + + // Describe which measurement selection type will be used + MeasurementSelectionType measurement_selection_type = 7; + + // The configuration info/options for transfer learning. Currently supported + // for Vertex AI Vizier service, not HyperParameterTuningJob + TransferLearningConfig transfer_learning_config = 10; +} + +// A message representing a Measurement of a Trial. A Measurement contains +// the Metrics got by executing a Trial using suggested hyperparameter +// values. +message Measurement { + // A message representing a metric in the measurement. + message Metric { + // Output only. The ID of the Metric. The Metric should be defined in + // [StudySpec's Metrics][google.cloud.aiplatform.v1beta1.StudySpec.metrics]. + string metric_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The value for this metric. + double value = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Time that the Trial has been running at the point of this Measurement. + google.protobuf.Duration elapsed_duration = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of steps the machine learning model has been trained for. + // Must be non-negative. + int64 step_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of metrics got by evaluating the objective functions using suggested + // Parameter values. + repeated Metric metrics = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard.proto new file mode 100644 index 00000000..640e636e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard.proto @@ -0,0 +1,86 @@ +// 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/aiplatform/v1beta1/encryption_spec.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// Tensorboard is a physical database that stores users' training metrics. +// A default Tensorboard is provided in each region of a GCP project. +// If needed users can also create extra Tensorboards in their projects. +message Tensorboard { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/Tensorboard" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}" + }; + + // Output only. Name of the Tensorboard. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this Tensorboard. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this Tensorboard. + string description = 3; + + // Customer-managed encryption key spec for a Tensorboard. If set, this + // Tensorboard and all sub-resources of this Tensorboard will be secured by + // this key. + EncryptionSpec encryption_spec = 11; + + // Output only. Consumer project Cloud Storage path prefix used to store blob data, which + // can either be a bucket or directory. Does not end with a '/'. + string blob_storage_path_prefix = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of Runs stored in this Tensorboard. + int32 run_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Tensorboard was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this Tensorboard was last updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your Tensorboards. + // + // 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. + // No more than 64 user labels can be associated with one Tensorboard + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 8; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 9; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_data.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_data.proto new file mode 100644 index 00000000..cfc36e30 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_data.proto @@ -0,0 +1,101 @@ +// 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.aiplatform.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardDataProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// All the data stored in a TensorboardTimeSeries. +message TimeSeriesData { + // Required. The ID of the TensorboardTimeSeries, which will become the final component + // of the TensorboardTimeSeries' resource name + string tensorboard_time_series_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The value type of this time series. All the values in this time series data + // must match this value type. + TensorboardTimeSeries.ValueType value_type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Data points in this time series. + repeated TimeSeriesDataPoint values = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// A TensorboardTimeSeries data point. +message TimeSeriesDataPoint { + // Value of this time series data point. + oneof value { + // A scalar value. + Scalar scalar = 3; + + // A tensor value. + TensorboardTensor tensor = 4; + + // A blob sequence value. + TensorboardBlobSequence blobs = 5; + } + + // Wall clock timestamp when this data point is generated by the end user. + google.protobuf.Timestamp wall_time = 1; + + // Step index of this data point within the run. + int64 step = 2; +} + +// One point viewable on a scalar metric plot. +message Scalar { + // Value of the point at this step / timestamp. + double value = 1; +} + +// One point viewable on a tensor metric plot. +message TensorboardTensor { + // Required. Serialized form of + // https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto + bytes value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Version number of TensorProto used to serialize [value][google.cloud.aiplatform.v1beta1.TensorboardTensor.value]. + int32 version_number = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// One point viewable on a blob metric plot, but mostly just a wrapper message +// to work around repeated fields can't be used directly within `oneof` fields. +message TensorboardBlobSequence { + // List of blobs contained within the sequence. + repeated TensorboardBlob values = 1; +} + +// One blob (e.g, image, graph) viewable on a blob metric plot. +message TensorboardBlob { + // Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob + // stored in the Cloud Storage bucket of the consumer project. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The bytes of the blob is not present unless it's returned by the + // ReadTensorboardBlobData endpoint. + bytes data = 2 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto new file mode 100644 index 00000000..0258ef6d --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto @@ -0,0 +1,78 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardExperimentProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// A TensorboardExperiment is a group of TensorboardRuns, that are typically the +// results of a training job run, in a Tensorboard. +message TensorboardExperiment { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}" + }; + + // Output only. Name of the TensorboardExperiment. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // User provided name of this TensorboardExperiment. + string display_name = 2; + + // Description of this TensorboardExperiment. + string description = 3; + + // Output only. Timestamp when this TensorboardExperiment was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardExperiment was last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your Datasets. + // + // 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. + // No more than 64 user labels can be associated with one Dataset (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Dataset: + // * "aiplatform.googleapis.com/dataset_metadata_schema": + // - output only, its value is the + // [metadata_schema's][metadata_schema_uri] title. + map labels = 6; + + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7; + + // Immutable. Source of the TensorboardExperiment. Example: a custom training job. + string source = 8 [(google.api.field_behavior) = IMMUTABLE]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_run.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_run.proto new file mode 100644 index 00000000..b5f570c8 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_run.proto @@ -0,0 +1,81 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardRunProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// TensorboardRun maps to a specific execution of a training job with a given +// set of hyperparameter values, model definition, dataset, etc +message TensorboardRun { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardRun" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}" + }; + + // Output only. Name of the TensorboardRun. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this TensorboardRun. + // This value must be unique among all TensorboardRuns + // belonging to the same parent TensorboardExperiment. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this TensorboardRun. + string description = 3; + + // Output only. Timestamp when this TensorboardRun was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardRun was last updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize your TensorboardRuns. + // + // This field will be used to filter and visualize Runs in the Tensorboard UI. + // For example, a Vertex AI training job can set a label + // aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created + // within that job. An end user can set a label experiment_id=xxxxx for all + // the runs produced in a Jupyter notebook. These runs can be grouped by a + // label value and visualized together in the Tensorboard UI. + // + // 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. + // No more than 64 user labels can be associated with one TensorboardRun + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + map labels = 8; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 9; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_service.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_service.proto new file mode 100644 index 00000000..629e5d79 --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_service.proto @@ -0,0 +1,1004 @@ +// 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.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/tensorboard.proto"; +import "google/cloud/aiplatform/v1beta1/tensorboard_data.proto"; +import "google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto"; +import "google/cloud/aiplatform/v1beta1/tensorboard_run.proto"; +import "google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardServiceProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// TensorboardService +service TensorboardService { + option (google.api.default_host) = "aiplatform.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a Tensorboard. + rpc CreateTensorboard(CreateTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/tensorboards" + body: "tensorboard" + }; + option (google.api.method_signature) = "parent,tensorboard"; + option (google.longrunning.operation_info) = { + response_type: "Tensorboard" + metadata_type: "CreateTensorboardOperationMetadata" + }; + } + + // Gets a Tensorboard. + rpc GetTensorboard(GetTensorboardRequest) returns (Tensorboard) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a Tensorboard. + rpc UpdateTensorboard(UpdateTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{tensorboard.name=projects/*/locations/*/tensorboards/*}" + body: "tensorboard" + }; + option (google.api.method_signature) = "tensorboard,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Tensorboard" + metadata_type: "UpdateTensorboardOperationMetadata" + }; + } + + // Lists Tensorboards in a Location. + rpc ListTensorboards(ListTensorboardsRequest) returns (ListTensorboardsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/tensorboards" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a Tensorboard. + rpc DeleteTensorboard(DeleteTensorboardRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a TensorboardExperiment. + rpc CreateTensorboardExperiment(CreateTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments" + body: "tensorboard_experiment" + }; + option (google.api.method_signature) = "parent,tensorboard_experiment,tensorboard_experiment_id"; + } + + // Gets a TensorboardExperiment. + rpc GetTensorboardExperiment(GetTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardExperiment. + rpc UpdateTensorboardExperiment(UpdateTensorboardExperimentRequest) returns (TensorboardExperiment) { + option (google.api.http) = { + patch: "/v1beta1/{tensorboard_experiment.name=projects/*/locations/*/tensorboards/*/experiments/*}" + body: "tensorboard_experiment" + }; + option (google.api.method_signature) = "tensorboard_experiment,update_mask"; + } + + // Lists TensorboardExperiments in a Location. + rpc ListTensorboardExperiments(ListTensorboardExperimentsRequest) returns (ListTensorboardExperimentsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardExperiment. + rpc DeleteTensorboardExperiment(DeleteTensorboardExperimentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Creates a TensorboardRun. + rpc CreateTensorboardRun(CreateTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" + body: "tensorboard_run" + }; + option (google.api.method_signature) = "parent,tensorboard_run,tensorboard_run_id"; + } + + // Batch create TensorboardRuns. + rpc BatchCreateTensorboardRuns(BatchCreateTensorboardRunsRequest) returns (BatchCreateTensorboardRunsResponse) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs:batchCreate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Gets a TensorboardRun. + rpc GetTensorboardRun(GetTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardRun. + rpc UpdateTensorboardRun(UpdateTensorboardRunRequest) returns (TensorboardRun) { + option (google.api.http) = { + patch: "/v1beta1/{tensorboard_run.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + body: "tensorboard_run" + }; + option (google.api.method_signature) = "tensorboard_run,update_mask"; + } + + // Lists TensorboardRuns in a Location. + rpc ListTensorboardRuns(ListTensorboardRunsRequest) returns (ListTensorboardRunsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardRun. + rpc DeleteTensorboardRun(DeleteTensorboardRunRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. + rpc BatchCreateTensorboardTimeSeries(BatchCreateTensorboardTimeSeriesRequest) returns (BatchCreateTensorboardTimeSeriesResponse) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs/*/timeSeries:batchCreate" + body: "*" + }; + option (google.api.method_signature) = "parent,requests"; + } + + // Creates a TensorboardTimeSeries. + rpc CreateTensorboardTimeSeries(CreateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" + body: "tensorboard_time_series" + }; + option (google.api.method_signature) = "parent,tensorboard_time_series"; + } + + // Gets a TensorboardTimeSeries. + rpc GetTensorboardTimeSeries(GetTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates a TensorboardTimeSeries. + rpc UpdateTensorboardTimeSeries(UpdateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { + option (google.api.http) = { + patch: "/v1beta1/{tensorboard_time_series.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + body: "tensorboard_time_series" + }; + option (google.api.method_signature) = "tensorboard_time_series,update_mask"; + } + + // Lists TensorboardTimeSeries in a Location. + rpc ListTensorboardTimeSeries(ListTensorboardTimeSeriesRequest) returns (ListTensorboardTimeSeriesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes a TensorboardTimeSeries. + rpc DeleteTensorboardTimeSeries(DeleteTensorboardTimeSeriesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "DeleteOperationMetadata" + }; + } + + // Reads multiple TensorboardTimeSeries' data. The data point number limit is + // 1000 for scalars, 100 for tensors and blob references. If the number of + // data points stored is less than the limit, all data will be returned. + // Otherwise, that limit number of data points will be randomly selected from + // this time series and returned. + rpc BatchReadTensorboardTimeSeriesData(BatchReadTensorboardTimeSeriesDataRequest) returns (BatchReadTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + get: "/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}/experiments/*/runs/*/timeSeries:batchRead" + }; + option (google.api.method_signature) = "tensorboard"; + } + + // Reads a TensorboardTimeSeries' data. By default, if the number of data + // points stored is less than 1000, all data will be returned. Otherwise, 1000 + // data points will be randomly selected from this time series and returned. + // This value can be changed by changing max_data_points, which can't be + // greater than 10k. + rpc ReadTensorboardTimeSeriesData(ReadTensorboardTimeSeriesDataRequest) returns (ReadTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + get: "/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:read" + }; + option (google.api.method_signature) = "tensorboard_time_series"; + } + + // Gets bytes of TensorboardBlobs. + // This is to allow reading blob data stored in consumer project's Cloud + // Storage bucket without users having to obtain Cloud Storage access + // permission. + rpc ReadTensorboardBlobData(ReadTensorboardBlobDataRequest) returns (stream ReadTensorboardBlobDataResponse) { + option (google.api.http) = { + get: "/v1beta1/{time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:readBlobData" + }; + option (google.api.method_signature) = "time_series"; + } + + // Write time series data points of multiple TensorboardTimeSeries in multiple + // TensorboardRun's. If any data fail to be ingested, an error will be + // returned. + rpc WriteTensorboardExperimentData(WriteTensorboardExperimentDataRequest) returns (WriteTensorboardExperimentDataResponse) { + option (google.api.http) = { + post: "/v1beta1/{tensorboard_experiment=projects/*/locations/*/tensorboards/*/experiments/*}:write" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_experiment,write_run_data_requests"; + } + + // Write time series data points into multiple TensorboardTimeSeries under + // a TensorboardRun. If any data fail to be ingested, an error will be + // returned. + rpc WriteTensorboardRunData(WriteTensorboardRunDataRequest) returns (WriteTensorboardRunDataResponse) { + option (google.api.http) = { + post: "/v1beta1/{tensorboard_run=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}:write" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_run,time_series_data"; + } + + // Exports a TensorboardTimeSeries' data. Data is returned in paginated + // responses. + rpc ExportTensorboardTimeSeriesData(ExportTensorboardTimeSeriesDataRequest) returns (ExportTensorboardTimeSeriesDataResponse) { + option (google.api.http) = { + post: "/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:exportTensorboardTimeSeries" + body: "*" + }; + option (google.api.method_signature) = "tensorboard_time_series"; + } +} + +// Request message for [TensorboardService.CreateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard]. +message CreateTensorboardRequest { + // Required. The resource name of the Location to create the Tensorboard in. + // Format: `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Required. The Tensorboard to create. + Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard]. +message GetTensorboardRequest { + // Required. The name of the Tensorboard resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. +message ListTensorboardsRequest { + // Required. The resource name of the Location to list Tensorboards. + // Format: + // `projects/{project}/locations/{location}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Lists the Tensorboards that match the filter expression. + string filter = 2; + + // The maximum number of Tensorboards to return. The service may return + // fewer than this value. If unspecified, at most 100 Tensorboards will be + // returned. The maximum value is 100; values above 100 will be coerced to + // 100. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. +message ListTensorboardsResponse { + // The Tensorboards mathching the request. + repeated Tensorboard tensorboards = 1; + + // A token, which can be sent as [ListTensorboardsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardsRequest.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 [TensorboardService.UpdateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard]. +message UpdateTensorboardRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Tensorboard 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Tensorboard's `name` field is used to identify the + // Tensorboard to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard]. +message DeleteTensorboardRequest { + // Required. The name of the Tensorboard to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; +} + +// Request message for [TensorboardService.CreateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment]. +message CreateTensorboardExperimentRequest { + // Required. The resource name of the Tensorboard to create the TensorboardExperiment + // in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // The TensorboardExperiment to create. + TensorboardExperiment tensorboard_experiment = 2; + + // Required. The ID to use for the Tensorboard experiment, which will become the final + // component of the Tensorboard experiment's resource name. + // + // This value should be 1-128 characters, and valid characters + // are /[a-z][0-9]-/. + string tensorboard_experiment_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment]. +message GetTensorboardExperimentRequest { + // Required. The name of the TensorboardExperiment resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. +message ListTensorboardExperimentsRequest { + // Required. The resource name of the Tensorboard to list TensorboardExperiments. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Lists the TensorboardExperiments that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardExperiments to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardExperiments will be returned. The maximum value is 1000; values + // above 1000 will be coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. +message ListTensorboardExperimentsResponse { + // The TensorboardExperiments mathching the request. + repeated TensorboardExperiment tensorboard_experiments = 1; + + // A token, which can be sent as + // [ListTensorboardExperimentsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest.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 [TensorboardService.UpdateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment]. +message UpdateTensorboardExperimentRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardExperiment 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardExperiment's `name` field is used to identify the + // TensorboardExperiment to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + TensorboardExperiment tensorboard_experiment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment]. +message DeleteTensorboardExperimentRequest { + // Required. The name of the TensorboardExperiment to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; +} + +// Request message for [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns]. +message BatchCreateTensorboardRunsRequest { + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardRuns in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The parent field in the CreateTensorboardRunRequest messages must match + // this field. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. The request message specifying the TensorboardRuns to create. + // A maximum of 1000 TensorboardRuns can be created in a batch. + repeated CreateTensorboardRunRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns]. +message BatchCreateTensorboardRunsResponse { + // The created TensorboardRuns. + repeated TensorboardRun tensorboard_runs = 1; +} + +// Request message for [TensorboardService.CreateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun]. +message CreateTensorboardRunRequest { + // Required. The resource name of the TensorboardExperiment to create the TensorboardRun + // in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Required. The TensorboardRun to create. + TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the Tensorboard run, which will become the final + // component of the Tensorboard run's resource name. + // + // This value should be 1-128 characters, and valid characters + // are /[a-z][0-9]-/. + string tensorboard_run_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun]. +message GetTensorboardRunRequest { + // Required. The name of the TensorboardRun resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; +} + +// Request message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. +message ReadTensorboardBlobDataRequest { + // Required. The resource name of the TensorboardTimeSeries to list Blobs. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}' + string time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // IDs of the blobs to read. + repeated string blob_ids = 2; +} + +// Response message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. +message ReadTensorboardBlobDataResponse { + // Blob messages containing blob bytes. + repeated TensorboardBlob blobs = 1; +} + +// Request message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. +message ListTensorboardRunsRequest { + // Required. The resource name of the TensorboardExperiment to list TensorboardRuns. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Lists the TensorboardRuns that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardRuns to return. The service may return + // fewer than this value. If unspecified, at most 50 TensorboardRuns will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. +message ListTensorboardRunsResponse { + // The TensorboardRuns mathching the request. + repeated TensorboardRun tensorboard_runs = 1; + + // A token, which can be sent as [ListTensorboardRunsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest.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 [TensorboardService.UpdateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun]. +message UpdateTensorboardRunRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardRun 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardRun's `name` field is used to identify the TensorboardRun to + // be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun]. +message DeleteTensorboardRunRequest { + // Required. The name of the TensorboardRun to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; +} + +// Request message for [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries]. +message BatchCreateTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The TensorboardRuns referenced by the parent fields in the + // CreateTensorboardTimeSeriesRequest messages must be sub resources of this + // TensorboardExperiment. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. The request message specifying the TensorboardTimeSeries to create. + // A maximum of 1000 TensorboardTimeSeries can be created in a batch. + repeated CreateTensorboardTimeSeriesRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries]. +message BatchCreateTensorboardTimeSeriesResponse { + // The created TensorboardTimeSeries. + repeated TensorboardTimeSeries tensorboard_time_series = 1; +} + +// Request message for [TensorboardService.CreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries]. +message CreateTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardRun to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Optional. The user specified unique ID to use for the TensorboardTimeSeries, which + // will become the final component of the TensorboardTimeSeries's resource + // name. + // This value should match "[a-z0-9][a-z0-9-]{0, 127}" + string tensorboard_time_series_id = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The TensorboardTimeSeries to create. + TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.GetTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries]. +message GetTensorboardTimeSeriesRequest { + // Required. The name of the TensorboardTimeSeries resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Request message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. +message ListTensorboardTimeSeriesRequest { + // Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. + // Format: + // 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}' + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Lists the TensorboardTimeSeries that match the filter expression. + string filter = 2; + + // The maximum number of TensorboardTimeSeries to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardTimeSeries will be returned. The maximum value is 1000; values + // above 1000 will be coerced to 1000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the list. + string order_by = 5; + + // Mask specifying which fields to read. + google.protobuf.FieldMask read_mask = 6; +} + +// Response message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. +message ListTensorboardTimeSeriesResponse { + // The TensorboardTimeSeries mathching the request. + repeated TensorboardTimeSeries tensorboard_time_series = 1; + + // A token, which can be sent as + // [ListTensorboardTimeSeriesRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest.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 [TensorboardService.UpdateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries]. +message UpdateTensorboardTimeSeriesRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardTimeSeries 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 if new + // values are specified. + google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The TensorboardTimeSeries' `name` field is used to identify the + // TensorboardTimeSeries to be updated. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for [TensorboardService.DeleteTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries]. +message DeleteTensorboardTimeSeriesRequest { + // Required. The name of the TensorboardTimeSeries to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Request message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +message BatchReadTensorboardTimeSeriesDataRequest { + // Required. The resource name of the Tensorboard containing TensorboardTimeSeries to + // read data from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. + // The TensorboardTimeSeries referenced by [time_series][google.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataRequest.time_series] must be sub + // resources of this Tensorboard. + string tensorboard = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/Tensorboard" + } + ]; + + // Required. The resource names of the TensorboardTimeSeries to read data from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + repeated string time_series = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; +} + +// Response message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +message BatchReadTensorboardTimeSeriesDataResponse { + // The returned time series data. + repeated TimeSeriesData time_series_data = 1; +} + +// Request message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. +message ReadTensorboardTimeSeriesDataRequest { + // Required. The resource name of the TensorboardTimeSeries to read data from. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string tensorboard_time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // The maximum number of TensorboardTimeSeries' data to return. + // + // This value should be a positive integer. + // This value can be set to -1 to return all data. + int32 max_data_points = 2; + + // Reads the TensorboardTimeSeries' data that match the filter expression. + string filter = 3; +} + +// Response message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. +message ReadTensorboardTimeSeriesDataResponse { + // The returned time series data. + TimeSeriesData time_series_data = 1; +} + +// Request message for [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData]. +message WriteTensorboardExperimentDataRequest { + // Required. The resource name of the TensorboardExperiment to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + string tensorboard_experiment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardExperiment" + } + ]; + + // Required. Requests containing per-run TensorboardTimeSeries data to write. + repeated WriteTensorboardRunDataRequest write_run_data_requests = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData]. +message WriteTensorboardExperimentDataResponse { + +} + +// Request message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. +message WriteTensorboardRunDataRequest { + // Required. The resource name of the TensorboardRun to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + string tensorboard_run = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardRun" + } + ]; + + // Required. The TensorboardTimeSeries data to write. + // Values with in a time series are indexed by their step value. + // Repeated writes to the same step will overwrite the existing value for that + // step. + // The upper limit of data points per write request is 5000. + repeated TimeSeriesData time_series_data = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. +message WriteTensorboardRunDataResponse { + +} + +// Request message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. +message ExportTensorboardTimeSeriesDataRequest { + // Required. The resource name of the TensorboardTimeSeries to export data from. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + string tensorboard_time_series = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + } + ]; + + // Exports the TensorboardTimeSeries' data that match the filter expression. + string filter = 2; + + // The maximum number of data points to return per page. + // The default page_size will be 1000. Values must be between 1 and 10000. + // Values above 10000 will be coerced to 10000. + int32 page_size = 3; + + // A page token, received from a previous + // [TensorboardService.ExportTensorboardTimeSeries][] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ExportTensorboardTimeSeries][] must + // match the call that provided the page token. + string page_token = 4; + + // Field to use to sort the TensorboardTimeSeries' data. + // By default, TensorboardTimeSeries' data will be returned in a pseudo random + // order. + string order_by = 5; +} + +// Response message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. +message ExportTensorboardTimeSeriesDataResponse { + // The returned time series data points. + repeated TimeSeriesDataPoint time_series_data_points = 1; + + // A token, which can be sent as + // [ExportTensorboardTimeSeriesRequest.page_token][] to retrieve the next + // page. If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Details of operations that perform create Tensorboard. +message CreateTensorboardOperationMetadata { + // Operation metadata for Tensorboard. + GenericOperationMetadata generic_metadata = 1; +} + +// Details of operations that perform update Tensorboard. +message UpdateTensorboardOperationMetadata { + // Operation metadata for Tensorboard. + GenericOperationMetadata generic_metadata = 1; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto new file mode 100644 index 00000000..6e202a6e --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto @@ -0,0 +1,106 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TensorboardTimeSeriesProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// TensorboardTimeSeries maps to times series produced in training runs +message TensorboardTimeSeries { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TensorboardTimeSeries" + pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}" + }; + + // Describes metadata for a TensorboardTimeSeries. + message Metadata { + // Output only. Max step index of all data points within a TensorboardTimeSeries. + int64 max_step = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Max wall clock timestamp of all data points within a + // TensorboardTimeSeries. + google.protobuf.Timestamp max_wall_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The largest blob sequence length (number of blobs) of all data points in + // this time series, if its ValueType is BLOB_SEQUENCE. + int64 max_blob_sequence_length = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An enum representing the value type of a TensorboardTimeSeries. + enum ValueType { + // The value type is unspecified. + VALUE_TYPE_UNSPECIFIED = 0; + + // Used for TensorboardTimeSeries that is a list of scalars. + // E.g. accuracy of a model over epochs/time. + SCALAR = 1; + + // Used for TensorboardTimeSeries that is a list of tensors. + // E.g. histograms of weights of layer in a model over epoch/time. + TENSOR = 2; + + // Used for TensorboardTimeSeries that is a list of blob sequences. + // E.g. set of sample images with labels over epochs/time. + BLOB_SEQUENCE = 3; + } + + // Output only. Name of the TensorboardTimeSeries. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. User provided name of this TensorboardTimeSeries. + // This value should be unique among all TensorboardTimeSeries resources + // belonging to the same TensorboardRun resource (parent resource). + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Description of this TensorboardTimeSeries. + string description = 3; + + // Required. Immutable. Type of TensorboardTimeSeries value. + ValueType value_type = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. Timestamp when this TensorboardTimeSeries was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this TensorboardTimeSeries was last updated. + google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + string etag = 7; + + // Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, + // Blob + string plugin_name = 8 [(google.api.field_behavior) = IMMUTABLE]; + + // Data of the current plugin, with the size limited to 65KB. + bytes plugin_data = 9; + + // Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries. + Metadata metadata = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/google-cloud/protos/google/cloud/aiplatform/v1beta1/training_pipeline.proto b/google-cloud/protos/google/cloud/aiplatform/v1beta1/training_pipeline.proto new file mode 100644 index 00000000..138fbc3c --- /dev/null +++ b/google-cloud/protos/google/cloud/aiplatform/v1beta1/training_pipeline.proto @@ -0,0 +1,413 @@ +// 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.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/io.proto"; +import "google/cloud/aiplatform/v1beta1/model.proto"; +import "google/cloud/aiplatform/v1beta1/pipeline_state.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; +option java_multiple_files = true; +option java_outer_classname = "TrainingPipelineProto"; +option java_package = "com.google.cloud.aiplatform.v1beta1"; +option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; +option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; + +// The TrainingPipeline orchestrates tasks associated with training a Model. It +// always executes the training task, and optionally may also +// export data from Vertex AI's Dataset which becomes the training input, +// [upload][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] the Model to Vertex AI, and evaluate the +// Model. +message TrainingPipeline { + option (google.api.resource) = { + type: "aiplatform.googleapis.com/TrainingPipeline" + pattern: "projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}" + }; + + // Output only. Resource name of the TrainingPipeline. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The user-defined name of this TrainingPipeline. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies Vertex AI owned input data that may be used for training the + // Model. The TrainingPipeline's [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] should make + // clear whether this config is used and if there are any special requirements + // on how it should be filled. If nothing about this config is mentioned in + // the [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], then it should be assumed that the + // TrainingPipeline does not depend on this configuration. + InputDataConfig input_data_config = 3; + + // Required. A Google Cloud Storage path to the YAML file that defines the training task + // which is responsible for producing the model artifact, and may also include + // additional auxiliary work. + // The definition files that can be used here are found in + // gs://google-cloud-aiplatform/schema/trainingjob/definition/. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + string training_task_definition = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The training task's parameter(s), as specified in the + // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s `inputs`. + google.protobuf.Value training_task_inputs = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The metadata information as specified in the [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s + // `metadata`. This metadata is an auxiliary runtime and final information + // about the training task. While the pipeline is running this information is + // populated only at a best effort basis. Only present if the + // pipeline's [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] contains `metadata` object. + google.protobuf.Value training_task_metadata = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Describes the Model that may be uploaded (via [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel]) + // by this TrainingPipeline. The TrainingPipeline's + // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] should make clear whether this Model + // description should be populated, and if there are any special requirements + // regarding how it should be filled. If nothing is mentioned in the + // [training_task_definition][google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], then it should be assumed that this field + // should not be filled and the training task either uploads the Model without + // a need of this information, or that training task does not support + // uploading a Model as part of the pipeline. + // When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and + // the trained Model had been uploaded into Vertex AI, then the + // model_to_upload's resource [name][google.cloud.aiplatform.v1beta1.Model.name] is populated. The Model + // is always uploaded into the Project and Location in which this pipeline + // is. + Model model_to_upload = 7; + + // Optional. The ID to use for the uploaded Model, which will become the final + // component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + string model_id = 22 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. When specify this field, the `model_to_upload` will not be uploaded as a + // new model, instead, it will become a new version of this `parent_model`. + string parent_model = 21 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The detailed state of the pipeline. + PipelineState state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or + // `PIPELINE_STATE_CANCELLED`. + google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline was created. + google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline for the first time entered the + // `PIPELINE_STATE_RUNNING` state. + google.protobuf.Timestamp start_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline entered any of the following states: + // `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, + // `PIPELINE_STATE_CANCELLED`. + google.protobuf.Timestamp end_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the TrainingPipeline was most recently updated. + google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The labels with user-defined metadata to organize TrainingPipelines. + // + // 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 = 15; + + // Customer-managed encryption key spec for a TrainingPipeline. If set, this + // TrainingPipeline will be secured by this key. + // + // Note: Model trained by this TrainingPipeline is also secured by this key if + // [model_to_upload][google.cloud.aiplatform.v1beta1.TrainingPipeline.encryption_spec] is not set separately. + EncryptionSpec encryption_spec = 18; +} + +// Specifies Vertex AI owned input data to be used for training, and +// possibly evaluating, the Model. +message InputDataConfig { + // The instructions how the input data should be split between the + // training, validation and test sets. + // If no split type is provided, the [fraction_split][google.cloud.aiplatform.v1beta1.InputDataConfig.fraction_split] is used by default. + oneof split { + // Split based on fractions defining the size of each set. + FractionSplit fraction_split = 2; + + // Split based on the provided filters for each set. + FilterSplit filter_split = 3; + + // Supported only for tabular Datasets. + // + // Split based on a predefined key. + PredefinedSplit predefined_split = 4; + + // Supported only for tabular Datasets. + // + // Split based on the timestamp of the input data pieces. + TimestampSplit timestamp_split = 5; + + // Supported only for tabular Datasets. + // + // Split based on the distribution of the specified column. + StratifiedSplit stratified_split = 12; + } + + // Only applicable to Custom and Hyperparameter Tuning TrainingPipelines. + // + // The destination of the training data to be written to. + // + // Supported destination file formats: + // * For non-tabular data: "jsonl". + // * For tabular data: "csv" and "bigquery". + // + // The following Vertex AI environment variables are passed to containers + // or python modules of the training task when this field is set: + // + // * AIP_DATA_FORMAT : Exported data format. + // * AIP_TRAINING_DATA_URI : Sharded exported training data uris. + // * AIP_VALIDATION_DATA_URI : Sharded exported validation data uris. + // * AIP_TEST_DATA_URI : Sharded exported test data uris. + oneof destination { + // The Cloud Storage location where the training data is to be + // written to. In the given directory a new directory is created with + // name: + // `dataset---` + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // All training input data is written into that directory. + // + // The Vertex AI environment variables representing Cloud Storage + // data URIs are represented in the Cloud Storage wildcard + // format to support sharded data. e.g.: "gs://.../training-*.jsonl" + // + // * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data + // * AIP_TRAINING_DATA_URI = + // "gcs_destination/dataset---
google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; - // Optional. A unique id used to identify the request. If the server - // receives two [UpdateClusterRequest][google.cloud.dataproc.v1.UpdateClusterRequest] requests with the same - // id, then the second request will be ignored and the + // Optional. A unique ID used to identify the request. If the server + // receives two + // [UpdateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s + // with the same id, then the second request will be ignored and the // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the // backend is returned. // // It is recommended to always set this value to a // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). // - // The id must contain only letters (a-z, A-Z), numbers (0-9), + // The ID must contain only letters (a-z, A-Z), numbers (0-9), // underscores (_), and hyphens (-). The maximum length is 40 characters. string request_id = 7 [(google.api.field_behavior) = OPTIONAL]; } +// A request to stop a cluster. +message StopClusterRequest { + // Required. The ID of the Google Cloud Platform project the + // cluster belongs to. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Dataproc region in which to handle the request. + string region = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster name. + string cluster_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Specifying the `cluster_uuid` means the RPC will fail + // (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique ID used to identify the request. If the server + // receives two + // [StopClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s + // with the same id, then the second request will be ignored and the + // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the + // backend is returned. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The ID must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A request to start a cluster. +message StartClusterRequest { + // Required. The ID of the Google Cloud Platform project the + // cluster belongs to. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Dataproc region in which to handle the request. + string region = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The cluster name. + string cluster_name = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Specifying the `cluster_uuid` means the RPC will fail + // (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique ID used to identify the request. If the server + // receives two + // [StartClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s + // with the same id, then the second request will be ignored and the + // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the + // backend is returned. + // + // Recommendation: Set this value to a + // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). + // + // The ID must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), and hyphens (-). The maximum length is 40 characters. + string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; +} + // A request to delete a cluster. message DeleteClusterRequest { // Required. The ID of the Google Cloud Platform project that the cluster // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The cluster name. @@ -758,16 +1234,17 @@ message DeleteClusterRequest { // (with error NOT_FOUND) if cluster with specified UUID does not exist. string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A unique id used to identify the request. If the server - // receives two [DeleteClusterRequest][google.cloud.dataproc.v1.DeleteClusterRequest] requests with the same - // id, then the second request will be ignored and the + // Optional. A unique ID used to identify the request. If the server + // receives two + // [DeleteClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s + // with the same id, then the second request will be ignored and the // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the // backend is returned. // // It is recommended to always set this value to a // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). // - // The id must contain only letters (a-z, A-Z), numbers (0-9), + // The ID must contain only letters (a-z, A-Z), numbers (0-9), // underscores (_), and hyphens (-). The maximum length is 40 characters. string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; } @@ -778,7 +1255,7 @@ message GetClusterRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The cluster name. @@ -791,7 +1268,7 @@ message ListClustersRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 4 [(google.api.field_behavior) = REQUIRED]; // Optional. A filter constraining the clusters to list. Filters are @@ -839,7 +1316,7 @@ message DiagnoseClusterRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The cluster name. @@ -853,3 +1330,30 @@ message DiagnoseClusterResults { // diagnostics. string output_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } + +// Reservation Affinity for consuming Zonal reservation. +message ReservationAffinity { + // Indicates whether to consume capacity from an reservation or not. + enum Type { + TYPE_UNSPECIFIED = 0; + + // Do not consume from any allocated capacity. + NO_RESERVATION = 1; + + // Consume any reservation available. + ANY_RESERVATION = 2; + + // Must consume from a specific reservation. Must specify key value fields + // for specifying the reservations. + SPECIFIC_RESERVATION = 3; + } + + // Optional. Type of reservation to consume + Type consume_reservation_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Corresponds to the label key of reservation resource. + string key = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Corresponds to the label values of reservation resource. + repeated string values = 3 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/google-cloud/protos/google/cloud/dataproc/v1/dataproc.yaml b/google-cloud/protos/google/cloud/dataproc/v1/dataproc.yaml deleted file mode 100644 index e6d36de2..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1/dataproc.yaml +++ /dev/null @@ -1,40 +0,0 @@ -type: google.api.Service -config_version: 2 -name: dataproc.googleapis.com -title: Google Cloud Dataproc API - -apis: -- name: google.cloud.dataproc.v1.ClusterController -- name: google.cloud.dataproc.v1.JobController -- name: google.cloud.dataproc.v1.WorkflowTemplateService - -types: -- name: google.cloud.dataproc.v1.DiagnoseClusterResults -- name: google.cloud.dataproc.v1.ClusterOperationMetadata -- name: google.cloud.dataproc.v1.WorkflowMetadata - -documentation: - summary: 'Manages Hadoop-based clusters and jobs on Google Cloud Platform.' - -http: - rules: - - selector: google.longrunning.Operations.ListOperations - get: '/v1/{name=projects/*/regions/*/operations}' - - - selector: google.longrunning.Operations.GetOperation - get: '/v1/{name=projects/*/regions/*/operations/*}' - - - selector: google.longrunning.Operations.DeleteOperation - delete: '/v1/{name=projects/*/regions/*/operations/*}' - - - selector: google.longrunning.Operations.CancelOperation - post: '/v1/{name=projects/*/regions/*/operations/*}:cancel' - - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - diff --git a/google-cloud/protos/google/cloud/dataproc/v1/dataproc_gapic.yaml b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_gapic.yaml index 87097283..bc52ee42 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/dataproc_gapic.yaml +++ b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_gapic.yaml @@ -1,629 +1,43 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 -# The settings of generated code in a specific language. -language_settings: - java: - package_name: com.google.cloud.dataproc.v1 - python: - package_name: google.cloud.dataproc_v1.gapic - go: - package_name: cloud.google.com/go/dataproc/apiv1 - csharp: - package_name: Google.Cloud.Dataproc.V1 - ruby: - package_name: Google::Cloud::Dataproc::V1 - php: - package_name: Google\Cloud\Dataproc\V1 - nodejs: - package_name: dataproc.v1 - domain_layer_location: google-cloud -# A list of API interface configurations. +config_schema_version: 2.0.0 interfaces: -# The fully qualified name of the API interface. - name: google.cloud.dataproc.v1.ClusterController - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: [] - # Definition for smoke test. - smoke_test: - method: ListClusters - init_fields: - - project_id=$PROJECT_ID - - region="global" - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - INTERNAL - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 10000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 10000 - total_timeout_millis: 300000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. methods: - name: CreateCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster - required_fields: - - project_id - - region - - cluster - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 long_running: - return_type: google.cloud.dataproc.v1.Cluster - metadata_type: google.cloud.dataproc.v1.ClusterOperationMetadata - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 900000 - name: UpdateCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - - cluster - - update_mask - required_fields: - - project_id - - region - - cluster_name - - cluster - - update_mask - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 long_running: - return_type: google.cloud.dataproc.v1.Cluster - metadata_type: google.cloud.dataproc.v1.ClusterOperationMetadata - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 900000 - name: DeleteCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1.ClusterOperationMetadata - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 900000 - - name: GetCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 60000 - - name: ListClusters - flattening: - groups: - - parameters: - - project_id - - region - - parameters: - - project_id - - region - - filter - required_fields: - - project_id - - region - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: clusters - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 60000 - name: DiagnoseCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 60000 long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1.DiagnoseClusterResults - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 30000 - # The fully qualified name of the API interface. -- name: google.cloud.dataproc.v1.JobController - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: [] - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - INTERNAL - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 30000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 30000 - total_timeout_millis: 900000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: SubmitJob - flattening: - groups: - - parameters: - - project_id - - region - - job - required_fields: - - project_id - - region - - job - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - - name: GetJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: ListJobs - flattening: - groups: - - parameters: - - project_id - - region - - parameters: - - project_id - - region - - filter - required_fields: - - project_id - - region - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: jobs - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: UpdateJob - required_fields: - - project_id - - region - - job_id - - job - - update_mask - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - - name: CancelJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: DeleteJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - # The fully qualified name of the API interface. - name: google.cloud.dataproc.v1.WorkflowTemplateService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/regions/{region} - entity_name: region - - name_pattern: projects/{project}/regions/{region}/workflowTemplates/{workflow_template} - entity_name: workflow_template - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - INTERNAL - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. methods: - - name: CreateWorkflowTemplate - flattening: - groups: - - parameters: - - parent - - template - required_fields: - - parent - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 30000 - - name: GetWorkflowTemplate - # params. - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 - name: InstantiateWorkflowTemplate - flattening: - groups: - - parameters: - - name - - parameters: - - name - - parameters - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1.WorkflowMetadata - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 43200000 - name: InstantiateInlineWorkflowTemplate - flattening: - groups: - - parameters: - - parent - - template - required_fields: - - parent - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1.WorkflowMetadata - implements_delete: false - implements_cancel: false initial_poll_delay_millis: 1000 poll_delay_multiplier: 2 max_poll_delay_millis: 10000 total_poll_timeout_millis: 43200000 - - name: UpdateWorkflowTemplate - flattening: - groups: - - parameters: - - template - required_fields: - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - template.name: workflow_template - timeout_millis: 60000 - - name: ListWorkflowTemplates - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: templates - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 - - name: DeleteWorkflowTemplate - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 -resource_name_generation: -- message_name: WorkflowTemplate - field_entity_map: - name: workflow_template -- message_name: CreateWorkflowTemplateRequest - field_entity_map: - parent: region -- message_name: GetWorkflowTemplateRequest - field_entity_map: - name: workflow_template -- message_name: InstantiateWorkflowTemplateRequest - field_entity_map: - name: workflow_template -- message_name: InstantiateInlineWorkflowTemplateRequest - field_entity_map: - parent: region -- message_name: ListWorkflowTemplatesRequest - field_entity_map: - parent: region -- message_name: DeleteWorkflowTemplateRequest - field_entity_map: - name: workflow_template diff --git a/google-cloud/protos/google/cloud/dataproc/v1/dataproc_grpc_service_config.json b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_grpc_service_config.json new file mode 100755 index 00000000..411b7bab --- /dev/null +++ b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_grpc_service_config.json @@ -0,0 +1,207 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.dataproc.v1.AutoscalingPolicyService", + "method": "CreateAutoscalingPolicy" + }, + { + "service": "google.cloud.dataproc.v1.AutoscalingPolicyService", + "method": "DeleteAutoscalingPolicy" + } + ], + "timeout": "600s" + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.AutoscalingPolicyService", + "method": "UpdateAutoscalingPolicy" + }, + { + "service": "google.cloud.dataproc.v1.AutoscalingPolicyService", + "method": "GetAutoscalingPolicy" + }, + { + "service": "google.cloud.dataproc.v1.AutoscalingPolicyService", + "method": "ListAutoscalingPolicies" + } + ], + "timeout": "600s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "GetJob" + }, + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "ListJobs" + }, + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "CancelJob" + } + ], + "timeout": "900s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "DEADLINE_EXCEEDED", + "INTERNAL", + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "CreateWorkflowTemplate" + }, + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "InstantiateWorkflowTemplate" + }, + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "InstantiateInlineWorkflowTemplate" + }, + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "UpdateWorkflowTemplate" + }, + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "DeleteWorkflowTemplate" + } + ], + "timeout": "600s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "GetWorkflowTemplate" + }, + { + "service": "google.cloud.dataproc.v1.WorkflowTemplateService", + "method": "ListWorkflowTemplates" + } + ], + "timeout": "600s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "DEADLINE_EXCEEDED", + "INTERNAL", + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "CreateCluster" + }, + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "UpdateCluster" + }, + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "DeleteCluster" + }, + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "DiagnoseCluster" + } + ], + "timeout": "300s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "GetCluster" + }, + { + "service": "google.cloud.dataproc.v1.ClusterController", + "method": "ListClusters" + } + ], + "timeout": "300s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "INTERNAL", + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "SubmitJob" + }, + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "SubmitJobAsOperation" + }, + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "UpdateJob" + }, + { + "service": "google.cloud.dataproc.v1.JobController", + "method": "DeleteJob" + } + ], + "timeout": "900s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + } + ] +} diff --git a/google-cloud/protos/google/cloud/dataproc/v1/dataproc_v1.yaml b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_v1.yaml index c1646e8c..b4762701 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/dataproc_v1.yaml +++ b/google-cloud/protos/google/cloud/dataproc/v1/dataproc_v1.yaml @@ -1,17 +1,20 @@ type: google.api.Service -config_version: 2 +config_version: 3 name: dataproc.googleapis.com title: Cloud Dataproc API apis: - name: google.cloud.dataproc.v1.AutoscalingPolicyService +- name: google.cloud.dataproc.v1.BatchController - name: google.cloud.dataproc.v1.ClusterController - name: google.cloud.dataproc.v1.JobController - name: google.cloud.dataproc.v1.WorkflowTemplateService types: +- name: google.cloud.dataproc.v1.BatchOperationMetadata - name: google.cloud.dataproc.v1.ClusterOperationMetadata - name: google.cloud.dataproc.v1.DiagnoseClusterResults +- name: google.cloud.dataproc.v1.JobMetadata - name: google.cloud.dataproc.v1.WorkflowMetadata documentation: @@ -27,14 +30,14 @@ documentation: Sets the access control policy on the specified resource. Replaces any existing policy. - Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and - PERMISSION_DENIED + 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. + 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 @@ -105,6 +108,10 @@ authentication: oauth: canonical_scopes: |- https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.dataproc.v1.BatchController.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform - selector: 'google.cloud.dataproc.v1.ClusterController.*' oauth: canonical_scopes: |- diff --git a/google-cloud/protos/google/cloud/dataproc/v1/jobs.proto b/google-cloud/protos/google/cloud/dataproc/v1/jobs.proto index eeba155d..823a12cf 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/jobs.proto +++ b/google-cloud/protos/google/cloud/dataproc/v1/jobs.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// 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. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -20,6 +19,7 @@ package google.cloud.dataproc.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; +import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; @@ -43,6 +43,19 @@ service JobController { option (google.api.method_signature) = "project_id,region,job"; } + // Submits job to a cluster. + rpc SubmitJobAsOperation(SubmitJobRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}/regions/{region}/jobs:submitAsOperation" + body: "*" + }; + option (google.api.method_signature) = "project_id, region, job"; + option (google.longrunning.operation_info) = { + response_type: "Job" + metadata_type: "JobMetadata" + }; + } + // Gets the resource representation for a job in a project. rpc GetJob(GetJobRequest) returns (Job) { option (google.api.http) = { @@ -70,9 +83,9 @@ service JobController { // Starts a job cancellation request. To access the job resource // after cancellation, call - // [regions/{region}/jobs.list](/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) + // [regions/{region}/jobs.list](https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) // or - // [regions/{region}/jobs.get](/dataproc/docs/reference/rest/v1/projects.regions.jobs/get). + // [regions/{region}/jobs.get](https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get). rpc CancelJob(CancelJobRequest) returns (Job) { option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}:cancel" @@ -94,7 +107,7 @@ service JobController { // The runtime logging config of the job. message LoggingConfig { // The Log4j level for job execution. When running an - // [Apache Hive](http://hive.apache.org/) job, Cloud + // [Apache Hive](https://hive.apache.org/) job, Cloud // Dataproc configures the Hive client to an equivalent verbosity level. enum Level { // Level is unspecified. Use default level for log4j. @@ -132,7 +145,7 @@ message LoggingConfig { map driver_log_levels = 2; } -// A Cloud Dataproc job for running +// A Dataproc job for running // [Apache Hadoop // MapReduce](https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) // jobs on [Apache Hadoop @@ -176,7 +189,7 @@ message HadoopJob { repeated string archive_uris = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure Hadoop. - // Properties that conflict with values set by the Cloud Dataproc API may be + // Properties that conflict with values set by the Dataproc API may be // overwritten. Can include properties set in /etc/hadoop/conf/*-site and // classes in user code. map properties = 7 [(google.api.field_behavior) = OPTIONAL]; @@ -185,7 +198,7 @@ message HadoopJob { LoggingConfig logging_config = 8 [(google.api.field_behavior) = OPTIONAL]; } -// A Cloud Dataproc job for running [Apache Spark](http://spark.apache.org/) +// A Dataproc job for running [Apache Spark](http://spark.apache.org/) // applications on YARN. message SparkJob { // Required. The specification of the main method to call to drive the job. @@ -211,17 +224,17 @@ message SparkJob { // Spark driver and tasks. repeated string jar_file_uris = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. HCFS URIs of files to be copied to the working directory of - // Spark drivers and distributed tasks. Useful for naively parallel tasks. + // Optional. HCFS URIs of files to be placed in the working directory of + // each executor. Useful for naively parallel tasks. repeated string file_uris = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. HCFS URIs of archives to be extracted in the working directory - // of Spark drivers and tasks. Supported file types: + // Optional. HCFS URIs of archives to be extracted into the working directory + // of each executor. Supported file types: // .jar, .tar, .tar.gz, .tgz, and .zip. repeated string archive_uris = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure Spark. - // Properties that conflict with values set by the Cloud Dataproc API may be + // Properties that conflict with values set by the Dataproc API may be // overwritten. Can include properties set in // /etc/spark/conf/spark-defaults.conf and classes in user code. map properties = 7 [(google.api.field_behavior) = OPTIONAL]; @@ -230,7 +243,7 @@ message SparkJob { LoggingConfig logging_config = 8 [(google.api.field_behavior) = OPTIONAL]; } -// A Cloud Dataproc job for running +// A Dataproc job for running // [Apache // PySpark](https://spark.apache.org/docs/0.9.0/python-programming-guide.html) // applications on YARN. @@ -252,16 +265,17 @@ message PySparkJob { // Python driver and tasks. repeated string jar_file_uris = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. HCFS URIs of files to be copied to the working directory of - // Python drivers and distributed tasks. Useful for naively parallel tasks. + // Optional. HCFS URIs of files to be placed in the working directory of + // each executor. Useful for naively parallel tasks. repeated string file_uris = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. HCFS URIs of archives to be extracted in the working directory of + // Optional. HCFS URIs of archives to be extracted into the working directory + // of each executor. Supported file types: // .jar, .tar, .tar.gz, .tgz, and .zip. repeated string archive_uris = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure PySpark. - // Properties that conflict with values set by the Cloud Dataproc API may be + // Properties that conflict with values set by the Dataproc API may be // overwritten. Can include properties set in // /etc/spark/conf/spark-defaults.conf and classes in user code. map properties = 7 [(google.api.field_behavior) = OPTIONAL]; @@ -272,9 +286,9 @@ message PySparkJob { // A list of queries to run on a cluster. message QueryList { - // Required. The queries to execute. You do not need to terminate a query - // with a semicolon. Multiple queries can be specified in one string - // by separating each with a semicolon. Here is an example of an Cloud + // Required. The queries to execute. You do not need to end a query expression + // with a semicolon. Multiple queries can be specified in one + // string by separating each with a semicolon. Here is an example of a // Dataproc API snippet that uses a QueryList to specify a HiveJob: // // "hiveJob": { @@ -289,7 +303,7 @@ message QueryList { repeated string queries = 1 [(google.api.field_behavior) = REQUIRED]; } -// A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/) +// A Dataproc job for running [Apache Hive](https://hive.apache.org/) // queries on YARN. message HiveJob { // Required. The sequence of Hive queries to execute, specified as either @@ -312,7 +326,7 @@ message HiveJob { map script_variables = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names and values, used to configure Hive. - // Properties that conflict with values set by the Cloud Dataproc API may be + // Properties that conflict with values set by the Dataproc API may be // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, // /etc/hive/conf/hive-site.xml, and classes in user code. map properties = 5 [(google.api.field_behavior) = OPTIONAL]; @@ -323,7 +337,7 @@ message HiveJob { repeated string jar_file_uris = 6 [(google.api.field_behavior) = OPTIONAL]; } -// A Cloud Dataproc job for running [Apache Spark +// A Dataproc job for running [Apache Spark // SQL](http://spark.apache.org/sql/) queries. message SparkSqlJob { // Required. The sequence of Spark SQL queries to execute, specified as @@ -342,7 +356,7 @@ message SparkSqlJob { // Optional. A mapping of property names to values, used to configure // Spark SQL's SparkConf. Properties that conflict with values set by the - // Cloud Dataproc API may be overwritten. + // Dataproc API may be overwritten. map properties = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. @@ -352,7 +366,7 @@ message SparkSqlJob { LoggingConfig logging_config = 6 [(google.api.field_behavior) = OPTIONAL]; } -// A Cloud Dataproc job for running [Apache Pig](https://pig.apache.org/) +// A Dataproc job for running [Apache Pig](https://pig.apache.org/) // queries on YARN. message PigJob { // Required. The sequence of Pig queries to execute, specified as an HCFS @@ -375,7 +389,7 @@ message PigJob { map script_variables = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. A mapping of property names to values, used to configure Pig. - // Properties that conflict with values set by the Cloud Dataproc API may be + // Properties that conflict with values set by the Dataproc API may be // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, // /etc/pig/conf/pig.properties, and classes in user code. map properties = 5 [(google.api.field_behavior) = OPTIONAL]; @@ -388,17 +402,89 @@ message PigJob { LoggingConfig logging_config = 7 [(google.api.field_behavior) = OPTIONAL]; } -// Cloud Dataproc job config. +// A Dataproc job for running +// [Apache SparkR](https://spark.apache.org/docs/latest/sparkr.html) +// applications on YARN. +message SparkRJob { + // Required. The HCFS URI of the main R file to use as the driver. + // Must be a .R file. + string main_r_file_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The arguments to pass to the driver. Do not include arguments, + // such as `--conf`, that can be set as job properties, since a collision may + // occur that causes an incorrect job submission. + repeated string args = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. HCFS URIs of files to be placed in the working directory of + // each executor. Useful for naively parallel tasks. + repeated string file_uris = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. HCFS URIs of archives to be extracted into the working directory + // of each executor. Supported file types: + // .jar, .tar, .tar.gz, .tgz, and .zip. + repeated string archive_uris = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A mapping of property names to values, used to configure SparkR. + // Properties that conflict with values set by the Dataproc API may be + // overwritten. Can include properties set in + // /etc/spark/conf/spark-defaults.conf and classes in user code. + map properties = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The runtime log config for job execution. + LoggingConfig logging_config = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// A Dataproc job for running [Presto](https://prestosql.io/) queries. +// **IMPORTANT**: The [Dataproc Presto Optional +// Component](https://cloud.google.com/dataproc/docs/concepts/components/presto) +// must be enabled when the cluster is created to submit a Presto job to the +// cluster. +message PrestoJob { + // Required. The sequence of Presto queries to execute, specified as + // either an HCFS file URI or as a list of queries. + oneof queries { + // The HCFS URI of the script that contains SQL queries. + string query_file_uri = 1; + + // A list of queries. + QueryList query_list = 2; + } + + // Optional. Whether to continue executing queries if a query fails. + // The default value is `false`. Setting to `true` can be useful when + // executing independent parallel queries. + bool continue_on_failure = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The format in which query output will be displayed. See the + // Presto documentation for supported output formats + string output_format = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Presto client tags to attach to this query + repeated string client_tags = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A mapping of property names to values. Used to set Presto + // [session properties](https://prestodb.io/docs/current/sql/set-session.html) + // Equivalent to using the --session flag in the Presto CLI + map properties = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The runtime log config for job execution. + LoggingConfig logging_config = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Dataproc job config. message JobPlacement { // Required. The name of the cluster where the job will be submitted. string cluster_name = 1 [(google.api.field_behavior) = REQUIRED]; - // Output only. A cluster UUID generated by the Cloud Dataproc service when + // Output only. A cluster UUID generated by the Dataproc service when // the job is submitted. string cluster_uuid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Cluster labels to identify a cluster where the job will be submitted. + map cluster_labels = 3 [(google.api.field_behavior) = OPTIONAL]; } -// Cloud Dataproc job status. +// Dataproc job status. message JobStatus { // The job state. enum State { @@ -456,7 +542,7 @@ message JobStatus { QUEUED = 2; // The agent-reported status is out of date, which may be caused by a - // loss of communication between the agent and Cloud Dataproc. If the + // loss of communication between the agent and Dataproc. If the // agent does not send a timely update, the job will fail. // // Applies to RUNNING state. @@ -483,9 +569,9 @@ message JobStatus { // Encapsulates the full scoping used to reference a job. message JobReference { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + // Optional. The ID of the Google Cloud Platform project that the job belongs to. If + // specified, must match the request project ID. + string project_id = 1 [(google.api.field_behavior) = OPTIONAL]; // Optional. The job ID, which must be unique within the project. // @@ -549,7 +635,7 @@ message YarnApplication { string tracking_url = 4 [(google.api.field_behavior) = OPTIONAL]; } -// A Cloud Dataproc job resource. +// A Dataproc job resource. message Job { // Optional. The fully qualified reference to the job, which can be used to // obtain the equivalent REST path of the job resource. If this property @@ -563,23 +649,29 @@ message Job { // Required. The application/framework-specific portion of the job. oneof type_job { - // Job is a Hadoop job. - HadoopJob hadoop_job = 3; + // Optional. Job is a Hadoop job. + HadoopJob hadoop_job = 3 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Spark job. - SparkJob spark_job = 4; + // Optional. Job is a Spark job. + SparkJob spark_job = 4 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Pyspark job. - PySparkJob pyspark_job = 5; + // Optional. Job is a PySpark job. + PySparkJob pyspark_job = 5 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Hive job. - HiveJob hive_job = 6; + // Optional. Job is a Hive job. + HiveJob hive_job = 6 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Pig job. - PigJob pig_job = 7; + // Optional. Job is a Pig job. + PigJob pig_job = 7 [(google.api.field_behavior) = OPTIONAL]; - // Job is a SparkSql job. - SparkSqlJob spark_sql_job = 12; + // Optional. Job is a SparkR job. + SparkRJob spark_r_job = 21 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Job is a SparkSql job. + SparkSqlJob spark_sql_job = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Job is a Presto job. + PrestoJob presto_job = 23 [(google.api.field_behavior) = OPTIONAL]; } // Output only. The job status. Additional application-specific @@ -621,19 +713,42 @@ message Job { // over time. This is in contrast to a user-settable reference.job_id that // may be reused over time. string job_uuid = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Indicates whether the job is completed. If the value is `false`, + // the job is still in progress. If `true`, the job is completed, and + // `status.state` field will indicate if it was successful, failed, + // or cancelled. + bool done = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Job scheduling options. message JobScheduling { // Optional. Maximum number of times per hour a driver may be restarted as - // a result of driver terminating with non-zero code before job is + // a result of driver exiting with non-zero code before job is // reported failed. // // A job may be reported as thrashing if driver exits with non-zero code // 4 times within 10 minute window. // // Maximum value is 10. + // + // **Note:** Currently, this restartable job option is + // not supported in Dataproc + // [workflow + // template](https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template) + // jobs. int32 max_failures_per_hour = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Maximum number of times in total a driver may be restarted as a result of + // driver exiting with non-zero code before job is reported failed. + // Maximum value is 240. + // + // **Note:** Currently, this restartable job option is + // not supported in Dataproc + // [workflow + // template](https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template) + // jobs. + int32 max_failures_total = 2 [(google.api.field_behavior) = OPTIONAL]; } // A request to submit a job. @@ -642,15 +757,16 @@ message SubmitJobRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The job resource. Job job = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. A unique id used to identify the request. If the server - // receives two [SubmitJobRequest][google.cloud.dataproc.v1.SubmitJobRequest] requests with the same - // id, then the second request will be ignored and the + // receives two + // [SubmitJobRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s + // with the same id, then the second request will be ignored and the // first [Job][google.cloud.dataproc.v1.Job] created and stored in the backend // is returned. // @@ -662,13 +778,28 @@ message SubmitJobRequest { string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; } +// Job Operation metadata. +message JobMetadata { + // Output only. The job id. + string job_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Most recent job status. + JobStatus status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Operation type. + string operation_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Job submission time. + google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + // A request to get the resource representation for a job in a project. message GetJobRequest { // Required. The ID of the Google Cloud Platform project that the job // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The job ID. @@ -694,7 +825,7 @@ message ListJobsRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 6 [(google.api.field_behavior) = REQUIRED]; // Optional. The number of results to return in each response. @@ -737,7 +868,7 @@ message UpdateJobRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The job ID. @@ -772,7 +903,7 @@ message CancelJobRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The job ID. @@ -785,7 +916,7 @@ message DeleteJobRequest { // belongs to. string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The Cloud Dataproc region in which to handle the request. + // Required. The Dataproc region in which to handle the request. string region = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The job ID. diff --git a/google-cloud/protos/google/cloud/dataproc/v1/operations.proto b/google-cloud/protos/google/cloud/dataproc/v1/operations.proto index 4af2a5f8..e12bd299 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/operations.proto +++ b/google-cloud/protos/google/cloud/dataproc/v1/operations.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// 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. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -19,13 +18,48 @@ package google.cloud.dataproc.v1; import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; -import "google/api/annotations.proto"; option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1;dataproc"; option java_multiple_files = true; option java_outer_classname = "OperationsProto"; option java_package = "com.google.cloud.dataproc.v1"; +// Metadata describing the Batch operation. +message BatchOperationMetadata { + // Operation type for Batch resources + enum BatchOperationType { + // Batch operation type is unknown. + BATCH_OPERATION_TYPE_UNSPECIFIED = 0; + + // Batch operation type. + BATCH = 1; + } + + // Name of the batch for the operation. + string batch = 1; + + // Batch UUID for the operation. + string batch_uuid = 2; + + // The time when the operation was created. + google.protobuf.Timestamp create_time = 3; + + // The time when the operation finished. + google.protobuf.Timestamp done_time = 4; + + // The operation type. + BatchOperationType operation_type = 6; + + // Short description of the operation. + string description = 7; + + // Labels associated with the operation. + map labels = 8; + + // Warnings encountered during operation execution. + repeated string warnings = 9; +} + // The status of the operation. message ClusterOperationStatus { // The operation state. diff --git a/google-cloud/protos/google/cloud/dataproc/v1/shared.proto b/google-cloud/protos/google/cloud/dataproc/v1/shared.proto index 74bd56a8..18796915 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/shared.proto +++ b/google-cloud/protos/google/cloud/dataproc/v1/shared.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// 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. @@ -11,33 +11,331 @@ // WITHOUT WARRANTIES OR CONDITIONS OF 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/field_behavior.proto"; option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1;dataproc"; option java_multiple_files = true; option java_outer_classname = "SharedProto"; option java_package = "com.google.cloud.dataproc.v1"; +// Runtime configuration for a workload. +message RuntimeConfig { + // Optional. Version of the batch runtime. + string version = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional custom container image for the job runtime environment. If + // not specified, a default container image will be used. + string container_image = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A mapping of property names to values, which are used to configure workload + // execution. + map properties = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Environment configuration for a workload. +message EnvironmentConfig { + // Optional. Execution configuration for a workload. + ExecutionConfig execution_config = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Peripherals configuration that workload has access to. + PeripheralsConfig peripherals_config = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Execution configuration for a workload. +message ExecutionConfig { + // Optional. Service account that used to execute workload. + string service_account = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Network configuration for workload execution. + oneof network { + // Optional. Network URI to connect workload to. + string network_uri = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Subnetwork URI to connect workload to. + string subnetwork_uri = 5 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. Tags used for network traffic control. + repeated string network_tags = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The Cloud KMS key to use for encryption. + string kms_key = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Spark History Server configuration for the workload. +message SparkHistoryServerConfig { + // Optional. Resource name of an existing Dataproc Cluster to act as a Spark History + // Server for the workload. + // + // Example: + // + // * `projects/[project_id]/regions/[region]/clusters/[cluster_name]` + string dataproc_cluster = 1 [ + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Auxiliary services configuration for a workload. +message PeripheralsConfig { + // Optional. Resource name of an existing Dataproc Metastore service. + // + // Example: + // + // * `projects/[project_id]/locations/[region]/services/[service_id]` + string metastore_service = 1 [ + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. The Spark History Server configuration for the workload. + SparkHistoryServerConfig spark_history_server_config = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Runtime information about workload execution. +message RuntimeInfo { + // Output only. Map of remote access endpoints (such as web interfaces and APIs) to their + // URIs. + map endpoints = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A URI pointing to the location of the stdout and stderr of the workload. + string output_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A URI pointing to the location of the diagnostics tarball. + string diagnostic_output_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The cluster's GKE config. +message GkeClusterConfig { + // Optional. A target GKE cluster to deploy to. It must be in the same project and + // region as the Dataproc cluster (the GKE cluster can be zonal or regional). + // Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' + string gke_cluster_target = 2 [ + (google.api.field_behavior) = OPTIONAL + ]; + + // Optional. GKE NodePools where workloads will be scheduled. At least one node pool + // must be assigned the 'default' role. Each role can be given to only a + // single NodePoolTarget. All NodePools must have the same location settings. + // If a nodePoolTarget is not specified, Dataproc constructs a default + // nodePoolTarget. + repeated GkeNodePoolTarget node_pool_target = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The configuration for running the Dataproc cluster on Kubernetes. +message KubernetesClusterConfig { + // Optional. A namespace within the Kubernetes cluster to deploy into. If this namespace + // does not exist, it is created. If it exists, Dataproc + // verifies that another Dataproc VirtualCluster is not installed + // into it. If not specified, the name of the Dataproc Cluster is used. + string kubernetes_namespace = 1 [(google.api.field_behavior) = OPTIONAL]; + + oneof config { + // Required. The configuration for running the Dataproc cluster on GKE. + GkeClusterConfig gke_cluster_config = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Optional. The software configuration for this Dataproc cluster running on Kubernetes. + KubernetesSoftwareConfig kubernetes_software_config = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The software configuration for this Dataproc cluster running on Kubernetes. +message KubernetesSoftwareConfig { + // The components that should be installed in this Dataproc cluster. The key + // must be a string from the KubernetesComponent enumeration. The value is + // the version of the software to be installed. + // At least one entry must be specified. + map component_version = 1; + + // The properties to set on daemon config files. + // + // Property keys are specified in `prefix:property` format, for example + // `spark:spark.kubernetes.container.image`. The following are supported + // prefixes and their mappings: + // + // * spark: `spark-defaults.conf` + // + // For more information, see [Cluster + // properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties). + map properties = 2; +} + +// GKE NodePools that Dataproc workloads run on. +message GkeNodePoolTarget { + // `Role` specifies whose tasks will run on the NodePool. The roles can be + // specific to workloads. Exactly one GkeNodePoolTarget within the + // VirtualCluster must have 'default' role, which is used to run all workloads + // that are not associated with a NodePool. + enum Role { + // Role is unspecified. + ROLE_UNSPECIFIED = 0; + + // Any roles that are not directly assigned to a NodePool run on the + // `default` role's NodePool. + DEFAULT = 1; + + // Run controllers and webhooks. + CONTROLLER = 2; + + // Run spark driver. + SPARK_DRIVER = 3; + + // Run spark executors. + SPARK_EXECUTOR = 4; + } + + // Required. The target GKE NodePool. + // Format: + // 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_pool}' + string node_pool = 1 [ + (google.api.field_behavior) = REQUIRED + ]; + + // Required. The types of role for a GKE NodePool + repeated Role roles = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The configuration for the GKE NodePool. + // + // If specified, Dataproc attempts to create a NodePool with the + // specified shape. If one with the same name already exists, it is + // verified against all specified fields. If a field differs, the + // virtual cluster creation will fail. + // + // If omitted, any NodePool with the specified name is used. If a + // NodePool with the specified name does not exist, Dataproc create a NodePool + // with default values. + GkeNodePoolConfig node_pool_config = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The configuration of a GKE NodePool used by a [Dataproc-on-GKE +// cluster](https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster). +message GkeNodePoolConfig { + // Parameters that describe cluster nodes. + message GkeNodeConfig { + // Optional. The name of a Compute Engine [machine + // type](https://cloud.google.com/compute/docs/machine-types). + string machine_type = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether the nodes are created as [preemptible VM + // instances](https://cloud.google.com/compute/docs/instances/preemptible). + bool preemptible = 10 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The number of local SSD disks to attach to the node, which is limited by + // the maximum number of disks allowable per zone (see [Adding Local + // SSDs](https://cloud.google.com/compute/docs/disks/local-ssd)). + int32 local_ssd_count = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of [hardware + // accelerators](https://cloud.google.com/compute/docs/gpus) to attach to + // each node. + repeated GkeNodePoolAcceleratorConfig accelerators = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. [Minimum CPU + // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + // to be used by this instance. The instance may be scheduled on the + // specified or a newer CPU platform. Specify the friendly names of CPU + // platforms, such as "Intel Haswell"` or Intel Sandy Bridge". + string min_cpu_platform = 13 [(google.api.field_behavior) = OPTIONAL]; + } + + // A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request + // for a NodePool. + message GkeNodePoolAcceleratorConfig { + // The number of accelerator cards exposed to an instance. + int64 accelerator_count = 1; + + // The accelerator type resource namename (see GPUs on Compute Engine). + string accelerator_type = 2; + } + + // GkeNodePoolAutoscaling contains information the cluster autoscaler needs to + // adjust the size of the node pool to the current cluster usage. + message GkeNodePoolAutoscalingConfig { + // The minimum number of nodes in the NodePool. Must be >= 0 and <= + // max_node_count. + int32 min_node_count = 2; + + // The maximum number of nodes in the NodePool. Must be >= min_node_count. + // **Note:** Quota must be sufficient to scale up the cluster. + int32 max_node_count = 3; + } + + // Optional. The node pool configuration. + GkeNodeConfig config = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The list of Compute Engine + // [zones](https://cloud.google.com/compute/docs/zones#available) where + // NodePool's nodes will be located. + // + // **Note:** Currently, only one zone may be specified. + // + // If a location is not specified during NodePool creation, Dataproc will + // choose a location. + repeated string locations = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The autoscaler configuration for this NodePool. The autoscaler is enabled + // only when a valid configuration is present. + GkeNodePoolAutoscalingConfig autoscaling = 4 [(google.api.field_behavior) = OPTIONAL]; +} + // Cluster components that can be activated. enum Component { - // Unspecified component. + // Unspecified component. Specifying this will cause Cluster creation to fail. COMPONENT_UNSPECIFIED = 0; - // The Anaconda python distribution. + // The Anaconda python distribution. The Anaconda component is not supported + // in the Dataproc + // 2.0 + // image. The 2.0 image is pre-installed with Miniconda. ANACONDA = 5; + // Docker + DOCKER = 13; + + // The Druid query engine. (alpha) + DRUID = 9; + + // Flink + FLINK = 14; + + // HBase. (beta) + HBASE = 11; + // The Hive Web HCatalog (the REST service for accessing HCatalog). HIVE_WEBHCAT = 3; // The Jupyter Notebook. JUPYTER = 1; + // The Presto query engine. + PRESTO = 6; + + // The Ranger service. + RANGER = 12; + + // The Solr service. + SOLR = 10; + // The Zeppelin notebook. ZEPPELIN = 4; + + // The Zookeeper service. + ZOOKEEPER = 8; +} + +// Actions in response to failure of a resource associated with a cluster. +enum FailureAction { + // When FailureAction is unspecified, failure action defaults to NO_ACTION. + FAILURE_ACTION_UNSPECIFIED = 0; + + // Take no action on failure to create a cluster resource. NO_ACTION is the + // default. + NO_ACTION = 1; + + // Delete the failed cluster resource. + DELETE = 2; } diff --git a/google-cloud/protos/google/cloud/dataproc/v1/workflow_templates.proto b/google-cloud/protos/google/cloud/dataproc/v1/workflow_templates.proto index 8976c42e..416ba26d 100644 --- a/google-cloud/protos/google/cloud/dataproc/v1/workflow_templates.proto +++ b/google-cloud/protos/google/cloud/dataproc/v1/workflow_templates.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// 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. @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -24,6 +23,7 @@ import "google/api/resource.proto"; import "google/cloud/dataproc/v1/clusters.proto"; import "google/cloud/dataproc/v1/jobs.proto"; import "google/longrunning/operations.proto"; +import "google/protobuf/duration.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; @@ -33,7 +33,7 @@ option java_outer_classname = "WorkflowTemplatesProto"; option java_package = "com.google.cloud.dataproc.v1"; // The API interface for managing Workflow Templates in the -// Cloud Dataproc API. +// Dataproc API. service WorkflowTemplateService { option (google.api.default_host) = "dataproc.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; @@ -78,9 +78,9 @@ service WorkflowTemplateService { // clusters to be deleted. // // The [Operation.metadata][google.longrunning.Operation.metadata] will be - // [WorkflowMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). + // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). // Also see [Using - // WorkflowMetadata](/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). + // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). // // On successful completion, // [Operation.response][google.longrunning.Operation.response] will be @@ -119,9 +119,9 @@ service WorkflowTemplateService { // clusters to be deleted. // // The [Operation.metadata][google.longrunning.Operation.metadata] will be - // [WorkflowMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). + // [WorkflowMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). // Also see [Using - // WorkflowMetadata](/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). + // WorkflowMetadata](https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). // // On successful completion, // [Operation.response][google.longrunning.Operation.response] will be @@ -179,7 +179,7 @@ service WorkflowTemplateService { } } -// A Cloud Dataproc workflow template resource. +// A Dataproc workflow template resource. message WorkflowTemplate { option (google.api.resource) = { type: "dataproc.googleapis.com/WorkflowTemplate" @@ -239,10 +239,22 @@ message WorkflowTemplate { // Required. The Directed Acyclic Graph of Jobs to submit. repeated OrderedJob jobs = 8 [(google.api.field_behavior) = REQUIRED]; - // Optional. emplate parameters whose values are substituted into the + // Optional. Template parameters whose values are substituted into the // template. Values for parameters must be provided when the template is // instantiated. repeated TemplateParameter parameters = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Timeout duration for the DAG of jobs, expressed in seconds (see + // [JSON representation of + // duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + // The timeout duration must be from 10 minutes ("600s") to 24 hours + // ("86400s"). The timer begins when the first job is submitted. If the + // workflow is running at the end of the timeout period, any remaining jobs + // are cancelled, the workflow is ended, and if the workflow was running on a + // [managed + // cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), + // the cluster is deleted. + google.protobuf.Duration dag_timeout = 10 [(google.api.field_behavior) = OPTIONAL]; } // Specifies workflow execution target. @@ -320,23 +332,29 @@ message OrderedJob { // Required. The job definition. oneof job_type { - // Job is a Hadoop job. - HadoopJob hadoop_job = 2; + // Optional. Job is a Hadoop job. + HadoopJob hadoop_job = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Job is a Spark job. + SparkJob spark_job = 3 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Spark job. - SparkJob spark_job = 3; + // Optional. Job is a PySpark job. + PySparkJob pyspark_job = 4 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Pyspark job. - PySparkJob pyspark_job = 4; + // Optional. Job is a Hive job. + HiveJob hive_job = 5 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Hive job. - HiveJob hive_job = 5; + // Optional. Job is a Pig job. + PigJob pig_job = 6 [(google.api.field_behavior) = OPTIONAL]; - // Job is a Pig job. - PigJob pig_job = 6; + // Optional. Job is a SparkR job. + SparkRJob spark_r_job = 11 [(google.api.field_behavior) = OPTIONAL]; - // Job is a SparkSql job. - SparkSqlJob spark_sql_job = 7; + // Optional. Job is a SparkSql job. + SparkSqlJob spark_sql_job = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Job is a Presto job. + PrestoJob presto_job = 12 [(google.api.field_behavior) = OPTIONAL]; } // Optional. The labels to associate with this job. @@ -458,7 +476,7 @@ message ValueValidation { repeated string values = 1 [(google.api.field_behavior) = REQUIRED]; } -// A Cloud Dataproc workflow template resource. +// A Dataproc workflow template resource. message WorkflowMetadata { // The operation state. enum State { @@ -517,6 +535,18 @@ message WorkflowMetadata { // Output only. The UUID of target cluster. string cluster_uuid = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timeout duration for the DAG of jobs, expressed in seconds (see + // [JSON representation of + // duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + google.protobuf.Duration dag_timeout = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DAG start time, only set for workflows with [dag_timeout][google.cloud.dataproc.v1.WorkflowMetadata.dag_timeout] when DAG + // begins. + google.protobuf.Timestamp dag_start_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. DAG end time, only set for workflows with [dag_timeout][google.cloud.dataproc.v1.WorkflowMetadata.dag_timeout] when DAG ends. + google.protobuf.Timestamp dag_end_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The cluster operation triggered by a workflow. @@ -582,7 +612,7 @@ message CreateWorkflowTemplateRequest { // Required. The resource name of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates,create`, the resource name of the + // * For `projects.regions.workflowTemplates.create`, the resource name of the // region has the following format: // `projects/{project_id}/regions/{region}` // @@ -665,7 +695,7 @@ message InstantiateWorkflowTemplateRequest { string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; // Optional. Map from parameter names to values that should be used for those - // parameters. Values may not exceed 100 characters. + // parameters. Values may not exceed 1000 characters. map parameters = 6 [(google.api.field_behavior) = OPTIONAL]; } @@ -708,12 +738,7 @@ message UpdateWorkflowTemplateRequest { // Required. The updated workflow template. // // The `template.version` field must match the current version. - WorkflowTemplate template = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; + WorkflowTemplate template = 1 [(google.api.field_behavior) = REQUIRED]; } // A request to list workflow templates in a project. diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/BUILD.bazel b/google-cloud/protos/google/cloud/dataproc/v1beta2/BUILD.bazel deleted file mode 100644 index 778a100f..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/BUILD.bazel +++ /dev/null @@ -1,145 +0,0 @@ -# This is an API workspace, having public visibility by default makes perfect sense. -package(default_visibility = ["//visibility:public"]) - -############################################################################## -# Common -############################################################################## -load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") - -proto_library( - name = "dataproc_proto", - srcs = [ - "autoscaling_policies.proto", - "clusters.proto", - "jobs.proto", - "operations.proto", - "shared.proto", - "workflow_templates.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 = "dataproc_proto_with_info", - deps = [ - ":dataproc_proto", - "//google/cloud:common_resources_proto", - ], -) - -############################################################################## -# Java -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "java_grpc_library", - "java_gapic_library", - "java_gapic_assembly_gradle_pkg", - "java_proto_library", - "java_gapic_test", -) - -java_proto_library( - name = "dataproc_java_proto", - deps = [":dataproc_proto"], -) - -java_grpc_library( - name = "dataproc_java_grpc", - srcs = [":dataproc_proto"], - deps = [":dataproc_java_proto"], -) - -java_gapic_library( - name = "dataproc_java_gapic", - src = ":dataproc_proto_with_info", - gapic_yaml = "dataproc_gapic.yaml", - service_yaml = "dataproc.yaml", - test_deps = [":dataproc_java_grpc"], - deps = [":dataproc_java_proto"], -) - -java_gapic_test( - name = "dataproc_java_gapic_test_suite", - test_classes = [ - "com.google.cloud.dataproc.v1beta2.ClusterControllerClientTest", - "com.google.cloud.dataproc.v1beta2.JobControllerClientTest", - "com.google.cloud.dataproc.v1beta2.WorkflowTemplateServiceClientTest", - ], - runtime_deps = [":dataproc_java_gapic_test"], -) - -# Opensource Packages -java_gapic_assembly_gradle_pkg( - name = "google-cloud-dataproc-v1beta2-java", - deps = [ - ":dataproc_java_gapic", - ":dataproc_java_grpc", - ":dataproc_java_proto", - ":dataproc_proto", - ], -) - -############################################################################## -# Go -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "go_proto_library", - "go_test", - "go_gapic_library", - "go_gapic_assembly_pkg", -) - -go_proto_library( - name = "dataproc_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2", - protos = [":dataproc_proto"], - deps = [ - "//google/api:annotations_go_proto", - "//google/longrunning:longrunning_go_proto", - ], -) - -go_gapic_library( - name = "dataproc_go_gapic", - src = ":dataproc_proto_with_info", - gapic_yaml = "dataproc_gapic.yaml", - importpath = "cloud.google.com/go/dataproc/apiv1beta2", - service_yaml = "dataproc.yaml", - deps = [ - ":dataproc_go_proto", - "//google/longrunning:longrunning_go_gapic", - "//google/longrunning:longrunning_go_proto", - "@com_google_cloud_go//longrunning:go_default_library", - ], -) - -go_test( - name = "dataproc_go_gapic_test", - srcs = [":dataproc_go_gapic_srcjar_test"], - embed = [":dataproc_go_gapic"], - importpath = "cloud.google.com/go/dataproc/apiv1beta2", -) - -# Opensource Packages -go_gapic_assembly_pkg( - name = "gapi-cloud-dataproc-v1beta2-go", - deps = [ - ":dataproc_go_gapic", - ":dataproc_go_gapic_srcjar-smoke-test.srcjar", - ":dataproc_go_gapic_srcjar-test.srcjar", - ":dataproc_go_proto", - ], -) diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/autoscaling_policies.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/autoscaling_policies.proto deleted file mode 100644 index 36d507c8..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/autoscaling_policies.proto +++ /dev/null @@ -1,351 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/protobuf/duration.proto"; -import "google/protobuf/empty.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "AutoscalingPoliciesProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// The API interface for managing autoscaling policies in the -// Google Cloud Dataproc API. -service AutoscalingPolicyService { - option (google.api.default_host) = "dataproc.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Creates new autoscaling policy. - rpc CreateAutoscalingPolicy(CreateAutoscalingPolicyRequest) returns (AutoscalingPolicy) { - option (google.api.http) = { - post: "/v1beta2/{parent=projects/*/locations/*}/autoscalingPolicies" - body: "policy" - additional_bindings { - post: "/v1beta2/{parent=projects/*/regions/*}/autoscalingPolicies" - body: "policy" - } - }; - option (google.api.method_signature) = "parent,policy"; - } - - // Updates (replaces) autoscaling policy. - // - // Disabled check for update_mask, because all updates will be full - // replacements. - rpc UpdateAutoscalingPolicy(UpdateAutoscalingPolicyRequest) returns (AutoscalingPolicy) { - option (google.api.http) = { - put: "/v1beta2/{policy.name=projects/*/locations/*/autoscalingPolicies/*}" - body: "policy" - additional_bindings { - put: "/v1beta2/{policy.name=projects/*/regions/*/autoscalingPolicies/*}" - body: "policy" - } - }; - option (google.api.method_signature) = "policy"; - } - - // Retrieves autoscaling policy. - rpc GetAutoscalingPolicy(GetAutoscalingPolicyRequest) returns (AutoscalingPolicy) { - option (google.api.http) = { - get: "/v1beta2/{name=projects/*/locations/*/autoscalingPolicies/*}" - additional_bindings { - get: "/v1beta2/{name=projects/*/regions/*/autoscalingPolicies/*}" - } - }; - option (google.api.method_signature) = "name"; - } - - // Lists autoscaling policies in the project. - rpc ListAutoscalingPolicies(ListAutoscalingPoliciesRequest) returns (ListAutoscalingPoliciesResponse) { - option (google.api.http) = { - get: "/v1beta2/{parent=projects/*/locations/*}/autoscalingPolicies" - additional_bindings { - get: "/v1beta2/{parent=projects/*/regions/*}/autoscalingPolicies" - } - }; - option (google.api.method_signature) = "parent"; - } - - // Deletes an autoscaling policy. It is an error to delete an autoscaling - // policy that is in use by one or more clusters. - rpc DeleteAutoscalingPolicy(DeleteAutoscalingPolicyRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1beta2/{name=projects/*/locations/*/autoscalingPolicies/*}" - additional_bindings { - delete: "/v1beta2/{name=projects/*/regions/*/autoscalingPolicies/*}" - } - }; - option (google.api.method_signature) = "name"; - } -} - -// Describes an autoscaling policy for Dataproc cluster autoscaler. -message AutoscalingPolicy { - option (google.api.resource) = { - type: "dataproc.googleapis.com/AutoscalingPolicy" - pattern: "projects/{project}/regions/{region}/autoscalingPolicies/{autoscaling_policy}" - pattern: "projects/{project}/locations/{location}/autoscalingPolicies/{autoscaling_policy}" - history: ORIGINALLY_SINGLE_PATTERN - }; - - // Required. The policy id. - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). Cannot begin or end with underscore - // or hyphen. Must consist of between 3 and 50 characters. - string id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Output only. The "resource name" of the autoscaling policy, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.autoscalingPolicies`, the resource name of the - // policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` - // - // * For `projects.locations.autoscalingPolicies`, the resource name of the - // policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` - string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Required. Autoscaling algorithm for policy. - oneof algorithm { - BasicAutoscalingAlgorithm basic_algorithm = 3; - } - - // Required. Describes how the autoscaler will operate for primary workers. - InstanceGroupAutoscalingPolicyConfig worker_config = 4 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Describes how the autoscaler will operate for secondary workers. - InstanceGroupAutoscalingPolicyConfig secondary_worker_config = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -// Basic algorithm for autoscaling. -message BasicAutoscalingAlgorithm { - // Required. YARN autoscaling configuration. - BasicYarnAutoscalingConfig yarn_config = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Duration between scaling events. A scaling period starts after - // the update operation from the previous event has completed. - // - // Bounds: [2m, 1d]. Default: 2m. - google.protobuf.Duration cooldown_period = 2 [(google.api.field_behavior) = OPTIONAL]; -} - -// Basic autoscaling configurations for YARN. -message BasicYarnAutoscalingConfig { - // Required. Timeout for YARN graceful decommissioning of Node Managers. - // Specifies the duration to wait for jobs to complete before forcefully - // removing workers (and potentially interrupting jobs). Only applicable to - // downscaling operations. - // - // Bounds: [0s, 1d]. - google.protobuf.Duration graceful_decommission_timeout = 5 [(google.api.field_behavior) = REQUIRED]; - - // Required. Fraction of average pending memory in the last cooldown period - // for which to add workers. A scale-up factor of 1.0 will result in scaling - // up so that there is no pending memory remaining after the update (more - // aggressive scaling). A scale-up factor closer to 0 will result in a smaller - // magnitude of scaling up (less aggressive scaling). - // - // Bounds: [0.0, 1.0]. - double scale_up_factor = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Fraction of average pending memory in the last cooldown period - // for which to remove workers. A scale-down factor of 1 will result in - // scaling down so that there is no available memory remaining after the - // update (more aggressive scaling). A scale-down factor of 0 disables - // removing workers, which can be beneficial for autoscaling a single job. - // - // Bounds: [0.0, 1.0]. - double scale_down_factor = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Minimum scale-up threshold as a fraction of total cluster size - // before scaling occurs. For example, in a 20-worker cluster, a threshold of - // 0.1 means the autoscaler must recommend at least a 2-worker scale-up for - // the cluster to scale. A threshold of 0 means the autoscaler will scale up - // on any recommended change. - // - // Bounds: [0.0, 1.0]. Default: 0.0. - double scale_up_min_worker_fraction = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Minimum scale-down threshold as a fraction of total cluster size - // before scaling occurs. For example, in a 20-worker cluster, a threshold of - // 0.1 means the autoscaler must recommend at least a 2 worker scale-down for - // the cluster to scale. A threshold of 0 means the autoscaler will scale down - // on any recommended change. - // - // Bounds: [0.0, 1.0]. Default: 0.0. - double scale_down_min_worker_fraction = 4 [(google.api.field_behavior) = OPTIONAL]; -} - -// Configuration for the size bounds of an instance group, including its -// proportional size to other groups. -message InstanceGroupAutoscalingPolicyConfig { - // Optional. Minimum number of instances for this group. - // - // Primary workers - Bounds: [2, max_instances]. Default: 2. - // Secondary workers - Bounds: [0, max_instances]. Default: 0. - int32 min_instances = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Maximum number of instances for this group. Required for primary - // workers. Note that by default, clusters will not use secondary workers. - // Required for secondary workers if the minimum secondary instances is set. - // - // Primary workers - Bounds: [min_instances, ). Required. - // Secondary workers - Bounds: [min_instances, ). Default: 0. - int32 max_instances = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Weight for the instance group, which is used to determine the - // fraction of total workers in the cluster from this instance group. - // For example, if primary workers have weight 2, and secondary workers have - // weight 1, the cluster will have approximately 2 primary workers for each - // secondary worker. - // - // The cluster may not reach the specified balance if constrained - // by min/max bounds or other autoscaling settings. For example, if - // `max_instances` for secondary workers is 0, then only primary workers will - // be added. The cluster can also be out of balance when created. - // - // If weight is not set on any instance group, the cluster will default to - // equal weight for all groups: the cluster will attempt to maintain an equal - // number of workers in each group within the configured size bounds for each - // group. If weight is set for one group only, the cluster will default to - // zero weight on the unset group. For example if weight is set only on - // primary workers, the cluster will use primary workers only and no - // secondary workers. - int32 weight = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// A request to create an autoscaling policy. -message CreateAutoscalingPolicyRequest { - // Required. The "resource name" of the region or location, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.autoscalingPolicies.create`, the resource name - // has the following format: - // `projects/{project_id}/regions/{region}` - // - // * For `projects.locations.autoscalingPolicies.create`, the resource name - // has the following format: - // `projects/{project_id}/locations/{location}` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "dataproc.googleapis.com/AutoscalingPolicy" - } - ]; - - // Required. The autoscaling policy to create. - AutoscalingPolicy policy = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// A request to fetch an autoscaling policy. -message GetAutoscalingPolicyRequest { - // Required. The "resource name" of the autoscaling policy, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.autoscalingPolicies.get`, the resource name - // of the policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` - // - // * For `projects.locations.autoscalingPolicies.get`, the resource name - // of the policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/AutoscalingPolicy" - } - ]; -} - -// A request to update an autoscaling policy. -message UpdateAutoscalingPolicyRequest { - // Required. The updated autoscaling policy. - AutoscalingPolicy policy = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/AutoscalingPolicy" - } - ]; -} - -// A request to delete an autoscaling policy. -// -// Autoscaling policies in use by one or more clusters will not be deleted. -message DeleteAutoscalingPolicyRequest { - // Required. The "resource name" of the autoscaling policy, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.autoscalingPolicies.delete`, the resource name - // of the policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` - // - // * For `projects.locations.autoscalingPolicies.delete`, the resource name - // of the policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/AutoscalingPolicy" - } - ]; -} - -// A request to list autoscaling policies in a project. -message ListAutoscalingPoliciesRequest { - // Required. The "resource name" of the region or location, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.autoscalingPolicies.list`, the resource name - // of the region has the following format: - // `projects/{project_id}/regions/{region}` - // - // * For `projects.locations.autoscalingPolicies.list`, the resource name - // of the location has the following format: - // `projects/{project_id}/locations/{location}` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "dataproc.googleapis.com/AutoscalingPolicy" - } - ]; - - // Optional. The maximum number of results to return in each response. - // Must be less than or equal to 1000. Defaults to 100. - int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The page token, returned by a previous call, to request the - // next page of results. - string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// A response to a request to list autoscaling policies in a project. -message ListAutoscalingPoliciesResponse { - // Output only. Autoscaling policies list. - repeated AutoscalingPolicy policies = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. This token is included in the response if there are more - // results to fetch. - string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/clusters.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/clusters.proto deleted file mode 100644 index 4b2ee649..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/clusters.proto +++ /dev/null @@ -1,936 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/cloud/dataproc/v1beta2/operations.proto"; -import "google/cloud/dataproc/v1beta2/shared.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/duration.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "ClustersProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// The ClusterControllerService provides methods to manage clusters -// of Compute Engine instances. -service ClusterController { - option (google.api.default_host) = "dataproc.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Creates a cluster in a project. The returned - // [Operation.metadata][google.longrunning.Operation.metadata] will be - // [ClusterOperationMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata). - rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1beta2/projects/{project_id}/regions/{region}/clusters" - body: "cluster" - }; - option (google.api.method_signature) = "project_id, region, cluster"; - option (google.longrunning.operation_info) = { - response_type: "Cluster" - metadata_type: "google.cloud.dataproc.v1beta2.ClusterOperationMetadata" - }; - } - - // Updates a cluster in a project. The returned - // [Operation.metadata][google.longrunning.Operation.metadata] will be - // [ClusterOperationMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata). - rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - patch: "/v1beta2/projects/{project_id}/regions/{region}/clusters/{cluster_name}" - body: "cluster" - }; - option (google.api.method_signature) = "project_id, region, cluster_name, cluster, update_mask"; - option (google.longrunning.operation_info) = { - response_type: "Cluster" - metadata_type: "google.cloud.dataproc.v1beta2.ClusterOperationMetadata" - }; - } - - // Deletes a cluster in a project. The returned - // [Operation.metadata][google.longrunning.Operation.metadata] will be - // [ClusterOperationMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata). - rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - delete: "/v1beta2/projects/{project_id}/regions/{region}/clusters/{cluster_name}" - }; - option (google.api.method_signature) = "project_id, region, cluster_name"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "google.cloud.dataproc.v1beta2.ClusterOperationMetadata" - }; - } - - // Gets the resource representation for a cluster in a project. - rpc GetCluster(GetClusterRequest) returns (Cluster) { - option (google.api.http) = { - get: "/v1beta2/projects/{project_id}/regions/{region}/clusters/{cluster_name}" - }; - option (google.api.method_signature) = "project_id, region, cluster_name"; - } - - // Lists all regions/{region}/clusters in a project. - rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { - option (google.api.http) = { - get: "/v1beta2/projects/{project_id}/regions/{region}/clusters" - }; - option (google.api.method_signature) = "project_id, region"; - option (google.api.method_signature) = "project_id, region, filter"; - } - - // Gets cluster diagnostic information. The returned - // [Operation.metadata][google.longrunning.Operation.metadata] will be - // [ClusterOperationMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#clusteroperationmetadata). - // After the operation completes, - // [Operation.response][google.longrunning.Operation.response] - // contains - // [Empty](google.protobuf.Empty). - rpc DiagnoseCluster(DiagnoseClusterRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1beta2/projects/{project_id}/regions/{region}/clusters/{cluster_name}:diagnose" - body: "*" - }; - option (google.api.method_signature) = "project_id, region, cluster_name"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "google.cloud.dataproc.v1beta2.ClusterOperationMetadata" - }; - } -} - -// Describes the identifying information, config, and status of -// a cluster of Compute Engine instances. -message Cluster { - // Required. The Google Cloud Platform project ID that the cluster belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster name. Cluster names within a project must be - // unique. Names of deleted clusters can be reused. - string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster config. Note that Cloud Dataproc may set - // default values, and values may change when clusters are updated. - ClusterConfig config = 3 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The labels to associate with this cluster. - // 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 cluster. - map labels = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. Cluster status. - ClusterStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The previous cluster status. - repeated ClusterStatus status_history = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc - // generates this value when it creates the cluster. - string cluster_uuid = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Contains cluster daemon metrics such as HDFS and YARN stats. - // - // **Beta Feature**: This report is available for testing purposes only. It - // may be changed before final release. - ClusterMetrics metrics = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// The cluster config. -message ClusterConfig { - // Optional. A Google Cloud Storage bucket used to stage job - // dependencies, config files, and job driver console output. - // If you do not specify a staging bucket, Cloud - // Dataproc will determine a Cloud Storage location (US, - // ASIA, or EU) for your cluster's staging bucket according to the Google - // Compute Engine zone where your cluster is deployed, and then create - // and manage this project-level, per-location bucket (see - // [Cloud Dataproc staging - // bucket](/dataproc/docs/concepts/configuring-clusters/staging-bucket)). - string config_bucket = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The shared Compute Engine config settings for - // all instances in a cluster. - GceClusterConfig gce_cluster_config = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine config settings for - // the master instance in a cluster. - InstanceGroupConfig master_config = 9 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine config settings for - // worker instances in a cluster. - InstanceGroupConfig worker_config = 10 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine config settings for - // additional worker instances in a cluster. - InstanceGroupConfig secondary_worker_config = 12 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The config settings for software inside the cluster. - SoftwareConfig software_config = 13 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The config setting for auto delete cluster schedule. - LifecycleConfig lifecycle_config = 14 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Commands to execute on each node after config is - // completed. By default, executables are run on master and all worker nodes. - // You can test a node's role metadata to run an executable on - // a master or worker node, as shown below using `curl` (you can also use - // `wget`): - // - // ROLE=$(curl -H Metadata-Flavor:Google - // http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role) - // if [[ "${ROLE}" == 'Master' ]]; then - // ... master specific actions ... - // else - // ... worker specific actions ... - // fi - repeated NodeInitializationAction initialization_actions = 11 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Encryption settings for the cluster. - EncryptionConfig encryption_config = 15 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Autoscaling config for the policy associated with the cluster. - // Cluster does not autoscale if this field is unset. - AutoscalingConfig autoscaling_config = 16 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Port/endpoint configuration for this cluster - EndpointConfig endpoint_config = 17 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Security related configuration. - SecurityConfig security_config = 18 [(google.api.field_behavior) = OPTIONAL]; -} - -// Endpoint config for this cluster -message EndpointConfig { - // Output only. The map of port descriptions to URLs. Will only be populated - // if enable_http_port_access is true. - map http_ports = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. If true, enable http access to specific ports on the cluster - // from external sources. Defaults to false. - bool enable_http_port_access = 2 [(google.api.field_behavior) = OPTIONAL]; -} - -// Autoscaling Policy config associated with the cluster. -message AutoscalingConfig { - // Optional. The autoscaling policy used by the cluster. - // - // Only resource names including projectid and location (region) are valid. - // Examples: - // - // * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` - // * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` - // - // Note that the policy must be in the same project and Cloud Dataproc region. - string policy_uri = 1 [(google.api.field_behavior) = OPTIONAL]; -} - -// Encryption settings for the cluster. -message EncryptionConfig { - // Optional. The Cloud KMS key name to use for PD disk encryption for all - // instances in the cluster. - string gce_pd_kms_key_name = 1 [(google.api.field_behavior) = OPTIONAL]; -} - -// Common config settings for resources of Compute Engine cluster -// instances, applicable to all instances in the cluster. -message GceClusterConfig { - // Optional. The zone where the Compute Engine cluster will be located. - // On a create request, it is required in the "global" region. If omitted - // in a non-global Cloud Dataproc region, the service will pick a zone in the - // corresponding Compute Engine region. On a get request, zone will always be - // present. - // - // A full URL, partial URI, or short name are valid. Examples: - // - // * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]` - // * `projects/[project_id]/zones/[zone]` - // * `us-central1-f` - string zone_uri = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine network to be used for machine - // communications. Cannot be specified with subnetwork_uri. If neither - // `network_uri` nor `subnetwork_uri` is specified, the "default" network of - // the project is used, if it exists. Cannot be a "Custom Subnet Network" (see - // [Using Subnetworks](/compute/docs/subnetworks) for more information). - // - // A full URL, partial URI, or short name are valid. Examples: - // - // * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` - // * `projects/[project_id]/regions/global/default` - // * `default` - string network_uri = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine subnetwork to be used for machine - // communications. Cannot be specified with network_uri. - // - // A full URL, partial URI, or short name are valid. Examples: - // - // * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0` - // * `projects/[project_id]/regions/us-east1/subnetworks/sub0` - // * `sub0` - string subnetwork_uri = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. If true, all instances in the cluster will only have internal IP - // addresses. By default, clusters are not restricted to internal IP - // addresses, and will have ephemeral external IP addresses assigned to each - // instance. This `internal_ip_only` restriction can only be enabled for - // subnetwork enabled networks, and all off-cluster dependencies must be - // configured to be accessible without external IP addresses. - bool internal_ip_only = 7 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The service account of the instances. Defaults to the default - // Compute Engine service account. Custom service accounts need - // permissions equivalent to the following IAM roles: - // - // * roles/logging.logWriter - // * roles/storage.objectAdmin - // - // (see - // https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts - // for more information). - // Example: `[account_id]@[project_id].iam.gserviceaccount.com` - string service_account = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The URIs of service account scopes to be included in - // Compute Engine instances. The following base set of scopes is always - // included: - // - // * https://www.googleapis.com/auth/cloud.useraccounts.readonly - // * https://www.googleapis.com/auth/devstorage.read_write - // * https://www.googleapis.com/auth/logging.write - // - // If no scopes are specified, the following defaults are also provided: - // - // * https://www.googleapis.com/auth/bigquery - // * https://www.googleapis.com/auth/bigtable.admin.table - // * https://www.googleapis.com/auth/bigtable.data - // * https://www.googleapis.com/auth/devstorage.full_control - repeated string service_account_scopes = 3 [(google.api.field_behavior) = OPTIONAL]; - - // The Compute Engine tags to add to all instances (see - // [Tagging instances](/compute/docs/label-or-tag-resources#tags)). - repeated string tags = 4; - - // The Compute Engine metadata entries to add to all instances (see - // [Project and instance - // metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). - map metadata = 5; - - // Optional. Reservation Affinity for consuming Zonal reservation. - ReservationAffinity reservation_affinity = 11 [(google.api.field_behavior) = OPTIONAL]; -} - -// The config settings for Compute Engine resources in -// an instance group, such as a master or worker group. -message InstanceGroupConfig { - // Optional. The number of VM instances in the instance group. - // For master instance groups, must be set to 1. - int32 num_instances = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. The list of instance names. Cloud Dataproc derives the names - // from `cluster_name`, `num_instances`, and the instance group. - repeated string instance_names = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. The Compute Engine image resource used for cluster - // instances. It can be specified or may be inferred from - // `SoftwareConfig.image_version`. - string image_uri = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Compute Engine machine type used for cluster instances. - // - // A full URL, partial URI, or short name are valid. Examples: - // - // * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` - // * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` - // * `n1-standard-2` - // - // **Auto Zone Exception**: If you are using the Cloud Dataproc - // [Auto Zone - // Placement](/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) - // feature, you must use the short name of the machine type - // resource, for example, `n1-standard-2`. - string machine_type_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Disk option config settings. - DiskConfig disk_config = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Specifies that this instance group contains preemptible - // instances. - bool is_preemptible = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. The config for Compute Engine Instance Group - // Manager that manages this group. - // This is only used for preemptible instance groups. - ManagedGroupConfig managed_group_config = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. The Compute Engine accelerator configuration for these - // instances. - repeated AcceleratorConfig accelerators = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Specifies the minimum cpu platform for the Instance Group. - // See [Cloud Dataproc→Minimum CPU Platform] - // (/dataproc/docs/concepts/compute/dataproc-min-cpu). - string min_cpu_platform = 9; -} - -// Specifies the resources used to actively manage an instance group. -message ManagedGroupConfig { - // Output only. The name of the Instance Template used for the Managed - // Instance Group. - string instance_template_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The name of the Instance Group Manager for this group. - string instance_group_manager_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Specifies the type and number of accelerator cards attached to the instances -// of an instance group (see [GPUs on Compute Engine](/compute/docs/gpus/)). -message AcceleratorConfig { - // Full URL, partial URI, or short name of the accelerator type resource to - // expose to this instance. See - // [Compute Engine - // AcceleratorTypes](/compute/docs/reference/beta/acceleratorTypes) - // - // Examples - // * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` - // * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` - // * `nvidia-tesla-k80` - // - // **Auto Zone Exception**: If you are using the Cloud Dataproc - // [Auto Zone - // Placement](/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) - // feature, you must use the short name of the accelerator type - // resource, for example, `nvidia-tesla-k80`. - string accelerator_type_uri = 1; - - // The number of the accelerator cards of this type exposed to this instance. - int32 accelerator_count = 2; -} - -// Specifies the config of disk options for a group of VM instances. -message DiskConfig { - // Optional. Type of the boot disk (default is "pd-standard"). - // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or - // "pd-standard" (Persistent Disk Hard Disk Drive). - string boot_disk_type = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Size in GB of the boot disk (default is 500GB). - int32 boot_disk_size_gb = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Number of attached SSDs, from 0 to 4 (default is 0). - // If SSDs are not attached, the boot disk is used to store runtime logs and - // [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. - // If one or more SSDs are attached, this runtime bulk - // data is spread across them, and the boot disk contains only basic - // config and installed binaries. - int32 num_local_ssds = 2; -} - -// Specifies the cluster auto-delete schedule configuration. -message LifecycleConfig { - // Optional. The duration to keep the cluster alive while idling. - // Passing this threshold will cause the cluster to be - // deleted. Valid range: **[10m, 14d]**. - // - // Example: **"10m"**, the minimum value, to delete the - // cluster when it has had no jobs running for 10 minutes. - google.protobuf.Duration idle_delete_ttl = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Either the exact time the cluster should be deleted at or - // the cluster maximum age. - oneof ttl { - // Optional. The time when cluster will be auto-deleted. - google.protobuf.Timestamp auto_delete_time = 2; - - // Optional. The lifetime duration of cluster. The cluster will be - // auto-deleted at the end of this period. Valid range: **[10m, 14d]**. - // - // Example: **"1d"**, to delete the cluster 1 day after its creation.. - google.protobuf.Duration auto_delete_ttl = 3; - } - - // Output only. The time when cluster became idle (most recent job finished) - // and became eligible for deletion due to idleness. - google.protobuf.Timestamp idle_start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Security related configuration, including encryption, Kerberos, etc. -message SecurityConfig { - // Kerberos related configuration. - KerberosConfig kerberos_config = 1; -} - -// Specifies Kerberos related configuration. -message KerberosConfig { - // Optional. Flag to indicate whether to Kerberize the cluster. - bool enable_kerberos = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Required. The Cloud Storage URI of a KMS encrypted file containing the root - // principal password. - string root_principal_password_uri = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The uri of the KMS key used to encrypt various sensitive - // files. - string kms_key_uri = 3 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The Cloud Storage URI of the keystore file used for SSL - // encryption. If not provided, Dataproc will provide a self-signed - // certificate. - string keystore_uri = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of the truststore file used for SSL - // encryption. If not provided, Dataproc will provide a self-signed - // certificate. - string truststore_uri = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of a KMS encrypted file containing the - // password to the user provided keystore. For the self-signed certificate, - // this password is generated by Dataproc. - string keystore_password_uri = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of a KMS encrypted file containing the - // password to the user provided key. For the self-signed certificate, this - // password is generated by Dataproc. - string key_password_uri = 7 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of a KMS encrypted file containing the - // password to the user provided truststore. For the self-signed certificate, - // this password is generated by Dataproc. - string truststore_password_uri = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The remote realm the Dataproc on-cluster KDC will trust, should - // the user enable cross realm trust. - string cross_realm_trust_realm = 9 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The KDC (IP or hostname) for the remote trusted realm in a cross - // realm trust relationship. - string cross_realm_trust_kdc = 10 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The admin server (IP or hostname) for the remote trusted realm in - // a cross realm trust relationship. - string cross_realm_trust_admin_server = 11 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of a KMS encrypted file containing the - // shared password between the on-cluster Kerberos realm and the remote - // trusted realm, in a cross realm trust relationship. - string cross_realm_trust_shared_password_uri = 12 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The Cloud Storage URI of a KMS encrypted file containing the - // master key of the KDC database. - string kdc_db_key_uri = 13 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The lifetime of the ticket granting ticket, in hours. - // If not specified, or user specifies 0, then default value 10 - // will be used. - int32 tgt_lifetime_hours = 14 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The name of the on-cluster Kerberos realm. - // If not specified, the uppercased domain of hostnames will be the realm. - string realm = 15 [(google.api.field_behavior) = OPTIONAL]; -} - -// Specifies an executable to run on a fully configured node and a -// timeout period for executable completion. -message NodeInitializationAction { - // Required. Cloud Storage URI of executable file. - string executable_file = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Amount of time executable has to complete. Default is - // 10 minutes. Cluster creation fails with an explanatory error message (the - // name of the executable that caused the error and the exceeded timeout - // period) if the executable is not completed at end of the timeout period. - google.protobuf.Duration execution_timeout = 2 [(google.api.field_behavior) = OPTIONAL]; -} - -// The status of a cluster and its instances. -message ClusterStatus { - // The cluster state. - enum State { - // The cluster state is unknown. - UNKNOWN = 0; - - // The cluster is being created and set up. It is not ready for use. - CREATING = 1; - - // The cluster is currently running and healthy. It is ready for use. - RUNNING = 2; - - // The cluster encountered an error. It is not ready for use. - ERROR = 3; - - // The cluster is being deleted. It cannot be used. - DELETING = 4; - - // The cluster is being updated. It continues to accept and process jobs. - UPDATING = 5; - } - - // The cluster substate. - enum Substate { - // The cluster substate is unknown. - UNSPECIFIED = 0; - - // The cluster is known to be in an unhealthy state - // (for example, critical daemons are not running or HDFS capacity is - // exhausted). - // - // Applies to RUNNING state. - UNHEALTHY = 1; - - // The agent-reported status is out of date (may occur if - // Cloud Dataproc loses communication with Agent). - // - // Applies to RUNNING state. - STALE_STATUS = 2; - } - - // Output only. The cluster's state. - State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Optional details of cluster's state. - string detail = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Time when this state was entered. - google.protobuf.Timestamp state_start_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Additional state information that includes - // status reported by the agent. - Substate substate = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Specifies the selection and config of software inside the cluster. -message SoftwareConfig { - // Optional. The version of software inside the cluster. It must be one of the - // supported [Cloud Dataproc - // Versions](/dataproc/docs/concepts/versioning/dataproc-versions#supported_cloud_dataproc_versions), - // such as "1.2" (including a subminor version, such as "1.2.29"), or the - // ["preview" - // version](/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). - // If unspecified, it defaults to the latest Debian version. - string image_version = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The properties to set on daemon config files. - // - // Property keys are specified in `prefix:property` format, for example - // `core:hadoop.tmp.dir`. The following are supported prefixes - // and their mappings: - // - // * capacity-scheduler: `capacity-scheduler.xml` - // * core: `core-site.xml` - // * distcp: `distcp-default.xml` - // * hdfs: `hdfs-site.xml` - // * hive: `hive-site.xml` - // * mapred: `mapred-site.xml` - // * pig: `pig.properties` - // * spark: `spark-defaults.conf` - // * yarn: `yarn-site.xml` - // - // For more information, see - // [Cluster properties](/dataproc/docs/concepts/cluster-properties). - map properties = 2 [(google.api.field_behavior) = OPTIONAL]; - - // The set of optional components to activate on the cluster. - repeated Component optional_components = 3; -} - -// Contains cluster daemon metrics, such as HDFS and YARN stats. -// -// **Beta Feature**: This report is available for testing purposes only. It may -// be changed before final release. -message ClusterMetrics { - // The HDFS metrics. - map hdfs_metrics = 1; - - // The YARN metrics. - map yarn_metrics = 2; -} - -// A request to create a cluster. -message CreateClusterRequest { - // Required. The ID of the Google Cloud Platform project that the cluster - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster to create. - Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. A unique id used to identify the request. If the server - // receives two [CreateClusterRequest][google.cloud.dataproc.v1beta2.CreateClusterRequest] requests with the same - // id, then the second request will be ignored and the - // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the backend - // is returned. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The id 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 update a cluster. -message UpdateClusterRequest { - // Required. The ID of the Google Cloud Platform project the - // cluster belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 5 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster name. - string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The changes to the cluster. - Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Timeout for graceful YARN decomissioning. Graceful - // decommissioning allows removing nodes from the cluster without - // interrupting jobs in progress. Timeout specifies how long to wait for jobs - // in progress to finish before forcefully removing nodes (and potentially - // interrupting jobs). Default timeout is 0 (for forceful decommission), and - // the maximum allowed timeout is 1 day. - // - // Only supported on Dataproc image versions 1.2 and higher. - google.protobuf.Duration graceful_decommission_timeout = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Required. Specifies the path, relative to `Cluster`, of - // the field to update. For example, to change the number of workers - // in a cluster to 5, the `update_mask` parameter would be - // specified as `config.worker_config.num_instances`, - // and the `PATCH` request body would specify the new value, as follows: - // - // { - // "config":{ - // "workerConfig":{ - // "numInstances":"5" - // } - // } - // } - // - // Similarly, to change the number of preemptible workers in a cluster to 5, - // the `update_mask` parameter would be - // `config.secondary_worker_config.num_instances`, and the `PATCH` request - // body would be set as follows: - // - // { - // "config":{ - // "secondaryWorkerConfig":{ - // "numInstances":"5" - // } - // } - // } - // Note: currently only the following fields can be updated: - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - //
MaskPurpose
labelsUpdates labels
config.worker_config.num_instancesResize primary worker - // group
config.secondary_worker_config.num_instancesResize secondary - // worker group
config.lifecycle_config.auto_delete_ttlReset MAX TTL - // duration
config.lifecycle_config.auto_delete_timeUpdate MAX TTL - // deletion timestamp
config.lifecycle_config.idle_delete_ttlUpdate Idle TTL - // duration
config.autoscaling_config.policy_uriUse, stop using, or change - // autoscaling policies
- google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; - - // Optional. A unique id used to identify the request. If the server - // receives two [UpdateClusterRequest][google.cloud.dataproc.v1beta2.UpdateClusterRequest] requests with the same - // id, then the second request will be ignored and the - // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the - // backend is returned. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 characters. - string request_id = 7 [(google.api.field_behavior) = OPTIONAL]; -} - -// A request to delete a cluster. -message DeleteClusterRequest { - // Required. The ID of the Google Cloud Platform project that the cluster - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster name. - string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. Specifying the `cluster_uuid` means the RPC should fail - // (with error NOT_FOUND) if cluster with specified UUID does not exist. - string cluster_uuid = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. A unique id used to identify the request. If the server - // receives two [DeleteClusterRequest][google.cloud.dataproc.v1beta2.DeleteClusterRequest] requests with the same - // id, then the second request will be ignored and the - // first [google.longrunning.Operation][google.longrunning.Operation] created and stored in the - // backend is returned. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 characters. - string request_id = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -// Request to get the resource representation for a cluster in a project. -message GetClusterRequest { - // Required. The ID of the Google Cloud Platform project that the cluster - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster name. - string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// A request to list the clusters in a project. -message ListClustersRequest { - // Required. The ID of the Google Cloud Platform project that the cluster - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 4 [(google.api.field_behavior) = REQUIRED]; - - // Optional. A filter constraining the clusters to list. Filters are - // case-sensitive and have the following syntax: - // - // field = value [AND [field = value]] ... - // - // where **field** is one of `status.state`, `clusterName`, or `labels.[KEY]`, - // and `[KEY]` is a label key. **value** can be `*` to match all values. - // `status.state` can be one of the following: `ACTIVE`, `INACTIVE`, - // `CREATING`, `RUNNING`, `ERROR`, `DELETING`, or `UPDATING`. `ACTIVE` - // contains the `CREATING`, `UPDATING`, and `RUNNING` states. `INACTIVE` - // contains the `DELETING` and `ERROR` states. - // `clusterName` is the name of the cluster provided at creation time. - // Only the logical `AND` operator is supported; space-separated items are - // treated as having an implicit `AND` operator. - // - // Example filter: - // - // status.state = ACTIVE AND clusterName = mycluster - // AND labels.env = staging AND labels.starred = * - string filter = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The standard List page size. - int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The standard List page token. - string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// The list of all clusters in a project. -message ListClustersResponse { - // Output only. The clusters in the project. - repeated Cluster clusters = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. This token is included in the response if there are more - // results to fetch. To fetch additional results, provide this value as the - // `page_token` in a subsequent ListClustersRequest. - string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// A request to collect cluster diagnostic information. -message DiagnoseClusterRequest { - // Required. The ID of the Google Cloud Platform project that the cluster - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The cluster name. - string cluster_name = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// The location of diagnostic output. -message DiagnoseClusterResults { - // Output only. The Cloud Storage URI of the diagnostic output. - // The output report is a plain text file with a summary of collected - // diagnostics. - string output_uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Reservation Affinity for consuming Zonal reservation. -message ReservationAffinity { - // Indicates whether to consume capacity from an reservation or not. - enum Type { - TYPE_UNSPECIFIED = 0; - - // Do not consume from any allocated capacity. - NO_RESERVATION = 1; - - // Consume any reservation available. - ANY_RESERVATION = 2; - - // Must consume from a specific reservation. Must specify key value fields - // for specifying the reservations. - SPECIFIC_RESERVATION = 3; - } - - // Optional. Type of reservation to consume - Type consume_reservation_type = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Corresponds to the label key of reservation resource. - string key = 2 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. Corresponds to the label values of reservation resource. - repeated string values = 3 [(google.api.field_behavior) = OPTIONAL]; -} diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc.yaml b/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc.yaml deleted file mode 100644 index af68853d..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc.yaml +++ /dev/null @@ -1,52 +0,0 @@ -type: google.api.Service -config_version: 2 -name: dataproc.googleapis.com -title: Google Cloud Dataproc API - -apis: -- name: google.cloud.dataproc.v1beta2.AutoscalingPolicyService -- name: google.cloud.dataproc.v1beta2.ClusterController -- name: google.cloud.dataproc.v1beta2.JobController -- name: google.cloud.dataproc.v1beta2.WorkflowTemplateService - -types: -- name: google.cloud.dataproc.v1beta2.DiagnoseClusterResults -- name: google.cloud.dataproc.v1beta2.ClusterOperationMetadata -- name: google.cloud.dataproc.v1beta2.WorkflowMetadata - -documentation: - summary: 'Manages Hadoop-based clusters and jobs on Google Cloud Platform.' - -http: - rules: - - selector: google.longrunning.Operations.ListOperations - get: '/v1beta2/{name=projects/*/regions/*/operations}' - - - selector: google.longrunning.Operations.GetOperation - get: '/v1beta2/{name=projects/*/regions/*/operations/*}' - - - selector: google.longrunning.Operations.DeleteOperation - delete: '/v1beta2/{name=projects/*/regions/*/operations/*}' - - - selector: google.longrunning.Operations.CancelOperation - post: '/v1beta2/{name=projects/*/regions/*/operations/*}:cancel' - - - selector: google.iam.v1.IAMPolicy.SetIamPolicy - post: '/v1beta2/{resource=projects/*/regions/*/clusters/*}:setIamPolicy' - body: '*' - - - selector: google.iam.v1.IAMPolicy.GetIamPolicy - get: '/v1beta2/{resource=projects/*/regions/*/clusters/*}:getIamPolicy' - - - selector: google.iam.v1.IAMPolicy.TestIamPermissions - post: '/v1beta2/{resource=projects/*/regions/*/clusters/*}:testIamPermissions' - body: '*' - - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_gapic.yaml b/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_gapic.yaml deleted file mode 100644 index 576bfc8e..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_gapic.yaml +++ /dev/null @@ -1,793 +0,0 @@ -type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 -# The settings of generated code in a specific language. -language_settings: - java: - package_name: com.google.cloud.dataproc.v1beta2 - python: - package_name: google.cloud.dataproc_v1beta2.gapic - go: - package_name: cloud.google.com/go/dataproc/apiv1beta2 - csharp: - package_name: Google.Cloud.Dataproc.V1Beta2 - ruby: - package_name: Google::Cloud::Dataproc::V1beta2 - php: - package_name: Google\Cloud\Dataproc\V1beta2 - nodejs: - package_name: dataproc.v1beta2 - domain_layer_location: google-cloud -# A list of API interface configurations. -interfaces: -# The fully qualified name of the API interface. -- name: google.cloud.dataproc.v1beta2.AutoscalingPolicyService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/regions/{region} - entity_name: region - - name_pattern: projects/{project}/regions/{region}/autoscalingPolicies/{autoscaling_policy} - entity_name: autoscaling_policy - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: CreateAutoscalingPolicy - flattening: - groups: - - parameters: - - parent - - policy - required_fields: - - parent - - policy - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 - - name: UpdateAutoscalingPolicy - flattening: - groups: - - parameters: - - policy - required_fields: - - policy - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - policy.name: autoscaling_policy - timeout_millis: 60000 - - name: GetAutoscalingPolicy - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: autoscaling_policy - timeout_millis: 60000 - - name: ListAutoscalingPolicies - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: policies - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 - - name: DeleteAutoscalingPolicy - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: autoscaling_policy - timeout_millis: 60000 -# The fully qualified name of the API interface. -- name: google.cloud.dataproc.v1beta2.ClusterController - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: [] - # Definition for smoke test. - smoke_test: - method: ListClusters - init_fields: - - project_id=$PROJECT_ID - - region="global" - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - INTERNAL - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 10000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 10000 - total_timeout_millis: 300000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: CreateCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster - required_fields: - - project_id - - region - - cluster - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - long_running: - return_type: google.cloud.dataproc.v1beta2.Cluster - metadata_type: google.cloud.dataproc.v1beta2.ClusterOperationMetadata - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 900000 - - name: UpdateCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - - cluster - - update_mask - required_fields: - - project_id - - region - - cluster_name - - cluster - - update_mask - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - long_running: - return_type: google.cloud.dataproc.v1beta2.Cluster - metadata_type: google.cloud.dataproc.v1beta2.ClusterOperationMetadata - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 900000 - - name: DeleteCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1beta2.ClusterOperationMetadata - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 900000 - - name: GetCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 60000 - - name: ListClusters - flattening: - groups: - - parameters: - - project_id - - region - - parameters: - - project_id - - region - - filter - required_fields: - - project_id - - region - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: clusters - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 60000 - - name: DiagnoseCluster - flattening: - groups: - - parameters: - - project_id - - region - - cluster_name - required_fields: - - project_id - - region - - cluster_name - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 60000 - long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1beta2.DiagnoseClusterResults - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 30000 - # The fully qualified name of the API interface. -- name: google.cloud.dataproc.v1beta2.JobController - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: [] - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - INTERNAL - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 30000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 30000 - total_timeout_millis: 900000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: SubmitJob - flattening: - groups: - - parameters: - - project_id - - region - - job - required_fields: - - project_id - - region - - job - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - - name: GetJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: ListJobs - flattening: - groups: - - parameters: - - project_id - - region - - parameters: - - project_id - - region - - filter - required_fields: - - project_id - - region - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: jobs - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: UpdateJob - required_fields: - - project_id - - region - - job_id - - job - - update_mask - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - - name: CancelJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 30000 - - name: DeleteJob - flattening: - groups: - - parameters: - - project_id - - region - - job_id - required_fields: - - project_id - - region - - job_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 30000 - # The fully qualified name of the API interface. -- name: google.cloud.dataproc.v1beta2.WorkflowTemplateService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/regions/{region} - entity_name: region - - name_pattern: projects/{project}/regions/{region}/workflowTemplates/{workflow_template} - entity_name: workflow_template - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - INTERNAL - - UNAVAILABLE - - name: non_idempotent - retry_codes: - - UNAVAILABLE - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: CreateWorkflowTemplate - flattening: - groups: - - parameters: - - parent - - template - required_fields: - - parent - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 30000 - - name: GetWorkflowTemplate - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 - - name: InstantiateWorkflowTemplate - flattening: - groups: - - parameters: - - name - - parameters: - - name - - parameters - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 - long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1beta2.WorkflowMetadata - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 43200000 - - name: InstantiateInlineWorkflowTemplate - flattening: - groups: - - parameters: - - parent - - template - required_fields: - - parent - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 - long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.dataproc.v1beta2.WorkflowMetadata - implements_delete: false - implements_cancel: false - initial_poll_delay_millis: 1000 - poll_delay_multiplier: 2 - max_poll_delay_millis: 10000 - total_poll_timeout_millis: 43200000 - - name: UpdateWorkflowTemplate - flattening: - groups: - - parameters: - - template - required_fields: - - template - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - template.name: workflow_template - timeout_millis: 60000 - - name: ListWorkflowTemplates - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: templates - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: region - timeout_millis: 60000 - - name: DeleteWorkflowTemplate - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: workflow_template - timeout_millis: 60000 -resource_name_generation: -- message_name: AutoscalingPolicy - field_entity_map: - name: autoscaling_policy -- message_name: CreateAutoscalingPolicyRequest - field_entity_map: - parent: region -- message_name: GetAutoscalingPolicyRequest - field_entity_map: - name: autoscaling_policy -- message_name: ListAutoscalingPoliciesRequest - field_entity_map: - parent: region -- message_name: DeleteAutoscalingPolicyRequest - field_entity_map: - name: autoscaling_policy -- message_name: WorkflowTemplate - field_entity_map: - name: workflow_template -- message_name: CreateWorkflowTemplateRequest - field_entity_map: - parent: region -- message_name: GetWorkflowTemplateRequest - field_entity_map: - name: workflow_template -- message_name: InstantiateWorkflowTemplateRequest - field_entity_map: - name: workflow_template -- message_name: InstantiateInlineWorkflowTemplateRequest - field_entity_map: - parent: region -- message_name: ListWorkflowTemplatesRequest - field_entity_map: - parent: region -- message_name: DeleteWorkflowTemplateRequest - field_entity_map: - name: workflow_template diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_v1beta2.yaml b/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_v1beta2.yaml deleted file mode 100644 index 15ed0c2c..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/dataproc_v1beta2.yaml +++ /dev/null @@ -1,68 +0,0 @@ -type: google.api.Service -config_version: 2 -name: dataproc.googleapis.com -title: Cloud Dataproc API - -apis: -- name: google.cloud.dataproc.v1beta2.AutoscalingPolicyService -- name: google.cloud.dataproc.v1beta2.ClusterController -- name: google.cloud.dataproc.v1beta2.JobController -- name: google.cloud.dataproc.v1beta2.WorkflowTemplateService - -types: -- name: google.cloud.dataproc.v1beta2.ClusterOperationMetadata -- name: google.cloud.dataproc.v1beta2.DiagnoseClusterResults -- name: google.cloud.dataproc.v1beta2.WorkflowMetadata - -documentation: - summary: 'Manages Hadoop-based clusters and jobs on Google Cloud Platform.' - rules: - - 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 Public Errors: NOT_FOUND, INVALID_ARGUMENT and - PERMISSION_DENIED - - - 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. - -authentication: - rules: - - selector: 'google.cloud.dataproc.v1beta2.AutoscalingPolicyService.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.cloud.dataproc.v1beta2.ClusterController.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.cloud.dataproc.v1beta2.JobController.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.cloud.dataproc.v1beta2.WorkflowTemplateService.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.iam.v1.IAMPolicy.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: 'google.longrunning.Operations.*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/jobs.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/jobs.proto deleted file mode 100644 index c1e643c9..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/jobs.proto +++ /dev/null @@ -1,829 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.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/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "JobsProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// The JobController provides methods to manage jobs. -service JobController { - option (google.api.default_host) = "dataproc.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Submits a job to a cluster. - rpc SubmitJob(SubmitJobRequest) returns (Job) { - option (google.api.http) = { - post: "/v1beta2/projects/{project_id}/regions/{region}/jobs:submit" - body: "*" - }; - option (google.api.method_signature) = "project_id, region, job"; - } - - // Gets the resource representation for a job in a project. - rpc GetJob(GetJobRequest) returns (Job) { - option (google.api.http) = { - get: "/v1beta2/projects/{project_id}/regions/{region}/jobs/{job_id}" - }; - option (google.api.method_signature) = "project_id, region, job_id"; - } - - // Lists regions/{region}/jobs in a project. - rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) { - option (google.api.http) = { - get: "/v1beta2/projects/{project_id}/regions/{region}/jobs" - }; - option (google.api.method_signature) = "project_id, region"; - option (google.api.method_signature) = "project_id, region, filter"; - } - - // Updates a job in a project. - rpc UpdateJob(UpdateJobRequest) returns (Job) { - option (google.api.http) = { - patch: "/v1beta2/projects/{project_id}/regions/{region}/jobs/{job_id}" - body: "job" - }; - } - - // Starts a job cancellation request. To access the job resource - // after cancellation, call - // [regions/{region}/jobs.list](/dataproc/docs/reference/rest/v1beta2/projects.regions.jobs/list) - // or - // [regions/{region}/jobs.get](/dataproc/docs/reference/rest/v1beta2/projects.regions.jobs/get). - rpc CancelJob(CancelJobRequest) returns (Job) { - option (google.api.http) = { - post: "/v1beta2/projects/{project_id}/regions/{region}/jobs/{job_id}:cancel" - body: "*" - }; - option (google.api.method_signature) = "project_id, region, job_id"; - } - - // Deletes the job from the project. If the job is active, the delete fails, - // and the response returns `FAILED_PRECONDITION`. - rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1beta2/projects/{project_id}/regions/{region}/jobs/{job_id}" - }; - option (google.api.method_signature) = "project_id, region, job_id"; - } -} - -// The runtime logging config of the job. -message LoggingConfig { - // The Log4j level for job execution. When running an - // [Apache Hive](http://hive.apache.org/) job, Cloud - // Dataproc configures the Hive client to an equivalent verbosity level. - enum Level { - // Level is unspecified. Use default level for log4j. - LEVEL_UNSPECIFIED = 0; - - // Use ALL level for log4j. - ALL = 1; - - // Use TRACE level for log4j. - TRACE = 2; - - // Use DEBUG level for log4j. - DEBUG = 3; - - // Use INFO level for log4j. - INFO = 4; - - // Use WARN level for log4j. - WARN = 5; - - // Use ERROR level for log4j. - ERROR = 6; - - // Use FATAL level for log4j. - FATAL = 7; - - // Turn off log4j. - OFF = 8; - } - - // The per-package log levels for the driver. This may include - // "root" package name to configure rootLogger. - // Examples: - // 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' - map driver_log_levels = 2; -} - -// A Cloud Dataproc job for running -// [Apache Hadoop -// MapReduce](https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) -// jobs on [Apache Hadoop -// YARN](https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html). -message HadoopJob { - // Required. Indicates the location of the driver's main class. Specify - // either the jar file that contains the main class or the main class name. - // To specify both, add the jar file to `jar_file_uris`, and then specify - // the main class name in this property. - oneof driver { - // The HCFS URI of the jar file containing the main class. - // Examples: - // 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' - // 'hdfs:/tmp/test-samples/custom-wordcount.jar' - // 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' - string main_jar_file_uri = 1; - - // The name of the driver's main class. The jar file containing the class - // must be in the default CLASSPATH or specified in `jar_file_uris`. - string main_class = 2; - } - - // Optional. The arguments to pass to the driver. Do not - // include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as - // job properties, since a collision may occur that causes an incorrect job - // submission. - repeated string args = 3; - - // Optional. Jar file URIs to add to the CLASSPATHs of the - // Hadoop driver and tasks. - repeated string jar_file_uris = 4; - - // Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied - // to the working directory of Hadoop drivers and distributed tasks. Useful - // for naively parallel tasks. - repeated string file_uris = 5; - - // Optional. HCFS URIs of archives to be extracted in the working directory of - // Hadoop drivers and tasks. Supported file types: - // .jar, .tar, .tar.gz, .tgz, or .zip. - repeated string archive_uris = 6; - - // Optional. A mapping of property names to values, used to configure Hadoop. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in /etc/hadoop/conf/*-site and - // classes in user code. - map properties = 7; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 8; -} - -// A Cloud Dataproc job for running [Apache Spark](http://spark.apache.org/) -// applications on YARN. -// The specification of the main method to call to drive the job. -// Specify either the jar file that contains the main class or the main class -// name. To pass both a main jar and a main class in that jar, add the jar to -// `CommonJob.jar_file_uris`, and then specify the main class name in -// `main_class`. -message SparkJob { - oneof driver { - // The HCFS URI of the jar file that contains the main class. - string main_jar_file_uri = 1; - - // The name of the driver's main class. The jar file that contains the class - // must be in the default CLASSPATH or specified in `jar_file_uris`. - string main_class = 2; - } - - // Optional. The arguments to pass to the driver. Do not include arguments, - // such as `--conf`, that can be set as job properties, since a collision may - // occur that causes an incorrect job submission. - repeated string args = 3; - - // Optional. HCFS URIs of jar files to add to the CLASSPATHs of the - // Spark driver and tasks. - repeated string jar_file_uris = 4; - - // Optional. HCFS URIs of files to be copied to the working directory of - // Spark drivers and distributed tasks. Useful for naively parallel tasks. - repeated string file_uris = 5; - - // Optional. HCFS URIs of archives to be extracted in the working directory - // of Spark drivers and tasks. Supported file types: - // .jar, .tar, .tar.gz, .tgz, and .zip. - repeated string archive_uris = 6; - - // Optional. A mapping of property names to values, used to configure Spark. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in - // /etc/spark/conf/spark-defaults.conf and classes in user code. - map properties = 7; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 8; -} - -// A Cloud Dataproc job for running -// [Apache -// PySpark](https://spark.apache.org/docs/0.9.0/python-programming-guide.html) -// applications on YARN. -message PySparkJob { - // Required. The HCFS URI of the main Python file to use as the driver. Must - // be a .py file. - string main_python_file_uri = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The arguments to pass to the driver. Do not include arguments, - // such as `--conf`, that can be set as job properties, since a collision may - // occur that causes an incorrect job submission. - repeated string args = 2; - - // Optional. HCFS file URIs of Python files to pass to the PySpark - // framework. Supported file types: .py, .egg, and .zip. - repeated string python_file_uris = 3; - - // Optional. HCFS URIs of jar files to add to the CLASSPATHs of the - // Python driver and tasks. - repeated string jar_file_uris = 4; - - // Optional. HCFS URIs of files to be copied to the working directory of - // Python drivers and distributed tasks. Useful for naively parallel tasks. - repeated string file_uris = 5; - - // Optional. HCFS URIs of archives to be extracted in the working directory of - // .jar, .tar, .tar.gz, .tgz, and .zip. - repeated string archive_uris = 6; - - // Optional. A mapping of property names to values, used to configure PySpark. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in - // /etc/spark/conf/spark-defaults.conf and classes in user code. - map properties = 7; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 8; -} - -// A list of queries to run on a cluster. -message QueryList { - // Required. The queries to execute. You do not need to terminate a query - // with a semicolon. Multiple queries can be specified in one string - // by separating each with a semicolon. Here is an example of an Cloud - // Dataproc API snippet that uses a QueryList to specify a HiveJob: - // - // "hiveJob": { - // "queryList": { - // "queries": [ - // "query1", - // "query2", - // "query3;query4", - // ] - // } - // } - repeated string queries = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/) -// queries on YARN. -message HiveJob { - // Required. The sequence of Hive queries to execute, specified as either - // an HCFS file URI or a list of queries. - oneof queries { - // The HCFS URI of the script that contains Hive queries. - string query_file_uri = 1; - - // A list of queries. - QueryList query_list = 2; - } - - // Optional. Whether to continue executing queries if a query fails. - // The default value is `false`. Setting to `true` can be useful when - // executing independent parallel queries. - bool continue_on_failure = 3; - - // Optional. Mapping of query variable names to values (equivalent to the - // Hive command: `SET name="value";`). - map script_variables = 4; - - // Optional. A mapping of property names and values, used to configure Hive. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, - // /etc/hive/conf/hive-site.xml, and classes in user code. - map properties = 5; - - // Optional. HCFS URIs of jar files to add to the CLASSPATH of the - // Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes - // and UDFs. - repeated string jar_file_uris = 6; -} - -// A Cloud Dataproc job for running [Apache Spark -// SQL](http://spark.apache.org/sql/) queries. -message SparkSqlJob { - // Required. The sequence of Spark SQL queries to execute, specified as - // either an HCFS file URI or as a list of queries. - oneof queries { - // The HCFS URI of the script that contains SQL queries. - string query_file_uri = 1; - - // A list of queries. - QueryList query_list = 2; - } - - // Optional. Mapping of query variable names to values (equivalent to the - // Spark SQL command: SET `name="value";`). - map script_variables = 3; - - // Optional. A mapping of property names to values, used to configure - // Spark SQL's SparkConf. Properties that conflict with values set by the - // Cloud Dataproc API may be overwritten. - map properties = 4; - - // Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. - repeated string jar_file_uris = 56; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 6; -} - -// A Cloud Dataproc job for running [Apache Pig](https://pig.apache.org/) -// queries on YARN. -message PigJob { - // Required. The sequence of Pig queries to execute, specified as an HCFS - // file URI or a list of queries. - oneof queries { - // The HCFS URI of the script that contains the Pig queries. - string query_file_uri = 1; - - // A list of queries. - QueryList query_list = 2; - } - - // Optional. Whether to continue executing queries if a query fails. - // The default value is `false`. Setting to `true` can be useful when - // executing independent parallel queries. - bool continue_on_failure = 3; - - // Optional. Mapping of query variable names to values (equivalent to the Pig - // command: `name=[value]`). - map script_variables = 4; - - // Optional. A mapping of property names to values, used to configure Pig. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, - // /etc/pig/conf/pig.properties, and classes in user code. - map properties = 5; - - // Optional. HCFS URIs of jar files to add to the CLASSPATH of - // the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. - repeated string jar_file_uris = 6; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 7; -} - -// A Cloud Dataproc job for running -// [Apache SparkR](https://spark.apache.org/docs/latest/sparkr.html) -// applications on YARN. -message SparkRJob { - // Required. The HCFS URI of the main R file to use as the driver. - // Must be a .R file. - string main_r_file_uri = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The arguments to pass to the driver. Do not include arguments, - // such as `--conf`, that can be set as job properties, since a collision may - // occur that causes an incorrect job submission. - repeated string args = 2; - - // Optional. HCFS URIs of files to be copied to the working directory of - // R drivers and distributed tasks. Useful for naively parallel tasks. - repeated string file_uris = 3; - - // Optional. HCFS URIs of archives to be extracted in the working directory of - // Spark drivers and tasks. Supported file types: - // .jar, .tar, .tar.gz, .tgz, and .zip. - repeated string archive_uris = 4; - - // Optional. A mapping of property names to values, used to configure SparkR. - // Properties that conflict with values set by the Cloud Dataproc API may be - // overwritten. Can include properties set in - // /etc/spark/conf/spark-defaults.conf and classes in user code. - map properties = 5; - - // Optional. The runtime log config for job execution. - LoggingConfig logging_config = 6; -} - -// Cloud Dataproc job config. -message JobPlacement { - // Required. The name of the cluster where the job will be submitted. - string cluster_name = 1 [(google.api.field_behavior) = REQUIRED]; - - // Output only. A cluster UUID generated by the Cloud Dataproc service when - // the job is submitted. - string cluster_uuid = 2; -} - -// Cloud Dataproc job status. -message JobStatus { - // The job state. - enum State { - // The job state is unknown. - STATE_UNSPECIFIED = 0; - - // The job is pending; it has been submitted, but is not yet running. - PENDING = 1; - - // Job has been received by the service and completed initial setup; - // it will soon be submitted to the cluster. - SETUP_DONE = 8; - - // The job is running on the cluster. - RUNNING = 2; - - // A CancelJob request has been received, but is pending. - CANCEL_PENDING = 3; - - // Transient in-flight resources have been canceled, and the request to - // cancel the running job has been issued to the cluster. - CANCEL_STARTED = 7; - - // The job cancellation was successful. - CANCELLED = 4; - - // The job has completed successfully. - DONE = 5; - - // The job has completed, but encountered an error. - ERROR = 6; - - // Job attempt has failed. The detail field contains failure details for - // this attempt. - // - // Applies to restartable jobs only. - ATTEMPT_FAILURE = 9; - } - - // The job substate. - enum Substate { - // The job substate is unknown. - UNSPECIFIED = 0; - - // The Job is submitted to the agent. - // - // Applies to RUNNING state. - SUBMITTED = 1; - - // The Job has been received and is awaiting execution (it may be waiting - // for a condition to be met). See the "details" field for the reason for - // the delay. - // - // Applies to RUNNING state. - QUEUED = 2; - - // The agent-reported status is out of date, which may be caused by a - // loss of communication between the agent and Cloud Dataproc. If the - // agent does not send a timely update, the job will fail. - // - // Applies to RUNNING state. - STALE_STATUS = 3; - } - - // Output only. A state message specifying the overall job state. - State state = 1; - - // Output only. Optional job state details, such as an error - // description if the state is ERROR. - string details = 2; - - // Output only. The time when this state was entered. - google.protobuf.Timestamp state_start_time = 6; - - // Output only. Additional state information, which includes - // status reported by the agent. - Substate substate = 7; -} - -// Encapsulates the full scoping used to reference a job. -message JobReference { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The job ID, which must be unique within the project. - // - // The ID must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), or hyphens (-). The maximum length is 100 characters. - // - // If not specified by the caller, the job ID will be provided by the server. - string job_id = 2; -} - -// A YARN application created by a job. Application information is a subset of -// org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto. -// -// **Beta Feature**: This report is available for testing purposes only. It may -// be changed before final release. -message YarnApplication { - // The application state, corresponding to - // YarnProtos.YarnApplicationStateProto. - enum State { - // Status is unspecified. - STATE_UNSPECIFIED = 0; - - // Status is NEW. - NEW = 1; - - // Status is NEW_SAVING. - NEW_SAVING = 2; - - // Status is SUBMITTED. - SUBMITTED = 3; - - // Status is ACCEPTED. - ACCEPTED = 4; - - // Status is RUNNING. - RUNNING = 5; - - // Status is FINISHED. - FINISHED = 6; - - // Status is FAILED. - FAILED = 7; - - // Status is KILLED. - KILLED = 8; - } - - // Output only. The application name. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The application state. - State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The numerical progress of the application, from 1 to 100. - float progress = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. Output only. The HTTP URL of the ApplicationMaster, HistoryServer, or - // TimelineServer that provides application-specific information. The URL uses - // the internal hostname, and requires a proxy server for resolution and, - // possibly, access. - string tracking_url = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// A Cloud Dataproc job resource. -message Job { - // Optional. The fully qualified reference to the job, which can be used to - // obtain the equivalent REST path of the job resource. If this property - // is not specified when a job is created, the server generates a - // job_id. - JobReference reference = 1; - - // Required. Job information, including how, when, and where to - // run the job. - JobPlacement placement = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The application/framework-specific portion of the job. - oneof type_job { - // Job is a Hadoop job. - HadoopJob hadoop_job = 3; - - // Job is a Spark job. - SparkJob spark_job = 4; - - // Job is a Pyspark job. - PySparkJob pyspark_job = 5; - - // Job is a Hive job. - HiveJob hive_job = 6; - - // Job is a Pig job. - PigJob pig_job = 7; - - // Job is a SparkR job. - SparkRJob spark_r_job = 21; - - // Job is a SparkSql job. - SparkSqlJob spark_sql_job = 12; - } - - // Output only. The job status. Additional application-specific - // status information may be contained in the type_job - // and yarn_applications fields. - JobStatus status = 8; - - // Output only. The previous job status. - repeated JobStatus status_history = 13; - - // Output only. The collection of YARN applications spun up by this job. - // - // **Beta** Feature: This report is available for testing purposes only. It - // may be changed before final release. - repeated YarnApplication yarn_applications = 9; - - // Output only. The email address of the user submitting the job. For jobs - // submitted on the cluster, the address is username@hostname. - string submitted_by = 10; - - // Output only. A URI pointing to the location of the stdout of the job's - // driver program. - string driver_output_resource_uri = 17; - - // Output only. If present, the location of miscellaneous control files - // which may be used as part of job setup and handling. If not present, - // control files may be placed in the same location as `driver_output_uri`. - string driver_control_files_uri = 15; - - // Optional. The labels to associate with this job. - // 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 job. - map labels = 18; - - // Optional. Job scheduling configuration. - JobScheduling scheduling = 20; - - // Output only. A UUID that uniquely identifies a job within the project - // over time. This is in contrast to a user-settable reference.job_id that - // may be reused over time. - string job_uuid = 22; -} - -// Job scheduling options. -message JobScheduling { - // Optional. Maximum number of times per hour a driver may be restarted as - // a result of driver terminating with non-zero code before job is - // reported failed. - // - // A job may be reported as thrashing if driver exits with non-zero code - // 4 times within 10 minute window. - // - // Maximum value is 10. - int32 max_failures_per_hour = 1; -} - -// A request to submit a job. -message SubmitJobRequest { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The job resource. - Job job = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. A unique id used to identify the request. If the server - // receives two [SubmitJobRequest][google.cloud.dataproc.v1beta2.SubmitJobRequest] requests with the same - // id, then the second request will be ignored and the - // first [Job][google.cloud.dataproc.v1beta2.Job] created and stored in the backend - // is returned. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 characters. - string request_id = 4; -} - -// A request to get the resource representation for a job in a project. -message GetJobRequest { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The job ID. - string job_id = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// A request to list jobs in a project. -message ListJobsRequest { - // A matcher that specifies categories of job states. - enum JobStateMatcher { - // Match all jobs, regardless of state. - ALL = 0; - - // Only match jobs in non-terminal states: PENDING, RUNNING, or - // CANCEL_PENDING. - ACTIVE = 1; - - // Only match jobs in terminal states: CANCELLED, DONE, or ERROR. - NON_ACTIVE = 2; - } - - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 6 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The number of results to return in each response. - int32 page_size = 2; - - // Optional. The page token, returned by a previous call, to request the - // next page of results. - string page_token = 3; - - // Optional. If set, the returned jobs list includes only jobs that were - // submitted to the named cluster. - string cluster_name = 4; - - // Optional. Specifies enumerated categories of jobs to list. - // (default = match ALL jobs). - // - // If `filter` is provided, `jobStateMatcher` will be ignored. - JobStateMatcher job_state_matcher = 5; - - // Optional. A filter constraining the jobs to list. Filters are - // case-sensitive and have the following syntax: - // - // [field = value] AND [field [= value]] ... - // - // where **field** is `status.state` or `labels.[KEY]`, and `[KEY]` is a label - // key. **value** can be `*` to match all values. - // `status.state` can be either `ACTIVE` or `NON_ACTIVE`. - // Only the logical `AND` operator is supported; space-separated items are - // treated as having an implicit `AND` operator. - // - // Example filter: - // - // status.state = ACTIVE AND labels.env = staging AND labels.starred = * - string filter = 7; -} - -// A request to update a job. -message UpdateJobRequest { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The job ID. - string job_id = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The changes to the job. - Job job = 4 [(google.api.field_behavior) = REQUIRED]; - - // Required. Specifies the path, relative to Job, of - // the field to update. For example, to update the labels of a Job the - // update_mask parameter would be specified as - // labels, and the `PATCH` request body would specify the new - // value. Note: Currently, labels is the only - // field that can be updated. - google.protobuf.FieldMask update_mask = 5 [(google.api.field_behavior) = REQUIRED]; -} - -// A list of jobs in a project. -message ListJobsResponse { - // Output only. Jobs list. - repeated Job jobs = 1; - - // Optional. This token is included in the response if there are more results - // to fetch. To fetch additional results, provide this value as the - // `page_token` in a subsequent ListJobsRequest. - string next_page_token = 2; -} - -// A request to cancel a job. -message CancelJobRequest { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The job ID. - string job_id = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// A request to delete a job. -message DeleteJobRequest { - // Required. The ID of the Google Cloud Platform project that the job - // belongs to. - string project_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The Cloud Dataproc region in which to handle the request. - string region = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The job ID. - string job_id = 2 [(google.api.field_behavior) = REQUIRED]; -} diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/operations.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/operations.proto deleted file mode 100644 index 74cbde3c..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/operations.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -import "google/protobuf/timestamp.proto"; -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "OperationsProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// The status of the operation. -message ClusterOperationStatus { - // The operation state. - enum State { - // Unused. - UNKNOWN = 0; - - // The operation has been created. - PENDING = 1; - - // The operation is running. - RUNNING = 2; - - // The operation is done; either cancelled or completed. - DONE = 3; - } - - // Output only. A message containing the operation state. - State state = 1; - - // Output only. A message containing the detailed operation state. - string inner_state = 2; - - // Output only. A message containing any operation metadata details. - string details = 3; - - // Output only. The time this state was entered. - google.protobuf.Timestamp state_start_time = 4; -} - -// Metadata describing the operation. -message ClusterOperationMetadata { - // Output only. Name of the cluster for the operation. - string cluster_name = 7; - - // Output only. Cluster UUID for the operation. - string cluster_uuid = 8; - - // Output only. Current operation status. - ClusterOperationStatus status = 9; - - // Output only. The previous operation status. - repeated ClusterOperationStatus status_history = 10; - - // Output only. The operation type. - string operation_type = 11; - - // Output only. Short description of operation. - string description = 12; - - // Output only. Labels associated with the operation - map labels = 13; - - // Output only. Errors encountered during operation execution. - repeated string warnings = 14; -} diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/shared.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/shared.proto deleted file mode 100644 index de1130d9..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/shared.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "SharedProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// Cluster components that can be activated. -enum Component { - // Unspecified component. - COMPONENT_UNSPECIFIED = 0; - - // The Anaconda python distribution. - ANACONDA = 5; - - // The Druid query engine. - DRUID = 9; - - // The Hive Web HCatalog (the REST service for accessing HCatalog). - HIVE_WEBHCAT = 3; - - // The Jupyter Notebook. - JUPYTER = 1; - - // The Kerberos security feature. - KERBEROS = 7; - - // The Presto query engine. - PRESTO = 6; - - // The Zeppelin notebook. - ZEPPELIN = 4; - - // The Zookeeper service. - ZOOKEEPER = 8; -} diff --git a/google-cloud/protos/google/cloud/dataproc/v1beta2/workflow_templates.proto b/google-cloud/protos/google/cloud/dataproc/v1beta2/workflow_templates.proto deleted file mode 100644 index 6fd30974..00000000 --- a/google-cloud/protos/google/cloud/dataproc/v1beta2/workflow_templates.proto +++ /dev/null @@ -1,790 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.cloud.dataproc.v1beta2; - -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/v1beta2/clusters.proto"; -import "google/cloud/dataproc/v1beta2/jobs.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/v1beta2;dataproc"; -option java_multiple_files = true; -option java_outer_classname = "WorkflowTemplatesProto"; -option java_package = "com.google.cloud.dataproc.v1beta2"; - -// The API interface for managing Workflow Templates in the -// Cloud Dataproc API. -service WorkflowTemplateService { - option (google.api.default_host) = "dataproc.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Creates new workflow template. - rpc CreateWorkflowTemplate(CreateWorkflowTemplateRequest) returns (WorkflowTemplate) { - option (google.api.http) = { - post: "/v1beta2/{parent=projects/*/regions/*}/workflowTemplates" - body: "template" - additional_bindings { - post: "/v1beta2/{parent=projects/*/locations/*}/workflowTemplates" - body: "template" - } - }; - option (google.api.method_signature) = "parent, template"; - } - - // Retrieves the latest workflow template. - // - // Can retrieve previously instantiated template by specifying optional - // version parameter. - rpc GetWorkflowTemplate(GetWorkflowTemplateRequest) returns (WorkflowTemplate) { - option (google.api.http) = { - get: "/v1beta2/{name=projects/*/regions/*/workflowTemplates/*}" - additional_bindings { - get: "/v1beta2/{name=projects/*/locations/*/workflowTemplates/*}" - } - }; - option (google.api.method_signature) = "name"; - } - - // Instantiates a template and begins execution. - // - // The returned Operation can be used to track execution of - // workflow by polling - // [operations.get][google.longrunning.Operations.GetOperation]. - // The Operation will complete when entire workflow is finished. - // - // The running workflow can be aborted via - // [operations.cancel][google.longrunning.Operations.CancelOperation]. - // This will cause any inflight jobs to be cancelled and workflow-owned - // clusters to be deleted. - // - // The [Operation.metadata][google.longrunning.Operation.metadata] will be - // [WorkflowMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1beta2#workflowmetadata). - // Also see [Using - // WorkflowMetadata](/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). - // - // On successful completion, - // [Operation.response][google.longrunning.Operation.response] will be - // [Empty][google.protobuf.Empty]. - rpc InstantiateWorkflowTemplate(InstantiateWorkflowTemplateRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1beta2/{name=projects/*/regions/*/workflowTemplates/*}:instantiate" - body: "*" - additional_bindings { - post: "/v1beta2/{name=projects/*/locations/*/workflowTemplates/*}:instantiate" - body: "*" - } - }; - option (google.api.method_signature) = "name"; - option (google.api.method_signature) = "name, parameters"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "WorkflowMetadata" - }; - } - - // Instantiates a template and begins execution. - // - // This method is equivalent to executing the sequence - // [CreateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.CreateWorkflowTemplate], [InstantiateWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.InstantiateWorkflowTemplate], - // [DeleteWorkflowTemplate][google.cloud.dataproc.v1beta2.WorkflowTemplateService.DeleteWorkflowTemplate]. - // - // The returned Operation can be used to track execution of - // workflow by polling - // [operations.get][google.longrunning.Operations.GetOperation]. - // The Operation will complete when entire workflow is finished. - // - // The running workflow can be aborted via - // [operations.cancel][google.longrunning.Operations.CancelOperation]. - // This will cause any inflight jobs to be cancelled and workflow-owned - // clusters to be deleted. - // - // The [Operation.metadata][google.longrunning.Operation.metadata] will be - // [WorkflowMetadata](/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). - // Also see [Using - // WorkflowMetadata](/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata). - // - // On successful completion, - // [Operation.response][google.longrunning.Operation.response] will be - // [Empty][google.protobuf.Empty]. - rpc InstantiateInlineWorkflowTemplate(InstantiateInlineWorkflowTemplateRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v1beta2/{parent=projects/*/locations/*}/workflowTemplates:instantiateInline" - body: "template" - additional_bindings { - post: "/v1beta2/{parent=projects/*/regions/*}/workflowTemplates:instantiateInline" - body: "template" - } - }; - option (google.api.method_signature) = "parent, template"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "WorkflowMetadata" - }; - } - - // Updates (replaces) workflow template. The updated template - // must contain version that matches the current server version. - rpc UpdateWorkflowTemplate(UpdateWorkflowTemplateRequest) returns (WorkflowTemplate) { - option (google.api.http) = { - put: "/v1beta2/{template.name=projects/*/regions/*/workflowTemplates/*}" - body: "template" - additional_bindings { - put: "/v1beta2/{template.name=projects/*/locations/*/workflowTemplates/*}" - body: "template" - } - }; - option (google.api.method_signature) = "template"; - } - - // Lists workflows that match the specified filter in the request. - rpc ListWorkflowTemplates(ListWorkflowTemplatesRequest) returns (ListWorkflowTemplatesResponse) { - option (google.api.http) = { - get: "/v1beta2/{parent=projects/*/regions/*}/workflowTemplates" - additional_bindings { - get: "/v1beta2/{parent=projects/*/locations/*}/workflowTemplates" - } - }; - option (google.api.method_signature) = "parent"; - } - - // Deletes a workflow template. It does not cancel in-progress workflows. - rpc DeleteWorkflowTemplate(DeleteWorkflowTemplateRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1beta2/{name=projects/*/regions/*/workflowTemplates/*}" - additional_bindings { - delete: "/v1beta2/{name=projects/*/locations/*/workflowTemplates/*}" - } - }; - option (google.api.method_signature) = "name"; - } -} - -// A Cloud Dataproc workflow template resource. -message WorkflowTemplate { - option (google.api.resource) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - pattern: "projects/{project}/regions/{region}/workflowTemplates/{workflow_template}" - pattern: "projects/{project}/locations/{location}/workflowTemplates/{workflow_template}" - history: ORIGINALLY_SINGLE_PATTERN - }; - - // Required. The template id. - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). Cannot begin or end with underscore - // or hyphen. Must consist of between 3 and 50 characters. - // - // . - string id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Output only. The resource name of the workflow template, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` - // - // * For `projects.locations.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. Used to perform a consistent read-modify-write. - // - // This field should be left blank for a `CreateWorkflowTemplate` request. It - // is required for an `UpdateWorkflowTemplate` request, and must match the - // current server version. A typical update template flow would fetch the - // current template with a `GetWorkflowTemplate` request, which will return - // the current template with the `version` field filled in with the - // current server version. The user updates other fields in the template, - // then returns it as part of the `UpdateWorkflowTemplate` request. - int32 version = 3 [(google.api.field_behavior) = OPTIONAL]; - - // Output only. The time template was created. - google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The time template was last updated. - google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Optional. The labels to associate with this template. These labels - // will be propagated to all jobs and clusters created by the workflow - // instance. - // - // 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 template. - map labels = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Required. WorkflowTemplate scheduling information. - WorkflowTemplatePlacement placement = 7; - - // Required. The Directed Acyclic Graph of Jobs to submit. - repeated OrderedJob jobs = 8; - - // Optional. Template parameters whose values are substituted into the - // template. Values for parameters must be provided when the template is - // instantiated. - repeated TemplateParameter parameters = 9 [(google.api.field_behavior) = OPTIONAL]; -} - -// Specifies workflow execution target. -// -// Either `managed_cluster` or `cluster_selector` is required. -message WorkflowTemplatePlacement { - // Required. Specifies where workflow executes; either on a managed - // cluster or an existing cluster chosen by labels. - oneof placement { - // Optional. A cluster that is managed by the workflow. - ManagedCluster managed_cluster = 1; - - // Optional. A selector that chooses target cluster for jobs based - // on metadata. - // - // The selector is evaluated at the time each job is submitted. - ClusterSelector cluster_selector = 2; - } -} - -// Cluster that is managed by the workflow. -message ManagedCluster { - // Required. The cluster name prefix. A unique cluster name will be formed by - // appending a random suffix. - // - // The name must contain only lower-case letters (a-z), numbers (0-9), - // and hyphens (-). Must begin with a letter. Cannot begin or end with - // hyphen. Must consist of between 2 and 35 characters. - string cluster_name = 2; - - // Required. The cluster configuration. - ClusterConfig config = 3; - - // Optional. The labels to associate with this cluster. - // - // Label keys must be between 1 and 63 characters long, and must conform to - // the following PCRE regular expression: - // [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} - // - // Label values must be between 1 and 63 characters long, and must conform to - // the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} - // - // No more than 32 labels can be associated with a given cluster. - map labels = 4; -} - -// A selector that chooses target cluster for jobs based on metadata. -message ClusterSelector { - // Optional. The zone where workflow process executes. This parameter does not - // affect the selection of the cluster. - // - // If unspecified, the zone of the first cluster matching the selector - // is used. - string zone = 1; - - // Required. The cluster labels. Cluster must have all labels - // to match. - map cluster_labels = 2; -} - -// A job executed by the workflow. -message OrderedJob { - // Required. The step id. The id must be unique among all jobs - // within the template. - // - // The step id is used as prefix for job id, as job - // `goog-dataproc-workflow-step-id` label, and in - // [prerequisiteStepIds][google.cloud.dataproc.v1beta2.OrderedJob.prerequisite_step_ids] field from other - // steps. - // - // The id must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). Cannot begin or end with underscore - // or hyphen. Must consist of between 3 and 50 characters. - string step_id = 1; - - // Required. The job definition. - oneof job_type { - // Job is a Hadoop job. - HadoopJob hadoop_job = 2; - - // Job is a Spark job. - SparkJob spark_job = 3; - - // Job is a Pyspark job. - PySparkJob pyspark_job = 4; - - // Job is a Hive job. - HiveJob hive_job = 5; - - // Job is a Pig job. - PigJob pig_job = 6; - - // Job is a SparkSql job. - SparkSqlJob spark_sql_job = 7; - } - - // Optional. The labels to associate with this job. - // - // Label keys must be between 1 and 63 characters long, and must conform to - // the following regular expression: - // [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} - // - // Label values must be between 1 and 63 characters long, and must conform to - // the following regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} - // - // No more than 32 labels can be associated with a given job. - map labels = 8; - - // Optional. Job scheduling configuration. - JobScheduling scheduling = 9; - - // Optional. The optional list of prerequisite job step_ids. - // If not specified, the job will start at the beginning of workflow. - repeated string prerequisite_step_ids = 10; -} - -// A configurable parameter that replaces one or more fields in the template. -// Parameterizable fields: -// - Labels -// - File uris -// - Job properties -// - Job arguments -// - Script variables -// - Main class (in HadoopJob and SparkJob) -// - Zone (in ClusterSelector) -message TemplateParameter { - // Required. Parameter name. - // The parameter name is used as the key, and paired with the - // parameter value, which are passed to the template when the template - // is instantiated. - // The name must contain only capital letters (A-Z), numbers (0-9), and - // underscores (_), and must not start with a number. The maximum length is - // 40 characters. - string name = 1; - - // Required. Paths to all fields that the parameter replaces. - // A field is allowed to appear in at most one parameter's list of field - // paths. - // - // A field path is similar in syntax to a [google.protobuf.FieldMask][google.protobuf.FieldMask]. - // For example, a field path that references the zone field of a workflow - // template's cluster selector would be specified as - // `placement.clusterSelector.zone`. - // - // Also, field paths can reference fields using the following syntax: - // - // * Values in maps can be referenced by key: - // * labels['key'] - // * placement.clusterSelector.clusterLabels['key'] - // * placement.managedCluster.labels['key'] - // * placement.clusterSelector.clusterLabels['key'] - // * jobs['step-id'].labels['key'] - // - // * Jobs in the jobs list can be referenced by step-id: - // * jobs['step-id'].hadoopJob.mainJarFileUri - // * jobs['step-id'].hiveJob.queryFileUri - // * jobs['step-id'].pySparkJob.mainPythonFileUri - // * jobs['step-id'].hadoopJob.jarFileUris[0] - // * jobs['step-id'].hadoopJob.archiveUris[0] - // * jobs['step-id'].hadoopJob.fileUris[0] - // * jobs['step-id'].pySparkJob.pythonFileUris[0] - // - // * Items in repeated fields can be referenced by a zero-based index: - // * jobs['step-id'].sparkJob.args[0] - // - // * Other examples: - // * jobs['step-id'].hadoopJob.properties['key'] - // * jobs['step-id'].hadoopJob.args[0] - // * jobs['step-id'].hiveJob.scriptVariables['key'] - // * jobs['step-id'].hadoopJob.mainJarFileUri - // * placement.clusterSelector.zone - // - // It may not be possible to parameterize maps and repeated fields in their - // entirety since only individual map values and individual items in repeated - // fields can be referenced. For example, the following field paths are - // invalid: - // - // - placement.clusterSelector.clusterLabels - // - jobs['step-id'].sparkJob.args - repeated string fields = 2; - - // Optional. Brief description of the parameter. - // Must not exceed 1024 characters. - string description = 3; - - // Optional. Validation rules to be applied to this parameter's value. - ParameterValidation validation = 4; -} - -// Configuration for parameter validation. -message ParameterValidation { - // Required. The type of validation to be performed. - oneof validation_type { - // Validation based on regular expressions. - RegexValidation regex = 1; - - // Validation based on a list of allowed values. - ValueValidation values = 2; - } -} - -// Validation based on regular expressions. -message RegexValidation { - // Required. RE2 regular expressions used to validate the parameter's value. - // The value must match the regex in its entirety (substring - // matches are not sufficient). - repeated string regexes = 1; -} - -// Validation based on a list of allowed values. -message ValueValidation { - // Required. List of allowed values for the parameter. - repeated string values = 1; -} - -// A Cloud Dataproc workflow template resource. -message WorkflowMetadata { - // The operation state. - enum State { - // Unused. - UNKNOWN = 0; - - // The operation has been created. - PENDING = 1; - - // The operation is running. - RUNNING = 2; - - // The operation is done; either cancelled or completed. - DONE = 3; - } - - // Output only. The resource name of the workflow template as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` - // - // * For `projects.locations.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` - string template = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The version of template at the time of - // workflow instantiation. - int32 version = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The create cluster operation metadata. - ClusterOperation create_cluster = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The workflow graph. - WorkflowGraph graph = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The delete cluster operation metadata. - ClusterOperation delete_cluster = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The workflow state. - State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The name of the target cluster. - string cluster_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Map from parameter names to values that were used for those parameters. - map parameters = 8; - - // Output only. Workflow start time. - google.protobuf.Timestamp start_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Workflow end time. - google.protobuf.Timestamp end_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The UUID of target cluster. - string cluster_uuid = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// The cluster operation triggered by a workflow. -message ClusterOperation { - // Output only. The id of the cluster operation. - string operation_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Error, if operation failed. - string error = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Indicates the operation is done. - bool done = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// The workflow graph. -message WorkflowGraph { - // Output only. The workflow nodes. - repeated WorkflowNode nodes = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// The workflow node. -message WorkflowNode { - // The workflow node state. - enum NodeState { - // State is unspecified. - NODE_STATUS_UNSPECIFIED = 0; - - // The node is awaiting prerequisite node to finish. - BLOCKED = 1; - - // The node is runnable but not running. - RUNNABLE = 2; - - // The node is running. - RUNNING = 3; - - // The node completed successfully. - COMPLETED = 4; - - // The node failed. A node can be marked FAILED because - // its ancestor or peer failed. - FAILED = 5; - } - - // Output only. The name of the node. - string step_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Node's prerequisite nodes. - repeated string prerequisite_step_ids = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The job id; populated after the node enters RUNNING state. - string job_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The node state. - NodeState state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The error detail. - string error = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// A request to create a workflow template. -message CreateWorkflowTemplateRequest { - // Required. The resource name of the region or location, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates,create`, the resource name of the - // region has the following format: - // `projects/{project_id}/regions/{region}` - // - // * For `projects.locations.workflowTemplates.create`, the resource name of - // the location has the following format: - // `projects/{project_id}/locations/{location}` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; - - // Required. The Dataproc workflow template to create. - WorkflowTemplate template = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// A request to fetch a workflow template. -message GetWorkflowTemplateRequest { - // Required. The resource name of the workflow template, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates.get`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` - // - // * For `projects.locations.workflowTemplates.get`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; - - // Optional. The version of workflow template to retrieve. Only previously - // instantiated versions can be retrieved. - // - // If unspecified, retrieves the current version. - int32 version = 2; -} - -// A request to instantiate a workflow template. -message InstantiateWorkflowTemplateRequest { - // Required. The resource name of the workflow template, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates.instantiate`, the resource name - // of the template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` - // - // * For `projects.locations.workflowTemplates.instantiate`, the resource name - // of the template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; - - // Optional. The version of workflow template to instantiate. If specified, - // the workflow will be instantiated only if the current version of - // the workflow template has the supplied version. - // - // This option cannot be used to instantiate a previous version of - // workflow template. - int32 version = 2; - - // Deprecated. Please use `request_id` field instead. - string instance_id = 3 [deprecated = true]; - - // Optional. A tag that prevents multiple concurrent workflow - // instances with the same tag from running. This mitigates risk of - // concurrent instances started due to retries. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The tag must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 characters. - string request_id = 5; - - // Optional. Map from parameter names to values that should be used for those - // parameters. Values may not exceed 100 characters. - map parameters = 4; -} - -// A request to instantiate an inline workflow template. -message InstantiateInlineWorkflowTemplateRequest { - // Required. The resource name of the region or location, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates,instantiateinline`, the resource - // name of the region has the following format: - // `projects/{project_id}/regions/{region}` - // - // * For `projects.locations.workflowTemplates.instantiateinline`, the - // resource name of the location has the following format: - // `projects/{project_id}/locations/{location}` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; - - // Required. The workflow template to instantiate. - WorkflowTemplate template = 2 [(google.api.field_behavior) = REQUIRED]; - - // Deprecated. Please use `request_id` field instead. - string instance_id = 3; - - // Optional. A tag that prevents multiple concurrent workflow - // instances with the same tag from running. This mitigates risk of - // concurrent instances started due to retries. - // - // It is recommended to always set this value to a - // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). - // - // The tag must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 characters. - string request_id = 4; -} - -// A request to update a workflow template. -message UpdateWorkflowTemplateRequest { - // Required. The updated workflow template. - // - // The `template.version` field must match the current version. - WorkflowTemplate template = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; -} - -// A request to list workflow templates in a project. -message ListWorkflowTemplatesRequest { - // Required. The resource name of the region or location, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates,list`, the resource - // name of the region has the following format: - // `projects/{project_id}/regions/{region}` - // - // * For `projects.locations.workflowTemplates.list`, the - // resource name of the location has the following format: - // `projects/{project_id}/locations/{location}` - string parent = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The maximum number of results to return in each response. - int32 page_size = 2; - - // Optional. The page token, returned by a previous call, to request the - // next page of results. - string page_token = 3; -} - -// A response to a request to list workflow templates in a project. -message ListWorkflowTemplatesResponse { - // Output only. WorkflowTemplates list. - repeated WorkflowTemplate templates = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. This token is included in the response if there are more - // results to fetch. To fetch additional results, provide this value as the - // page_token in a subsequent ListWorkflowTemplatesRequest. - string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// A request to delete a workflow template. -// -// Currently started workflows will remain running. -message DeleteWorkflowTemplateRequest { - // Required. The resource name of the workflow template, as described - // in https://cloud.google.com/apis/design/resource_names. - // - // * For `projects.regions.workflowTemplates.delete`, the resource name - // of the template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` - // - // * For `projects.locations.workflowTemplates.instantiate`, the resource name - // of the template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "dataproc.googleapis.com/WorkflowTemplate" - } - ]; - - // Optional. The version of workflow template to delete. If specified, - // will only delete the template if the current server version matches - // specified version. - int32 version = 2; -} diff --git a/google-cloud/protos/google/cloud/dataqna/BUILD.bazel b/google-cloud/protos/google/cloud/dataqna/BUILD.bazel new file mode 100644 index 00000000..fa1e0162 --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-dataqna. + +# 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 dataqna. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1alpha in this case. +ruby_cloud_gapic_library( + name = "dataqna_ruby_wrapper", + srcs = ["//google/cloud/dataqna/v1alpha:dataqna_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-dataqna", + "ruby-cloud-env-prefix=BIGQUERY_DATAQNA", + "ruby-cloud-wrapper-of=v1alpha:0.0", + "ruby-cloud-path-override=data_qn_a=dataqna", + "ruby-cloud-namespace-override=Dataqna=DataQnA", + "ruby-cloud-api-id=dataqna.googleapis.com", + "ruby-cloud-api-shortname=dataqna", + ], + ruby_cloud_description = "Data QnA is a natural language question and answer service for BigQuery data.", + ruby_cloud_title = "BigQuery Data QnA", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-dataqna-ruby", + deps = [ + ":dataqna_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/BUILD.bazel b/google-cloud/protos/google/cloud/dataqna/v1alpha/BUILD.bazel new file mode 100644 index 00000000..a3a958f5 --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/BUILD.bazel @@ -0,0 +1,364 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "dataqna_proto", + srcs = [ + "annotated_string.proto", + "auto_suggestion_service.proto", + "question.proto", + "question_service.proto", + "user_feedback.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//:any_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "dataqna_proto_with_info", + deps = [ + ":dataqna_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 = "dataqna_java_proto", + deps = [":dataqna_proto"], +) + +java_grpc_library( + name = "dataqna_java_grpc", + srcs = [":dataqna_proto"], + deps = [":dataqna_java_proto"], +) + +java_gapic_library( + name = "dataqna_java_gapic", + srcs = [":dataqna_proto_with_info"], + grpc_service_config = "dataqna_grpc_service_config.json", + test_deps = [ + ":dataqna_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":dataqna_java_proto", + ], +) + +java_gapic_test( + name = "dataqna_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.dataqna.v1alpha.AutoSuggestionServiceClientHttpJsonTest", + "com.google.cloud.dataqna.v1alpha.AutoSuggestionServiceClientTest", + "com.google.cloud.dataqna.v1alpha.QuestionServiceClientHttpJsonTest", + "com.google.cloud.dataqna.v1alpha.QuestionServiceClientTest", + ], + runtime_deps = [":dataqna_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-dataqna-v1alpha-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":dataqna_java_gapic", + ":dataqna_java_grpc", + ":dataqna_java_proto", + ":dataqna_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "dataqna_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha", + protos = [":dataqna_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "dataqna_go_gapic", + srcs = [":dataqna_proto_with_info"], + grpc_service_config = "dataqna_grpc_service_config.json", + importpath = "cloud.google.com/go/dataqna/apiv1alpha;dataqna", + service_yaml = "dataqna_v1alpha.yaml", + transport = "grpc+rest", + deps = [ + ":dataqna_go_proto", + ], +) + +go_test( + name = "dataqna_go_gapic_test", + srcs = [":dataqna_go_gapic_srcjar_test"], + embed = [":dataqna_go_gapic"], + importpath = "cloud.google.com/go/dataqna/apiv1alpha", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-dataqna-v1alpha-go", + deps = [ + ":dataqna_go_gapic", + ":dataqna_go_gapic_srcjar-test.srcjar", + ":dataqna_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "dataqna_py_gapic", + srcs = [":dataqna_proto"], + grpc_service_config = "dataqna_grpc_service_config.json", + transport = "grpc+rest", +) + +py_test( + name = "dataqna_py_gapic_test", + srcs = [ + "dataqna_py_gapic_pytest.py", + "dataqna_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":dataqna_py_gapic"], +) + +py_gapic_assembly_pkg( + name = "dataqna-v1alpha-py", + deps = [ + ":dataqna_py_gapic", + ], +) + +############################################################################## +# 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 = "dataqna_php_proto", + deps = [":dataqna_proto"], +) + +php_grpc_library( + name = "dataqna_php_grpc", + srcs = [":dataqna_proto"], + deps = [":dataqna_php_proto"], +) + +php_gapic_library( + name = "dataqna_php_gapic", + srcs = [":dataqna_proto_with_info"], + grpc_service_config = "dataqna_grpc_service_config.json", + deps = [ + ":dataqna_php_grpc", + ":dataqna_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-dataqna-v1alpha-php", + deps = [ + ":dataqna_php_gapic", + ":dataqna_php_grpc", + ":dataqna_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "dataqna_nodejs_gapic", + package_name = "@google-cloud/data-qna", + src = ":dataqna_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "dataqna_grpc_service_config.json", + package = "google.cloud.dataqna.v1alpha", + service_yaml = "dataqna_v1alpha.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "dataqna-v1alpha-nodejs", + deps = [ + ":dataqna_nodejs_gapic", + ":dataqna_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 = "dataqna_ruby_proto", + deps = [":dataqna_proto"], +) + +ruby_grpc_library( + name = "dataqna_ruby_grpc", + srcs = [":dataqna_proto"], + deps = [":dataqna_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "dataqna_ruby_gapic", + srcs = [":dataqna_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-dataqna-v1alpha", + "ruby-cloud-env-prefix=BIGQUERY_DATAQNA", + "ruby-cloud-path-override=data_qn_a=dataqna", + "ruby-cloud-namespace-override=Dataqna=DataQnA", + "ruby-cloud-api-id=dataqna.googleapis.com", + "ruby-cloud-api-shortname=dataqna", + ], + grpc_service_config = "dataqna_grpc_service_config.json", + ruby_cloud_description = "Data QnA is a natural language question and answer service for BigQuery data.", + ruby_cloud_title = "BigQuery Data QnA V1alpha", + deps = [ + ":dataqna_ruby_grpc", + ":dataqna_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-dataqna-v1alpha-ruby", + deps = [ + ":dataqna_ruby_gapic", + ":dataqna_ruby_grpc", + ":dataqna_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 = "dataqna_csharp_proto", + deps = [":dataqna_proto"], +) + +csharp_grpc_library( + name = "dataqna_csharp_grpc", + srcs = [":dataqna_proto"], + deps = [":dataqna_csharp_proto"], +) + +csharp_gapic_library( + name = "dataqna_csharp_gapic", + srcs = [":dataqna_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "dataqna_grpc_service_config.json", + service_yaml = "dataqna_v1alpha.yaml", + deps = [ + ":dataqna_csharp_grpc", + ":dataqna_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-dataqna-v1alpha-csharp", + deps = [ + ":dataqna_csharp_gapic", + ":dataqna_csharp_grpc", + ":dataqna_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/annotated_string.proto b/google-cloud/protos/google/cloud/dataqna/v1alpha/annotated_string.proto new file mode 100644 index 00000000..d1eb596d --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/annotated_string.proto @@ -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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF 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.dataqna.v1alpha; + +option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna"; +option java_multiple_files = true; +option java_outer_classname = "AnnotatedStringProto"; +option java_package = "com.google.cloud.dataqna.v1alpha"; +option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha"; +option ruby_package = "Google::Cloud::DataQnA::V1alpha"; + +// Describes string annotation from both semantic and formatting perspectives. +// Example: +// +// User Query: +// +// top countries by population in Africa +// +// 0 4 14 17 28 31 37 +// +// Table Data: +// +// + "country" - dimension +// + "population" - metric +// + "Africa" - value in the "continent" column +// +// text_formatted = `"top countries by population in Africa"` +// +// html_formatted = +// `"top countries by population in Africa"` +// +// ``` +// markups = [ +// {DIMENSION, 4, 12}, // 'countries' +// {METRIC, 17, 26}, // 'population' +// {FILTER, 31, 36} // 'Africa' +// ] +// ``` +// +// Note that html formattings for 'DIMENSION' and 'METRIC' are the same, while +// semantic markups are different. +message AnnotatedString { + // Semantic markup denotes a substring (by index and length) with markup + // information. + message SemanticMarkup { + // The semantic type of the markup substring. + SemanticMarkupType type = 1; + + // Unicode character index of the query. + int32 start_char_index = 2; + + // The length (number of unicode characters) of the markup substring. + int32 length = 3; + } + + // Semantic markup types. + enum SemanticMarkupType { + // No markup type was specified. + MARKUP_TYPE_UNSPECIFIED = 0; + + // Markup for a substring denoting a metric. + METRIC = 1; + + // Markup for a substring denoting a dimension. + DIMENSION = 2; + + // Markup for a substring denoting a filter. + FILTER = 3; + + // Markup for an unused substring. + UNUSED = 4; + + // Markup for a substring containing blocked phrases. + BLOCKED = 5; + + // Markup for a substring that contains terms for row. + ROW = 6; + } + + // Text version of the string. + string text_formatted = 1; + + // HTML version of the string annotation. + string html_formatted = 2; + + // Semantic version of the string annotation. + repeated SemanticMarkup markups = 3; +} diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/auto_suggestion_service.proto b/google-cloud/protos/google/cloud/dataqna/v1alpha/auto_suggestion_service.proto new file mode 100644 index 00000000..dc547819 --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/auto_suggestion_service.proto @@ -0,0 +1,215 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dataqna.v1alpha; + +import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dataqna/v1alpha/annotated_string.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna"; +option java_multiple_files = true; +option java_outer_classname = "AutoSuggestionServiceProto"; +option java_package = "com.google.cloud.dataqna.v1alpha"; +option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha"; +option ruby_package = "Google::Cloud::DataQnA::V1alpha"; + +// This stateless API provides automatic suggestions for natural language +// queries for the data sources in the provided project and location. +// +// The service provides a resourceless operation `suggestQueries` that can be +// called to get a list of suggestions for a given incomplete query and scope +// (or list of scopes) under which the query is to be interpreted. +// +// There are two types of suggestions, ENTITY for single entity suggestions +// and TEMPLATE for full sentences. By default, both types are returned. +// +// Example Request: +// ``` +// GetSuggestions({ +// parent: "locations/us/projects/my-project" +// scopes: +// "//bigquery.googleapis.com/projects/my-project/datasets/my-dataset/tables/my-table" +// query: "top it" +// }) +// ``` +// +// The service will retrieve information based on the given scope(s) and give +// suggestions based on that (e.g. "top item" for "top it" if "item" is a known +// dimension for the provided scope). +// ``` +// suggestions { +// suggestion_info { +// annotated_suggestion { +// text_formatted: "top item by sum of usd_revenue_net" +// markups { +// type: DIMENSION +// start_char_index: 4 +// length: 4 +// } +// markups { +// type: METRIC +// start_char_index: 19 +// length: 15 +// } +// } +// query_matches { +// start_char_index: 0 +// length: 6 +// } +// } +// suggestion_type: TEMPLATE +// ranking_score: 0.9 +// } +// suggestions { +// suggestion_info { +// annotated_suggestion { +// text_formatted: "item" +// markups { +// type: DIMENSION +// start_char_index: 4 +// length: 2 +// } +// } +// query_matches { +// start_char_index: 0 +// length: 6 +// } +// } +// suggestion_type: ENTITY +// ranking_score: 0.8 +// } +// ``` +service AutoSuggestionService { + option (google.api.default_host) = "dataqna.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a list of suggestions based on a prefix string. + // AutoSuggestion tolerance should be less than 1 second. + rpc SuggestQueries(SuggestQueriesRequest) returns (SuggestQueriesResponse) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*}:suggestQueries" + body: "*" + }; + } +} + +// Request for query suggestions. +message SuggestQueriesRequest { + // Required. The parent of the suggestion query is the resource denoting the project and + // location. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The scopes to which this search is restricted. The only supported scope + // pattern is + // `//bigquery.googleapis.com/projects/{GCP-PROJECT-ID}/datasets/{DATASET-ID}/tables/{TABLE-ID}`. + repeated string scopes = 2; + + // User query for which to generate suggestions. If the query is empty, zero + // state suggestions are returned. This allows UIs to display suggestions + // right away, helping the user to get a sense of what a query might look + // like. + string query = 3; + + // The requested suggestion type. Multiple suggestion types can be + // requested, but there is no guarantee that the service will return + // suggestions for each type. Suggestions for a requested type might rank + // lower than suggestions for other types and the service may decide to cut + // these suggestions off. + repeated SuggestionType suggestion_types = 4; +} + +// A suggestion for a query with a ranking score. +message Suggestion { + // Detailed information about the suggestion. + SuggestionInfo suggestion_info = 1; + + // The score of the suggestion. This can be used to define ordering in UI. + // The score represents confidence in the suggestion where higher is better. + // All score values must be in the range [0, 1). + double ranking_score = 2; + + // The type of the suggestion. + SuggestionType suggestion_type = 3; +} + +// Detailed information about the suggestion. +message SuggestionInfo { + // MatchInfo describes which part of suggestion matched with data in user + // typed query. This can be used to highlight matching parts in the UI. This + // is different from the annotations provided in annotated_suggestion. The + // annotated_suggestion provides information about the semantic meaning, while + // this provides information about how it relates to the input. + // + // Example: + // user query: `top products` + // + // ``` + // annotated_suggestion { + // text_formatted = "top product_group" + // html_formatted = "top product_group" + // markups { + // {type: TEXT, start_char_index: 0, length: 3} + // {type: DIMENSION, start_char_index: 4, length: 13} + // } + // } + // + // query_matches { + // { start_char_index: 0, length: 3 } + // { start_char_index: 4, length: 7} + // } + // ``` + message MatchInfo { + // Unicode character index of the string annotation. + int32 start_char_index = 1; + + // Count of unicode characters of this substring. + int32 length = 2; + } + + // Annotations for the suggestion. This provides information about which part + // of the suggestion corresponds to what semantic meaning (e.g. a metric). + AnnotatedString annotated_suggestion = 1; + + // Matches between user query and the annotated string. + repeated MatchInfo query_matches = 2; +} + +// Response to SuggestQueries. +message SuggestQueriesResponse { + // A list of suggestions. + repeated Suggestion suggestions = 1; +} + +// The type of suggestion. +enum SuggestionType { + // No suggestiont type is specified. + SUGGESTION_TYPE_UNSPECIFIED = 0; + + // Entity suggestion type. Suggestions are for single entities. + ENTITY = 1; + + // Template suggestion type. Suggestions are for full sentences. + TEMPLATE = 2; +} diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_grpc_service_config.json b/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_grpc_service_config.json new file mode 100644 index 00000000..434d589c --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.cloud.dataqna.v1alpha.QuestionService" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.dataqna.v1alpha.QuestionService", + "method": "CreateQuestion"}, + { "service": "google.cloud.dataqna.v1alpha.QuestionService", + "method": "ExecuteQuestion"}, + { "service": "google.cloud.dataqna.v1alpha.QuestionService", + "method": "UpdateUserFeedback"} + ], + "timeout": "60s" + }, + { + "name": [ + { "service": "google.cloud.dataqna.v1alpha.AutoSuggestionService" }], + "timeout": "2s" + }] +} diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_v1alpha.yaml b/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_v1alpha.yaml new file mode 100644 index 00000000..32290947 --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/dataqna_v1alpha.yaml @@ -0,0 +1,24 @@ +type: google.api.Service +config_version: 3 +name: dataqna.googleapis.com +title: Data QnA API + +apis: +- name: google.cloud.dataqna.v1alpha.AutoSuggestionService +- name: google.cloud.dataqna.v1alpha.QuestionService + +documentation: + summary: |- + Data QnA is a natural language question and answer service for BigQuery + data. + +authentication: + rules: + - selector: google.cloud.dataqna.v1alpha.AutoSuggestionService.SuggestQueries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.cloud.dataqna.v1alpha.QuestionService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/question.proto b/google-cloud/protos/google/cloud/dataqna/v1alpha/question.proto new file mode 100644 index 00000000..7478adfd --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/question.proto @@ -0,0 +1,401 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dataqna.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dataqna/v1alpha/annotated_string.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna"; +option java_multiple_files = true; +option java_outer_classname = "QuestionProto"; +option java_package = "com.google.cloud.dataqna.v1alpha"; +option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha"; +option ruby_package = "Google::Cloud::DataQnA::V1alpha"; + +// The question resource represents a natural language query, its settings, +// understanding generated by the system, and answer retrieval status. +// A question cannot be modified. +message Question { + option (google.api.resource) = { + type: "dataqna.googleapis.com/Question" + pattern: "projects/{project}/locations/{location}/questions/{question}" + }; + + // Output only. Immutable. The unique identifier for the Question. The ID is server-generated. + // Example: `projects/foo/locations/bar/questions/123` + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. Scopes to be used for the question. A scope defines the relevant data set + // scope. It can be a reference to a specific data source or a collection of + // data sources. Currently, support is limited to a single BigQuery table. + // There must be exactly one `scopes` element. + // + // Example: + // `//bigquery.googleapis.com/projects/test-project/datasets/foo/tables/bar` + repeated string scopes = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. The query in natural language. + string query = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // A list of annotations to use instead of the default annotation of a data + // source (set in the data source reference resource). There must not be + // more than one annotation with the same data source reference. + repeated string data_source_annotations = 4; + + // An error field explaining why interpretation failed. This is only populated + // if the interpretation failed. + // + // Note: This is different from getting a status error on the request itself. + // This is not a client or server error and the Question resource is still + // persisted, but the service could not interpret the question. Clients should + // present the error to the user so the user can rephrase the question. + InterpretError interpret_error = 5; + + // A list of interpretations for this question. + repeated Interpretation interpretations = 6; + + // Time when the question was created. + google.protobuf.Timestamp create_time = 7; + + // Output only. The e-mail address of the user that created this question. + string user_email = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. Immutable. Flags to request additional information for debugging purposes. + DebugFlags debug_flags = 9 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // Top level debug information. + // This will be stored as the type DebugInformation. + // Using Any so clients don't need to pull in anything + // inside the debug message. + google.protobuf.Any debug_info = 10; +} + +// Details on the failure to interpret the question. +message InterpretError { + // Details on interpretation failure. + message InterpretErrorDetails { + // Populated if parts of the query are unsupported. + InterpretUnsupportedDetails unsupported_details = 1; + + // Populated if the query is incomplete. + InterpretIncompleteQueryDetails incomplete_query_details = 2; + + // Populated if the query was too ambiguous. + InterpretAmbiguityDetails ambiguity_details = 3; + } + + // Details about unsupported parts in a query. + message InterpretUnsupportedDetails { + // Unsupported operators. For example: median. + repeated string operators = 1; + + // Unsupported intents. + repeated string intent = 2; + } + + // Details about an incomplete query. + message InterpretIncompleteQueryDetails { + // List of missing interpret entities. + repeated InterpretEntity entities = 1; + } + + // Details about a query that was too ambiguous. Currently, the message + // has no fields and its presence signals that there was ambiguity. + message InterpretAmbiguityDetails { + + } + + // The interpret error code provides an error category why the interpretation + // failed. + enum InterpretErrorCode { + // No interpret error code was specified. + INTERPRET_ERROR_CODE_UNSPECIFIED = 0; + + // The query is not valid. + INVALID_QUERY = 1; + + // The interpreter failed to understand the question. For example, because + // it was too ambiguous. + FAILED_TO_UNDERSTAND = 2; + + // The interpreter could understand the question, but was not able to arrive + // at an answer. For example, because a requested operation is not + // supported. + FAILED_TO_ANSWER = 3; + } + + // Error message explaining why this question could not be interpreted. + string message = 1; + + // The code for the error category why the interpretation failed. + InterpretErrorCode code = 2; + + // Details on interpretation failure. + InterpretErrorDetails details = 3; +} + +// Information about the backend status (such as BigQuery) of the execution. +message ExecutionInfo { + // Enum of possible job execution statuses. + enum JobExecutionState { + // No job execution was specified. + JOB_EXECUTION_STATE_UNSPECIFIED = 0; + + // No job execution was requested, yet. + NOT_EXECUTED = 1; + + // The job is running. + RUNNING = 2; + + // The job completed successfully. + SUCCEEDED = 3; + + // The job completed unsuccessfully. + FAILED = 4; + } + + // Status returned by the backend when the job was created. + google.rpc.Status job_creation_status = 1; + + // Status of the job execution. + JobExecutionState job_execution_state = 2; + + // Time when the execution was triggered. + google.protobuf.Timestamp create_time = 3; + + // BigQuery job information. + // Future versions will have different backends. Hence, clients must make sure + // they can handle it when this field is not populated. + BigQueryJob bigquery_job = 4; +} + +// BigQuery job information. This can be used to query the BigQuery API and +// retrieve the current job's status (using +// [jobs.get](https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/get)). +message BigQueryJob { + // The job ID. + string job_id = 1; + + // The project ID of the job. + string project_id = 2; + + // The location where the job is running. + string location = 3; +} + +// An interpretation of a natural language query. +message Interpretation { + // List of data sources used in the current understanding. + repeated string data_sources = 1; + + // The level of confidence that one of the interpretations is correct. This is + // a value in the range [0, 1] where a value of 0.5 or below is to be + // considered a low confidence. + double confidence = 2; + + // A list of unused phrases. Clients should display a Did You Mean (DYM) + // dialog if this is non-empty, even if this is the only interpretation. + repeated string unused_phrases = 3; + + // Human readable representation of the query. + HumanReadable human_readable = 4; + + // Information about the interpretation structure that helps to understand and + // visualize the response. + InterpretationStructure interpretation_structure = 5; + + // Representation of the data query to be sent to the backend. + DataQuery data_query = 6; + + // Information about the backend response. This is populated only if execution + // of an interpretation was requested. + ExecutionInfo execution_info = 7; +} + +// Representation of the data query for the backend. +// This is provided for informational purposes only. Clients should not use +// it to send it to the backend directly, but rather use the `execute` RPC +// to trigger the execution. Using the `execute` RPC is needed in order to +// track the state of a question and report on it correctly to the data +// administrators. +message DataQuery { + // The generated SQL query to be sent to the backend. + string sql = 1; +} + +// Human readable interpretation. +message HumanReadable { + // Generated query explaining the interpretation. + AnnotatedString generated_interpretation = 1; + + // Annotations on the original query. + AnnotatedString original_question = 2; +} + +// Information about the interpretation structure that helps to understand and +// visualize the response. +message InterpretationStructure { + // Information about a column. + message ColumnInfo { + // The alias of the output column as used by the backend. For example, the + // field name in the schema provided in the query response in BigQuery. + string output_alias = 1; + + // Human readable name of the output column. + string display_name = 2; + } + + // Enumeration of visualzation types to use for query response data. + enum VisualizationType { + // No visualization type was specified. + VISUALIZATION_TYPE_UNSPECIFIED = 0; + + // Show a table. + TABLE = 1; + + // Show a [bar + // chart](https://developers.google.com/chart/interactive/docs/gallery/barchart). + BAR_CHART = 2; + + // Show a [column + // chart](https://developers.google.com/chart/interactive/docs/gallery/columnchart). + COLUMN_CHART = 3; + + // Show a + // [timeline](https://developers.google.com/chart/interactive/docs/gallery/timeline). + TIMELINE = 4; + + // Show a [scatter + // plot](https://developers.google.com/chart/interactive/docs/gallery/scatterchart). + SCATTER_PLOT = 5; + + // Show a [pie + // chart](https://developers.google.com/chart/interactive/docs/gallery/piechart). + PIE_CHART = 6; + + // Show a [line + // chart](https://developers.google.com/chart/interactive/docs/gallery/linechart). + LINE_CHART = 7; + + // Show an [area + // chart](https://developers.google.com/chart/interactive/docs/gallery/areachart). + AREA_CHART = 8; + + // Show a [combo + // chart](https://developers.google.com/chart/interactive/docs/gallery/combochart). + COMBO_CHART = 9; + + // Show a + // [histogram](https://developers.google.com/chart/interactive/docs/gallery/histogram). + HISTOGRAM = 10; + + // This denotes queries when the user has not specified the particular type + // of chart and has mentioned only a generic chart name such as "Chart", + // "Plot", "Graph", etc. This will differentiate it from specific charting + // terms such as "Bar chart", "Pie chart", etc. + GENERIC_CHART = 11; + + // The user tried to specify a chart type, but the interpreter could not + // understand the type. The client should display a generic chart and may + // give a hint to the user that the requested type was not understood. + CHART_NOT_UNDERSTOOD = 12; + } + + // List of possible visualization types to apply for this interpretation. The + // order has no relevance. + repeated VisualizationType visualization_types = 1; + + // Information about the output columns, that is, the columns that will be + // returned by the backend. + repeated ColumnInfo column_info = 2; +} + +// Configuriation of debug flags. +message DebugFlags { + // Whether to include the original VAQuery. + bool include_va_query = 1; + + // Whether to include the original nested VAQuery. + bool include_nested_va_query = 2; + + // Whether to include the original human interpretation strings generated + // by Analyza. + bool include_human_interpretation = 3; + + // Whether to include the Aqua debug response. + bool include_aqua_debug_response = 4; + + // The time in milliseconds from Unix epoch to be used + // to process the query. This is useful for testing + // the queries at different time period. + // If not set or time_override <= 0, then the current + // time is used. + int64 time_override = 5; + + // Set to true if request is initiated by an internal Google user. + bool is_internal_google_user = 6; + + // Determines whether cache needs to be ignored. If set to + // true, cache won't be queried and updated. + bool ignore_cache = 7; + + // Whether to include the request/response pair from the call to the + // EntityIndex for SearchEntities. + bool include_search_entities_rpc = 8; + + // Whether to include the request/response pair from the call to the + // Annotations service for ListColumnAnnotations. + bool include_list_column_annotations_rpc = 9; + + // Whether to include the entity list passed to Analyza. + bool include_virtual_analyst_entities = 10; + + // Whether to include the table list. + bool include_table_list = 11; + + // Whether to include the domain list. + bool include_domain_list = 12; +} + +// Query entities of an interpretation. +enum InterpretEntity { + // No interpret entity was specified. + INTERPRET_ENTITY_UNSPECIFIED = 0; + + // A dimenstion entity. + DIMENSION = 1; + + // A metric entity. + METRIC = 2; +} diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/question_service.proto b/google-cloud/protos/google/cloud/dataqna/v1alpha/question_service.proto new file mode 100644 index 00000000..d92ac127 --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/question_service.proto @@ -0,0 +1,162 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dataqna.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/dataqna/v1alpha/question.proto"; +import "google/cloud/dataqna/v1alpha/user_feedback.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna"; +option java_multiple_files = true; +option java_outer_classname = "QuestionServiceProto"; +option java_package = "com.google.cloud.dataqna.v1alpha"; +option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha"; +option ruby_package = "Google::Cloud::DataQnA::V1alpha"; + +// Service to interpret natural language queries. +// The service allows to create `Question` resources that are interpreted and +// are filled with one or more interpretations if the question could be +// interpreted. Once a `Question` resource is created and has at least one +// interpretation, an interpretation can be chosen for execution, which +// triggers a query to the backend (for BigQuery, it will create a job). +// Upon successful execution of that interpretation, backend specific +// information will be returned so that the client can retrieve the results +// from the backend. +// +// The `Question` resources are named `projects/*/locations/*/questions/*`. +// +// The `Question` resource has a singletion sub-resource `UserFeedback` named +// `projects/*/locations/*/questions/*/userFeedback`, which allows access to +// user feedback. +service QuestionService { + option (google.api.default_host) = "dataqna.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Gets a previously created question. + rpc GetQuestion(GetQuestionRequest) returns (Question) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/questions/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a question. + rpc CreateQuestion(CreateQuestionRequest) returns (Question) { + option (google.api.http) = { + post: "/v1alpha/{parent=projects/*/locations/*}/questions" + body: "question" + }; + option (google.api.method_signature) = "parent,question"; + } + + // Executes an interpretation. + rpc ExecuteQuestion(ExecuteQuestionRequest) returns (Question) { + option (google.api.http) = { + post: "/v1alpha/{name=projects/*/locations/*/questions/*}:execute" + body: "*" + }; + option (google.api.method_signature) = "name,interpretation_index"; + } + + // Gets previously created user feedback. + rpc GetUserFeedback(GetUserFeedbackRequest) returns (UserFeedback) { + option (google.api.http) = { + get: "/v1alpha/{name=projects/*/locations/*/questions/*/userFeedback}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates user feedback. This creates user feedback if there was none before + // (upsert). + rpc UpdateUserFeedback(UpdateUserFeedbackRequest) returns (UserFeedback) { + option (google.api.http) = { + patch: "/v1alpha/{user_feedback.name=projects/*/locations/*/questions/*/userFeedback}" + body: "user_feedback" + }; + option (google.api.method_signature) = "user_feedback,update_mask"; + } +} + +// A request to get a previously created question. +message GetQuestionRequest { + // Required. The unique identifier for the question. + // Example: `projects/foo/locations/bar/questions/1234` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataqna.googleapis.com/Question" + } + ]; + + // The list of fields to be retrieved. + google.protobuf.FieldMask read_mask = 2; +} + +// Request to create a question resource. +message CreateQuestionRequest { + // Required. The name of the project this data source reference belongs to. + // Example: `projects/foo/locations/bar` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The question to create. + Question question = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request to execute an interpretation. +message ExecuteQuestionRequest { + // Required. The unique identifier for the question. + // Example: `projects/foo/locations/bar/questions/1234` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Index of the interpretation to execute. + int32 interpretation_index = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request to get user feedback. +message GetUserFeedbackRequest { + // Required. The unique identifier for the user feedback. + // User feedback is a singleton resource on a Question. + // Example: `projects/foo/locations/bar/questions/1234/userFeedback` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dataqna.googleapis.com/UserFeedback" + } + ]; +} + +// Request to updates user feedback. +message UpdateUserFeedbackRequest { + // Required. The user feedback to update. This can be called even if there is no + // user feedback so far. + // The feedback's name field is used to identify the user feedback (and the + // corresponding question) to update. + UserFeedback user_feedback = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to be updated. + google.protobuf.FieldMask update_mask = 2; +} diff --git a/google-cloud/protos/google/cloud/dataqna/v1alpha/user_feedback.proto b/google-cloud/protos/google/cloud/dataqna/v1alpha/user_feedback.proto new file mode 100644 index 00000000..9749d49e --- /dev/null +++ b/google-cloud/protos/google/cloud/dataqna/v1alpha/user_feedback.proto @@ -0,0 +1,59 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dataqna.v1alpha; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna"; +option java_multiple_files = true; +option java_outer_classname = "UserFeedbackProto"; +option java_package = "com.google.cloud.dataqna.v1alpha"; +option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha"; +option ruby_package = "Google::Cloud::DataQnA::V1alpha"; + +// Feedback provided by a user. +message UserFeedback { + option (google.api.resource) = { + type: "dataqna.googleapis.com/UserFeedback" + pattern: "projects/{project}/locations/{location}/questions/{question}/userFeedback" + }; + + // Enumeration of feedback ratings. + enum UserFeedbackRating { + // No rating was specified. + USER_FEEDBACK_RATING_UNSPECIFIED = 0; + + // The user provided positive feedback. + POSITIVE = 1; + + // The user provided negative feedback. + NEGATIVE = 2; + } + + // Required. The unique identifier for the user feedback. + // User feedback is a singleton resource on a Question. + // Example: `projects/foo/locations/bar/questions/1234/userFeedback` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Free form user feedback, such as a text box. + string free_form_feedback = 2; + + // The user feedback rating + UserFeedbackRating rating = 3; +} diff --git a/google-cloud/protos/google/cloud/datastream/BUILD.bazel b/google-cloud/protos/google/cloud/datastream/BUILD.bazel new file mode 100644 index 00000000..12be00e0 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/BUILD.bazel @@ -0,0 +1,39 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-datastream. + +# 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 datastream. +# 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 = "datastream_ruby_wrapper", + srcs = ["//google/cloud/datastream/v1:datastream_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-datastream", + "ruby-cloud-wrapper-of=v1:0.0", + "ruby-cloud-product-url=https://cloud.google.com/datastream/", + "ruby-cloud-api-id=datastream.googleapis.com", + "ruby-cloud-api-shortname=datastream", + ], + ruby_cloud_description = "Datastream is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime.", + ruby_cloud_title = "Datastream", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-datastream-ruby", + deps = [ + ":datastream_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/datastream/v1/BUILD.bazel b/google-cloud/protos/google/cloud/datastream/v1/BUILD.bazel new file mode 100644 index 00000000..f6d66982 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1/BUILD.bazel @@ -0,0 +1,397 @@ +# 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 = "datastream_proto", + srcs = [ + "datastream.proto", + "datastream_resources.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//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "datastream_proto_with_info", + deps = [ + ":datastream_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 = "datastream_java_proto", + deps = [":datastream_proto"], +) + +java_grpc_library( + name = "datastream_java_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_java_proto"], +) + +java_gapic_library( + name = "datastream_java_gapic", + srcs = [":datastream_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1.yaml", + test_deps = [ + ":datastream_java_grpc", + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":datastream_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "datastream_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.datastream.v1.DatastreamClientHttpJsonTest", + "com.google.cloud.datastream.v1.DatastreamClientTest", + ], + runtime_deps = [":datastream_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-datastream-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":datastream_java_gapic", + ":datastream_java_grpc", + ":datastream_java_proto", + ":datastream_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "datastream_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/datastream/v1", + protos = [":datastream_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "datastream_go_gapic", + srcs = [":datastream_proto_with_info"], + grpc_service_config = "datastream_grpc_service_config.json", + importpath = "cloud.google.com/go/datastream/apiv1;datastream", + metadata = True, + service_yaml = "datastream_v1.yaml", + transport = "grpc+rest", + deps = [ + ":datastream_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", + ], +) + +go_test( + name = "datastream_go_gapic_test", + srcs = [":datastream_go_gapic_srcjar_test"], + embed = [":datastream_go_gapic"], + importpath = "cloud.google.com/go/datastream/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-datastream-v1-go", + deps = [ + ":datastream_go_gapic", + ":datastream_go_gapic_srcjar-metadata.srcjar", + ":datastream_go_gapic_srcjar-test.srcjar", + ":datastream_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "datastream_py_gapic", + srcs = [":datastream_proto"], + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1.yaml", + transport = "grpc", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "datastream_py_gapic_test", + srcs = [ + "datastream_py_gapic_pytest.py", + "datastream_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":datastream_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "datastream-v1-py", + deps = [ + ":datastream_py_gapic", + ], +) + +############################################################################## +# 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 = "datastream_php_proto", + deps = [":datastream_proto"], +) + +php_grpc_library( + name = "datastream_php_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_php_proto"], +) + +php_gapic_library( + name = "datastream_php_gapic", + srcs = [":datastream_proto_with_info"], + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1.yaml", + deps = [ + ":datastream_php_grpc", + ":datastream_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-datastream-v1-php", + deps = [ + ":datastream_php_gapic", + ":datastream_php_grpc", + ":datastream_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "datastream_nodejs_gapic", + package_name = "@google-cloud/datastream", + src = ":datastream_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "datastream_grpc_service_config.json", + package = "google.cloud.datastream.v1", + service_yaml = "datastream_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "datastream-v1-nodejs", + deps = [ + ":datastream_nodejs_gapic", + ":datastream_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 = "datastream_ruby_proto", + deps = [":datastream_proto"], +) + +ruby_grpc_library( + name = "datastream_ruby_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "datastream_ruby_gapic", + srcs = [":datastream_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=datastream.googleapis.com", + "ruby-cloud-api-shortname=datastream", + "ruby-cloud-gem-name=google-cloud-datastream-v1", + "ruby-cloud-product-url=https://cloud.google.com/datastream/", + ], + grpc_service_config = "datastream_grpc_service_config.json", + ruby_cloud_description = "Datastream is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime.", + ruby_cloud_title = "Datastream V1", + service_yaml = "datastream_v1.yaml", + deps = [ + ":datastream_ruby_grpc", + ":datastream_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-datastream-v1-ruby", + deps = [ + ":datastream_ruby_gapic", + ":datastream_ruby_grpc", + ":datastream_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 = "datastream_csharp_proto", + deps = [":datastream_proto"], +) + +csharp_grpc_library( + name = "datastream_csharp_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_csharp_proto"], +) + +csharp_gapic_library( + name = "datastream_csharp_gapic", + srcs = [":datastream_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1.yaml", + deps = [ + ":datastream_csharp_grpc", + ":datastream_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-datastream-v1-csharp", + deps = [ + ":datastream_csharp_gapic", + ":datastream_csharp_grpc", + ":datastream_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "datastream_cc_proto", + deps = [":datastream_proto"], +) + +cc_grpc_library( + name = "datastream_cc_grpc", + srcs = [":datastream_proto"], + grpc_only = True, + deps = [":datastream_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/datastream/v1/datastream.proto b/google-cloud/protos/google/cloud/datastream/v1/datastream.proto new file mode 100644 index 00000000..a2963391 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1/datastream.proto @@ -0,0 +1,1042 @@ +// 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.datastream.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/datastream/v1/datastream_resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastream.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/datastream/v1;datastream"; +option java_multiple_files = true; +option java_outer_classname = "DatastreamProto"; +option java_package = "com.google.cloud.datastream.v1"; +option php_namespace = "Google\\Cloud\\Datastream\\V1"; +option ruby_package = "Google::Cloud::Datastream::V1"; + +// Datastream service +service Datastream { + option (google.api.default_host) = "datastream.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Use this method to list connection profiles created in a project and + // location. + rpc ListConnectionProfiles(ListConnectionProfilesRequest) returns (ListConnectionProfilesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/connectionProfiles" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to get details about a connection profile. + rpc GetConnectionProfile(GetConnectionProfileRequest) returns (ConnectionProfile) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/connectionProfiles/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a connection profile in a project and location. + rpc CreateConnectionProfile(CreateConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/connectionProfiles" + body: "connection_profile" + }; + option (google.api.method_signature) = "parent,connection_profile,connection_profile_id"; + option (google.longrunning.operation_info) = { + response_type: "ConnectionProfile" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to update the parameters of a connection profile. + rpc UpdateConnectionProfile(UpdateConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{connection_profile.name=projects/*/locations/*/connectionProfiles/*}" + body: "connection_profile" + }; + option (google.api.method_signature) = "connection_profile,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "ConnectionProfile" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to delete a connection profile. + rpc DeleteConnectionProfile(DeleteConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/connectionProfiles/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to discover a connection profile. + // The discover API call exposes the data objects and metadata belonging to + // the profile. Typically, a request returns children data objects of a + // parent data object that's optionally supplied in the request. + rpc DiscoverConnectionProfile(DiscoverConnectionProfileRequest) returns (DiscoverConnectionProfileResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/connectionProfiles:discover" + body: "*" + }; + } + + // Use this method to list streams in a project and location. + rpc ListStreams(ListStreamsRequest) returns (ListStreamsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/streams" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to get details about a stream. + rpc GetStream(GetStreamRequest) returns (Stream) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/streams/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a stream. + rpc CreateStream(CreateStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/streams" + body: "stream" + }; + option (google.api.method_signature) = "parent,stream,stream_id"; + option (google.longrunning.operation_info) = { + response_type: "Stream" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to update the configuration of a stream. + rpc UpdateStream(UpdateStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{stream.name=projects/*/locations/*/streams/*}" + body: "stream" + }; + option (google.api.method_signature) = "stream,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Stream" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to delete a stream. + rpc DeleteStream(DeleteStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/streams/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to get details about a stream object. + rpc GetStreamObject(GetStreamObjectRequest) returns (StreamObject) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/streams/*/objects/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to look up a stream object by its source object identifier. + rpc LookupStreamObject(LookupStreamObjectRequest) returns (StreamObject) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/streams/*}/objects:lookup" + body: "*" + }; + } + + // Use this method to list the objects of a specific stream. + rpc ListStreamObjects(ListStreamObjectsRequest) returns (ListStreamObjectsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/streams/*}/objects" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to start a backfill job for the specified stream object. + rpc StartBackfillJob(StartBackfillJobRequest) returns (StartBackfillJobResponse) { + option (google.api.http) = { + post: "/v1/{object=projects/*/locations/*/streams/*/objects/*}:startBackfillJob" + body: "*" + }; + option (google.api.method_signature) = "object"; + } + + // Use this method to stop a backfill job for the specified stream object. + rpc StopBackfillJob(StopBackfillJobRequest) returns (StopBackfillJobResponse) { + option (google.api.http) = { + post: "/v1/{object=projects/*/locations/*/streams/*/objects/*}:stopBackfillJob" + body: "*" + }; + option (google.api.method_signature) = "object"; + } + + // The FetchStaticIps API call exposes the static IP addresses used by + // Datastream. + rpc FetchStaticIps(FetchStaticIpsRequest) returns (FetchStaticIpsResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*}:fetchStaticIps" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a private connectivity configuration. + rpc CreatePrivateConnection(CreatePrivateConnectionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/privateConnections" + body: "private_connection" + }; + option (google.api.method_signature) = "parent,private_connection,private_connection_id"; + option (google.longrunning.operation_info) = { + response_type: "PrivateConnection" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to get details about a private connectivity configuration. + rpc GetPrivateConnection(GetPrivateConnectionRequest) returns (PrivateConnection) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/privateConnections/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to list private connectivity configurations in a project + // and location. + rpc ListPrivateConnections(ListPrivateConnectionsRequest) returns (ListPrivateConnectionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/privateConnections" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to delete a private connectivity configuration. + rpc DeletePrivateConnection(DeletePrivateConnectionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/privateConnections/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to create a route for a private connectivity configuration + // in a project and location. + rpc CreateRoute(CreateRouteRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/privateConnections/*}/routes" + body: "route" + }; + option (google.api.method_signature) = "parent,route,route_id"; + option (google.longrunning.operation_info) = { + response_type: "Route" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to get details about a route. + rpc GetRoute(GetRouteRequest) returns (Route) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/privateConnections/*/routes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to list routes created for a private connectivity + // configuration in a project and location. + rpc ListRoutes(ListRoutesRequest) returns (ListRoutesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/privateConnections/*}/routes" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to delete a route. + rpc DeleteRoute(DeleteRouteRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/privateConnections/*/routes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// Request message for 'discover' ConnectionProfile request. +message DiscoverConnectionProfileRequest { + // Required. The parent resource of the connection profile type. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // The connection profile on which to run discover. + oneof target { + // An ad-hoc connection profile configuration. + ConnectionProfile connection_profile = 200; + + // A reference to an existing connection profile. + string connection_profile_name = 201; + } + + // The depth of the retrieved hierarchy of data objects. + oneof hierarchy { + // Whether to retrieve the full hierarchy of data objects (TRUE) or only the + // current level (FALSE). + bool full_hierarchy = 3; + + // The number of hierarchy levels below the current level to be retrieved. + int32 hierarchy_depth = 4; + } + + // The data object to populate with child data objects and metadata. + oneof data_object { + // Oracle RDBMS to enrich with child data objects and metadata. + OracleRdbms oracle_rdbms = 100; + + // MySQL RDBMS to enrich with child data objects and metadata. + MysqlRdbms mysql_rdbms = 101; + + // PostgreSQL RDBMS to enrich with child data objects and metadata. + PostgresqlRdbms postgresql_rdbms = 102; + } +} + +// Response from a discover request. +message DiscoverConnectionProfileResponse { + // The data object that has been enriched by the discover API call. + oneof data_object { + // Enriched Oracle RDBMS object. + OracleRdbms oracle_rdbms = 100; + + // Enriched MySQL RDBMS object. + MysqlRdbms mysql_rdbms = 101; + + // Enriched PostgreSQL RDBMS object. + PostgresqlRdbms postgresql_rdbms = 102; + } +} + +// Request message for 'FetchStaticIps' request. +message FetchStaticIpsRequest { + // Required. The resource name for the location for which static IPs should be returned. + // Must be in the format `projects/*/locations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of Ips to return, will likely not be specified. + int32 page_size = 2; + + // A page token, received from a previous `ListStaticIps` call. + // will likely not be specified. + string page_token = 3; +} + +// Response message for a 'FetchStaticIps' response. +message FetchStaticIpsResponse { + // list of static ips by account + repeated string static_ips = 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 message for listing connection profiles. +message ListConnectionProfilesRequest { + // Required. The parent that owns the collection of connection profiles. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Maximum number of connection profiles to return. + // If unspecified, at most 50 connection profiles will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListConnectionProfiles` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListConnectionProfiles` + // must match the call that provided the page token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +// Response message for listing connection profiles. +message ListConnectionProfilesResponse { + // List of connection profiles. + repeated ConnectionProfile connection_profiles = 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; +} + +// Request message for getting a connection profile. +message GetConnectionProfileRequest { + // Required. The name of the connection profile resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; +} + +// Request message for creating a connection profile. +message CreateConnectionProfileRequest { + // Required. The parent that owns the collection of ConnectionProfiles. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Required. The connection profile identifier. + string connection_profile_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The connection profile resource to create. + ConnectionProfile connection_profile = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the connection profile, but don't create any resources. + // The default is false. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Create the connection profile without validating it. + bool force = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Connection profile update message. +message UpdateConnectionProfileRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // ConnectionProfile 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 connection profile to update. + ConnectionProfile connection_profile = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the connection profile, but don't update any resources. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Update the connection profile without validating it. + bool force = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for deleting a connection profile. +message DeleteConnectionProfileRequest { + // Required. The name of the connection profile resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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 message for listing streams. +message ListStreamsRequest { + // Required. The parent that owns the collection of streams. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Stream" + } + ]; + + // Maximum number of streams to return. + // If unspecified, at most 50 streams will be returned. The maximum + // value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListStreams` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListStreams` + // must match the call that provided the page token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +// Response message for listing streams. +message ListStreamsResponse { + // List of streams + repeated Stream streams = 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; +} + +// Request message for getting a stream. +message GetStreamRequest { + // Required. The name of the stream resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + } + ]; +} + +// Request message for creating a stream. +message CreateStreamRequest { + // Required. The parent that owns the collection of streams. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Stream" + } + ]; + + // Required. The stream identifier. + string stream_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The stream resource to create. + Stream stream = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the stream, but don't create any resources. + // The default is false. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Create the stream without validating it. + bool force = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for updating a stream. +message UpdateStreamRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // stream 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 stream resource to update. + Stream stream = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the stream with the changes, without actually updating it. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Update the stream without validating it. + bool force = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for deleting a stream. +message DeleteStreamRequest { + // Required. The name of the stream resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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 fetching a specific stream object. +message GetStreamObjectRequest { + // Required. The name of the stream object resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/StreamObject" + } + ]; +} + +// Request for looking up a specific stream object by its source object +// identifier. +message LookupStreamObjectRequest { + // Required. The parent stream that owns the collection of objects. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + } + ]; + + // Required. The source object identifier which maps to the stream object. + SourceObjectIdentifier source_object_identifier = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for manually initiating a backfill job for a specific stream object. +message StartBackfillJobRequest { + // Required. The name of the stream object resource to start a backfill job for. + string object = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/StreamObject" + } + ]; +} + +// Response for manually initiating a backfill job for a specific stream object. +message StartBackfillJobResponse { + // The stream object resource a backfill job was started for. + StreamObject object = 1; +} + +// Request for manually stopping a running backfill job for a specific stream +// object. +message StopBackfillJobRequest { + // Required. The name of the stream object resource to stop the backfill job for. + string object = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/StreamObject" + } + ]; +} + +// Response for manually stop a backfill job for a specific stream object. +message StopBackfillJobResponse { + // The stream object resource the backfill job was stopped for. + StreamObject object = 1; +} + +// Request for listing all objects for a specific stream. +message ListStreamObjectsRequest { + // Required. The parent stream that owns the collection of objects. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/StreamObject" + } + ]; + + // Maximum number of objects to return. Default is 50. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListStreamObjectsRequest` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListStreamObjectsRequest` must match the call that provided the page + // token. + string page_token = 3; +} + +// Response containing the objects for a stream. +message ListStreamObjectsResponse { + // List of stream objects. + repeated StreamObject stream_objects = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + string next_page_token = 2; +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // Output only. The time the operation was created. + google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the operation finished running. + google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server-defined resource path for the target of the operation. + string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the verb executed by the operation. + string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Human-readable status of the operation, if any. + string status_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]; + + // Output only. Results of executed validations if there are any. + ValidationResult validation_result = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request for creating a private connection. +message CreatePrivateConnectionRequest { + // Required. The parent that owns the collection of PrivateConnections. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Required. The private connectivity identifier. + string private_connection_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Private Connectivity resource to create. + PrivateConnection private_connection = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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 listing private connections. +message ListPrivateConnectionsRequest { + // Required. The parent that owns the collection of private connectivity configurations. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Maximum number of private connectivity configurations to return. + // If unspecified, at most 50 private connectivity configurations that will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 2; + + // Page token received from a previous `ListPrivateConnections` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListPrivateConnections` must match the call that provided the page + // token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +// Response containing a list of private connection configurations. +message ListPrivateConnectionsResponse { + // List of private connectivity configurations. + repeated PrivateConnection private_connections = 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; +} + +// Request to delete a private connection. +message DeletePrivateConnectionRequest { + // Required. The name of the private connectivity configuration to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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 routes that belong to this PrivateConnection will + // also be deleted. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request to get a private connection configuration. +message GetPrivateConnectionRequest { + // Required. The name of the private connectivity configuration to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/PrivateConnection" + } + ]; +} + +// Route creation request. +message CreateRouteRequest { + // Required. The parent that owns the collection of Routes. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Route" + } + ]; + + // Required. The Route identifier. + string route_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Route resource to create. + Route route = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; +} + +// Route list request. +message ListRoutesRequest { + // Required. The parent that owns the collection of Routess. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Route" + } + ]; + + // Maximum number of Routes to return. The service may return + // fewer than this value. If unspecified, at most 50 Routes + // will be returned. The maximum value is 1000; values above 1000 will be + // coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListRoutes` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListRoutes` must match the call that provided the page + // token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +// Route list response. +message ListRoutesResponse { + // List of Routes. + repeated Route routes = 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; +} + +// Route deletion request. +message DeleteRouteRequest { + // Required. The name of the Route resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Route" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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]; +} + +// Route get request. +message GetRouteRequest { + // Required. The name of the Route resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Route" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/datastream/v1/datastream_grpc_service_config.json b/google-cloud/protos/google/cloud/datastream/v1/datastream_grpc_service_config.json new file mode 100644 index 00000000..e0ea93ed --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1/datastream_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.cloud.datastream.v1.Datastream" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.datastream.v1.Datastream", "method": "CreateConnectionProfile" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "UpdateConnectionProfile" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "GenerateConnectionProfileReport" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "DeleteConnectionProfile" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "CreateStream" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "UpdateStream" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "DeleteStream" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "CreatePrivateConnection" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "DeletePrivateConnection" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "CreateRoute" }, + { "service": "google.cloud.datastream.v1.Datastream", "method": "DeleteRoute" } + ], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/cloud/datastream/v1/datastream_resources.proto b/google-cloud/protos/google/cloud/datastream/v1/datastream_resources.proto new file mode 100644 index 00000000..58a2c7bd --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1/datastream_resources.proto @@ -0,0 +1,1023 @@ +// 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.datastream.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastream.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/datastream/v1;datastream"; +option java_multiple_files = true; +option java_outer_classname = "DatastreamResourcesProto"; +option java_package = "com.google.cloud.datastream.v1"; +option php_namespace = "Google\\Cloud\\Datastream\\V1"; +option ruby_package = "Google::Cloud::Datastream::V1"; +option (google.api.resource_definition) = { + type: "compute.googleapis.com/Networks" + pattern: "projects/{project}/global/networks/{network}" +}; + +// Oracle database profile. +message OracleProfile { + // Required. Hostname for the Oracle connection. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Port for the Oracle connection, default value is 1521. + int32 port = 2; + + // Required. Username for the Oracle connection. + string username = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Password for the Oracle connection. + string password = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. Database for the Oracle connection. + string database_service = 5 [(google.api.field_behavior) = REQUIRED]; + + // Connection string attributes + map connection_attributes = 6; +} + +// MySQL database profile. +message MysqlProfile { + // Required. Hostname for the MySQL connection. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Port for the MySQL connection, default value is 3306. + int32 port = 2; + + // Required. Username for the MySQL connection. + string username = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Input only. Password for the MySQL connection. + string password = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // SSL configuration for the MySQL connection. + MysqlSslConfig ssl_config = 5; +} + +// PostgreSQL database profile. +message PostgresqlProfile { + // Required. Hostname for the PostgreSQL connection. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Port for the PostgreSQL connection, default value is 5432. + int32 port = 2; + + // Required. Username for the PostgreSQL connection. + string username = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Password for the PostgreSQL connection. + string password = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. Database for the PostgreSQL connection. + string database = 5 [(google.api.field_behavior) = REQUIRED]; +} + +// Cloud Storage bucket profile. +message GcsProfile { + // Required. The Cloud Storage bucket name. + string bucket = 1 [(google.api.field_behavior) = REQUIRED]; + + // The root path inside the Cloud Storage bucket. + string root_path = 2; +} + +// BigQuery warehouse profile. +message BigQueryProfile { + +} + +// Static IP address connectivity. +message StaticServiceIpConnectivity { + +} + +// Forward SSH Tunnel connectivity. +message ForwardSshTunnelConnectivity { + // Required. Hostname for the SSH tunnel. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Username for the SSH tunnel. + string username = 2 [(google.api.field_behavior) = REQUIRED]; + + // Port for the SSH tunnel, default value is 22. + int32 port = 3; + + oneof authentication_method { + // Input only. SSH password. + string password = 100 [(google.api.field_behavior) = INPUT_ONLY]; + + // Input only. SSH private key. + string private_key = 101 [(google.api.field_behavior) = INPUT_ONLY]; + } +} + +// The VPC Peering configuration is used to create VPC peering between +// Datastream and the consumer's VPC. +message VpcPeeringConfig { + // Required. Fully qualified name of the VPC that Datastream will peer to. + // Format: `projects/{project}/global/{networks}/{name}` + string vpc = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "compute.googleapis.com/Networks" + } + ]; + + // Required. A free subnet for peering. (CIDR of /29) + string subnet = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The PrivateConnection resource is used to establish private connectivity +// between Datastream and a customer's network. +message PrivateConnection { + option (google.api.resource) = { + type: "datastream.googleapis.com/PrivateConnection" + pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}" + }; + + // Private Connection state. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // The private connection is in creation state - creating resources. + CREATING = 1; + + // The private connection has been created with all of its resources. + CREATED = 2; + + // The private connection creation has failed. + FAILED = 3; + + // The private connection is being deleted. + DELETING = 4; + + // Delete request has failed, resource is in invalid state. + FAILED_TO_DELETE = 5; + } + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The state of the Private Connection. + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. In case of error, the details of the error in a user-friendly format. + Error error = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // VPC Peering Config. + VpcPeeringConfig vpc_peering_config = 100; +} + +// Private Connectivity +message PrivateConnectivity { + // Required. A reference to a private connection resource. + // Format: `projects/{project}/locations/{location}/privateConnections/{name}` + string private_connection = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/PrivateConnection" + } + ]; +} + +// The route resource is the child of the private connection resource, +// used for defining a route for a private connection. +message Route { + option (google.api.resource) = { + type: "datastream.googleapis.com/Route" + pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}/routes/{route}" + }; + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Destination address for connection + string destination_address = 6 [(google.api.field_behavior) = REQUIRED]; + + // Destination port for connection + int32 destination_port = 7; +} + +// MySQL SSL configuration information. +message MysqlSslConfig { + // Input only. PEM-encoded private key associated with the Client Certificate. + // If this field is used then the 'client_certificate' and the + // 'ca_certificate' fields are mandatory. + string client_key = 1 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the client_key field is set. + bool client_key_set = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. PEM-encoded certificate that will be used by the replica to + // authenticate against the source database server. If this field is used + // then the 'client_key' and the 'ca_certificate' fields are mandatory. + string client_certificate = 3 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the client_certificate field is set. + bool client_certificate_set = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. PEM-encoded certificate of the CA that signed the source database + // server's certificate. + string ca_certificate = 5 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the ca_certificate field is set. + bool ca_certificate_set = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A set of reusable connection configurations to be used as a source or +// destination for a stream. +message ConnectionProfile { + option (google.api.resource) = { + type: "datastream.googleapis.com/ConnectionProfile" + pattern: "projects/{project}/locations/{location}/connectionProfiles/{connection_profile}" + }; + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Connection configuration for the ConnectionProfile. + oneof profile { + // Oracle ConnectionProfile configuration. + OracleProfile oracle_profile = 100; + + // Cloud Storage ConnectionProfile configuration. + GcsProfile gcs_profile = 101; + + // MySQL ConnectionProfile configuration. + MysqlProfile mysql_profile = 102; + + // BigQuery Connection Profile configuration. + BigQueryProfile bigquery_profile = 103; + + // PostgreSQL Connection Profile configuration. + PostgresqlProfile postgresql_profile = 104; + } + + // Connectivity options used to establish a connection to the profile. + oneof connectivity { + // Static Service IP connectivity. + StaticServiceIpConnectivity static_service_ip_connectivity = 200; + + // Forward SSH tunnel connectivity. + ForwardSshTunnelConnectivity forward_ssh_connectivity = 201; + + // Private connectivity. + PrivateConnectivity private_connectivity = 202; + } +} + +// Oracle Column. +message OracleColumn { + // Column name. + string column = 1; + + // The Oracle data type. + string data_type = 2; + + // Column length. + int32 length = 3; + + // Column precision. + int32 precision = 4; + + // Column scale. + int32 scale = 5; + + // Column encoding. + string encoding = 6; + + // Whether or not the column represents a primary key. + bool primary_key = 7; + + // Whether or not the column can accept a null value. + bool nullable = 8; + + // The ordinal position of the column in the table. + int32 ordinal_position = 9; +} + +// Oracle table. +message OracleTable { + // Table name. + string table = 1; + + // Oracle columns in the schema. + // When unspecified as part of include/exclude objects, includes/excludes + // everything. + repeated OracleColumn oracle_columns = 2; +} + +// Oracle schema. +message OracleSchema { + // Schema name. + string schema = 1; + + // Tables in the schema. + repeated OracleTable oracle_tables = 2; +} + +// Oracle database structure. +message OracleRdbms { + // Oracle schemas/databases in the database server. + repeated OracleSchema oracle_schemas = 1; +} + +// Oracle data source configuration +message OracleSourceConfig { + // Configuration to drop large object values. + message DropLargeObjects { + + } + + // Configuration to stream large object values. + message StreamLargeObjects { + + } + + // Oracle objects to include in the stream. + OracleRdbms include_objects = 1; + + // Oracle objects to exclude from the stream. + OracleRdbms exclude_objects = 2; + + // Maximum number of concurrent CDC tasks. The number should be non negative. + // If not set (or set to 0), the system's default value will be used. + int32 max_concurrent_cdc_tasks = 3; + + // The configuration for handle Oracle large objects. + oneof large_objects_handling { + // Drop large object values. + DropLargeObjects drop_large_objects = 100; + + // Stream large object values. + StreamLargeObjects stream_large_objects = 102; + } +} + +// PostgreSQL Column. +message PostgresqlColumn { + // Column name. + string column = 1; + + // The PostgreSQL data type. + string data_type = 2; + + // Column length. + int32 length = 3; + + // Column precision. + int32 precision = 4; + + // Column scale. + int32 scale = 5; + + // Whether or not the column represents a primary key. + bool primary_key = 7; + + // Whether or not the column can accept a null value. + bool nullable = 8; + + // The ordinal position of the column in the table. + int32 ordinal_position = 9; +} + +// PostgreSQL table. +message PostgresqlTable { + // Table name. + string table = 1; + + // PostgreSQL columns in the schema. + // When unspecified as part of include/exclude objects, + // includes/excludes everything. + repeated PostgresqlColumn postgresql_columns = 2; +} + +// PostgreSQL schema. +message PostgresqlSchema { + // Schema name. + string schema = 1; + + // Tables in the schema. + repeated PostgresqlTable postgresql_tables = 2; +} + +// PostgreSQL database structure. +message PostgresqlRdbms { + // PostgreSQL schemas in the database server. + repeated PostgresqlSchema postgresql_schemas = 1; +} + +// PostgreSQL data source configuration +message PostgresqlSourceConfig { + // PostgreSQL objects to include in the stream. + PostgresqlRdbms include_objects = 1; + + // PostgreSQL objects to exclude from the stream. + PostgresqlRdbms exclude_objects = 2; + + // Required. The name of the logical replication slot that's configured with the + // pgoutput plugin. + string replication_slot = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The name of the publication that includes the set of all tables that are + // defined in the stream's include_objects. + string publication = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// MySQL Column. +message MysqlColumn { + // Column name. + string column = 1; + + // The MySQL data type. Full data types list can be found here: + // https://dev.mysql.com/doc/refman/8.0/en/data-types.html + string data_type = 2; + + // Column length. + int32 length = 3; + + // Column collation. + string collation = 4; + + // Whether or not the column represents a primary key. + bool primary_key = 5; + + // Whether or not the column can accept a null value. + bool nullable = 6; + + // The ordinal position of the column in the table. + int32 ordinal_position = 7; +} + +// MySQL table. +message MysqlTable { + // Table name. + string table = 1; + + // MySQL columns in the database. + // When unspecified as part of include/exclude objects, includes/excludes + // everything. + repeated MysqlColumn mysql_columns = 2; +} + +// MySQL database. +message MysqlDatabase { + // Database name. + string database = 1; + + // Tables in the database. + repeated MysqlTable mysql_tables = 2; +} + +// MySQL database structure +message MysqlRdbms { + // Mysql databases on the server + repeated MysqlDatabase mysql_databases = 1; +} + +// MySQL source configuration +message MysqlSourceConfig { + // MySQL objects to retrieve from the source. + MysqlRdbms include_objects = 1; + + // MySQL objects to exclude from the stream. + MysqlRdbms exclude_objects = 2; + + // Maximum number of concurrent CDC tasks. The number should be non negative. + // If not set (or set to 0), the system's default value will be used. + int32 max_concurrent_cdc_tasks = 3; +} + +// The configuration of the stream source. +message SourceConfig { + // Required. Source connection profile resoource. + // Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` + string source_connection_profile = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Stream configuration that is specific to the data source type. + oneof source_stream_config { + // Oracle data source configuration. + OracleSourceConfig oracle_source_config = 100; + + // MySQL data source configuration. + MysqlSourceConfig mysql_source_config = 101; + + // PostgreSQL data source configuration. + PostgresqlSourceConfig postgresql_source_config = 102; + } +} + +// AVRO file format configuration. +message AvroFileFormat { + +} + +// JSON file format configuration. +message JsonFileFormat { + // Schema file format. + enum SchemaFileFormat { + // Unspecified schema file format. + SCHEMA_FILE_FORMAT_UNSPECIFIED = 0; + + // Do not attach schema file. + NO_SCHEMA_FILE = 1; + + // Avro schema format. + AVRO_SCHEMA_FILE = 2; + } + + // Json file compression. + enum JsonCompression { + // Unspecified json file compression. + JSON_COMPRESSION_UNSPECIFIED = 0; + + // Do not compress JSON file. + NO_COMPRESSION = 1; + + // Gzip compression. + GZIP = 2; + } + + // The schema file format along JSON data files. + SchemaFileFormat schema_file_format = 1; + + // Compression of the loaded JSON file. + JsonCompression compression = 2; +} + +// Google Cloud Storage destination configuration +message GcsDestinationConfig { + // Path inside the Cloud Storage bucket to write data to. + string path = 1; + + // The maximum file size to be saved in the bucket. + int32 file_rotation_mb = 2; + + // The maximum duration for which new events are added before a file is + // closed and a new file is created. + google.protobuf.Duration file_rotation_interval = 3; + + // File Format that the data should be written in. + oneof file_format { + // AVRO file format configuration. + AvroFileFormat avro_file_format = 100; + + // JSON file format configuration. + JsonFileFormat json_file_format = 101; + } +} + +message BigQueryDestinationConfig { + // A single target dataset to which all data will be streamed. + message SingleTargetDataset { + string dataset_id = 1; + } + + // Destination datasets are created so that hierarchy of the destination data + // objects matches the source hierarchy. + message SourceHierarchyDatasets { + // Dataset template used for dynamic dataset creation. + message DatasetTemplate { + // Required. The geographic location where the dataset should reside. See + // https://cloud.google.com/bigquery/docs/locations for supported + // locations. + string location = 1 [(google.api.field_behavior) = REQUIRED]; + + // If supplied, every created dataset will have its name prefixed by the + // provided value. The prefix and name will be separated by an underscore. + // i.e. _. + string dataset_id_prefix = 2; + + // Describes the Cloud KMS encryption key that will be used to + // protect destination BigQuery table. The BigQuery Service Account + // associated with your project requires access to this encryption key. + // i.e. + // projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}. + // See https://cloud.google.com/bigquery/docs/customer-managed-encryption + // for more information. + string kms_key_name = 3; + } + + DatasetTemplate dataset_template = 2; + } + + // Target dataset(s) configuration. + oneof dataset_config { + // Single destination dataset. + SingleTargetDataset single_target_dataset = 201; + + // Source hierarchy datasets. + SourceHierarchyDatasets source_hierarchy_datasets = 202; + } + + // The guaranteed data freshness (in seconds) when querying tables created by + // the stream. Editing this field will only affect new tables created in the + // future, but existing tables will not be impacted. Lower values mean that + // queries will return fresher data, but may result in higher cost. + google.protobuf.Duration data_freshness = 300; +} + +// The configuration of the stream destination. +message DestinationConfig { + // Required. Destination connection profile resource. + // Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` + string destination_connection_profile = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Stream configuration that is specific to the data destination type. + oneof destination_stream_config { + // A configuration for how data should be loaded to Cloud Storage. + GcsDestinationConfig gcs_destination_config = 100; + + // BigQuery destination configuration. + BigQueryDestinationConfig bigquery_destination_config = 101; + } +} + +// A resource representing streaming data from a source to a destination. +message Stream { + option (google.api.resource) = { + type: "datastream.googleapis.com/Stream" + pattern: "projects/{project}/locations/{location}/streams/{stream}" + }; + + // Stream state. + enum State { + // Unspecified stream state. + STATE_UNSPECIFIED = 0; + + // The stream has been created but has not yet started streaming data. + NOT_STARTED = 1; + + // The stream is running. + RUNNING = 2; + + // The stream is paused. + PAUSED = 3; + + // The stream is in maintenance mode. + // + // Updates are rejected on the resource in this state. + MAINTENANCE = 4; + + // The stream is experiencing an error that is preventing data from being + // streamed. + FAILED = 5; + + // The stream has experienced a terminal failure. + FAILED_PERMANENTLY = 6; + + // The stream is starting, but not yet running. + STARTING = 7; + + // The Stream is no longer reading new events, but still writing events in + // the buffer. + DRAINING = 8; + } + + // Backfill strategy to automatically backfill the Stream's objects. + // Specific objects can be excluded. + message BackfillAllStrategy { + // List of objects to exclude. + oneof excluded_objects { + // Oracle data source objects to avoid backfilling. + OracleRdbms oracle_excluded_objects = 1; + + // MySQL data source objects to avoid backfilling. + MysqlRdbms mysql_excluded_objects = 2; + + // PostgreSQL data source objects to avoid backfilling. + PostgresqlRdbms postgresql_excluded_objects = 3; + } + } + + // Backfill strategy to disable automatic backfill for the Stream's objects. + message BackfillNoneStrategy { + + } + + // Output only. The stream's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time of the stream. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time of the stream. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Source connection profile configuration. + SourceConfig source_config = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Destination connection profile configuration. + DestinationConfig destination_config = 7 [(google.api.field_behavior) = REQUIRED]; + + // The state of the stream. + State state = 8; + + // Stream backfill strategy. + oneof backfill_strategy { + // Automatically backfill objects included in the stream source + // configuration. Specific objects can be excluded. + BackfillAllStrategy backfill_all = 101; + + // Do not automatically backfill any objects. + BackfillNoneStrategy backfill_none = 102; + } + + // Output only. Errors on the Stream. + repeated Error errors = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Immutable. A reference to a KMS encryption key. + // If provided, it will be used to encrypt the data. + // If left blank, data will be encrypted using an internal Stream-specific + // encryption key provisioned through KMS. + optional string customer_managed_encryption_key = 10 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A specific stream object (e.g a specific DB table). +message StreamObject { + option (google.api.resource) = { + type: "datastream.googleapis.com/StreamObject" + pattern: "projects/{project}/locations/{location}/streams/{stream}/objects/{object}" + }; + + // Output only. The object resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time of the object. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time of the object. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Active errors on the object. + repeated Error errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The latest backfill job that was initiated for the stream object. + BackfillJob backfill_job = 7; + + // The object identifier in the data source. + SourceObjectIdentifier source_object = 8; +} + +// Represents an identifier of an object in the data source. +message SourceObjectIdentifier { + // Oracle data source object identifier. + message OracleObjectIdentifier { + // Required. The schema name. + string schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The table name. + string table = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // PostgreSQL data source object identifier. + message PostgresqlObjectIdentifier { + // Required. The schema name. + string schema = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The table name. + string table = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Mysql data source object identifier. + message MysqlObjectIdentifier { + // Required. The database name. + string database = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The table name. + string table = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // The identifier for an object in the data source. + oneof source_identifier { + // Oracle data source object identifier. + OracleObjectIdentifier oracle_identifier = 1; + + // Mysql data source object identifier. + MysqlObjectIdentifier mysql_identifier = 2; + + // PostgreSQL data source object identifier. + PostgresqlObjectIdentifier postgresql_identifier = 3; + } +} + +// Represents a backfill job on a specific stream object. +message BackfillJob { + // State of the stream object's backfill job. + enum State { + // Default value. + STATE_UNSPECIFIED = 0; + + // Backfill job was never started for the stream object (stream has backfill + // strategy defined as manual or object was explicitly excluded from + // automatic backfill). + NOT_STARTED = 1; + + // Backfill job will start pending available resources. + PENDING = 2; + + // Backfill job is running. + ACTIVE = 3; + + // Backfill job stopped (next job run will start from beginning). + STOPPED = 4; + + // Backfill job failed (due to an error). + FAILED = 5; + + // Backfill completed successfully. + COMPLETED = 6; + + // Backfill job failed since the table structure is currently unsupported + // for backfill. + UNSUPPORTED = 7; + } + + // Triggering reason for a backfill job. + enum Trigger { + // Default value. + TRIGGER_UNSPECIFIED = 0; + + // Object backfill job was triggered automatically according to the stream's + // backfill strategy. + AUTOMATIC = 1; + + // Object backfill job was triggered manually using the dedicated API. + MANUAL = 2; + } + + // Backfill job state. + State state = 1; + + // Backfill job's triggering reason. + Trigger trigger = 2; + + // Output only. Backfill job's start time. + google.protobuf.Timestamp last_start_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Backfill job's end time. + google.protobuf.Timestamp last_end_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Errors which caused the backfill job to fail. + repeated Error errors = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represent a user-facing Error. +message Error { + // A title that explains the reason for the error. + string reason = 1; + + // A unique identifier for this specific error, + // allowing it to be traced throughout the system in logs and API responses. + string error_uuid = 2; + + // A message containing more information about the error that occurred. + string message = 3; + + // The time when the error occurred. + google.protobuf.Timestamp error_time = 4; + + // Additional information about the error. + map details = 5; +} + +// Contains the current validation results. +message ValidationResult { + // A list of validations (includes both executed as well as not executed + // validations). + repeated Validation validations = 1; +} + +// A validation to perform on a stream. +message Validation { + // Validation execution state. + enum State { + // Unspecified state. + STATE_UNSPECIFIED = 0; + + // Validation did not execute. + NOT_EXECUTED = 1; + + // Validation failed. + FAILED = 2; + + // Validation passed. + PASSED = 3; + } + + // A short description of the validation. + string description = 1; + + // Validation execution status. + State state = 2; + + // Messages reflecting the validation results. + repeated ValidationMessage message = 3; + + // A custom code identifying this validation. + string code = 4; +} + +// Represent user-facing validation result message. +message ValidationMessage { + // Validation message level. + enum Level { + // Unspecified level. + LEVEL_UNSPECIFIED = 0; + + // Potentially cause issues with the Stream. + WARNING = 1; + + // Definitely cause issues with the Stream. + ERROR = 2; + } + + // The result of the validation. + string message = 1; + + // Message severity level (warning or error). + Level level = 2; + + // Additional metadata related to the result. + map metadata = 3; + + // A custom code identifying this specific message. + string code = 4; +} diff --git a/google-cloud/protos/google/cloud/datastream/v1/datastream_v1.yaml b/google-cloud/protos/google/cloud/datastream/v1/datastream_v1.yaml new file mode 100644 index 00000000..d0c01450 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1/datastream_v1.yaml @@ -0,0 +1,73 @@ +type: google.api.Service +config_version: 3 +name: datastream.googleapis.com +title: Datastream API + +apis: +- name: google.cloud.datastream.v1.Datastream +- name: google.cloud.location.Locations +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.datastream.v1.Error +- name: google.cloud.datastream.v1.OperationMetadata +- name: google.cloud.datastream.v1.ValidationResult + +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.datastream.v1.Datastream.*' + deadline: 60.0 + - selector: google.cloud.datastream.v1.Datastream.DiscoverConnectionProfile + deadline: 120.0 + - selector: google.cloud.datastream.v1.Datastream.StartBackfillJob + deadline: 120.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + 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.datastream.v1.Datastream.*' + 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 diff --git a/google-cloud/protos/google/cloud/datastream/v1alpha1/BUILD.bazel b/google-cloud/protos/google/cloud/datastream/v1alpha1/BUILD.bazel new file mode 100644 index 00000000..6a8165f6 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1alpha1/BUILD.bazel @@ -0,0 +1,365 @@ +# 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 = "datastream_proto", + srcs = [ + "datastream.proto", + "datastream_resources.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//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "datastream_proto_with_info", + deps = [ + ":datastream_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 = "datastream_java_proto", + deps = [":datastream_proto"], +) + +java_grpc_library( + name = "datastream_java_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_java_proto"], +) + +java_gapic_library( + name = "datastream_java_gapic", + srcs = [":datastream_proto_with_info"], + grpc_service_config = "datastream_grpc_service_config.json", + test_deps = [ + ":datastream_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":datastream_java_proto", + ], +) + +java_gapic_test( + name = "datastream_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.datastream.v1alpha1.DatastreamClientHttpJsonTest", + "com.google.cloud.datastream.v1alpha1.DatastreamClientTest", + ], + runtime_deps = [":datastream_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-datastream-v1alpha1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":datastream_java_gapic", + ":datastream_java_grpc", + ":datastream_java_proto", + ":datastream_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "datastream_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/datastream/v1alpha1", + protos = [":datastream_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "datastream_go_gapic", + srcs = [":datastream_proto_with_info"], + grpc_service_config = "datastream_grpc_service_config.json", + importpath = "cloud.google.com/go/datastream/apiv1alpha1;datastream", + metadata = True, + service_yaml = "datastream_v1alpha1.yaml", + transport = "grpc+rest", + deps = [ + ":datastream_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", + ], +) + +go_test( + name = "datastream_go_gapic_test", + srcs = [":datastream_go_gapic_srcjar_test"], + embed = [":datastream_go_gapic"], + importpath = "cloud.google.com/go/datastream/apiv1alpha1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-datastream-v1alpha1-go", + deps = [ + ":datastream_go_gapic", + ":datastream_go_gapic_srcjar-metadata.srcjar", + ":datastream_go_gapic_srcjar-test.srcjar", + ":datastream_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "datastream_py_gapic", + srcs = [":datastream_proto"], + grpc_service_config = "datastream_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "datastream_py_gapic_test", + srcs = [ + "datastream_py_gapic_pytest.py", + "datastream_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":datastream_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "datastream-v1alpha1-py", + deps = [ + ":datastream_py_gapic", + ], +) + +############################################################################## +# 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 = "datastream_php_proto", + deps = [":datastream_proto"], +) + +php_grpc_library( + name = "datastream_php_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_php_proto"], +) + +php_gapic_library( + name = "datastream_php_gapic", + srcs = [":datastream_proto_with_info"], + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1alpha1.yaml", + deps = [ + ":datastream_php_grpc", + ":datastream_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-datastream-v1alpha1-php", + deps = [ + ":datastream_php_gapic", + ":datastream_php_grpc", + ":datastream_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "datastream_nodejs_gapic", + package_name = "@google-cloud/datastream", + src = ":datastream_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "datastream_grpc_service_config.json", + package = "google.cloud.datastream.v1alpha1", + service_yaml = "datastream_v1alpha1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "datastream-v1alpha1-nodejs", + deps = [ + ":datastream_nodejs_gapic", + ":datastream_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 = "datastream_ruby_proto", + deps = [":datastream_proto"], +) + +ruby_grpc_library( + name = "datastream_ruby_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "datastream_ruby_gapic", + srcs = [":datastream_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-datastream-v1alpha1", + "ruby-cloud-product-url=https://cloud.google.com/datastream/", + "ruby-cloud-api-id=datastream.googleapis.com", + "ruby-cloud-api-shortname=datastream", + ], + grpc_service_config = "datastream_grpc_service_config.json", + ruby_cloud_description = "Datastream is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime.", + ruby_cloud_title = "Datastream V1alpha1", + deps = [ + ":datastream_ruby_grpc", + ":datastream_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-datastream-v1alpha1-ruby", + deps = [ + ":datastream_ruby_gapic", + ":datastream_ruby_grpc", + ":datastream_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 = "datastream_csharp_proto", + deps = [":datastream_proto"], +) + +csharp_grpc_library( + name = "datastream_csharp_grpc", + srcs = [":datastream_proto"], + deps = [":datastream_csharp_proto"], +) + +csharp_gapic_library( + name = "datastream_csharp_gapic", + srcs = [":datastream_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "datastream_grpc_service_config.json", + service_yaml = "datastream_v1alpha1.yaml", + deps = [ + ":datastream_csharp_grpc", + ":datastream_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-datastream-v1alpha1-csharp", + deps = [ + ":datastream_csharp_gapic", + ":datastream_csharp_grpc", + ":datastream_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream.proto b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream.proto new file mode 100644 index 00000000..c924cbbf --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream.proto @@ -0,0 +1,895 @@ +// 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.datastream.v1alpha1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/datastream/v1alpha1/datastream_resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastream.V1Alpha1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/datastream/v1alpha1;datastream"; +option java_multiple_files = true; +option java_outer_classname = "CloudDatastreamServiceProto"; +option java_package = "com.google.cloud.datastream.v1alpha1"; +option php_namespace = "Google\\Cloud\\Datastream\\V1alpha1"; +option ruby_package = "Google::Cloud::Datastream::V1alpha1"; + +// Datastream service +service Datastream { + option (google.api.default_host) = "datastream.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Use this method to list connection profiles created in a project and + // location. + rpc ListConnectionProfiles(ListConnectionProfilesRequest) returns (ListConnectionProfilesResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to get details about a connection profile. + rpc GetConnectionProfile(GetConnectionProfileRequest) returns (ConnectionProfile) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/connectionProfiles/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a connection profile in a project and location. + rpc CreateConnectionProfile(CreateConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles" + body: "connection_profile" + }; + option (google.api.method_signature) = "parent,connection_profile,connection_profile_id"; + option (google.longrunning.operation_info) = { + response_type: "ConnectionProfile" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to update the parameters of a connection profile. + rpc UpdateConnectionProfile(UpdateConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha1/{connection_profile.name=projects/*/locations/*/connectionProfiles/*}" + body: "connection_profile" + }; + option (google.api.method_signature) = "connection_profile,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "ConnectionProfile" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to delete a connection profile.. + rpc DeleteConnectionProfile(DeleteConnectionProfileRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/connectionProfiles/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to discover a connection profile. + // The discover API call exposes the data objects and metadata belonging to + // the profile. Typically, a request returns children data objects under a + // parent data object that's optionally supplied in the request. + rpc DiscoverConnectionProfile(DiscoverConnectionProfileRequest) returns (DiscoverConnectionProfileResponse) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles:discover" + body: "*" + }; + } + + // Use this method to list streams in a project and location. + rpc ListStreams(ListStreamsRequest) returns (ListStreamsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/streams" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to get details about a stream. + rpc GetStream(GetStreamRequest) returns (Stream) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/streams/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a stream. + rpc CreateStream(CreateStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/streams" + body: "stream" + }; + option (google.api.method_signature) = "parent,stream,stream_id"; + option (google.longrunning.operation_info) = { + response_type: "Stream" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to update the configuration of a stream. + rpc UpdateStream(UpdateStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha1/{stream.name=projects/*/locations/*/streams/*}" + body: "stream" + }; + option (google.api.method_signature) = "stream,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Stream" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to delete a stream. + rpc DeleteStream(DeleteStreamRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/streams/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to fetch any errors associated with a stream. + rpc FetchErrors(FetchErrorsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{stream=projects/*/locations/*/streams/*}:fetchErrors" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "FetchErrorsResponse" + metadata_type: "OperationMetadata" + }; + } + + // The FetchStaticIps API call exposes the static ips used by Datastream. + // Typically, a request returns children data objects under + // a parent data object that's optionally supplied in the request. + rpc FetchStaticIps(FetchStaticIpsRequest) returns (FetchStaticIpsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*}:fetchStaticIps" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to create a private connectivity configuration. + rpc CreatePrivateConnection(CreatePrivateConnectionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*}/privateConnections" + body: "private_connection" + }; + option (google.api.method_signature) = "parent,private_connection,private_connection_id"; + option (google.longrunning.operation_info) = { + response_type: "PrivateConnection" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to get details about a private connectivity configuration. + rpc GetPrivateConnection(GetPrivateConnectionRequest) returns (PrivateConnection) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to list private connectivity configurations in a project + // and location. + rpc ListPrivateConnections(ListPrivateConnectionsRequest) returns (ListPrivateConnectionsResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*}/privateConnections" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to delete a private connectivity configuration. + rpc DeletePrivateConnection(DeletePrivateConnectionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to create a route for a private connectivity in a project + // and location. + rpc CreateRoute(CreateRouteRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha1/{parent=projects/*/locations/*/privateConnections/*}/routes" + body: "route" + }; + option (google.api.method_signature) = "parent,route,route_id"; + option (google.longrunning.operation_info) = { + response_type: "Route" + metadata_type: "OperationMetadata" + }; + } + + // Use this method to get details about a route. + rpc GetRoute(GetRouteRequest) returns (Route) { + option (google.api.http) = { + get: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*/routes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Use this method to list routes created for a private connectivity in a + // project and location. + rpc ListRoutes(ListRoutesRequest) returns (ListRoutesResponse) { + option (google.api.http) = { + get: "/v1alpha1/{parent=projects/*/locations/*/privateConnections/*}/routes" + }; + option (google.api.method_signature) = "parent"; + } + + // Use this method to delete a route. + rpc DeleteRoute(DeleteRouteRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*/routes/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } +} + +// Request message for 'discover' ConnectionProfile request. +message DiscoverConnectionProfileRequest { + // Required. The parent resource of the ConnectionProfile type. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // The connection profile on which to run discover. + oneof target { + // An ad-hoc ConnectionProfile configuration. + ConnectionProfile connection_profile = 200; + + // A reference to an existing ConnectionProfile. + string connection_profile_name = 201; + } + + oneof depth { + // Whether to retrieve the full hierarchy of data objects (TRUE) or only the + // current level (FALSE). + bool recursive = 3; + + // The number of hierarchy levels below the current level to be retrieved. + int32 recursion_depth = 4; + } + + // The data object to enrich with child data objects and metadata. + oneof data_object { + // Oracle RDBMS to enrich with child data objects and metadata. + OracleRdbms oracle_rdbms = 100; + + // MySQL RDBMS to enrich with child data objects and metadata. + MysqlRdbms mysql_rdbms = 101; + } +} + +message DiscoverConnectionProfileResponse { + // The data object that has been enriched by the discover API call. + oneof data_object { + // Enriched Oracle RDBMS object. + OracleRdbms oracle_rdbms = 100; + + // Enriched MySQL RDBMS object. + MysqlRdbms mysql_rdbms = 101; + } +} + +// Request message for 'FetchStaticIps' request. +message FetchStaticIpsRequest { + // Required. The name resource of the Response type. Must be in the + // format `projects/*/locations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of Ips to return, will likely not be specified. + int32 page_size = 2; + + // A page token, received from a previous `ListStaticIps` call. + // will likely not be specified. + string page_token = 3; +} + +// Response message for a 'FetchStaticIps' response. +message FetchStaticIpsResponse { + // list of static ips by account + repeated string static_ips = 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 message for 'FetchErrors' request. +message FetchErrorsRequest { + // Name of the Stream resource for which to fetch any errors. + string stream = 1 [(google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + }]; +} + +// Response message for a 'FetchErrors' response. +message FetchErrorsResponse { + // The list of errors on the Stream. + repeated Error errors = 1; +} + +message ListConnectionProfilesRequest { + // Required. The parent that owns the collection of connection profiles. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Maximum number of connection profiles to return. + // If unspecified, at most 50 connection profiles will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListConnectionProfiles` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListConnectionProfiles` + // must match the call that provided the page token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +message ListConnectionProfilesResponse { + // List of connection profiles. + repeated ConnectionProfile connection_profiles = 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 GetConnectionProfileRequest { + // Required. The name of the connection profile resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; +} + +message CreateConnectionProfileRequest { + // Required. The parent that owns the collection of ConnectionProfiles. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Required. The connection profile identifier. + string connection_profile_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The connection profile resource to create. + ConnectionProfile connection_profile = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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 UpdateConnectionProfileRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // ConnectionProfile 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 ConnectionProfile to update. + ConnectionProfile connection_profile = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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 DeleteConnectionProfileRequest { + // Required. The name of the connection profile resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/ConnectionProfile" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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 ListStreamsRequest { + // Required. The parent that owns the collection of streams. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Stream" + } + ]; + + // Maximum number of streams to return. + // If unspecified, at most 50 streams will be returned. The maximum + // value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListStreams` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListStreams` + // must match the call that provided the page token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +message ListStreamsResponse { + // List of streams + repeated Stream streams = 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 GetStreamRequest { + // Required. The name of the stream resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + } + ]; +} + +message CreateStreamRequest { + // Required. The parent that owns the collection of streams. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Stream" + } + ]; + + // Required. The stream identifier. + string stream_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The stream resource to create. + Stream stream = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the stream, but do not create any resources. + // The default is false. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Create the stream without validating it. + bool force = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +message UpdateStreamRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // stream 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 stream resource to update. + Stream stream = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. Only validate the stream with the changes, without actually updating it. + // The default is false. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Execute the update without validating it. + bool force = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +message DeleteStreamRequest { + // Required. The name of the stream resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Stream" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Output only. Results of executed validations if there are any. + ValidationResult validation_result = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message CreatePrivateConnectionRequest { + // Required. The parent that owns the collection of PrivateConnections. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Required. The private connectivity identifier. + string private_connection_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Private Connectivity resource to create. + PrivateConnection private_connection = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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 ListPrivateConnectionsRequest { + // Required. The parent that owns the collection of private connectivity configurations. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Maximum number of private connectivity configurations to return. + // If unspecified, at most 50 private connectivity configurations that will be + // returned. The maximum value is 1000; values above 1000 will be coerced to + // 1000. + int32 page_size = 2; + + // Page token received from a previous `ListPrivateConnections` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListPrivateConnections` must match the call that provided the page + // token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +message ListPrivateConnectionsResponse { + // List of private connectivity configurations. + repeated PrivateConnection private_connections = 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 DeletePrivateConnectionRequest { + // Required. The name of the private connectivity configuration to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/PrivateConnection" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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 routes that belong to this PrivateConnection will + // also be deleted. + bool force = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +message GetPrivateConnectionRequest { + // Required. The name of the private connectivity configuration to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/PrivateConnection" + } + ]; +} + +// route creation request +message CreateRouteRequest { + // Required. The parent that owns the collection of Routes. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Route" + } + ]; + + // Required. The Route identifier. + string route_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Route resource to create. + Route route = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; +} + +// route list request +message ListRoutesRequest { + // Required. The parent that owns the collection of Routess. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datastream.googleapis.com/Route" + } + ]; + + // Maximum number of Routes to return. The service may return + // fewer than this value. If unspecified, at most 50 Routes + // will be returned. The maximum value is 1000; values above 1000 will be + // coerced to 1000. + int32 page_size = 2; + + // Page token received from a previous `ListRoutes` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListRoutes` must match the call that provided the page + // token. + string page_token = 3; + + // Filter request. + string filter = 4; + + // Order by fields for the result. + string order_by = 5; +} + +// route list response +message ListRoutesResponse { + // List of Routes. + repeated Route routes = 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; +} + +// route deletion request +message DeleteRouteRequest { + // Required. The name of the Route resource to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Route" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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]; +} + +// route get request +message GetRouteRequest { + // Required. The name of the Route resource to get. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datastream.googleapis.com/Route" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_grpc_service_config.json b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_grpc_service_config.json new file mode 100644 index 00000000..cfd18a6c --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_grpc_service_config.json @@ -0,0 +1,28 @@ +{ + "methodConfig": [{ + "name": [{ "service": "google.cloud.datastream.v1alpha1.Datastream" }], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "CreateConnectionProfile" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "UpdateConnectionProfile" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "DeleteConnectionProfile" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "CreateStream" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "UpdateStream" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "DeleteStream" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "CreatePrivateConnection" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "DeletePrivateConnection" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "CreateRoute" }, + { "service": "google.cloud.datastream.v1alpha1.Datastream", "method": "DeleteRoute" } + ], + "timeout": "60s" + }] +} diff --git a/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_resources.proto b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_resources.proto new file mode 100644 index 00000000..b2a9ba3f --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_resources.proto @@ -0,0 +1,683 @@ +// 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.datastream.v1alpha1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/datastream/v1alpha1;datastream"; +option java_multiple_files = true; +option java_outer_classname = "CloudDatastreamResourcesProto"; +option java_package = "com.google.cloud.datastream.v1alpha1"; +option csharp_namespace = "Google.Cloud.Datastream.V1Alpha1"; +option php_namespace = "Google\\Cloud\\Datastream\\V1alpha1"; +option ruby_package = "Google::Cloud::Datastream::V1alpha1"; + +// Oracle database profile. +message OracleProfile { + // Required. Hostname for the Oracle connection. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Port for the Oracle connection, default value is 1521. + int32 port = 2; + + // Required. Username for the Oracle connection. + string username = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Password for the Oracle connection. + string password = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. Database for the Oracle connection. + string database_service = 5 [(google.api.field_behavior) = REQUIRED]; + + // Connection string attributes + map connection_attributes = 6; +} + +// MySQL database profile. +message MysqlProfile { + // Required. Hostname for the MySQL connection. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Port for the MySQL connection, default value is 3306. + int32 port = 2; + + // Required. Username for the MySQL connection. + string username = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. Input only. Password for the MySQL connection. + string password = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = INPUT_ONLY + ]; + + // SSL configuration for the MySQL connection. + MysqlSslConfig ssl_config = 5; +} + +// Cloud Storage bucket profile. +message GcsProfile { + // Required. The full project and resource path for Cloud Storage bucket including the + // name. + string bucket_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The root path inside the Cloud Storage bucket. + string root_path = 2; +} + +// No connectivity settings. +message NoConnectivitySettings { + +} + +// Static IP address connectivity. +message StaticServiceIpConnectivity { + +} + +// Forward SSH Tunnel connectivity. +message ForwardSshTunnelConnectivity { + // Required. Hostname for the SSH tunnel. + string hostname = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Username for the SSH tunnel. + string username = 2 [(google.api.field_behavior) = REQUIRED]; + + // Port for the SSH tunnel, default value is 22. + int32 port = 3; + + oneof authentication_method { + // Input only. SSH password. + string password = 100 [(google.api.field_behavior) = INPUT_ONLY]; + + // Input only. SSH private key. + string private_key = 101 [(google.api.field_behavior) = INPUT_ONLY]; + } +} + +// The VPC Peering configuration is used to create VPC peering between +// Datastream and the consumer's VPC. +message VpcPeeringConfig { + // Required. fully qualified name of the VPC Datastream will peer to. + string vpc_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A free subnet for peering. (CIDR of /29) + string subnet = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The PrivateConnection resource is used to establish private connectivity +// between Datastream and a customer's network. +message PrivateConnection { + option (google.api.resource) = { + type: "datastream.googleapis.com/PrivateConnection" + pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}" + }; + + // Private Connection state. + enum State { + STATE_UNSPECIFIED = 0; + + // The private connection is in creation state - creating resources. + CREATING = 1; + + // The private connection has been created with all of it's resources. + CREATED = 2; + + // The private connection creation has failed. + FAILED = 3; + } + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The state of the Private Connection. + State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. In case of error, the details of the error in a user-friendly format. + Error error = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // VPC Peering Config + VpcPeeringConfig vpc_peering_config = 100; +} + +// Private Connectivity +message PrivateConnectivity { + string private_connection_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The Route resource is the child of the PrivateConnection resource. +// It used to define a route for a PrivateConnection setup. +message Route { + option (google.api.resource) = { + type: "datastream.googleapis.com/Route" + pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}/routes/{route}" + }; + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Destination address for connection + string destination_address = 6 [(google.api.field_behavior) = REQUIRED]; + + // Destination port for connection + int32 destination_port = 7; +} + +// MySQL SSL configuration information. +message MysqlSslConfig { + // Input only. PEM-encoded private key associated with the Client Certificate. + // If this field is used then the 'client_certificate' and the + // 'ca_certificate' fields are mandatory. + string client_key = 11 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the client_key field is set. + bool client_key_set = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. PEM-encoded certificate that will be used by the replica to + // authenticate against the source database server. If this field is used + // then the 'client_key' and the 'ca_certificate' fields are mandatory. + string client_certificate = 13 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the client_certificate field is set. + bool client_certificate_set = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Input only. PEM-encoded certificate of the CA that signed the source database + // server's certificate. + string ca_certificate = 15 [(google.api.field_behavior) = INPUT_ONLY]; + + // Output only. Indicates whether the ca_certificate field is set. + bool ca_certificate_set = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +message ConnectionProfile { + option (google.api.resource) = { + type: "datastream.googleapis.com/ConnectionProfile" + pattern: "projects/{project}/locations/{location}/connectionProfiles/{connection_profile}" + }; + + // Output only. The resource's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The create time of the resource. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the resource. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Connection configuration for the ConnectionProfile. + oneof profile { + // Oracle ConnectionProfile configuration. + OracleProfile oracle_profile = 100; + + // Cloud Storage ConnectionProfile configuration. + GcsProfile gcs_profile = 101; + + // MySQL ConnectionProfile configuration. + MysqlProfile mysql_profile = 102; + } + + // Connectivity options used to establish a connection to the profile. + oneof connectivity { + // No connectivity option chosen. + NoConnectivitySettings no_connectivity = 200; + + // Static Service IP connectivity. + StaticServiceIpConnectivity static_service_ip_connectivity = 201; + + // Forward SSH tunnel connectivity. + ForwardSshTunnelConnectivity forward_ssh_connectivity = 202; + + // Private connectivity. + PrivateConnectivity private_connectivity = 203; + } +} + +// Oracle Column. +message OracleColumn { + // Column name. + string column_name = 1; + + // The Oracle data type. + string data_type = 2; + + // Column length. + int32 length = 3; + + // Column precision. + int32 precision = 4; + + // Column scale. + int32 scale = 5; + + // Column encoding. + string encoding = 6; + + // Whether or not the column represents a primary key. + bool primary_key = 7; + + // Whether or not the column can accept a null value. + bool nullable = 8; + + // The ordinal position of the column in the table. + int32 ordinal_position = 9; +} + +// Oracle table. +message OracleTable { + // Table name. + string table_name = 1; + + // Oracle columns in the schema. + // When unspecified as part of inclue/exclude lists, includes/excludes + // everything. + repeated OracleColumn oracle_columns = 2; +} + +// Oracle schema. +message OracleSchema { + // Schema name. + string schema_name = 1; + + // Tables in the schema. + repeated OracleTable oracle_tables = 2; +} + +// Oracle database structure. +message OracleRdbms { + // Oracle schemas/databases in the database server. + repeated OracleSchema oracle_schemas = 1; +} + +// Oracle data source configuration +message OracleSourceConfig { + // Oracle objects to include in the stream. + OracleRdbms allowlist = 1; + + // Oracle objects to exclude from the stream. + OracleRdbms rejectlist = 2; +} + +// MySQL Column. +message MysqlColumn { + // Column name. + string column_name = 1; + + // The MySQL data type. Full data types list can be found here: + // https://dev.mysql.com/doc/refman/8.0/en/data-types.html + string data_type = 2; + + // Column length. + int32 length = 3; + + // Column collation. + string collation = 4; + + // Whether or not the column represents a primary key. + bool primary_key = 5; + + // Whether or not the column can accept a null value. + bool nullable = 6; + + // The ordinal position of the column in the table. + int32 ordinal_position = 7; +} + +// MySQL table. +message MysqlTable { + // Table name. + string table_name = 1; + + // MySQL columns in the database. + // When unspecified as part of include/exclude lists, includes/excludes + // everything. + repeated MysqlColumn mysql_columns = 2; +} + +// MySQL database. +message MysqlDatabase { + // Database name. + string database_name = 1; + + // Tables in the database. + repeated MysqlTable mysql_tables = 2; +} + +// MySQL database structure +message MysqlRdbms { + // Mysql databases on the server + repeated MysqlDatabase mysql_databases = 1; +} + +// MySQL source configuration +message MysqlSourceConfig { + // MySQL objects to retrieve from the source. + MysqlRdbms allowlist = 1; + + // MySQL objects to exclude from the stream. + MysqlRdbms rejectlist = 2; +} + +// The configuration of the stream source. +message SourceConfig { + // Required. Source connection profile identifier. + string source_connection_profile_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Stream configuration that is specific to the data source type. + oneof source_stream_config { + // Oracle data source configuration + OracleSourceConfig oracle_source_config = 100; + + // MySQL data source configuration + MysqlSourceConfig mysql_source_config = 101; + } +} + +// AVRO file format configuration. +message AvroFileFormat { + +} + +// File format in Cloud Storage. +enum GcsFileFormat { + option deprecated = true; + + // Unspecified Cloud Storage file format. + GCS_FILE_FORMAT_UNSPECIFIED = 0; + + // Avro file format + AVRO = 1; +} + +// Schema file format. +enum SchemaFileFormat { + // Unspecified schema file format. + SCHEMA_FILE_FORMAT_UNSPECIFIED = 0; + + // Do not attach schema file. + NO_SCHEMA_FILE = 1; + + // Avro schema format. + AVRO_SCHEMA_FILE = 2; +} + +// JSON file format configuration. +message JsonFileFormat { + // Json file compression. + enum JsonCompression { + // Unspecified json file compression. + JSON_COMPRESSION_UNSPECIFIED = 0; + + // Do not compress JSON file. + NO_COMPRESSION = 1; + + // Gzip compression. + GZIP = 2; + } + + // The schema file format along JSON data files. + SchemaFileFormat schema_file_format = 1; + + // Compression of the loaded JSON file. + JsonCompression compression = 2; +} + +// Google Cloud Storage destination configuration +message GcsDestinationConfig { + // Path inside the Cloud Storage bucket to write data to. + string path = 1; + + // File format that data should be written in. + // Deprecated field - use file_format instead. + GcsFileFormat gcs_file_format = 2 [deprecated = true]; + + // The maximum file size to be saved in the bucket. + int32 file_rotation_mb = 3; + + // The maximum duration for which new events are added before a file is + // closed and a new file is created. + google.protobuf.Duration file_rotation_interval = 4; + + // File Format that the data should be written in. + oneof file_format { + // AVRO file format configuration. + AvroFileFormat avro_file_format = 100; + + // JSON file format configuration. + JsonFileFormat json_file_format = 101; + } +} + +// The configuration of the stream destination. +message DestinationConfig { + // Required. Destination connection profile identifier. + string destination_connection_profile_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Stream configuration that is specific to the data destination type. + oneof destination_stream_config { + GcsDestinationConfig gcs_destination_config = 100; + } +} + +message Stream { + option (google.api.resource) = { + type: "datastream.googleapis.com/Stream" + pattern: "projects/{project}/locations/{location}/streams/{stream}" + }; + + // Backfill strategy to automatically backfill the Stream's objects. + // Specific objects can be excluded. + message BackfillAllStrategy { + // List of objects to exclude. + oneof excluded_objects { + // Oracle data source objects to avoid backfilling. + OracleRdbms oracle_excluded_objects = 1; + + // MySQL data source objects to avoid backfilling. + MysqlRdbms mysql_excluded_objects = 2; + } + } + + // Backfill strategy to disable automatic backfill for the Stream's objects. + message BackfillNoneStrategy { + + } + + // Stream state. + enum State { + // Unspecified stream state. + STATE_UNSPECIFIED = 0; + + // The stream has been created. + CREATED = 1; + + // The stream is running. + RUNNING = 2; + + // The stream is paused. + PAUSED = 3; + + // The stream is in maintenance mode. + // + // Updates are rejected on the resource in this state. + MAINTENANCE = 4; + + // The stream is experiencing an error that is preventing data from being + // streamed. + FAILED = 5; + + // The stream has experienced a terminal failure. + FAILED_PERMANENTLY = 6; + + // The stream is starting, but not yet running. + STARTING = 7; + + // The Stream is no longer reading new events, but still writing events in + // the buffer. + DRAINING = 8; + } + + // Output only. The stream's name. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time of the stream. + google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time of the stream. + google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels. + map labels = 4; + + // Required. Display name. + string display_name = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. Source connection profile configuration. + SourceConfig source_config = 6 [(google.api.field_behavior) = REQUIRED]; + + // Required. Destination connection profile configuration. + DestinationConfig destination_config = 7 [(google.api.field_behavior) = REQUIRED]; + + // The state of the stream. + State state = 8; + + // Stream backfill strategy. + oneof backfill_strategy { + // Automatically backfill objects included in the stream source + // configuration. Specific objects can be excluded. + BackfillAllStrategy backfill_all = 101; + + // Do not automatically backfill any objects. + BackfillNoneStrategy backfill_none = 102; + } + + // Output only. Errors on the Stream. + repeated Error errors = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Represent a user-facing Error. +message Error { + // A title that explains the reason for the error. + string reason = 1; + + // A unique identifier for this specific error, + // allowing it to be traced throughout the system in logs and API responses. + string error_uuid = 2; + + // A message containing more information about the error that occurred. + string message = 3; + + // The time when the error occurred. + google.protobuf.Timestamp error_time = 4; + + // Additional information about the error. + map details = 5; +} + +// Contains the current validation results. +message ValidationResult { + // A list of validations (includes both executed as well as not executed + // validations). + repeated Validation validations = 1; +} + +message Validation { + // Validation execution status. + enum Status { + // Unspecified status. + STATUS_UNSPECIFIED = 0; + + // Validation did not execute. + NOT_EXECUTED = 1; + + // Validation failed. + FAILED = 2; + + // Validation passed. + PASSED = 3; + } + + // A short description of the validation. + string description = 1; + + // Validation execution status. + Status status = 2; + + // Messages reflecting the validation results. + repeated ValidationMessage message = 3; + + // A custom code identifying this validation. + string code = 4; +} + +// Represent user-facing validation result message. +message ValidationMessage { + // Validation message level. + enum Level { + // Unspecified level. + LEVEL_UNSPECIFIED = 0; + + // Potentially cause issues with the Stream. + WARNING = 1; + + // Definitely cause issues with the Stream. + ERROR = 2; + } + + // The result of the validation. + string message = 1; + + // Message severity level (warning or error). + Level level = 2; + + // Additional metadata related to the result. + map metadata = 3; + + // A custom code identifying this specific message. + string code = 4; +} diff --git a/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_v1alpha1.yaml b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_v1alpha1.yaml new file mode 100644 index 00000000..f0143225 --- /dev/null +++ b/google-cloud/protos/google/cloud/datastream/v1alpha1/datastream_v1alpha1.yaml @@ -0,0 +1,69 @@ +type: google.api.Service +config_version: 3 +name: datastream.googleapis.com +title: Datastream API + +apis: +- name: google.cloud.datastream.v1alpha1.Datastream + +types: +- name: google.cloud.datastream.v1alpha1.Error +- name: google.cloud.datastream.v1alpha1.FetchErrorsResponse +- name: google.cloud.datastream.v1alpha1.OperationMetadata +- name: google.cloud.datastream.v1alpha1.ValidationResult + +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.datastream.v1alpha1.Datastream.*' + deadline: 60.0 + - selector: google.cloud.datastream.v1alpha1.Datastream.DiscoverConnectionProfile + deadline: 120.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + 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' + - 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' + +authentication: + rules: + - selector: 'google.cloud.datastream.v1alpha1.Datastream.*' + 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 diff --git a/google-cloud/protos/google/cloud/deploy/BUILD.bazel b/google-cloud/protos/google/cloud/deploy/BUILD.bazel new file mode 100644 index 00000000..74a55988 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/BUILD.bazel @@ -0,0 +1,39 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-deploy. + +# 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 clouddeploy. +# 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 = "clouddeploy_ruby_wrapper", + srcs = ["//google/cloud/deploy/v1:deploy_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-deploy", + "ruby-cloud-wrapper-of=v1:0.0", + "ruby-cloud-product-url=https://cloud.google.com/deploy/", + "ruby-cloud-api-id=clouddeploy.googleapis.com", + "ruby-cloud-api-shortname=clouddeploy", + ], + ruby_cloud_description = "Google Cloud Deploy is a managed service that automates delivery of your applications to a series of target environments in a defined promotion sequence.", + ruby_cloud_title = "Google Cloud Deploy", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-deploy-ruby", + deps = [ + ":clouddeploy_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/deploy/v1/BUILD.bazel b/google-cloud/protos/google/cloud/deploy/v1/BUILD.bazel new file mode 100644 index 00000000..764bfb00 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/BUILD.bazel @@ -0,0 +1,413 @@ +# 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 = "deploy_proto", + srcs = [ + "cloud_deploy.proto", + "deliverypipeline_notification_payload.proto", + "jobrun_notification_payload.proto", + "log_enums.proto", + "release_notification_payload.proto", + "release_render_payload.proto", + "rollout_notification_payload.proto", + "target_notification_payload.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", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "deploy_proto_with_info", + deps = [ + ":deploy_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 = "deploy_java_proto", + deps = [":deploy_proto"], +) + +java_grpc_library( + name = "deploy_java_grpc", + srcs = [":deploy_proto"], + deps = [":deploy_java_proto"], +) + +java_gapic_library( + name = "deploy_java_gapic", + srcs = [":deploy_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "clouddeploy_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + test_deps = [ + ":deploy_java_grpc", + "//google/cloud/location:location_java_grpc", + "//google/iam/v1:iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":deploy_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "deploy_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.deploy.v1.CloudDeployClientHttpJsonTest", + "com.google.cloud.deploy.v1.CloudDeployClientTest", + ], + runtime_deps = [":deploy_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-deploy-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":deploy_java_gapic", + ":deploy_java_grpc", + ":deploy_java_proto", + ":deploy_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "deploy_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/deploy/v1", + protos = [":deploy_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:date_go_proto", + ], +) + +go_gapic_library( + name = "deploy_go_gapic", + srcs = [":deploy_proto_with_info"], + grpc_service_config = "clouddeploy_grpc_service_config.json", + importpath = "cloud.google.com/go/deploy/apiv1;deploy", + metadata = True, + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + transport = "grpc+rest", + deps = [ + ":deploy_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", + ], +) + +go_test( + name = "deploy_go_gapic_test", + srcs = [":deploy_go_gapic_srcjar_test"], + embed = [":deploy_go_gapic"], + importpath = "cloud.google.com/go/deploy/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-deploy-v1-go", + deps = [ + ":deploy_go_gapic", + ":deploy_go_gapic_srcjar-metadata.srcjar", + ":deploy_go_gapic_srcjar-test.srcjar", + ":deploy_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "deploy_py_gapic", + srcs = [":deploy_proto"], + grpc_service_config = "clouddeploy_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + transport = "grpc", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "deploy_py_gapic_test", + srcs = [ + "deploy_py_gapic_pytest.py", + "deploy_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":deploy_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "deploy-v1-py", + deps = [ + ":deploy_py_gapic", + ], +) + +############################################################################## +# 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 = "deploy_php_proto", + deps = [":deploy_proto"], +) + +php_grpc_library( + name = "deploy_php_grpc", + srcs = [":deploy_proto"], + deps = [":deploy_php_proto"], +) + +php_gapic_library( + name = "deploy_php_gapic", + srcs = [":deploy_proto_with_info"], + grpc_service_config = "clouddeploy_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + deps = [ + ":deploy_php_grpc", + ":deploy_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-deploy-v1-php", + deps = [ + ":deploy_php_gapic", + ":deploy_php_grpc", + ":deploy_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "deploy_nodejs_gapic", + package_name = "@google-cloud/deploy", + src = ":deploy_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "clouddeploy_grpc_service_config.json", + package = "google.cloud.deploy.v1", + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "deploy-v1-nodejs", + deps = [ + ":deploy_nodejs_gapic", + ":deploy_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 = "deploy_ruby_proto", + deps = [":deploy_proto"], +) + +ruby_grpc_library( + name = "deploy_ruby_grpc", + srcs = [":deploy_proto"], + deps = [":deploy_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "deploy_ruby_gapic", + srcs = [":deploy_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=clouddeploy.googleapis.com", + "ruby-cloud-api-shortname=clouddeploy", + "ruby-cloud-gem-name=google-cloud-deploy-v1", + "ruby-cloud-product-url=https://cloud.google.com/deploy/", + "ruby-cloud-yard-strict=false", + ], + grpc_service_config = "clouddeploy_grpc_service_config.json", + rest_numeric_enums = False, + ruby_cloud_description = "Google Cloud Deploy is a managed service that automates delivery of your applications to a series of target environments in a defined promotion sequence.", + ruby_cloud_title = "Google Cloud Deploy V1", + service_yaml = "clouddeploy_v1.yaml", + deps = [ + ":deploy_ruby_grpc", + ":deploy_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-deploy-v1-ruby", + deps = [ + ":deploy_ruby_gapic", + ":deploy_ruby_grpc", + ":deploy_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 = "deploy_csharp_proto", + deps = [":deploy_proto"], +) + +csharp_grpc_library( + name = "deploy_csharp_grpc", + srcs = [":deploy_proto"], + deps = [":deploy_csharp_proto"], +) + +csharp_gapic_library( + name = "deploy_csharp_gapic", + srcs = [":deploy_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "clouddeploy_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "clouddeploy_v1.yaml", + deps = [ + ":deploy_csharp_grpc", + ":deploy_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-deploy-v1-csharp", + deps = [ + ":deploy_csharp_gapic", + ":deploy_csharp_grpc", + ":deploy_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "deploy_cc_proto", + deps = [":deploy_proto"], +) + +cc_grpc_library( + name = "deploy_cc_grpc", + srcs = [":deploy_proto"], + grpc_only = True, + deps = [":deploy_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/deploy/v1/cloud_deploy.proto b/google-cloud/protos/google/cloud/deploy/v1/cloud_deploy.proto new file mode 100644 index 00000000..69f8d522 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/cloud_deploy.proto @@ -0,0 +1,1986 @@ +// 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.deploy.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/type/date.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "CloudDeployProto"; +option java_package = "com.google.cloud.deploy.v1"; +option (google.api.resource_definition) = { + type: "cloudbuild.googleapis.com/Build" + pattern: "projects/{project}/locations/{location}/builds/{build}" +}; +option (google.api.resource_definition) = { + type: "container.googleapis.com/Cluster" + pattern: "projects/{project}/locations/{location}/clusters/{cluster}" +}; +option (google.api.resource_definition) = { + type: "clouddeploy.googleapis.com/Operation" + pattern: "projects/{project}/locations/{location}/operations/{operation}" +}; +option (google.api.resource_definition) = { + type: "cloudbuild.googleapis.com/WorkerPool" + pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}" +}; +option (google.api.resource_definition) = { + type: "gkehub.googleapis.com/Membership" + pattern: "projects/{project}/locations/{location}/memberships/{membership}" +}; + +// CloudDeploy service creates and manages Continuous Delivery operations +// on Google Cloud Platform via Skaffold (https://skaffold.dev). +service CloudDeploy { + option (google.api.default_host) = "clouddeploy.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Lists DeliveryPipelines in a given project and location. + rpc ListDeliveryPipelines(ListDeliveryPipelinesRequest) returns (ListDeliveryPipelinesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/deliveryPipelines" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single DeliveryPipeline. + rpc GetDeliveryPipeline(GetDeliveryPipelineRequest) returns (DeliveryPipeline) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new DeliveryPipeline in a given project and location. + rpc CreateDeliveryPipeline(CreateDeliveryPipelineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/deliveryPipelines" + body: "delivery_pipeline" + }; + option (google.api.method_signature) = "parent,delivery_pipeline,delivery_pipeline_id"; + option (google.longrunning.operation_info) = { + response_type: "DeliveryPipeline" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single DeliveryPipeline. + rpc UpdateDeliveryPipeline(UpdateDeliveryPipelineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{delivery_pipeline.name=projects/*/locations/*/deliveryPipelines/*}" + body: "delivery_pipeline" + }; + option (google.api.method_signature) = "delivery_pipeline,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "DeliveryPipeline" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single DeliveryPipeline. + rpc DeleteDeliveryPipeline(DeleteDeliveryPipelineRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/deliveryPipelines/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Targets in a given project and location. + rpc ListTargets(ListTargetsRequest) returns (ListTargetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/targets" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Target. + rpc GetTarget(GetTargetRequest) returns (Target) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/targets/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Target in a given project and location. + rpc CreateTarget(CreateTargetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/targets" + body: "target" + }; + option (google.api.method_signature) = "parent,target,target_id"; + option (google.longrunning.operation_info) = { + response_type: "Target" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Target. + rpc UpdateTarget(UpdateTargetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{target.name=projects/*/locations/*/targets/*}" + body: "target" + }; + option (google.api.method_signature) = "target,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Target" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Target. + rpc DeleteTarget(DeleteTargetRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/targets/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Releases in a given project and location. + rpc ListReleases(ListReleasesRequest) returns (ListReleasesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Release. + rpc GetRelease(GetReleaseRequest) returns (Release) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Release in a given project and location. + rpc CreateRelease(CreateReleaseRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases" + body: "release" + }; + option (google.api.method_signature) = "parent,release,release_id"; + option (google.longrunning.operation_info) = { + response_type: "Release" + metadata_type: "OperationMetadata" + }; + } + + // Abandons a Release in the Delivery Pipeline. + rpc AbandonRelease(AbandonReleaseRequest) returns (AbandonReleaseResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}:abandon" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Approves a Rollout. + rpc ApproveRollout(ApproveRolloutRequest) returns (ApproveRolloutResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:approve" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Rollouts in a given project and location. + rpc ListRollouts(ListRolloutsRequest) returns (ListRolloutsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Rollout. + rpc GetRollout(GetRolloutRequest) returns (Rollout) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Rollout in a given project and location. + rpc CreateRollout(CreateRolloutRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts" + body: "rollout" + }; + option (google.api.method_signature) = "parent,rollout,rollout_id"; + option (google.longrunning.operation_info) = { + response_type: "Rollout" + metadata_type: "OperationMetadata" + }; + } + + // Retries the specified Job in a Rollout. + rpc RetryJob(RetryJobRequest) returns (RetryJobResponse) { + option (google.api.http) = { + post: "/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:retryJob" + body: "*" + }; + option (google.api.method_signature) = "rollout,phase_id,job_id"; + } + + // Lists JobRuns in a given project and location. + rpc ListJobRuns(ListJobRunsRequest) returns (ListJobRunsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}/jobRuns" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single JobRun. + rpc GetJobRun(GetJobRunRequest) returns (JobRun) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the configuration for a location. + rpc GetConfig(GetConfigRequest) returns (Config) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/config}" + }; + option (google.api.method_signature) = "name"; + } +} + +// A `DeliveryPipeline` resource in the Google Cloud Deploy API. +// +// A `DeliveryPipeline` defines a pipeline through which a Skaffold +// configuration can progress. +message DeliveryPipeline { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/DeliveryPipeline" + pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}" + }; + + // Optional. Name of the `DeliveryPipeline`. Format is projects/{project}/ + // locations/{location}/deliveryPipelines/[a-z][a-z0-9\-]{0,62}. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Unique identifier of the `DeliveryPipeline`. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the `DeliveryPipeline`. Max length is 255 characters. + string description = 3; + + // User annotations. These attributes can only be set and used by the + // user, and not by Google Cloud Deploy. + map annotations = 4; + + // Labels are attributes that can be set and used by both the + // user and by Google Cloud Deploy. Labels must meet the following + // constraints: + // + // * 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. + // * Keys must start with a lowercase letter or international character. + // * Each resource is limited to a maximum of 64 labels. + // + // Both keys and values are additionally constrained to be <= 128 bytes. + map labels = 5; + + // Output only. Time at which the pipeline was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Most recent time at which the pipeline was updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ordering configuration of the `DeliveryPipeline`. + oneof pipeline { + // SerialPipeline defines a sequential set of stages for a + // `DeliveryPipeline`. + SerialPipeline serial_pipeline = 8; + } + + // Output only. Information around the state of the Delivery Pipeline. + PipelineCondition condition = 11 [(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; + + // When suspended, no new releases or rollouts can be created, + // but in-progress ones will complete. + bool suspended = 12; +} + +// SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`. +message SerialPipeline { + // Each stage specifies configuration for a `Target`. The ordering + // of this list defines the promotion flow. + repeated Stage stages = 1; +} + +// Stage specifies a location to which to deploy. +message Stage { + // The target_id to which this stage points. This field refers exclusively to + // the last segment of a target name. For example, this field would just be + // `my-target` (rather than + // `projects/project/locations/location/targets/my-target`). The location of + // the `Target` is inferred to be the same as the location of the + // `DeliveryPipeline` that contains this `Stage`. + string target_id = 1; + + // Skaffold profiles to use when rendering the manifest for this stage's + // `Target`. + repeated string profiles = 2; + + // Optional. The strategy to use for a `Rollout` to this stage. + Strategy strategy = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Strategy contains deployment strategy information. +message Strategy { + // Deployment strategy details. + oneof deployment_strategy { + // Standard deployment strategy executes a single deploy and allows + // verifying the deployment. + Standard standard = 1; + } +} + +// Standard represents the standard deployment strategy. +message Standard { + // Whether to verify a deployment. + bool verify = 1; +} + +// PipelineReadyCondition contains information around the status of the +// Pipeline. +message PipelineReadyCondition { + // True if the Pipeline is in a valid state. Otherwise at least one condition + // in `PipelineCondition` is in an invalid state. Iterate over those + // conditions and see which condition(s) has status = false to find out what + // is wrong with the Pipeline. + bool status = 3; + + // Last time the condition was updated. + google.protobuf.Timestamp update_time = 4; +} + +// TargetsPresentCondition contains information on any Targets defined in +// the Delivery Pipeline that do not actually exist. +message TargetsPresentCondition { + // True if there aren't any missing Targets. + bool status = 1; + + // The list of Target names that are missing. For example, + // projects/{project_id}/locations/{location_name}/targets/{target_name}. + repeated string missing_targets = 2 [(google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Target" + }]; + + // Last time the condition was updated. + google.protobuf.Timestamp update_time = 4; +} + +// PipelineCondition contains all conditions relevant to a Delivery Pipeline. +message PipelineCondition { + // Details around the Pipeline's overall status. + PipelineReadyCondition pipeline_ready_condition = 1; + + // Detalis around targets enumerated in the pipeline. + TargetsPresentCondition targets_present_condition = 3; +} + +// The request object for `ListDeliveryPipelines`. +message ListDeliveryPipelinesRequest { + // Required. The parent, which owns this collection of pipelines. Format must be + // projects/{project_id}/locations/{location_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; + + // The maximum number of pipelines to return. The service may return + // fewer than this value. If unspecified, at most 50 pipelines will + // be returned. The maximum value is 1000; values above 1000 will be set + // to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListDeliveryPipelines` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters match + // the call that provided the page token. + string page_token = 3; + + // Filter pipelines to be returned. See https://google.aip.dev/160 for more + // details. + string filter = 4; + + // Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5; +} + +// The response object from `ListDeliveryPipelines`. +message ListDeliveryPipelinesResponse { + // The `DeliveryPipeline` objects. + repeated DeliveryPipeline delivery_pipelines = 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; +} + +// The request object for `GetDeliveryPipeline` +message GetDeliveryPipelineRequest { + // Required. Name of the `DeliveryPipeline`. Format must be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; +} + +// The request object for `CreateDeliveryPipeline`. +message CreateDeliveryPipelineRequest { + // Required. The parent collection in which the `DeliveryPipeline` should be created. + // Format should be projects/{project_id}/locations/{location_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; + + // Required. ID of the `DeliveryPipeline`. + string delivery_pipeline_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The `DeliveryPipeline` to create. + DeliveryPipeline delivery_pipeline = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request object for `UpdateDeliveryPipeline`. +message UpdateDeliveryPipelineRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // `DeliveryPipeline` 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 `DeliveryPipeline` to update. + DeliveryPipeline delivery_pipeline = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, updating a `DeliveryPipeline` that does not exist will + // result in the creation of a new `DeliveryPipeline`. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request object for `DeleteDeliveryPipeline`. +message DeleteDeliveryPipelineRequest { + // Required. The name of the `DeliveryPipeline` to delete. Format should be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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, then deleting an already deleted or non-existing + // `DeliveryPipeline` will succeed. + bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, validate the request and preview the review, but do not actually + // post it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, all child resources under this pipeline will also be + // deleted. Otherwise, the request will only work if the pipeline has + // no child resources. + bool force = 6 [(google.api.field_behavior) = OPTIONAL]; + + // 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 = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A `Target` resource in the Google Cloud Deploy API. +// +// A `Target` defines a location to which a Skaffold configuration +// can be deployed. +message Target { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/Target" + pattern: "projects/{project}/locations/{location}/targets/{target}" + }; + + // Optional. Name of the `Target`. Format is + // projects/{project}/locations/{location}/targets/[a-z][a-z0-9\-]{0,62}. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Resource id of the `Target`. + string target_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Unique identifier of the `Target`. + string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Description of the `Target`. Max length is 255 characters. + string description = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User annotations. These attributes can only be set and used by the + // user, and not by Google Cloud Deploy. See + // https://google.aip.dev/128#annotations for more details such as format and + // size limitations. + map annotations = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Labels are attributes that can be set and used by both the + // user and by Google Cloud Deploy. Labels must meet the following + // constraints: + // + // * 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. + // * Keys must start with a lowercase letter or international character. + // * Each resource is limited to a maximum of 64 labels. + // + // Both keys and values are additionally constrained to be <= 128 bytes. + map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether or not the `Target` requires approval. + bool require_approval = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Time at which the `Target` was created. + google.protobuf.Timestamp create_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Most recent time at which the `Target` was updated. + google.protobuf.Timestamp update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Destination to which the Skaffold configuration is applied during a + // rollout. + oneof deployment_target { + // Information specifying a GKE Cluster. + GkeCluster gke = 15; + + // Information specifying an Anthos Cluster. + AnthosCluster anthos_cluster = 17; + + // Information specifying a Cloud Run deployment target. + CloudRunLocation run = 18; + } + + // 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 = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Configurations for all execution that relates to this `Target`. + // Each `ExecutionEnvironmentUsage` value may only be used in a single + // configuration; using the same value multiple times is an error. + // When one or more configurations are specified, they must include the + // `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. + // When no configurations are specified, execution will use the default + // specified in `DefaultPool`. + repeated ExecutionConfig execution_configs = 16; +} + +// Configuration of the environment to use when calling Skaffold. +message ExecutionConfig { + // Possible usages of this configuration. + enum ExecutionEnvironmentUsage { + // Default value. This value is unused. + EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED = 0; + + // Use for rendering. + RENDER = 1; + + // Use for deploying and deployment hooks. + DEPLOY = 2; + + // Use for deployment verification. + VERIFY = 3; + } + + // Required. Usages when this configuration should be applied. + repeated ExecutionEnvironmentUsage usages = 1 [(google.api.field_behavior) = REQUIRED]; + + // Details of the environment. + oneof execution_environment { + // Optional. Use default Cloud Build pool. + DefaultPool default_pool = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Use private Cloud Build pool. + PrivatePool private_pool = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The resource name of the `WorkerPool`, with the format + // `projects/{project}/locations/{location}/workerPools/{worker_pool}`. + // If this optional field is unspecified, the default Cloud Build pool will be + // used. + string worker_pool = 4 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/WorkerPool" + } + ]; + + // Optional. Google service account to use for execution. If unspecified, + // the project execution service account + // (-compute@developer.gserviceaccount.com) is used. + string service_account = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Cloud Storage location in which to store execution outputs. This can + // either be a bucket ("gs://my-bucket") or a path within a bucket + // ("gs://my-bucket/my-dir"). + // If unspecified, a default bucket located in the same region will be used. + string artifact_storage = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Execution timeout for a Cloud Build Execution. This must be between 10m and + // 24h in seconds format. + // If unspecified, a default timeout of 1h is used. + google.protobuf.Duration execution_timeout = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Execution using the default Cloud Build pool. +message DefaultPool { + // Optional. Google service account to use for execution. If unspecified, + // the project execution service account + // (-compute@developer.gserviceaccount.com) will be used. + string service_account = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Cloud Storage location where execution outputs should be stored. This can + // either be a bucket ("gs://my-bucket") or a path within a bucket + // ("gs://my-bucket/my-dir"). + // If unspecified, a default bucket located in the same region will be used. + string artifact_storage = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Execution using a private Cloud Build pool. +message PrivatePool { + // Required. Resource name of the Cloud Build worker pool to use. The format is + // `projects/{project}/locations/{location}/workerPools/{pool}`. + string worker_pool = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/WorkerPool" + } + ]; + + // Optional. Google service account to use for execution. If unspecified, + // the project execution service account + // (-compute@developer.gserviceaccount.com) will be used. + string service_account = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Cloud Storage location where execution outputs should be stored. This can + // either be a bucket ("gs://my-bucket") or a path within a bucket + // ("gs://my-bucket/my-dir"). + // If unspecified, a default bucket located in the same region will be used. + string artifact_storage = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Information specifying a GKE Cluster. +message GkeCluster { + // Information specifying a GKE Cluster. Format is + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}. + string cluster = 1 [(google.api.resource_reference) = { + type: "container.googleapis.com/Cluster" + }]; + + // Optional. If true, `cluster` is accessed using the private IP address of the control + // plane endpoint. Otherwise, the default IP address of the control plane + // endpoint is used. The default IP address is the private IP address for + // clusters with private control-plane endpoints and the public IP address + // otherwise. + // + // Only specify this option when `cluster` is a [private GKE + // cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept). + bool internal_ip = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Information specifying an Anthos Cluster. +message AnthosCluster { + // Membership of the GKE Hub-registered cluster to which to apply the Skaffold + // configuration. Format is + // `projects/{project}/locations/{location}/memberships/{membership_name}`. + string membership = 1 [(google.api.resource_reference) = { + type: "gkehub.googleapis.com/Membership" + }]; +} + +// Information specifying where to deploy a Cloud Run Service. +message CloudRunLocation { + // Required. The location for the Cloud Run Service. Format must be + // `projects/{project}/locations/{location}`. + string location = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// The request object for `ListTargets`. +message ListTargetsRequest { + // Required. The parent, which owns this collection of targets. Format must be + // projects/{project_id}/locations/{location_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "clouddeploy.googleapis.com/Target" + } + ]; + + // Optional. The maximum number of `Target` objects to return. The service may return + // fewer than this value. If unspecified, at most 50 `Target` objects 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. A page token, received from a previous `ListTargets` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters match + // the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter targets to be returned. See https://google.aip.dev/160 for more + // details. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response object from `ListTargets`. +message ListTargetsResponse { + // The `Target` objects. + repeated Target targets = 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; +} + +// The request object for `GetTarget`. +message GetTargetRequest { + // Required. Name of the `Target`. Format must be + // projects/{project_id}/locations/{location_name}/targets/{target_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Target" + } + ]; +} + +// The request object for `CreateTarget`. +message CreateTargetRequest { + // Required. The parent collection in which the `Target` should be created. + // Format should be + // projects/{project_id}/locations/{location_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "clouddeploy.googleapis.com/Target" + } + ]; + + // Required. ID of the `Target`. + string target_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The `Target` to create. + Target target = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request object for `UpdateTarget`. +message UpdateTargetRequest { + // Required. Field mask is used to specify the fields to be overwritten in the + // Target 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 `Target` to update. + Target target = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, updating a `Target` that does not exist will + // result in the creation of a new `Target`. + bool allow_missing = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request object for `DeleteTarget`. +message DeleteTargetRequest { + // Required. The name of the `Target` to delete. Format should be + // projects/{project_id}/locations/{location_name}/targets/{target_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Target" + } + ]; + + // Optional. A request ID to identify requests. Specify a unique 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, then deleting an already deleted or non-existing + // DeliveryPipeline will succeed. + bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set, validate the request and preview the review, but do not actually + // post it. + bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; + + // 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 = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A `Release` resource in the Google Cloud Deploy API. +// +// A `Release` defines a specific Skaffold configuration instance +// that can be deployed. +message Release { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/Release" + pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}" + }; + + // Valid states of the render operation. + enum RenderState { + // The render state is unspecified. + RENDER_STATE_UNSPECIFIED = 0; + + // All rendering operations have completed successfully. + SUCCEEDED = 1; + + // All rendering operations have completed, and one or more have failed. + FAILED = 2; + + // Rendering has started and is not complete. + IN_PROGRESS = 3; + } + + // Details of rendering for a single target. + message TargetRender { + // Valid states of the render operation. + enum TargetRenderState { + // The render operation state is unspecified. + TARGET_RENDER_STATE_UNSPECIFIED = 0; + + // The render operation has completed successfully. + SUCCEEDED = 1; + + // The render operation has failed. + FAILED = 2; + + // The render operation is in progress. + IN_PROGRESS = 3; + } + + // Well-known rendering failures. + enum FailureCause { + // No reason for failure is specified. + FAILURE_CAUSE_UNSPECIFIED = 0; + + // Cloud Build is not available, either because it is not enabled or + // because Google Cloud Deploy has insufficient permissions. See [required + // permission](/deploy/docs/cloud-deploy-service-account#required_permissions). + CLOUD_BUILD_UNAVAILABLE = 1; + + // The render operation did not complete successfully; check Cloud Build + // logs. + EXECUTION_FAILED = 2; + } + + // Output only. The resource name of the Cloud Build `Build` object that is used to + // render the manifest for this target. Format is + // `projects/{project}/locations/{location}/builds/{build}`. + string rendering_build = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/Build" + } + ]; + + // Output only. Current state of the render operation for this Target. + TargetRenderState rendering_state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reason this render failed. This will always be unspecified while the + // render in progress. + FailureCause failure_cause = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the render failure, if available. + string failure_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Optional. Name of the `Release`. Format is projects/{project}/ + // locations/{location}/deliveryPipelines/{deliveryPipeline}/ + // releases/[a-z][a-z0-9\-]{0,62}. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Unique identifier of the `Release`. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the `Release`. Max length is 255 characters. + string description = 3; + + // User annotations. These attributes can only be set and used by the + // user, and not by Google Cloud Deploy. See + // https://google.aip.dev/128#annotations for more details such as format and + // size limitations. + map annotations = 4; + + // Labels are attributes that can be set and used by both the + // user and by Google Cloud Deploy. Labels must meet the following + // constraints: + // + // * 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. + // * Keys must start with a lowercase letter or international character. + // * Each resource is limited to a maximum of 64 labels. + // + // Both keys and values are additionally constrained to be <= 128 bytes. + map labels = 5; + + // Output only. Indicates whether this is an abandoned release. + bool abandoned = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `Release` was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the render began. + google.protobuf.Timestamp render_start_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the render completed. + google.protobuf.Timestamp render_end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Cloud Storage URI of tar.gz archive containing Skaffold configuration. + string skaffold_config_uri = 17; + + // Filepath of the Skaffold config inside of the config URI. + string skaffold_config_path = 9; + + // List of artifacts to pass through to Skaffold command. + repeated BuildArtifact build_artifacts = 10; + + // Output only. Snapshot of the parent pipeline taken at release creation time. + DeliveryPipeline delivery_pipeline_snapshot = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Snapshot of the targets taken at release creation time. + repeated Target target_snapshots = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the render operation. + RenderState render_state = 13 [(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 = 16; + + // The Skaffold version to use when operating on this release, such as + // "1.20.0". Not all versions are valid; Google Cloud Deploy supports a + // specific set of versions. + // + // If unset, the most recent supported Skaffold version will be used. + string skaffold_version = 19; + + // Output only. Map from target ID to the target artifacts created + // during the render operation. + map target_artifacts = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Map from target ID to details of the render operation for that target. + map target_renders = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Description of an a image to use during Skaffold rendering. +message BuildArtifact { + // Image name in Skaffold configuration. + string image = 3; + + // Image tag to use. This will generally be the full path to an image, such + // as "gcr.io/my-project/busybox:1.2.3" or + // "gcr.io/my-project/busybox@sha256:abc123". + string tag = 2; +} + +// The artifacts produced by a target render operation. +message TargetArtifact { + oneof uri { + // Output only. URI of a directory containing the artifacts. This contains + // deployment configuration used by Skaffold during a rollout, and all + // paths are relative to this location. + string artifact_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. File path of the resolved Skaffold configuration relative to the URI. + string skaffold_config_path = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. File path of the rendered manifest relative to the URI. + string manifest_path = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The request object for `ListReleases`. +message ListReleasesRequest { + // Required. The `DeliveryPipeline` which owns this collection of `Release` objects. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; + + // Optional. The maximum number of `Release` objects to return. The service may return + // fewer than this value. If unspecified, at most 50 `Release` objects 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. A page token, received from a previous `ListReleases` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters match + // the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter releases to be returned. See https://google.aip.dev/160 for more + // details. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response object from `ListReleases`. +message ListReleasesResponse { + // The `Release` objects. + repeated Release releases = 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; +} + +// The request object for `GetRelease`. +message GetReleaseRequest { + // Required. Name of the `Release`. Format must be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Release" + } + ]; +} + +// The request object for `CreateRelease`, +message CreateReleaseRequest { + // Required. The parent collection in which the `Release` should be created. + // Format should be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/DeliveryPipeline" + } + ]; + + // Required. ID of the `Release`. + string release_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The `Release` to create. + Release release = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// A `Rollout` resource in the Google Cloud Deploy API. +// +// A `Rollout` contains information around a specific deployment to a `Target`. +message Rollout { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/Rollout" + pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}" + }; + + // Valid approval states of a `Rollout`. + enum ApprovalState { + // The `Rollout` has an unspecified approval state. + APPROVAL_STATE_UNSPECIFIED = 0; + + // The `Rollout` requires approval. + NEEDS_APPROVAL = 1; + + // The `Rollout` does not require approval. + DOES_NOT_NEED_APPROVAL = 2; + + // The `Rollout` has been approved. + APPROVED = 3; + + // The `Rollout` has been rejected. + REJECTED = 4; + } + + // Valid states of a `Rollout`. + enum State { + // The `Rollout` has an unspecified state. + STATE_UNSPECIFIED = 0; + + // The `Rollout` has completed successfully. + SUCCEEDED = 1; + + // The `Rollout` has failed. + FAILED = 2; + + // The `Rollout` is being deployed. + IN_PROGRESS = 3; + + // The `Rollout` needs approval. + PENDING_APPROVAL = 4; + + // An approver rejected the `Rollout`. + APPROVAL_REJECTED = 5; + + // The `Rollout` is waiting for an earlier Rollout(s) to complete on this + // `Target`. + PENDING = 6; + + // The `Rollout` is waiting for the `Release` to be fully rendered. + PENDING_RELEASE = 7; + } + + // Well-known rollout failures. + enum FailureCause { + // No reason for failure is specified. + FAILURE_CAUSE_UNSPECIFIED = 0; + + // Cloud Build is not available, either because it is not enabled or because + // Cloud Deploy has insufficient permissions. See [required + // permission](/deploy/docs/cloud-deploy-service-account#required_permissions). + CLOUD_BUILD_UNAVAILABLE = 1; + + // The deploy operation did not complete successfully; check Cloud Build + // logs. + EXECUTION_FAILED = 2; + + // Deployment did not complete within the alloted time. + DEADLINE_EXCEEDED = 3; + + // Release is in a failed state. + RELEASE_FAILED = 4; + + // Release is abandoned. + RELEASE_ABANDONED = 5; + + // No skaffold verify configuration was found. + VERIFICATION_CONFIG_NOT_FOUND = 6; + } + + // Optional. Name of the `Rollout`. Format is projects/{project}/ + // locations/{location}/deliveryPipelines/{deliveryPipeline}/ + // releases/{release}/rollouts/[a-z][a-z0-9\-]{0,62}. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Unique identifier of the `Rollout`. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Description of the `Rollout` for user purposes. Max length is 255 + // characters. + string description = 3; + + // User annotations. These attributes can only be set and used by the + // user, and not by Google Cloud Deploy. See + // https://google.aip.dev/128#annotations for more details such as format and + // size limitations. + map annotations = 4; + + // Labels are attributes that can be set and used by both the + // user and by Google Cloud Deploy. Labels must meet the following + // constraints: + // + // * 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. + // * Keys must start with a lowercase letter or international character. + // * Each resource is limited to a maximum of 64 labels. + // + // Both keys and values are additionally constrained to be <= 128 bytes. + map labels = 5; + + // Output only. Time at which the `Rollout` was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `Rollout` was approved. + google.protobuf.Timestamp approve_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `Rollout` was enqueued. + google.protobuf.Timestamp enqueue_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `Rollout` started deploying. + google.protobuf.Timestamp deploy_start_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `Rollout` finished deploying. + google.protobuf.Timestamp deploy_end_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The ID of Target to which this `Rollout` is deploying. + string target_id = 18 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Approval state of the `Rollout`. + ApprovalState approval_state = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the `Rollout`. + State state = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the rollout failure, if available. + string failure_reason = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource name of the Cloud Build `Build` object that is used to deploy + // the Rollout. Format is + // `projects/{project}/locations/{location}/builds/{build}`. + string deploying_build = 17 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/Build" + } + ]; + + // 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 = 16; + + // Output only. The reason this rollout failed. This will always be unspecified while the + // rollout is in progress. + FailureCause deploy_failure_cause = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The phases that represent the workflows of this `Rollout`. + repeated Phase phases = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata contains information about the rollout. + Metadata metadata = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Metadata includes information associated with a `Rollout`. +message Metadata { + // Output only. The name of the Cloud Run Service that is associated with a `Rollout`. + CloudRunMetadata cloud_run = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// DeployJobRunMetadata surfaces information associated with a `DeployJobRun` to +// the user. +message DeployJobRunMetadata { + // Output only. The name of the Cloud Run Service that is associated with a `DeployJobRun`. + CloudRunMetadata cloud_run = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// CloudRunMetadata contains information from a Cloud Run deployment. +message CloudRunMetadata { + // Output only. The name of the Cloud Run Service that is associated with a `Rollout`. + // Format is projects/{project}/locations/{location}/services/{service}. + string service = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Cloud Run Service urls that are associated with a `Rollout`. + repeated string service_urls = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The Cloud Run Revision id associated with a `Rollout`. + string revision = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Phase represents a collection of jobs that are logically grouped together +// for a `Rollout`. +message Phase { + // Valid states of a Phase. + enum State { + // The Phase has an unspecified state. + STATE_UNSPECIFIED = 0; + + // The Phase is waiting for an earlier Phase(s) to complete. + PENDING = 1; + + // The Phase is in progress. + IN_PROGRESS = 2; + + // The Phase has succeeded. + SUCCEEDED = 3; + + // The Phase has failed. + FAILED = 4; + + // The Phase was aborted. + ABORTED = 5; + } + + // Output only. The ID of the Phase. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Current state of the Phase. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The job composition of this Phase. + oneof jobs { + // Output only. Deployment job composition. + DeploymentJobs deployment_jobs = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// Deployment job composition. +message DeploymentJobs { + // Output only. The deploy Job. This is the first job run in the phase. + Job deploy_job = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The verify Job. Runs after a deploy if the deploy succeeds. + Job verify_job = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Job represents an operation for a `Rollout`. +message Job { + // Valid states of a Job. + enum State { + // The Job has an unspecified state. + STATE_UNSPECIFIED = 0; + + // The Job is waiting for an earlier Phase(s) or Job(s) to complete. + PENDING = 1; + + // The Job is disabled. + DISABLED = 2; + + // The Job is in progress. + IN_PROGRESS = 3; + + // The Job succeeded. + SUCCEEDED = 4; + + // The Job failed. + FAILED = 5; + + // The Job was aborted. + ABORTED = 6; + } + + // Output only. The ID of the Job. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the Job. + State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The name of the `JobRun` responsible for the most recent invocation of this + // Job. + string job_run = 3 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/JobRun" + } + ]; + + // The type of Job. + oneof job_type { + // Output only. A deploy Job. + DeployJob deploy_job = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A verify Job. + VerifyJob verify_job = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} + +// A deploy Job. +message DeployJob { + +} + +// A verify Job. +message VerifyJob { + +} + +// ListRolloutsRequest is the request object used by `ListRollouts`. +message ListRolloutsRequest { + // Required. The `Release` which owns this collection of `Rollout` objects. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Release" + } + ]; + + // Optional. The maximum number of `Rollout` objects to return. The service may return + // fewer than this value. If unspecified, at most 50 `Rollout` objects 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. A page token, received from a previous `ListRollouts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters match + // the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter rollouts to be returned. See https://google.aip.dev/160 for more + // details. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// ListRolloutsResponse is the response object reutrned by `ListRollouts`. +message ListRolloutsResponse { + // The `Rollout` objects. + repeated Rollout rollouts = 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; +} + +// GetRolloutRequest is the request object used by `GetRollout`. +message GetRolloutRequest { + // Required. Name of the `Rollout`. Format must be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Rollout" + } + ]; +} + +// CreateRolloutRequest is the request object used by `CreateRollout`. +message CreateRolloutRequest { + // Required. The parent collection in which the `Rollout` should be created. + // Format should be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Release" + } + ]; + + // Required. ID of the `Rollout`. + string rollout_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The `Rollout` to create. + Rollout rollout = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A request ID to identify requests. Specify a unique 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]; + + // Optional. If set to true, the request is validated and the user is provided with + // an expected result, but no actual change is made. + bool validate_only = 5 [(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]; +} + +// The request object used by `ApproveRollout`. +message ApproveRolloutRequest { + // Required. Name of the Rollout. Format is + // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/ + // releases/{release}/rollouts/{rollout}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Rollout" + } + ]; + + // Required. True = approve; false = reject + bool approved = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The response object from `ApproveRollout`. +message ApproveRolloutResponse { + +} + +// RetryJobRequest is the request object used by `RetryJob`. +message RetryJobRequest { + // Required. Name of the Rollout. Format is + // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/ + // releases/{release}/rollouts/{rollout}. + string rollout = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Rollout" + } + ]; + + // Required. The phase ID the Job to retry belongs to. + string phase_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The job ID for the Job to retry. + string job_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The response object from 'RetryJob'. +message RetryJobResponse { + +} + +// The request object used by `AbandonRelease`. +message AbandonReleaseRequest { + // Required. Name of the Release. Format is + // projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/ + // releases/{release}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Release" + } + ]; +} + +// The response object for `AbandonRelease`. +message AbandonReleaseResponse { + +} + +// A `JobRun` resource in the Google Cloud Deploy API. +// +// A `JobRun` contains information of a single `Rollout` job evaluation. +message JobRun { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/JobRun" + pattern: "projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{job_run}" + }; + + // Valid states of a `JobRun`. + enum State { + // The `JobRun` has an unspecified state. + STATE_UNSPECIFIED = 0; + + // The `JobRun` is in progress. + IN_PROGRESS = 1; + + // The `JobRun` has succeeded. + SUCCEEDED = 2; + + // The `JobRun` has failed. + FAILED = 3; + } + + // Optional. Name of the `JobRun`. Format is projects/{project}/locations/{location}/ + // deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/ + // {rollouts}/jobRuns/{uuid}. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Unique identifier of the `JobRun`. + string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the `Rollout` phase this `JobRun` belongs in. + string phase_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. ID of the `Rollout` job this `JobRun` corresponds to. + string job_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `JobRun` was created. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `JobRun` was started. + google.protobuf.Timestamp start_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time at which the `JobRun` ended. + google.protobuf.Timestamp end_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current state of the `JobRun`. + State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The `JobRun` type and the information for that type. + oneof job_run { + // Output only. Information specific to a deploy `JobRun`. + DeployJobRun deploy_job_run = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Information specific to a verify `JobRun`. + VerifyJobRun verify_job_run = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // 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 = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// DeployJobRun contains information specific to a deploy `JobRun`. +message DeployJobRun { + // Well-known deploy failures. + enum FailureCause { + // No reason for failure is specified. + FAILURE_CAUSE_UNSPECIFIED = 0; + + // Cloud Build is not available, either because it is not enabled or because + // Google Cloud Deploy has insufficient permissions. See [Required + // permission](/deploy/docs/cloud-deploy-service-account#required_permissions). + CLOUD_BUILD_UNAVAILABLE = 1; + + // The deploy operation did not complete successfully; check Cloud Build + // logs. + EXECUTION_FAILED = 2; + + // The deploy build did not complete within the alloted time. + DEADLINE_EXCEEDED = 3; + } + + // Output only. The resource name of the Cloud Build `Build` object that is used to deploy. + // Format is projects/{project}/locations/{location}/builds/{build}. + string build = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/Build" + } + ]; + + // Output only. The reason the deploy failed. This will always be unspecified while the + // deploy is in progress or if it succeeded. + FailureCause failure_cause = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the deploy failure, if available. + string failure_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Metadata containing information about the deploy job run. + DeployJobRunMetadata metadata = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// VerifyJobRun contains information specific to a verify `JobRun`. +message VerifyJobRun { + // Well-known verify failures. + enum FailureCause { + // No reason for failure is specified. + FAILURE_CAUSE_UNSPECIFIED = 0; + + // Cloud Build is not available, either because it is not enabled or because + // Google Cloud Deploy has insufficient permissions. See [required + // permission](/deploy/docs/cloud-deploy-service-account#required_permissions). + CLOUD_BUILD_UNAVAILABLE = 1; + + // The verify operation did not complete successfully; check Cloud Build + // logs. + EXECUTION_FAILED = 2; + + // The verify build did not complete within the alloted time. + DEADLINE_EXCEEDED = 3; + + // No Skaffold verify configuration was found. + VERIFICATION_CONFIG_NOT_FOUND = 4; + } + + // Output only. The resource name of the Cloud Build `Build` object that is used to verify. + // Format is projects/{project}/locations/{location}/builds/{build}. + string build = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "cloudbuild.googleapis.com/Build" + } + ]; + + // Output only. URI of a directory containing the verify artifacts. This contains the + // Skaffold event log. + string artifact_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. File path of the Skaffold event log relative to the artifact URI. + string event_log_path = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The reason the verify failed. This will always be unspecified while the + // verify is in progress or if it succeeded. + FailureCause failure_cause = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Additional information about the verify failure, if available. + string failure_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// ListJobRunsRequest is the request object used by `ListJobRuns`. +message ListJobRunsRequest { + // Required. The `Rollout` which owns this collection of `JobRun` objects. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Rollout" + } + ]; + + // Optional. The maximum number of `JobRun` objects to return. The service may return + // fewer than this value. If unspecified, at most 50 `JobRun` objects 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. A page token, received from a previous `ListJobRuns` call. Provide this + // to retrieve the subsequent page. + // + // When paginating, all other provided parameters match the call that provided + // the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter results to be returned. See https://google.aip.dev/160 for more + // details. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// ListJobRunsResponse is the response object returned by `ListJobRuns`. +message ListJobRunsResponse { + // The `JobRun` objects. + repeated JobRun job_runs = 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; +} + +// GetJobRunRequest is the request object used by `GetJobRun`. +message GetJobRunRequest { + // Required. Name of the `JobRun`. Format must be + // projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}/jobRuns/{job_run_name}. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/JobRun" + } + ]; +} + +// Service-wide configuration. +message Config { + option (google.api.resource) = { + type: "clouddeploy.googleapis.com/Config" + pattern: "projects/{project}/locations/{location}/config" + }; + + // Name of the configuration. + string name = 1; + + // Output only. All supported versions of Skaffold. + repeated SkaffoldVersion supported_versions = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Default Skaffold version that is assigned when a Release is created without + // specifying a Skaffold version. + string default_skaffold_version = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Details of a supported Skaffold version. +message SkaffoldVersion { + // Release version number. For example, "1.20.3". + string version = 1; + + // Date when this version is expected to no longer be supported. + google.type.Date support_end_date = 2; +} + +// Request to get a configuration. +message GetConfigRequest { + // Required. Name of requested configuration. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "clouddeploy.googleapis.com/Config" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_grpc_service_config.json b/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_grpc_service_config.json new file mode 100644 index 00000000..53711d43 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_grpc_service_config.json @@ -0,0 +1,108 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ListDeliveryPipelines" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetDeliveryPipeline" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ListTargets" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetTarget" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ListReleases" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetRelease" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ListRollouts" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetRollout" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ListJobRuns" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetJobRun" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "GetConfig" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "1s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "CreateDeliveryPipeline" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "UpdateDeliveryPipeline" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "DeleteDeliveryPipeline" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "CreateTarget" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "UpdateTarget" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "DeleteTarget" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "CreateRelease" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "AbandonRelease" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "ApproveRollout" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "CreateRollout" + }, + { + "service": "google.cloud.deploy.v1.CloudDeploy", + "method": "RetryJob" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_v1.yaml b/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_v1.yaml new file mode 100644 index 00000000..4140f732 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/clouddeploy_v1.yaml @@ -0,0 +1,118 @@ +type: google.api.Service +config_version: 3 +name: clouddeploy.googleapis.com +title: Google Cloud Deploy API + +apis: +- name: google.cloud.deploy.v1.CloudDeploy +- name: google.cloud.location.Locations +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.cloud.deploy.v1.DeliveryPipelineNotificationEvent +- name: google.cloud.deploy.v1.JobRunNotificationEvent +- name: google.cloud.deploy.v1.OperationMetadata +- name: google.cloud.deploy.v1.ReleaseNotificationEvent +- name: google.cloud.deploy.v1.ReleaseRenderEvent +- name: google.cloud.deploy.v1.RolloutNotificationEvent +- name: google.cloud.deploy.v1.TargetNotificationEvent + +documentation: + rules: + - selector: google.cloud.location.Locations.GetLocation + description: Gets information about a location. + + - selector: google.cloud.location.Locations.ListLocations + description: Lists information about the supported locations for this service. + + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + description: |- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + description: |- + Sets the access control policy on the specified resource. Replaces + any existing policy. + + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` + errors. + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + description: |- + Returns permissions that a caller has on the specified resource. If the + resource does not exist, this will return an empty set of + permissions, not a `NOT_FOUND` error. + + Note: This operation is designed to be used for building + permission-aware UIs and command-line tools, not for authorization + checking. This operation may "fail open" without warning. + +backend: + rules: + - selector: 'google.cloud.deploy.v1.CloudDeploy.*' + deadline: 60.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.iam.v1.IAMPolicy.*' + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + 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/*/deliveryPipelines/*}:getIamPolicy' + additional_bindings: + - get: '/v1/{resource=projects/*/locations/*/targets/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=projects/*/locations/*/deliveryPipelines/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=projects/*/locations/*/targets/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=projects/*/locations/*/deliveryPipelines/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1/{resource=projects/*/locations/*/targets/*}: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.deploy.v1.CloudDeploy.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.iam.v1.IAMPolicy.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/google-cloud/protos/google/cloud/deploy/v1/deliverypipeline_notification_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/deliverypipeline_notification_payload.proto new file mode 100644 index 00000000..5fff2d08 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/deliverypipeline_notification_payload.proto @@ -0,0 +1,38 @@ +// 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.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "DeliveryPipelineNotificationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/deliverypipeline_notification" +// Platform Log event that describes the failure to send delivery pipeline +// status change Pub/Sub notification. +message DeliveryPipelineNotificationEvent { + // Debug message for when a notification fails to send. + string message = 1; + + // The name of the `Delivery Pipeline`. + string delivery_pipeline = 2; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 3; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/jobrun_notification_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/jobrun_notification_payload.proto new file mode 100644 index 00000000..f1e80d6b --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/jobrun_notification_payload.proto @@ -0,0 +1,50 @@ +// 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.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "JobRunNotificationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/jobrun_notification" +// Platform Log event that describes the failure to send JobRun resource update +// Pub/Sub notification. +message JobRunNotificationEvent { + // Debug message for when a notification fails to send. + string message = 1; + + // The name of the `JobRun`. + string job_run = 2; + + // Unique identifier of the `DeliveryPipeline`. + string pipeline_uid = 3; + + // Unique identifier of the `Release`. + string release_uid = 4; + + // Unique identifier of the `Rollout`. + string rollout_uid = 5; + + // ID of the `Target`. + string target_id = 6; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 7; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/log_enums.proto b/google-cloud/protos/google/cloud/deploy/v1/log_enums.proto new file mode 100644 index 00000000..cd6a32ea --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/log_enums.proto @@ -0,0 +1,34 @@ +// 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.deploy.v1; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "LogEnumsProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Type indicates the type of the log entry and can be used as a filter. +enum Type { + // Type is unspecified. + TYPE_UNSPECIFIED = 0; + + // A Pub/Sub notification failed to be sent. + TYPE_PUBSUB_NOTIFICATION_FAILURE = 1; + + // Release render status changed notification. + TYPE_RENDER_STATUES_CHANGE = 2; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/release_notification_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/release_notification_payload.proto new file mode 100644 index 00000000..0383b8e5 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/release_notification_payload.proto @@ -0,0 +1,38 @@ +// 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.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "ReleaseNotificationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/release_notification" +// Platform Log event that describes the failure to send release status change +// Pub/Sub notification. +message ReleaseNotificationEvent { + // Debug message for when a notification fails to send. + string message = 1; + + // The name of the `Release`. + string release = 2; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 3; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/release_render_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/release_render_payload.proto new file mode 100644 index 00000000..414e72de --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/release_render_payload.proto @@ -0,0 +1,33 @@ +// 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.deploy.v1; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "ReleaseRenderPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/release_render" +// Platform Log event that describes the render status change. +message ReleaseRenderEvent { + // Debug message for when a render transition occurs. Provides further + // details as rendering progresses through render states. + string message = 1; + + // The name of the `Release`. + string release = 2; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/rollout_notification_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/rollout_notification_payload.proto new file mode 100644 index 00000000..10f6864f --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/rollout_notification_payload.proto @@ -0,0 +1,47 @@ +// 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.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "RolloutNotificationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/rollout_notification" +// Platform Log event that describes the failure to send rollout status change +// Pub/Sub notification. +message RolloutNotificationEvent { + // Debug message for when a notification fails to send. + string message = 1; + + // Unique identifier of the `DeliveryPipeline`. + string pipeline_uid = 2; + + // Unique identifier of the `Release`. + string release_uid = 3; + + // The name of the `Rollout`. + string rollout = 4; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 5; + + // ID of the `Target` that the rollout is deployed to. + string target_id = 6; +} diff --git a/google-cloud/protos/google/cloud/deploy/v1/target_notification_payload.proto b/google-cloud/protos/google/cloud/deploy/v1/target_notification_payload.proto new file mode 100644 index 00000000..d121cdb8 --- /dev/null +++ b/google-cloud/protos/google/cloud/deploy/v1/target_notification_payload.proto @@ -0,0 +1,38 @@ +// 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.deploy.v1; + +import "google/cloud/deploy/v1/log_enums.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/deploy/v1;deploy"; +option java_multiple_files = true; +option java_outer_classname = "TargetNotificationPayloadProto"; +option java_package = "com.google.cloud.deploy.v1"; + +// Payload proto for "clouddeploy.googleapis.com/target_notification" +// Platform Log event that describes the failure to send target status change +// Pub/Sub notification. +message TargetNotificationEvent { + // Debug message for when a notification fails to send. + string message = 1; + + // The name of the `Target`. + string target = 2; + + // Type of this notification, e.g. for a Pub/Sub failure. + Type type = 3; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/BUILD.bazel b/google-cloud/protos/google/cloud/dialogflow/BUILD.bazel index a87c57fe..fd677c89 100644 --- a/google-cloud/protos/google/cloud/dialogflow/BUILD.bazel +++ b/google-cloud/protos/google/cloud/dialogflow/BUILD.bazel @@ -1 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-dialogflow. + +# 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 dialogflow. +# 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 = "dialogflow_ruby_wrapper", + srcs = ["//google/cloud/dialogflow/v2:dialogflow_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-dialogflow", + "ruby-cloud-env-prefix=DIALOGFLOW", + "ruby-cloud-wrapper-of=v2:0.15", + "ruby-cloud-product-url=https://cloud.google.com/dialogflow", + "ruby-cloud-api-id=dialogflow.googleapis.com", + "ruby-cloud-api-shortname=dialogflow", + "ruby-cloud-migration-version=1.0", + ], + ruby_cloud_description = "Dialogflow is an end-to-end, build-once deploy-everywhere development suite for creating conversational interfaces for websites, mobile applications, popular messaging platforms, and IoT devices. You can use it to build interfaces (such as chatbots and conversational IVR) that enable natural and rich interactions between your users and your business. This client is for Dialogflow ES, providing the standard agent type suitable for small and simple agents.", + ruby_cloud_title = "Dialogflow", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-dialogflow-ruby", + deps = [ + ":dialogflow_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/BUILD.bazel b/google-cloud/protos/google/cloud/dialogflow/cx/BUILD.bazel new file mode 100644 index 00000000..b7db212b --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-dialogflow-cx. + +# 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 dialogflow. +# 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 = "dialogflow_ruby_wrapper", + srcs = ["//google/cloud/dialogflow/cx/v3:cx_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-dialogflow-cx", + "ruby-cloud-env-prefix=DIALOGFLOW", + "ruby-cloud-wrapper-of=v3:0.3", + "ruby-cloud-product-url=https://cloud.google.com/dialogflow", + "ruby-cloud-api-id=dialogflow.googleapis.com", + "ruby-cloud-api-shortname=dialogflow", + "ruby-cloud-namespace-override=Cx=CX", + ], + ruby_cloud_description = "Dialogflow is an end-to-end, build-once deploy-everywhere development suite for creating conversational interfaces for websites, mobile applications, popular messaging platforms, and IoT devices. You can use it to build interfaces (such as chatbots and conversational IVR) that enable natural and rich interactions between your users and your business. This client is for Dialogflow CX, providing an advanced agent type suitable for large or very complex agents.", + ruby_cloud_title = "Dialogflow CX", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-dialogflow-cx-ruby", + deps = [ + ":dialogflow_ruby_wrapper", + ], +) diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/BUILD.bazel b/google-cloud/protos/google/cloud/dialogflow/cx/v3/BUILD.bazel new file mode 100644 index 00000000..ca94a605 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/BUILD.bazel @@ -0,0 +1,463 @@ +# 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 = "cx_proto", + srcs = [ + "advanced_settings.proto", + "agent.proto", + "audio_config.proto", + "changelog.proto", + "deployment.proto", + "entity_type.proto", + "environment.proto", + "experiment.proto", + "flow.proto", + "fulfillment.proto", + "intent.proto", + "page.proto", + "response_message.proto", + "security_settings.proto", + "session.proto", + "session_entity_type.proto", + "test_case.proto", + "transition_route_group.proto", + "validation_message.proto", + "version.proto", + "webhook.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", + "//google/type:latlng_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 = "cx_proto_with_info", + deps = [ + ":cx_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 = "cx_java_proto", + deps = [":cx_proto"], +) + +java_grpc_library( + name = "cx_java_grpc", + srcs = [":cx_proto"], + deps = [":cx_java_proto"], +) + +java_gapic_library( + name = "cx_java_gapic", + srcs = [":cx_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "dialogflow_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + test_deps = [ + ":cx_java_grpc", + "//google/cloud/location:location_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":cx_java_proto", + "//google/api:api_java_proto", + "//google/cloud/location:location_java_proto", + ], +) + +java_gapic_test( + name = "cx_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.dialogflow.cx.v3.AgentsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.AgentsClientTest", + "com.google.cloud.dialogflow.cx.v3.ChangelogsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.ChangelogsClientTest", + "com.google.cloud.dialogflow.cx.v3.DeploymentsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.DeploymentsClientTest", + "com.google.cloud.dialogflow.cx.v3.EntityTypesClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.EntityTypesClientTest", + "com.google.cloud.dialogflow.cx.v3.EnvironmentsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.EnvironmentsClientTest", + "com.google.cloud.dialogflow.cx.v3.ExperimentsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.ExperimentsClientTest", + "com.google.cloud.dialogflow.cx.v3.FlowsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.FlowsClientTest", + "com.google.cloud.dialogflow.cx.v3.IntentsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.IntentsClientTest", + "com.google.cloud.dialogflow.cx.v3.PagesClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.PagesClientTest", + "com.google.cloud.dialogflow.cx.v3.SecuritySettingsServiceClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.SecuritySettingsServiceClientTest", + "com.google.cloud.dialogflow.cx.v3.SessionEntityTypesClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.SessionEntityTypesClientTest", + "com.google.cloud.dialogflow.cx.v3.SessionsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.SessionsClientTest", + "com.google.cloud.dialogflow.cx.v3.TestCasesClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.TestCasesClientTest", + "com.google.cloud.dialogflow.cx.v3.TransitionRouteGroupsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.TransitionRouteGroupsClientTest", + "com.google.cloud.dialogflow.cx.v3.VersionsClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.VersionsClientTest", + "com.google.cloud.dialogflow.cx.v3.WebhooksClientHttpJsonTest", + "com.google.cloud.dialogflow.cx.v3.WebhooksClientTest", + ], + runtime_deps = [":cx_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-dialogflow-cx-v3-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":cx_java_gapic", + ":cx_java_grpc", + ":cx_java_proto", + ":cx_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "cx_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3", + protos = [":cx_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:latlng_go_proto", + ], +) + +go_gapic_library( + name = "cx_go_gapic", + srcs = [":cx_proto_with_info"], + grpc_service_config = "dialogflow_grpc_service_config.json", + importpath = "cloud.google.com/go/dialogflow/cx/apiv3;cx", + metadata = True, + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + transport = "grpc+rest", + deps = [ + ":cx_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", + ], +) + +go_test( + name = "cx_go_gapic_test", + srcs = [":cx_go_gapic_srcjar_test"], + embed = [":cx_go_gapic"], + importpath = "cloud.google.com/go/dialogflow/cx/apiv3", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-dialogflow-cx-v3-go", + deps = [ + ":cx_go_gapic", + ":cx_go_gapic_srcjar-metadata.srcjar", + ":cx_go_gapic_srcjar-test.srcjar", + ":cx_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "cx_py_gapic", + srcs = [":cx_proto"], + grpc_service_config = "dialogflow_grpc_service_config.json", + opt_args = [ + "python-gapic-name=dialogflowcx", + "python-gapic-namespace=google.cloud", + ], + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + transport = "grpc", + deps = [ + ], +) + +# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed +# py_test( +# name = "cx_py_gapic_test", +# srcs = [ +# "cx_py_gapic_pytest.py", +# "cx_py_gapic_test.py", +# ], +# legacy_create_init = False, +# deps = [":cx_py_gapic"], +# ) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "dialogflow-cx-v3-py", + deps = [ + ":cx_py_gapic", + ], +) + +############################################################################## +# 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 = "cx_php_proto", + deps = [":cx_proto"], +) + +php_grpc_library( + name = "cx_php_grpc", + srcs = [":cx_proto"], + deps = [":cx_php_proto"], +) + +php_gapic_library( + name = "cx_php_gapic", + srcs = [":cx_proto_with_info"], + grpc_service_config = "dialogflow_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + deps = [ + ":cx_php_grpc", + ":cx_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-dialogflow-cx-v3-php", + deps = [ + ":cx_php_gapic", + ":cx_php_grpc", + ":cx_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "cx_nodejs_gapic", + package_name = "@google-cloud/dialogflow-cx", + src = ":cx_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "dialogflow_grpc_service_config.json", + package = "google.cloud.dialogflow.cx.v3", + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + deps = [], + mixins = "google.longrunning.Operations;google.cloud.location.Locations", +) + +nodejs_gapic_assembly_pkg( + name = "dialogflow-cx-v3-nodejs", + deps = [ + ":cx_nodejs_gapic", + ":cx_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 = "cx_ruby_proto", + deps = [":cx_proto"], +) + +ruby_grpc_library( + name = "cx_ruby_grpc", + srcs = [":cx_proto"], + deps = [":cx_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "cx_ruby_gapic", + srcs = [":cx_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=dialogflow.googleapis.com", + "ruby-cloud-api-shortname=dialogflow", + "ruby-cloud-env-prefix=DIALOGFLOW", + "ruby-cloud-gem-name=google-cloud-dialogflow-cx-v3", + "ruby-cloud-namespace-override=Cx=CX", + "ruby-cloud-product-url=https://cloud.google.com/dialogflow", + ], + grpc_service_config = "dialogflow_grpc_service_config.json", + rest_numeric_enums = False, + ruby_cloud_description = "Dialogflow is an end-to-end, build-once deploy-everywhere development suite for creating conversational interfaces for websites, mobile applications, popular messaging platforms, and IoT devices. You can use it to build interfaces (such as chatbots and conversational IVR) that enable natural and rich interactions between your users and your business. This client is for Dialogflow CX, providing an advanced agent type suitable for large or very complex agents.", + ruby_cloud_title = "Dialogflow CX V3", + service_yaml = "dialogflow_v3.yaml", + deps = [ + ":cx_ruby_grpc", + ":cx_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-dialogflow-cx-v3-ruby", + deps = [ + ":cx_ruby_gapic", + ":cx_ruby_grpc", + ":cx_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 = "cx_csharp_proto", + deps = [":cx_proto"], +) + +csharp_grpc_library( + name = "cx_csharp_grpc", + srcs = [":cx_proto"], + deps = [":cx_csharp_proto"], +) + +csharp_gapic_library( + name = "cx_csharp_gapic", + srcs = [":cx_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "dialogflow_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "dialogflow_v3.yaml", + deps = [ + ":cx_csharp_grpc", + ":cx_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-dialogflow-cx-v3-csharp", + deps = [ + ":cx_csharp_gapic", + ":cx_csharp_grpc", + ":cx_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "cx_cc_proto", + deps = [":cx_proto"], +) + +cc_grpc_library( + name = "cx_cc_grpc", + srcs = [":cx_proto"], + grpc_only = True, + deps = [":cx_cc_proto"], +) diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto new file mode 100644 index 00000000..d2de5b1f --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto @@ -0,0 +1,57 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "AdvancedSettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. +// Settings exposed at lower level overrides the settings exposed at higher +// level. Overriding occurs at the sub-setting level. For example, the +// playback_interruption_settings at fulfillment level only overrides the +// playback_interruption_settings at the agent level, leaving other settings +// at the agent level unchanged. +// +// DTMF settings does not override each other. DTMF settings set at different +// levels define DTMF detections running in parallel. +// +// Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. +message AdvancedSettings { + // Define behaviors on logging. + message LoggingSettings { + // If true, StackDriver logging is currently enabled. + bool enable_stackdriver_logging = 2; + + // If true, DF Interaction logging is currently enabled. + bool enable_interaction_logging = 3; + } + + // Settings for logging. + // Settings for Dialogflow History, Contact Center messages, StackDriver logs, + // and speech logging. + // Exposed at the following levels: + // - Agent level. + LoggingSettings logging_settings = 6; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/agent.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/agent.proto new file mode 100644 index 00000000..0c4fb140 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/agent.proto @@ -0,0 +1,491 @@ +// 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.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/cloud/dialogflow/cx/v3/advanced_settings.proto"; +import "google/cloud/dialogflow/cx/v3/flow.proto"; +import "google/longrunning/operations.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 = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "AgentProto"; +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 [Agents][google.cloud.dialogflow.cx.v3.Agent]. +service Agents { + 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 agents in the specified location. + rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*}/agents" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified agent. + rpc GetAgent(GetAgentRequest) returns (Agent) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an agent in the specified location. + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateAgent(CreateAgentRequest) returns (Agent) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*}/agents" + body: "agent" + }; + option (google.api.method_signature) = "parent,agent"; + } + + // Updates the specified agent. + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateAgent(UpdateAgentRequest) returns (Agent) { + option (google.api.http) = { + patch: "/v3/{agent.name=projects/*/locations/*/agents/*}" + body: "agent" + }; + option (google.api.method_signature) = "agent,update_mask"; + } + + // Deletes the specified agent. + rpc DeleteAgent(DeleteAgentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Exports the specified agent to a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [ExportAgentResponse][google.cloud.dialogflow.cx.v3.ExportAgentResponse] + rpc ExportAgent(ExportAgentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportAgentResponse" + metadata_type: "google.protobuf.Struct" + }; + } + + // Restores the specified agent from a binary file. + // + // Replaces the current agent with a new one. Note that all existing resources + // in agent (e.g. intents, entity types, flows) will be removed. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc RestoreAgent(RestoreAgentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:restore" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Struct" + }; + } + + // Validates the specified agent and creates or updates validation results. + // The agent in draft version is validated. Please call this API after the + // training is completed to get the complete validation results. + rpc ValidateAgent(ValidateAgentRequest) returns (AgentValidationResult) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:validate" + body: "*" + }; + } + + // Gets the latest agent validation result. Agent validation is performed + // when ValidateAgent is called. + rpc GetAgentValidationResult(GetAgentValidationResultRequest) returns (AgentValidationResult) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/validationResult}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Settings related to speech recognition. +message SpeechToTextSettings { + // Whether to use speech adaptation for speech recognition. + bool enable_speech_adaptation = 1; +} + +// Agents are best described as Natural Language Understanding (NLU) modules +// that transform user requests into actionable data. You can include agents +// in your app, product, or service to determine user intent and respond to the +// user in a natural way. +// +// After you create an agent, you can add [Intents][google.cloud.dialogflow.cx.v3.Intent], +// [Entity Types][google.cloud.dialogflow.cx.v3.EntityType], [Flows][google.cloud.dialogflow.cx.v3.Flow], [Fulfillments][google.cloud.dialogflow.cx.v3.Fulfillment], +// [Webhooks][google.cloud.dialogflow.cx.v3.Webhook], and so on to manage the conversation flows.. +message Agent { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Agent" + pattern: "projects/{project}/locations/{location}/agents/{agent}" + }; + + // The unique identifier of the agent. + // Required for the [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent] method. [Agents.CreateAgent][google.cloud.dialogflow.cx.v3.Agents.CreateAgent] + // populates the name automatically. + // Format: `projects//locations//agents/`. + string name = 1; + + // Required. The human-readable name of the agent, unique within the location. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The default language of the agent as a language tag. + // See [Language + // Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // for a list of the currently supported language codes. + // This field cannot be set by the [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent] method. + string default_language_code = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The list of all languages supported by the agent (except for the + // `default_language_code`). + repeated string supported_language_codes = 4; + + // 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 = 5 [(google.api.field_behavior) = REQUIRED]; + + // The description of the agent. The maximum length is 500 characters. If + // exceeded, the request is rejected. + string description = 6; + + // The URI of the agent's avatar. Avatars are used throughout the Dialogflow + // console and in the self-hosted [Web + // Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo) + // integration. + string avatar_uri = 7; + + // Speech recognition related settings. + SpeechToTextSettings speech_to_text_settings = 13; + + // Immutable. Name of the start flow in this agent. A start flow will be automatically + // created when the agent is created, and can only be deleted by deleting the + // agent. + // Format: `projects//locations//agents//flows/`. + string start_flow = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Name of the [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] reference for the agent. + // Format: `projects//locations//securitySettings/`. + string security_settings = 17 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + }]; + + // Indicates if stackdriver logging is enabled for the agent. + // Please use [agent.advanced_settings][google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings] + // instead. + bool enable_stackdriver_logging = 18 [deprecated = true]; + + // Indicates if automatic spell correction is enabled in detect intent + // requests. + bool enable_spell_correction = 20; + + // Indicates whether the agent is locked for changes. If the agent is locked, + // modifications to the agent will be rejected except for [RestoreAgent][]. + bool locked = 27; + + // Hierarchical advanced settings for this agent. The settings exposed at the + // lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 22; +} + +// The request message for [Agents.ListAgents][google.cloud.dialogflow.cx.v3.Agents.ListAgents]. +message ListAgentsRequest { + // Required. The location to list all agents for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Agent" + } + ]; + + // 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 [Agents.ListAgents][google.cloud.dialogflow.cx.v3.Agents.ListAgents]. +message ListAgentsResponse { + // The list of agents. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Agent agents = 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 [Agents.GetAgent][google.cloud.dialogflow.cx.v3.Agents.GetAgent]. +message GetAgentRequest { + // Required. The name of the agent. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; +} + +// The request message for [Agents.CreateAgent][google.cloud.dialogflow.cx.v3.Agents.CreateAgent]. +message CreateAgentRequest { + // Required. The location to create a agent for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Required. The agent to create. + Agent agent = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent]. +message UpdateAgentRequest { + // Required. The agent to update. + Agent agent = 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 [Agents.DeleteAgent][google.cloud.dialogflow.cx.v3.Agents.DeleteAgent]. +message DeleteAgentRequest { + // Required. The name of the agent to delete. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; +} + +// The request message for [Agents.ExportAgent][google.cloud.dialogflow.cx.v3.Agents.ExportAgent]. +message ExportAgentRequest { + // Data format of the exported agent. + enum DataFormat { + // Unspecified format. + DATA_FORMAT_UNSPECIFIED = 0; + + // Agent content will be exported as raw bytes. + BLOB = 1; + } + + // Required. The name of the agent to export. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to + // export the agent to. The format of this URI must be + // `gs:///`. + // If left unspecified, the serialized agent is returned inline. + // + // 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 agent_uri = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The data format of the exported agent. If not specified, `BLOB` is assumed. + DataFormat data_format = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Environment name. If not set, draft environment is assumed. + // Format: `projects//locations//agents//environments/`. + string environment = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The response message for [Agents.ExportAgent][google.cloud.dialogflow.cx.v3.Agents.ExportAgent]. +message ExportAgentResponse { + // The exported agent. + oneof agent { + // The URI to a file containing the exported agent. This field is populated + // only if `agent_uri` is specified in [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. + string agent_uri = 1; + + // Uncompressed raw byte content for agent. + bytes agent_content = 2; + } +} + +// The request message for [Agents.RestoreAgent][google.cloud.dialogflow.cx.v3.Agents.RestoreAgent]. +message RestoreAgentRequest { + // Restore option. + enum RestoreOption { + // Unspecified. Treated as KEEP. + RESTORE_OPTION_UNSPECIFIED = 0; + + // Always respect the settings from the exported agent file. It may cause + // a restoration failure if some settings (e.g. model type) are not + // supported in the target agent. + KEEP = 1; + + // Fallback to default settings if some settings are not supported in the + // target agent. + FALLBACK = 2; + } + + // Required. The name of the agent to restore into. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Required. The agent to restore. + oneof agent { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to restore agent from. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a read operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have read permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string agent_uri = 2; + + // Uncompressed raw byte content for agent. + bytes agent_content = 3; + } + + // Agent restore mode. If not specified, `KEEP` is assumed. + RestoreOption restore_option = 5; +} + +// The request message for [Agents.ValidateAgent][google.cloud.dialogflow.cx.v3.Agents.ValidateAgent]. +message ValidateAgentRequest { + // Required. The agent to validate. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The request message for [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3.Agents.GetAgentValidationResult]. +message GetAgentValidationResultRequest { + // Required. The agent name. + // Format: `projects//locations//agents//validationResult`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/AgentValidationResult" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The response message for [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3.Agents.GetAgentValidationResult]. +message AgentValidationResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/AgentValidationResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/validationResult" + }; + + // The unique identifier of the agent validation result. + // Format: `projects//locations//agents//validationResult`. + string name = 1; + + // Contains all flow validation results. + repeated FlowValidationResult flow_validation_results = 2; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/audio_config.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/audio_config.proto new file mode 100644 index 00000000..3c1d3716 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/audio_config.proto @@ -0,0 +1,313 @@ +// 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.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "AudioConfigProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" +}; + +// Audio encoding of the audio content sent in the conversational query request. +// Refer to the +// [Cloud Speech API +// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more +// details. +enum AudioEncoding { + // Not specified. + AUDIO_ENCODING_UNSPECIFIED = 0; + + // Uncompressed 16-bit signed little-endian samples (Linear PCM). + AUDIO_ENCODING_LINEAR_16 = 1; + + // [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio + // Codec) is the recommended encoding because it is lossless (therefore + // recognition is not compromised) and requires only about half the + // bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and + // 24-bit samples, however, not all fields in `STREAMINFO` are supported. + AUDIO_ENCODING_FLAC = 2; + + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + AUDIO_ENCODING_MULAW = 3; + + // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. + AUDIO_ENCODING_AMR = 4; + + // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_AMR_WB = 5; + + // Opus encoded audio frames in Ogg container + // ([OggOpus](https://wiki.xiph.org/OggOpus)). + // `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_OGG_OPUS = 6; + + // Although the use of lossy encodings is not recommended, if a very low + // bitrate encoding is required, `OGG_OPUS` is highly preferred over + // Speex encoding. The [Speex](https://speex.org/) encoding supported by + // Dialogflow API has a header byte in each block, as in MIME type + // `audio/x-speex-with-header-byte`. + // It is a variant of the RTP Speex encoding defined in + // [RFC 5574](https://tools.ietf.org/html/rfc5574). + // The stream is a sequence of blocks, one block per RTP packet. Each block + // starts with a byte containing the length of the block, in bytes, followed + // by one or more frames of Speex data, padded to an integral number of + // bytes (octets) as specified in RFC 5574. In other words, each RTP header + // is replaced with a single byte containing the block length. Only Speex + // wideband is supported. `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7; +} + +// Variant of the specified [Speech model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] to use. +// +// See the [Cloud Speech +// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) +// for which models have different variants. For example, the "phone_call" model +// has both a standard and an enhanced variant. When you use an enhanced model, +// you will generally receive higher quality results than for a standard model. +enum SpeechModelVariant { + // No model variant specified. In this case Dialogflow defaults to + // USE_BEST_AVAILABLE. + SPEECH_MODEL_VARIANT_UNSPECIFIED = 0; + + // Use the best available variant of the [Speech + // model][InputAudioConfig.model] that the caller is eligible for. + // + // Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) for + // how to make your project eligible for enhanced models. + USE_BEST_AVAILABLE = 1; + + // Use standard model variant even if an enhanced model is available. See the + // [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // for details about enhanced models. + USE_STANDARD = 2; + + // Use an enhanced model variant: + // + // * If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] and request language, Dialogflow falls + // back to the standard variant. + // + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. + // + // * If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. + USE_ENHANCED = 3; +} + +// Information for a word recognized by the speech recognizer. +message SpeechWordInfo { + // The word this info is for. + string word = 3; + + // Time offset relative to the beginning of the audio that corresponds to the + // start of the spoken word. This is an experimental feature and the accuracy + // of the time offset can vary. + google.protobuf.Duration start_offset = 1; + + // Time offset relative to the beginning of the audio that corresponds to the + // end of the spoken word. This is an experimental feature and the accuracy of + // the time offset can vary. + google.protobuf.Duration end_offset = 2; + + // The Speech confidence between 0.0 and 1.0 for this word. A higher number + // indicates an estimated greater likelihood that the recognized word is + // correct. The default of 0.0 is a sentinel value indicating that confidence + // was not set. + // + // This field is not guaranteed to be fully stable over time for the same + // audio input. Users should also not rely on it to always be provided. + float confidence = 4; +} + +// Instructs the speech recognizer on how to process the audio content. +message InputAudioConfig { + // Required. Audio encoding of the audio content to process. + AudioEncoding audio_encoding = 1 [(google.api.field_behavior) = REQUIRED]; + + // Sample rate (in Hertz) of the audio content sent in the query. + // Refer to + // [Cloud Speech API + // documentation](https://cloud.google.com/speech-to-text/docs/basics) for + // more details. + int32 sample_rate_hertz = 2; + + // Optional. If `true`, Dialogflow returns [SpeechWordInfo][google.cloud.dialogflow.cx.v3.SpeechWordInfo] in + // [StreamingRecognitionResult][google.cloud.dialogflow.cx.v3.StreamingRecognitionResult] with information about the recognized speech + // words, e.g. start and end time offsets. If false or unspecified, Speech + // doesn't return any word-level information. + bool enable_word_info = 13; + + // Optional. A list of strings containing words and phrases that the speech + // recognizer should recognize with higher likelihood. + // + // See [the Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) + // for more details. + repeated string phrase_hints = 4; + + // Optional. Which Speech model to select for the given request. Select the + // model best suited to your domain to get best results. If a model is not + // explicitly specified, then we auto-select a model based on the parameters + // in the InputAudioConfig. + // If enhanced speech model is enabled for the agent and an enhanced + // version of the specified model for the language does not exist, then the + // speech is recognized using the standard version of the specified model. + // Refer to + // [Cloud Speech API + // documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) + // for more details. + string model = 7; + + // Optional. Which variant of the [Speech model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] to use. + SpeechModelVariant model_variant = 10; + + // Optional. If `false` (default), recognition does not cease until the + // client closes the stream. + // If `true`, the recognizer will detect a single spoken utterance in input + // audio. Recognition ceases when it detects the audio's voice has + // stopped or paused. In this case, once a detected intent is received, the + // client should close the stream and start a new request with a new stream as + // needed. + // Note: This setting is relevant only for streaming methods. + bool single_utterance = 8; +} + +// Gender of the voice as described in +// [SSML voice element](https://www.w3.org/TR/speech-synthesis11/#edef_voice). +enum SsmlVoiceGender { + // An unspecified gender, which means that the client doesn't care which + // gender the selected voice will have. + SSML_VOICE_GENDER_UNSPECIFIED = 0; + + // A male voice. + SSML_VOICE_GENDER_MALE = 1; + + // A female voice. + SSML_VOICE_GENDER_FEMALE = 2; + + // A gender-neutral voice. + SSML_VOICE_GENDER_NEUTRAL = 3; +} + +// Description of which voice to use for speech synthesis. +message VoiceSelectionParams { + // Optional. The name of the voice. If not set, the service will choose a + // voice based on the other parameters such as language_code and + // [ssml_gender][google.cloud.dialogflow.cx.v3.VoiceSelectionParams.ssml_gender]. + // + // For the list of available voices, please refer to [Supported voices and + // languages](https://cloud.google.com/text-to-speech/docs/voices). + string name = 1; + + // Optional. The preferred gender of the voice. If not set, the service will + // choose a voice based on the other parameters such as language_code and + // [name][google.cloud.dialogflow.cx.v3.VoiceSelectionParams.name]. Note that this is only a preference, not requirement. If a + // voice of the appropriate gender is not available, the synthesizer + // substitutes a voice with a different gender rather than failing the + // request. + SsmlVoiceGender ssml_gender = 2; +} + +// Configuration of how speech should be synthesized. +message SynthesizeSpeechConfig { + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal + // native speed supported by the specific voice. 2.0 is twice as fast, and + // 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any + // other values < 0.25 or > 4.0 will return an error. + double speaking_rate = 1; + + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 + // semitones from the original pitch. -20 means decrease 20 semitones from the + // original pitch. + double pitch = 2; + + // Optional. Volume gain (in dB) of the normal native volume supported by the + // specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of + // 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) + // will play at approximately half the amplitude of the normal native signal + // amplitude. A value of +6.0 (dB) will play at approximately twice the + // amplitude of the normal native signal amplitude. We strongly recommend not + // to exceed +10 (dB) as there's usually no effective increase in loudness for + // any value greater than that. + double volume_gain_db = 3; + + // Optional. An identifier which selects 'audio effects' profiles that are + // applied on (post synthesized) text to speech. Effects are applied on top of + // each other in the order they are given. + repeated string effects_profile_id = 5; + + // Optional. The desired voice of the synthesized audio. + VoiceSelectionParams voice = 4; +} + +// Audio encoding of the output audio format in Text-To-Speech. +enum OutputAudioEncoding { + // Not specified. + OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0; + + // Uncompressed 16-bit signed little-endian samples (Linear PCM). + // Audio content returned as LINEAR16 also contains a WAV header. + OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1; + + // MP3 audio at 32kbps. + OUTPUT_AUDIO_ENCODING_MP3 = 2; + + // MP3 audio at 64kbps. + OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 4; + + // Opus encoded audio wrapped in an ogg container. The result will be a + // file which can be played natively on Android, and in browsers (at least + // Chrome and Firefox). The quality of the encoding is considerably higher + // than MP3 while using approximately the same bitrate. + OUTPUT_AUDIO_ENCODING_OGG_OPUS = 3; + + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + OUTPUT_AUDIO_ENCODING_MULAW = 5; +} + +// Instructs the speech synthesizer how to generate the output audio content. +message OutputAudioConfig { + // Required. Audio encoding of the synthesized audio content. + OutputAudioEncoding audio_encoding = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The synthesis sample rate (in hertz) for this audio. If not + // provided, then the synthesizer will use the default sample rate based on + // the audio encoding. If this is different from the voice's natural sample + // rate, then the synthesizer will honor this request by converting to the + // desired sample rate (which might result in worse audio quality). + int32 sample_rate_hertz = 2; + + // Optional. Configuration of how speech should be synthesized. + SynthesizeSpeechConfig synthesize_speech_config = 3; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/changelog.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/changelog.proto new file mode 100644 index 00000000..583055fd --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/changelog.proto @@ -0,0 +1,153 @@ +// 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.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/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "ChangelogProto"; +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 [Changelogs][google.cloud.dialogflow.cx.v3.Changelog]. +service Changelogs { + 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 Changelogs. + rpc ListChangelogs(ListChangelogsRequest) returns (ListChangelogsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/changelogs" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified Changelog. + rpc GetChangelog(GetChangelogRequest) returns (Changelog) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/changelogs/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs]. +message ListChangelogsRequest { + // Required. The agent containing the changelogs. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Changelog" + } + ]; + + // The filter string. Supports filter by user_email, resource, type and + // create_time. Some examples: + // 1. By user email: + // user_email = "someone@google.com" + // 2. By resource name: + // resource = "projects/123/locations/global/agents/456/flows/789" + // 3. By resource display name: + // display_name = "my agent" + // 4. By action: + // action = "Create" + // 5. By type: + // type = "flows" + // 6. By create time. Currently predicates on `create_time` and + // `create_time_epoch_seconds` are supported: + // create_time_epoch_seconds > 1551790877 AND create_time <= + // 2017-01-15T01:30:15.01Z + // 7. Combination of above filters: + // resource = "projects/123/locations/global/agents/456/flows/789" + // AND user_email = "someone@google.com" + // AND create_time <= 2017-01-15T01:30:15.01Z + string filter = 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 [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs]. +message ListChangelogsResponse { + // The list of changelogs. There will be a maximum number of items returned + // based on the page_size field in the request. The changelogs will be ordered + // by timestamp. + repeated Changelog changelogs = 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 [Changelogs.GetChangelog][google.cloud.dialogflow.cx.v3.Changelogs.GetChangelog]. +message GetChangelogRequest { + // Required. The name of the changelog to get. + // Format: `projects//locations//agents//changelogs/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Changelog" + } + ]; +} + +// Changelogs represents a change made to a given agent. +message Changelog { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Changelog" + pattern: "projects/{project}/locations/{location}/agents/{agent}/changelogs/{changelog}" + }; + + // The unique identifier of the changelog. + // Format: `projects//locations//agents//changelogs/`. + string name = 1; + + // Email address of the authenticated user. + string user_email = 2; + + // The affected resource display name of the change. + string display_name = 7; + + // The action of the change. + string action = 11; + + // The affected resource type. + string type = 8; + + // The affected resource name of the change. + string resource = 3; + + // The timestamp of the change. + google.protobuf.Timestamp create_time = 4; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/deployment.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/deployment.proto new file mode 100644 index 00000000..f5831cc6 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/deployment.proto @@ -0,0 +1,169 @@ +// 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.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/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "DeploymentProto"; +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 [Deployments][google.cloud.dialogflow.cx.v3.Deployment]. +service Deployments { + 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 deployments in the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc ListDeployments(ListDeploymentsRequest) returns (ListDeploymentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/deployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. + rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Represents an deployment in an environment. A deployment happens when a flow +// version configured to be active in the environment. You can configure running +// pre-deployment steps, e.g. running validation test cases, experiment +// auto-rollout, etc. +message Deployment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Deployment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/deployments/{deployment}" + }; + + // The state of the deployment. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The deployment is running. + RUNNING = 1; + + // The deployment succeeded. + SUCCEEDED = 2; + + // The deployment failed. + FAILED = 3; + } + + // Result of the deployment. + message Result { + // Results of test cases running before the deployment. + // Format: `projects//locations//agents//testCases//results/`. + repeated string deployment_test_results = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCaseResult" + }]; + + // The name of the experiment triggered by this deployment. + // Format: projects//locations//agents//environments//experiments/. + string experiment = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + }]; + } + + // The name of the deployment. + // Format: projects//locations//agents//environments//deployments/. + string name = 1; + + // The name of the flow version for this deployment. + // Format: projects//locations//agents//flows//versions/. + string flow_version = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + }]; + + // The current state of the deployment. + State state = 3; + + // Result of the deployment. + Result result = 4; + + // Start time of this deployment. + google.protobuf.Timestamp start_time = 5; + + // End time of this deployment. + google.protobuf.Timestamp end_time = 6; +} + +// The request message for [Deployments.ListDeployments][google.cloud.dialogflow.cx.v3.Deployments.ListDeployments]. +message ListDeploymentsRequest { + // Required. The [Environment][google.cloud.dialogflow.cx.v3.Environment] to list all environments for. + // Format: `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Deployment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [Deployments.ListDeployments][google.cloud.dialogflow.cx.v3.Deployments.ListDeployments]. +message ListDeploymentsResponse { + // The list of deployments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Deployment deployments = 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 [Deployments.GetDeployment][google.cloud.dialogflow.cx.v3.Deployments.GetDeployment]. +message GetDeploymentRequest { + // Required. The name of the [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. + // Format: `projects//locations//agents//environments//deployments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Deployment" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_grpc_service_config.json b/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_grpc_service_config.json new file mode 100644 index 00000000..11c0d325 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_grpc_service_config.json @@ -0,0 +1,100 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.dialogflow.cx.v3.Agents" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Changelogs" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Deployments" + }, + { + "service": "google.cloud.dialogflow.cx.v3.EntityTypes" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Environments" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Experiments" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Flows" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Fulfillments" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Intents" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Pages" + }, + { + "service": "google.cloud.dialogflow.cx.v3.SecuritySettingsService" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Sessions" + }, + { + "service": "google.cloud.dialogflow.cx.v3.SessionEntityTypes" + }, + { + "service": "google.cloud.dialogflow.cx.v3.TestCases" + }, + { + "service": "google.cloud.dialogflow.cx.v3.TransitionRouteGroups" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Versions" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Webhooks" + }, + { + "service": "google.cloud.dialogflow.cx.v3.Documents" + }, + { + "service": "google.cloud.dialogflow.cx.v3.KnowledgeBases" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dialogflow.cx.v3.Sessions", + "method": "DetectIntent" + } + ], + "timeout": "220s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + }, + { + "name": [ + { + "service": "google.cloud.dialogflow.cx.v3.Sessions", + "method": "StreamingDetectIntent" + } + ], + "timeout": "220s" + } + ] +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_v3.yaml b/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_v3.yaml new file mode 100644 index 00000000..793c453d --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/dialogflow_v3.yaml @@ -0,0 +1,251 @@ +type: google.api.Service +config_version: 3 +name: dialogflow.googleapis.com +title: Dialogflow API + +apis: +- name: google.cloud.dialogflow.cx.v3.Agents +- name: google.cloud.dialogflow.cx.v3.Changelogs +- name: google.cloud.dialogflow.cx.v3.Deployments +- name: google.cloud.dialogflow.cx.v3.EntityTypes +- name: google.cloud.dialogflow.cx.v3.Environments +- name: google.cloud.dialogflow.cx.v3.Experiments +- name: google.cloud.dialogflow.cx.v3.Flows +- name: google.cloud.dialogflow.cx.v3.Intents +- name: google.cloud.dialogflow.cx.v3.Pages +- name: google.cloud.dialogflow.cx.v3.SecuritySettingsService +- name: google.cloud.dialogflow.cx.v3.SessionEntityTypes +- name: google.cloud.dialogflow.cx.v3.Sessions +- name: google.cloud.dialogflow.cx.v3.TestCases +- name: google.cloud.dialogflow.cx.v3.TransitionRouteGroups +- name: google.cloud.dialogflow.cx.v3.Versions +- name: google.cloud.dialogflow.cx.v3.Webhooks +- name: google.cloud.location.Locations +- name: google.longrunning.Operations + +types: +- name: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata +- name: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse +- name: google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata +- name: google.cloud.dialogflow.cx.v3.DeployFlowMetadata +- name: google.cloud.dialogflow.cx.v3.DeployFlowResponse +- name: google.cloud.dialogflow.cx.v3.ExportAgentResponse +- name: google.cloud.dialogflow.cx.v3.ExportFlowResponse +- name: google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata +- name: google.cloud.dialogflow.cx.v3.ExportTestCasesResponse +- name: google.cloud.dialogflow.cx.v3.ImportFlowResponse +- name: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata +- name: google.cloud.dialogflow.cx.v3.ImportTestCasesResponse +- name: google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata +- name: google.cloud.dialogflow.cx.v3.RunContinuousTestResponse +- name: google.cloud.dialogflow.cx.v3.RunTestCaseMetadata +- name: google.cloud.dialogflow.cx.v3.RunTestCaseResponse +- name: google.cloud.dialogflow.cx.v3.TestError +- name: google.cloud.dialogflow.cx.v3.WebhookRequest +- name: google.cloud.dialogflow.cx.v3.WebhookResponse + +documentation: + summary: |- + Builds conversational interfaces (for example, chatbots, and voice-powered + apps and devices). + overview: |- + Dialogflow is + a natural language understanding platform that makes it easy + to design and integrate a conversational user interface into your mobile + app, web application, device, bot, interactive voice response system, and + so on. Using Dialogflow, you can provide new and engaging ways for + users to interact with your product. + + Dialogflow can analyze multiple types of input from your customers, + including text or audio inputs (like from a phone or voice recording). + It can also respond to your customers in a couple of ways, either through + text or with synthetic speech. + + For more information, see the + [Dialogflow documentation](https://cloud.google.com/dialogflow/docs). + 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.dialogflow.cx.v3.Agents.*' + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Changelogs.GetChangelog + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Deployments.GetDeployment + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Deployments.ListDeployments + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.EntityTypes.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Environments.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Experiments.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Flows.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Intents.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Pages.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.SecuritySettingsService.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.SessionEntityTypes.*' + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Sessions.DetectIntent + deadline: 220.0 + - selector: google.cloud.dialogflow.cx.v3.Sessions.FulfillIntent + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Sessions.MatchIntent + deadline: 60.0 + - selector: google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent + deadline: 220.0 + - selector: 'google.cloud.dialogflow.cx.v3.TestCases.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.TransitionRouteGroups.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Versions.*' + deadline: 60.0 + - selector: 'google.cloud.dialogflow.cx.v3.Webhooks.*' + deadline: 60.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + - selector: google.longrunning.Operations.ListOperations + deadline: 180.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v3/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v3/{name=projects/*}/locations' + - selector: google.longrunning.Operations.CancelOperation + post: '/v3/{name=projects/*/operations/*}:cancel' + additional_bindings: + - post: '/v3/{name=projects/*/locations/*/operations/*}:cancel' + - selector: google.longrunning.Operations.GetOperation + get: '/v3/{name=projects/*/operations/*}' + additional_bindings: + - get: '/v3/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v3/{name=projects/*}/operations' + additional_bindings: + - get: '/v3/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.dialogflow.cx.v3.Agents.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.dialogflow.cx.v3.Changelogs.GetChangelog + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.dialogflow.cx.v3.Deployments.GetDeployment + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.dialogflow.cx.v3.Deployments.ListDeployments + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.EntityTypes.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Environments.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Experiments.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Flows.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Intents.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Pages.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.SecuritySettingsService.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.SessionEntityTypes.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Sessions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.TestCases.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.TransitionRouteGroups.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Versions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.cloud.dialogflow.cx.v3.Webhooks.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/dialogflow diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/entity_type.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/entity_type.proto new file mode 100644 index 00000000..92c689e3 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/entity_type.proto @@ -0,0 +1,371 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "EntityTypeProto"; +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 [EntityTypes][google.cloud.dialogflow.cx.v3.EntityType]. +service EntityTypes { + 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 entity types in the specified agent. + rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/entityTypes" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified entity type. + rpc GetEntityType(GetEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an entity type in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateEntityType(CreateEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/entityTypes" + body: "entity_type" + }; + option (google.api.method_signature) = "parent,entity_type"; + } + + // Updates the specified entity type. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + patch: "/v3/{entity_type.name=projects/*/locations/*/agents/*/entityTypes/*}" + body: "entity_type" + }; + option (google.api.method_signature) = "entity_type,update_mask"; + } + + // Deletes the specified entity type. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeleteEntityType(DeleteEntityTypeRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Entities are extracted from user input and represent parameters that are +// meaningful to your application. For example, a date range, a proper name +// such as a geographic location or landmark, and so on. Entities represent +// actionable data for your application. +// +// When you define an entity, you can also include synonyms that all map to +// that entity. For example, "soft drink", "soda", "pop", and so on. +// +// There are three types of entities: +// +// * **System** - entities that are defined by the Dialogflow API for common +// data types such as date, time, currency, and so on. A system entity is +// represented by the `EntityType` type. +// +// * **Custom** - entities that are defined by you that represent +// actionable data that is meaningful to your application. For example, +// you could define a `pizza.sauce` entity for red or white pizza sauce, +// a `pizza.cheese` entity for the different types of cheese on a pizza, +// a `pizza.topping` entity for different toppings, and so on. A custom +// entity is represented by the `EntityType` type. +// +// * **User** - entities that are built for an individual user such as +// favorites, preferences, playlists, and so on. A user entity is +// represented by the [SessionEntityType][google.cloud.dialogflow.cx.v3.SessionEntityType] type. +// +// For more information about entity types, see the [Dialogflow +// documentation](https://cloud.google.com/dialogflow/docs/entities-overview). +message EntityType { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/EntityType" + pattern: "projects/{project}/locations/{location}/agents/{agent}/entityTypes/{entity_type}" + }; + + // Represents kinds of entities. + enum Kind { + // Not specified. This value should be never used. + KIND_UNSPECIFIED = 0; + + // Map entity types allow mapping of a group of synonyms to a canonical + // value. + KIND_MAP = 1; + + // List entity types contain a set of entries that do not map to canonical + // values. However, list entity types can contain references to other entity + // types (with or without aliases). + KIND_LIST = 2; + + // Regexp entity types allow to specify regular expressions in entries + // values. + KIND_REGEXP = 3; + } + + // Represents different entity type expansion modes. Automated expansion + // allows an agent to recognize values that have not been explicitly listed in + // the entity (for example, new kinds of shopping list items). + enum AutoExpansionMode { + // Auto expansion disabled for the entity. + AUTO_EXPANSION_MODE_UNSPECIFIED = 0; + + // Allows an agent to recognize values that have not been explicitly + // listed in the entity. + AUTO_EXPANSION_MODE_DEFAULT = 1; + } + + // An **entity entry** for an associated entity type. + message Entity { + // Required. The primary value associated with this entity entry. + // For example, if the entity type is *vegetable*, the value could be + // *scallions*. + // + // For `KIND_MAP` entity types: + // + // * A canonical value to be used in place of synonyms. + // + // For `KIND_LIST` entity types: + // + // * A string that can contain references to other entity types (with or + // without aliases). + string value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A collection of value synonyms. For example, if the entity type + // is *vegetable*, and `value` is *scallions*, a synonym could be *green + // onions*. + // + // For `KIND_LIST` entity types: + // + // * This collection must contain exactly one synonym equal to `value`. + repeated string synonyms = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // An excluded entity phrase that should not be matched. + message ExcludedPhrase { + // Required. The word or phrase to be excluded. + string value = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The unique identifier of the entity type. + // Required for [EntityTypes.UpdateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.UpdateEntityType]. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1; + + // Required. The human-readable name of the entity type, unique within the agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Indicates the kind of entity type. + Kind kind = 3 [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the entity type can be automatically expanded. + AutoExpansionMode auto_expansion_mode = 4; + + // The collection of entity entries associated with the entity type. + repeated Entity entities = 5; + + // Collection of exceptional words and phrases that shouldn't be matched. + // For example, if you have a size entity type with entry `giant`(an + // adjective), you might consider adding `giants`(a noun) as an exclusion. + // If the kind of entity type is `KIND_MAP`, then the phrases specified by + // entities and excluded phrases should be mutually exclusive. + repeated ExcludedPhrase excluded_phrases = 6; + + // Enables fuzzy entity extraction during classification. + bool enable_fuzzy_extraction = 7; + + // Indicates whether parameters of the entity type should be redacted in log. + // If redaction is enabled, page parameters and intent parameters referring to + // the entity type will be replaced by parameter name when logging. + bool redact = 9; +} + +// The request message for [EntityTypes.ListEntityTypes][google.cloud.dialogflow.cx.v3.EntityTypes.ListEntityTypes]. +message ListEntityTypesRequest { + // Required. The agent to list all entity types for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // The language to list entity types for. The following fields are language + // dependent: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + 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 [EntityTypes.ListEntityTypes][google.cloud.dialogflow.cx.v3.EntityTypes.ListEntityTypes]. +message ListEntityTypesResponse { + // The list of entity types. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated EntityType entity_types = 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 [EntityTypes.GetEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.GetEntityType]. +message GetEntityTypeRequest { + // Required. The name of the entity type. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // The language to retrieve the entity type for. The following fields are + // language dependent: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for [EntityTypes.CreateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.CreateEntityType]. +message CreateEntityTypeRequest { + // Required. The agent to create a entity type for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Required. The entity type to create. + EntityType entity_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `entity_type`: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for [EntityTypes.UpdateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.UpdateEntityType]. +message UpdateEntityTypeRequest { + // Required. The entity type to update. + EntityType entity_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `entity_type`: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for [EntityTypes.DeleteEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.DeleteEntityType]. +message DeleteEntityTypeRequest { + // Required. The name of the entity type to delete. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // This field has no effect for entity type not being used. + // For entity types that are used by intents or pages: + // + // * If `force` is set to false, an error will be returned with message + // indicating the referencing resources. + // * If `force` is set to true, Dialogflow will remove the entity type, as + // well as any references to the entity type (i.e. Page + // [parameter][google.cloud.dialogflow.cx.v3.Form.Parameter] of the entity type will be changed to + // '@sys.any' and intent [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] of the entity type + // will be removed). + bool force = 2; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/environment.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/environment.proto new file mode 100644 index 00000000..38cb107f --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/environment.proto @@ -0,0 +1,494 @@ +// 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.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/cloud/dialogflow/cx/v3/test_case.proto"; +import "google/cloud/dialogflow/cx/v3/webhook.proto"; +import "google/longrunning/operations.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.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "EnvironmentProto"; +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 [Environments][google.cloud.dialogflow.cx.v3.Environment]. +service Environments { + 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 environments in the specified [Agent][google.cloud.dialogflow.cx.v3.Agent]. + rpc ListEnvironments(ListEnvironmentsRequest) returns (ListEnvironmentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/environments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc GetEnvironment(GetEnvironmentRequest) returns (Environment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an [Environment][google.cloud.dialogflow.cx.v3.Environment] in the specified [Agent][google.cloud.dialogflow.cx.v3.Agent]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + rpc CreateEnvironment(CreateEnvironmentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/environments" + body: "environment" + }; + option (google.api.method_signature) = "parent,environment"; + option (google.longrunning.operation_info) = { + response_type: "Environment" + metadata_type: "google.protobuf.Struct" + }; + } + + // Updates the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + rpc UpdateEnvironment(UpdateEnvironmentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v3/{environment.name=projects/*/locations/*/agents/*/environments/*}" + body: "environment" + }; + option (google.api.method_signature) = "environment,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Environment" + metadata_type: "google.protobuf.Struct" + }; + } + + // Deletes the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc DeleteEnvironment(DeleteEnvironmentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/environments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Looks up the history of the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc LookupEnvironmentHistory(LookupEnvironmentHistoryRequest) returns (LookupEnvironmentHistoryResponse) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*}:lookupEnvironmentHistory" + }; + option (google.api.method_signature) = "name"; + } + + // Kicks off a continuous test under the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: [RunContinuousTestMetadata][google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata] + // - `response`: [RunContinuousTestResponse][google.cloud.dialogflow.cx.v3.RunContinuousTestResponse] + rpc RunContinuousTest(RunContinuousTestRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{environment=projects/*/locations/*/agents/*/environments/*}:runContinuousTest" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "RunContinuousTestResponse" + metadata_type: "RunContinuousTestMetadata" + }; + } + + // Fetches a list of continuous test results for a given environment. + rpc ListContinuousTestResults(ListContinuousTestResultsRequest) returns (ListContinuousTestResultsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/continuousTestResults" + }; + option (google.api.method_signature) = "parent"; + } + + // Deploys a flow to the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: [DeployFlowMetadata][google.cloud.dialogflow.cx.v3.DeployFlowMetadata] + // - `response`: [DeployFlowResponse][google.cloud.dialogflow.cx.v3.DeployFlowResponse] + rpc DeployFlow(DeployFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{environment=projects/*/locations/*/agents/*/environments/*}:deployFlow" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "DeployFlowResponse" + metadata_type: "DeployFlowMetadata" + }; + } +} + +// Represents an environment for an agent. You can create multiple versions +// of your agent and publish them to separate environments. When you edit an +// agent, you are editing the draft agent. At any point, you can save the draft +// agent as an agent version, which is an immutable snapshot of your agent. When +// you save the draft agent, it is published to the default environment. When +// you create agent versions, you can publish them to custom environments. You +// can create a variety of custom environments for testing, development, +// production, etc. +message Environment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Environment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}" + }; + + // Configuration for the version. + message VersionConfig { + // Required. Format: projects//locations//agents//flows//versions/. + string version = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + } + ]; + } + + // The configuration for continuous tests. + message TestCasesConfig { + // A list of test case names to run. They should be under the same agent. + // Format of each test case name: `projects//locations/ + // /agents//testCases/` + repeated string test_cases = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCase" + }]; + + // Whether to run test cases in [TestCasesConfig.test_cases][google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.test_cases] periodically. + // Default false. If set to true, run once a day. + bool enable_continuous_run = 2; + + // Whether to run test cases in [TestCasesConfig.test_cases][google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.test_cases] before + // deploying a flow version to the environment. Default false. + bool enable_predeployment_run = 3; + } + + // Configuration for webhooks. + message WebhookConfig { + // The list of webhooks to override for the agent environment. The webhook + // must exist in the agent. You can override fields in + // [`generic_web_service`][google.cloud.dialogflow.cx.v3.Webhook.generic_web_service] and + // [`service_directory`][google.cloud.dialogflow.cx.v3.Webhook.service_directory]. + repeated Webhook webhook_overrides = 1; + } + + // The name of the environment. + // Format: `projects//locations//agents//environments/`. + string name = 1; + + // Required. The human-readable name of the environment (unique in an agent). Limit of + // 64 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable description of the environment. The maximum length is + // 500 characters. If exceeded, the request is rejected. + string description = 3; + + // Required. A list of configurations for flow versions. You should include version + // configs for all flows that are reachable from [`Start + // Flow`][Agent.start_flow] in the agent. Otherwise, an error will be + // returned. + repeated VersionConfig version_configs = 6 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Update time of this environment. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The test cases config for continuous tests of this environment. + TestCasesConfig test_cases_config = 7; + + // The webhook configuration for this environment. + WebhookConfig webhook_config = 10; +} + +// The request message for [Environments.ListEnvironments][google.cloud.dialogflow.cx.v3.Environments.ListEnvironments]. +message ListEnvironmentsRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to list all environments for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Environment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [Environments.ListEnvironments][google.cloud.dialogflow.cx.v3.Environments.ListEnvironments]. +message ListEnvironmentsResponse { + // The list of environments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Environment environments = 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 [Environments.GetEnvironment][google.cloud.dialogflow.cx.v3.Environments.GetEnvironment]. +message GetEnvironmentRequest { + // Required. The name of the [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // Format: `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The request message for [Environments.CreateEnvironment][google.cloud.dialogflow.cx.v3.Environments.CreateEnvironment]. +message CreateEnvironmentRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to create an [Environment][google.cloud.dialogflow.cx.v3.Environment] for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Environment" + } + ]; + + // Required. The environment to create. + Environment environment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [Environments.UpdateEnvironment][google.cloud.dialogflow.cx.v3.Environments.UpdateEnvironment]. +message UpdateEnvironmentRequest { + // Required. The environment to update. + Environment environment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [Environments.DeleteEnvironment][google.cloud.dialogflow.cx.v3.Environments.DeleteEnvironment]. +message DeleteEnvironmentRequest { + // Required. The name of the [Environment][google.cloud.dialogflow.cx.v3.Environment] to delete. + // Format: `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The request message for [Environments.LookupEnvironmentHistory][google.cloud.dialogflow.cx.v3.Environments.LookupEnvironmentHistory]. +message LookupEnvironmentHistoryRequest { + // Required. Resource name of the environment to look up the history for. + // Format: `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; + + // 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 [Environments.LookupEnvironmentHistory][google.cloud.dialogflow.cx.v3.Environments.LookupEnvironmentHistory]. +message LookupEnvironmentHistoryResponse { + // Represents a list of snapshots for an environment. Time of the snapshots is + // stored in [`update_time`][google.cloud.dialogflow.cx.v3.Environment.update_time]. + repeated Environment environments = 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; +} + +// Represents a result from running a test case in an agent environment. +message ContinuousTestResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/ContinuousTestResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/continuousTestResults/{continuous_test_result}" + }; + + // The overall result for a continuous test run in an agent environment. + enum AggregatedTestResult { + // Not specified. Should never be used. + AGGREGATED_TEST_RESULT_UNSPECIFIED = 0; + + // All the tests passed. + PASSED = 1; + + // At least one test did not pass. + FAILED = 2; + } + + // The resource name for the continuous test result. Format: + // `projects//locations//agents//environments//continuousTestResults/`. + string name = 1; + + // The result of this continuous test run, i.e. whether all the tests in this + // continuous test run pass or not. + AggregatedTestResult result = 2; + + // A list of individual test case results names in this continuous test run. + repeated string test_case_results = 3 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCaseResult" + }]; + + // Time when the continuous testing run starts. + google.protobuf.Timestamp run_time = 4; +} + +// The request message for [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest]. +message RunContinuousTestRequest { + // Required. Format: `projects//locations//agents//environments/`. + string environment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The response message for [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest]. +message RunContinuousTestResponse { + // The result for a continuous test run. + ContinuousTestResult continuous_test_result = 1; +} + +// Metadata returned for the [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest] long running +// operation. +message RunContinuousTestMetadata { + // The test errors. + repeated TestError errors = 1; +} + +// The request message for [Environments.ListContinuousTestResults][google.cloud.dialogflow.cx.v3.Environments.ListContinuousTestResults]. +message ListContinuousTestResultsRequest { + // Required. The environment to list results for. + // Format: `projects//locations//agents// + // environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/ContinuousTestResult" + } + ]; + + // 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 [Environments.ListTestCaseResults][]. +message ListContinuousTestResultsResponse { + // The list of continuous test results. + repeated ContinuousTestResult continuous_test_results = 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 [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow]. +message DeployFlowRequest { + // Required. The environment to deploy the flow to. + // Format: `projects//locations//agents// + // environments/`. + string environment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; + + // Required. The flow version to deploy. + // Format: `projects//locations//agents// + // flows//versions/`. + string flow_version = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + } + ]; +} + +// The response message for [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow]. +message DeployFlowResponse { + // The updated environment where the flow is deployed. + Environment environment = 1; + + // The name of the flow version [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. + // Format: `projects//locations//agents// + // environments//deployments/`. + string deployment = 2; +} + +// Metadata returned for the [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow] long running +// operation. +message DeployFlowMetadata { + // Errors of running deployment tests. + repeated TestError test_errors = 1; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/experiment.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/experiment.proto new file mode 100644 index 00000000..6b5216dd --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/experiment.proto @@ -0,0 +1,503 @@ +// 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.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/duration.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.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +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 [Experiments][google.cloud.dialogflow.cx.v3.Experiment]. +service Experiments { + 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 experiments in the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc ListExperiments(ListExperimentsRequest) returns (ListExperimentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/experiments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc GetExperiment(GetExperimentRequest) returns (Experiment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an [Experiment][google.cloud.dialogflow.cx.v3.Experiment] in the specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc CreateExperiment(CreateExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/experiments" + body: "experiment" + }; + option (google.api.method_signature) = "parent,experiment"; + } + + // Updates the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc UpdateExperiment(UpdateExperimentRequest) returns (Experiment) { + option (google.api.http) = { + patch: "/v3/{experiment.name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + body: "experiment" + }; + option (google.api.method_signature) = "experiment,update_mask"; + } + + // Deletes the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc DeleteExperiment(DeleteExperimentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Starts the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. This rpc only changes the state of + // experiment from PENDING to RUNNING. + rpc StartExperiment(StartExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:start" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Stops the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. This rpc only changes the state of + // experiment from RUNNING to DONE. + rpc StopExperiment(StopExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:stop" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// Represents an experiment in an environment. +message Experiment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Experiment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/experiments/{experiment}" + }; + + // The state of the experiment. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The experiment is created but not started yet. + DRAFT = 1; + + // The experiment is running. + RUNNING = 2; + + // The experiment is done. + DONE = 3; + + // The experiment with auto-rollout enabled has failed. + ROLLOUT_FAILED = 4; + } + + // Definition of the experiment. + message Definition { + // The condition defines which subset of sessions are selected for + // this experiment. If not specified, all sessions are eligible. E.g. + // "query_input.language_code=en" See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string condition = 1; + + // The variants of the experiment. We currently only support single variant + // experiment. + oneof variants { + // The flow versions as the variants of this experiment. + VersionVariants version_variants = 2; + } + } + + // The inference result which includes an objective metric to optimize and the + // confidence interval. + message Result { + // Types of ratio-based metric for Dialogflow experiment. + enum MetricType { + // Metric unspecified. + METRIC_UNSPECIFIED = 0; + + // Percentage of contained sessions without user calling back in 24 hours. + CONTAINED_SESSION_NO_CALLBACK_RATE = 1; + + // Percentage of sessions that were handed to a human agent. + LIVE_AGENT_HANDOFF_RATE = 2; + + // Percentage of sessions with the same user calling back. + CALLBACK_SESSION_RATE = 3; + + // Percentage of sessions where user hung up. + ABANDONED_SESSION_RATE = 4; + + // Percentage of sessions reached Dialogflow 'END_PAGE' or + // 'END_SESSION'. + SESSION_END_RATE = 5; + } + + // Types of count-based metric for Dialogflow experiment. + enum CountType { + // Count type unspecified. + COUNT_TYPE_UNSPECIFIED = 0; + + // Total number of occurrences of a 'NO_MATCH'. + TOTAL_NO_MATCH_COUNT = 1; + + // Total number of turn counts. + TOTAL_TURN_COUNT = 2; + + // Average turn count in a session. + AVERAGE_TURN_COUNT = 3; + } + + // A confidence interval is a range of possible values for the experiment + // objective you are trying to measure. + message ConfidenceInterval { + // The confidence level used to construct the interval, i.e. there is X% + // chance that the true value is within this interval. + double confidence_level = 1; + + // The percent change between an experiment metric's value and the value + // for its control. + double ratio = 2; + + // Lower bound of the interval. + double lower_bound = 3; + + // Upper bound of the interval. + double upper_bound = 4; + } + + // Metric and corresponding confidence intervals. + message Metric { + // Ratio-based metric type. Only one of type or count_type is specified in + // each Metric. + MetricType type = 1; + + // Count-based metric type. Only one of type or count_type is specified in + // each Metric. + CountType count_type = 5; + + // The actual value of the metric. + oneof value { + // Ratio value of a metric. + double ratio = 2; + + // Count value of a metric. + double count = 4; + } + + // The probability that the treatment is better than all other treatments + // in the experiment + ConfidenceInterval confidence_interval = 3; + } + + // Version variant and associated metrics. + message VersionMetrics { + // The name of the flow [Version][google.cloud.dialogflow.cx.v3.Version]. + // Format: `projects//locations//agents//flows//versions/`. + string version = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + }]; + + // The metrics and corresponding confidence intervals in the inference + // result. + repeated Metric metrics = 2; + + // Number of sessions that were allocated to this version. + int32 session_count = 3; + } + + // Version variants and metrics. + repeated VersionMetrics version_metrics = 1; + + // The last time the experiment's stats data was updated. Will have default + // value if stats have never been computed for this experiment. + google.protobuf.Timestamp last_update_time = 2; + } + + // The name of the experiment. + // Format: projects//locations//agents//environments//experiments/.. + string name = 1; + + // Required. The human-readable name of the experiment (unique in an environment). Limit + // of 64 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable description of the experiment. + string description = 3; + + // The current state of the experiment. + // Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. + // Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or + // RUNNING->DONE. + State state = 4; + + // The definition of the experiment. + Definition definition = 5; + + // The configuration for auto rollout. If set, there should be exactly two + // variants in the experiment (control variant being the default version of + // the flow), the traffic allocation for the non-control variant will + // gradually increase to 100% when conditions are met, and eventually + // replace the control variant to become the default version of the flow. + RolloutConfig rollout_config = 14; + + // State of the auto rollout process. + RolloutState rollout_state = 15; + + // The reason why rollout has failed. Should only be set when state is + // ROLLOUT_FAILED. + string rollout_failure_reason = 16; + + // Inference result of the experiment. + Result result = 6; + + // Creation time of this experiment. + google.protobuf.Timestamp create_time = 7; + + // Start time of this experiment. + google.protobuf.Timestamp start_time = 8; + + // End time of this experiment. + google.protobuf.Timestamp end_time = 9; + + // Last update time of this experiment. + google.protobuf.Timestamp last_update_time = 10; + + // Maximum number of days to run the experiment/rollout. If auto-rollout is + // not enabled, default value and maximum will be 30 days. If auto-rollout is + // enabled, default value and maximum will be 6 days. + google.protobuf.Duration experiment_length = 11; + + // The history of updates to the experiment variants. + repeated VariantsHistory variants_history = 12; +} + +// A list of flow version variants. +message VersionVariants { + // A single flow version with specified traffic allocation. + message Variant { + // The name of the flow version. + // Format: `projects//locations//agents//flows//versions/`. + string version = 1; + + // Percentage of the traffic which should be routed to this + // version of flow. Traffic allocation for a single flow must sum up to 1.0. + float traffic_allocation = 2; + + // Whether the variant is for the control group. + bool is_control_group = 3; + } + + // A list of flow version variants. + repeated Variant variants = 1; +} + +// The history of variants update. +message VariantsHistory { + // The variants updated. We currently only support single variant + // experiment. + oneof variants { + // The flow versions as the variants. + VersionVariants version_variants = 1; + } + + // Update time of the variants. + google.protobuf.Timestamp update_time = 2; +} + +// The configuration for auto rollout. +message RolloutConfig { + // A single rollout step with specified traffic allocation. + message RolloutStep { + // The name of the rollout step; + string display_name = 1; + + // The percentage of traffic allocated to the flow version of this rollout + // step. (0%, 100%]. + int32 traffic_percent = 2; + + // The minimum time that this step should last. Should be longer than 1 + // hour. If not set, the default minimum duration for each step will be 1 + // hour. + google.protobuf.Duration min_duration = 3; + } + + // Steps to roll out a flow version. Steps should be sorted by percentage in + // ascending order. + repeated RolloutStep rollout_steps = 1; + + // The conditions that are used to evaluate the success of a rollout + // step. If not specified, all rollout steps will proceed to the next one + // unless failure conditions are met. E.g. "containment_rate > 60% AND + // callback_rate < 20%". See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string rollout_condition = 2; + + // The conditions that are used to evaluate the failure of a rollout + // step. If not specified, no rollout steps will fail. E.g. "containment_rate + // < 10% OR average_turn_count < 3". See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string failure_condition = 3; +} + +// State of the auto-rollout process. +message RolloutState { + // Display name of the current auto rollout step. + string step = 1; + + // Index of the current step in the auto rollout steps list. + int32 step_index = 3; + + // Start time of the current step. + google.protobuf.Timestamp start_time = 2; +} + +// The request message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3.Experiments.ListExperiments]. +message ListExperimentsRequest { + // Required. The [Environment][google.cloud.dialogflow.cx.v3.Environment] to list all environments for. + // Format: `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Experiment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3.Experiments.ListExperiments]. +message ListExperimentsResponse { + // The list of experiments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Experiment experiments = 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 [Experiments.GetExperiment][google.cloud.dialogflow.cx.v3.Experiments.GetExperiment]. +message GetExperimentRequest { + // Required. The name of the [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for [Experiments.CreateExperiment][google.cloud.dialogflow.cx.v3.Experiments.CreateExperiment]. +message CreateExperimentRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to create an [Environment][google.cloud.dialogflow.cx.v3.Environment] for. + // Format: `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Experiment" + } + ]; + + // Required. The experiment to create. + Experiment experiment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [Experiments.UpdateExperiment][google.cloud.dialogflow.cx.v3.Experiments.UpdateExperiment]. +message UpdateExperimentRequest { + // Required. The experiment to update. + Experiment experiment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [Experiments.DeleteExperiment][google.cloud.dialogflow.cx.v3.Experiments.DeleteExperiment]. +message DeleteExperimentRequest { + // Required. The name of the [Environment][google.cloud.dialogflow.cx.v3.Environment] to delete. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for [Experiments.StartExperiment][google.cloud.dialogflow.cx.v3.Experiments.StartExperiment]. +message StartExperimentRequest { + // Required. Resource name of the experiment to start. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for [Experiments.StopExperiment][google.cloud.dialogflow.cx.v3.Experiments.StopExperiment]. +message StopExperimentRequest { + // Required. Resource name of the experiment to stop. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/flow.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/flow.proto new file mode 100644 index 00000000..b95320bc --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/flow.proto @@ -0,0 +1,627 @@ +// 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.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/cloud/dialogflow/cx/v3/page.proto"; +import "google/cloud/dialogflow/cx/v3/validation_message.proto"; +import "google/longrunning/operations.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.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "FlowProto"; +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 [Flows][google.cloud.dialogflow.cx.v3.Flow]. +service Flows { + 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 flow in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateFlow(CreateFlowRequest) returns (Flow) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/flows" + body: "flow" + }; + option (google.api.method_signature) = "parent,flow"; + } + + // Deletes a specified flow. + rpc DeleteFlow(DeleteFlowRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/flows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the list of all flows in the specified agent. + rpc ListFlows(ListFlowsRequest) returns (ListFlowsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/flows" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified flow. + rpc GetFlow(GetFlowRequest) returns (Flow) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the specified flow. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateFlow(UpdateFlowRequest) returns (Flow) { + option (google.api.http) = { + patch: "/v3/{flow.name=projects/*/locations/*/agents/*/flows/*}" + body: "flow" + }; + option (google.api.method_signature) = "flow,update_mask"; + } + + // Trains the specified flow. Note that only the flow in 'draft' environment + // is trained. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc TrainFlow(TrainFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:train" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Struct" + }; + } + + // Validates the specified flow and creates or updates validation results. + // Please call this API after the training is completed to get the complete + // validation results. + rpc ValidateFlow(ValidateFlowRequest) returns (FlowValidationResult) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:validate" + body: "*" + }; + } + + // Gets the latest flow validation result. Flow validation is performed + // when ValidateFlow is called. + rpc GetFlowValidationResult(GetFlowValidationResultRequest) returns (FlowValidationResult) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*/validationResult}" + }; + option (google.api.method_signature) = "name"; + } + + // Imports the specified flow to the specified agent from a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [ImportFlowResponse][google.cloud.dialogflow.cx.v3.ImportFlowResponse] + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc ImportFlow(ImportFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/flows:import" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportFlowResponse" + metadata_type: "google.protobuf.Struct" + }; + } + + // Exports the specified flow to a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [ExportFlowResponse][google.cloud.dialogflow.cx.v3.ExportFlowResponse] + // + // Note that resources (e.g. intents, entities, webhooks) that the flow + // references will also be exported. + rpc ExportFlow(ExportFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportFlowResponse" + metadata_type: "google.protobuf.Struct" + }; + } +} + +// Settings related to NLU. +message NluSettings { + // NLU model type. + enum ModelType { + // Not specified. `MODEL_TYPE_STANDARD` will be used. + MODEL_TYPE_UNSPECIFIED = 0; + + // Use standard NLU model. + MODEL_TYPE_STANDARD = 1; + + // Use advanced NLU model. + MODEL_TYPE_ADVANCED = 3; + } + + // NLU model training mode. + enum ModelTrainingMode { + // Not specified. `MODEL_TRAINING_MODE_AUTOMATIC` will be used. + MODEL_TRAINING_MODE_UNSPECIFIED = 0; + + // NLU model training is automatically triggered when a flow gets modified. + // User can also manually trigger model training in this mode. + MODEL_TRAINING_MODE_AUTOMATIC = 1; + + // User needs to manually trigger NLU model training. Best for large flows + // whose models take long time to train. + MODEL_TRAINING_MODE_MANUAL = 2; + } + + // Indicates the type of NLU model. + ModelType model_type = 1; + + // To filter out false positive results and still get variety in matched + // natural language inputs for your agent, you can tune the machine learning + // classification threshold. If the returned score value is less than the + // threshold value, then a no-match event will be triggered. The score values + // range from 0.0 (completely uncertain) to 1.0 (completely certain). If set + // to 0.0, the default of 0.3 is used. + float classification_threshold = 3; + + // Indicates NLU model training mode. + ModelTrainingMode model_training_mode = 4; +} + +// Flows represents the conversation flows when you build your chatbot agent. +// +// A flow consists of many pages connected by the transition routes. +// Conversations always start with the built-in Start Flow (with an all-0 ID). +// Transition routes can direct the conversation session from the current flow +// (parent flow) to another flow (sub flow). When the sub flow is finished, +// Dialogflow will bring the session back to the parent flow, where the sub flow +// is started. +// +// Usually, when a transition route is followed by a matched intent, the intent +// will be "consumed". This means the intent won't activate more transition +// routes. However, when the followed transition route moves the conversation +// session into a different flow, the matched intent can be carried over and to +// be consumed in the target flow. +message Flow { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Flow" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}" + }; + + // The unique identifier of the flow. + // Format: `projects//locations//agents//flows/`. + string name = 1; + + // Required. The human-readable name of the flow. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the flow. The maximum length is 500 characters. If + // exceeded, the request is rejected. + string description = 3; + + // A flow's transition routes serve two purposes: + // + // * They are responsible for matching the user's first utterances in the + // flow. + // * They are inherited by every page's [transition + // routes][Page.transition_routes] and can support use cases such as the user + // saying "help" or "can I talk to a human?", which can be handled in a common + // way regardless of the current page. Transition routes defined in the page + // have higher priority than those defined in the flow. + // + // TransitionRoutes are evalauted in the following order: + // + // * TransitionRoutes with intent specified. + // * TransitionRoutes with only condition specified. + // + // TransitionRoutes with intent specified are inherited by pages in the flow. + repeated TransitionRoute transition_routes = 4; + + // A flow's event handlers serve two purposes: + // + // * They are responsible for handling events (e.g. no match, + // webhook errors) in the flow. + // * They are inherited by every page's [event + // handlers][Page.event_handlers], which can be used to handle common events + // regardless of the current page. Event handlers defined in the page + // have higher priority than those defined in the flow. + // + // Unlike [transition_routes][google.cloud.dialogflow.cx.v3.Flow.transition_routes], these handlers are + // evaluated on a first-match basis. The first one that matches the event + // get executed, with the rest being ignored. + repeated EventHandler event_handlers = 10; + + // A flow's transition route group serve two purposes: + // + // * They are responsible for matching the user's first utterances in the + // flow. + // * They are inherited by every page's [transition + // route groups][Page.transition_route_groups]. Transition route groups + // defined in the page have higher priority than those defined in the flow. + // + // Format:`projects//locations//agents//flows//transitionRouteGroups/`. + repeated string transition_route_groups = 15 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TransitionRouteGroup" + }]; + + // NLU related settings of the flow. + NluSettings nlu_settings = 11; +} + +// The request message for [Flows.CreateFlow][google.cloud.dialogflow.cx.v3.Flows.CreateFlow]. +message CreateFlowRequest { + // Required. The agent to create a flow for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Required. The flow to create. + Flow flow = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `flow`: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for [Flows.DeleteFlow][google.cloud.dialogflow.cx.v3.Flows.DeleteFlow]. +message DeleteFlowRequest { + // Required. The name of the flow to delete. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; + + // This field has no effect for flows with no incoming transitions. + // For flows with incoming transitions: + // + // * If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // * If `force` is set to true, Dialogflow will remove the flow, as well as + // any transitions to the flow (i.e. [Target + // flow][EventHandler.target_flow] in event handlers or [Target + // flow][TransitionRoute.target_flow] in transition routes that point to + // this flow will be cleared). + bool force = 2; +} + +// The request message for [Flows.ListFlows][google.cloud.dialogflow.cx.v3.Flows.ListFlows]. +message ListFlowsRequest { + // Required. The agent containing the flows. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // 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 language to list flows for. The following fields are language + // dependent: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 4; +} + +// The response message for [Flows.ListFlows][google.cloud.dialogflow.cx.v3.Flows.ListFlows]. +message ListFlowsResponse { + // The list of flows. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Flow flows = 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 response message for [Flows.GetFlow][google.cloud.dialogflow.cx.v3.Flows.GetFlow]. +message GetFlowRequest { + // Required. The name of the flow to get. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; + + // The language to retrieve the flow for. The following fields are language + // dependent: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for [Flows.UpdateFlow][google.cloud.dialogflow.cx.v3.Flows.UpdateFlow]. +message UpdateFlowRequest { + // Required. The flow to update. + Flow flow = 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 language of the following fields in `flow`: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for [Flows.TrainFlow][google.cloud.dialogflow.cx.v3.Flows.TrainFlow]. +message TrainFlowRequest { + // Required. The flow to train. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; +} + +// The request message for [Flows.ValidateFlow][google.cloud.dialogflow.cx.v3.Flows.ValidateFlow]. +message ValidateFlowRequest { + // Required. The flow to validate. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The request message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3.Flows.GetFlowValidationResult]. +message GetFlowValidationResultRequest { + // Required. The flow name. + // Format: `projects//locations//agents//flows//validationResult`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/FlowValidationResult" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The response message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3.Flows.GetFlowValidationResult]. +message FlowValidationResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/FlowValidationResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/validationResult" + }; + + // The unique identifier of the flow validation result. + // Format: `projects//locations//agents//flows//validationResult`. + string name = 1; + + // Contains all validation messages. + repeated ValidationMessage validation_messages = 2; + + // Last time the flow was validated. + google.protobuf.Timestamp update_time = 3; +} + +// The request message for [Flows.ImportFlow][google.cloud.dialogflow.cx.v3.Flows.ImportFlow]. +message ImportFlowRequest { + // Import option. + enum ImportOption { + // Unspecified. Treated as `KEEP`. + IMPORT_OPTION_UNSPECIFIED = 0; + + // Always respect settings in exported flow content. It may cause a + // import failure if some settings (e.g. custom NLU) are not supported in + // the agent to import into. + KEEP = 1; + + // Fallback to default settings if some settings are not supported in the + // agent to import into. E.g. Standard NLU will be used if custom NLU is + // not available. + FALLBACK = 2; + } + + // Required. The agent to import the flow into. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Required. The flow to import. + oneof flow { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to import flow from. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a read operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have read permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string flow_uri = 2; + + // Uncompressed raw byte content for flow. + bytes flow_content = 3; + } + + // Flow import mode. If not specified, `KEEP` is assumed. + ImportOption import_option = 4; +} + +// The response message for [Flows.ImportFlow][google.cloud.dialogflow.cx.v3.Flows.ImportFlow]. +message ImportFlowResponse { + // The unique identifier of the new flow. + // Format: `projects//locations//agents//flows/`. + string flow = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; +} + +// The request message for [Flows.ExportFlow][google.cloud.dialogflow.cx.v3.Flows.ExportFlow]. +message ExportFlowRequest { + // Required. The name of the flow to export. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to + // export the flow to. The format of this URI must be + // `gs:///`. + // If left unspecified, the serialized flow is returned inline. + // + // 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 flow_uri = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to export flows referenced by the specified flow. + bool include_referenced_flows = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for [Flows.ExportFlow][google.cloud.dialogflow.cx.v3.Flows.ExportFlow]. +message ExportFlowResponse { + // The exported flow. + oneof flow { + // The URI to a file containing the exported flow. This field is populated + // only if `flow_uri` is specified in [ExportFlowRequest][google.cloud.dialogflow.cx.v3.ExportFlowRequest]. + string flow_uri = 1; + + // Uncompressed raw byte content for flow. + bytes flow_content = 2; + } +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto new file mode 100644 index 00000000..e21ede58 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto @@ -0,0 +1,122 @@ +// 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.dialogflow.cx.v3; + +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/response_message.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "FulfillmentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// A fulfillment can do one or more of the following actions at the same time: +// +// * Generate rich message responses. +// * Set parameter values. +// * Call the webhook. +// +// Fulfillments can be called at various stages in the [Page][google.cloud.dialogflow.cx.v3.Page] or +// [Form][google.cloud.dialogflow.cx.v3.Form] lifecycle. For example, when a [DetectIntentRequest][google.cloud.dialogflow.cx.v3.DetectIntentRequest] drives a +// session to enter a new page, the page's entry fulfillment can add a static +// response to the [QueryResult][google.cloud.dialogflow.cx.v3.QueryResult] in the returning [DetectIntentResponse][google.cloud.dialogflow.cx.v3.DetectIntentResponse], +// call the webhook (for example, to load user data from a database), or both. +message Fulfillment { + // Setting a parameter value. + message SetParameterAction { + // Display name of the parameter. + string parameter = 1; + + // The new value of the parameter. A null value clears the parameter. + google.protobuf.Value value = 2; + } + + // A list of cascading if-else conditions. Cases are mutually exclusive. + // The first one with a matching condition is selected, all the rest ignored. + message ConditionalCases { + // Each case has a Boolean condition. When it is evaluated to be True, the + // corresponding messages will be selected and evaluated recursively. + message Case { + // The list of messages or conditional cases to activate for this case. + message CaseContent { + // Either a message is returned or additional cases to be evaluated. + oneof cases_or_message { + // Returned message. + ResponseMessage message = 1; + + // Additional cases to be evaluated. + ConditionalCases additional_cases = 2; + } + } + + // The condition to activate and select this case. Empty means the + // condition is always true. The condition is evaluated against [form + // parameters][Form.parameters] or [session + // parameters][SessionInfo.parameters]. + // + // See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string condition = 1; + + // A list of case content. + repeated CaseContent case_content = 2; + } + + // A list of cascading if-else conditions. + repeated Case cases = 1; + } + + // The list of rich message responses to present to the user. + repeated ResponseMessage messages = 1; + + // The webhook to call. + // Format: `projects//locations//agents//webhooks/`. + string webhook = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Webhook" + }]; + + // Whether Dialogflow should return currently queued fulfillment response + // messages in streaming APIs. If a webhook is specified, it happens before + // Dialogflow invokes webhook. + // Warning: + // 1) This flag only affects streaming API. Responses are still queued + // and returned once in non-streaming API. + // 2) The flag can be enabled in any fulfillment but only the first 3 partial + // responses will be returned. You may only want to apply it to fulfillments + // that have slow webhooks. + bool return_partial_responses = 8; + + // The value of this field will be populated in the [WebhookRequest][google.cloud.dialogflow.cx.v3.WebhookRequest] + // `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is + // called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. + // This field is required if `webhook` is specified. + string tag = 3; + + // Set parameter values before executing the webhook. + repeated SetParameterAction set_parameter_actions = 4; + + // Conditional cases for this fulfillment. + repeated ConditionalCases conditional_cases = 5; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/intent.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/intent.proto new file mode 100644 index 00000000..05160288 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/intent.proto @@ -0,0 +1,376 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "IntentProto"; +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 [Intents][google.cloud.dialogflow.cx.v3.Intent]. +service Intents { + 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 intents in the specified agent. + rpc ListIntents(ListIntentsRequest) returns (ListIntentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/intents" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified intent. + rpc GetIntent(GetIntentRequest) returns (Intent) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/intents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an intent in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateIntent(CreateIntentRequest) returns (Intent) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/intents" + body: "intent" + }; + option (google.api.method_signature) = "parent,intent"; + } + + // Updates the specified intent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateIntent(UpdateIntentRequest) returns (Intent) { + option (google.api.http) = { + patch: "/v3/{intent.name=projects/*/locations/*/agents/*/intents/*}" + body: "intent" + }; + option (google.api.method_signature) = "intent,update_mask"; + } + + // Deletes the specified intent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeleteIntent(DeleteIntentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/intents/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// An intent represents a user's intent to interact with a conversational agent. +// +// You can provide information for the Dialogflow API to use to match user input +// to an intent by adding training phrases (i.e., examples of user input) to +// your intent. +message Intent { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Intent" + pattern: "projects/{project}/locations/{location}/agents/{agent}/intents/{intent}" + }; + + // Represents an example that the agent is trained on to identify the intent. + message TrainingPhrase { + // Represents a part of a training phrase. + message Part { + // Required. The text for this part. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // The [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] used to annotate this part of the + // training phrase. This field is required for annotated parts of the + // training phrase. + string parameter_id = 2; + } + + // Output only. The unique identifier of the training phrase. + string id = 1; + + // Required. The ordered list of training phrase parts. + // The parts are concatenated in order to form the training phrase. + // + // Note: The API does not automatically annotate training phrases like the + // Dialogflow Console does. + // + // Note: Do not forget to include whitespace at part boundaries, so the + // training phrase is well formatted when the parts are concatenated. + // + // If the training phrase does not need to be annotated with parameters, + // you just need a single part with only the [Part.text][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part.text] field set. + // + // If you want to annotate the training phrase, you must create multiple + // parts, where the fields of each part are populated in one of two ways: + // + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, + // and the `parameter_id` field is set. + repeated Part parts = 2 [(google.api.field_behavior) = REQUIRED]; + + // Indicates how many times this example was added to the intent. + int32 repeat_count = 3; + } + + // Represents an intent parameter. + message Parameter { + // Required. The unique identifier of the parameter. This field + // is used by [training phrases][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase] to annotate their + // [parts][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part]. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The entity type of the parameter. + // Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, + // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or + // `projects//locations//agents//entityTypes/` for developer entity types. + string entity_type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Indicates whether the parameter represents a list of values. + bool is_list = 3; + + // Indicates whether the parameter content should be redacted in log. If + // redaction is enabled, the parameter content will be replaced by parameter + // name during logging. + // Note: the parameter content is subject to redaction if either parameter + // level redaction or [entity type level redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is + // enabled. + bool redact = 4; + } + + // The unique identifier of the intent. + // Required for the [Intents.UpdateIntent][google.cloud.dialogflow.cx.v3.Intents.UpdateIntent] method. [Intents.CreateIntent][google.cloud.dialogflow.cx.v3.Intents.CreateIntent] + // populates the name automatically. + // Format: `projects//locations//agents//intents/`. + string name = 1; + + // Required. The human-readable name of the intent, unique within the agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The collection of training phrases the agent is trained on to identify the + // intent. + repeated TrainingPhrase training_phrases = 3; + + // The collection of parameters associated with the intent. + repeated Parameter parameters = 4; + + // The priority of this intent. Higher numbers represent higher + // priorities. + // + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. + int32 priority = 5; + + // Indicates whether this is a fallback intent. Currently only default + // fallback intent is allowed in the agent, which is added upon agent + // creation. + // Adding training phrases to fallback intent is useful in the case of + // requests that are mistakenly matched, since training phrases assigned to + // fallback intents act as negative examples that triggers no-match event. + bool is_fallback = 6; + + // The key/value metadata to label an intent. Labels can contain + // lowercase letters, digits and the symbols '-' and '_'. International + // characters are allowed, including letters from unicase alphabets. Keys must + // start with a letter. Keys and values can be no longer than 63 characters + // and no more than 128 bytes. + // + // Prefix "sys-" is reserved for Dialogflow defined labels. Currently allowed + // Dialogflow defined labels include: + // * sys-head + // * sys-contextual + // The above labels do not require value. "sys-head" means the intent is a + // head intent. "sys.contextual" means the intent is a contextual intent. + map labels = 7; + + // Human readable description for better understanding an intent like its + // scope, content, result etc. Maximum character limit: 140 characters. + string description = 8; +} + +// The request message for [Intents.ListIntents][google.cloud.dialogflow.cx.v3.Intents.ListIntents]. +message ListIntentsRequest { + // Required. The agent to list all intents for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // The language to list intents for. The following fields are language + // dependent: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The resource view to apply to the returned intent. + IntentView intent_view = 5; + + // 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 [Intents.ListIntents][google.cloud.dialogflow.cx.v3.Intents.ListIntents]. +message ListIntentsResponse { + // The list of intents. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Intent intents = 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 [Intents.GetIntent][google.cloud.dialogflow.cx.v3.Intents.GetIntent]. +message GetIntentRequest { + // Required. The name of the intent. + // Format: `projects//locations//agents//intents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + } + ]; + + // The language to retrieve the intent for. The following fields are language + // dependent: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for [Intents.CreateIntent][google.cloud.dialogflow.cx.v3.Intents.CreateIntent]. +message CreateIntentRequest { + // Required. The agent to create an intent for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // Required. The intent to create. + Intent intent = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `intent`: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for [Intents.UpdateIntent][google.cloud.dialogflow.cx.v3.Intents.UpdateIntent]. +message UpdateIntentRequest { + // Required. The intent to update. + Intent intent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `intent`: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + 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 [Intents.DeleteIntent][google.cloud.dialogflow.cx.v3.Intents.DeleteIntent]. +message DeleteIntentRequest { + // Required. The name of the intent to delete. + // Format: `projects//locations//agents//intents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + } + ]; +} + +// Represents the options for views of an intent. +// An intent can be a sizable object. Therefore, we provide a resource view that +// does not return training phrases in the response. +enum IntentView { + // Not specified. Treated as INTENT_VIEW_FULL. + INTENT_VIEW_UNSPECIFIED = 0; + + // Training phrases field is not populated in the response. + INTENT_VIEW_PARTIAL = 1; + + // All fields are populated. + INTENT_VIEW_FULL = 2; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/page.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/page.proto new file mode 100644 index 00000000..e9753b14 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/page.proto @@ -0,0 +1,561 @@ +// 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.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/cloud/dialogflow/cx/v3/fulfillment.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.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "PageProto"; +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 [Pages][google.cloud.dialogflow.cx.v3.Page]. +service Pages { + 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 pages in the specified flow. + rpc ListPages(ListPagesRequest) returns (ListPagesResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified page. + rpc GetPage(GetPageRequest) returns (Page) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a page in the specified flow. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreatePage(CreatePageRequest) returns (Page) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages" + body: "page" + }; + option (google.api.method_signature) = "parent,page"; + } + + // Updates the specified page. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdatePage(UpdatePageRequest) returns (Page) { + option (google.api.http) = { + patch: "/v3/{page.name=projects/*/locations/*/agents/*/flows/*/pages/*}" + body: "page" + }; + option (google.api.method_signature) = "page,update_mask"; + } + + // Deletes the specified page. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeletePage(DeletePageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// A Dialogflow CX conversation (session) can be described and visualized as a +// state machine. The states of a CX session are represented by pages. +// +// For each flow, you define many pages, where your combined pages can handle a +// complete conversation on the topics the flow is designed for. At any given +// moment, exactly one page is the current page, the current page is considered +// active, and the flow associated with that page is considered active. Every +// flow has a special start page. When a flow initially becomes active, the +// start page page becomes the current page. For each conversational turn, the +// current page will either stay the same or transition to another page. +// +// You configure each page to collect information from the end-user that is +// relevant for the conversational state represented by the page. +// +// For more information, see the +// [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page). +message Page { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Page" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/pages/{page}" + }; + + // The unique identifier of the page. + // Required for the [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage] method. [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage] + // populates the name automatically. + // Format: `projects//locations//agents//flows//pages/`. + string name = 1; + + // Required. The human-readable name of the page, unique within the flow. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The fulfillment to call when the session is entering the page. + Fulfillment entry_fulfillment = 7; + + // The form associated with the page, used for collecting parameters + // relevant to the page. + Form form = 4; + + // Ordered list of [`TransitionRouteGroups`][google.cloud.dialogflow.cx.v3.TransitionRouteGroup] associated + // with the page. Transition route groups must be unique within a page. + // + // * If multiple transition routes within a page scope refer to the same + // intent, then the precedence order is: page's transition route -> page's + // transition route group -> flow's transition routes. + // + // * If multiple transition route groups within a page contain the same + // intent, then the first group in the ordered list takes precedence. + // + // Format:`projects//locations//agents//flows//transitionRouteGroups/`. + repeated string transition_route_groups = 11 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TransitionRouteGroup" + }]; + + // A list of transitions for the transition rules of this page. + // They route the conversation to another page in the same flow, or another + // flow. + // + // When we are in a certain page, the TransitionRoutes are evalauted in the + // following order: + // + // * TransitionRoutes defined in the page with intent specified. + // * TransitionRoutes defined in the + // [transition route groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] with intent + // specified. + // * TransitionRoutes defined in flow with intent specified. + // * TransitionRoutes defined in the + // [transition route groups][google.cloud.dialogflow.cx.v3.Flow.transition_route_groups] with intent + // specified. + // * TransitionRoutes defined in the page with only condition specified. + // * TransitionRoutes defined in the + // [transition route groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] with only + // condition specified. + repeated TransitionRoute transition_routes = 9; + + // Handlers associated with the page to handle events such as webhook errors, + // no match or no input. + repeated EventHandler event_handlers = 10; +} + +// A form is a data model that groups related parameters that can be collected +// from the user. The process in which the agent prompts the user and collects +// parameter values from the user is called form filling. A form can be added to +// a [page][google.cloud.dialogflow.cx.v3.Page]. When form filling is done, the filled parameters will be +// written to the [session][google.cloud.dialogflow.cx.v3.SessionInfo.parameters]. +message Form { + // Represents a form parameter. + message Parameter { + // Configuration for how the filling of a parameter should be handled. + message FillBehavior { + // Required. The fulfillment to provide the initial prompt that the agent + // can present to the user in order to fill the parameter. + Fulfillment initial_prompt_fulfillment = 3 [(google.api.field_behavior) = REQUIRED]; + + // The handlers for parameter-level events, used to provide reprompt for + // the parameter or transition to a different page/flow. The supported + // events are: + // * `sys.no-match-`, where N can be from 1 to 6 + // * `sys.no-match-default` + // * `sys.no-input-`, where N can be from 1 to 6 + // * `sys.no-input-default` + // * `sys.invalid-parameter` + // + // `initial_prompt_fulfillment` provides the first prompt for the + // parameter. + // + // If the user's response does not fill the parameter, a + // no-match/no-input event will be triggered, and the fulfillment + // associated with the `sys.no-match-1`/`sys.no-input-1` handler (if + // defined) will be called to provide a prompt. The + // `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to + // the next no-match/no-input event, and so on. + // + // A `sys.no-match-default` or `sys.no-input-default` handler will be used + // to handle all following no-match/no-input events after all numbered + // no-match/no-input handlers for the parameter are consumed. + // + // A `sys.invalid-parameter` handler can be defined to handle the case + // where the parameter values have been `invalidated` by webhook. For + // example, if the user's response fill the parameter, however the + // parameter was invalidated by webhook, the fulfillment associated with + // the `sys.invalid-parameter` handler (if defined) will be called to + // provide a prompt. + // + // If the event handler for the corresponding event can't be found on the + // parameter, `initial_prompt_fulfillment` will be re-prompted. + repeated EventHandler reprompt_event_handlers = 5; + } + + // Required. The human-readable name of the parameter, unique within the + // form. + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the parameter is required. Optional parameters will not + // trigger prompts; however, they are filled if the user specifies them. + // Required parameters must be filled before form filling concludes. + bool required = 2; + + // Required. The entity type of the parameter. + // Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, + // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or + // `projects//locations//agents//entityTypes/` for developer entity types. + string entity_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Indicates whether the parameter represents a list of values. + bool is_list = 4; + + // Required. Defines fill behavior for the parameter. + FillBehavior fill_behavior = 7 [(google.api.field_behavior) = REQUIRED]; + + // The default value of an optional parameter. If the parameter is required, + // the default value will be ignored. + google.protobuf.Value default_value = 9; + + // Indicates whether the parameter content should be redacted in log. If + // redaction is enabled, the parameter content will be replaced by parameter + // name during logging. + // Note: the parameter content is subject to redaction if either parameter + // level redaction or [entity type level redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is + // enabled. + bool redact = 11; + } + + // Parameters to collect from the user. + repeated Parameter parameters = 1; +} + +// An event handler specifies an [event][google.cloud.dialogflow.cx.v3.EventHandler.event] that can be handled +// during a session. When the specified event happens, the following actions are +// taken in order: +// +// * If there is a +// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.EventHandler.trigger_fulfillment] associated with +// the event, it will be called. +// * If there is a [`target_page`][google.cloud.dialogflow.cx.v3.EventHandler.target_page] associated +// with the event, the session will transition into the specified page. +// * If there is a [`target_flow`][google.cloud.dialogflow.cx.v3.EventHandler.target_flow] associated +// with the event, the session will transition into the specified flow. +message EventHandler { + // Output only. The unique identifier of this event handler. + string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the event to handle. + string event = 4 [(google.api.field_behavior) = REQUIRED]; + + // The fulfillment to call when the event occurs. + // Handling webhook errors with a fulfillment enabled with webhook could + // cause infinite loop. It is invalid to specify such fulfillment for a + // handler handling webhooks. + Fulfillment trigger_fulfillment = 5; + + // The target to transition to, either a page in the same host flow (the flow + // that owns this [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or another flow in the same agent. + oneof target { + // The target page to transition to. + // Format: `projects//locations//agents//flows//pages/`. + string target_page = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + }]; + + // The target flow to transition to. + // Format: `projects//locations//agents//flows/`. + string target_flow = 3 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; + } +} + +// A transition route specifies a [intent][google.cloud.dialogflow.cx.v3.Intent] that can be matched and/or a +// data condition that can be evaluated during a session. When a specified +// transition is matched, the following actions are taken in order: +// +// * If there is a +// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.TransitionRoute.trigger_fulfillment] associated with +// the transition, it will be called. +// * If there is a [`target_page`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_page] associated +// with the transition, the session will transition into the specified page. +// * If there is a [`target_flow`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_flow] associated +// with the transition, the session will transition into the specified flow. +message TransitionRoute { + // Output only. The unique identifier of this transition route. + string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The unique identifier of an [Intent][google.cloud.dialogflow.cx.v3.Intent]. + // Format: `projects//locations//agents//intents/`. + // Indicates that the transition can only happen when the given intent is + // matched. + // At least one of `intent` or `condition` must be specified. When both + // `intent` and `condition` are specified, the transition can only happen + // when both are fulfilled. + string intent = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + }]; + + // The condition to evaluate against [form parameters][google.cloud.dialogflow.cx.v3.Form.parameters] or + // [session parameters][google.cloud.dialogflow.cx.v3.SessionInfo.parameters]. + // + // See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + // At least one of `intent` or `condition` must be specified. When both + // `intent` and `condition` are specified, the transition can only happen + // when both are fulfilled. + string condition = 2; + + // The fulfillment to call when the condition is satisfied. At least one of + // `trigger_fulfillment` and `target` must be specified. When both are + // defined, `trigger_fulfillment` is executed first. + Fulfillment trigger_fulfillment = 3; + + // The target to transition to, either a page in the same host flow (the flow + // that owns this [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or another flow in the same agent. + oneof target { + // The target page to transition to. + // Format: `projects//locations//agents//flows//pages/`. + string target_page = 4 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + }]; + + // The target flow to transition to. + // Format: `projects//locations//agents//flows/`. + string target_flow = 5 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; + } +} + +// The request message for [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages]. +message ListPagesRequest { + // Required. The flow to list all pages for. + // Format: `projects//locations//agents//flows/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Page" + } + ]; + + // The language to list pages for. The following fields are language + // dependent: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + 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 [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages]. +message ListPagesResponse { + // The list of pages. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Page pages = 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 [Pages.GetPage][google.cloud.dialogflow.cx.v3.Pages.GetPage]. +message GetPageRequest { + // Required. The name of the page. + // Format: `projects//locations//agents//flows//pages/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + } + ]; + + // The language to retrieve the page for. The following fields are language + // dependent: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage]. +message CreatePageRequest { + // Required. The flow to create a page for. + // Format: `projects//locations//agents//flows/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Page" + } + ]; + + // Required. The page to create. + Page page = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `page`: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage]. +message UpdatePageRequest { + // Required. The page to update. + Page page = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `page`: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + 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 [Pages.DeletePage][google.cloud.dialogflow.cx.v3.Pages.DeletePage]. +message DeletePageRequest { + // Required. The name of the page to delete. + // Format: `projects//locations//agents//Flows//pages/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + } + ]; + + // This field has no effect for pages with no incoming transitions. + // For pages with incoming transitions: + // + // * If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // * If `force` is set to true, Dialogflow will remove the page, as well as + // any transitions to the page (i.e. [Target + // page][EventHandler.target_page] in event handlers or [Target + // page][TransitionRoute.target_page] in transition routes that point to + // this page will be cleared). + bool force = 2; +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/response_message.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/response_message.proto new file mode 100644 index 00000000..72a23571 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/response_message.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.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "ResponseMessageProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Represents a response message that can be returned by a conversational agent. +// +// Response messages are also used for output audio synthesis. The approach is +// as follows: +// +// * If at least one OutputAudioText response is present, then all +// OutputAudioText responses are linearly concatenated, and the result is used +// for output audio synthesis. +// * If the OutputAudioText responses are a mixture of text and SSML, then the +// concatenated result is treated as SSML; otherwise, the result is treated as +// either text or SSML as appropriate. The agent designer should ideally use +// either text or SSML consistently throughout the bot design. +// * Otherwise, all Text responses are linearly concatenated, and the result is +// used for output audio synthesis. +// +// This approach allows for more sophisticated user experience scenarios, where +// the text displayed to the user may differ from what is heard. +message ResponseMessage { + // The text response message. + message Text { + // Required. A collection of text responses. + repeated string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Whether the playback of this message can be interrupted by the end + // user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Indicates that the conversation should be handed off to a live agent. + // + // Dialogflow only uses this to determine which conversations were handed off + // to a human agent for measurement purposes. What else to do with this signal + // is up to you and your handoff procedures. + // + // You may set this, for example: + // * In the [entry_fulfillment][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] of a [Page][google.cloud.dialogflow.cx.v3.Page] if + // entering the page indicates something went extremely wrong in the + // conversation. + // * In a webhook response when you determine that the customer issue can only + // be handled by a human. + message LiveAgentHandoff { + // Custom metadata for your handoff procedure. Dialogflow doesn't impose + // any structure on this. + google.protobuf.Struct metadata = 1; + } + + // Indicates that the conversation succeeded, i.e., the bot handled the issue + // that the customer talked to it about. + // + // Dialogflow only uses this to determine which conversations should be + // counted as successful and doesn't process the metadata in this message in + // any way. Note that Dialogflow also considers conversations that get to the + // conversation end page as successful even if they don't return + // [ConversationSuccess][google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess]. + // + // You may set this, for example: + // * In the [entry_fulfillment][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] of a [Page][google.cloud.dialogflow.cx.v3.Page] if + // entering the page indicates that the conversation succeeded. + // * In a webhook response when you determine that you handled the customer + // issue. + message ConversationSuccess { + // Custom metadata. Dialogflow doesn't impose any structure on this. + google.protobuf.Struct metadata = 1; + } + + // A text or ssml response that is preferentially used for TTS output audio + // synthesis, as described in the comment on the ResponseMessage message. + message OutputAudioText { + // The source, which is either plain text or SSML. + oneof source { + // The raw text to be synthesized. + string text = 1; + + // The SSML text to be synthesized. For more information, see + // [SSML](/speech/text-to-speech/docs/ssml). + string ssml = 2; + } + + // Output only. Whether the playback of this message can be interrupted by the end + // user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Indicates that interaction with the Dialogflow agent has ended. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + message EndInteraction { + + } + + // Specifies an audio clip to be played by the client as part of the response. + message PlayAudio { + // Required. URI of the audio clip. Dialogflow does not impose any validation on this + // value. It is specific to the client that reads it. + string audio_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Whether the playback of this message can be interrupted by the end + // user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents an audio message that is composed of both segments + // synthesized from the Dialogflow agent prompts and ones hosted externally + // at the specified URIs. + // The external URIs are specified via + // [play_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.play_audio]. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + message MixedAudio { + // Represents one segment of audio. + message Segment { + // Content of the segment. + oneof content { + // Raw audio synthesized from the Dialogflow agent's response using + // the output config specified in the request. + bytes audio = 1; + + // Client-specific URI that points to an audio clip accessible to the + // client. Dialogflow does not impose any validation on it. + string uri = 2; + } + + // Output only. Whether the playback of this segment can be interrupted by the end + // user's speech and the client should then start the next Dialogflow + // request. + bool allow_playback_interruption = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Segments this audio response is composed of. + repeated Segment segments = 1; + } + + // Represents the signal that telles the client to transfer the phone call + // connected to the agent to a third-party endpoint. + message TelephonyTransferCall { + // Endpoint to transfer the call to. + oneof endpoint { + // Transfer the call to a phone number + // in [E.164 format](https://en.wikipedia.org/wiki/E.164). + string phone_number = 1; + } + } + + // Required. The rich response message. + oneof message { + // Returns a text response. + Text text = 1; + + // Returns a response containing a custom, platform-specific payload. + google.protobuf.Struct payload = 2; + + // Indicates that the conversation succeeded. + ConversationSuccess conversation_success = 9; + + // A text or ssml response that is preferentially used for TTS output audio + // synthesis, as described in the comment on the ResponseMessage message. + OutputAudioText output_audio_text = 8; + + // Hands off conversation to a human agent. + LiveAgentHandoff live_agent_handoff = 10; + + // Output only. A signal that indicates the interaction with the Dialogflow agent has + // ended. + // This message is generated by Dialogflow only when the conversation + // reaches `END_SESSION` page. It is not supposed to be defined by the user. + // + // It's guaranteed that there is at most one such message in each response. + EndInteraction end_interaction = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Signal that the client should play an audio clip hosted at a + // client-specific URI. Dialogflow uses this to construct + // [mixed_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.mixed_audio]. However, Dialogflow itself + // does not try to read or process the URI in any way. + PlayAudio play_audio = 12; + + // Output only. An audio response message composed of both the synthesized Dialogflow + // agent responses and responses defined via + // [play_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.play_audio]. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + MixedAudio mixed_audio = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A signal that the client should transfer the phone call connected to + // this agent to a third-party endpoint. + TelephonyTransferCall telephony_transfer_call = 18; + } +} diff --git a/google-cloud/protos/google/cloud/dialogflow/cx/v3/security_settings.proto b/google-cloud/protos/google/cloud/dialogflow/cx/v3/security_settings.proto new file mode 100644 index 00000000..0c9c0942 --- /dev/null +++ b/google-cloud/protos/google/cloud/dialogflow/cx/v3/security_settings.proto @@ -0,0 +1,359 @@ +// 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.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 = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; +option java_multiple_files = true; +option java_outer_classname = "SecuritySettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/InspectTemplate" + pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}" + pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}" +}; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/DeidentifyTemplate" + pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}" + pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}" +}; + +// Service for managing security settings for Dialogflow. +service SecuritySettingsService { + 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"; + + // Create security settings in the specified location. + rpc CreateSecuritySettings(CreateSecuritySettingsRequest) returns (SecuritySettings) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*}/securitySettings" + body: "security_settings" + }; + option (google.api.method_signature) = "parent,security_settings"; + } + + // Retrieves the specified [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. + // The returned settings may be stale by up to 1 minute. + rpc GetSecuritySettings(GetSecuritySettingsRequest) returns (SecuritySettings) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/securitySettings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the specified [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. + rpc UpdateSecuritySettings(UpdateSecuritySettingsRequest) returns (SecuritySettings) { + option (google.api.http) = { + patch: "/v3/{security_settings.name=projects/*/locations/*/securitySettings/*}" + body: "security_settings" + }; + option (google.api.method_signature) = "security_settings,update_mask"; + } + + // Returns the list of all security settings in the specified location. + rpc ListSecuritySettings(ListSecuritySettingsRequest) returns (ListSecuritySettingsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*}/securitySettings" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes the specified [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. + rpc DeleteSecuritySettings(DeleteSecuritySettingsRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/securitySettings/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for [SecuritySettingsService.GetSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.GetSecuritySettings]. +message GetSecuritySettingsRequest { + // Required. Resource name of the settings. + // Format: `projects//locations//securitySettings/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; +} + +// The request message for [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]. +message UpdateSecuritySettingsRequest { + // Required. [SecuritySettings] object that contains values for each of the + // fields to update. + SecuritySettings security_settings = 1 [(google.api.field_behavior) = REQUIRED]; + + // 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 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [SecuritySettings.ListSecuritySettings][]. +message ListSecuritySettingsRequest { + // Required. The location to list all security settings for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [SecuritySettings.ListSecuritySettings][]. +message ListSecuritySettingsResponse { + // The list of security settings. + repeated SecuritySettings security_settings = 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 [SecuritySettings.CreateSecuritySettings][]. +message CreateSecuritySettingsRequest { + // Required. The location to create an [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; + + // Required. The security settings to create. + SecuritySettings security_settings = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [SecuritySettings.DeleteSecuritySettings][]. +message DeleteSecuritySettingsRequest { + // Required. The name of the [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] to delete. + // Format: `projects//locations//securitySettings/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; +} + +// Represents the settings related to security issues, such as data redaction +// and data retention. It may take hours for updates on the settings to +// propagate to all the related components and take effect. +message SecuritySettings { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/SecuritySettings" + pattern: "projects/{project}/locations/{location}/securitySettings/{security_settings}" + }; + + // Defines how we redact data. + enum RedactionStrategy { + // Do not redact. + REDACTION_STRATEGY_UNSPECIFIED = 0; + + // Call redaction service to clean up the data to be persisted. + REDACT_WITH_SERVICE = 1; + } + + // Defines what types of data to redact. + enum RedactionScope { + // Don't redact any kind of data. + REDACTION_SCOPE_UNSPECIFIED = 0; + + // On data to be written to disk or similar devices that are capable of + // holding data even if power is disconnected. This includes data that are + // temporarily saved on disk. + REDACT_DISK_STORAGE = 2; + } + + // Type of data we purge after retention settings triggers purge. + enum PurgeDataType { + // Unspecified. Do not use. + PURGE_DATA_TYPE_UNSPECIFIED = 0; + + // Dialogflow history. This does not include Cloud logging, which is + // owned by the user - not Dialogflow. + DIALOGFLOW_HISTORY = 1; + } + + // Settings for exporting audio. + message AudioExportSettings { + // File format for exported audio file. Currently only in telephony + // recordings. + enum AudioFormat { + // Unspecified. Do not use. + AUDIO_FORMAT_UNSPECIFIED = 0; + + // G.711 mu-law PCM with 8kHz sample rate. + MULAW = 1; + + // MP3 file format. + MP3 = 2; + + // OGG Vorbis. + OGG = 3; + } + + // Cloud Storage bucket to export audio record to. + // Setting this field would grant the Storage Object Creator role to + // the Dialogflow Service Agent. + // API caller that tries to modify this field should have the permission of + // storage.buckets.setIamPolicy. + string gcs_bucket = 1; + + // Filename pattern for exported audio. + string audio_export_pattern = 2; + + // Enable audio redaction if it is true. + bool enable_audio_redaction = 3; + + // File format for exported audio file. Currently only in telephony + // recordings. + AudioFormat audio_format = 4; + } + + // Settings for exporting conversations to + // [Insights](https://cloud.google.com/contact-center/insights/docs). + message InsightsExportSettings { + // If enabled, we will automatically exports + // conversations to Insights and Insights runs its analyzers. + bool enable_insights_export = 1; + } + + // Resource name of the settings. + // Required for the [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings] method. + // [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings] populates the name + // automatically. + // Format: `projects//locations//securitySettings/`. + string name = 1; + + // Required. The human-readable name of the security settings, unique within the + // location. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Strategy that defines how we do redaction. + RedactionStrategy redaction_strategy = 3; + + // Defines the data for which Dialogflow applies redaction. Dialogflow does + // not redact data that it does not have access to – for example, Cloud + // logging. + RedactionScope redaction_scope = 4; + + // [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this + // template to define inspect base settings. + // + // The `DLP Inspect Templates Reader` role is needed on the Dialogflow + // service identity service account (has the form + // `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) + // for your agent's project. + // + // If empty, we use the default DLP inspect config. + // + // The template name will have one of the following formats: + // `projects//locations//inspectTemplates/